From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Reuben Thomas Newsgroups: gmane.emacs.bugs Subject: bug#7899: 23.2.91; Unsatisfactory interaction between shell-mode-hook and comint-read-input-ring Date: Sun, 23 Jan 2011 19:12:45 +0000 Message-ID: <87y66b3042.fsf@sc3d.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1295810714 15045 80.91.229.12 (23 Jan 2011 19:25:14 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 23 Jan 2011 19:25:14 +0000 (UTC) To: 7899@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jan 23 20:25:10 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ph5Yh-0003FR-8F for geb-bug-gnu-emacs@m.gmane.org; Sun, 23 Jan 2011 20:25:09 +0100 Original-Received: from localhost ([127.0.0.1]:34549 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ph5Yg-0002GF-8P for geb-bug-gnu-emacs@m.gmane.org; Sun, 23 Jan 2011 14:25:06 -0500 Original-Received: from [140.186.70.92] (port=49911 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ph5Ya-0002Fk-12 for bug-gnu-emacs@gnu.org; Sun, 23 Jan 2011 14:25:01 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ph5YY-0000P1-Dm for bug-gnu-emacs@gnu.org; Sun, 23 Jan 2011 14:24:59 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:50679) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ph5YY-0000Ox-Be for bug-gnu-emacs@gnu.org; Sun, 23 Jan 2011 14:24:58 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1Ph5GD-0002zz-Vp; Sun, 23 Jan 2011 14:06:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Reuben Thomas Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 23 Jan 2011 19:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 7899 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.129580951611471 (code B ref -1); Sun, 23 Jan 2011 19:06:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 23 Jan 2011 19:05:16 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ph5FU-0002yw-6D for submit@debbugs.gnu.org; Sun, 23 Jan 2011 14:05:16 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ph5FQ-0002yk-KD for submit@debbugs.gnu.org; Sun, 23 Jan 2011 14:05:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ph5N8-0006Rf-Tr for submit@debbugs.gnu.org; Sun, 23 Jan 2011 14:13:12 -0500 Original-Received: from lists.gnu.org ([199.232.76.165]:39609) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ph5N8-0006RU-GJ for submit@debbugs.gnu.org; Sun, 23 Jan 2011 14:13:10 -0500 Original-Received: from [140.186.70.92] (port=53313 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ph5N7-0007H3-1D for bug-gnu-emacs@gnu.org; Sun, 23 Jan 2011 14:13:10 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ph5N5-0006Qp-4x for bug-gnu-emacs@gnu.org; Sun, 23 Jan 2011 14:13:08 -0500 Original-Received: from exprod7og121.obsmtp.com ([64.18.2.20]:34871) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1Ph5N4-0006QW-Qc for bug-gnu-emacs@gnu.org; Sun, 23 Jan 2011 14:13:07 -0500 Original-Received: from source ([74.125.82.44]) (using TLSv1) by exprod7ob121.postini.com ([64.18.6.12]) with SMTP ID DSNKTTx9v0y9unN+FJBM4bGjL7vkCJ6HR0Q4@postini.com; Sun, 23 Jan 2011 11:13:06 PST Original-Received: by wwa36 with SMTP id 36so4217652wwa.13 for ; Sun, 23 Jan 2011 11:13:02 -0800 (PST) Original-Received: by 10.216.160.1 with SMTP id t1mr1578011wek.2.1295809967919; Sun, 23 Jan 2011 11:12:47 -0800 (PST) Original-Received: from canta (87-194-87-241.bethere.co.uk [87.194.87.241]) by mx.google.com with ESMTPS id i80sm6154431wej.28.2011.01.23.11.12.46 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 23 Jan 2011 11:12:47 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Sun, 23 Jan 2011 14:06:01 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:43565 Archived-At: 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=E2=80=99re 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=E2=80=99s bash-specific, so I should be testing = that I=E2=80=99m running bash). But now I have to run comint-read-input-ring aga= in. Perhaps shell-mode should instead append comint-read-input-ring to shell-mode-hook if it=E2=80=99s 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 =E2=80=9Cwin=E2=80=9D, 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 C-h v c o m i n t - i n p u=20 t - r i n g M-> M-< M-< C-x k a M-p=20 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=20 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=20 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=20 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=20 M-n M-n M-n M-n M-n M-n M-n =20 . / M-p M-p M-p M-p M-p M-p M-p M-p M-p M-p=20 M-p M-p M-p M-p M-p C-a C-k M-x r=20 e p o r t - e m a c s - b u g 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-snap= shot/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/s= hare/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/emac= s/23.2.91/lisp/progmodes/ruby-mode /home/rrt/.emacs.d/elpa/css-mode-1.0/css-mode hides /usr/share/emacs/site-l= isp/css-mode/css-mode /usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-info hides /usr/share/e= macs/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/emac= s/site-lisp/auctex/latex /usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-mik hides /usr/share/em= acs/site-lisp/auctex/tex-mik /usr/local/share/emacs/23.2.91/site-lisp/dictionary-el/lpath hides /usr/sha= re/emacs/site-lisp/auctex/lpath /usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-buf hides /usr/share/em= acs/site-lisp/auctex/tex-buf /usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-jp hides /usr/share/ema= cs/site-lisp/auctex/tex-jp /usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-bar hides /usr/share/em= acs/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/sha= re/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/e= macs/site-lisp/auctex/tex-font /usr/local/share/emacs/23.2.91/site-lisp/auctex/tex-fold hides /usr/share/e= macs/site-lisp/auctex/tex-fold /usr/local/share/emacs/23.2.91/site-lisp/auctex/texmathp hides /usr/share/e= macs/site-lisp/auctex/texmathp /usr/local/share/emacs/23.2.91/site-lisp/auctex/context hides /usr/share/em= acs/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/e= macs/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) --=20 http://rrt.sc3d.org/