aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/eshell
diff options
context:
space:
mode:
authorMiles Bader2007-10-11 16:24:58 +0000
committerMiles Bader2007-10-11 16:24:58 +0000
commitc73bd236f75b742ad4642ec94798987ae6e3e1e8 (patch)
treeef5edc8db557fc1d25a17c379e4ae63a38b3ba5c /lisp/eshell
parentecb21060d5c1752d41d7a742be565c59b5fcb855 (diff)
parent58ade22bf16a9ec2ff0aee6c59d8db4d1703e94f (diff)
downloademacs-c73bd236f75b742ad4642ec94798987ae6e3e1e8.tar.gz
emacs-c73bd236f75b742ad4642ec94798987ae6e3e1e8.zip
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 866-879) - Merge multi-tty branch - Update from CVS - Merge from emacs--rel--22 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-257
Diffstat (limited to 'lisp/eshell')
-rw-r--r--lisp/eshell/em-unix.el34
-rw-r--r--lisp/eshell/esh-mode.el6
2 files changed, 35 insertions, 5 deletions
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index 6dc02517ec1..aaad664918f 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -168,6 +168,35 @@ Otherwise, Emacs will attempt to use rsh to invoke du on the remote machine."
168 168
169(put 'eshell/man 'eshell-no-numeric-conversions t) 169(put 'eshell/man 'eshell-no-numeric-conversions t)
170 170
171(defun eshell/info (&rest args)
172 "Runs the info command in-frame with the same behaviour as command-line `info', ie:
173 'info' => goes to top info window
174 'info arg1' => IF arg1 is a file, then visits arg1
175 'info arg1' => OTHERWISE goes to top info window and then menu item arg1
176 'info arg1 arg2' => does action for arg1 (either visit-file or menu-item) and then menu item arg2
177 etc."
178 (require 'info)
179 (let ((file (cond
180 ((not (stringp (car args)))
181 nil)
182 ((file-exists-p (expand-file-name (car args)))
183 (expand-file-name (car args)))
184 ((file-exists-p (concat (expand-file-name (car args)) ".info"))
185 (concat (expand-file-name (car args)) ".info")))))
186
187 ;; If the first arg is a file, then go to that file's Top node
188 ;; Otherwise, go to the global directory
189 (if file
190 (progn
191 (setq args (cdr args))
192 (Info-find-node file "Top"))
193 (Info-directory))
194
195 ;; Treat all remaining args as menu references
196 (while args
197 (Info-menu (car args))
198 (setq args (cdr args)))))
199
171(defun eshell-remove-entries (path files &optional top-level) 200(defun eshell-remove-entries (path files &optional top-level)
172 "From PATH, remove all of the given FILES, perhaps interactively." 201 "From PATH, remove all of the given FILES, perhaps interactively."
173 (while files 202 (while files
@@ -930,7 +959,10 @@ Show wall-clock time elapsed during execution of COMMAND.")
930 (add-hook 'eshell-post-command-hook 'eshell-show-elapsed-time nil t) 959 (add-hook 'eshell-post-command-hook 'eshell-show-elapsed-time nil t)
931 ;; after setting 960 ;; after setting
932 (throw 'eshell-replace-command 961 (throw 'eshell-replace-command
933 (eshell-parse-command (car time-args) (cdr time-args)))))) 962 (eshell-parse-command (car time-args)
963;;; http://lists.gnu.org/archive/html/bug-gnu-emacs/2007-08/msg00205.html
964 (eshell-stringify-list
965 (eshell-flatten-list (cdr time-args))))))))
934 966
935(defalias 'eshell/whoami 'user-login-name) 967(defalias 'eshell/whoami 'user-login-name)
936 968
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index e1a0f73a866..2da81996dfd 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -165,7 +165,8 @@ number, if the function `eshell-truncate-buffer' is on
165 :group 'eshell-mode) 165 :group 'eshell-mode)
166 166
167(defcustom eshell-output-filter-functions 167(defcustom eshell-output-filter-functions
168 '(eshell-handle-control-codes 168 '(eshell-postoutput-scroll-to-bottom
169 eshell-handle-control-codes
169 eshell-watch-for-password-prompt) 170 eshell-watch-for-password-prompt)
170 "*Functions to call before output is displayed. 171 "*Functions to call before output is displayed.
171These functions are only called for output that is displayed 172These functions are only called for output that is displayed
@@ -883,9 +884,6 @@ This function should be in the list `eshell-output-filter-functions'."
883 nil t) 884 nil t)
884 (set-buffer current)))) 885 (set-buffer current))))
885 886
886(custom-add-option 'eshell-output-filter-functions
887 'eshell-postoutput-scroll-to-bottom)
888
889(defun eshell-beginning-of-input () 887(defun eshell-beginning-of-input ()
890 "Return the location of the start of the previous input." 888 "Return the location of the start of the previous input."
891 eshell-last-input-start) 889 eshell-last-input-start)