From unknown Sat Sep 13 01:26:55 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#18960 <18960@debbugs.gnu.org> To: bug#18960 <18960@debbugs.gnu.org> Subject: Status: 24.4; Eshell history substitution causes error Reply-To: bug#18960 <18960@debbugs.gnu.org> Date: Sat, 13 Sep 2025 08:26:55 +0000 retitle 18960 24.4; Eshell history substitution causes error reassign 18960 emacs submitter 18960 Emanuel Evans severity 18960 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 05 14:45:48 2014 Received: (at submit) by debbugs.gnu.org; 5 Nov 2014 19:45:48 +0000 Received: from localhost ([127.0.0.1]:50391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xm6WZ-0007sR-24 for submit@debbugs.gnu.org; Wed, 05 Nov 2014 14:45:47 -0500 Received: from eggs.gnu.org ([208.118.235.92]:42095) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xm6WS-0007s2-6Y for submit@debbugs.gnu.org; Wed, 05 Nov 2014 14:45:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xm6WI-0007Pn-Tu for submit@debbugs.gnu.org; Wed, 05 Nov 2014 14:45:39 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:51442) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xm6WI-0007Pi-Jv for submit@debbugs.gnu.org; Wed, 05 Nov 2014 14:45:30 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43757) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xm6W9-0000gN-DG for bug-gnu-emacs@gnu.org; Wed, 05 Nov 2014 14:45:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xm6W0-0007GR-A0 for bug-gnu-emacs@gnu.org; Wed, 05 Nov 2014 14:45:21 -0500 Received: from mail-pd0-x22d.google.com ([2607:f8b0:400e:c02::22d]:34837) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xm6Vz-0007GF-Un for bug-gnu-emacs@gnu.org; Wed, 05 Nov 2014 14:45:12 -0500 Received: by mail-pd0-f173.google.com with SMTP id v10so1363189pde.4 for ; Wed, 05 Nov 2014 11:45:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=vi6AXwhd5eQAN9BK/sGe8LPHZvxBAKTPEviOCsTV7QU=; b=rlw6ejzMjTIm7JPhDo7rTkc3+CfbsWiCmha0wa7R/8k23HDaXvnrfJd2heed/3639w 3vre30vW8dK07W0OxyM9tmRO9VcbS0orgnI153LC1P0gIbhHKZsMtXLcE8wY48AWYSsC TyAK01IaqTp/4DrhGmFnfegpYS26PBdgtpzgAQ4/QfJ9VLFGAl9DS0smVR5B3U7HVhoB auNh+2NZk7Wm2friHiGL+BWxBphkpkLlGKa2sV2mGImW3QWSkJhfLp2FBOiJ9BSuMrsQ gaRQJp3y7dAAPs2SpbBG1JP4L9sfRGKj6nrw184B5huzN1+T7EjLA+CTHFYvxm0Gv6fp ONGg== X-Received: by 10.66.120.49 with SMTP id kz17mr7682930pab.71.1415216710672; Wed, 05 Nov 2014 11:45:10 -0800 (PST) Received: from localhost (c-71-202-127-227.hsd1.ca.comcast.net. [71.202.127.227]) by mx.google.com with ESMTPSA id ml5sm3943315pab.32.2014.11.05.11.45.09 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Nov 2014 11:45:10 -0800 (PST) From: Emanuel Evans To: bug-gnu-emacs@gnu.org Subject: 24.4; Eshell history substitution causes error Date: Wed, 05 Nov 2014 11:45:07 -0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) I'm not entirely sure whether history substitution in Eshell is a supported feature, but attempting to use it leads to an error. Steps to reproduce (from emacs -Q, with debug-on-error set to t): 1. M-x eshell 2. cd / 3. ls bin 4. ^bin^usr Expected result: output of "ls usr" Actual result: stacktrace: Debugger entered--Lisp error: (wrong-type-argument stringp 108) string-match("bin" 108) (if (string-match "bin" str) (setq str (replace-match "usr" t nil str))) (lambda (str) (if (string-match "bin" str) (setq str (replace-match "usr" t nil str))) str)(108) mapcar((lambda (str) (if (string-match "bin" str) (setq str (replace-match "usr" t nil str))) str) "lsbin") (lambda (lst) (mapcar (function (lambda (str) (if (string-match "bin" str) (setq str (replace-match "usr" t nil str))) str)) lst))("lsbin") eshell-hist-parse-modifier("lsbin" ":s/bin/usr/") eshell-history-reference("^bin^usr") eshell-expand-history-references(# 785) run-hook-with-args(eshell-expand-history-references # 785) #[0 "\300\304 `S\"\240\210\305\306 `S#\210\307 `S\"\211\205?.\310 !\210\300\304\n S\"\240\210\311\312!\210\313\314\315\316\317\320\321\300.\"\322\"\323\324%D\215\205?.\325 \207" [("^bin^usr") eshell-last-output-end eshell-last-input-start eshell-last-input-end buffer-substring-no-properties run-hook-with-args eshell-expand-input-functions eshell-parse-command-input eshell-update-markers run-hooks eshell-input-filter-functions eshell-terminal funcall make-byte-code 0 "\302\303\301!\203\f.\304\301!\210\207\305\301\300\242\"\210\207" vconcat vector [nil eshell-invoke-directly eval eshell-eval-command] 4 "\n\n(fn)" eshell-life-is-too-much] 10 "\n\n(fn)"]() funcall(#[0 "\300\304 `S\"\240\210\305\306 `S#\210\307 `S\"\211\205?.\310 !\210\300\304\n S\"\240\210\311\312!\210\313\314\315\316\317\320\321\300.\"\322\"\323\324%D\215\205?.\325 \207" [("^bin^usr") eshell-last-output-end eshell-last-input-start eshell-last-input-end buffer-substring-no-properties run-hook-with-args eshell-expand-input-functions eshell-parse-command-input eshell-update-markers run-hooks eshell-input-filter-functions eshell-terminal funcall make-byte-code 0 "\302\303\301!\203\f.\304\301!\210\207\305\301\300\242\"\210\207" vconcat vector [nil eshell-invoke-directly eval eshell-eval-command] 4 "\n\n(fn)" eshell-life-is-too-much] 10 "\n\n(fn)"]) eshell-send-input(nil) call-interactively(eshell-send-input nil nil) command-execute(eshell-send-input) In GNU Emacs 24.4.1 (x86_64-apple-darwin14.0.0, NS apple-appkit-1343.14) of 2014-10-29 on WorkBook-Pro-II.local Configured using: `configure --prefix=/usr/local/Cellar/emacs/24.4 --enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs/24.4/share/info/emacs --without-dbus --with-gnutls --with-rsvg --with-imagemagick --with-ns --disable-ns-self-contained' Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: EShell Minor modes in effect: tooltip-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: ESC [ ? 1 ; 2 c ESC x e s h TAB RET c d SPC / RET l s SPC b i n RET ^ b i n ^ u s r RET DEL DEL DEL DEL DEL DEL DEL DEL ESC x s e t - v a TAB RET d e u DEL b u g TAB o n TAB e r TAB RET t RET ESC O A ESC O A ESC O B RET ESC O A ESC O A ESC O A ESC O A ESC O A ESC O A ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL ^ b i n ^ u s r RET C-a C-@ ESC > ESC w q ESC x r e p o r t TAB RET Recent messages: History item: 11 History item: 12 History item: 13 History item: 14 History item: 1 delete-backward-char: Text is read-only Entering debugger... Mark set Saved text from "Debugger entered--Lisp error: (wrong-typ" Back to top level. Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug help-mode debug cus-edit wid-edit cus-start cus-load em-unix em-term term disp-table ehelp em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl em-basic em-banner em-alias pcomplete comint ansi-color ring esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg eldoc esh-groups eshell esh-module esh-mode esh-util gnutls cl-loaddefs cl-lib mm-archive message format-spec rfc822 mml easymenu mml-sec mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode network-stream starttls url-http tls mail-parse rfc2231 url-gw url-cache url-auth url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse url-vars epg smtpmail auth-source eieio byte-opt bytecomp byte-compile cconv eieio-core gnus-util password-cache sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils package epg-config xterm time-date tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process cocoa ns multi-tty emacs) Memory information: ((conses 16 151620 23576) (symbols 48 25175 0) (miscs 40 49 239) (strings 32 33041 6577) (string-bytes 1 919530) (vectors 16 22524) (vector-slots 8 1192094 156060) (floats 8 83 614) (intervals 56 511 95) (buffers 960 15)) From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 08 11:44:39 2014 Received: (at 18960) by debbugs.gnu.org; 8 Dec 2014 16:44:39 +0000 Received: from localhost ([127.0.0.1]:57844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xy1QN-0001zY-Eb for submit@debbugs.gnu.org; Mon, 08 Dec 2014 11:44:39 -0500 Received: from mail-qa0-f52.google.com ([209.85.216.52]:46639) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XxwuB-0001m1-Jw for 18960@debbugs.gnu.org; Mon, 08 Dec 2014 06:55:08 -0500 Received: by mail-qa0-f52.google.com with SMTP id dc16so3271529qab.11 for <18960@debbugs.gnu.org>; Mon, 08 Dec 2014 03:55:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:cc:content-type; bh=qJeJDOIxTKUvOorPeL51BmlSRbYRtMpbmNYsdzKz2TY=; b=GpvtgpQT5aQi+Swi9quOZ3iaH4PZnVAMMNvOSry+GepbH8pEz+JGr3iJrmwwRgVgXP 7ClF/5T4foiwtpV4Dm1HeNJzSyEHofd9nCUNgL61OgJuUBMuyzMOu90BUFEuAwIeICGY CO52fZ5nNfGfmtoNTQA5jmK6zetDVj4TA3WlVzfJUWIInsZAp8bnWtNCJav5DBzzQ/cl xH/AdzApsBfOMyO5RaLa4biVtEuIZ+7Hbs/7NM9fUMlylTpcWfxXaWdFlmRG431F7G87 rgTmYGJadsW07plcD2ozkjHc5+UttSizndP3cPnKcsQPcS75XR1HgtcKvLnYawzublbq n5Gg== X-Received: by 10.224.28.135 with SMTP id m7mr50912194qac.7.1418039706928; Mon, 08 Dec 2014 03:55:06 -0800 (PST) MIME-Version: 1.0 Received: by 10.140.93.84 with HTTP; Mon, 8 Dec 2014 03:54:46 -0800 (PST) From: Samer Masterson Date: Mon, 8 Dec 2014 03:54:46 -0800 Message-ID: Subject: Re: bug#18960: 24.4; Eshell history substitution causes error To: Emanuel Evans Content-Type: multipart/alternative; boundary=001a11c1fca2024d0f0509b31956 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 18960 X-Mailman-Approved-At: Mon, 08 Dec 2014 11:44:30 -0500 Cc: 18960@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c1fca2024d0f0509b31956 Content-Type: text/plain; charset=UTF-8 The attached patch fixes this issue. This is my second emacs patch, so let me know if I'm doing anything wrong or nonstandard. Best, Samer Patch: 1 file changed, 2 insertions(+), 2 deletions(-) lisp/eshell/em-hist.el | 4 ++-- Modified lisp/eshell/em-hist.el diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index b721b5d..e7e9a1e 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el @@ -724,7 +724,7 @@ matched." (setq nth (eshell-hist-word-reference nth))) (unless (numberp mth) (setq mth (eshell-hist-word-reference mth))) - (cons (mapconcat 'identity (eshell-sublist textargs nth mth) "") + (cons (mapconcat 'identity (eshell-sublist textargs nth mth) " ") end)))) (defun eshell-hist-parse-modifier (hist reference) @@ -737,7 +737,7 @@ matched." (goto-char (point-min)) (let ((modifiers (cdr (eshell-parse-modifiers)))) (dolist (mod modifiers) - (setq hist (funcall mod hist))) + (setq hist (car (funcall mod (list hist))))) hist)) (delete-region here (point))))) --001a11c1fca2024d0f0509b31956 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
The attached patch fixes this issue. This is my second ema= cs patch, so let me know if I'm doing anything wrong or nonstandard.
Best,
Samer

Patch:
1 file changed, 2 insertions(+), 2 deletions(-)
=C2=A0= lisp/eshell/em-hist.el | 4 ++--

Modified =C2=A0 lisp/eshell/em-hist.el
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index b721b5d..e7e9a1e 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -724,7 +724,7 @@ matched.&= quot;
=C2=A0 (s= etq nth (eshell-hist-word-reference nth)))
=C2=A0 =C2=A0 =C2=A0 = =C2=A0(unless (numberp mth)
=C2=A0 (setq mth (eshell-hist-word-reference mth)))
= - =C2=A0 =C2=A0 =C2=A0(cons (mapconcat 'identity (eshell-sublist textar= gs nth mth) "")
+ =C2=A0 =C2=A0 =C2=A0(cons (mapconcat = 'identity (eshell-sublist textargs nth mth) " ")
= =C2=A0 =C2=A0 =C2=A0end)= )))
=C2=A0
=C2=A0(defun eshell-hist-parse-modifier (his= t reference)
@@ -737,7 +737,7 @@ matched."
=C2=A0<= span class=3D"" style=3D"white-space:pre"> =C2=A0(goto-char (point-= min))
=C2=A0 = =C2=A0(let ((modifiers (cdr (eshell-parse-modifiers))))
=C2=A0 =C2=A0 =C2=A0(dolist (mod = modifiers)
- = =C2=A0 =C2=A0 =C2=A0(setq hist (funcall mod hist)))
+ =C2=A0 =C2=A0 =C2=A0(setq hist (ca= r (funcall mod (list hist)))))
=C2=A0 =C2=A0 =C2=A0hist))
=C2=A0 =C2=A0 =C2=A0 = =C2=A0(delete-region here (point)))))

--001a11c1fca2024d0f0509b31956-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 09 17:16:26 2014 Received: (at 18960) by debbugs.gnu.org; 9 Dec 2014 22:16:26 +0000 Received: from localhost ([127.0.0.1]:60006 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XyT4z-0008Sw-N6 for submit@debbugs.gnu.org; Tue, 09 Dec 2014 17:16:25 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:6118) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XyT4y-0008Sn-6q for 18960@debbugs.gnu.org; Tue, 09 Dec 2014 17:16:25 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjwPAOwQflQXW5Ml/2dsb2JhbABSCYMHg2CFWsUdBAICgSQXAQEBAQEBfIQDAQEDAVYjBQsLDiYSFBgNJIhKCdZZAQEBAQYBAQEBHpAUWweESAWLAZIxhlGNJIQZIYJ3AQEB X-IPAS-Result: AjwPAOwQflQXW5Ml/2dsb2JhbABSCYMHg2CFWsUdBAICgSQXAQEBAQEBfIQDAQEDAVYjBQsLDiYSFBgNJIhKCdZZAQEBAQYBAQEBHpAUWweESAWLAZIxhlGNJIQZIYJ3AQEB X-IronPort-AV: E=Sophos;i="5.07,502,1413259200"; d="scan'208";a="100014612" Received: from 23-91-147-37.cpe.pppoe.ca (HELO pastel.home) ([23.91.147.37]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Dec 2014 17:16:21 -0500 Received: by pastel.home (Postfix, from userid 20848) id 11D8772BD; Tue, 9 Dec 2014 17:16:21 -0500 (EST) From: Stefan Monnier To: Samer Masterson Subject: Re: bug#18960: 24.4; Eshell history substitution causes error Message-ID: References: Date: Tue, 09 Dec 2014 17:16:21 -0500 In-Reply-To: (Samer Masterson's message of "Mon, 8 Dec 2014 03:54:46 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 18960 Cc: 18960@debbugs.gnu.org, Emanuel Evans X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Modified lisp/eshell/em-hist.el > diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el > index b721b5d..e7e9a1e 100644 > --- a/lisp/eshell/em-hist.el > +++ b/lisp/eshell/em-hist.el > @@ -724,7 +724,7 @@ matched." > (setq nth (eshell-hist-word-reference nth))) > (unless (numberp mth) > (setq mth (eshell-hist-word-reference mth))) > - (cons (mapconcat 'identity (eshell-sublist textargs nth mth) "") > + (cons (mapconcat 'identity (eshell-sublist textargs nth mth) " ") > end)))) Can you explain why this is needed? > @@ -737,7 +737,7 @@ matched." > (goto-char (point-min)) > (let ((modifiers (cdr (eshell-parse-modifiers)))) > (dolist (mod modifiers) > - (setq hist (funcall mod hist))) > + (setq hist (car (funcall mod (list hist))))) > hist)) > (delete-region here (point))))) The docstring of eshell-parse-modifiers says: Parse value modifiers and predicates at point. If ALLOW-PREDS is non-nil, predicates will be parsed as well. Return a cons cell of the form (PRED-FUNC-LIST . MOD-FUNC-LIST) NEW-STRING is STRING minus any modifiers. PRED-FUNC-LIST is a list of predicate functions. MOD-FUNC-LIST is a list of result modifier functions. PRED-FUNCS take a filename and return t if the test succeeds; MOD-FUNCS take any string and preform a modification, returning the resultant string. If I read this right, `mod' (which is one of MOD-FUNCS) should take a string and return a string, IIUC. So, maybe the right fix is not to change this code but to change the functions returned by `eshell-parse-modifiers'. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 09 17:50:06 2014 Received: (at 18960) by debbugs.gnu.org; 9 Dec 2014 22:50:06 +0000 Received: from localhost ([127.0.0.1]:60045 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XyTbZ-0000wd-B6 for submit@debbugs.gnu.org; Tue, 09 Dec 2014 17:50:05 -0500 Received: from mail-qc0-f176.google.com ([209.85.216.176]:64659) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XyTbV-0000w8-BX for 18960@debbugs.gnu.org; Tue, 09 Dec 2014 17:50:02 -0500 Received: by mail-qc0-f176.google.com with SMTP id i17so1304366qcy.35 for <18960@debbugs.gnu.org>; Tue, 09 Dec 2014 14:50:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=DRseq+D9spUkzc2+Rsw8dCGAHs1AMbD6/Fs9GarbTUE=; b=EyPSAYbbH8KxMfNAz/WYzsFrPuuQSkpd6nXvqGAmXccFzSbprB8oGqQ+fDP3ExK+Ky r1+DrU32QkqgeKAOdJwgrsShdgkeITH64UNkmWMAX//YStLCgV7e10BZiw4AVmy3d2qG FPUyvQ8Tq82f0tisu9jOOBo0eeZpps0ol+tJvoj/SFUSRY5ZOipD8oWiWKj1RkYMeBlS BqrPmL3VdpVR9uyOxRqda7pbKimkBlkNmTA0ogSWgND+DGZlpuTO/R3aardiNaqjA3BO N/vt3X7LWCc/W9Ziop9DqlOGD6fpZKRie7STCJVXTlK2tPU9XTwMgn9e9RTZKB2CRjMS S1Jw== X-Received: by 10.140.102.144 with SMTP id w16mr1689295qge.59.1418165400690; Tue, 09 Dec 2014 14:50:00 -0800 (PST) MIME-Version: 1.0 Received: by 10.140.93.84 with HTTP; Tue, 9 Dec 2014 14:49:40 -0800 (PST) In-Reply-To: References: From: Samer Masterson Date: Tue, 9 Dec 2014 14:49:40 -0800 Message-ID: Subject: Fwd: bug#18960: 24.4; Eshell history substitution causes error To: 18960@debbugs.gnu.org Content-Type: multipart/alternative; boundary=001a11c16bc2f0e7530509d05cfa X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 18960 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c16bc2f0e7530509d05cfa Content-Type: text/plain; charset=UTF-8 On Tue, Dec 9, 2014 at 2:16 PM, Stefan Monnier wrote: > > Modified lisp/eshell/em-hist.el > > diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el > > index b721b5d..e7e9a1e 100644 > > --- a/lisp/eshell/em-hist.el > > +++ b/lisp/eshell/em-hist.el > > @@ -724,7 +724,7 @@ matched." > > (setq nth (eshell-hist-word-reference nth))) > > (unless (numberp mth) > > (setq mth (eshell-hist-word-reference mth))) > > - (cons (mapconcat 'identity (eshell-sublist textargs nth mth) "") > > + (cons (mapconcat 'identity (eshell-sublist textargs nth mth) " ") > > end)))) > > Can you explain why this is needed? > (eshell-sublist) will return a sublist of textargs, which might look like ("ehco" "hi" "there"). The call to mapconcat would join that list without adding whitespace between the args previously, e.g. into "echohithere", which is incorrect. This then gets fed into eshell-hist-parse-modifier as event on line 663. eshell-hist-parse-modifier would then make the substitution on "echohithere". > > > @@ -737,7 +737,7 @@ matched." > > (goto-char (point-min)) > > (let ((modifiers (cdr (eshell-parse-modifiers)))) > > (dolist (mod modifiers) > > - (setq hist (funcall mod hist))) > > + (setq hist (car (funcall mod (list hist))))) > > hist)) > > (delete-region here (point))))) > > The docstring of eshell-parse-modifiers says: > > Parse value modifiers and predicates at point. > If ALLOW-PREDS is non-nil, predicates will be parsed as well. > Return a cons cell of the form > > (PRED-FUNC-LIST . MOD-FUNC-LIST) > > NEW-STRING is STRING minus any modifiers. PRED-FUNC-LIST is a list of > predicate functions. MOD-FUNC-LIST is a list of result modifier > functions. PRED-FUNCS take a filename and return t if the test > succeeds; MOD-FUNCS take any string and preform a modification, > returning the resultant string. > > If I read this right, `mod' (which is one of MOD-FUNCS) should take > a string and return a string, IIUC. So, maybe the right fix is not to > change this code but to change the functions returned by > `eshell-parse-modifiers'. > Ah, I should have read the docstring for eshell-parse-modifiers instead of simply looking at the function it returns :) I'll make that change. Also, I assume that NEW-STRING and ALLOW-PREDS both refer to variables that were removed when this file was made lexically scoped, and will remove them from the docstring. > > > > Stefan > --001a11c16bc2f0e7530509d05cfa Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Tue, Dec 9, 201= 4 at 2:16 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> Modified=C2=A0 =C2= =A0lisp/eshell/em-hist.el
> diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
> index b721b5d..e7e9a1e 100644
> --- a/lisp/eshell/em-hist.el
> +++ b/lisp/eshell/em-hist.el
> @@ -724,7 +724,7 @@ matched."
>=C2=A0 =C2=A0(setq nth (eshell-hist-word-reference nth)))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (unless (numberp mth)
>=C2=A0 =C2=A0(setq mth (eshell-hist-word-reference mth)))
> -=C2=A0 =C2=A0 =C2=A0 (cons (mapconcat 'identity (eshell-sublist t= extargs nth mth) "")
> +=C2=A0 =C2=A0 =C2=A0 (cons (mapconcat 'identity (eshell-sublist t= extargs nth mth) " ")
>=C2=A0 =C2=A0 =C2=A0 end))))

Can you explain why this is needed?

<= /span>
(eshell-sublist) will return a sublist of textargs, which might = look like ("ehco" "hi" "there"). The call to = mapconcat would join that list without adding whitespace between the args p= reviously, e.g. into "echohithere", which is incorrect. This then= gets fed into eshell-hist-parse-modifier as event on line 663. eshell-hist= -parse-modifier would then make the substitution on "echohithere"= .
=C2=A0

> @@ -737,7 +737,7 @@ matched."
>=C2=A0 =C2=A0 (goto-char (point-min))
>=C2=A0 =C2=A0 (let ((modifiers (cdr (eshell-parse-modifiers))))
>=C2=A0 =C2=A0 =C2=A0 (dolist (mod modifiers)
> -=C2=A0 =C2=A0 =C2=A0 (setq hist (funcall mod hist)))
> +=C2=A0 =C2=A0 =C2=A0 (setq hist (car (funcall mod (list hist)))))
>=C2=A0 =C2=A0 =C2=A0 hist))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (delete-region here (point)))))

The docstring of eshell-parse-modifiers says:

=C2=A0 =C2=A0Parse value modifiers and predicates at point.
=C2=A0 =C2=A0If ALLOW-PREDS is non-nil, predicates will be parsed as well.<= br> =C2=A0 =C2=A0Return a cons cell of the form

=C2=A0 =C2=A0 =C2=A0(PRED-FUNC-LIST . MOD-FUNC-LIST)

=C2=A0 =C2=A0NEW-STRING is STRING minus any modifiers.=C2=A0 PRED-FUNC-LIST= is a list of
=C2=A0 =C2=A0predicate functions.=C2=A0 MOD-FUNC-LIST is a list of result m= odifier
=C2=A0 =C2=A0functions.=C2=A0 PRED-FUNCS take a filename and return t if th= e test
=C2=A0 =C2=A0succeeds; MOD-FUNCS take any string and preform a modification= ,
=C2=A0 =C2=A0returning the resultant string.

If I read this right, `mod' (which is one of MOD-FUNCS) should take
a string and return a string, IIUC.=C2=A0 So, maybe the right fix is not to=
change this code but to change the functions returned by
`eshell-parse-modifiers'.
=C2=A0Ah, I shoul= d have read the docstring for eshell-parse-modifiers instead of simply look= ing at the function it returns :) I'll make that change. Also, I assume= that NEW-STRING and ALLOW-PREDS both refer to variables that were removed = when this file was made lexically scoped, and will remove them from the doc= string.



=C2=A0 =C2=A0 =C2=A0 =C2=A0 Stefan


--001a11c16bc2f0e7530509d05cfa-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 10 07:51:05 2014 Received: (at 18960) by debbugs.gnu.org; 10 Dec 2014 12:51:05 +0000 Received: from localhost ([127.0.0.1]:60308 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XygjQ-0007t0-UL for submit@debbugs.gnu.org; Wed, 10 Dec 2014 07:51:05 -0500 Received: from mail-qg0-f48.google.com ([209.85.192.48]:63688) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XygjN-0007sf-Te for 18960@debbugs.gnu.org; Wed, 10 Dec 2014 07:51:02 -0500 Received: by mail-qg0-f48.google.com with SMTP id f51so1966662qge.7 for <18960@debbugs.gnu.org>; Wed, 10 Dec 2014 04:51:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=XXwdePEWpYUitk+s3nqwzNJY/keVgZX5RbIdzP0UAQ8=; b=kjfIwLEWUgdSMA1kV/VGqmYmO2ZFpO8FoC9naEajFX+1rePFddj8K6JRk9rkqq3RFn Ml+M1rOvueE/2CEpewH5CvZd2QwS8M0c7cg3xF+JfXpTc59JAZGf7gm8xid/8U0axybt bRuilSf9HMUXgWw+7b0QPIQ7ikhi9ps26RPCFZXbZSymde+UDJUddy9mZUa0IzILbCFm QM88CE8WOYwvQiWR4ksXlFUW+K2p1u347Jn9OmtWbxi4oEhHBPX/JcY7rgUHRsiFhdT2 P05pHAwQ5eMgHRThK3brm7WGbr8gYUFGnC6Pdm/qMeO/6eacSJxgqTqh7v7RlDI2jb6H BUqw== MIME-Version: 1.0 X-Received: by 10.140.92.215 with SMTP id b81mr7858590qge.5.1418215861175; Wed, 10 Dec 2014 04:51:01 -0800 (PST) Received: by 10.140.93.84 with HTTP; Wed, 10 Dec 2014 04:51:01 -0800 (PST) In-Reply-To: References: Date: Wed, 10 Dec 2014 04:51:01 -0800 Message-ID: Subject: Re: bug#18960: 24.4; Eshell history substitution causes error From: Samer Masterson To: 18960@debbugs.gnu.org, Stefan Monnier Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 18960 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) eshell-parse-modifiers pulls its modifiers from eshell-modifier-alist, where are all functions that operate on lists of strings, so I updated the docstring for eshell-parse-modifiers to reflect that. I've also added my changes to the ChangeLog. Best, Samer Changes from HEAD to working tree 3 files changed, 15 insertions(+), 8 deletions(-) lisp/ChangeLog | 8 ++++++++ lisp/eshell/em-hist.el | 4 ++-- lisp/eshell/em-pred.el | 11 +++++------ Modified lisp/ChangeLog diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 45ba279..c30c43a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2014-12-10 + + * eshell/em-hist.el (eshell-hist-parse-word-designator): Return + args joined with " ". + * eshell/em-pred.el (eshell-parse-modifiers): Correct docstring. + (eshell-hist-parse-modifier): Pass mod a list instead of a string + (bug#18960). + 2014-11-28 Martin Rudalics Fix two issues around help-window-select. (Bug#11039) (Bug#19012) Modified lisp/eshell/em-hist.el diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index b721b5d..e7e9a1e 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el @@ -724,7 +724,7 @@ matched." (setq nth (eshell-hist-word-reference nth))) (unless (numberp mth) (setq mth (eshell-hist-word-reference mth))) - (cons (mapconcat 'identity (eshell-sublist textargs nth mth) "") + (cons (mapconcat 'identity (eshell-sublist textargs nth mth) " ") end)))) (defun eshell-hist-parse-modifier (hist reference) @@ -737,7 +737,7 @@ matched." (goto-char (point-min)) (let ((modifiers (cdr (eshell-parse-modifiers)))) (dolist (mod modifiers) - (setq hist (funcall mod hist))) + (setq hist (car (funcall mod (list hist))))) hist)) (delete-region here (point))))) Modified lisp/eshell/em-pred.el diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el index f55d687..7d6e326 100644 --- a/lisp/eshell/em-pred.el +++ b/lisp/eshell/em-pred.el @@ -296,16 +296,15 @@ This function is specially for adding onto `eshell-parse-argument-hook'." (defun eshell-parse-modifiers () "Parse value modifiers and predicates at point. -If ALLOW-PREDS is non-nil, predicates will be parsed as well. Return a cons cell of the form (PRED-FUNC-LIST . MOD-FUNC-LIST) -NEW-STRING is STRING minus any modifiers. PRED-FUNC-LIST is a list of -predicate functions. MOD-FUNC-LIST is a list of result modifier -functions. PRED-FUNCS take a filename and return t if the test -succeeds; MOD-FUNCS take any string and preform a modification, -returning the resultant string." +PRED-FUNC-LIST is a list of predicate functions. MOD-FUNC-LIST +is a list of result modifier functions. PRED-FUNCS take a +filename and return t if the test succeeds; MOD-FUNCS take any +list of strings and perform a modification, returning the +resultant list of strings." (let (negate follow preds mods) (condition-case nil (while (not (eobp)) From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 24 05:47:18 2015 Received: (at 18960) by debbugs.gnu.org; 24 Feb 2015 10:47:19 +0000 Received: from localhost ([127.0.0.1]:56283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YQD1J-000329-U0 for submit@debbugs.gnu.org; Tue, 24 Feb 2015 05:47:18 -0500 Received: from ec2-52-0-7-12.compute-1.amazonaws.com ([52.0.7.12]:60116 helo=samertm.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YQD1G-00031o-6l for 18960@debbugs.gnu.org; Tue, 24 Feb 2015 05:47:16 -0500 Received: from [10.1.10.35] (c-98-210-154-226.hsd1.ca.comcast.net [98.210.154.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by samertm.com (Postfix) with ESMTPSA id D01E642D27 for <18960@debbugs.gnu.org>; Tue, 24 Feb 2015 10:47:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samertm.com; s=mail; t=1424774821; bh=d/NTS9zxBz6Ng2XJbvhIPI+nypHrXgM9RBdWVEMdQvM=; h=Date:From:Subject:To:From; b=Gwoi/jN6VKSzeJ4PykA+E9p+GNsgwGiy/STVFDRdvMVcaRqwSZQpt2+Vhulgxxtbv UFEJnqZdr67QIgL9h6mNPc3LGqIbuz5FCLpwbLA5PMTJfkPoLngxnkka44YXmzokpW VQ4iqr3gUhCvVaWKwviBdMan3APzGQtoH66d23Ig= Date: Tue, 24 Feb 2015 02:47:01 -0800 From: Samer Masterson Subject: Re: bug#18960: 24.4; Eshell history substitution causes error To: 18960@debbugs.gnu.org Message-Id: <1424774821.11596.3@mail.samertm.com> X-Mailer: geary/0.8.3 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-Bqojoufcr+rKyOHXlCqb" X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 18960 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/) --=-Bqojoufcr+rKyOHXlCqb Content-Type: text/plain; charset=utf-8; format=flowed Hi, My copyright papers have been processed. Can we apply this to master? Best, Samer Patch below: Changes from HEAD to working tree 3 files changed, 15 insertions(+), 8 deletions(-) lisp/ChangeLog | 8 ++++++++ lisp/eshell/em-hist.el | 4 ++-- lisp/eshell/em-pred.el | 11 +++++------ Modified lisp/ChangeLog diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 45ba279..c30c43a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2014-12-10 localhost> + + * eshell/em-hist.el (eshell-hist-parse-word-designator): Return + args joined with " ". + * eshell/em-pred.el (eshell-parse-modifiers): Correct docstring. + (eshell-hist-parse-modifier): Pass mod a list instead of a string + (bug#18960). + 2014-11-28 Martin Rudalics gmx.at> Fix two issues around help-window-select. (Bug#11039) (Bug#19012) Modified lisp/eshell/em-hist.el diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index b721b5d..e7e9a1e 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el @@ -724,7 +724,7 @@ matched." (setq nth (eshell-hist-word-reference nth))) (unless (numberp mth) (setq mth (eshell-hist-word-reference mth))) - (cons (mapconcat 'identity (eshell-sublist textargs nth mth) "") + (cons (mapconcat 'identity (eshell-sublist textargs nth mth) " ") end)))) (defun eshell-hist-parse-modifier (hist reference) @@ -737,7 +737,7 @@ matched." (goto-char (point-min)) (let ((modifiers (cdr (eshell-parse-modifiers)))) (dolist (mod modifiers) - (setq hist (funcall mod hist))) + (setq hist (car (funcall mod (list hist))))) hist)) (delete-region here (point))))) Modified lisp/eshell/em-pred.el diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el index f55d687..7d6e326 100644 --- a/lisp/eshell/em-pred.el +++ b/lisp/eshell/em-pred.el @@ -296,16 +296,15 @@ This function is specially for adding onto `eshell-parse-argument-hook'." (defun eshell-parse-modifiers () "Parse value modifiers and predicates at point. -If ALLOW-PREDS is non-nil, predicates will be parsed as well. Return a cons cell of the form (PRED-FUNC-LIST . MOD-FUNC-LIST) -NEW-STRING is STRING minus any modifiers. PRED-FUNC-LIST is a list of -predicate functions. MOD-FUNC-LIST is a list of result modifier -functions. PRED-FUNCS take a filename and return t if the test -succeeds; MOD-FUNCS take any string and preform a modification, -returning the resultant string." +PRED-FUNC-LIST is a list of predicate functions. MOD-FUNC-LIST +is a list of result modifier functions. PRED-FUNCS take a +filename and return t if the test succeeds; MOD-FUNCS take any +list of strings and perform a modification, returning the +resultant list of strings." (let (negate follow preds mods) (condition-case nil (while (not (eobp)) --=-Bqojoufcr+rKyOHXlCqb Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi,

My copyright papers have been processed. Can we appl= y this to master?

Best,
Samer
=
Patch below:

Changes from HEAD= to working tree
3 files changed, 15 insertions(+), 8 deletions(-= )
 lisp/ChangeLog         |    = ;8 ++++++++
 lisp/eshell/em-hist.el |    4 ++--
 lisp/eshell/em-pred.el |   11 +++++------

=
Modified   lisp/ChangeLog
diff --git a/lisp/ChangeLog b/lis= p/ChangeLog
index 45ba279..c30c43a 100644
--- a/lisp/Ch= angeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2014-12-10    <samer <at> localhost>
+
+ *= eshell/em-hist.el (eshell-hist-parse-word-designator): Return
+<= span class=3D"Apple-tab-span" style=3D"white-space:pre"> args joined= with " ".
+ * eshell/em-pred.el (eshell-parse-modifiers): Correct docstring= .
+ (eshell-hist-parse-modifier): Pass mod a list instead of a string
<= div>+ (bug#= 18960).
+
 2014-11-28  Martin Rudalics  = <rudalics <at> gmx.at>

  Fix two issues arou= nd help-window-select.  (Bug#11039) (Bug#19012)
Modified   lisp/= eshell/em-hist.el
diff --git a/lisp/eshell/em-hist.el b/lisp/eshe= ll/em-hist.el
index b721b5d..e7e9a1e 100644
--- a/lisp/= eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -724,= 7 +724,7 @@ matched."
  (setq nth (eshell-hist-word-reference nth)))
       (unless (numberp mth)
 <= span class=3D"Apple-tab-span" style=3D"white-space:pre"> (setq mth (= eshell-hist-word-reference mth)))
-      (cons (ma= pconcat 'identity (eshell-sublist textargs nth mth) "")
+   =    (cons (mapconcat 'identity (eshell-sublist textargs nth mth) "= ")
     end))))

 (defun eshel= l-hist-parse-modifier (hist reference)
@@ -737,7 +737,7 @@ matche= d."
   (goto-char (point-min))
   (let ((modifiers (cdr= (eshell-parse-modifiers))))
     (dolist (mod modifiers)
- =      (setq hist (funcall mod hist)))
+      = (setq hist (car (funcall mod (list hist)))))
     hist))
       (delete-region here (point)))))

<= /span>Modified   lisp/eshell/em-pred.el
diff --git a/lisp/es= hell/em-pred.el b/lisp/eshell/em-pred.el
index f55d687..7d6e326 1= 00644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em= -pred.el
@@ -296,16 +296,15 @@ This function is specially for add= ing onto
`eshell-parse-argument-hook'."

=  (defun eshell-parse-modifiers ()
   "Parse value = modifiers and predicates at point.
-If ALLOW-PREDS is non-nil, pr= edicates will be parsed as well.
 Return a cons cell of the = form

   (PRED-FUNC-LIST . MOD-FUNC-LIST)=

-NEW-STRING is STRING minus any modifiers.  = PRED-FUNC-LIST is a list of
-predicate functions.  MOD-FUNC-= LIST is a list of result modifier
-functions.  PRED-FUNCS ta= ke a filename and return t if the test
-succeeds; MOD-FUNCS take = any string and preform a modification,
-returning the resultant s= tring."
+PRED-FUNC-LIST is a list of predicate functions.  M= OD-FUNC-LIST
+is a list of result modifier functions.  PRED-= FUNCS take a
+filename and return t if the test succeeds; MOD-FUN= CS take any
+list of strings and perform a modification, returnin= g the
+resultant list of strings."
   (let (n= egate follow preds mods)
     (condition-case nil<= /div>
  <= /span>(while (not (eobp))
= --=-Bqojoufcr+rKyOHXlCqb-- From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 24 14:05:25 2015 Received: (at 18960-done) by debbugs.gnu.org; 24 Feb 2015 19:05:25 +0000 Received: from localhost ([127.0.0.1]:56999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YQKnN-0002cF-Es for submit@debbugs.gnu.org; Tue, 24 Feb 2015 14:05:25 -0500 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:49226) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YQKnK-0002c5-M3 for 18960-done@debbugs.gnu.org; Tue, 24 Feb 2015 14:05:23 -0500 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id E2FDB85EBA; Tue, 24 Feb 2015 14:05:21 -0500 (EST) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id EAF351E5B74; Tue, 24 Feb 2015 14:04:51 -0500 (EST) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id BF810B4102; Tue, 24 Feb 2015 14:04:51 -0500 (EST) From: Stefan Monnier To: Samer Masterson Subject: Re: bug#18960: 24.4; Eshell history substitution causes error Message-ID: References: <1424774821.11596.3@mail.samertm.com> Date: Tue, 24 Feb 2015 14:04:51 -0500 In-Reply-To: <1424774821.11596.3@mail.samertm.com> (Samer Masterson's message of "Tue, 24 Feb 2015 02:47:01 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.71, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_COPYWRT 0.11, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 18960-done Cc: 18960-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > My copyright papers have been processed. Can we apply this to master? Thanks, installed in master (tho I used your previous patch for that, since the latest one had more transmission-induced errors). Stefan From unknown Sat Sep 13 01:26:55 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 25 Mar 2015 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator