[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: About `M-C-e` expand result `'` failed
From: |
Koichi Murase |
Subject: |
Re: About `M-C-e` expand result `'` failed |
Date: |
Sun, 4 Feb 2024 01:01:38 +0900 |
I was just watching the discussion because I thought the existing
behavior would never be changed as it behaved this way for a long
time. However, I now think I should leave a comment because even
Martin (who I believed was one of the careful people about backward
compatibility as seen in [1,2]) seems to suggest a breaking change.
https://lists.gnu.org/archive/html/bug-bash/2022-11/msg00017.html
https://lists.gnu.org/archive/html/bug-bash/2023-11/msg00150.html
2024年2月3日(土) 21:45 Martin D Kealey <martin@kurahaupo.gen.nz>:
> If that's how the documentation is interpreted, then clearly there's a bug
> in the documentation, because this is almost never *useful* behaviour.
This is not true. Before Bash 3.2, READLINE_LINE and READLINE_POINT
were not supported, where Bash configurations used readline macros
(something like « bind '"xxx": "\C-u\C-k$(...)\C-\M-e\r"' ») to
replace the command line with a dynamic content. I.e., the macro first
inserts a text « $(some-code-generator) » and expands it by C-M-e.
Please note that $(some-code-generator) may want to include in a
generated command characters that should be treated as shell special
characters. If one wants to support a wide range of versions from Bash
3.2 (shipped with macOS) to the latest one, this is still one of the
used techniques. If the behavior of C-M-e or shell-expand-line is
going to be changed, such types of Bash configurations are all broken.
For example, if $(some-code-generator) generates « echo "Hello,
world!" », we have been expecting the output « Hello, world! ». If the
quoting were going to be applied in the next version, the output would
become « "Hello, world!" », which is not an expected behavior.
If the requoting behavior would be desired, I strongly suggest keeping
the existing behavior of shell-expand-line but adding a separate new
bindable function (like shell-expand-and-requote-line) to perform the
expansion and requoting.
--
Koichi
- Re: Feature request: prompt strings in output from edit-and-execute-command readline function ( was About `M-C-e` expand result `'` failed ), (continued)
- Re: About `M-C-e` expand result `'` failed, Martin D Kealey, 2024/02/04
Re: About `M-C-e` expand result `'` failed, Chet Ramey, 2024/02/01
Re: About `M-C-e` expand result `'` failed, Martin D Kealey, 2024/02/03
- Re: About `M-C-e` expand result `'` failed,
Koichi Murase <=
- Re: About `M-C-e` expand result `'` failed, Koichi Murase, 2024/02/03
- Re: About `M-C-e` expand result `'` failed, Martin D Kealey, 2024/02/03
- Re: About `M-C-e` expand result `'` failed, Koichi Murase, 2024/02/04
- Re: About `M-C-e` expand result `'` failed, Martin D Kealey, 2024/02/04
- Re: About `M-C-e` expand result `'` failed, Chet Ramey, 2024/02/06
- Re: About `M-C-e` expand result `'` failed, Mike Jonkmans, 2024/02/06
- Re: About `M-C-e` expand result `'` failed, Chet Ramey, 2024/02/07
Re: About `M-C-e` expand result `'` failed, Chet Ramey, 2024/02/06
Re: About `M-C-e` expand result `'` failed, Zachary Santer, 2024/02/06
Re: About `M-C-e` expand result `'` failed, Chet Ramey, 2024/02/06