Mercurial > emacs
changeset 105938:788a43a6e3c8
(dired-get-filename)<declare-function>:
Tell the byte-compiler about dired-get-filename.
(shell-command): In Dired mode, get filename from the current line
as the default value.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Wed, 11 Nov 2009 00:11:40 +0000 |
parents | 88b92b3656ae |
children | a0f778f4a995 |
files | etc/TODO lisp/ChangeLog lisp/simple.el |
diffstat | 3 files changed, 14 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/TODO Tue Nov 10 21:22:57 2009 +0000 +++ b/etc/TODO Wed Nov 11 00:11:40 2009 +0000 @@ -112,8 +112,6 @@ ** Add function to redraw the tool bar. -** M-! M-n should fetch the buffer-file-name as the default. - ** Redesign the load-history data structure so it can cope better with evaluating definitions of the same function from different files, recording which file the latest definition came from.
--- a/lisp/ChangeLog Tue Nov 10 21:22:57 2009 +0000 +++ b/lisp/ChangeLog Wed Nov 11 00:11:40 2009 +0000 @@ -1,3 +1,10 @@ +2009-11-11 Juri Linkov <juri@jurta.org> + + * simple.el (dired-get-filename)<declare-function>: + Tell the byte-compiler about dired-get-filename. + (shell-command): In Dired mode, get filename from the current line + as the default value. + 2009-11-10 Glenn Morris <rgm@gnu.org> * dired.el, hi-lock.el, calendar/cal-menu.el, calendar/calendar.el:
--- a/lisp/simple.el Tue Nov 10 21:22:57 2009 +0000 +++ b/lisp/simple.el Wed Nov 11 00:11:40 2009 +0000 @@ -2013,6 +2013,7 @@ stdout will be intermixed in the output stream.") (declare-function mailcap-file-default-commands "mailcap" (files)) +(declare-function dired-get-filename "dired" (&optional localp no-error-if-not-filep)) (defun minibuffer-default-add-shell-commands () "Return a list of all commands associated with the current file. @@ -2136,8 +2137,12 @@ (interactive (list (read-shell-command "Shell command: " nil nil - (and buffer-file-name - (file-relative-name buffer-file-name))) + (let ((filename + (cond + (buffer-file-name) + ((eq major-mode 'dired-mode) + (dired-get-filename nil t))))) + (and filename (file-relative-name filename)))) current-prefix-arg shell-command-default-error-buffer)) ;; Look for a handler in case default-directory is a remote file name.