]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix issues with BibTeX entries containing ")".
authorTassilo Horn <tsdh@gnu.org>
Wed, 28 Jan 2015 09:32:50 +0000 (10:32 +0100)
committerTassilo Horn <tsdh@gnu.org>
Wed, 28 Jan 2015 09:45:06 +0000 (10:45 +0100)
* 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.

[backport from trunk]

lisp/ChangeLog
lisp/textmodes/reftex.el

index b3bedaaffa98d9402a84c9fbb090b1f5faee0bb9..2c852f9a40ae233b7ff79aca029bf2a7b859ebbb 100644 (file)
@@ -1,3 +1,11 @@
+2015-01-28  Tassilo Horn  <tsdh@gnu.org>
+
+       * 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.
+
 2015-01-26  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 
        python.el: New non-global state dependent indentation engine.
index 97dd36ae9e8915d134e91886df30e5052b1f2c85..2930b7cb811b4d7d8d4b3e47a6fdd1e2cd4366d1 100644 (file)
 (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.
@@ -295,15 +299,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