Subject: Re: bug#5303: 23.1.91; Cannot load .emacs-history from savehist.el

From: Michael Albinus <[email-masked]>
Date: Wed, 20 Jan 2010 11:50:29 +0100

Eli Zaretskii <[email-masked]> writes:

>> ! 	  handler = Ffind_file_name_handler (string,
>> ! 					     NILP (Vinhibit_file_name_operation)
>> ! 					     ? Qfile_exists_p
>> ! 					     : Vinhibit_file_name_operation);
>
> But this assumes that `openp is called for the same file op for which
> the value inhibit-file-name-operation was set, doesn't it?  I'm not
> sure such an assumption is safe: `openp' is a very popular utility
> function, it is called by many Lisp APIs, and could very well be
> called by some primitive that has nothing to do with
> inhibit-file-name-operation's value.

Then one could set Vinhibit_file_name_operation to Qfile_exists_p in
Fload, before calling openp. Temporarily, of course.

>> > Tramp inhibits the file name handler of `load'. `openp' checks for a
>> > file name handler of `file-exists-p', which is not inhibited.
>
> Let me turn the table and ask you: why doesn't Tramp inhibit _all_ its
> file name handlers in this case?  IIUC, what we want here is to have
> `load' do its thing with a local file.  So which other handlers could
> we want to be active in this case?

`jka-compr-handler', `epa-file-handler' for example. Imagine, you want
to load "C:/this_file.gz" or "C:/this_file.gpg".