diff options
| author | Glenn Morris | 2020-04-05 07:50:15 -0700 |
|---|---|---|
| committer | Glenn Morris | 2020-04-05 07:50:15 -0700 |
| commit | 94b6b0b5c5544d46a89915c94a83e2f4a224d044 (patch) | |
| tree | d806821f9cba49fa2e32b4110784a211104a8c53 | |
| parent | a32c55bd9f3aa06b74adc9630b55689972c52356 (diff) | |
| parent | ac3da1dd9626bc475e78b18c0b438435790e8926 (diff) | |
| download | emacs-94b6b0b5c5544d46a89915c94a83e2f4a224d044.tar.gz emacs-94b6b0b5c5544d46a89915c94a83e2f4a224d044.zip | |
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...
| -rw-r--r-- | lisp/imenu.el | 14 | ||||
| -rw-r--r-- | lisp/progmodes/project.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/xref.el | 1 |
3 files changed, 12 insertions, 5 deletions
diff --git a/lisp/imenu.el b/lisp/imenu.el index fb8b3de662b..1949f2f48f7 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el | |||
| @@ -911,11 +911,15 @@ to `imenu-update-menubar'.") | |||
| 911 | (setq index-alist (imenu--split-submenus index-alist)) | 911 | (setq index-alist (imenu--split-submenus index-alist)) |
| 912 | (let* ((menu (imenu--split-menu index-alist | 912 | (let* ((menu (imenu--split-menu index-alist |
| 913 | (buffer-name))) | 913 | (buffer-name))) |
| 914 | (menu1 (imenu--create-keymap (car menu) | 914 | (menu1 (imenu--create-keymap |
| 915 | (cdr (if (< 1 (length (cdr menu))) | 915 | (car menu) |
| 916 | menu | 916 | (cdr (if (or (< 1 (length (cdr menu))) |
| 917 | (car (cdr menu)))) | 917 | ;; Have we a non-nested single entry? |
| 918 | 'imenu--menubar-select))) | 918 | (atom (cdadr menu)) |
| 919 | (atom (cadadr menu))) | ||
| 920 | menu | ||
| 921 | (car (cdr menu)))) | ||
| 922 | 'imenu--menubar-select))) | ||
| 919 | (setcdr imenu--menubar-keymap (cdr menu1))))))) | 923 | (setcdr imenu--menubar-keymap (cdr menu1))))))) |
| 920 | 924 | ||
| 921 | (defun imenu--menubar-select (item) | 925 | (defun imenu--menubar-select (item) |
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index f4678681858..1f4cbe96ad8 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el | |||
| @@ -480,6 +480,8 @@ pattern to search for." | |||
| 480 | nil))) | 480 | nil))) |
| 481 | 481 | ||
| 482 | (defun project--find-regexp-in-files (regexp files) | 482 | (defun project--find-regexp-in-files (regexp files) |
| 483 | (unless files | ||
| 484 | (user-error "Empty file list")) | ||
| 483 | (let ((xrefs (xref-matches-in-files regexp files))) | 485 | (let ((xrefs (xref-matches-in-files regexp files))) |
| 484 | (unless xrefs | 486 | (unless xrefs |
| 485 | (user-error "No matches for: %s" regexp)) | 487 | (user-error "No matches for: %s" regexp)) |
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el index 1a344563405..c36a9bd9940 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." | |||
| 1232 | "Find all matches for REGEXP in FILES. | 1232 | "Find all matches for REGEXP in FILES. |
| 1233 | Return a list of xref values. | 1233 | Return a list of xref values. |
| 1234 | FILES must be a list of absolute file names." | 1234 | FILES must be a list of absolute file names." |
| 1235 | (cl-assert (consp files)) | ||
| 1235 | (pcase-let* | 1236 | (pcase-let* |
| 1236 | ((output (get-buffer-create " *project grep output*")) | 1237 | ((output (get-buffer-create " *project grep output*")) |
| 1237 | (`(,grep-re ,file-group ,line-group . ,_) (car grep-regexp-alist)) | 1238 | (`(,grep-re ,file-group ,line-group . ,_) (car grep-regexp-alist)) |