diff options
Diffstat (limited to 'src/xdisp.c')
-rw-r--r-- | src/xdisp.c | 8 |
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)) |