# HG changeset patch # User FUJIWARA Katsunori # Date 1150569960 -32400 # Node ID b5902db74ba3a90be91ef8b780d35f23772f90b0 # Parent d1a7c8a5b835d71c4da7398e6858cd6f7bfe2a42 Emacs: use `default-directory' if `buffer-file-name' is null. This patch allows you to co-operate with Mercurial in dired buffer. diff --git a/contrib/mercurial.el b/contrib/mercurial.el --- a/contrib/mercurial.el +++ b/contrib/mercurial.el @@ -380,7 +380,7 @@ Handle frickin' frackin' gratuitous even (save-excursion (while hg-prev-buffer (set-buffer hg-prev-buffer)) - (let ((path (or default (buffer-file-name)))) + (let ((path (or default (buffer-file-name) default-directory))) (if (or (not path) current-prefix-arg) (expand-file-name (eval (list* 'read-file-name @@ -1086,7 +1086,11 @@ prompts for a path to check." (interactive (list (hg-read-file-name))) (if (or path (not hg-root)) (let ((root (do ((prev nil dir) - (dir (file-name-directory (or path buffer-file-name "")) + (dir (file-name-directory + (or + path + buffer-file-name + (expand-file-name default-directory))) (file-name-directory (directory-file-name dir)))) ((equal prev dir)) (when (file-directory-p (concat dir ".hg"))