Subject: Re: bug#67937: 30.0.50; auth-source-pass relies on epa-file being enabled

From: Michael Albinus <[email-masked]>
Date: Sat, 23 Nov 2024 13:14:58 +0100

Arsen Arsenović <[email-masked]> writes:

> Hi Michael,

Hi Arsen,

>> Trying to be more constructive: what about the appended patch? It should
>> fix the problem reported here, and it is simple.
>
> Yes, this fix is simple and is OK by me (I did mention it in an earlier
> post in this thread IIRC).  It certainly will fix the issue.

I've pushed the patch to the master branch. Keeping the bug open in
order to track your attempts finding the reason for empty file-name-handler-alist.

> To debug the underlying issue, do you have any tips on how I could catch
> file-name-handler-alist becoming nil?  The obvious (variable watchers)
> does not work due to frequency of change (and how many times it is
> actually totally legitimate for that variable to become nil in a
> let-binding), I fear, and I suspect I'll need to hack core sooner or
> later.  Again, it feels almost like 'let' is broken, because this
> happens outside of a let-binding context.

I would modify `debug--implement-debug-watch', this is the variable
watcher called when you use 'M-x debug-on-variable-change'. It has an
argument OP which tells the kind of operation which has triggered the
variable change, it can be one of the symbols ‘'set', 'let', 'unlet',
'makunbound', or 'defvaralias'. So the changed funtion could be

--8<---------------cut here---------------start------------->8---
(if (or inhibit-debug-on-entry debugger-jumping-flag (memq op '(let unlet)))
   nil
...
--8<---------------cut here---------------end--------------->8---

> Thanks in advance, have a lovely day.

Best regards, Michael.