Subject: bug#30243: 26.0.91; Infinite recursion in `make-auto-save-file-name' for quoted filenames

From: Michael Albinus <[email-masked]>
Date: Fri, 26 Jan 2018 12:01:02 +0100

Noam Postavsky <[email-masked]> writes:

Hi Noam,

> Lisp Backtrace:
> "stringp" (0xfef5b398)
> "file-name-non-special" (0xfef5bb58)
> "file-newer-than-file-p" (0xfef5bf38)
> "apply" (0xfef5c130)
> "file-name-non-special" (0xfef5c6f8)
> "file-newer-than-file-p" (0xfef5c998)
> "apply" (0xfef5cb90)
> "file-name-non-special" (0xfef5d158)
> "file-newer-than-file-p" (0xfef5d3f8)
> "apply" (0xfef5d5f0)
> "file-name-non-special" (0xfef5dbb8)
> "file-newer-than-file-p" (0xfef5de58)
> "apply" (0xfef5e050)
> [...]

Thanks! I've fixed this in filenotify.el (in fact, the underlying watch
descriptor should not use quoted file names). Patch pushed to the branch.

In my interactive test, there was also another error:

--8<---------------cut here---------------start------------->8---
F files-file-name-non-special-handlers
    (ert-test-failed
     ((should
       (equal
        (find-backup-file-name nospecial)
        (mapcar
         (lambda ... ...)
         (find-backup-file-name tmpfile))))
      :form
      (equal
       ("/:/tmp/emacsqk0Dcl~")
       ("/:/tmp/emacsqk0Dcl.~1~"))
      :value nil :explanation
      (list-elt 0
                (arrays-of-different-length 19 22 "/:/tmp/emacsqk0Dcl~" "/:/tmp/emacsqk0Dcl.~1~" first-mismatch-at 18))))
--8<---------------cut here---------------end--------------->8---

I guess, it is because I have set `version-control' to t in my .emacs
(not investigated further).

Best regards, Michael.