+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).
'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)
+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
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))