Allow local variables section to begin with a square bracket

Fixes Bug#27391.

* lisp/international/mule.el (find-auto-coding): Fix regular
expression for "Local Variables" section.

* test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
Add unit test.
This commit is contained in:
Philipp Stephani 2017-06-16 23:49:09 +02:00
parent 5575db9216
commit c3813b2aa8
2 changed files with 40 additions and 1 deletions

View file

@ -1970,7 +1970,7 @@ use \"coding: 'raw-text\" instead."
(goto-char tail-start)
(re-search-forward "[\r\n]\^L" tail-end t)
(if (re-search-forward
"[\r\n]\\([^[\r\n]*\\)[ \t]*Local Variables:[ \t]*\\([^\r\n]*\\)[\r\n]"
"[\r\n]\\([^\r\n]*\\)[ \t]*Local Variables:[ \t]*\\([^\r\n]*\\)[\r\n]"
tail-end t)
;; The prefix is what comes before "local variables:" in its
;; line. The suffix is what comes after "local variables:"

View file

@ -0,0 +1,39 @@
;;; mule-tests.el --- unit tests for mule.el -*- lexical-binding: t; -*-
;; Copyright (C) 2017 Free Software Foundation, Inc.
;; 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:
;; Unit tests for lisp/international/mule.el.
;;; Code:
(ert-deftest find-auto-coding--bug27391 ()
"Check that Bug#27391 is fixed."
(with-temp-buffer
(insert "\n[comment]: # ( Local Variables: )\n"
"[comment]: # ( coding: utf-8 )\n"
"[comment]: # ( End: )\n")
(goto-char (point-min))
(should (equal (let ((auto-coding-alist ())
(auto-coding-regexp-alist ())
(auto-coding-functions ()))
(find-auto-coding "" (buffer-size)))
'(utf-8 . :coding)))))
;;; mule-tests.el ends here