summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2002-08-19 05:03:55 +0000
committerMiles Bader <miles@gnu.org>2002-08-19 05:03:55 +0000
commit20b130094d9071af77f8d8ccf6bdf21159364e56 (patch)
treebf570be6690de395fc307e814e227ef2666e2c5c
parent8cda277d9fc7814cb7f6720a2dd79582814ef724 (diff)
downloademacs-20b130094d9071af77f8d8ccf6bdf21159364e56.tar.gz
[original idea from Luc Teirlinck <teirllm@mail.auburn.edu>]
(inferior-emacs-lisp-mode): Give `comint-inhibit-carriage-motion' a local value of t.
-rw-r--r--lisp/ChangeLog12
-rw-r--r--lisp/ielm.el10
2 files changed, 20 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 26d98cd5e11..6b6fbed2b79 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,15 @@
+2002-08-19 Miles Bader <miles@gnu.org>
+
+ [original idea from Luc Teirlinck <teirllm@mail.auburn.edu>]
+ * comint.el (comint-inhibit-carriage-motion): New variable.
+ (comint-carriage-motion): Argument STRING removed. New arguments
+ START and END; interpret characters between START and END rather
+ than using special comint state.
+ (comint-output-filter): Call `comint-carriage-motion'.
+ (comint-output-filter-functions): Don't add `comint-carriage-motion'.
+ * ielm.el (inferior-emacs-lisp-mode): Give
+ `comint-inhibit-carriage-motion' a local value of t.
+
2002-08-18 Richard M. Stallman <rms@gnu.org>
* table.el: New file.
diff --git a/lisp/ielm.el b/lisp/ielm.el
index 9143609c9a1..55d1e59857f 100644
--- a/lisp/ielm.el
+++ b/lisp/ielm.el
@@ -1,6 +1,6 @@
;;; ielm.el --- interaction mode for Emacs Lisp
-;; Copyright (C) 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2002 Free Software Foundation, Inc.
;; Author: David Smith <maa036@lancaster.ac.uk>
;; Maintainer: FSF
@@ -452,18 +452,24 @@ Customised bindings may be defined in `ielm-map', which currently contains:
'(ielm-font-lock-keywords nil nil ((?: . "w") (?- . "w") (?* . "w"))))
;; A dummy process to keep comint happy. It will never get any input
- (if (comint-check-proc (current-buffer)) nil
+ (unless (comint-check-proc (current-buffer))
;; Was cat, but on non-Unix platforms that might not exist, so
;; use hexl instead, which is part of the Emacs distribution.
(start-process "ielm" (current-buffer) "hexl")
(process-kill-without-query (ielm-process))
(goto-char (point-max))
+
+ ;; Lisp output can include raw characters that confuse comint's
+ ;; carriage control code.
+ (set (make-local-variable 'comint-inhibit-carriage-motion) t)
+
;; Add a silly header
(insert ielm-header)
(ielm-set-pm (point-max))
(comint-output-filter (ielm-process) ielm-prompt)
(set-marker comint-last-input-start (ielm-pm))
(set-process-filter (get-buffer-process (current-buffer)) 'comint-output-filter))
+
(run-hooks 'ielm-mode-hook))
(defun ielm-get-old-input nil