[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/marginalia 3e061a0 185/241: marginalia-annotate-bookmar
From: |
Stefan Monnier |
Subject: |
[elpa] externals/marginalia 3e061a0 185/241: marginalia-annotate-bookmark: Handle non-symbol bookmark handlers |
Date: |
Fri, 28 May 2021 20:49:23 -0400 (EDT) |
branch: externals/marginalia
commit 3e061a0fb5305389af5b3da17092f2f09fe92c69
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
marginalia-annotate-bookmark: Handle non-symbol bookmark handlers
For example the function `xwidget-webkit-bookmark-make-record'
creates bookmarks of this dubious form.
See https://github.com/raxod502/selectrum/issues/442
---
marginalia.el | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/marginalia.el b/marginalia.el
index d1cfcbc..5e9c397 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -522,14 +522,18 @@ Similar to `marginalia-annotate-symbol', but does not
show symbol class."
"Return bookmark type string of BM.
The string is transformed according to
`marginalia-bookmark-type-transformers'."
- (let ((str (symbol-name (or (alist-get 'handler bm)
- 'bookmark-default-handler))))
- (dolist (transformer marginalia-bookmark-type-transformers str)
- (when (string-match-p (car transformer) str)
- (setq str
- (if (stringp (cdr transformer))
- (replace-regexp-in-string (car transformer) (cdr
transformer) str)
- (funcall (cdr transformer) str)))))))
+ (let ((handler (or (alist-get 'handler bm) 'bookmark-default-handler)))
+ ;; Some libraries use lambda handlers instead of symbols. For
+ ;; example the function `xwidget-webkit-bookmark-make-record' is
+ ;; affected. I consider this bad style since then the lambda is
+ ;; persisted.
+ (when-let (str (and (symbolp handler) (symbol-name handler)))
+ (dolist (transformer marginalia-bookmark-type-transformers str)
+ (when (string-match-p (car transformer) str)
+ (setq str
+ (if (stringp (cdr transformer))
+ (replace-regexp-in-string (car transformer) (cdr
transformer) str)
+ (funcall (cdr transformer) str))))))))
(defun marginalia-annotate-bookmark (cand)
"Annotate bookmark CAND with its file name and front context string."
- [elpa] externals/marginalia 51b6dbf 147/241: readme fixes, (continued)
- [elpa] externals/marginalia 51b6dbf 147/241: readme fixes, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 7d4f07f 146/241: add marginalia.texi, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia a2f9242 154/241: fix marginalia-annotate-bookmark for front context with newlines, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia d0c0005 166/241: update readme, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia fcf41c5 167/241: Version 0.2, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 5a00dcb 170/241: marginalia-annotate-consult-buffer: remove width, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia e15b8b2 174/241: readme: update marginalia keybinding, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 55bfd5f 176/241: do not unnecessarily use defsubst, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia dcdcd5d 179/241: consistently use \` and \' for regexps, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 51f7509 184/241: Fix #57 - protect marginalia--symbol-class equality check, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 3e061a0 185/241: marginalia-annotate-bookmark: Handle non-symbol bookmark handlers,
Stefan Monnier <=
- [elpa] externals/marginalia 58f397d 187/241: update readme, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia c93b1b3 188/241: marginalia--full-candidate: Do not switch entire window, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia e54aa0c 193/241: Revert "Revert "fix #46: affixation suffix must not be nil, it must be a string"", Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 153417a 192/241: marginalia-annotate-file: Use substitute-in-file-name, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 2d19497 208/241: marginalia--full-file: Ensure that pt >= 0 if cursor is moved into the prompt, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia f263745 201/241: marginalia-annotate-color: Use readable-foreground-color, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia b6994e0 203/241: Attempt to fix full candidate function for files (#65), Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia f3eaa1a 197/241: Add annotator for the embark-keybinding category, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia 9559819 209/241: Add link to upstream bug, Stefan Monnier, 2021/05/28
- [elpa] externals/marginalia c476b6c 212/241: Track completion base position for marginalia--full-candidate, Stefan Monnier, 2021/05/28