From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Robin Campbell Joy Newsgroups: gmane.emacs.bugs Subject: bug#71107: 29.3; eshell-hist/Incorrect history handling with eshell-hist-ignoredups 'erase Date: Wed, 22 May 2024 10:21:12 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000c899f20619069ea5" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32619"; mail-complaints-to="usenet@ciao.gmane.io" To: 71107@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed May 22 10:22:19 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1s9hEo-0008F6-JZ for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 22 May 2024 10:22:18 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s9hEW-0001w3-Qb; Wed, 22 May 2024 04:22:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s9hEU-0001v0-UB for bug-gnu-emacs@gnu.org; Wed, 22 May 2024 04:21:58 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s9hET-0002yj-77 for bug-gnu-emacs@gnu.org; Wed, 22 May 2024 04:21:58 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1s9hEY-0007wZ-CM for bug-gnu-emacs@gnu.org; Wed, 22 May 2024 04:22:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Robin Campbell Joy Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 22 May 2024 08:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71107 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.171636610130523 (code B ref -1); Wed, 22 May 2024 08:22:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 May 2024 08:21:41 +0000 Original-Received: from localhost ([127.0.0.1]:54326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s9hED-0007wF-35 for submit@debbugs.gnu.org; Wed, 22 May 2024 04:21:41 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:53510) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s9hE9-0007w9-QH for submit@debbugs.gnu.org; Wed, 22 May 2024 04:21:39 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s9hE3-0001VW-Lr for bug-gnu-emacs@gnu.org; Wed, 22 May 2024 04:21:31 -0400 Original-Received: from mail-pf1-f170.google.com ([209.85.210.170]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s9hE0-0002vS-40 for bug-gnu-emacs@gnu.org; Wed, 22 May 2024 04:21:31 -0400 Original-Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-6f4dcc3eeb3so839795b3a.0 for ; Wed, 22 May 2024 01:21:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716366085; x=1716970885; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=HQxGmPCmYJCSF78rJs85xAmE9ROoWoxwJLocqiTYloE=; b=eXLsUkNqEOCLuEl2LwwiDhnhayzwCMi2baZkBqZQCqVrDuYEeZhPJBKGB3zjl75SyB xGhPjovPhWUa4R4MkWUQ5m3R9XF+fjCHg9uNycwXq0duCYdQjz7cK+sF6ZxoFn8WPCKX Lmk/zLjmW7QGPfJgh2iO/MzDB7OQ4q00TiDSTuIZe9n3f18+slbYB8jZJaLtB+USsCpw Av6ty6mnUMk2MkgFMY6bGyjHYTp12eyQOWWMvVtBc6z1+MHkNlyaV3RkBtGfl4bqOsIS CDLRXEDsc1dqx/HKafm4xfrRBwuRBy1P8kSF9H4R0rBmY1FZCYIZOJtjxMPsBZxO56M9 mNWg== X-Gm-Message-State: AOJu0Ywm/izZMM/y6l3YPfpEi/+08Y5buiOYXLbfD/c6DaGBGYhuGhL8 TNZWSfU7zDiE1eIMhMCIcNcstd/cPpGGUVmzxkqYqYUxuMCQJOI/57pXjv+5Cqc+S9hMYABub1R M2Fo2XzYykS+fmgRS+uyKWETVcyJ0419+qML3dbPrylMQzMkLUhw= X-Google-Smtp-Source: AGHT+IFmmfh86FBoBq+eu31IG3eaGTXTUpU27AX6teKed1LUPvBJJA56fJgU1znqeurMcxfZMdkb6hFLsZCYuM9vqkM= X-Received: by 2002:a05:6a20:9490:b0:1b0:14a0:c875 with SMTP id adf61e73a8af0-1b1f8829ed3mr1170778637.1.1716366084669; Wed, 22 May 2024 01:21:24 -0700 (PDT) Received-SPF: none client-ip=209.85.210.170; envelope-from=rcj@robinjoy.net; helo=mail-pf1-f170.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:285586 Archived-At: --000000000000c899f20619069ea5 Content-Type: multipart/alternative; boundary="000000000000c899f10619069ea3" --000000000000c899f10619069ea3 Content-Type: text/plain; charset="UTF-8" Severity: minor Tags: patch In case of eshell-hist-ingoredups set to 'erase, history handling isn't working correctly. 1) If the input ring is empty, no elements are added to the ring. 2) If elements are on the ring, but the element added to the ring is not yet in the ring, the last element is deleted. 3) When switching to 'erase with multiple duplicates in the ring, only the last equal element is removed. emacs -Q (require 'eshell) (setq eshell-hist-ignoredups 'erase) (eshell) $ echo foo foo M-p -> Empty input ring --000000000000c899f10619069ea3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Severity: minor
Tags: patch

In case of eshell-hi= st-ingoredups set to 'erase, history handling isn't
working corr= ectly.

1) If the input ring is empty, no elements are added to the r= ing.
2) If elements are on the ring, but the element added to the ring i= s not
yet in the ring, the last element is deleted.
3) When switching= to 'erase with multiple duplicates in the ring, only
the last equal= element is removed.

emacs -Q
(require 'eshell)
(setq eshe= ll-hist-ignoredups 'erase)
(eshell)
$ echo foo
foo
M-p ->= ; Empty input ring
--000000000000c899f10619069ea3-- --000000000000c899f20619069ea5 Content-Type: application/octet-stream; name="eshell-hist-ignoredups.patch" Content-Disposition: attachment; filename="eshell-hist-ignoredups.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lwhk03zw0 ZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VtLWhpc3QuZWwgYi9saXNwL2VzaGVsbC9lbS1oaXN0 LmVsCmluZGV4IDQwODFmMmE3Zjg1Li5lNzY2NWRlM2FiNyAxMDA2NDQKLS0tIGEvbGlzcC9lc2hl bGwvZW0taGlzdC5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1oaXN0LmVsCkBAIC0zODUsMTAgKzM4 NSwxMiBAQCBlc2hlbGwtYWRkLWlucHV0LXRvLWhpc3RvcnkKICAgICAgICAgICAgICAoaWYgKGVx IGVzaGVsbC1oaXN0LWlnbm9yZWR1cHMgJ2VyYXNlKQogICAgICAgICAgICAgICAgICA7OyBSZW1v dmUgYW55IG9sZCBvY2N1cnJlbmNlcyBvZiB0aGUgaW5wdXQsIGFuZCBwdXQKICAgICAgICAgICAg ICAgICAgOzsgdGhlIG5ldyBvbmUgYXQgdGhlIGVuZC4KLSAgICAgICAgICAgICAgICAgKHVubGVz cyAocmluZy1lbXB0eS1wIGVzaGVsbC1oaXN0b3J5LXJpbmcpCi0gICAgICAgICAgICAgICAgICAg KHJpbmctcmVtb3ZlIGVzaGVsbC1oaXN0b3J5LXJpbmcKLQkgICAgICAgICAgICAgICAgICAgICAg ICAocmluZy1tZW1iZXIgZXNoZWxsLWhpc3RvcnktcmluZyBpbnB1dCkpCi0gICAgICAgICAgICAg ICAgICAgdCkKKyAgICAgICAgICAgICAgICAgKG9yICh1bmxlc3MgKHJpbmctZW1wdHktcCBlc2hl bGwtaGlzdG9yeS1yaW5nKQorICAgICAgICAgICAgICAgICAgICAgICAobGV0IChpbmRleCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAod2hpbGUgKHNldHEgaW5kZXggKHJpbmctbWVtYmVyIGVz aGVsbC1oaXN0b3J5LXJpbmcgaW5wdXQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJp bmctcmVtb3ZlIGVzaGVsbC1oaXN0b3J5LXJpbmcgaW5kZXgpKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgdCkKKyAgICAgICAgICAgICAgICAgICAgIHQpCiAgICAgICAgICAgICAgICA7OyBBbHdh eXMgYWRkLi4uCiAgICAgICAgICAgICAgICAob3IgKG51bGwgZXNoZWxsLWhpc3QtaWdub3JlZHVw cykKICAgICAgICAgICAgICAgICAgICA7OyAuLi4gb3IgYWRkIGlmIGl0J3Mgbm90IGFscmVhZHkg cHJlc2VudCBhdCB0aGUKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZW0taGlzdC10ZXN0 cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZW0taGlzdC10ZXN0cy5lbAppbmRleCBkMzI1ZTNhNjQw Mi4uMDRkN2IxYTA2NzAgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwvZW0taGlzdC10ZXN0 cy5lbAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VtLWhpc3QtdGVzdHMuZWwKQEAgLTMzLDYgKzMz LDUxIEBAIGVzaGVsbC13cml0ZS1yZWFkb25seS1oaXN0b3J5CiAgICAgICAgICAgICAgICAgICAg KHByb3BlcnRpemUgImVjaG8gYmFyIiAncmVhZC1vbmx5IHQpKQogICAgICAgKGVzaGVsbC13cml0 ZS1oaXN0b3J5IGhpc3RmaWxlKSkpKQogCisoZXJ0LWRlZnRlc3QgZXNoZWxsLWFkZC1oaXN0b3J5 LWVsZW1lbnQtdG8tZW1wdHktcmluZy13aXRoLWVyYXNlLWR1cHMgKCkKKyAgIlRlc3QgdGhhdCB3 ZSBhZGQgYSBuZXcgaGlzdG9yeSBpdGVtIHRvIGFuIGVtcHR5IGhpc3RvcnkgcmluZyB3aXRoIGBl c2hlbGwtaGlzdC1pZ25vcmVkdXBzJyBzZXQgdG8gJ2VyYXNlLiIKKyAgKGVydC13aXRoLXRlc3Qt YnVmZmVyICg6bmFtZSAiZXNoZWxsLWhpc3QtdGVzdCIpCisgICAgKGxldCAoKGVzaGVsbC1oaXN0 b3J5LXJpbmcgKG1ha2UtcmluZyAyKSkKKyAgICAgICAgICAoZXNoZWxsLWhpc3QtaWdub3JlZHVw cyAnZXJhc2UpKQorICAgICAgKGVzaGVsbC1hZGQtaW5wdXQtdG8taGlzdG9yeSAiZWNobyBmb28i KQorICAgICAgKHNob3VsZCAoPSAocmluZy1sZW5ndGggZXNoZWxsLWhpc3RvcnktcmluZykgMSkp CisgICAgICAoc2hvdWxkICg9IChyaW5nLW1lbWJlciBlc2hlbGwtaGlzdG9yeS1yaW5nICJlY2hv IGZvbyIpIDApKSkpKQorCisoZXJ0LWRlZnRlc3QgZXNoZWxsLWFkZC1oaXN0b3J5LWVsZW1lbnQt dG8tbm9uLWVtcHR5LXJpbmctd2l0aC1lcmFzZS1kdXBzLWVyYXNlcy1kdXBsaWNhdGUgKCkKKyAg IlRlc3QgdGhhdCB3aGVuIHdlIGFkZCBhbiBleGlzdGluZyBoaXN0b3J5IGl0ZW0gdG8gYSBub24g ZW1wdHkgaGlzdG9yeSByaW5nIHdpdGggYGVzaGVsbC1oaXN0LWlnbm9yZWR1cHMnIHNldCB0byAn ZXJhc2UgdGhlIGV4aXN0aW5nIGVsZW1lbnQgaXMgZXJhc2VkLiIKKyAgKGVydC13aXRoLXRlc3Qt YnVmZmVyICg6bmFtZSAiZXNoZWxsLWhpc3QtdGVzdCIpCisgICAgKGxldCAoKGVzaGVsbC1oaXN0 b3J5LXJpbmcgKG1ha2UtcmluZyAyKSkKKyAgICAgICAgICAoZXNoZWxsLWhpc3QtaWdub3JlZHVw cyAnZXJhc2UpKQorICAgICAgKGVzaGVsbC1hZGQtaW5wdXQtdG8taGlzdG9yeSAiZWNobyBmb28i KQorICAgICAgKGVzaGVsbC1hZGQtaW5wdXQtdG8taGlzdG9yeSAiZWNobyBmb28iKQorICAgICAg KHNob3VsZCAoPSAocmluZy1sZW5ndGggZXNoZWxsLWhpc3RvcnktcmluZykgMSkpCisgICAgICAo c2hvdWxkICg9IChyaW5nLW1lbWJlciBlc2hlbGwtaGlzdG9yeS1yaW5nICJscyIpIDApKSkpKQor CisoZXJ0LWRlZnRlc3QgZXNoZWxsLWFkZC1oaXN0b3J5LWVsZW1lbnQtdG8tbm9uLWVtcHR5LXJp bmctd2l0aC1lcmFzZS1kdXBzLWVyYXNlcy1kdXBsaWNhdGVzICgpCisgICJUZXN0IHRoYXQgd2hl biB3ZSBhZGQgYW4gZXhpc3RpbmcgaGlzdG9yeSBpdGVtIHRvIGEgbm9uIGVtcHR5IGhpc3Rvcnkg cmluZyB3aXRoIGBlc2hlbGwtaGlzdC1pZ25vcmVkdXBzJyBzZXQgdG8gJ2VyYXNlIHRoZSBleGlz dGluZyBlbGVtZW50cyBhcmUgZXJhc2VkLiIKKyAgKGVydC13aXRoLXRlc3QtYnVmZmVyICg6bmFt ZSAiZXNoZWxsLWhpc3QtdGVzdCIpCisgICAgKGxldCAoKGVzaGVsbC1oaXN0b3J5LXJpbmcgKG1h a2UtcmluZyA1KSkKKyAgICAgICAgICAoZXNoZWxsLWhpc3QtaWdub3JlZHVwcyBuaWwpKQorICAg ICAgKGVzaGVsbC1hZGQtaW5wdXQtdG8taGlzdG9yeSAiZWNobyBmb28iKQorICAgICAgKGVzaGVs bC1hZGQtaW5wdXQtdG8taGlzdG9yeSAiZWNobyBiYXIiKQorICAgICAgKGVzaGVsbC1hZGQtaW5w dXQtdG8taGlzdG9yeSAiZWNobyBmb28iKQorICAgICAgKHNob3VsZCAoPSAocmluZy1sZW5ndGgg ZXNoZWxsLWhpc3RvcnktcmluZykgMykpCisgICAgICAoc2V0cSBlc2hlbGwtaGlzdC1pZ25vcmVk dXBzICdlcmFzZSkKKyAgICAgIChlc2hlbGwtYWRkLWlucHV0LXRvLWhpc3RvcnkgImVjaG8gZm9v IikKKyAgICAgIChzaG91bGQgKD0gKHJpbmctbGVuZ3RoIGVzaGVsbC1oaXN0b3J5LXJpbmcpIDIp KQorICAgICAgKHNob3VsZCAoPSAocmluZy1tZW1iZXIgZXNoZWxsLWhpc3RvcnktcmluZyAiZWNo byBmb28iKSAwKSkKKyAgICAgIChzaG91bGQgKD0gKHJpbmctbWVtYmVyIGVzaGVsbC1oaXN0b3J5 LXJpbmcgImVjaG8gYmFyIikgMSkpKSkpKQorCisoZXJ0LWRlZnRlc3QgZXNoZWxsLWFkZC1oaXN0 b3J5LWVsZW1lbnQtdG8tbm9uLWVtcHR5LXJpbmctd2l0aC1lcmFzZS1kdXBzLWtlZXBzLW5vbi1k dXBsaWNhdGVzICgpCisgICJUZXN0IHRoYXQgd2hlbiB3ZSBhZGQgYSBuZXcgIGhpc3RvcnkgaXRl bSB0byBhIG5vbiBlbXB0eSBoaXN0b3J5IHJpbmcgd2l0aCBgZXNoZWxsLWhpc3QtaWdub3JlZHVw cycgc2V0IHRvICdlcmFzZSB0aGUgZXhpc3RpbmcgZWxlbWVudHMgYXJlIG5vdCBlcmFzZWQuIgor ICAoZXJ0LXdpdGgtdGVzdC1idWZmZXIgKDpuYW1lICJlc2hlbGwtaGlzdC10ZXN0IikKKyAgICAo bGV0ICgoZXNoZWxsLWhpc3RvcnktcmluZyAobWFrZS1yaW5nIDIpKQorICAgICAgICAgIChlc2hl bGwtaGlzdC1pZ25vcmVkdXBzICdlcmFzZSkpCisgICAgICAoZXNoZWxsLWFkZC1pbnB1dC10by1o aXN0b3J5ICJlY2hvIGZvbyIpCisgICAgICAoZXNoZWxsLWFkZC1pbnB1dC10by1oaXN0b3J5ICJl Y2hvIGJhciIpCisgICAgICAoc2hvdWxkICg9IChyaW5nLWxlbmd0aCBlc2hlbGwtaGlzdG9yeS1y aW5nKSAyKSkKKyAgICAgIChzaG91bGQgKD0gKHJpbmctbWVtYmVyIGVzaGVsbC1oaXN0b3J5LXJp bmcgImVjaG8gZm9vIikgMSkpCisgICAgICAoc2hvdWxkICg9IChyaW5nLW1lbWJlciBlc2hlbGwt aGlzdG9yeS1yaW5nICJlY2hvIGJhciIpIDApKSkpKQorCiAocHJvdmlkZSAnZW0taGlzdC10ZXN0 KQogCiA7OzsgZW0taGlzdC10ZXN0cy5lbCBlbmRzIGhlcmUK --000000000000c899f20619069ea5--