]> git.eshelyaron.com Git - emacs.git/commitdiff
(comint-preoutput-filter-functions): Doc fix.
authorRichard M. Stallman <rms@gnu.org>
Wed, 27 Feb 2002 19:32:12 +0000 (19:32 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 27 Feb 2002 19:32:12 +0000 (19:32 +0000)
(comint-output-filter-functions, comint-input-filter-functions)
(comint-redirect-filter-functions): Likewise.

(comint-redirect-preoutput-filter): Do the local-hook
handling of t when running comint-redirect-filter-functions.
(comint-output-filter): Likewise for comint-preoutput-filter-functions.

lisp/ChangeLog
lisp/comint.el

index d5fe8ec4c9638459c6d2e3538b5b1f75a19506f9..3814ef2262b4c6d208e59ef940d31e3cd26ec09d 100644 (file)
@@ -1,3 +1,13 @@
+2002-02-27  Richard M. Stallman  <rms@gnu.org>
+
+       * comint.el (comint-preoutput-filter-functions): Doc fix.
+       (comint-output-filter-functions, comint-input-filter-functions)
+       (comint-redirect-filter-functions): Likewise.
+
+       (comint-redirect-preoutput-filter): Do the local-hook
+       handling of t when running comint-redirect-filter-functions.
+       (comint-output-filter): Likewise for comint-preoutput-filter-functions.
+
 2002-02-26  Richard M. Stallman  <rms@gnu.org>
 
        * paths.el (remote-shell-program): Add doc string.
index 0fb22b3341cfd49ec1db791c21aec11223e19534..3654149b6516336e39929c9bac16b22168d10ea7 100644 (file)
@@ -378,7 +378,8 @@ history list.  Default is to save anything that isn't all whitespace.")
   "Functions to call before input is sent to the process.
 These functions get one argument, a string containing the text to send.
 
-This variable is buffer-local.")
+You can use `add-hook' to add functions to this list
+either globally or locally.")
 
 (defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom)
   "Functions to call after output is inserted into the buffer.
@@ -390,7 +391,8 @@ functions have already modified the buffer.
 
 See also `comint-preoutput-filter-functions'.
 
-This variable is buffer-local.")
+You can use `add-hook' to add functions to this list
+either globally or locally.")
 
 (defvar comint-input-sender-no-newline nil
   "Non-nil directs the `comint-input-sender' function not to send a newline.")
@@ -1564,7 +1566,8 @@ given the string returned by the previous one.  The string returned by
 the last function is the text that is actually inserted in the
 redirection buffer.
 
-This variable is permanent-local.")
+You can use `add-hook' to add functions to this list
+either globally or locally.")
 
 ;; When non-nil, this is the last overlay used for output.
 ;; It is kept around so that we can extend it instead of creating
@@ -1631,7 +1634,12 @@ This function should be in the list `comint-output-filter-functions'."
        ;; Run preoutput filters
        (let ((functions comint-preoutput-filter-functions))
          (while (and functions string)
-           (setq string (funcall (car functions) string))
+           (if (eq (car functions) t)
+               (let ((functions (default-value 'comint-preoutput-filter-functions)))
+                 (while (and functions string)
+                   (setq string (funcall (car functions) string))
+                   (setq functions (cdr functions))))
+             (setq string (funcall (car functions) string)))
            (setq functions (cdr functions))))
 
        ;; Insert STRING
@@ -2990,9 +2998,10 @@ string.
 
 The functions on the list are called sequentially, and each one is given
 the string returned by the previous one.  The string returned by the
-last function is the text that is actually inserted in the redirection buffer.")
+last function is the text that is actually inserted in the redirection buffer.
 
-(make-variable-buffer-local 'comint-redirect-filter-functions)
+You can use `add-hook' to add functions to this list
+either globally or locally.")
 
 ;; Internal variables
 
@@ -3126,8 +3135,16 @@ This function does not need to be invoked by the end user."
     ;; If there are any filter functions, give them a chance to modify the string
     (let ((functions comint-redirect-filter-functions))
       (while (and functions filtered-input-string)
-       (setq filtered-input-string
-             (funcall (car functions) filtered-input-string))
+       (if (eq (car functions) t)
+           ;; If a local value says "use the default value too",
+           ;; do that.
+           (let ((functions (default-value 'comint-redirect-filter-functions)))
+             (while (and functions filtered-input-string)
+               (setq filtered-input-string
+                     (funcall (car functions) filtered-input-string))
+               (setq functions (cdr functions))))
+         (setq filtered-input-string
+               (funcall (car functions) filtered-input-string)))
        (setq functions (cdr functions))))
 
     ;; Clobber `comint-redirect-finished-regexp'