GNU bug report logs - #57787
29.0.50; [PATCH] When using $VAL[INDEX] in Eshell, allow symbols as the index

Previous Next

Package: emacs;

Reported by: Jim Porter <jporterbugs <at> gmail.com>

Date: Tue, 13 Sep 2022 23:24:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.50

Done: Jim Porter <jporterbugs <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jim Porter <jporterbugs <at> gmail.com>
To: 57787 <at> debbugs.gnu.org
Subject: bug#57787: 29.0.50; [PATCH] When using $VAL[INDEX] in Eshell, allow symbols as the index
Date: Tue, 13 Sep 2022 16:23:26 -0700
[Message part 1 (text/plain, inline)]
Eshell variable expansions let you use strings as indices, which will 
treat the outer value as an alist. For example:

  (setq foo '(("a" . 1) ("b" . 2)))
  M-x eshell
  ~ $ echo $foo[a]
  1

However, if the keys in the alist are symbols, that doesn't work:

  (setq foo '((a . 1) (b . 2)))
  M-x eshell
  ~ $ echo $foo[a]
  ;; no output

Attached is a patch to fix this. Now, in the latter case, you'd type:

  ~ $ echo $foo[#'a]
  ;; or
  ~ $ echo $foo[`a]

(Note: "#'a" looks like a sharp quote to denote a function, but the # is 
just Eshell's way of escaping the following single-quote. A bare 
single-quote is the start of a string literal in Eshell.)
[0001-Allow-using-a-symbol-as-an-index-into-an-alist-in-Es.patch (text/plain, attachment)]

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

Previous Next


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