1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-03 11:33:37 +00:00

* files.el (hack-local-variables-confirm): Don't prompt for ! if

enable-local-variables is set to always query, or there is no
	savable variable.
This commit is contained in:
Chong Yidong 2006-03-10 23:22:30 +00:00
parent 7c565097d1
commit af467e285e
2 changed files with 27 additions and 12 deletions

View File

@ -1,3 +1,9 @@
2006-03-10 Chong Yidong <cyd@stupidchicken.com>
* files.el (hack-local-variables-confirm): Don't prompt for ! if
enable-local-variables is set to always query, or there is no
savable variable.
2006-03-10 Bill Wohler <wohler@newt.com>
* image.el (image-load-path-for-library): Merge at least three

View File

@ -2349,6 +2349,7 @@ asking you for confirmation."
(let ((name (if buffer-file-name
(file-name-nondirectory buffer-file-name)
(concat "buffer " (buffer-name))))
(offer-save (and (eq enable-local-variables t) unsafe-vars))
prompt char)
(save-window-excursion
(let ((buf (get-buffer-create "*Local Variables*")))
@ -2367,9 +2368,12 @@ asking you for confirmation."
(insert "A local variables list is specified in " name ".")))
(insert "\n\nDo you want to apply it? You can type
y -- to apply the local variables list.
n -- to ignore the local variables list.
n -- to ignore the local variables list.")
(if offer-save
(insert "
! -- to apply the local variables list, and mark these values (*) as
safe (in the future, they can be set automatically.)\n\n")
(insert "\n\n"))
(dolist (elt vars)
(cond ((member elt unsafe-vars)
(insert " * "))
@ -2381,12 +2385,17 @@ n -- to ignore the local variables list.
(insert " : ")
(princ (cdr elt) buf)
(insert "\n"))
(if (< (line-number-at-pos) (window-body-height))
(setq prompt "Please type y, n, or !: ")
(goto-char (point-min))
(setq prompt "Please type y, n, or !, or C-v to scroll: "))
(setq prompt
(format "Please type %s%s: "
(if offer-save "y, n, or !" "y or n")
(if (< (line-number-at-pos) (window-body-height))
""
", or C-v to scroll")))
(goto-char (point-min))
(let ((inhibit-quit t)
(cursor-in-echo-area t)
(exit-chars
(if offer-save '(?! ?y ?n ?\s ?\C-g) '(?y ?n ?\s ?\C-g)))
done)
(while (not done)
(message prompt)
@ -2396,21 +2405,21 @@ n -- to ignore the local variables list.
(condition-case nil
(scroll-up)
(error (goto-char (point-min))))
(setq done (memq (downcase char)
'(?! ?y ?n ?\s ?\C-g))))))
(setq done (memq (downcase char) exit-chars)))))
(if (= char ?\C-g)
(setq quit-flag nil)))
(setq char (downcase char))
(when (and (= char ?!) unsafe-vars)
(when (and offer-save (= char ?!) unsafe-vars)
(dolist (elt unsafe-vars)
(add-to-list 'safe-local-variable-values elt))
;; When this is called from desktop-restore-file-buffer,
;; coding-system-for-read may be non-nil. Reset it before
;; writing to .emacs.
(let ((coding-system-for-read nil))
(customize-save-variable
'safe-local-variable-values
safe-local-variable-values)))
(if (or custom-file user-init-file)
(let ((coding-system-for-read nil))
(customize-save-variable
'safe-local-variable-values
safe-local-variable-values))))
(kill-buffer buf)
(or (= char ?!)
(= char ?\s)