Mercurial > hg
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) |