comparison contrib/mercurial.el @ 2453:b5902db74ba3

Emacs: use `default-directory' if `buffer-file-name' is null. This patch allows you to co-operate with Mercurial in dired buffer.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sun, 18 Jun 2006 03:46:00 +0900
parents d1a7c8a5b835
children aa16b42628b8
comparison
equal deleted inserted replaced
2452:d1a7c8a5b835 2453:b5902db74ba3
378 (defun hg-read-file-name (&optional prompt default) 378 (defun hg-read-file-name (&optional prompt default)
379 "Read a file or directory name, or a pattern, to use with a command." 379 "Read a file or directory name, or a pattern, to use with a command."
380 (save-excursion 380 (save-excursion
381 (while hg-prev-buffer 381 (while hg-prev-buffer
382 (set-buffer hg-prev-buffer)) 382 (set-buffer hg-prev-buffer))
383 (let ((path (or default (buffer-file-name)))) 383 (let ((path (or default (buffer-file-name) default-directory)))
384 (if (or (not path) current-prefix-arg) 384 (if (or (not path) current-prefix-arg)
385 (expand-file-name 385 (expand-file-name
386 (eval (list* 'read-file-name 386 (eval (list* 'read-file-name
387 (format "File, directory or pattern%s: " 387 (format "File, directory or pattern%s: "
388 (or prompt "")) 388 (or prompt ""))
1084 When called interactively, the root is printed. A prefix argument 1084 When called interactively, the root is printed. A prefix argument
1085 prompts for a path to check." 1085 prompts for a path to check."
1086 (interactive (list (hg-read-file-name))) 1086 (interactive (list (hg-read-file-name)))
1087 (if (or path (not hg-root)) 1087 (if (or path (not hg-root))
1088 (let ((root (do ((prev nil dir) 1088 (let ((root (do ((prev nil dir)
1089 (dir (file-name-directory (or path buffer-file-name "")) 1089 (dir (file-name-directory
1090 (or
1091 path
1092 buffer-file-name
1093 (expand-file-name default-directory)))
1090 (file-name-directory (directory-file-name dir)))) 1094 (file-name-directory (directory-file-name dir))))
1091 ((equal prev dir)) 1095 ((equal prev dir))
1092 (when (file-directory-p (concat dir ".hg")) 1096 (when (file-directory-p (concat dir ".hg"))
1093 (return dir))))) 1097 (return dir)))))
1094 (when (interactive-p) 1098 (when (interactive-p)