[Top][All Lists]
[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)
- [Emacs-diffs] Changes to emacs/lisp/files.el, Richard M . Stallman, 2005/05/01
- [Emacs-diffs] Changes to emacs/lisp/files.el, Luc Teirlinck, 2005/05/01
- [Emacs-diffs] Changes to emacs/lisp/files.el, Eli Zaretskii, 2005/05/06
- [Emacs-diffs] Changes to emacs/lisp/files.el,
Richard M . Stallman <=
- [Emacs-diffs] Changes to emacs/lisp/files.el, Stefan Monnier, 2005/05/11
- [Emacs-diffs] Changes to emacs/lisp/files.el, Luc Teirlinck, 2005/05/12
- [Emacs-diffs] Changes to emacs/lisp/files.el, Daniel Pfeiffer, 2005/05/13
- [Emacs-diffs] Changes to emacs/lisp/files.el, Luc Teirlinck, 2005/05/13
- [Emacs-diffs] Changes to emacs/lisp/files.el, Luc Teirlinck, 2005/05/14
- [Emacs-diffs] Changes to emacs/lisp/files.el, Juanma Barranquero, 2005/05/17
- [Emacs-diffs] Changes to emacs/lisp/files.el, Daniel Pfeiffer, 2005/05/20
- [Emacs-diffs] Changes to emacs/lisp/files.el, Stefan Monnier, 2005/05/31