summaryrefslogtreecommitdiff
path: root/src/xdisp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xdisp.c')
-rw-r--r--src/xdisp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 6918c4360d4..2f0683294fa 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -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))