[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 94b6b0b 1/3: Merge from origin/emacs-27
From: |
Glenn Morris |
Subject: |
master 94b6b0b 1/3: Merge from origin/emacs-27 |
Date: |
Sun, 5 Apr 2020 10:55:17 -0400 (EDT) |
branch: master
commit 94b6b0b5c5544d46a89915c94a83e2f4a224d044
Merge: a32c55b ac3da1d
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>
Merge from origin/emacs-27
ac3da1dd96 Handle project--files-in-directory finding no files better
650a664ccd Let imenu to work on the menu bar when its list is a singl...
---
lisp/imenu.el | 14 +++++++++-----
lisp/progmodes/project.el | 2 ++
lisp/progmodes/xref.el | 1 +
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/lisp/imenu.el b/lisp/imenu.el
index fb8b3de..1949f2f 100644
--- a/lisp/imenu.el
+++ b/lisp/imenu.el
@@ -911,11 +911,15 @@ to `imenu-update-menubar'.")
(setq index-alist (imenu--split-submenus index-alist))
(let* ((menu (imenu--split-menu index-alist
(buffer-name)))
- (menu1 (imenu--create-keymap (car menu)
- (cdr (if (< 1 (length (cdr menu)))
- menu
- (car (cdr menu))))
- 'imenu--menubar-select)))
+ (menu1 (imenu--create-keymap
+ (car menu)
+ (cdr (if (or (< 1 (length (cdr menu)))
+ ;; Have we a non-nested single entry?
+ (atom (cdadr menu))
+ (atom (cadadr menu)))
+ menu
+ (car (cdr menu))))
+ 'imenu--menubar-select)))
(setcdr imenu--menubar-keymap (cdr menu1)))))))
(defun imenu--menubar-select (item)
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index f467868..1f4cbe9 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -480,6 +480,8 @@ pattern to search for."
nil)))
(defun project--find-regexp-in-files (regexp files)
+ (unless files
+ (user-error "Empty file list"))
(let ((xrefs (xref-matches-in-files regexp files)))
(unless xrefs
(user-error "No matches for: %s" regexp))
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 1a34456..c36a9bd 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -1232,6 +1232,7 @@ IGNORES is a list of glob patterns for files to ignore."
"Find all matches for REGEXP in FILES.
Return a list of xref values.
FILES must be a list of absolute file names."
+ (cl-assert (consp files))
(pcase-let*
((output (get-buffer-create " *project grep output*"))
(`(,grep-re ,file-group ,line-group . ,_) (car grep-regexp-alist))