James Wright <james at chumsley.org>
(eshell/info): New function.
This commit is contained in:
parent
9fe97f9cdc
commit
4596901f3f
3 changed files with 35 additions and 0 deletions
2
etc/NEWS
2
etc/NEWS
|
@ -191,6 +191,8 @@ on the corresponding remote system.
|
|||
and C-x C-q in wdired-mode exits it with asking a question about
|
||||
saving changes.
|
||||
|
||||
*** The new command `eshell/info' runs info in an eshell buffer.
|
||||
|
||||
|
||||
* Changes in Emacs 23.1 on non-free operating systems
|
||||
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2007-08-31 James Wright <james@chumsley.org>
|
||||
|
||||
* eshell/em-unix.el (eshell/info): New function.
|
||||
|
||||
2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* frame.el (frame-initialize, make-frame):
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue