Subject: Re: bug#8027: closed (Re: bug#8027: 23.2; shell problem with $( and !!)

From: Andrew Hyatt <[email-masked]>
Date: Mon, 25 Jan 2016 23:54:56 -0500

This bug has been re-opened due to duplicates, but I'd just like to also
point out that I just tried this Emacs 25, and can reproduce the
original problem.

[email-masked] (GNU bug Tracking System) writes:

> Your bug report
>
> #8027: 23.2; shell problem with $( and !!
>
> which was filed against the emacs package, has been closed.
>
> The explanation is attached below, along with your original report.
> If you require more details, please reply to [email-masked].
>
> -- 
> 8027: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8027
> GNU Bug Tracking System
> Contact [email-masked] with problems
>
> From: Glenn Morris <[email-masked]>
> Subject: Re: bug#8027: 23.2; shell problem with $( and !!
> To: [email-masked], [email-masked]
> Date: Thu, 17 Feb 2011 00:04:01 -0500 (4 years, 48 weeks, 6 days ago)
>
> Version: 24.1
>
> As a test, I have set shell-delimiter-argument-list to nil in the Emacs
> trunk. It fixes this issue, but may cause other issues.
>
> If it does, maybe add something like shell-delimiter-no-break-re (cf
> f90.el) that specifies a list of tokens containing delimiter characters
> that are NOT to be broken.
>
> ----------
>
> From: relson@osage
> Subject: 23.2; shell problem with $( and !!
> To: [email-masked], [email-masked]
> Date: Sat, 12 Feb 2011 20:32:16 -0500
> Date: Sat, 12 Feb 2011 20:32:16 -0500 (4 years, 49 weeks, 4 days ago)
>
> In a shell window using "!!<tab>" when the previous command uses "$(
> ... )" improperaly adds a space between the "$" and the "(".
>
> Starting with a directory containg a file named "test", here's how to demonstrate the problem:
>
> 1) In a shell window I can execute "find . -name test" and it'll find the 1
> file that's truly in the current directory.
>
> 2) I can then execute 'ls -l !!<tab>' and the expansion will be "ls -l
> `find . -name  test`" which is correct.
>
> 3) I can also execute 'ls -l $( find . -name test)` and the test file will
> be correctly listed.
>
> 4) However, if I then type 'ls -l !!<tab>' the "$(" becomes "$ (" (with
> a space in the middle), and the command fails.  
>
>
> In GNU Emacs 23.2.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1)
>  of 2011-01-31 on osage
> Windowing system distributor `The X.Org Foundation', version 11.0.10902000
> configured using `configure  '--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--libdir=/usr/lib64' '--program-suffix=-emacs-23' '--infodir=/usr/share/info/emacs-23' '--with-crt-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../lib64' '--with-gameuser=games' '--with-sound' '--with-x' '--without-gconf' '--without-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--without-xft' '--without-libotf' '--without-m17n-flt' '--with-x-toolkit=gtk' '--without-hesiod' '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-march=athlon64 -O2 -pipe' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed' 'CPPFLAGS=''
>
> Important settings:
>   value of $LC_ALL: en_US.UTF-8
>   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_US.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
>   tooltip-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
>   blink-cursor-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
>
> Recent input:
> <escape> x s h e l l <return> f i n d SPC . SPC - n 
> a m e SPC t e s t <return> l s SPC - l SPC ` ! ! ` 
> <tab> <return> l s SPC - l SPC $ ( SPC f i n d SPC 
> SPC <backspace> . SPC - n a m e SPC t e s t S-SPC ) 
> <return> ! ! <tab> <return> <escape> x r e p o <tab> 
> r <tab> <return>
>
> Recent messages:
> For information about GNU Emacs and the GNU system, type C-h C-a.
> History item: previous [2 times]
> Making completion list...
>
> Load-path shadows:
> None found.
>
> Features:
> (shadow sort mail-extr message idna sendmail regexp-opt 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 wid-edit
> mailheader canlock sha1 hex-util hashcash mail-utils emacsbug help-mode
> easymenu view ansi-color shell comint ring tooltip ediff-hook vc-hooks
> lisp-float-type mwheel x-win x-dnd 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 gtk
> x-toolkit x multi-tty emacs)