[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master 45a1653: ; Fix last change to bibtex.el
From: |
Roland Winkler |
Subject: |
Re: master 45a1653: ; Fix last change to bibtex.el |
Date: |
Sat, 28 Nov 2020 16:32:00 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
On Wed, Nov 18 2020, Roland Winkler wrote:
> On Wed Nov 18 2020 Stefan Monnier wrote:
>> And indeed with the :safe keyword you can specify a number of
>> value that can be assumed to be safe, while any other value will
>> be raise alarms.
>
> Thanks, I am always happy to learn new things. I'll try it out and
> send a patch.
Unless anyone complains I'll apply the following patch.
diff --git a/etc/NEWS b/etc/NEWS
index 2fb33e3..7b4c767 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1349,7 +1349,7 @@ completions with more information in completion prefix
and suffix.
*** User option 'completions-format' supports a new value 'one-column'.
---
-*** New user option 'bibtex-unify-case-convert'.
+*** New user option 'bibtex-unify-case-function'.
This new option allows the user to customize how case is converted
when unifying entries.
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index c9e21e5..001941f 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -88,16 +88,6 @@ bibtex-include-OPTkey
(const :tag "Default" t))
:risky t)
-(defcustom bibtex-unify-case-convert #'identity
- "Function called when unifying case on entry and field names.
-It is called with one argument, the entry or field name."
- :version "28.1"
- :type '(choice (const :tag "Same case as in `bibtex-field-alist'" identity)
- (const :tag "Downcase" downcase)
- (const :tag "Capitalize" capitalize)
- (const :tag "Upcase" upcase)
- (function :tag "Conversion function")))
-
(defcustom bibtex-user-optional-fields
'(("annote" "Personal annotation (ignored)"))
"List of optional fields the user wants to have always present.
@@ -133,7 +123,7 @@ bibtex-entry-format
delimiters Change delimiters according to variables
`bibtex-field-delimiters' and `bibtex-entry-delimiters'.
unify-case Change case of entry and field names according to
- `bibtex-unify-case-convert'.
+ `bibtex-unify-case-function'.
braces Enclose parts of field entries by braces according to
`bibtex-field-braces-alist'.
strings Replace parts of field entries by string constants
@@ -193,6 +183,17 @@ bibtex-field-strings-alist
(regexp :tag "From regexp")
(regexp :tag "To string constant"))))
+(defcustom bibtex-unify-case-function #'identity
+ "Function for unifying case of entry and field names.
+It is called with one argument, the entry or field name."
+ :version "28.1"
+ :type '(choice (const :tag "Same case as in `bibtex-field-alist'" identity)
+ (const :tag "Downcase" downcase)
+ (const :tag "Capitalize" capitalize)
+ (const :tag "Upcase" upcase)
+ (function :tag "Conversion function"))
+ :safe (lambda (x) (memq x '(upcase downcase capitalize identity))))
+
(defcustom bibtex-clean-entry-hook nil
"List of functions to call when entry has been cleaned.
Functions are called with point inside the cleaned entry, and the buffer
@@ -2357,7 +2358,7 @@ bibtex-format-entry
;; unify case of entry type
(when (memq 'unify-case format)
(delete-region beg-type end-type)
- (insert (funcall bibtex-unify-case-convert (car
entry-list))))
+ (insert (funcall bibtex-unify-case-function (car
entry-list))))
;; update left entry delimiter
(when (memq 'delimiters format)
@@ -2566,7 +2567,7 @@ bibtex-format-entry
(curname (buffer-substring beg-name end-name)))
(delete-region beg-name end-name)
(goto-char beg-name)
- (insert (funcall bibtex-unify-case-convert
+ (insert (funcall bibtex-unify-case-function
(or fname curname)))))
;; update point
- Re: master 45a1653: ; Fix last change to bibtex.el, Glenn Morris, 2020/11/17
- Re: master 45a1653: ; Fix last change to bibtex.el, Roland Winkler, 2020/11/17
- Re: master 45a1653: ; Fix last change to bibtex.el, Basil L. Contovounesios, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el, Roland Winkler, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el, Roland Winkler, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el, Basil L. Contovounesios, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el, Roland Winkler, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el, Stefan Monnier, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el, Roland Winkler, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el,
Roland Winkler <=
- Re: master 45a1653: ; Fix last change to bibtex.el, Richard Stallman, 2020/11/19
- Re: master 45a1653: ; Fix last change to bibtex.el, Roland Winkler, 2020/11/19
Re: master 45a1653: ; Fix last change to bibtex.el, Basil L. Contovounesios, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el, Basil L. Contovounesios, 2020/11/18
- Re: master 45a1653: ; Fix last change to bibtex.el, Lars Ingebrigtsen, 2020/11/24
- Re: master 45a1653: ; Fix last change to bibtex.el, Eli Zaretskii, 2020/11/24
- Re: master 45a1653: ; Fix last change to bibtex.el, Basil L. Contovounesios, 2020/11/24
- Re: master 45a1653: ; Fix last change to bibtex.el, Eli Zaretskii, 2020/11/24
- Re: master 45a1653: ; Fix last change to bibtex.el, Eli Zaretskii, 2020/11/24
- Re: master 45a1653: ; Fix last change to bibtex.el, Eli Zaretskii, 2020/11/24