[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp/textmodes bibtex.el
From: |
Roland Winkler |
Subject: |
[Emacs-diffs] emacs/lisp/textmodes bibtex.el |
Date: |
Fri, 20 Feb 2009 04:17:56 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Roland Winkler <winkler> 09/02/20 04:17:56
Modified files:
lisp/textmodes : bibtex.el
Log message:
(bibtex-autokey-titleword-ignore): Fix regexp. bug#2385.
(bibtex-autokey-get-title): Observe case for
bibtex-autokey-titleword-ignore.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/textmodes/bibtex.el?cvsroot=emacs&r1=1.145&r2=1.146
Patches:
Index: bibtex.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/textmodes/bibtex.el,v
retrieving revision 1.145
retrieving revision 1.146
diff -u -b -r1.145 -r1.146
--- bibtex.el 14 Feb 2009 16:57:05 -0000 1.145
+++ bibtex.el 20 Feb 2009 04:17:55 -0000 1.146
@@ -746,11 +746,11 @@
(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 @@
;; 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 @@
(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))