unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#7899: 23.2.91; Unsatisfactory interaction between shell-mode-hook and comint-read-input-ring
@ 2011-01-23 19:12 Reuben Thomas
  2013-05-27  7:44 ` bug#7899: " Pete Beardmore
  0 siblings, 1 reply; 4+ messages in thread
From: Reuben Thomas @ 2011-01-23 19:12 UTC (permalink / raw)
  To: 7899

shell-mode runs comint-read-input-ring. This is in a way unfortunate,
since this means that if you want to change the parameters of
comint-input-ring in shell-mode-hook, then you’re already too late.

I have the following in my .emacs:

(add-hook 'shell-mode-hook
          (lambda ()
            (let ((n (getenv "HISTSIZE")))
              (if n (progn (setq comint-input-ring-size (string-to-number n))
                           (comint-read-input-ring t))))))

This is not appropriate for comint-mode-hook, since HISTSIZE is
shell-specific (really, it’s bash-specific, so I should be testing that
I’m running bash). But now I have to run comint-read-input-ring again.

Perhaps shell-mode should instead append comint-read-input-ring to
shell-mode-hook if it’s not already there, or some such malarky?

There is one further thing that is puzzling me about the situation: I
have quite a large ~/.bash_history (about 200,000 lines). When I ran
shell-mode without first setting comint-input-ring-size correctly, it
was truncated to 500 lines when I killed the shell-mode buffer (as I
would expect). However, after setting comint-input-ring-size to HISTSIZE
(which is 400,000), ~/.bash_history was no longer translated _even
though, as I was not yet running comint-read-input-ring in my shell-mode
hook, only 500 entries were being read_. This seems to contradict the
docstring of comint-write-input-ring, which says that it overwrites
comint-input-ring-file-name if comint-input-ring is non-empty. (However,
it is correct behavior for my shell: I have set shopt histappend. But
this is surely a coincidence, as bash will update the history file
before Emacs, so Emacs should “win”, right?)


In GNU Emacs 23.2.91.4 (i686-pc-linux-gnu, GTK+ Version 2.22.0)
 of 2011-01-13 on canta
Windowing system distributor `The X.Org Foundation', version 11.0.10900000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Shell

Minor modes in effect:
  shell-dirtrack-mode: t
  recentf-mode: t
  show-paren-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  iswitchb-mode: t
  icomplete-mode: t
  global-whitespace-mode: t
  global-auto-revert-mode: t
  desktop-save-mode: t
  yas/global-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x s h e l l <return> C-h v c o m i n t - i n p u 
t - r i n g <return> M-> M-< M-< C-x k <return> a M-p 
M-p M-p M-p M-p M-p M-p M-p M-p M-p M-p M-n M-n M-n 
M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n 
M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n 
M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n M-n 
M-n M-n M-n M-n M-n M-n M-n <M-backspace> <M-backspace> 
<return> . / M-p M-p M-p M-p M-p M-p M-p M-p M-p M-p 
M-p M-p M-p M-p M-p C-a C-k <return> <return> M-x r 
e p o r t - e m a c s - b u g <return>

Recent messages:
History item: 897
History item: 900
History item: 912
History item: 913
History item: 1202
History item: 1203
History item: 1206
History item: 1399
History item: 1400
History item: 1404

Load-path shadows:
/home/rrt/.emacs.d/elpa/ruby-mode-1.1/ruby-mode hides /usr/share/emacs-snapshot/site-lisp/ruby1.8-elisp/ruby-mode
/home/rrt/local/share/emacs/site-lisp/popup hides /usr/local/share/emacs/23.2.91/site-lisp/auto-complete/popup
/home/rrt/local/share/emacs/site-lisp/fuzzy hides /usr/local/share/emacs/23.2.91/site-lisp/auto-complete/fuzzy
/home/rrt/.emacs.d/elpa/css-mode-1.0/css-mode hides /usr/local/share/emacs/23.2.91/site-lisp/css-mode/css-mode
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/link hides /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/link
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/connection hides /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/connection
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary-init hides /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/dictionary-init
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary hides /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/dictionary
/home/rrt/.emacs.d/elpa/css-mode-1.0/css-mode hides /usr/local/share/emacs/23.2.91/lisp/textmodes/css-mode
/home/rrt/.emacs.d/elpa/ruby-mode-1.1/ruby-mode hides /usr/local/share/emacs/23.2.91/lisp/progmodes/ruby-mode
/home/rrt/.emacs.d/elpa/css-mode-1.0/css-mode hides /usr/share/emacs/site-lisp/css-mode/css-mode
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/local/share/emacs/23.2.91/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/local/share/emacs/23.2.91/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/local/share/emacs/23.2.91/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/lpath hides /usr/share/emacs/site-lisp/auctex/lpath
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/local/share/emacs/23.2.91/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-fptex hides /usr/share/emacs/site-lisp/auctex/tex-fptex
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/local/share/emacs/23.2.91/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/local/share/emacs/23.2.91/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/local/share/emacs/23.2.91/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/local/share/emacs/23.2.91/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/local/share/emacs/23.2.91/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style

Features:
(shadow sort mail-extr message sendmail ecomplete rfc822 mml mml-sec
password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc
time-date mm-util mail-prsvr gmm-utils mailheader canlock sha1 hex-util
hashcash mail-utils emacsbug vc-git pp help-mode view ansi-color shell
jka-compr info face-remap filladapt flyspell completing-help recentf
tree-widget wid-edit uniquify paren savehist minibuf-eldef iswitchb
icomplete whitespace autorevert time cus-start cus-load desktop server
php-mode etags cc-langs cc-mode cc-fonts cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs speedbar sb-image ezimage dframe
lua-mode regexp-opt comint ring ropemacs pymacs etags-update
smart-quotes ispell auto-dictionary-autoloads css-mode-autoloads
dictionary-autoloads diff-git-autoloads dired-isearch-autoloads
full-ack-autoloads guess-style-autoloads http-post-simple-autoloads
js2-mode-autoloads magit-autoloads mv-shell-autoloads
ruby-mode-autoloads package reporter advice advice-preload yasnippet
help-fns derived edmacro kmacro easymenu assoc cl cl-19 muse-autoloads
emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode
bbdb-autoloads preview-latex tex-site auto-loads tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mldrag 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 loaddefs button minibuffer faces
cus-face files text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process dbusbind system-font-setting font-render-setting
gtk x-toolkit x multi-tty emacs)

-- 
http://rrt.sc3d.org/





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#7899: Unsatisfactory interaction between shell-mode-hook and comint-read-input-ring
  2011-01-23 19:12 bug#7899: 23.2.91; Unsatisfactory interaction between shell-mode-hook and comint-read-input-ring Reuben Thomas
@ 2013-05-27  7:44 ` Pete Beardmore
  2013-05-30 12:55   ` Pete Beardmore
  0 siblings, 1 reply; 4+ messages in thread
From: Pete Beardmore @ 2013-05-27  7:44 UTC (permalink / raw)
  To: 7899

[-- Attachment #1: Type: text/plain, Size: 904 bytes --]

[patches against bzr master attached (hopefully!)]

hi,

i believe this is a bug in comint-read-input-ring. shell-mode sets a  
buffer-local version of comint-read-input-size which is effectively  
ignored due to comint-read-input-ring's use of '(with-temp-buffer ...'  
. i've lost ~40000 line bash history on more than one occasion over  
the last several years and am elated to have finally pinned the  
problem on something

(very loosely) related to this issue is the question of why the  
default of 'comint-input-history-ignore' is set to anything at all?  
it's currently "^#", and therefore without having pro-actively made  
any changes to their emacs setup, a user's shell history (for  
instance) doesn't emerge unscathed from a trip through comint if it  
contains comments. if modifying this default touches too many other  
comint uses, perhaps an override in shell-mode.el?

cheers,
Pete

[-- Attachment #2: 0001.comint_.ensure.buffer.local.comint-input-ring-read-size.variable.is.visible.throughout.input-read-ring.diff --]
[-- Type: text/x-patch, Size: 1582 bytes --]

#------------------------------------------------------------
#revno: 112736
#committer: Pete Beardmore <pete.beardmore@msn.com>
#branch nick: bzr
#timestamp: Mon 2013-05-27 07:53:30 +0100
#message:
#  comint: ensure buffer local comint-input-ring-read-size variable is visible throughout input-read-ring logic
=== modified file 'lisp/comint.el'
--- lisp/comint.el	2013-05-25 02:40:33 +0000
+++ lisp/comint.el	2013-05-27 06:53:30 +0000
@@ -938,6 +938,7 @@
 		;; to huge numbers.  Don't allocate a huge ring right
 		;; away; there might not be that much history.
 		(ring-size (min 1500 comint-input-ring-size))
+		(ring-size-max (max 1500 comint-input-ring-size))
 		(ring (make-ring ring-size)))
 	   (with-temp-buffer
              (insert-file-contents file)
@@ -945,7 +946,7 @@
              ;; Watch for those date stamps in history files!
              (goto-char (point-max))
              (let (start end history)
-               (while (and (< count comint-input-ring-size)
+               (while (and (< count ring-size-max)
                            (re-search-backward comint-input-ring-separator
                                                nil t)
                            (setq end (match-beginning 0)))
@@ -963,7 +964,7 @@
 				(not (string-equal (ring-ref ring 0)
 						   history))))
 		   (when (= count ring-size)
-		     (ring-extend ring (min (- comint-input-ring-size ring-size)
+		     (ring-extend ring (min (- ring-size-max ring-size)
 					    ring-size))
 		     (setq ring-size (ring-size ring)))
 		   (ring-insert-at-beginning ring history)


[-- Attachment #3: 0001.comint_.don't.strip.anything.by.default.on.comint-input-ring-read.diff --]
[-- Type: text/x-patch, Size: 715 bytes --]

#------------------------------------------------------------
#revno: 112737
#committer: Pete Beardmore <pete.beardmore@msn.com>
#branch nick: bzr
#timestamp: Mon 2013-05-27 08:12:04 +0100
#message:
#  comint: don't strip anything by default on comint-input-ring-read
=== modified file 'lisp/comint.el'
--- lisp/comint.el	2013-05-27 06:53:30 +0000
+++ lisp/comint.el	2013-05-27 07:12:04 +0000
@@ -318,7 +318,7 @@
 (defvar comint-input-ring-separator "\n"
   "Separator between commands in the history file.")
 
-(defvar comint-input-history-ignore "^#"
+(defvar comint-input-history-ignore ""
   "Regexp for history entries that should be ignored when Comint initializes.")
 
 (defcustom comint-process-echoes nil


^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#7899: Unsatisfactory interaction between shell-mode-hook and comint-read-input-ring
  2013-05-27  7:44 ` bug#7899: " Pete Beardmore
@ 2013-05-30 12:55   ` Pete Beardmore
  2021-05-10 11:16     ` bug#7899: 23.2.91; " Lars Ingebrigtsen
  0 siblings, 1 reply; 4+ messages in thread
From: Pete Beardmore @ 2013-05-30 12:55 UTC (permalink / raw)
  To: 7899

[-- Attachment #1: Type: text/plain, Size: 2498 bytes --]

Quoting Pete Beardmore <pete.beardmore@msn.com>:

> [patches against bzr master attached (hopefully!)]
>
> hi,
>
> i believe this is a bug in comint-read-input-ring. shell-mode sets a  
> buffer-local version of comint-read-input-size which is effectively  
> ignored due to comint-read-input-ring's use of '(with-temp-buffer  
> ...' . i've lost ~40000 line bash history on more than one occasion  
> over the last several years and am elated to have finally pinned the  
> problem on something
>
> (very loosely) related to this issue is the question of why the  
> default of 'comint-input-history-ignore' is set to anything at all?  
> it's currently "^#", and therefore without having pro-actively made  
> any changes to their emacs setup, a user's shell history (for  
> instance) doesn't emerge unscathed from a trip through comint if it  
> contains comments. if modifying this default touches too many other  
> comint uses, perhaps an override in shell-mode.el?
>
> cheers,
> Pete

[patches attached superseed previous patches]

hello,

patch 1:
i've extended the original fix for ignoring buffer-local variables to  
incorporate 'comint-input-ring-separator',  
'comint-input-history-ignore' and 'comint-input-ignoredups' vars which  
suffered from the same issue

patch 2:
as before, but note that this request to change the default  
'comint-input-history-ignore' from '^#' to '' exposed another bug in  
the 'comint-read-input-ring' code. see patch 3

patch 3:
if 'comint-input-history-ignore' is set to "" (not 'nil' as we're  
using string-match), string-match will always return 0 ..and as this  
isn't nil, all potential items are dropped as they match the ignore  
string. i'll leave 'patch 2' as a request, but the fix for this bug is  
a necessity i think as there's nothing stopping users setting ignore  
to "" as it stands, and that causes issues

patch 4, the ignore-dupes functionality didn't work at all*. the  
comparison of the current item (to be placed into the ring) was being  
made against (ring-ref ring 0) ..which is static, and not the last  
item we added as is needed here. the docs on  
'ring-insert-at-beginning'/'ring-insert'/'ring-ref' would confuse  
anyone on first glance (in defense of whoever slipped here initially)

*it does 'work' if the only dupes in the file are all adjacent and  
equal to the last item

cheers,
Pete

ps. there's still a nasty mix of tabs/space formatting in  
'comint-read-input-ring'. i harmonised only the block i touched

[-- Attachment #2: 0001.comint_.ensure.buffer.local.comint-input-ring-_.variables.are.visible.through.input-read-ring.logic.diff --]
[-- Type: text/x-patch, Size: 3199 bytes --]

#------------------------------------------------------------
#revno: 112736
#committer: Pete Beardmore <pete.beardmore@msn.com>
#branch nick: bzr
#timestamp: Thu 2013-05-30 13:17:39 +0100
#message:
#  comint: ensure buffer local comint-input-ring-* variables are visible through input-read-ring logic
=== modified file 'lisp/comint.el'
--- lisp/comint.el	2013-05-25 02:40:33 +0000
+++ lisp/comint.el	2013-05-30 12:17:39 +0000
@@ -938,33 +938,33 @@
 		;; to huge numbers.  Don't allocate a huge ring right
 		;; away; there might not be that much history.
 		(ring-size (min 1500 comint-input-ring-size))
-		(ring (make-ring ring-size)))
-	   (with-temp-buffer
-             (insert-file-contents file)
-             ;; Save restriction in case file is already visited...
-             ;; Watch for those date stamps in history files!
-             (goto-char (point-max))
-             (let (start end history)
-               (while (and (< count comint-input-ring-size)
-                           (re-search-backward comint-input-ring-separator
-                                               nil t)
-                           (setq end (match-beginning 0)))
-                 (setq start
-                       (if (re-search-backward comint-input-ring-separator
-                                               nil t)
-                           (match-end 0)
-                         (point-min)))
-                 (setq history (buffer-substring start end))
-                 (goto-char start)
-                 (when (and (not (string-match comint-input-history-ignore
-					       history))
-			    (or (null comint-input-ignoredups)
-				(ring-empty-p ring)
-				(not (string-equal (ring-ref ring 0)
-						   history))))
+		(ring-size-max (max 1500 comint-input-ring-size))
+		(ring (make-ring ring-size))
+    (ring-separator comint-input-ring-separator)
+    (ignore comint-input-history-ignore)
+    (ignoredups comint-input-ignoredups))
+    (with-temp-buffer
+       (insert-file-contents file)
+       ;; Save restriction in case file is already visited...
+       ;; Watch for those date stamps in history files!
+       (goto-char (point-max))
+       (let (start end history)
+         (while (and (< count ring-size-max)
+                     (re-search-backward ring-separator nil t)
+                     (setq end (match-beginning 0)))
+           (setq start
+                 (if (re-search-backward ring-separator nil t)
+                     (match-end 0)
+                   (point-min)))
+           (setq history (buffer-substring start end))
+           (goto-char start)
+           (when (and (not (string-match ignore history))
+                      (or (null ignoredups)
+                          (ring-empty-p ring)
+                          (not (string-equal (ring-ref ring 0) 
+                                             history))))
 		   (when (= count ring-size)
-		     (ring-extend ring (min (- comint-input-ring-size ring-size)
-					    ring-size))
+		     (ring-extend ring (min (- ring-size-max ring-size) ring-size))
 		     (setq ring-size (ring-size ring)))
 		   (ring-insert-at-beginning ring history)
 		   (setq count (1+ count))))))


[-- Attachment #3: 0002.comint_.don't.strip.anything.by.default.on.comint-input-ring-read.diff --]
[-- Type: text/x-patch, Size: 715 bytes --]

#------------------------------------------------------------
#revno: 112737
#committer: Pete Beardmore <pete.beardmore@msn.com>
#branch nick: bzr
#timestamp: Thu 2013-05-30 13:20:40 +0100
#message:
#  comint: don't strip anything by default on comint-input-ring-read
=== modified file 'lisp/comint.el'
--- lisp/comint.el	2013-05-30 12:17:39 +0000
+++ lisp/comint.el	2013-05-30 12:20:40 +0000
@@ -318,7 +318,7 @@
 (defvar comint-input-ring-separator "\n"
   "Separator between commands in the history file.")
 
-(defvar comint-input-history-ignore "^#"
+(defvar comint-input-history-ignore ""
   "Regexp for history entries that should be ignored when Comint initializes.")
 
 (defcustom comint-process-echoes nil


[-- Attachment #4: 0003.comint_.don't.match.an.empty.ignore.string.diff --]
[-- Type: text/x-patch, Size: 840 bytes --]

#------------------------------------------------------------
#revno: 112738
#committer: Pete Beardmore <pete.beardmore@msn.com>
#branch nick: bzr
#timestamp: Thu 2013-05-30 13:29:26 +0100
#message:
#  comint: don't match an empty ignore string
=== modified file 'lisp/comint.el'
--- lisp/comint.el	2013-05-30 12:20:40 +0000
+++ lisp/comint.el	2013-05-30 12:29:26 +0000
@@ -958,7 +958,8 @@
                    (point-min)))
            (setq history (buffer-substring start end))
            (goto-char start)
-           (when (and (not (string-match ignore history))
+           (when (and (or (= (length ignore) 0)
+                          (not (string-match ignore history)))
                       (or (null ignoredups)
                           (ring-empty-p ring)
                           (not (string-equal (ring-ref ring 0) 


[-- Attachment #5: 0004.comint_.fix.ignore-dupe.functionality.diff --]
[-- Type: text/x-patch, Size: 841 bytes --]

#------------------------------------------------------------
#revno: 112739
#committer: Pete Beardmore <pete.beardmore@msn.com>
#branch nick: bzr
#timestamp: Thu 2013-05-30 13:31:52 +0100
#message:
#  comint: fix ignore-dupe functionality
=== modified file 'lisp/comint.el'
--- lisp/comint.el	2013-05-30 12:29:26 +0000
+++ lisp/comint.el	2013-05-30 12:31:52 +0000
@@ -962,7 +962,7 @@
                           (not (string-match ignore history)))
                       (or (null ignoredups)
                           (ring-empty-p ring)
-                          (not (string-equal (ring-ref ring 0) 
+                          (not (string-equal (ring-ref ring (1- count))
                                              history))))
 		   (when (= count ring-size)
 		     (ring-extend ring (min (- ring-size-max ring-size) ring-size))


^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#7899: 23.2.91; Unsatisfactory interaction between shell-mode-hook and comint-read-input-ring
  2013-05-30 12:55   ` Pete Beardmore
@ 2021-05-10 11:16     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 4+ messages in thread
From: Lars Ingebrigtsen @ 2021-05-10 11:16 UTC (permalink / raw)
  To: Pete Beardmore; +Cc: 7899

Pete Beardmore <pete.beardmore@msn.com> writes:

> patch 1:
> i've extended the original fix for ignoring buffer-local variables to
> incorporate 'comint-input-ring-separator',
> 'comint-input-history-ignore' and 'comint-input-ignoredups' vars which
> suffered from the same issue

Thanks for the patch -- it seems like it didn't receive any attention at
the time (seven years ago), unfortunately.

And if I'm reading the commit logs correctly, this was fixed in 2019 in
a slightly different way in commit 9b54d2b66e1e, so I'm closing this bug
report.  If there's still something to be worked on here, please respond
to the debbugs address, and we'll reopne.

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





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-05-10 11:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-23 19:12 bug#7899: 23.2.91; Unsatisfactory interaction between shell-mode-hook and comint-read-input-ring Reuben Thomas
2013-05-27  7:44 ` bug#7899: " Pete Beardmore
2013-05-30 12:55   ` Pete Beardmore
2021-05-10 11:16     ` bug#7899: 23.2.91; " Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).