diff --git a/src/emacs.c b/src/emacs.c index 5d4f24d314b..63a94306e4e 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -2226,6 +2226,17 @@ decode_env_path (evarname, defalt) /* Add /: to the front of the name if it would otherwise be treated as magic. */ tem = Ffind_file_name_handler (element, Qt); + + /* However, if the handler says "I'm safe", + don't bother adding /:. */ + if (SYMBOLP (tem)) + { + Lisp_Object prop; + prop = Fget (tem, intern ("safe-magic")); + if (! NILP (prop)) + tem = Qnil; + } + if (! NILP (tem)) element = concat2 (build_string ("/:"), element);