GNU bug report logs - #18950
24.4.51; Wrong type argument: stringp on completing an asterisk in eshell with pcomplete-cycle-completions disabled

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dgutov <at> yandex.ru>

Date: Wed, 5 Nov 2014 05:29:01 UTC

Severity: normal

Found in version 24.4.51

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#18950: closed (24.4.51; Wrong type argument: stringp on
 completing an asterisk in eshell with pcomplete-cycle-completions
 disabled)
Date: Fri, 16 Jan 2015 02:38:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 16 Jan 2015 05:36:57 +0300
with message-id <54B87949.4040402 <at> yandex.ru>
and subject line Re: bug#18950: [PATCH] 24.4.51; Wrong type argument: stringp on completing an asterisk in eshell with pcomplete-cycle-completions disabled
has caused the debbugs.gnu.org bug report #18950,
regarding 24.4.51; Wrong type argument: stringp on completing an asterisk in eshell with pcomplete-cycle-completions disabled
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
18950: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18950
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Dmitry Gutov <dgutov <at> yandex.ru>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.4.51;
 Wrong type argument: stringp on completing an asterisk in eshell with
 pcomplete-cycle-completions disabled
Date: Wed, 05 Nov 2014 07:27:56 +0200
1. M-x eshell
2. (setq pcomplete-cycle-completions nil)
3. Type `*', press TAB.
4. See an error, like:

Debugger entered--Lisp error: (wrong-type-argument stringp ("Anki/" "Audiobooks/" "Desktop/" "Documents/" "Downloads/" ...))
  file-name-directory(("Anki/" "Audiobooks/" "Desktop/" "Documents/" "Downloads/" ...))
  (if (file-name-directory filename) (pcomplete-executables) (if (and (> (length filename) 0) (eq (aref filename 0) eshell-explicit-command-char)) (setq filename (substring filename 1) pcomplete-stub filename glob-name t)) (let* ((paths (eshell-parse-colon-path eshell-path-env)) (cwd (file-name-as-directory (expand-file-name default-directory))) (path "") (comps-in-path nil) (file "") (filepath "") (completions nil)) (while paths (setq path (file-name-as-directory (expand-file-name (or (car paths) "."))) comps-in-path (and (file-accessible-directory-p path) (file-name-all-completions filename path))) (while comps-in-path (setq file (car comps-in-path) filepath (concat path file)) (if (and (not (member file completions)) (or (string-equal path cwd) (not ...)) (file-executable-p filepath)) (setq completions (cons file completions))) (setq comps-in-path (cdr comps-in-path))) (setq paths (cdr paths))) (pcomplete-uniqify-list (if glob-name completions (setq completions (append (and (eshell-using-module ...) (funcall ... filename)) (eshell-winnow-list (mapcar ... ...) nil (quote ...)) completions)) (append (and (or eshell-show-lisp-completions (and eshell-show-lisp-alternatives ...)) (all-completions filename obarray (quote functionp))) completions)))))
  (let ((filename (pcomplete-arg)) glob-name) (if (file-name-directory filename) (pcomplete-executables) (if (and (> (length filename) 0) (eq (aref filename 0) eshell-explicit-command-char)) (setq filename (substring filename 1) pcomplete-stub filename glob-name t)) (let* ((paths (eshell-parse-colon-path eshell-path-env)) (cwd (file-name-as-directory (expand-file-name default-directory))) (path "") (comps-in-path nil) (file "") (filepath "") (completions nil)) (while paths (setq path (file-name-as-directory (expand-file-name (or ... "."))) comps-in-path (and (file-accessible-directory-p path) (file-name-all-completions filename path))) (while comps-in-path (setq file (car comps-in-path) filepath (concat path file)) (if (and (not ...) (or ... ...) (file-executable-p filepath)) (setq completions (cons file completions))) (setq comps-in-path (cdr comps-in-path))) (setq paths (cdr paths))) (pcomplete-uniqify-list (if glob-name completions (setq completions (append (and ... ...) (eshell-winnow-list ... nil ...) completions)) (append (and (or eshell-show-lisp-completions ...) (all-completions filename obarray ...)) completions))))))
  eshell-complete-commands-list()
  ...

5. (setq pcomplete-cycle-completions t) -> and it works fine again.

In GNU Emacs 24.4.51.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
 of 2014-11-03 on axl
Repository revision: 117658 michael.albinus <at> gmx.de-20141102112256-548dk6al63uy76uh
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:	Ubuntu 14.04.1 LTS


[Message part 3 (message/rfc822, inline)]
From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>,
 samer <samer <at> samertm.com>
Cc: 18950-done <at> debbugs.gnu.org
Subject: Re: bug#18950: [PATCH] 24.4.51; Wrong type argument: stringp
 on completing an asterisk in eshell with pcomplete-cycle-completions
 disabled
Date: Fri, 16 Jan 2015 05:36:57 +0300
On 01/15/2015 06:06 PM, Stefan Monnier wrote:
>> -	(if (and pcomplete-cycle-completions
>> -		 (listp pcomplete-stub) ;??
>> +	(if (and (listp pcomplete-stub) ;??
>
> I haven't had time to look more closely at the bug and the code, but
> if this indeed works, then it looks like a good change.

It does. Installed and marked as "tiny change".

Thanks, Samer!


This bug report was last modified 10 years and 213 days ago.

Previous Next


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