[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-readline] How does readline know where words end (psql and yank
Re: [Bug-readline] How does readline know where words end (psql and yank-last-arg use case)?
Fri, 8 Jul 2011 19:11:42 +0300
On Fri, Jul 8, 2011 at 19:00, Chet Ramey <address@hidden> wrote:
> On 7/6/11 8:33 AM, Alexander Shulgin wrote:
>> On Wed, Jul 6, 2011 at 14:40, Chet Ramey <address@hidden> wrote:
>>>> I'm just wondering how does readline know where any given word ends
>>>> and another one starts?
>>> In this case, since you're yanking from the history, it uses the history
>>> library's set of word delimiters. In general, it uses the notion of
>>> characters that break words.
>>> The history library's set of word delimiters is a subset of the shell's:
>>> ` \t\n;&()|<>', with quoting honored.
>>> There aren't any hooks to modify this from outside the history library.
>> OK, I see this line in histexpand.c:
>> 51: #define HISTORY_WORD_DELIMITERS " \t\n;&()|<>"
>> Any reason (e.g. security) we couldn't patch it to get this from an
>> environment variable?
> I don't see why not. How about something like HIST_WORDBREAKS?
Good, that would work for me I guess.
> I'd have
> to see about how to implement it so it would work in both bash (which
> maintains its own environment) and other applications that look in the
> global process environment.
Thank you. Please let me know if I can be of any help here.