diff options
author | Richard M. Stallman <rms@gnu.org> | 2002-02-27 19:32:12 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2002-02-27 19:32:12 +0000 |
commit | 458a481004ec000bd9028d0659ba0f47dad98240 (patch) | |
tree | a53005c3229348a4eaf3cae1cf06edb8d592ab0b /lisp/comint.el | |
parent | 3243b9f38e1e94eb26e9298d5e2d04ef28dc8677 (diff) | |
download | emacs-458a481004ec000bd9028d0659ba0f47dad98240.tar.gz |
(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.
Diffstat (limited to 'lisp/comint.el')
-rw-r--r-- | lisp/comint.el | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/lisp/comint.el b/lisp/comint.el index 0fb22b3341c..3654149b651 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -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' |