emacs-diffs
[Top][All Lists]
Advanced

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

master bdec9da: Allow `tex-buffer' to work on buffers not visiting files


From: Lars Ingebrigtsen
Subject: master bdec9da: Allow `tex-buffer' to work on buffers not visiting files
Date: Wed, 11 Aug 2021 15:26:36 -0400 (EDT)

branch: master
commit bdec9daf57a72dc48a70ae1600b3f331531c229b
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Allow `tex-buffer' to work on buffers not visiting files
    
    * lisp/textmodes/tex-mode.el (tex-region): Make `tex-buffer' work
    again on unsaved files (bug#34082).
---
 lisp/textmodes/tex-mode.el | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 5169377..51216bd 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -2533,7 +2533,10 @@ The value of `tex-command' specifies the command to use 
to run TeX."
           (file-name-as-directory (expand-file-name tex-directory)))
          (tex-out-file (expand-file-name (concat tex-zap-file ".tex")
                                         zap-directory))
-        (main-file (expand-file-name (tex-main-file)))
+         ;; We may be running from an unsaved buffer, in which case
+         ;; there's no point in guessing for a main file name.
+        (main-file (and buffer-file-name
+                         (expand-file-name (tex-main-file))))
         (ismain (string-equal main-file (buffer-file-name)))
         already-output)
     ;; Don't delete temp files if we do the same buffer twice in a row.
@@ -2542,9 +2545,11 @@ The value of `tex-command' specifies the command to use 
to run TeX."
     (let ((default-directory zap-directory)) ; why?
       ;; We assume the header is fully contained in tex-main-file.
       ;; We use f-f-ns so we get prompted about any changes on disk.
-      (with-current-buffer (find-file-noselect main-file)
-       (setq already-output (tex-region-header tex-out-file
-                                               (and ismain beg))))
+      (if (not main-file)
+          (setq already-output 0)
+        (with-current-buffer (find-file-noselect main-file)
+         (setq already-output (tex-region-header tex-out-file
+                                                 (and ismain beg)))))
       ;; Write out the specified region (but don't repeat anything
       ;; already written in the header).
       (write-region (if ismain



reply via email to

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