stdin.readln line editing and recall with up arrow

Daren Scot Wilson darenw at darenscotwilson.com
Wed Mar 1 03:29:55 UTC 2023


On Saturday, 25 February 2023 at 08:47:42 UTC, Richard (Rikki) 
Andrew Cattermole wrote:
> On 25/02/2023 9:45 PM, Daren Scot Wilson wrote:
>> I went with readline.  Left/right arrows work, but up arrow 
>> still does not recall earlier commands. Maybe I need also a 
>> separate input history thing?
>
> https://tiswww.case.edu/php/chet/readline/readline.html#Basic-Behavior

Hmm... the add_history(), or maybe it's rl_add_history(), 
function seems to have been in ancient readline versions but at 
some point all line history code was taken out to be its own 
library.

https://tiswww.case.edu/php/chet/readline/rltop.html
https://tiswww.case.edu/php/chet/readline/history.html

Arch Linux drags in both readline.so and history.so in its 
readline package. No one notices!


Trying import gnu.history;  fails since there's no distinct 
'history' package (yet) and Dub doesn't drag it in along with 
readline.

D can call C and link to anything in /usr/lib easily. Done. It 
works!   How does D know to link to the libhistory.so library?  I 
didn't say "history" anywhere.  But it works.

     extern (C) {
         void add_history(const char*);
     }


I'm tempted to make a history package and submit it to DUB. 
Maybe. After dinner...


More information about the Digitalmars-d-learn mailing list