The previous commit switched to lexical-binding but without dealing
with the new warnings about unused lexical arguments and variables.
This commit deals with most of them, in most cases by either removing
leftover bindings that are actually unnecessary, or by marking certain
arguments as "known to be unused" by prefixing their names with "_".
In the case of the functions named `notmuch-show-insert-...' the
amount of silencing that is required is a bit extreme and we might
want to investigate if there is a better way.
In the case of `notmuch-mua-mail', ignoring CONTINUE means that we do
not fully follow the intended behavior described in `compose-mail's
doc-string.
12 files changed:
The candidates are taken from `notmuch-address-completions'."
(let ((candidates)
(re (regexp-quote substring)))
The candidates are taken from `notmuch-address-completions'."
(let ((candidates)
(re (regexp-quote substring)))
- (maphash (lambda (key val)
+ (maphash (lambda (key _val)
(when (string-match re key)
(push key candidates)))
notmuch-address-completions)
(when (string-match re key)
(push key candidates)))
notmuch-address-completions)
(setq notmuch-address-last-harvest now)
(notmuch-address-harvest
nil nil
(setq notmuch-address-last-harvest now)
(notmuch-address-harvest
nil nil
;; If harvest fails, we want to try
;; again when the trigger is next
;; called
;; If harvest fails, we want to try
;; again when the trigger is next
;; called
(declare-function notmuch-show-refresh-view "notmuch-show" (&optional reset-state))
(declare-function notmuch-show-get-message-id "notmuch-show" (&optional bare))
(declare-function notmuch-show-refresh-view "notmuch-show" (&optional reset-state))
(declare-function notmuch-show-get-message-id "notmuch-show" (&optional bare))
-(defun notmuch-crypto--async-key-sentinel (process event)
+(defun notmuch-crypto--async-key-sentinel (process _event)
"When the user asks for a GPG key to be retrieved
asynchronously, handle completion of that task.
"When the user asks for a GPG key to be retrieved
asynchronously, handle completion of that task.
(cl-loop for row from 0 to (- nrows 1)
append (notmuch-hello-reflect-generate-row ncols nrows row list))))
(cl-loop for row from 0 to (- nrows 1)
append (notmuch-hello-reflect-generate-row ncols nrows row list))))
-(defun notmuch-hello-widget-search (widget &rest ignore)
+(defun notmuch-hello-widget-search (widget &rest _ignore)
(cond
((eq (widget-get widget :notmuch-search-type) 'tree)
(notmuch-tree (widget-get widget
(cond
((eq (widget-get widget :notmuch-search-type) 'tree)
(notmuch-tree (widget-get widget
(let ((widget-link-prefix "")
(widget-link-suffix ""))
(widget-create 'link
(let ((widget-link-prefix "")
(widget-link-suffix ""))
(widget-create 'link
- :notify (lambda (&rest ignore)
+ :notify (lambda (&rest _ignore)
(browse-url notmuch-hello-url))
:help-echo "Visit the notmuch website."
"notmuch")
(widget-insert ". ")
(widget-insert "You have ")
(widget-create 'link
(browse-url notmuch-hello-url))
:help-echo "Visit the notmuch website."
"notmuch")
(widget-insert ". ")
(widget-insert "You have ")
(widget-create 'link
- :notify (lambda (&rest ignore)
+ :notify (lambda (&rest _ignore)
(notmuch-hello-update))
:help-echo "Refresh"
(notmuch-hello-nice-number
(notmuch-hello-update))
:help-echo "Refresh"
(notmuch-hello-nice-number
(when searches
(widget-insert "Saved searches: ")
(widget-create 'push-button
(when searches
(widget-insert "Saved searches: ")
(widget-create 'push-button
- :notify (lambda (&rest ignore)
+ :notify (lambda (&rest _ignore)
(customize-variable 'notmuch-saved-searches))
"edit")
(widget-insert "\n\n")
(customize-variable 'notmuch-saved-searches))
"edit")
(widget-insert "\n\n")
(start (point)))
(if is-hidden
(widget-create 'push-button
(start (point)))
(if is-hidden
(widget-create 'push-button
- :notify `(lambda (widget &rest ignore)
+ :notify `(lambda (widget &rest _ignore)
(setq notmuch-hello-hidden-sections
(delete ,title notmuch-hello-hidden-sections))
(notmuch-hello-update))
"show")
(widget-create 'push-button
(setq notmuch-hello-hidden-sections
(delete ,title notmuch-hello-hidden-sections))
(notmuch-hello-update))
"show")
(widget-create 'push-button
- :notify `(lambda (widget &rest ignore)
+ :notify `(lambda (widget &rest _ignore)
(add-to-list 'notmuch-hello-hidden-sections
,title)
(notmuch-hello-update))
(add-to-list 'notmuch-hello-hidden-sections
,title)
(notmuch-hello-update))
(widget-insert "Hit `?' for context-sensitive help in any Notmuch screen.\n")
(widget-insert "Customize ")
(widget-create 'link
(widget-insert "Hit `?' for context-sensitive help in any Notmuch screen.\n")
(widget-insert "Customize ")
(widget-create 'link
- :notify (lambda (&rest ignore)
+ :notify (lambda (&rest _ignore)
(customize-group 'notmuch))
:button-prefix "" :button-suffix ""
"Notmuch")
(widget-insert " or ")
(widget-create 'link
(customize-group 'notmuch))
:button-prefix "" :button-suffix ""
"Notmuch")
(widget-insert " or ")
(widget-create 'link
- :notify (lambda (&rest ignore)
+ :notify (lambda (&rest _ignore)
(customize-variable 'notmuch-hello-sections))
:button-prefix "" :button-suffix ""
"this page.")
(customize-variable 'notmuch-hello-sections))
:button-prefix "" :button-suffix ""
"this page.")
buffer."
;; Compute the maximum key description width
(let ((key-width 1))
buffer."
;; Compute the maximum key description width
(let ((key-width 1))
- (pcase-dolist (`(,key ,desc) action-map)
+ (pcase-dolist (`(,key ,_desc) action-map)
(setq key-width
(max key-width
(string-width (format-kbd-macro key)))))
(setq key-width
(max key-width
(string-width (format-kbd-macro key)))))
"Translate ACTION-MAP into a minibuffer keymap."
(let ((map (make-sparse-keymap)))
(set-keymap-parent map notmuch-jump-minibuffer-map)
"Translate ACTION-MAP into a minibuffer keymap."
(let ((map (make-sparse-keymap)))
(set-keymap-parent map notmuch-jump-minibuffer-map)
- (pcase-dolist (`(,key ,name ,fn) action-map)
+ (pcase-dolist (`(,key ,_name ,fn) action-map)
(when (= (length key) 1)
(define-key map key
`(lambda () (interactive)
(when (= (length key) 1)
(define-key map key
`(lambda () (interactive)
;; By doing this in two passes (and checking if we already have a
;; binding) we avoid problems if the user specifies a binding which
;; is a prefix of another binding.
;; By doing this in two passes (and checking if we already have a
;; binding) we avoid problems if the user specifies a binding which
;; is a prefix of another binding.
- (pcase-dolist (`(,key ,name ,fn) action-map)
+ (pcase-dolist (`(,key ,_name ,_fn) action-map)
(when (> (length key) 1)
(let* ((key (elt key 0))
(keystr (string key))
(when (> (length key) 1)
(let* ((key (elt key 0))
(keystr (string key))
;; so turn errors into messages.
(message "%s" (error-message-string err))))))
;; so turn errors into messages.
(message "%s" (error-message-string err))))))
-(defun notmuch-start-notmuch-error-sentinel (proc event)
+(defun notmuch-start-notmuch-error-sentinel (proc _event)
(unless (process-live-p proc)
(let ((buffer (process-buffer proc)))
(when (buffer-live-p buffer)
(unless (process-live-p proc)
(let ((buffer (process-buffer proc)))
(when (buffer-live-p buffer)
(let ((msg-id (notmuch-maildir-fcc-save-buffer-to-tmp destdir)))
(when msg-id
(cond (mark-seen
(let ((msg-id (notmuch-maildir-fcc-save-buffer-to-tmp destdir)))
(when msg-id
(cond (mark-seen
(notmuch-maildir-fcc-move-tmp-to-cur destdir msg-id t)
(file-already-exists
(throw 'link-error nil))))
(t
(notmuch-maildir-fcc-move-tmp-to-cur destdir msg-id t)
(file-already-exists
(throw 'link-error nil))))
(t
(notmuch-maildir-fcc-move-tmp-to-new destdir msg-id)
(file-already-exists
(throw 'link-error nil))))))
(notmuch-maildir-fcc-move-tmp-to-new destdir msg-id)
(file-already-exists
(throw 'link-error nil))))))
(erase-buffer)
(notmuch-message-mode)))
(erase-buffer)
(notmuch-message-mode)))
-(defun notmuch-mua-mail (&optional to subject other-headers continue
+(defun notmuch-mua-mail (&optional to subject other-headers _continue
switch-function yank-action send-actions
return-action &rest ignored)
"Invoke the notmuch mail composition window."
switch-function yank-action send-actions
return-action &rest ignored)
"Invoke the notmuch mail composition window."
;;; User-visible functions
;;; User-visible functions
-(defun notmuch-print-lpr (msg)
+(defun notmuch-print-lpr (_msg)
"Print a message buffer using lpr."
(lpr-buffer))
"Print a message buffer using lpr."
(lpr-buffer))
(ps-print-buffer ps-file)
(notmuch-print-run-evince ps-file)))
(ps-print-buffer ps-file)
(notmuch-print-run-evince ps-file)))
-(defun notmuch-print-muttprint (msg)
+(defun notmuch-print-muttprint (_msg)
"Print a message using muttprint."
(notmuch-print-run-muttprint))
"Print a message using muttprint."
(notmuch-print-run-muttprint))
-(defun notmuch-print-muttprint/evince (msg)
+(defun notmuch-print-muttprint/evince (_msg)
"Preview a message buffer using muttprint and evince."
(let ((ps-file (make-temp-file "notmuch" nil ".ps")))
(notmuch-print-run-muttprint (list "--printer" (concat "TO_FILE:" ps-file)))
"Preview a message buffer using muttprint and evince."
(let ((ps-file (make-temp-file "notmuch" nil ".ps")))
(notmuch-print-run-muttprint (list "--printer" (concat "TO_FILE:" ps-file)))
'face 'message-mml
:supertype 'notmuch-button-type)
'face 'message-mml
:supertype 'notmuch-button-type)
-(defun notmuch-show-insert-part-header (nth content-type declared-type
+(defun notmuch-show-insert-part-header (_nth content-type declared-type
&optional name comment)
(let ((base-label (concat (and name (concat name ": "))
declared-type
&optional name comment)
(let ((base-label (concat (and name (concat name ": "))
declared-type
(setq mm-html-inhibit-images nil))
(defvar w3m-current-buffer) ;; From `w3m.el'.
(setq mm-html-inhibit-images nil))
(defvar w3m-current-buffer) ;; From `w3m.el'.
-(defun notmuch-show--cid-w3m-retrieve (url &rest args)
+(defun notmuch-show--cid-w3m-retrieve (url &rest _args)
;; url includes the cid: prefix and is URL encoded (see RFC 2392).
(let* ((cid (url-unhex-string (substring url 4)))
(content-and-type
;; url includes the cid: prefix and is URL encoded (see RFC 2392).
(let* ((cid (url-unhex-string (substring url 4)))
(content-and-type
(mapcar (lambda (inner-part) (plist-get inner-part :content-type))
(plist-get part :content)))
(mapcar (lambda (inner-part) (plist-get inner-part :content-type))
(plist-get part :content)))
-(defun notmuch-show-insert-part-multipart/alternative (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-multipart/alternative (msg part _content-type _nth depth _button)
(let ((chosen-type (car (notmuch-multipart/alternative-choose
msg (notmuch-show-multipart/*-to-list part))))
(inner-parts (plist-get part :content))
(let ((chosen-type (car (notmuch-multipart/alternative-choose
msg (notmuch-show-multipart/*-to-list part))))
(inner-parts (plist-get part :content))
(indent-rigidly start (point) 1)))
t)
(indent-rigidly start (point) 1)))
t)
-(defun notmuch-show-insert-part-multipart/related (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-multipart/related (msg part _content-type _nth depth _button)
(let ((inner-parts (plist-get part :content))
(start (point)))
;; Render the primary part. FIXME: Support RFC 2387 Start header.
(let ((inner-parts (plist-get part :content))
(start (point)))
;; Render the primary part. FIXME: Support RFC 2387 Start header.
(indent-rigidly start (point) 1)))
t)
(indent-rigidly start (point) 1)))
t)
-(defun notmuch-show-insert-part-multipart/signed (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-multipart/signed (msg part _content-type _nth depth button)
(when button
(button-put button 'face 'notmuch-crypto-part-header))
;; Insert a button detailing the signature status.
(when button
(button-put button 'face 'notmuch-crypto-part-header))
;; Insert a button detailing the signature status.
(indent-rigidly start (point) 1)))
t)
(indent-rigidly start (point) 1)))
t)
-(defun notmuch-show-insert-part-multipart/encrypted (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-multipart/encrypted (msg part _content-type _nth depth button)
(when button
(button-put button 'face 'notmuch-crypto-part-header))
;; Insert a button detailing the encryption status.
(when button
(button-put button 'face 'notmuch-crypto-part-header))
;; Insert a button detailing the encryption status.
(indent-rigidly start (point) 1)))
t)
(indent-rigidly start (point) 1)))
t)
-(defun notmuch-show-insert-part-application/pgp-encrypted (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-application/pgp-encrypted (_msg _part _content-type _nth _depth _button)
-(defun notmuch-show-insert-part-multipart/* (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-multipart/* (msg part _content-type _nth depth _button)
(let ((inner-parts (plist-get part :content))
(start (point)))
;; Show all of the parts.
(let ((inner-parts (plist-get part :content))
(start (point)))
;; Show all of the parts.
(indent-rigidly start (point) 1)))
t)
(indent-rigidly start (point) 1)))
t)
-(defun notmuch-show-insert-part-message/rfc822 (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-message/rfc822 (msg part _content-type _nth depth _button)
(let* ((message (car (plist-get part :content)))
(body (car (plist-get message :body)))
(start (point)))
(let* ((message (car (plist-get part :content)))
(body (car (plist-get message :body)))
(start (point)))
(indent-rigidly start (point) 1)))
t)
(indent-rigidly start (point) 1)))
t)
-(defun notmuch-show-insert-part-text/plain (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-text/plain (msg part _content-type _nth depth button)
;; For backward compatibility we want to apply the text/plain hook
;; to the whole of the part including the part button if there is
;; one.
;; For backward compatibility we want to apply the text/plain hook
;; to the whole of the part including the part button if there is
;; one.
(run-hook-with-args 'notmuch-show-insert-text/plain-hook msg depth))))
t)
(run-hook-with-args 'notmuch-show-insert-text/plain-hook msg depth))))
t)
-(defun notmuch-show-insert-part-text/calendar (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-text/calendar (msg part _content-type _nth _depth _button)
(insert (with-temp-buffer
(insert (notmuch-get-bodypart-text msg part notmuch-show-process-crypto))
;; notmuch-get-bodypart-text does no newline conversion.
(insert (with-temp-buffer
(insert (notmuch-get-bodypart-text msg part notmuch-show-process-crypto))
;; notmuch-get-bodypart-text does no newline conversion.
t)
;; For backwards compatibility.
t)
;; For backwards compatibility.
-(defun notmuch-show-insert-part-text/x-vcalendar (msg part content-type nth depth button)
- (notmuch-show-insert-part-text/calendar msg part content-type nth depth button))
+(defun notmuch-show-insert-part-text/x-vcalendar (msg part _content-type _nth depth _button)
+ (notmuch-show-insert-part-text/calendar msg part nil nil depth nil))
(when (version< emacs-version "25.3")
;; https://bugs.gnu.org/28350
(when (version< emacs-version "25.3")
;; https://bugs.gnu.org/28350
;; the first time).
(require 'enriched)
(cl-letf (((symbol-function 'enriched-decode-display-prop)
;; the first time).
(require 'enriched)
(cl-letf (((symbol-function 'enriched-decode-display-prop)
- (lambda (start end &optional param) (list start end))))
+ (lambda (start end &optional _param) (list start end))))
(notmuch-show-insert-part-*/* msg part content-type nth depth button))))
(defun notmuch-show-get-mime-type-of-application/octet-stream (part)
(notmuch-show-insert-part-*/* msg part content-type nth depth button))))
(defun notmuch-show-get-mime-type-of-application/octet-stream (part)
(shr-insert-document dom)
t))
(shr-insert-document dom)
t))
-(defun notmuch-show-insert-part-*/* (msg part content-type nth depth button)
+(defun notmuch-show-insert-part-*/* (msg part content-type _nth _depth _button)
;; This handler _must_ succeed - it is the handler of last resort.
(notmuch-mm-display-part-inline msg part content-type notmuch-show-process-crypto)
t)
;; This handler _must_ succeed - it is the handler of last resort.
(notmuch-mm-display-part-inline msg part content-type notmuch-show-process-crypto)
t)
should return non-NIL if a header button should be inserted for
this part.")
should return non-NIL if a header button should be inserted for
this part.")
-(defun notmuch-show-insert-header-p (part hide)
+(defun notmuch-show-insert-header-p (part _hide)
;; Show all part buttons except for the first part if it is text/plain.
(let ((mime-type (notmuch-show-mime-type part)))
(not (and (string= mime-type "text/plain")
(<= (plist-get part :id) 1)))))
;; Show all part buttons except for the first part if it is text/plain.
(let ((mime-type (notmuch-show-mime-type part)))
(not (and (string= mime-type "text/plain")
(<= (plist-get part :id) 1)))))
-(defun notmuch-show-reply-insert-header-p-never (part hide)
+(defun notmuch-show-reply-insert-header-p-never (_part _hide)
nil)
(defun notmuch-show-reply-insert-header-p-trimmed (part hide)
nil)
(defun notmuch-show-reply-insert-header-p-trimmed (part hide)
(apply 'notmuch-show-tag-message
(notmuch-tag-change-list notmuch-show-mark-read-tags unread))))
(apply 'notmuch-show-tag-message
(notmuch-tag-change-list notmuch-show-mark-read-tags unread))))
-(defun notmuch-show-seen-current-message (start end)
+(defun notmuch-show-seen-current-message (_start _end)
"Mark the current message read if it is open.
We only mark it read once: if it is changed back then that is a
"Mark the current message read if it is open.
We only mark it read once: if it is changed back then that is a
;; We need to redisplay to get window-start and window-end correct.
(redisplay)
(save-excursion
;; We need to redisplay to get window-start and window-end correct.
(redisplay)
(save-excursion
(funcall notmuch-show-mark-read-function (window-start) (window-end))
((debug error)
(unless notmuch-show--seen-has-errored
(funcall notmuch-show-mark-read-function (window-start) (window-end))
((debug error)
(unless notmuch-show--seen-has-errored
"Show the current message (in whole window)."
(interactive)
(let ((id (notmuch-tree-get-message-id))
"Show the current message (in whole window)."
(interactive)
(let ((id (notmuch-tree-get-message-id))
- (inhibit-read-only t)
- buffer)
(when id
;; We close the window to kill off un-needed buffers.
(notmuch-tree-close-message-window)
(when id
;; We close the window to kill off un-needed buffers.
(notmuch-tree-close-message-window)
(setq buffer-read-only t)
(setq truncate-lines t))
(setq buffer-read-only t)
(setq truncate-lines t))
-(defun notmuch-tree-process-sentinel (proc msg)
+(defun notmuch-tree-process-sentinel (proc _msg)
"Add a message to let user know when \"notmuch tree\" exits."
(let ((buffer (process-buffer proc))
(status (process-status proc))
"Add a message to let user know when \"notmuch tree\" exits."
(let ((buffer (process-buffer proc))
(status (process-status proc))
- (exit-status (process-exit-status proc))
- (never-found-target-thread nil))
+ (exit-status (process-exit-status proc)))
(when (memq status '(exit signal))
(kill-buffer (process-get proc 'parse-buf))
(when (buffer-live-p buffer)
(with-current-buffer buffer
(save-excursion
(when (memq status '(exit signal))
(kill-buffer (process-get proc 'parse-buf))
(when (buffer-live-p buffer)
(with-current-buffer buffer
(save-excursion
- (let ((inhibit-read-only t)
- (atbob (bobp)))
+ (let ((inhibit-read-only t))
(goto-char (point-max))
(when (eq status 'signal)
(insert "Incomplete search results (tree view process was killed).\n"))
(goto-char (point-max))
(when (eq status 'signal)
(insert "Incomplete search results (tree view process was killed).\n"))
"Process and filter the output of \"notmuch show\" for tree view."
(let ((results-buf (process-buffer proc))
(parse-buf (process-get proc 'parse-buf))
"Process and filter the output of \"notmuch show\" for tree view."
(let ((results-buf (process-buffer proc))
(parse-buf (process-get proc 'parse-buf))
- (inhibit-read-only t)
- done)
(if (not (buffer-live-p results-buf))
(delete-process proc)
(with-current-buffer parse-buf
(if (not (buffer-live-p results-buf))
(delete-process proc)
(with-current-buffer parse-buf
(beginning-of-line)
(when (and (< (point) (point-max))
(re-search-forward notmuch-wash-original-regexp nil t))
(beginning-of-line)
(when (and (< (point) (point-max))
(re-search-forward notmuch-wash-original-regexp nil t))
- (let* ((msg-start (match-beginning 0))
- (msg-end (point-max))
- (msg-lines (count-lines msg-start msg-end)))
- (notmuch-wash-region-to-button
- msg msg-start msg-end "original")))
+ (notmuch-wash-region-to-button msg
+ (match-beginning 0)
+ (point-max)
+ "original"))
(while (and (< (point) (point-max))
(re-search-forward notmuch-wash-citation-regexp nil t))
(let* ((cite-start (match-beginning 0))
(while (and (< (point) (point-max))
(re-search-forward notmuch-wash-citation-regexp nil t))
(let* ((cite-start (match-beginning 0))
"citation")))))
(when (and (not (eobp))
(re-search-forward notmuch-wash-signature-regexp nil t))
"citation")))))
(when (and (not (eobp))
(re-search-forward notmuch-wash-signature-regexp nil t))
- (let* ((sig-start (match-beginning 0))
- (sig-end (match-end 0))
- (sig-lines (count-lines sig-start (point-max))))
- (when (<= sig-lines notmuch-wash-signature-lines-max)
+ (let ((sig-start (match-beginning 0)))
+ (when (<= (count-lines sig-start (point-max))
+ notmuch-wash-signature-lines-max)
(let ((sig-start-marker (make-marker))
(sig-end-marker (make-marker)))
(set-marker sig-start-marker sig-start)
(let ((sig-start-marker (make-marker))
(sig-end-marker (make-marker)))
(set-marker sig-start-marker sig-start)
(min init-point (- new-end 1)))))
(goto-char new-point)))))
(min init-point (- new-end 1)))))
(goto-char new-point)))))
-(defun notmuch-search-process-sentinel (proc msg)
+(defun notmuch-search-process-sentinel (proc _msg)
"Add a message to let user know when \"notmuch search\" exits."
(let ((buffer (process-buffer proc))
(status (process-status proc))
"Add a message to let user know when \"notmuch search\" exits."
(let ((buffer (process-buffer proc))
(status (process-status proc))
"Process and filter the output of \"notmuch search\"."
(let ((results-buf (process-buffer proc))
(parse-buf (process-get proc 'parse-buf))
"Process and filter the output of \"notmuch search\"."
(let ((results-buf (process-buffer proc))
(parse-buf (process-get proc 'parse-buf))
- (inhibit-read-only t)
- done)
(when (buffer-live-p results-buf)
(with-current-buffer parse-buf
;; Insert new data
(when (buffer-live-p results-buf)
(with-current-buffer parse-buf
;; Insert new data