summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2018-11-08 00:42:28 +0200
committerJuri Linkov <juri@linkov.net>2018-11-08 00:42:28 +0200
commit7aa5056b574a4bf05a2cbf629f173e6d94e125da (patch)
tree46185c67459adad347016c3ba63316b30e79076c
parent25ab0980c773bcfea7fc84bc001481999ef72a81 (diff)
downloademacs-7aa5056b574a4bf05a2cbf629f173e6d94e125da.tar.gz
* lisp/vc/log-view.el: Better error handling (bug#33295).
* lisp/vc/log-view.el (log-view-find-revision) (log-view-annotate-version): Add condition to signal an error when log-view-vc-fileset contains a directory. Use user-error instead of error. * lisp/dired.el (dired-get-file-for-visit): * lisp/locate.el (locate-do-setup): Use user-error instead of error.
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/locate.el4
-rw-r--r--lisp/vc/log-view.el14
3 files changed, 12 insertions, 8 deletions
diff --git a/lisp/dired.el b/lisp/dired.el
index f2f2b76eb77..cbd85fed91c 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2219,7 +2219,7 @@ directory in another window."
(let ((raw (dired-get-filename nil t))
file-name)
(if (null raw)
- (error "No file on this line"))
+ (user-error "No file on this line"))
(setq file-name (file-name-sans-versions raw t))
(if (file-exists-p file-name)
file-name
diff --git a/lisp/locate.el b/lisp/locate.el
index d2e640e8849..81e9696a0d8 100644
--- a/lisp/locate.el
+++ b/lisp/locate.el
@@ -499,9 +499,9 @@ do not work in subdirectories.
(progn
(kill-buffer locate-buffer-name)
(if locate-current-filter
- (error "Locate: no match for %s in database using filter %s"
+ (user-error "Locate: no match for %s in database using filter %s"
search-string locate-current-filter)
- (error "Locate: no match for %s in database" search-string))))
+ (user-error "Locate: no match for %s in database" search-string))))
(locate-insert-header search-string)
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el
index 6ff50dcde5f..bfb31ccdab8 100644
--- a/lisp/vc/log-view.el
+++ b/lisp/vc/log-view.el
@@ -217,7 +217,7 @@ If it is nil, `log-view-toggle-entry-display' does nothing.")
The match group number 1 should match the file name itself.")
(defvar log-view-per-file-logs t
- "Set if to t if the logs are shown one file at a time.")
+ "Set to t if the logs are shown one file at a time.")
(defvar log-view-message-re
(concat "^\\(?:revision \\(?1:[.0-9]+\\)\\(?:\t.*\\)?" ; RCS and CVS.
@@ -517,8 +517,10 @@ Works like `end-of-defun'."
If called interactively, visit the version at point."
(interactive "d")
(unless log-view-per-file-logs
- (when (> (length log-view-vc-fileset) 1)
- (error "Multiple files shown in this buffer, cannot use this command here")))
+ (when (or (> (length log-view-vc-fileset) 1)
+ (null (car log-view-vc-fileset))
+ (file-directory-p (car log-view-vc-fileset)))
+ (user-error "Multiple files shown in this buffer, cannot use this command here")))
(save-excursion
(goto-char pos)
(switch-to-buffer (vc-find-revision (if log-view-per-file-logs
@@ -561,8 +563,10 @@ If called interactively, visit the version at point."
If called interactively, annotate the version at point."
(interactive "d")
(unless log-view-per-file-logs
- (when (> (length log-view-vc-fileset) 1)
- (error "Multiple files shown in this buffer, cannot use this command here")))
+ (when (or (> (length log-view-vc-fileset) 1)
+ (null (car log-view-vc-fileset))
+ (file-directory-p (car log-view-vc-fileset)))
+ (user-error "Multiple files shown in this buffer, cannot use this command here")))
(save-excursion
(goto-char pos)
(vc-annotate (if log-view-per-file-logs