On 3/17/17 5:43 PM, Grisha Levit wrote:
> On Tue, Mar 14, 2017 at 9:07 PM, Chet Ramey <[email protected]> wrote:
>> when PS1 is expanded the first time, the "current" history entry is the
>> one corresponding to the last command entered
>
>> PS2 looks at the current history entry, which is 530 since we've
>> started on it.
>
> I think I'm missing something. It seems that when PS1 is expanded \! *does*
> match what will eventually become the history number of the command-to-be-
> -entered, while PS2 does not. i.e. I can't see how we've started on the second
> line of history if the current input will still be stored in the first.
OK, let me take a look.
>
> $ PS1='\! $ ' PS2=${PS1/$/>}; history -c
> 1 $ : 1.1 \
> 2 > : 1.2
> 2 $ fc -l -1
> 1 : 1.1 : 1.2
>
>> When the first line is entered, the history number and command numbers
>> get incremented
>
> There seems to be a mismatch: the history number is incremented and the
> command number is not:
This is true; the command number is incremented only when the complete
command is parsed and before it's executed, before PS0 is displayed.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/