mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
emacs: Remove notmuch-read-char-choice
Just use `read-char-choice', which existed since Emacs 24.1.
This commit is contained in:
parent
2156517d90
commit
08b26f449d
2 changed files with 2 additions and 58 deletions
|
@ -40,62 +40,6 @@
|
||||||
(unless (fboundp 'message--fold-long-headers)
|
(unless (fboundp 'message--fold-long-headers)
|
||||||
(add-hook 'message-header-hook 'notmuch-message--fold-long-headers))
|
(add-hook 'message-header-hook 'notmuch-message--fold-long-headers))
|
||||||
|
|
||||||
(if (fboundp 'read-char-choice)
|
|
||||||
(defalias 'notmuch-read-char-choice 'read-char-choice)
|
|
||||||
(defun notmuch-read-char-choice (prompt chars &optional inhibit-keyboard-quit)
|
|
||||||
"Read and return one of CHARS, prompting for PROMPT.
|
|
||||||
Any input that is not one of CHARS is ignored.
|
|
||||||
|
|
||||||
If optional argument INHIBIT-KEYBOARD-QUIT is non-nil, ignore
|
|
||||||
keyboard-quit events while waiting for a valid input.
|
|
||||||
|
|
||||||
This is an exact copy of this function from emacs 24 for use on
|
|
||||||
emacs 23, except with the one emacs 24 only function it calls
|
|
||||||
inlined."
|
|
||||||
(unless (consp chars)
|
|
||||||
(error "Called `read-char-choice' without valid char choices"))
|
|
||||||
(let (char done show-help (helpbuf " *Char Help*"))
|
|
||||||
(let ((cursor-in-echo-area t)
|
|
||||||
(executing-kbd-macro executing-kbd-macro)
|
|
||||||
(esc-flag nil))
|
|
||||||
(save-window-excursion ; in case we call help-form-show
|
|
||||||
(while (not done)
|
|
||||||
(unless (get-text-property 0 'face prompt)
|
|
||||||
(setq prompt (propertize prompt 'face 'minibuffer-prompt)))
|
|
||||||
(setq char (let ((inhibit-quit inhibit-keyboard-quit))
|
|
||||||
(read-key prompt)))
|
|
||||||
(and show-help (buffer-live-p (get-buffer helpbuf))
|
|
||||||
(kill-buffer helpbuf))
|
|
||||||
(cond
|
|
||||||
((not (numberp char)))
|
|
||||||
;; If caller has set help-form, that's enough.
|
|
||||||
;; They don't explicitly have to add help-char to chars.
|
|
||||||
((and help-form
|
|
||||||
(eq char help-char)
|
|
||||||
(setq show-help t)
|
|
||||||
;; This is an inlined copy of help-form-show as that
|
|
||||||
;; was introduced in emacs 24 too.
|
|
||||||
(let ((msg (eval help-form)))
|
|
||||||
(when (stringp msg)
|
|
||||||
(with-output-to-temp-buffer " *Char Help*"
|
|
||||||
(princ msg))))))
|
|
||||||
((memq char chars)
|
|
||||||
(setq done t))
|
|
||||||
((and executing-kbd-macro (= char -1))
|
|
||||||
;; read-event returns -1 if we are in a kbd macro and
|
|
||||||
;; there are no more events in the macro. Attempt to
|
|
||||||
;; get an event interactively.
|
|
||||||
(setq executing-kbd-macro nil))
|
|
||||||
((not inhibit-keyboard-quit)
|
|
||||||
(cond
|
|
||||||
((and (null esc-flag) (eq char ?\e))
|
|
||||||
(setq esc-flag t))
|
|
||||||
((memq char '(?\C-g ?\e))
|
|
||||||
(keyboard-quit))))))))
|
|
||||||
;; Display the question with the answer. But without cursor-in-echo-area.
|
|
||||||
(message "%s%s" prompt (char-to-string char))
|
|
||||||
char)))
|
|
||||||
|
|
||||||
;; End of compatibility functions
|
;; End of compatibility functions
|
||||||
|
|
||||||
(provide 'notmuch-compat)
|
(provide 'notmuch-compat)
|
||||||
|
|
|
@ -242,7 +242,7 @@ If CREATE is non-nil then create the folder if necessary."
|
||||||
;; typo, or just the user want a new folder, let the user decide
|
;; typo, or just the user want a new folder, let the user decide
|
||||||
;; how to deal with it.
|
;; how to deal with it.
|
||||||
(error
|
(error
|
||||||
(let ((response (notmuch-read-char-choice "Insert failed: \
|
(let ((response (read-char-choice "Insert failed: \
|
||||||
\(r)etry, (c)reate folder, (i)gnore, or (e)dit the header? " '(?r ?c ?i ?e))))
|
\(r)etry, (c)reate folder, (i)gnore, or (e)dit the header? " '(?r ?c ?i ?e))))
|
||||||
(cl-case response
|
(cl-case response
|
||||||
(?r (notmuch-maildir-fcc-with-notmuch-insert fcc-header))
|
(?r (notmuch-maildir-fcc-with-notmuch-insert fcc-header))
|
||||||
|
@ -327,7 +327,7 @@ if needed."
|
||||||
;; fix it in some way.
|
;; fix it in some way.
|
||||||
(let* ((prompt (format "Fcc %s is not a maildir: \
|
(let* ((prompt (format "Fcc %s is not a maildir: \
|
||||||
\(r)etry, (c)reate folder, (i)gnore, or (e)dit the header? " fcc-header))
|
\(r)etry, (c)reate folder, (i)gnore, or (e)dit the header? " fcc-header))
|
||||||
(response (notmuch-read-char-choice prompt '(?r ?c ?i ?e))))
|
(response (read-char-choice prompt '(?r ?c ?i ?e))))
|
||||||
(cl-case response
|
(cl-case response
|
||||||
(?r (notmuch-maildir-fcc-file-fcc fcc-header))
|
(?r (notmuch-maildir-fcc-file-fcc fcc-header))
|
||||||
(?c (if (file-writable-p fcc-header)
|
(?c (if (file-writable-p fcc-header)
|
||||||
|
|
Loading…
Reference in a new issue