summaryrefslogtreecommitdiff
path: root/lisp/textmodes/reftex.el
diff options
context:
space:
mode:
authorTassilo Horn <tsdh@gnu.org>2015-01-28 10:32:50 +0100
committerTassilo Horn <tsdh@gnu.org>2015-01-28 10:36:17 +0100
commit8a8bd38fedb89b2d04cca2419698813a22862c3b (patch)
treece6bcc3a08d9e72fb9a6e1dc9f1c48034dd7b599 /lisp/textmodes/reftex.el
parent173ac1caac65543956ce0d72a9d6ae10b6729fa8 (diff)
downloademacs-8a8bd38fedb89b2d04cca2419698813a22862c3b.tar.gz
emacs-8a8bd38fedb89b2d04cca2419698813a22862c3b.tar.bz2
emacs-8a8bd38fedb89b2d04cca2419698813a22862c3b.zip
Fix issues with BibTeX entries containing ")".
* textmodes/reftex.el (reftex-syntax-table-for-bib): Give ( and ) punctuation syntax since to allow bibtex fields with values such as {Test 1) and 2)} (bug#19205, bug#19707). (reftex--prepare-syntax-tables): New function. (reftex-mode): Use it.
Diffstat (limited to 'lisp/textmodes/reftex.el')
-rw-r--r--lisp/textmodes/reftex.el22
1 files changed, 9 insertions, 13 deletions
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el
index 160d9fb4cdf..7cf54c6d28a 100644
--- a/lisp/textmodes/reftex.el
+++ b/lisp/textmodes/reftex.el
@@ -106,17 +106,21 @@
(defvar reftex-syntax-table nil)
(defvar reftex-syntax-table-for-bib nil)
-(unless reftex-syntax-table
+(defun reftex--prepare-syntax-tables ()
(setq reftex-syntax-table (copy-syntax-table))
(modify-syntax-entry ?\( "." reftex-syntax-table)
- (modify-syntax-entry ?\) "." reftex-syntax-table))
+ (modify-syntax-entry ?\) "." reftex-syntax-table)
-(unless reftex-syntax-table-for-bib
(setq reftex-syntax-table-for-bib (copy-syntax-table))
(modify-syntax-entry ?\' "." reftex-syntax-table-for-bib)
(modify-syntax-entry ?\" "." reftex-syntax-table-for-bib)
(modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib)
- (modify-syntax-entry ?\] "." reftex-syntax-table-for-bib))
+ (modify-syntax-entry ?\] "." reftex-syntax-table-for-bib)
+ (modify-syntax-entry ?\( "." reftex-syntax-table-for-bib)
+ (modify-syntax-entry ?\) "." reftex-syntax-table-for-bib))
+
+(unless (and reftex-syntax-table reftex-syntax-table-for-bib)
+ (reftex--prepare-syntax-tables))
;; The following definitions are out of place, but I need them here
;; to make the compilation of reftex-mode not complain.
@@ -180,15 +184,7 @@ on the menu bar.
(put 'reftex-auto-recenter-toc 'initialized t))
;; Prepare the special syntax tables.
- (setq reftex-syntax-table (copy-syntax-table (syntax-table)))
- (modify-syntax-entry ?\( "." reftex-syntax-table)
- (modify-syntax-entry ?\) "." reftex-syntax-table)
-
- (setq reftex-syntax-table-for-bib (copy-syntax-table))
- (modify-syntax-entry ?\' "." reftex-syntax-table-for-bib)
- (modify-syntax-entry ?\" "." reftex-syntax-table-for-bib)
- (modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib)
- (modify-syntax-entry ?\] "." reftex-syntax-table-for-bib)
+ (reftex--prepare-syntax-tables)
(run-hooks 'reftex-mode-hook))
;; Mode was turned off