diff options
| author | Jonas Bernoulli <jonas@bernoul.li> | 2021-01-10 15:00:47 +0100 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2021-01-13 07:16:04 -0400 |
| commit | fc4cda07a9afbbb545dcc6cd835ca697f6ef2a1b (patch) | |
| tree | a677ce29506751ab15cfd8f7954b83387d202dac /emacs/notmuch-tag.el | |
| parent | 2ca941163da06aed564dab1990fb333fd7457ec2 (diff) | |
emacs: use lexical-bindings in all libraries
Doing so causes many new compile warnings. Some of these warnings
concern genuine changes in behavior that have to be addressed right
away.
Many other warnings are due to unused variables. Nothing has changed
here, except that the byte-compiler can now detect these pre-existing
and harmless issues. We delay addressing these issues so that we can
focus on the important ones here.
A third group of warnings concern arguments that are not actually used
inside the function but which cannot be removed because the functions
signature is dictated by some outside convention. Silencing these
warning is also delayed until subsequent commits.
Diffstat (limited to 'emacs/notmuch-tag.el')
| -rw-r--r-- | emacs/notmuch-tag.el | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/emacs/notmuch-tag.el b/emacs/notmuch-tag.el index 817ea99f..fa376b02 100644 --- a/emacs/notmuch-tag.el +++ b/emacs/notmuch-tag.el @@ -1,4 +1,4 @@ -;;; notmuch-tag.el --- tag messages within emacs +;;; notmuch-tag.el --- tag messages within emacs -*- lexical-binding: t -*- ;; ;; Copyright © Damien Cassou ;; Copyright © Carl Worth @@ -295,22 +295,24 @@ This can be used with `notmuch-tag-format-image-data'." (and (eq (string-match key tag) 0) (= (match-end 0) (length tag))))))) -(defun notmuch-tag--do-format (tag formatted-tag formats) +(defun notmuch-tag--do-format (bare-tag tag formats) "Apply a tag-formats entry to TAG." (cond ((null formats) ;; - Tag not in `formats', - formatted-tag) ;; the format is the tag itself. + tag) ;; the format is the tag itself. ((null (cdr formats)) ;; - Tag was deliberately hidden, nil) ;; no format must be returned (t ;; Tag was found and has formats, we must apply all the ;; formats. TAG may be null so treat that as a special case. - (let ((bare-tag tag) - (tag (copy-sequence (or formatted-tag "")))) + (let ((return-tag (copy-sequence (or tag "")))) (dolist (format (cdr formats)) - (setq tag (eval format))) - (if (and (null formatted-tag) (equal tag "")) + (setq return-tag + (eval format + `((bare-tag . ,bare-tag) + (tag . ,return-tag))))) + (if (and (null tag) (equal return-tag "")) nil - tag))))) + return-tag))))) (defun notmuch-tag-format-tag (tags orig-tags tag) "Format TAG according to `notmuch-tag-formats'. |
