]> git.eshelyaron.com Git - emacs.git/commitdiff
Ensure `bibtex-set-dialect' is executed in bibtex buffers
authorGrégoire Jadi <gregoire.jadi@univ-nantes.fr>
Wed, 19 Aug 2020 13:36:08 +0000 (15:36 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Wed, 19 Aug 2020 13:36:08 +0000 (15:36 +0200)
* lisp/textmodes/bibtex.el (bibtex-mode): Call `bibtex-set-dialect'.
* test/automated/bibtex-tests.el: Add regression tests (bug#21764).

lisp/textmodes/bibtex.el
test/lisp/textmodes/bibtex-tests.el [new file with mode: 0644]

index 0018b89d8587a600cd7ae5849bcd4837b6dbc927..910bd7dbb9d548ad184261f091ad02d7a90b2b33 100644 (file)
@@ -3445,6 +3445,7 @@ if that value is non-nil.
   (set (make-local-variable 'syntax-propertize-function)
        (syntax-propertize-via-font-lock
         bibtex-font-lock-syntactic-keywords))
+  (bibtex-set-dialect nil t)
   ;; Allow `bibtex-dialect' as a file-local variable.
   (add-hook 'hack-local-variables-hook #'bibtex-set-dialect nil t))
 
diff --git a/test/lisp/textmodes/bibtex-tests.el b/test/lisp/textmodes/bibtex-tests.el
new file mode 100644 (file)
index 0000000..b3858de
--- /dev/null
@@ -0,0 +1,57 @@
+;;; bibtex-tests.el --- Test suite for bibtex.
+
+;; Copyright (C) 2013-2020 Free Software Foundation, Inc.
+
+;; Keywords: bibtex
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'ert)
+(require 'bibtex)
+
+(ert-deftest bibtex-test-set-dialect ()
+  "Tests if `bibtex-set-dialect' is executed."
+  (with-temp-buffer
+    (insert "@article{someID,
+  author = {some author},
+  title = {some title},
+}")
+    (bibtex-mode)
+    (should-not (null bibtex-dialect))
+    (should-not (null bibtex-entry-type))
+    (should-not (null bibtex-entry-head))
+    (should-not (null bibtex-reference-key))
+    (should-not (null bibtex-entry-head))
+    (should-not (null bibtex-entry-maybe-empty-head))
+    (should-not (null bibtex-any-valid-entry-type))))
+
+(ert-deftest bibtex-test-parse-buffers-stealthily ()
+  "Tests if `bibtex-parse-buffers-stealthily' can be executed."
+  (with-temp-buffer
+    (insert "@article{someID,
+  author = {some author},
+  title = {some title},
+}")
+    (bibtex-mode)
+    (should (progn (bibtex-parse-buffers-stealthily) t))))
+
+(provide 'bibtex-tests)
+
+;;; bibtex-tests.el ends here