Use map-y-or-n-p in bibtex.el

* lisp/textmodes/bibtex.el (bibtex-reformat): Use map-y-or-n-p.
(Bug#30065)
This commit is contained in:
Basil L. Contovounesios 2018-01-20 14:19:34 +02:00 committed by Eli Zaretskii
parent f1e4249e37
commit 9e9b71189a

View 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.