[PATCH v3 30/34] emacs: Remove notmuch-read-char-choice

Subject: [PATCH v3 30/34] emacs: Remove notmuch-read-char-choice

Date: Sat, 8 Aug 2020 13:50:05 +0200

To: notmuch@notmuchmail.org

Cc:

From: Jonas Bernoulli


Just use `read-char-choice', which existed since Emacs 24.1.
---
 emacs/notmuch-compat.el      | 56 ------------------------------------
 emacs/notmuch-maildir-fcc.el |  4 +--
 2 files changed, 2 insertions(+), 58 deletions(-)

diff --git a/emacs/notmuch-compat.el b/emacs/notmuch-compat.el
index fafc64f3..3ede6b36 100644
--- a/emacs/notmuch-compat.el
+++ b/emacs/notmuch-compat.el
@@ -40,62 +40,6 @@ (defun notmuch-message--fold-long-headers ()
 (unless (fboundp '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
 
 (provide 'notmuch-compat)
diff --git a/emacs/notmuch-maildir-fcc.el b/emacs/notmuch-maildir-fcc.el
index aa07b26a..a9103a20 100644
--- a/emacs/notmuch-maildir-fcc.el
+++ b/emacs/notmuch-maildir-fcc.el
@@ -242,7 +242,7 @@ (defun notmuch-maildir-fcc-with-notmuch-insert (fcc-header &optional create)
       ;; typo, or just the user want a new folder, let the user decide
       ;; how to deal with it.
       (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))))
 	 (cl-case response
 	   (?r (notmuch-maildir-fcc-with-notmuch-insert fcc-header))
@@ -327,7 +327,7 @@ (defun notmuch-maildir-fcc-file-fcc (fcc-header)
     ;; fix it in some way.
     (let* ((prompt (format "Fcc %s is not a maildir: \
 \(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
 	(?r (notmuch-maildir-fcc-file-fcc fcc-header))
 	(?c (if (file-writable-p fcc-header)
-- 
2.28.0
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: