]> 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:36:17 +0000 (10:36 +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.

lisp/ChangeLog
lisp/textmodes/reftex.el

index eb6ef6b19d25ff25ddf33302c4499d8c0cf19f77..90681c806565693a96acc94889b3419794755d8d 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 160d9fb4cdf1f776c7aa44a955177a66ffd9268f..7cf54c6d28a2ddf12049610652981f984ecef3e1 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.
@@ -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