diff options
author | Miles Bader <miles@gnu.org> | 2007-10-11 16:24:58 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2007-10-11 16:24:58 +0000 |
commit | c73bd236f75b742ad4642ec94798987ae6e3e1e8 (patch) | |
tree | ef5edc8db557fc1d25a17c379e4ae63a38b3ba5c /lisp/eshell | |
parent | ecb21060d5c1752d41d7a742be565c59b5fcb855 (diff) | |
parent | 58ade22bf16a9ec2ff0aee6c59d8db4d1703e94f (diff) | |
download | emacs-c73bd236f75b742ad4642ec94798987ae6e3e1e8.tar.gz |
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.el | 34 | ||||
-rw-r--r-- | lisp/eshell/esh-mode.el | 6 |
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." (put 'eshell/man 'eshell-no-numeric-conversions t) +(defun eshell/info (&rest args) + "Runs the info command in-frame with the same behaviour as command-line `info', ie: + 'info' => goes to top info window + 'info arg1' => IF arg1 is a file, then visits arg1 + 'info arg1' => OTHERWISE goes to top info window and then menu item arg1 + 'info arg1 arg2' => does action for arg1 (either visit-file or menu-item) and then menu item arg2 + etc." + (require 'info) + (let ((file (cond + ((not (stringp (car args))) + nil) + ((file-exists-p (expand-file-name (car args))) + (expand-file-name (car args))) + ((file-exists-p (concat (expand-file-name (car args)) ".info")) + (concat (expand-file-name (car args)) ".info"))))) + + ;; If the first arg is a file, then go to that file's Top node + ;; Otherwise, go to the global directory + (if file + (progn + (setq args (cdr args)) + (Info-find-node file "Top")) + (Info-directory)) + + ;; Treat all remaining args as menu references + (while args + (Info-menu (car args)) + (setq args (cdr args))))) + (defun eshell-remove-entries (path files &optional top-level) "From PATH, remove all of the given FILES, perhaps interactively." (while files @@ -930,7 +959,10 @@ Show wall-clock time elapsed during execution of COMMAND.") (add-hook 'eshell-post-command-hook 'eshell-show-elapsed-time nil t) ;; after setting (throw 'eshell-replace-command - (eshell-parse-command (car time-args) (cdr time-args)))))) + (eshell-parse-command (car time-args) +;;; http://lists.gnu.org/archive/html/bug-gnu-emacs/2007-08/msg00205.html + (eshell-stringify-list + (eshell-flatten-list (cdr time-args)))))))) (defalias 'eshell/whoami 'user-login-name) 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 :group 'eshell-mode) (defcustom eshell-output-filter-functions - '(eshell-handle-control-codes + '(eshell-postoutput-scroll-to-bottom + eshell-handle-control-codes eshell-watch-for-password-prompt) "*Functions to call before output is displayed. These functions are only called for output that is displayed @@ -883,9 +884,6 @@ This function should be in the list `eshell-output-filter-functions'." nil t) (set-buffer current)))) -(custom-add-option 'eshell-output-filter-functions - 'eshell-postoutput-scroll-to-bottom) - (defun eshell-beginning-of-input () "Return the location of the start of the previous input." eshell-last-input-start) |