GNU bug report logs - #7027
24.0.50; Dired error (wrong-type-arg stringp nil) with cons arg with wildcard in name

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Sun, 12 Sep 2010 22:07:02 UTC

Severity: normal

Tags: easy, moreinfo

Found in version 24.0.50

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 7027 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 7027 <at> debbugs.gnu.org
Subject: Re: bug#7027: 24.0.50; Dired error (wrong-type-arg stringp nil)
 with cons arg with wildcard in name
Date: Tue, 01 Oct 2019 21:59:37 +0200
"Drew Adams" <drew.adams <at> oracle.com> 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.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 5 years and 37 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.