diff options
Diffstat (limited to 'lisp/emacs-lisp/shortdoc.el')
-rw-r--r-- | lisp/emacs-lisp/shortdoc.el | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/shortdoc.el b/lisp/emacs-lisp/shortdoc.el index 4cfd658e10d..83283247150 100644 --- a/lisp/emacs-lisp/shortdoc.el +++ b/lisp/emacs-lisp/shortdoc.el @@ -833,7 +833,7 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'), (seq-set-equal-p :eval (seq-set-equal-p '(1 2 3) '(3 1 2))) (seq-some - :eval (seq-some #'cl-evenp '(1 2 3))) + :eval (seq-some #'floatp '(1 2.0 3))) "Building Sequences" (seq-concatenate :eval (seq-concatenate 'vector '(1 2) '(c d))) @@ -897,13 +897,15 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'), :eval (seq-drop-while #'numberp '(1 2 c d 5))) (seq-filter :eval (seq-filter #'numberp '(a b 3 4 f 6))) + (seq-keep + :eval (seq-keep #'car-safe '((1 2) 3 t (a . b)))) (seq-remove :eval (seq-remove #'numberp '(1 2 c d 5))) (seq-remove-at-position :eval (seq-remove-at-position '(a b c d e) 3) :eval (seq-remove-at-position [a b c d e] 0)) (seq-group-by - :eval (seq-group-by #'cl-plusp '(-1 2 3 -4 -5 6))) + :eval (seq-group-by #'natnump '(-1 2 3 -4 -5 6))) (seq-union :eval (seq-union '(1 2 3) '(3 5))) (seq-difference @@ -919,7 +921,7 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'), (seq-split :eval (seq-split [0 1 2 3 5] 2)) (seq-take-while - :eval (seq-take-while #'cl-evenp [2 4 9 6 5])) + :eval (seq-take-while #'integerp [1 2 3.0 4])) (seq-uniq :eval (seq-uniq '(a b d b a c)))) @@ -1372,13 +1374,20 @@ If SAME-WINDOW, don't pop to a new window." (unless (bobp) (insert "\n")) (insert (propertize - (concat (substitute-command-keys data) "\n\n") + (substitute-command-keys data) + 'face 'shortdoc-heading + 'shortdoc-section t + 'outline-level 1)) + (insert (propertize + "\n\n" 'face 'shortdoc-heading 'shortdoc-section t))) ;; There may be functions not yet defined in the data. ((fboundp (car data)) (when prev - (insert (make-separator-line))) + (insert (make-separator-line) + ;; This helps with hidden outlines (bug#53981) + (propertize "\n" 'face '(:height 0)))) (setq prev t) (shortdoc--display-function data)))) (cdr (assq group shortdoc--groups)))) @@ -1395,7 +1404,7 @@ If SAME-WINDOW, don't pop to a new window." (start-section (point)) arglist-start) ;; Function calling convention. - (insert (propertize "(" 'shortdoc-function function)) + (insert (propertize "(" 'shortdoc-function function 'outline-level 2)) (if (plist-get data :no-manual) (insert-text-button (symbol-name function) @@ -1529,7 +1538,10 @@ Example: (define-derived-mode shortdoc-mode special-mode "shortdoc" "Mode for shortdoc." - :interactive nil) + :interactive nil + (setq-local outline-search-function #'outline-search-level + outline-level (lambda () + (get-text-property (point) 'outline-level)))) (defun shortdoc--goto-section (arg sym &optional reverse) (unless (natnump arg) |