bug-bash
[Top][All Lists]
Advanced

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

Re: [PATCH] fix bind -X quoting


From: Chet Ramey
Subject: Re: [PATCH] fix bind -X quoting
Date: Mon, 31 Jul 2023 09:43:01 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.13.0

On 7/31/23 9:30 AM, Chet Ramey wrote:
On 7/26/23 5:57 PM, Grisha Levit wrote:

It's just not transitive.


Another issue I didn't think of with printing the unquoted translated
command is that it can include newlines, which is a problem since you
have to read the `bind -X' output one line at a time to reuse it with
`bind -x'.

If there isn't a backwards compatible way to produce output that is
reusable given the current input format, I wonder if we can leverage a
format that's not currently valid as input.

Rather than embed more and more shell-specific output formats that readline
doesn't parse into readline itself, I'm more inclined to add a hook to
allow an application to print the value of a key binding itself. I don't
know if it makes sense to let the application display anything but macro
values, but something like

typedef void rl_macro_display_hook (const char *kseq, const char *value, int ptype);

So you end up with

typedef void rl_macro_print_func_t (const char *, const char *, int);

rl_macro_print_func_t *rl_macro_display_hook = (rl_macro_print_func_t *)NULL;

and have rl_macro_dumper call

(*rl_macro_display_hook) (keyname, (const char *)map[key].function, print_readably);

if it's non-NULL, and let the hook function determine how to print the
binding.

--
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/




reply via email to

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