mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-24 10:38:38 +00:00
Fix bug #17986 with infloop in redisplay when default-directory is nil.
src/xdisp.c (decode_mode_spec): Call file-remote-p on the current buffer's default-directory only if it is a string. lisp/bindings.el (mode-line-remote): If default-directory is not a string, don't call file-remote-p on it; instead state in the help-echo that it is nil.
This commit is contained in:
parent
fb02552638
commit
b20759f920
@ -1,3 +1,9 @@
|
||||
2014-07-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* bindings.el (mode-line-remote): If default-directory is not a
|
||||
string, don't call file-remote-p on it; instead state in the
|
||||
help-echo that it is nil. (Bug#17986)
|
||||
|
||||
2014-07-12 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix bug: C-x v v discarded existing log message (Bug#17884).
|
||||
|
@ -229,11 +229,13 @@ mnemonics of the following coding systems:
|
||||
'help-echo (purecopy (lambda (window _object _point)
|
||||
(format "%s"
|
||||
(with-selected-window window
|
||||
(concat
|
||||
(if (file-remote-p default-directory)
|
||||
"Current directory is remote: "
|
||||
"Current directory is local: ")
|
||||
default-directory)))))))
|
||||
(if (stringp default-directory)
|
||||
(concat
|
||||
(if (file-remote-p default-directory)
|
||||
"Current directory is remote: "
|
||||
"Current directory is local: ")
|
||||
default-directory)
|
||||
"Current directory is nil")))))))
|
||||
"Mode line construct to indicate a remote buffer.")
|
||||
;;;###autoload
|
||||
(put 'mode-line-remote 'risky-local-variable t)
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-07-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (decode_mode_spec): Call file-remote-p on the current
|
||||
buffer's default-directory only if it is a string. (Bug#17986)
|
||||
|
||||
2014-07-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (display_line): Don't call FETCH_BYTE with argument less
|
||||
|
@ -22907,8 +22907,12 @@ decode_mode_spec (struct window *w, register int c, int field_width,
|
||||
case '@':
|
||||
{
|
||||
ptrdiff_t count = inhibit_garbage_collection ();
|
||||
Lisp_Object val = call1 (intern ("file-remote-p"),
|
||||
BVAR (current_buffer, directory));
|
||||
Lisp_Object curdir = BVAR (current_buffer, directory);
|
||||
Lisp_Object val = Qnil;
|
||||
|
||||
if (STRINGP (curdir))
|
||||
val = call1 (intern ("file-remote-p"), curdir);
|
||||
|
||||
unbind_to (count, Qnil);
|
||||
|
||||
if (NILP (val))
|
||||
|
Loading…
Reference in New Issue
Block a user