Tim Ruffing <d...@real-or-random.org> writes:

>> IIUC, `latexenc-find-file-coding-system' isn't prepared to deal with
>> `TeX-master' set to a string top-level.  My change above adds that.
>
> I've tested this, and this works in this specific case.

Arne, we have a bug report for AUCTeX where I found that the function
`latexenc-find-file-coding-system' can't deal with `TeX-master' or
`tex-main-file' set to a constant string in the init file and not as
file local variable.  I'm not really familiar with your code, but the
following small change is reported to fix the issue, at least for
AUCTeX:

--8<---------------cut here---------------start------------->8---
diff --git a/lisp/international/latexenc.el b/lisp/international/latexenc.el
index 1b735810ee4..b7b022e68c4 100644
--- a/lisp/international/latexenc.el
+++ b/lisp/international/latexenc.el
@@ -144,17 +144,26 @@ latexenc-find-file-coding-system
                                       (file-name-directory (nth 1 arg-list))
                                     default-directory))
                latexenc-main-file)
-            ;; Is there a TeX-master or tex-main-file in the local variables
-            ;; section?
+            ;; Is there a TeX-master or tex-main-file in the local
+            ;; variables section or is it globally set to a constant
+            ;; string?
             (unless latexenc-dont-use-TeX-master-flag
               (goto-char (point-max))
              (search-backward "\n\^L" (max (- (point-max) 3000) (point-min))
                                'move)
              (search-forward "Local Variables:" nil t)
-              (when (re-search-forward
-                     "^%+ *\\(TeX-master\\|tex-main-file\\): *\"\\(.+\\)\""
-                     nil t)
-                (let ((file (match-string 2)))
+              (when (or (re-search-forward
+                         "^%+ *\\(TeX-master\\|tex-main-file\\): *\"\\(.+\\)\""
+                         nil t)
+                        (and (bound-and-true-p 'TeX-master)
+                             (stringp (default-value 'TeX-master)))
+                        (and (bound-and-true-p 'tex-main-file)
+                             (stringp (default-value 'tex-main-file))))
+                (let ((file (or (match-string 2)
+                                (and (boundp 'TeX-master)
+                                     (default-value 'TeX-master))
+                                (and (boundp 'tex-main-file)
+                                     (default-value 'tex-main-file)))))
                   (dolist (ext `("" ,(if (boundp 'TeX-default-extension)
                                          (concat "." TeX-default-extension)
                                        "")
@@ -180,7 +189,7 @@ latexenc-find-file-coding-system
                   (coding-system-base   ;Disregard the EOL part of the CS.
                    (with-current-buffer latexenc-main-buffer
                      (or coding-system-for-write buffer-file-coding-system
-                        'undecided))))
+                        'undecided))))
               'undecided))))
     'undecided))
--8<---------------cut here---------------end--------------->8---

Do you have any comments on this?

@Stefan: FYI, I'm not familiar with tex-mode.el and what `tex-main-file'
does, maybe you can review the change above for tex-mode.el.  TIA.

Best, Arash



_______________________________________________
bug-auctex mailing list
bug-auctex@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-auctex
  • bug#78841:... Tim Ruffing
    • bug#7... Arash Esbati
      • b... Tim Ruffing
        • ... Tim Ruffing
          • ... Tim Ruffing
          • ... Arash Esbati
            • ... Tim Ruffing
              • ... Arash Esbati
                • ... Tim Ruffing
                • ... Arash Esbati
                • ... Arash Esbati
                • ... Arash Esbati
                • ... Stefan Monnier via bug-auctex via Bug reporting list for AUCTeX
                • ... Arash Esbati
                • ... Tim Ruffing
                • ... Arash Esbati
                • ... Tim Ruffing
                • ... Arash Esbati
                • ... Tim Ruffing
                • ... Paul D. Nelson
                • ... Arash Esbati

Reply via email to