auctex-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[AUCTeX-diffs] [elpa] externals/auctex db3fcb9 32/36: * tex.el (TeX-add-


From: Tassilo Horn
Subject: [AUCTeX-diffs] [elpa] externals/auctex db3fcb9 32/36: * tex.el (TeX-add-local-master): Inherit major mode from master file.
Date: Thu, 22 Dec 2016 13:08:13 +0000 (UTC)

branch: externals/auctex
commit db3fcb96aaa768a1b851a00d9254d7135c832251
Author: Mosè Giordano <address@hidden>
Commit: Mosè Giordano <address@hidden>

    * tex.el (TeX-add-local-master): Inherit major mode from master file.
---
 tex.el |   27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/tex.el b/tex.el
index e192899..1b5f2cb 100644
--- a/tex.el
+++ b/tex.el
@@ -2513,7 +2513,9 @@ name of master file if it cannot be determined otherwise."
           (file-name-directory buffer-file-name)))))))
 
 (defun TeX-add-local-master ()
-  "Add local variable for `TeX-master'."
+  "Add local variable for `TeX-master'.
+
+Get `major-mode' from master file and enable it."
   (when (and (buffer-file-name)
             (string-match TeX-one-master
                           (file-name-nondirectory (buffer-file-name)))
@@ -2526,20 +2528,27 @@ name of master file if it cannot be determined 
otherwise."
                                                   "End:")))
          (beginning-of-line 1)
          (insert prefix "TeX-master: " (prin1-to-string TeX-master) "
"))
-      (let ((comment-prefix (cond ((eq major-mode 'texinfo-mode) "@c ")
-                                 ((eq major-mode 'doctex-mode) "% ")
-                                 (t "%%% ")))
-           (mode (concat (and (boundp 'japanese-TeX-mode) japanese-TeX-mode
-                              "japanese-")
-                         (substring (symbol-name major-mode) 0 -5))))
+      (let* ((mode (if (stringp TeX-master)
+                      (with-current-buffer
+                          (find-file-noselect
+                           (TeX-master-file TeX-default-extension))
+                        major-mode)
+                    major-mode))
+            (comment-prefix (cond ((eq mode 'texinfo-mode) "@c ")
+                                  ((eq mode 'doctex-mode) "% ")
+                                  (t "%%% ")))
+            (mode-string (concat (and (boundp 'japanese-TeX-mode) 
japanese-TeX-mode
+                                      "japanese-")
+                                 (substring (symbol-name mode) 0 -5))))
        (newline)
        (when (eq major-mode 'doctex-mode)
          (insert comment-prefix TeX-esc "endinput
"))
        (insert
         comment-prefix "Local Variables:
"
-        comment-prefix "mode: " mode "
"
+        comment-prefix "mode: " mode-string "
"
         comment-prefix "TeX-master: " (prin1-to-string TeX-master) "
"
-        comment-prefix "End:
")))))
+        comment-prefix "End:
")
+       (funcall mode)))))
 
 (defun TeX-local-master-p ()
   "Return non-nil if there is a `TeX-master' entry in local variables spec.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]