[PATCH] emacs: use the originating buffer's working directory for pipe

Tomi Ollila tomi.ollila at iki.fi
Sun Mar 2 04:11:14 PST 2014


On Sat, Mar 01 2014, Jani Nikula <jani at nikula.org> wrote:

> Currently notmuch-show-pipe-message runs the command in the working
> directory of the *notmuch-pipe* buffer if it exists, and the current
> buffer's working directory (which is inherited to the new
> *notmuch-pipe* buffer) otherwise. This is all very surprising to the
> user, and it's difficult to know or change where the command will be
> run.
>
> Always use the current show buffer's working directory for piping. The
> user can check that with M-x pwd and change it with M-x cd. This is
> consistent with notmuch-show-pipe-part.

LGTM.

Tomi


>
> ---
>
> Mark also suggested printing the working directory in the prompt for
> the command to pipe to, but when I tried it I thought the prompt
> became too crowded with that. It's also less important now that the
> current buffer's working directory is used consistently.
> ---
>  emacs/notmuch-show.el | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index 88752f171930..b8782ddb632e 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -1781,10 +1781,14 @@ message."
>        (setq shell-command
>  	    (concat notmuch-command " show --format=raw "
>  		    (shell-quote-argument (notmuch-show-get-message-id)) " | " command)))
> -    (let ((buf (get-buffer-create (concat "*notmuch-pipe*"))))
> +    (let ((cwd default-directory)
> +	  (buf (get-buffer-create (concat "*notmuch-pipe*"))))
>        (with-current-buffer buf
>  	(setq buffer-read-only nil)
>  	(erase-buffer)
> +	;; Use the originating buffer's working directory instead of
> +	;; that of the pipe buffer.
> +	(cd cwd)
>  	(let ((exit-code (call-process-shell-command shell-command nil buf)))
>  	  (goto-char (point-max))
>  	  (set-buffer-modified-p nil)
> -- 
> 1.8.5.3
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list