emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-25 06aad39: Avoid errors in forms-mode when default


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-25 06aad39: Avoid errors in forms-mode when default major mode is text
Date: Sat, 12 Mar 2016 11:07:29 +0000

branch: emacs-25
commit 06aad394ab3cd83de8fc407e5dfeb59aa8518557
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Avoid errors in forms-mode when default major mode is text
    
    * lisp/forms.el (forms-mode): Bind
    change-major-mode-with-file-name to nil when calling
    set-visited-file-name.  (Bug#22982)
---
 lisp/forms.el |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/lisp/forms.el b/lisp/forms.el
index c141188..c0b48fd 100644
--- a/lisp/forms.el
+++ b/lisp/forms.el
@@ -589,7 +589,14 @@ Commands:                        Equivalent keys in 
read-only mode:
        (make-local-variable 'forms--dynamic-text)
 
        ;; Prevent accidental overwrite of the control file and auto-save.
-       (set-visited-file-name nil)
+        ;; We bind change-major-mode-with-file-name to nil to prevent
+        ;; set-visited-file-name from calling set-auto-mode, which
+        ;; might kill all local variables and set forms-file nil,
+        ;; which will then barf in find-file-noselect below.  This can
+        ;; hapen when the user sets the default major mode that is
+        ;; different from the Fundamental mode.
+        (let (change-major-mode-with-file-name)
+          (set-visited-file-name nil))
 
        ;; Prepare this buffer for further processing.
        (setq buffer-read-only nil)



reply via email to

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