bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: shell-expand-line drops quotation marks


From: Keith Thompson
Subject: Re: shell-expand-line drops quotation marks
Date: Wed, 4 Nov 2015 10:48:00 -0800

Thanks, I didn't know about history-expand-line.

Is there some case where shell-expand-line would actually be useful?
If I've typed "foo bar", I can't think of any case where I'd *want*
it to be replaced by foo bar, which has a very different meaning.
Of course the obvious answer is not to use it, but I'm wondering why
it's there.

I might just rearrange my key bindings so shell-expand-line is never
invoked (Escape-^ is just a little bit too awkward to type, and my
fingers are trained to type Escape-Ctrl-E). I guess I won't suggest any
change to bash, since it breaking existing documented behavior is
A Bad Thing.

(BTW, I've been using different fonts and bold for emphasis. Let me know
if that's a problem and you'd prefer just plain text on this list.)


On Wed, Nov 4, 2015 at 6:45 AM, Pádraig Brady <address@hidden> wrote:
On 04/11/15 13:47, Chet Ramey wrote:
> On 11/3/15 7:44 PM, Keith Thompson wrote:
>> The shell-expand-line command (bound to Escape-Ctrl-E) incorrectly removes
>> quotation marks from
>> the command line, often resulting in a command that differs from what the
>> user intended to type.
>
> This is the documented behavior.  shell-expand-line performs all of the
> shell word expansions, including quote removal.

How useful is that though when the expansion gives a different meaning?

>> I often type Escape-Ctrl-E to expand a history substitution in place
>> before typing Enter, but it has the side effect of stripping quotes from
>> what I've already typed.
>
> If you want to perform history expansion, try M-^ (history-expand-line).

Yes this is useful. I've set it up to happen automatically with
this in my .inputrc

$if Bash
  # do history expansion when space entered
  Space: magic-space
$endif

cheers,
Pádraig.



--
Keith Thompson <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]