--- Begin Message ---
Subject: |
BibTeX mode problems: non-existent directories, faulty regexp-opt |
Date: |
Fri, 11 Dec 2009 22:40:14 -0800 (PST) |
bibtex.el uses regexp-opt, which introduces new capturing parentheses that
throw off variables like bibtex-type-in-head, which is a regexp
subexpression number. (Really, regexp-opt should be rewritten to only use
non-capturing parentheses!)
The below patch corrects the problem.
-Michael Ernst
My patches are against:
GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.18.3) of 2009-11-10 on
vernadsky, modified by Debian
but the problem also exists in the Emacs CVS repository.
ChangeLog entry:
2009-12-11 Michael Ernst <address@hidden>
* bibtex.el (bibtex-entry-type): Remove regexp-opt, which throws
off regexp subexpression numbering.
diff -u /home/mernst/emacs/fixes/bibtex.el-orig
/home/mernst/emacs/fixes/bibtex.el
--- /home/mernst/emacs/fixes/bibtex.el-orig 2009-12-11 22:13:59.000000000
-0800
+++ /home/mernst/emacs/fixes/bibtex.el 2009-12-11 22:15:28.000000000 -0800
@@ -1219,7 +1219,7 @@
(defvar bibtex-entry-type
(concat "@[ \t]*\\(?:"
- (regexp-opt (mapcar 'car bibtex-entry-field-alist)) "\\)")
+ (mapconcat 'car bibtex-entry-field-alist "\\|") "\\)")
"Regexp matching the type of a BibTeX entry.")
(defvar bibtex-entry-head
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#5189: BibTeX mode problems: non-existent directories, faulty regexp-opt |
Date: |
Sat, 09 Jul 2011 21:31:52 -0400 |
User-agent: |
Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) |
This bug is being closed because it could not be reproduced and there
was no response to a request for more information.
If you reply with the requested information it can be reopened.
You can view the whole report at http://debbugs.gnu.org/BUGNUMBER
"Roland Winkler" wrote:
> I cannot reproduce this. For me, regexp-opt does give "shy group"
> constructs \(?: ... \) that work fine with subexpression numbers
> like bibtex-type-in-head. Can you give a more specific test case
> based on emacs --no-init-file that gives you incorrect behavior?
> It appears to me that you might load some code that redefines
> regexp-opt before loading bibtex-mode.
>
> Also the subject line of your report mentions "non-existent
> directories". Can you be more specific?
--- End Message ---