emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/files.el


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/files.el
Date: Tue, 10 May 2005 05:08:29 -0400

Index: emacs/lisp/files.el
diff -c emacs/lisp/files.el:1.764 emacs/lisp/files.el:1.765
*** emacs/lisp/files.el:1.764   Fri May  6 13:08:15 2005
--- emacs/lisp/files.el Tue May 10 09:08:28 2005
***************
*** 541,549 ****
  the value of `default-directory'."
    (unless dir
      (setq dir default-directory))
-   (unless default-dirname
-     (setq default-dirname
-         (if initial (concat dir initial) default-directory)))
    (read-file-name prompt dir (or default-dirname 
                                 (if initial (expand-file-name initial dir)
                                   dir))
--- 541,546 ----
***************
*** 2147,2152 ****
--- 2144,2169 ----
         (goto-char beg)
         end))))
  
+ (defun hack-local-variables-confirm ()
+   (or (eq enable-local-variables t)
+       (and enable-local-variables
+          (save-window-excursion
+            (condition-case nil
+                (switch-to-buffer (current-buffer))
+              (error
+               ;; If we fail to switch in the selected window,
+               ;; it is probably a minibuffer or dedicated window.
+               ;; So try another window.
+               (let ((pop-up-frames nil))
+                 ;; Refrain from popping up frames since it can't
+                 ;; be undone by save-window-excursion.
+                 (pop-to-buffer (current-buffer)))))
+            (save-excursion
+              (beginning-of-line)
+              (set-window-start (selected-window) (point)))
+            (y-or-n-p (format "Set local variables as specified in -*- line of 
%s? "
+                              (file-name-nondirectory buffer-file-name)))))))
+ 
  (defun hack-local-variables-prop-line (&optional mode-only)
    "Set local variables specified in the -*- line.
  Ignore any specification for `mode:' and `coding:';
***************
*** 2201,2221 ****
        (if mode-only mode-specified
        (if (and result
                 (or mode-only
!                    (eq enable-local-variables t)
!                    (and enable-local-variables
!                         (save-window-excursion
!                           (condition-case nil
!                               (switch-to-buffer (current-buffer))
!                             (error
!                              ;; If we fail to switch in the selected window,
!                              ;; it is probably a minibuffer.
!                              ;; So try another window.
!                              (condition-case nil
!                                  (switch-to-buffer-other-window 
(current-buffer))
!                                (error
!                                 (switch-to-buffer-other-frame 
(current-buffer))))))
!                           (y-or-n-p (format "Set local variables as specified 
in -*- line of %s? "
!                                             (file-name-nondirectory 
buffer-file-name)))))))
            (let ((enable-local-eval enable-local-eval))
              (while result
                (hack-one-local-variable (car (car result)) (cdr (car result)))
--- 2218,2224 ----
        (if mode-only mode-specified
        (if (and result
                 (or mode-only
!                    (hack-local-variables-confirm)))
            (let ((enable-local-eval enable-local-eval))
              (while result
                (hack-one-local-variable (car (car result)) (cdr (car result)))
***************
*** 2244,2263 ****
        (search-backward "\n\^L" (max (- (point-max) 3000) (point-min)) 'move)
        (when (let ((case-fold-search t))
              (and (search-forward "Local Variables:" nil t)
!                  (or (eq enable-local-variables t)
!                      mode-only
!                      (and enable-local-variables
!                           (save-window-excursion
!                             (switch-to-buffer (current-buffer))
!                             (save-excursion
!                               (beginning-of-line)
!                               (set-window-start (selected-window) (point)))
!                             (y-or-n-p (format "Set local variables as 
specified at end of %s? "
!                                               (if buffer-file-name
!                                                   (file-name-nondirectory
!                                                    buffer-file-name)
!                                                 (concat "buffer "
!                                                         (buffer-name))))))))))
        (skip-chars-forward " \t")
        (let ((enable-local-eval enable-local-eval)
              ;; suffix is what comes after "local variables:" in its line.
--- 2247,2254 ----
        (search-backward "\n\^L" (max (- (point-max) 3000) (point-min)) 'move)
        (when (let ((case-fold-search t))
              (and (search-forward "Local Variables:" nil t)
!                  (or mode-only
!                      (hack-local-variables-confirm))))
        (skip-chars-forward " \t")
        (let ((enable-local-eval enable-local-eval)
              ;; suffix is what comes after "local variables:" in its line.
***************
*** 2478,2495 ****
                      (hack-one-local-variable-eval-safep val))
                 ;; Permit eval if not root and user says ok.
                 (and (not (zerop (user-uid)))
!                     (or (eq enable-local-eval t)
!                         (and enable-local-eval
!                              (save-window-excursion
!                                (switch-to-buffer (current-buffer))
!                                (save-excursion
!                                  (beginning-of-line)
!                                  (set-window-start (selected-window) (point)))
!                                (setq enable-local-eval
!                                      (y-or-n-p (format "Process `eval' or 
hook local variables in %s? "
!                                                        (if buffer-file-name
!                                                            (concat "file " 
(file-name-nondirectory buffer-file-name))
!                                                          (concat "buffer " 
(buffer-name)))))))))))
             (if (eq var 'eval)
                 (save-excursion (eval val))
               (make-local-variable var)
--- 2469,2475 ----
                      (hack-one-local-variable-eval-safep val))
                 ;; Permit eval if not root and user says ok.
                 (and (not (zerop (user-uid)))
!                     (hack-local-variables-confirm)))
             (if (eq var 'eval)
                 (save-excursion (eval val))
               (make-local-variable var)




reply via email to

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