Commit d207b766 authored by Richard M. Stallman's avatar Richard M. Stallman

*** empty log message ***

parent fd7b67ea
......@@ -171,11 +171,14 @@ nil means they are ignored; anything else means query.
The command \\[normal-mode] always obeys local-variables lists
and ignores this variable.")
(defconst ignore-local-eval nil
"*Non-nil means ignore the \"variable\" `eval' in a file's local variables.
This applies when the local-variables list is scanned automatically
after you find a file. If you explicitly request such a scan with
\\[normal-mode], there is no query, regardless of this variable.")
(defconst enable-local-eval nil
"*Control processing of the \"variable\" `eval' in a file's local variables.
The value can be t, nil or something else.
A value of t means obey `eval' variables;
nil means ignore them; anything else means query.
The command \\[normal-mode] always obeys local-variables lists
and ignores this variable.")
;; Avoid losing in versions where CLASH_DETECTION is disabled.
(or (fboundp 'lock-buffer)
......@@ -644,10 +647,18 @@ for current buffer."
(funcall (intern (concat (downcase (symbol-name val))
"-mode"))))
((eq var 'eval)
(if (or ignore-local-eval
(string= (user-login-name) "root"))
(message "Ignoring `eval:' in file's local variables")
(save-excursion (eval val))))
(if (and (not (string= (user-login-name) "root"))
(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)))
(y-or-n-p (format "Process `eval' local variable in file %s? "
(file-name-nondirectory buffer-file-name)))))))
(save-excursion (eval val))
(message "Ignoring `eval:' in file's local variables")))
(t (make-local-variable var)
(set var val))))))))))
......
......@@ -540,12 +540,13 @@ See also `set-window-buffer-dedicated'.")
return decode_window (window)->dedicated;
}
DEFUN ("set-window-buffer-dedicated", Fset_window_buffer_dedicated,
Sset_window_buffer_dedicated, 2, 2, 0,
"Make WINDOW display BUFFER and be dedicated to that buffer.\n\
Then Emacs will not automatically change which buffer appears in WINDOW.\n\
If BUFFER is nil, make WINDOW not be dedicated (but don't change which\n\
buffer appears in it currently).")
DEFUN ("set-window-dedicated-p", Fset_window_dedicated_p,
Sset_window_dedicated_p, 2, 2, 0,
"Control whether WINDOW is dedicated to the buffer it displays.\n\
If it is dedicated, Emacs will not automatically change\n\
which buffer appears in it.\n\
The second argument is the new value for the dedication flag;\n\
non-nil means yes.")
(window, arg)
Lisp_Object window, arg;
{
......@@ -554,10 +555,7 @@ buffer appears in it currently).")
if (NILP (arg))
w->dedicated = Qnil;
else
{
Fset_window_buffer (window, Fget_buffer_create (arg));
w->dedicated = Qt;
}
return w->dedicated;
}
......@@ -2752,7 +2750,7 @@ If there is only one window, it is split regardless of this value.");
defsubr (&Sset_window_point);
defsubr (&Sset_window_start);
defsubr (&Swindow_dedicated_p);
defsubr (&Sset_window_buffer_dedicated);
defsubr (&Sset_window_dedicated_p);
defsubr (&Swindow_display_table);
defsubr (&Sset_window_display_table);
defsubr (&Snext_window);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment