summary refs log tree commit diff
path: root/bin/dash (follow)
Commit message (Collapse)AuthorAge
* Warn twice about stopped jobsJune McEnroe2021-02-04
| | | | | | Not really sure why this previously set job_warning to 2 rather than 1. Anyway I often just press ^D again after the warning without really thinking, so do it twice.
* Set H_SETUNIQUEJune McEnroe2020-12-28
|
* Fix dash Makefile compatibility with BSD makeJune McEnroe2020-12-23
|
* Fix multi-line prompts when right prompts are usedJune McEnroe2020-12-23
| | | | | | editline does not render a multi-line PS1 correctly when RPS1 is also set. To work around this, return only the last line of the cached prompt to editline, and print the leading lines separately inside setprompt.
* Add RPS1 and RPS2 right prompt variablesJune McEnroe2020-12-23
|
* Cache the expanded prompt for editlineJune McEnroe2020-12-23
| | | | | | | | | | | | | | | | | | | Previously, the prompt would be expanded every time editline called the getprompt callback. I think the code may have been written assuming that editline only calls getprompt once per prompt, but it may actually call it many times, for instance every time you type backspace. This results not only in slower editing from expanding complex prompts repeatedly, it also consumes more and more stack memory each time getprompt is called. This can be seen by setting PS1 to some command substitution, typing many characters at the prompt, then holding backspace and observing memory usage. Thankfully all this stack memory is freed between prompts by the stackmark calls around el_gets. This change causes prompt expansion to always happen in the setprompt call, as it would when editline is disabled, and a cached copy of the prompt is saved for getprompt to return every time editline calls it. Since getprompt is no longer doing expansion, the stackmark calls surrounding el_gets can be removed.
* Bind libedit's secret filename completion functionJune McEnroe2020-12-22
| | | | | | | | | | Check if the FreeBSD (and by extension macOS) _el_fn_sh_complete version of the function exists, which does shell escaping of completed filenames before _el_fn_complete learned to. Tab is bound after calling el_set() and el_source() since the default bindings set tab to something else, and it should always be filename completion in the shell.
* Build with libedit by defaultJune McEnroe2020-12-22
|
* Fail if building --with-libedit and can't find libeditJune McEnroe2020-12-22
| | | | | Previously, configure --with-libedit would only fail in the case where libedit is available but its header file histedit.h is not.
* Merge commit '9e55e38997ed4d6998af9e113e215a926c24988e' as 'bin/dash'June McEnroe2020-12-22
From tag 'v0.5.11.2'.
id=7c171b8affd8c27aac8cb9206318314b4041a56c&follow=1'>Rename query ID on nick changeJune McEnroe 2020-02-11Call completeClear when closing a windowJune McEnroe 2020-02-11Don't insert color codes for non-mentionsJune McEnroe 2020-02-11Take first two words in colorMentionsJune McEnroe This lets phrases like "hi june" get colored, but still doesn't get carried away. 2020-02-11Use time_t for save signatureJune McEnroe It's actually more likely to be 64-bit than size_t anyway, and it eliminates some helper functions. Also don't error when reading an empty save file. 2020-02-11Set self.nick to * initiallyJune McEnroe Allows removing a bunch of checks that self.nick is set, and it's what the server usually calls you before registration. Never highlight notices as mentions. 2020-02-11Define ColorCap instead of hardcoding 100June McEnroe 2020-02-11Move hash to top of chat.hJune McEnroe 2020-02-11Move base64 out of chat.hJune McEnroe 2020-02-11Move XDG_SUBDIR out of chat.hJune McEnroe 2020-02-11Fix whois idle unit calculationJune McEnroe Rookie mistake. 2020-02-11Cast towupper to wchar_tJune McEnroe For some reason it takes and returns wint_t... 2020-02-11Cast set but unused variables to voidJune McEnroe 2020-02-11Declare strlcatJune McEnroe 2020-02-11Check if VDSUSP existsJune McEnroe 2020-02-11Fix completeReplace iterationJune McEnroe 2020-02-11Use pkg(8) to configure on FreeBSDJune McEnroe 2020-02-11Remove legacy codeJune McEnroe 2020-02-11Add INSTALLING section to READMEJune McEnroe