From: Eli Zaretskii Date: Sat, 12 Mar 2016 11:05:49 +0000 (+0200) Subject: Avoid errors in forms-mode when default major mode is text X-Git-Tag: emacs-25.0.93~94 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=06aad394ab3cd83de8fc407e5dfeb59aa8518557;p=emacs.git 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) --- diff --git a/lisp/forms.el b/lisp/forms.el index c141188788b..c0b48fd3b63 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)