]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/files.el (normal-mode): Only use default major-mode if no other mode
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 14 Apr 2013 02:55:21 +0000 (22:55 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 14 Apr 2013 02:55:21 +0000 (22:55 -0400)
was specified.

Fixes: debbugs:14089
lisp/ChangeLog
lisp/files.el

index 3d92d79fd0aef367341b0f7c09f4f53796d0cd93..b0997a307f5a82872e6994951285c7f226ee0def 100644 (file)
@@ -1,5 +1,8 @@
 2013-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * files.el (normal-mode): Only use default major-mode if no other mode
+       was specified.
+
        * emacs-lisp/trace.el (trace-values): New function.
 
        * files.el: Allow : in local variables (bug#14089).
index 6be3685c8757ffab40b90aaa2b4a7c5ed49bfd65..ce032534f047e17b96dd9b6f72c826c16a568516 100644 (file)
@@ -1986,8 +1986,7 @@ Do you want to revisit the file normally now? ")
            (set-buffer-multibyte nil)
            (setq buffer-file-coding-system 'no-conversion)
            (set-buffer-major-mode buf)
-           (make-local-variable 'find-file-literally)
-           (setq find-file-literally t))
+           (setq-local find-file-literally t))
        (after-find-file error (not nowarn)))
       (current-buffer))))
 \f
@@ -2175,7 +2174,7 @@ not set local variables (though we do notice a mode specified with -*-.)
 or from Lisp without specifying the optional argument FIND-FILE;
 in that case, this function acts as if `enable-local-variables' were t."
   (interactive)
-  (funcall (or (default-value 'major-mode) 'fundamental-mode))
+  (fundamental-mode)
   (let ((enable-local-variables (or (not find-file) enable-local-variables)))
     ;; FIXME this is less efficient than it could be, since both
     ;; s-a-m and h-l-v may parse the same regions, looking for "mode:".
@@ -2759,7 +2758,9 @@ we don't actually set it to the same mode the buffer already has."
                                          (if (functionp re)
                                              (funcall re)
                                            (looking-at re)))))))
-         (set-auto-mode-0 done keep-mode-if-same)))))
+         (set-auto-mode-0 done keep-mode-if-same)))
+    (unless done
+      (set-buffer-major-mode (current-buffer)))))
 
 ;; When `keep-mode-if-same' is set, we are working on behalf of
 ;; set-visited-file-name.  In that case, if the major mode specified is the