GNU bug report logs - #52794
28.0.90; Eshell: error while completing

Previous Next

Package: emacs;

Reported by: Óscar Fuentes <ofv <at> wanadoo.es>

Date: Sat, 25 Dec 2021 17:52:02 UTC

Severity: normal

Found in version 28.0.90

Done: Óscar Fuentes <ofv <at> wanadoo.es>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 52794 in the body.
You can then email your comments to 52794 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#52794; Package emacs. (Sat, 25 Dec 2021 17:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Óscar Fuentes <ofv <at> wanadoo.es>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 25 Dec 2021 17:52:02 GMT) Full text and rfc822 format available.

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

From: Óscar Fuentes <ofv <at> wanadoo.es>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.90; Eshell: error while completing
Date: Sat, 25 Dec 2021 18:50:53 +0100
emacs -Q

M-x eshell

Go to a directory with two or more files with the same prefix. The Emacs
build directory, for instance. Let's suppose the prefix is `c'.

mv c* foo[TAB]

Debugger entered--Lisp error: (wrong-type-argument stringp ("config.log" "config.log~" "config.status"))
  string-match("\\.\\.\\.+/" ("config.log" "config.log~" "config.status"))
  #f(compiled-function (arg) #<bytecode 0x18cd73f57cbbd741>)((eshell-extended-glob (eshell-convert (concat "c" "*"))))
  mapcar(#f(compiled-function (arg) #<bytecode 0x18cd73f57cbbd741>) ("mv" (eshell-extended-glob (eshell-convert (concat "c" "*"))) "l"))
  eshell-complete-parse-arguments()
  pcomplete-parse-arguments(nil)
  pcomplete-completions()
  pcomplete-completions-at-point()
  completion--capf-wrapper(pcomplete-completions-at-point all)
  run-hook-wrapped(completion--capf-wrapper pcomplete-completions-at-point all)
  completion-at-point()
  funcall-interactively(completion-at-point)
  call-interactively(completion-at-point nil nil)
  command-execute(completion-at-point)


The patch below fixes the problem, which if my analysis is correct, was
introduced by:

commit 9224a863192b1317ef307bcc76abfdfbad73b796
Author: Michalis V <mvar.40k <at> gmail.com>
Date:   Fri Aug 27 18:46:04 2021 +0200

    Fix completion of extended "..." syntax in eshell
    
    * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Expand
    "..." (bug#19626).


emacs/lisp/eshell/em-cmpl.el
@@ -380,7 +380,7 @@
                       (setq val (number-to-string val)))
                      ;; expand .../ etc that only eshell understands to
                      ;; standard ../../
-                     ((string-match "\\.\\.\\.+/" val)
+                     ((and (stringp val) (string-match "\\.\\.\\.+/" val))
                       (setq val (eshell-expand-multiple-dots val))))
                (or val "")))
 	   args)

The problem is that `val' is a list when more than one file matches the
glob, and then `string-match' errors-out.

Ok to commit in emacs-28 ?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52794; Package emacs. (Mon, 27 Dec 2021 14:51:02 GMT) Full text and rfc822 format available.

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

From: Óscar Fuentes <ofv <at> wanadoo.es>
To: 52794 <at> debbugs.gnu.org
Subject: Re: bug#52794: 28.0.90; Eshell: error while completing
Date: Mon, 27 Dec 2021 15:50:04 +0100
Ping.

> Ok to commit to emacs-28 ?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52794; Package emacs. (Mon, 27 Dec 2021 14:53:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Óscar Fuentes <ofv <at> wanadoo.es>
Cc: 52794 <at> debbugs.gnu.org
Subject: Re: bug#52794: 28.0.90; Eshell: error while completing
Date: Mon, 27 Dec 2021 15:52:18 +0100
Óscar Fuentes <ofv <at> wanadoo.es> writes:

> The problem is that `val' is a list when more than one file matches the
> glob, and then `string-match' errors-out.
>
> Ok to commit in emacs-28 ?

Yup.

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




Reply sent to Óscar Fuentes <ofv <at> wanadoo.es>:
You have taken responsibility. (Mon, 27 Dec 2021 15:08:02 GMT) Full text and rfc822 format available.

Notification sent to Óscar Fuentes <ofv <at> wanadoo.es>:
bug acknowledged by developer. (Mon, 27 Dec 2021 15:08:02 GMT) Full text and rfc822 format available.

Message #16 received at 52794-done <at> debbugs.gnu.org (full text, mbox):

From: Óscar Fuentes <ofv <at> wanadoo.es>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 52794-done <at> debbugs.gnu.org
Subject: Re: bug#52794: 28.0.90; Eshell: error while completing
Date: Mon, 27 Dec 2021 16:07:43 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

>> Ok to commit in emacs-28 ?
>
> Yup.

Thanks. Pushed as ea65de757766fa4cb5a090012e2f6a0aeef0b9f8.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 25 Jan 2022 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 63 days ago.

Previous Next


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