]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/vc/log-view.el: Better error handling (bug#33295).
authorJuri Linkov <juri@linkov.net>
Wed, 7 Nov 2018 22:42:28 +0000 (00:42 +0200)
committerJuri Linkov <juri@linkov.net>
Wed, 7 Nov 2018 22:42:28 +0000 (00:42 +0200)
* 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.

lisp/dired.el
lisp/locate.el
lisp/vc/log-view.el

index f2f2b76eb7747b446bbe37b42cd45dba6675eb44..cbd85fed91c4d562e43ca70a43a2f06b8ab4c3c1 100644 (file)
@@ -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
index d2e640e8849c6999d58ee965620c10ef183bbb1c..81e9696a0d8385cab9f4c7822dff8e1290643e3d 100644 (file)
@@ -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)
 
index 6ff50dcde5f1a9b4de419b9d51a0941cc34f8e3f..bfb31ccdab8925605544e80cca87746bb9e7ea6c 100644 (file)
@@ -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