mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
(rlogin): make comint-output-filter-functions local before adding hooks.
This commit is contained in:
parent
ca8a0685e0
commit
fb7741f544
@ -23,7 +23,7 @@
|
||||
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
;; Boston, MA 02111-1307, USA.
|
||||
|
||||
;; $Id: rlogin.el,v 1.32 1996/05/08 00:52:30 friedman Exp rms $
|
||||
;; $Id: rlogin.el,v 1.33 1996/06/14 21:30:41 rms Exp friedman $
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
@ -187,7 +187,12 @@ variable."
|
||||
;; comint-output-filter-functions is just like a hook, except that the
|
||||
;; functions in that list are passed arguments. add-hook serves well
|
||||
;; enough for modifying it.
|
||||
(add-hook 'comint-output-filter-functions 'rlogin-carriage-filter)
|
||||
;; comint-output-filter-functions should already have a
|
||||
;; permanent-local property, at least in emacs 19.27 or later.
|
||||
(if (fboundp 'make-local-hook)
|
||||
(make-local-hook 'comint-output-filter-functions)
|
||||
(make-local-variable 'comint-output-filter-functions))
|
||||
(add-hook 'comint-output-filter-functions 'ftelnet-carriage-filter)
|
||||
|
||||
(rlogin-mode)
|
||||
|
||||
@ -196,17 +201,18 @@ variable."
|
||||
(make-local-variable 'rlogin-remote-user)
|
||||
(setq rlogin-remote-user user)
|
||||
|
||||
(cond
|
||||
((eq rlogin-directory-tracking-mode t)
|
||||
;; Do this here, rather than calling the tracking mode function, to
|
||||
;; avoid a gratuitous resync check; the default should be the
|
||||
;; user's home directory, be it local or remote.
|
||||
(setq comint-file-name-prefix
|
||||
(concat "/" rlogin-remote-user "@" rlogin-host ":"))
|
||||
(cd-absolute comint-file-name-prefix))
|
||||
((null rlogin-directory-tracking-mode))
|
||||
(t
|
||||
(cd-absolute (concat comint-file-name-prefix "~/"))))))))
|
||||
(condition-case ()
|
||||
(cond ((eq rlogin-directory-tracking-mode t)
|
||||
;; Do this here, rather than calling the tracking mode
|
||||
;; function, to avoid a gratuitous resync check; the default
|
||||
;; should be the user's home directory, be it local or remote.
|
||||
(setq comint-file-name-prefix
|
||||
(concat "/" rlogin-remote-user "@" rlogin-host ":"))
|
||||
(cd-absolute comint-file-name-prefix))
|
||||
((null rlogin-directory-tracking-mode))
|
||||
(t
|
||||
(cd-absolute (concat comint-file-name-prefix "~/"))))
|
||||
(error nil))))))
|
||||
|
||||
(defun rlogin-mode ()
|
||||
"Set major-mode for rlogin sessions.
|
||||
|
Loading…
Reference in New Issue
Block a user