Subject: Re: bug#7027: 24.0.50; Dired error (wrong-type-arg stringp nil) with cons arg with wildcard in name
From: Stefan Kangas <[email-masked]>
To: Lars Ingebrigtsen <[email-masked]>
Cc: [email-masked], Drew Adams <[email-masked]>
Date: Fri, 17 Apr 2020 12:22:25 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Lars Ingebrigtsen <[email-masked]> writes:

> "Drew Adams" <[email-masked]> writes:
>
>> Eval this: (dired '("TTTT" "111.el" "b*.el")), assuming there is a file
>> 111.el and some file matching b*.el (but no file with name "b*.el",
>> i.e. with a literal `*' in the name).
>>
>> You get this error: (wrong-type-argument stringp nil)
>
> Can you post the backtrace?
>
> [...]
>
>> This gets eval'd (where the ^@ is really a control char):
>>
>> (ls-lisp-insert-directory nil (97 108) nil "\\`b[^^@]*\\.el\\'" nil)
>>
>> That happens because of this call:
>>
>> (insert-directory "b*.el" "-al" nil nil)
>>
>> which calls (string-match "[[?*]" "b*.el") returning 1 (non-nil).
>>
>> (file-exists-p "b*.el") then returns nil,
>> and (wildcard-to-regexp "b*.el") returns the regexp shown above.
>
> I tried reproducing with
>
> (ls-lisp-insert-directory nil '(97 108) nil (wildcard-to-regexp "b*.el") nil)
>
> but that fails with a different error since FILE can't be nil.

More information was requested, but none was given within 28 weeks, so
I'm closing this bug.  If this is still an issue, please reply to this
email (use "Reply to all" in your email client) and we can reopen the
bug report.

Best regards,
Stefan Kangas