diff options
author | Glenn Morris <rgm@gnu.org> | 2014-08-14 21:34:06 -0700 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2014-08-14 21:34:06 -0700 |
commit | ed30c57cc9cdcf8ddc169f4b042146db9b3b7179 (patch) | |
tree | 30e07052f35dcfb7c4616a30c8e9bdebb8a3526c /lisp/speedbar.el | |
parent | b9558683e3339fb95ff9cad1ced705f525d86d7a (diff) | |
parent | 315865d31dde9f0771f96a98a4562bd282aa21ea (diff) | |
download | emacs-ed30c57cc9cdcf8ddc169f4b042146db9b3b7179.tar.gz |
Merge from emacs-24; up to 2014-06-29T18:32:35Z!michael.albinus@gmx.de
Diffstat (limited to 'lisp/speedbar.el')
-rw-r--r-- | lisp/speedbar.el | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 55e86e7fef3..11d2d435383 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el @@ -2111,9 +2111,10 @@ cell of the form ( 'DIRLIST . 'FILELIST )." ;; in order to make it look nice. ;; ;; A generic list is of the form: -;; ( ("name" . marker-or-number) <-- one tag at this level -;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags -;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags +;; ( ("name" . marker-or-number) <-- one tag at this level +;; ("name" marker-or-number goto-fun . args) <-- one tag at this level +;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags +;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags (defun speedbar-generic-list-group-p (sublst) "Non-nil if SUBLST is a group. Groups may optionally contain a position." @@ -2144,6 +2145,8 @@ Groups may optionally contain a position." (and (stringp (car-safe sublst)) (or (and (number-or-marker-p (cdr-safe sublst)) (not (cdr-safe (cdr-safe sublst)))) + (ignore-errors (and (number-or-marker-p (nth 1 sublst)) + (functionp (nth 2 sublst)))) ;; For semantic/bovine items, this is needed (symbolp (car-safe (cdr-safe sublst)))) )) |