(bibtex-autokey-titleword-ignore): Fix regexp. bug#2385.
(bibtex-autokey-get-title): Observe case for bibtex-autokey-titleword-ignore.
This commit is contained in:
parent
c31ee0038d
commit
6801feefec
2 changed files with 16 additions and 9 deletions
|
@ -1,3 +1,10 @@
|
|||
2009-02-20 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
|
||||
|
||||
* textmodes/bibtex.el (bibtex-autokey-titleword-ignore): Fix
|
||||
regexp (Bug#2385).
|
||||
(bibtex-autokey-get-title): Observe case for
|
||||
bibtex-autokey-titleword-ignore.
|
||||
|
||||
2009-02-20 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* server.el (server-start): Make the warning more
|
||||
|
|
|
@ -746,11 +746,11 @@ See `bibtex-generate-autokey' for details."
|
|||
|
||||
(defcustom bibtex-autokey-titleword-ignore
|
||||
'("A" "An" "On" "The" "Eine?" "Der" "Die" "Das"
|
||||
"[^[:upper:]].*" ".*[^[:upper:]0-9].*")
|
||||
"[^[:upper:]].*" ".*[^[:upper:][:lower:]0-9].*")
|
||||
"Determines words from the title that are not to be used in the key.
|
||||
Each item of the list is a regexp. If a word of the title matches a
|
||||
regexp from that list, it is not included in the title part of the key.
|
||||
See `bibtex-generate-autokey' for details."
|
||||
Case is significant. See `bibtex-generate-autokey' for details."
|
||||
:group 'bibtex-autokey
|
||||
:type '(repeat regexp))
|
||||
|
||||
|
@ -2307,6 +2307,10 @@ Return the result as a string"
|
|||
;; gather words from titlestring into a list. Ignore
|
||||
;; specific words and use only a specific amount of words.
|
||||
(let ((counter 0)
|
||||
(ignore-re (concat "\\`\\(?:"
|
||||
(mapconcat 'identity
|
||||
bibtex-autokey-titleword-ignore "\\|")
|
||||
"\\)\\'"))
|
||||
titlewords titlewords-extra word)
|
||||
(while (and (or (not (numberp bibtex-autokey-titlewords))
|
||||
(< counter (+ bibtex-autokey-titlewords
|
||||
|
@ -2315,13 +2319,9 @@ Return the result as a string"
|
|||
(setq word (match-string 0 titlestring)
|
||||
titlestring (substring titlestring (match-end 0)))
|
||||
;; Ignore words matched by one of the elements of
|
||||
;; `bibtex-autokey-titleword-ignore'
|
||||
(unless (let ((lst bibtex-autokey-titleword-ignore))
|
||||
(while (and lst
|
||||
(not (string-match (concat "\\`\\(?:" (car lst)
|
||||
"\\)\\'") word)))
|
||||
(setq lst (cdr lst)))
|
||||
lst)
|
||||
;; `bibtex-autokey-titleword-ignore'. Case is significant.
|
||||
(unless (let (case-fold-search)
|
||||
(string-match ignore-re word))
|
||||
(setq counter (1+ counter))
|
||||
(if (or (not (numberp bibtex-autokey-titlewords))
|
||||
(<= counter bibtex-autokey-titlewords))
|
||||
|
|
Loading…
Add table
Reference in a new issue