]> git.eshelyaron.com Git - emacs.git/commitdiff
Use map-y-or-n-p in bibtex.el
authorBasil L. Contovounesios <contovob@tcd.ie>
Sat, 20 Jan 2018 12:19:34 +0000 (14:19 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 20 Jan 2018 12:19:34 +0000 (14:19 +0200)
* lisp/textmodes/bibtex.el (bibtex-reformat): Use map-y-or-n-p.
(Bug#30065)

lisp/textmodes/bibtex.el

index f6cc98241c39dd20ee36d79020d198bcbe98db37..15004ed9c49549aea2e17ef167da0c299c56ddf5 100644 (file)
@@ -4925,23 +4925,26 @@ If mark is active reformat entries in region, if not in whole buffer."
           (cond (read-options
                  (if use-previous-options
                      bibtex-reformat-previous-options
-                   (setq bibtex-reformat-previous-options
-                         (delq nil
-                               (mapcar (lambda (option)
-                                         (if (y-or-n-p (car option)) (cdr option)))
-                                       `(("Realign entries (recommended)? " . realign)
-                                         ("Remove empty optional and alternative fields? " . opts-or-alts)
-                                         ("Remove delimiters around pure numerical fields? " . numerical-fields)
-                                         (,(concat (if bibtex-comma-after-last-field "Insert" "Remove")
-                                                   " comma at end of entry? ") . last-comma)
-                                         ("Replace double page dashes by single ones? " . page-dashes)
-                                         ("Delete whitespace at the beginning and end of fields? " . whitespace)
-                                         ("Inherit booktitle? " . inherit-booktitle)
-                                         ("Force delimiters? " . delimiters)
-                                         ("Unify case of entry types and field names? " . unify-case)
-                                         ("Enclose parts of field entries by braces? " . braces)
-                                         ("Replace parts of field entries by string constants? " . strings)
-                                         ("Sort fields? " . sort-fields)))))))
+                   (let (answers)
+                     (map-y-or-n-p
+                      #'car
+                      (lambda (option)
+                        (push (cdr option) answers))
+                      `(("Realign entries (recommended)? " . realign)
+                        ("Remove empty optional and alternative fields? " . opts-or-alts)
+                        ("Remove delimiters around pure numerical fields? " . numerical-fields)
+                        (,(concat (if bibtex-comma-after-last-field "Insert" "Remove")
+                                  " comma at end of entry? ") . last-comma)
+                        ("Replace double page dashes by single ones? " . page-dashes)
+                        ("Delete whitespace at the beginning and end of fields? " . whitespace)
+                        ("Inherit booktitle? " . inherit-booktitle)
+                        ("Force delimiters? " . delimiters)
+                        ("Unify case of entry types and field names? " . unify-case)
+                        ("Enclose parts of field entries by braces? " . braces)
+                        ("Replace parts of field entries by string constants? " . strings)
+                        ("Sort fields? " . sort-fields))
+                      '("formatting action" "formatting actions" "perform"))
+                     (setq bibtex-reformat-previous-options (nreverse answers)))))
                 ;; Do not include required-fields because `bibtex-reformat'
                 ;; cannot handle the error messages of `bibtex-format-entry'.
                 ;; Use `bibtex-validate' to check for required fields.