Release.md (58975B)
1 # ble-0.4.0-devel3 2 3 ## Usage 4 5 **Prerequisites** 6 7 Bash 3.0+ and basic POSIX utilities are required. 8 9 **Download ble-0.4.0-devel3.tar.xz** 10 11 https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel3/ble-0.4.0-devel3.tar.xz 12 13 ```bash 14 # DOWNLOAD with wget 15 wget https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel3/ble-0.4.0-devel3.tar.xz 16 17 # DOWNLOAD with curl 18 curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel3/ble-0.4.0-devel3.tar.xz 19 ``` 20 21 **Trial & Install** 22 23 ```bash 24 # TRIAL 25 tar xJf ble-0.4.0-devel3.tar.xz 26 source ble-0.4.0-devel3/ble.sh 27 28 # INSTALL (quick) 29 tar xJf ble-0.4.0-devel3.tar.xz -C ~/.local/share/blesh 30 echo 'source ~/.local/share/blesh' >> ~/.bashrc 31 32 # INSTALL (more robust) 33 tar xJf ble-0.4.0-devel3.tar.xz -C ~/.local/share/blesh 34 # Add the following line near the top of ~/.bashrc 35 [[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none 36 # Add the following line at the end of ~/.bashrc 37 [[ ${BLE_VERSION-} ]] && ble-attach 38 ``` 39 40 -------------------------------------------------------------------------------- 41 # ble-0.3.4 42 43 ## Usage 44 45 **Prerequisites** 46 47 Bash 3.0+ and basic POSIX utilities are required. 48 49 **Download ble-0.3.4.tar.xz** 50 51 https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz 52 53 ```bash 54 # DOWNLOAD with wget 55 wget https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz 56 57 # DOWNLOAD with curl 58 curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz 59 ``` 60 61 **Trial & Install** 62 63 ```bash 64 # TRIAL 65 tar xJf ble-0.3.4.tar.xz 66 source ble-0.3.4/ble.sh 67 68 # INSTALL 69 tar xJf ble-0.3.4.tar.xz -C ~/.local/share/blesh 70 # Add the following line near the top of ~/.bashrc 71 [[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none 72 # Add the following line at the end of ~/.bashrc 73 [[ ${BLE_VERSION-} ]] && ble-attach 74 ``` 75 76 ## blesh-0.3 Fixes 77 - decode: fix `bind` emulation in .bashrc (v0.3) 742777e 78 - global: pick fixes and changes from ble-0.1..0.2 backports 78bbc5e 79 - bump 0.3.4 9da6774 80 81 ## Fixes 82 - complete: fix a problem that candidates are not updated after menu-filter (reported by 3ximus) `#D1428` 1c7786e (master: 98fbc1c) 83 - edit: work around the wrong job information of Bash in trap handlers (reported by 3ximus) `#D1435` `#D1436` d40847f (master: bc4735e) 84 - edit (command-help): work around the Bash bug that tempenv vanishes with `builtin eval` `#D1438` cc8ca96 (master: 8379d4a) 85 - global: suppress missing locale errors (reported by 3ximus) `#D1440` b52a798 (master: 4d3c595) 86 - edit (sword): fix definition of `sword` (shell words) `#D1441` 2370bce (master: f923388) 87 - edit (`kill-forward-logical-line`): fix a bug not deleting newline at the end of the line `#D1443` 2a8a7f6 (master: 09cf7f1) 88 - global: work around bash-4.2 bug of `declare -gA` (reported by 0xC0ncord) `#D1470` 2f85ed3 (master: 8856a04) 89 - global: fix declaration of associative arrays for `ble-reload` (reported by 0xC0ncord) `#D1471` 422de69 (master: 3cae6e4) 90 - util (`ble/util/msleep`): fix hang in Cygwin by swithing from `/dev/udp/0.0.0.0/80` to `/dev/zero` `#D1452` 5ace564 (master: d4d718a) 91 - syntax: fix broken AST with `[[` keyword `#D1454` 1d48e79 (master: 69658ef) 92 - benchmark (`ble-measure`): work around a locale-dependent decimal point of `EPOCHREALTIME` (reported by 3ximus) `#D1460` f3833ad (master: 1aa471b) 93 - util (`ble/util/msleep`): work around the bash-4.3 bug of `read -t` (reported by 3ximus) `#D1468` `#D1469` 70797cf (master: 4ca9b2e) 94 - bind: work around broken `cmd_xmap` after switching the editing mode `#D1478` 909f461 (master: 8d354c1) 95 - edit: clear graphic rendition on newlines and external commands `#D1479` 59ede5c (master: 18bb2d5) 96 - decode (rlfunc): work around incomplete bytes in keyseq (reported by onelittlehope) `#D1483` 948a38d (master: 3559658) beb0383 37363be 97 - canvas: fix a glitch that SGR at the end of command line is applied to new lines `#D1498` 6871634 (master: 4bdfdbf) 98 - syntax: fix a bug that `eval() { :; }`, `declare() { :; }` are not treated as function definition `#D1529` 6c1d295 (master: b429095) 99 - decode: fix a hang on attach failure by cache corruption `#D1531` d4b0700 (master: 24ea379) 100 - progcomp: fix non-working `complete -C prog` (reported by Archehandoro) `#D1535` 47b3ade (master: 026432d) 101 - bind: fix a problem that `bind '"seq":"key"'` causes a loop macro `bind -s key key` (reported by thanosz) `#D1536` e2a502d (master: ea05fc5) 102 - main: work around `. ble.sh --{test,update,clear-cache}` in intereactive sessions `#D1555` 500915f (master: bbc2a90) 103 - main: fix reloading after ble-update (fixup 500915f (master: bbc2a90)) (fixed by oc1024) `#D1558` 9372670 104 - main: fix exit status for `bash ble.sh --test` (fixup 500915f (master: bbc2a90)) `#D1558` 641238a 105 - main: work around sourcing `ble.sh` inside subshells `#D1554` 500915f (master: bbc2a90) 106 - global: use a better workaround of bash-4.2 `declare -gA` by separating assignment `#D1567` 40827ef (master: 2408a20) 107 - util: work around bash-3.0 bug `"${scal[@]/xxx}"` `#D1570` 7e10cf4 (master: 24f79da) 108 - syntax: fix a bug that argument completion is attempted in nested commands (reported by huresche) `#D1579` 6987ae8 (master: 301d40f) 109 - edit (brackated-paste): fix incomplete `CR => LF` conversion (reported by alborotogarcia) `#D1587` 2651c8e (master: 8d6da16) 110 - main (adjust-bash-options): adjust `LC_COLLATE=C` `#D1588` 94cc9d2 (master: e87ac21) 111 - highlight (`layer:region`): fix blocked lower-layer changes without selection changes `#D1596` d40d42a (master: 5ede3c6) 112 - complete (`auto-menu`): fix sleep loops by clock/sclock difference `#D1597` 0abc15b (master: 53dd018) 113 - util: work around the Bash 3 bug of array assignments with `^A` and `^?` in Bash 3.2 `#D1614` 0eac4df (master: b9f7611) 114 - benchmark (`ble-measure`): fix a bug that the result is always 0 in Bash 3 and 4 (fixup bbc2a904) `#D1615` bc3cdab (master: a034c91) 115 - decode, canvas, etc.: explicitly treat CSI arguments as decimal numbers (reported by GorrillaRibs) `#D1625` 97bce68 (master: c6473b7) 2ea48d7 116 - edit: fix a bug that `command-help` doesn't work `#D1635` c375fbb (master: 0f6a083) 117 - complete: fix a task scheduling bug of referencing two different clocks (reported by rashil2000) `#D1636` df9f932 (master: fea5f5b) 118 - canvas: update prompt trace on `char_width_mode` change (reported by Barbarossa93) `#D1642` 00f9ce8 (master: 68ee111) 119 - decode: fix a bug that the characters input while initialization are delayed `#D1670` 734bd50 (master: 430f449) 120 - util (`ble/util/readfile`): fix a bug of always exiting with 1 in `bash <= 3.2` (reported by laoshaw) `#D1678` 51d244a (master: 61705bf) 121 - trace: fix wrong positioning of the ellipses on overflow `#D1684` dea87c7 (master: b90ac78) 122 - mandb: generate completions of options also for the empty word `#D1689` dea87c7 (master: b90ac78) 123 - complete: do not generate keywords for quoted command names `#D1691` 5b1e5be (master: 60d244f) 124 - menu (menu-style:align): fix the failure of delaying `ble/canvas/trace` on items (motivated by banoris) `#D1710` 3d56593 (master: acc9661) 125 - complete: fix empty completions with `FIGNORE` (reported by seanfarley) `#D1711` 49e75ee (master: 144ea5d) 126 - main: fix the message of owner errors of cache directories (reported by zim0369) `#D1712` 02aeb4a (master: b547a41) 127 - util (`ble/string#escape-for-bash-specialchars`): fix escaping of TAB `#D1713` accf8f3 (master: 7db3d2b) 128 - util (visible-bell): erase visible-bell before running external commands `#D1723` 72a11ae (master: 0da0c1c) 129 - util (`ble/function`): work around `shopt -u extglob` `#D1725` 3819e83 (master: 952c388) 130 - syntax: fix uninitialized syntax-highlighting in bash-3.2 `#D1731` 7bd03a5 (master: e3f5bf7) 131 - main: fix the workaround for `set -eu` and refactor `#D1743` a949af0 (master: 6a946f0) 132 - progcomp: retry completions on `$? == 124` also for non-default completions (reported by SuperSandro2000) `#D1759` e217932 (master: 82b9c01) 133 - util (`ble/util/import`): work around filenames with bash special characters `#D1763` 4179e3d (master: b27f758) 134 - edit: fix the restore failure of `PS1` and `PROMPT_COMMAND` on `ble-detach` `#D1784` 4f4c924 (master: b9fdaab) 135 - complete: do not attempt an independent rhs completion for arguments (reported by rsteube) `#D1787` 7bf32ca (master: f8bbe2c) 136 - history: work around possible dirty prefix `*` in the history output `#D1808` 84184ce (master: 64a740d) 137 - util(`ble/util/eval-pathname-expansion`): fix restoring shopt options in bash-4.0 `#D1825` d3b3f7b (master: 736f4da) 138 - decode: fix the workaround for `set -e` with `--prompt=attach` `#D1832` 51cb735 (master: 5111323) 139 - decode (`encoding:C`): fix initialization for isolated ESC `#D1839` aaa74b5 (master: c3bba5b) 140 - main. util: fix problems of readlink etc. found by test in macOS (reported by aiotter) `#D1849` a1adc7f (master: fa955c1) `#D1855` a22e145 141 - progcomp: fix a bug that `COMP_WORDBREAKS` is ignored `#D1872` b338066 (master: 4d2dd35) 142 - global: quote `return $?` `#D1884` 4f14f7a (master: 801d14a) 143 - main: fix adjustments of bash options (reported by rashil2000) `#D1895` 7bd25c9 (master: 138c476) 144 - decode: fix a bug that the tab completion do not work with bash-4.4 and lower `#D1928` 6351e7f (master: 7da9bce) 145 - bind: fix <kbd>M-C-@</kbd>, <kbd>C-x C-@</kbd>, and <kbd>M-C-x</kbd> (`bash-4.2 -o emacs`) `#D1920` 02f45f3 (master: a410b03) 146 - complete: fix non-working ambiguous path completion with `..` and `.` in the path `#D1930` fdb76e9 (master: 632e90a) 147 - main (ble-reload): fix failure by non-existent rcfile `#D1931` 58de996 (master: b7ae2fa) 148 - util: fix ble/util/clock in bash-4.2 [main: fix the timestamp in the session ID in bash-4.2] `#D1954` 9a24b1e (master: 651c70c1) 149 - edit (`ble/textarea#render`): fix interleaving outputs to `_ble_util_buffer` and `DRAW_BUFF` `#D1987` 62519a7 (master: 6d61388) 150 - keymap/vi (`operator:filter`): do not append newline at the end of line `#D1994` 8207d4f (master: bce2033) 151 - keymap/vi (`expand-range-for-linewise-operator`): fix the end point being not extended `#D1994` 8207d4f (master: bce2033) 152 - syntax: fix unrecognized asignment `echo arr[i]+=rhs` [sabbrev: apply sabbrev to right-hand sides of variable assignments] `#D2007` 948f50f (master: 41faa494) 153 154 ## Changes 155 - syntax: exclude <code>\\ + LF</code> at the word beginning from words (motivated by cmplstofB) `#D1431` 1b00fd2 (master: 67e62d6) 156 - edit: preserve the state of `READLINE_{LINE,POINT,MARK}` `#D1437` cc8ca96 (master: 8379d4a) 157 - edit: change default behavior of <kbd>C-w</kbd> and <kbd>M-w</kbd> to operate on backward words `#D1448` b1fd84a (master: 47a3301) 158 - edit (`ble/builtin/read`): cancel by <kbd>C-d</kbd> on an empty line `#D1473` 4fae77a (master: ecb8888) 159 - syntax: change syntax context after `time ;` and `! ;` for Bash 4.4 `#D1477` e55e3df (master: 4628370) 160 - decode (rlfunc): update mapping `vi-replace` in `imap` and `vi-editing-mode` in `nmap` (reported by onelittlehope) `#D1484` 3a2d0fe (master: f2ca811) 161 - prompt: invalidate prompt and textarea on prompt setting changes `#D1492` e28f330 (master: 1f55913) 162 - main: accept non-regular files as `blerc` and add option `--norc` `#D1530` 4b0eb87 (master: 7244e2f) 163 - prompt: adjust behavior of `LINENO` and prompt sequence `\#` (reported by tycho-kirchner) `#D1542` f3668ba (master: 8b0257e) 164 - main: show notifications against debug versions of Bash `#D1612` 0ee8415 (master: 8f974aa) 165 - edit: suppress only `stderr` with `internal_suppress_bash_output` (motivated by rashil2000) `#D1646` b0a9021 (master: a30887f) 166 - prompt: do not evaluate `PROMPT_COMMAND` for subprompts `#D1654` 9c0e515 (master: 08e903e) 167 - main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) `#D1676` a602876 (master: 0525528) 88e2df5 168 - main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) `#D1676` 0525528 79efd42 (master: 88e2df5) 169 - syntax: revert 99f2234 (master: 371a5a4) and generate empty completion source on syntax error `#D1609` e09fcab 170 - syntax: do not start argument completions immediately after previous word (reported by EmilySeville7cfg) `#D1690` 99f2234 (master: 371a5a4) 171 - syntax: revert 371a5a4 and generate empty completion source on syntax error `#D1609` a1d1286 (master: e09fcab) 172 - canvas: do not insert explicit newlines on line folding if possible (reported by banoris) `#D1745` d878fce (master: 02b9da6) dc3827b 173 - edit (`ble-bind -x`): preserve multiline prompts on execution of `bind -x` commands (requested by SuperSandro2000) `#D1755` 240bfaa (master: 7d05a28) 174 - util (`ble/util/buffer`): hide cursor in rendering `#D1758` 5907567 (master: e332dc5) 175 - complete (`action:file`): always suffix `/` to complete symlinked directory names (reported by SuperSandro2000) `#D1759` ebdc58b (master: 397ac1f) 176 - edit: fix layout with `prompt_rps1` caused by missing `opts=relative` for `ble/textmap#update` `#D1769` e799191 (master: f6af802) 177 - edit (`ble-detach`): prepend a space to `stty sane` for `HISTIGNORE=' *'` `#D1796` 31bc2b7 (master: 26b532e) 178 - edit: the widgets `{kill,copy,delete}-region-or` now receives widgets as arguments `#D1021` e222c48 (master: bbbd155) 179 - decode (`bind`): do not treat non-beginning `#` as comments `#D1820` f9db7d8 (master: 65c4138) 180 - history: disable the history file when `HISTFILE` is empty `#D1836` 7153250 (master: 9549e83) 181 - main (`ble-reload`): preserve the original initialization options `#D1852` 8912d81 (master: d8c92cc) 182 - progcomp: reproduce arguments of completion functions passed by Bash `#D1872` b338066 (master: 4d2dd35) 183 - color: let `bleopt term_index_colors` override the default if specified `#D1878` e7c657c (master: 7d238c0) 184 - decode (`vi_imap-rlfunc.txt`): update the widget for `backward-kill-word` as `kill-backward-{u => c}word` `#D1896` 3c4e3a4 (master: e19b796) 185 - term (`_ble_term_TERM`): detect wezterm-20220408 `#D1909` f3a8382 (master: 486564a) 186 - keymap/vi (`decompose-meta`): translate <kbd>S-a</kbd> to <kbd>A</kbd> `#D1988` 9e0c187 (master: 600e845) 187 - term (`_ble_term_TERM`): detect konsole `#D1988` 9e0c187 (master: 600e845) ed53858 188 189 ## Compatibility 190 - term: work around leaked <kbd>DA2R</kbd> in screen from outside terminal `#D1485` 4d77fab (master: e130619) 191 - util (`modifyOtherKeys`): work around a quirk of kitty (reported by NoahGorny) `#D1549` 823eb83 (master: f599525) 192 - global: work around empty `vi_imap` cache by `tmux-resurrect` `#D1562` d7d2a23 (master: 560160b) 193 - decode: identify `kitty` and treat `\e[27u` as isolated ESC (reported by lyiriyah) `#D1585` 2f7404e (master: c2a84a2) 194 - complete: suppress known error messages of `bash-completion` (reported by oc1024, Lun4m) `#D1622` 558322c (master: d117973) 195 - util (`modifyOtherKeys`): update the workaround for a new quiark of kitty `#D1627` 90d9284 (master: 3e4ecf5) 196 - main: work around `set -B` and `set -k` `#D1628` 55494eb (master: a860769) 197 - term: disable `modifyOtherKeys` and do not send `DA2` for `st` (requested by Shahabaz-Bagwan) `#D1632` 7e08766 (master: 92c7b26) 198 - cmap: add `st`-specific escape sequences for cursor keys `#D1633` 1391c90 (master: acfb879) 199 - cmap: distinguish <kbd>find</kbd>/<kbd>select</kbd> from <kbd>home</kbd>/<kbd>end</kbd> for openSUSE `inputrc.keys` (reported by cornfeedhobo) `#D1648` 886cc07 (master: c4d28f4) 200 - cmap: freeze the internal codes of <kbd>find</kbd>/<kbd>select</kbd> and kitty special keys `#D1674` 7d02058 (master: fdfe62a) 201 - decode: work around the overwritten builtin `set` (reported by eadmaster) `#D1680` 5acb117 (master: a6b4e2c) 202 - util (`modifyOtherKeys`): use the kitty protocol for kitty 0.23+ which removes the support of `modifyOtherKeys` (reported by kovidgoyal) `#D1681` 696264b (master: ec91574) 203 - complete: work around the variable leaks by `virsh` completion from `libvirt` (reported by telometto) `#D1682` 7a65fc3 (master: f985b9a) 204 - stty: do not remove keydefs for <kbd>C-u</kbd>, <kbd>C-v</kbd>, <kbd>C-w</kbd>, and <kbd>C-?</kbd> (reported by laoshaw) `#D1683` ff8fb83 (master: 82f74f0) 205 - decode (`ble/builtin/bind`): improve compatibility of the deprecated form `bind key:rlfunc` (motivated by cmplstofB) `#D1698` c3904ff (master: b6fc4f0) 206 - main: work around `XDG_RUNTIME_DIR` of a different user by `su` (reported by zim0369) `#D1712` dbf58e4 (master: 8d37048) 207 - main (`ble/util/readlink`): work around non-standard or missing `readlink` (motivated by peterzky) `#D1720` 60595bd (master: a41279e) 208 - decode (`ble/builtin/bind`): fix a bug that only lowercase is accepted for deprecated form `bind key:rlfunc` (reported by returntrip) `#D1726` 43cf9b9 (master: a67458e) e363f1b 209 - decode (`ble/builtin/bind`): fix a bug that only lowercase is accepted for deprecated form `bind key:rlfunc` (reported by returntrip) `#D1726` a67458e dd358d7 (master: e363f1b) 210 - global: work around the arithmetic syntax error of `10#` in Bash-5.1 `#D1734` b321b57 (master: 7545ea3) 211 - global: adjust implementations for Bash 5.2 `patsub_replacement` `#D1738` 66ae615 (master: 4590997) 212 - main: check `/dev/tty` on startup (reported by andychu) `#D1749` e6c2855 (master: 711c69f) 213 - global: work around `shopt -s compat42` `#D1754` 1f254b5 (master: a75bb25) 214 - global: identify bash-4.2 bug that internal quoting of `${v/%$empty/"$rep"}` remains `#D1753` 1f254b5 (master: a75bb25) 215 - prompt: fix a bug of `ble/prompt/print` redundantly quoting `$` `#D1752` 1f254b5 (master: a75bb25) 216 - global: work around `compat42` quoting of `"${v/pat/"$rep"}"` `#D1751` 1f254b5 (master: a75bb25) 217 - util: add identification of Windows Terminal `wt` `#D1758` 5907567 (master: e332dc5) 218 - global: work around bash-3.0 bug that single quotes remains for `"${v-$''}"` `#D1774` 30440b2 (master: 9b96578) 219 - util (`modifyOtherKeys`): fix a bug that kitty protocol is never activated `#D1842` f8aeb51 (master: 14f3c81) 220 - util (`modifyOtherKeys`): work around delayed terminal identification `#D1842` f8aeb51 (master: 14f3c81) 221 - main: resolve empty `HOSTNAME` [originally: contrib: add `histdb`] `#D1925` e82230e (master: 44d9e104) 222 - main: warn empty `LANG` [originally: main: support an option `--inputrc={diff,all,user,none}`] `#D1926` ede4ee7 (master: 92f2006) 223 - term (`terminology`): work around terminal glitches `#D1946` ccb93a5 (master: 9a1b4f9) 224 - edit: always adjust the terminal states with `bind -x` (reported by linwaytin) `#D1983` 992131c (master: 5d14cf1) 225 - syntax: suppress brace expansions in designated array initialization in Bash 5.3 `#D1989` 1f0d8e1 (master: 1e7b884) 226 - util (function#evaldef): work around `set -e` [progcomp: work around slow `nix` completion] `#D1997` 2ab4e4b (master: 2c1aacfc) 227 - util (`string#quote-word`): work around `set -ue` [util, edit: add `ble/util/message` and `ble append-line`] `#D2001` 2317562 (master: 2a524f34) 228 - complete: suppress error messages from `_adb` `#D2005` 2f77171 (master: f2aa32b) 229 - edit: restore `PS1` while processing `bind -x` `#D2024` 604c092 (master: 2eadcd5) 230 231 ## Optimization 232 - complete (`ble/complete/source:file`): remove slow old codes (reported by timjrd) `#D1512` 60a33e2 (master: e5be0c1) 233 - util (`ble/util/assign`): work around subshell conflicts `#D1578` 4117d1b (master: 6e4bb12) 234 - prompt: fix not properly set `$?` in `${PS1@P}` evaluation (reported by nihilismus) `#D1644` a3cfd0d (master: 521aff9) 235 - util (`ble/string#split`): optimize `#D1826` 9dcbbd4 (master: 7bb10a7) 236 - debug: add `ble/debug/profiler` (motivated by SuperSandro2000) `#D1824` f629698 11aa4ab 9dcbbd4 (master: 7bb10a7) 237 - global: avoid passing arbitrary strings through `awk -v var=value` `#D1827` 9edb1aa (master: 82232de) 238 239 ## Internal changes and fixes 240 - main: include hostname in local runtime directory `#D1444` 3e648a9 (master: 6494836) 241 - benchmark (`ble-measure`): support `-T TIME` and `-B TIME` option `#D1460` f3833ad (master: 1aa471b) 242 - global: fix status check for read timeout `#D1467` f190f9a (master: e886883) 243 - util, etc: ensure each function to work with arbitrary `IFS` `#D1490` `#D1491` c33fad0 (master: 5f9adfe) 244 - global: work around `localvar_inherit` for varname-list init `#D1566` 8c67b79 (master: 5c2edfc) 245 - util: fix `ble/util/dense-array#fill-range` e397120 (master: a46fdaf) 246 - util: fix leak variables `buff`, `trap`, `{x,y}{1,2}` `#D1572` 82113e9 (master: 5967d6c) 247 - util: fix leak variables `#D1643` 0817df6 (master: fcf634b) 248 - edit (`command-help`): use `ble/util/assign/.mktmp` to determine the temporary filename `#D1663` 2ff6078 (master: 1af0800) 249 - Makefile: add fallback Makefile for BSD make `#D1805` ea8b966 (master: e5d8d00) 250 - util, decode, vi: fix leak variables `#D1933` 9e2e823 (master: 8d5cab8) 251 - syntax: fix code formatting [originally: complete: support auto-complete sources] `#D1938` 450f70b (master: 00cae745) 252 - main: use builtin for ":" [histdb: support timeout of background processes] `#D1971` 482ddb5 (master: e0566bdc) 253 - global: normalize to `_a-zA-Z` [sabbrev: apply sabbrev to right-hand sides of variable assignments] `#D2006` a101fe6 (master: 41faa494) 254 - util (restore-vars): work around `set -u` [lib: add `util.bgproc` for `ble/util/bgproc`] `#D2017` 8787ca5 (master: 7803305f) 255 - util: update `ble/util/conditional-sync` [util.bgproc: increase frequency of bgproc termination check] `#D2027` 79fd13c (master: 8d623c1) 256 257 ## Test 258 - util (ble/util/s2bytes): clear locale cache `#D1881` 45f3df3 (master: 2e1a7c1) 259 - util (ble/util/s2c): work around intermediate mbstate of bash <= 5.2 `#D1881` 45f3df3 (master: 2e1a7c1) 260 - util (ble/encoding:UTF-8/b2c): fix interpretation of leading byte `#D1881` 45f3df3 (master: 2e1a7c1) 261 - complete: fix syntax error for bash-3.0 `#D1881` b534799 (master: 0b3e611) 262 263 ## Documentation 264 - blerc: rename from `blerc` to `blerc.template` `#D1899` 3c4e3a4 (master: e19b796) 265 - wiki/Q&A: add item for defining a widget calling multiple widgets (motivated by micimize) `#D1898` 3c4e3a4 (master: e19b796) 266 - blerc: add frequently used keybindings (motivated by KiaraGrouwstra, micimize) `#D1896` `#D1897` 3c4e3a4 (master: e19b796) 267 268 ## Contrib 269 - fzf-key-bindings: fix a problem that `modifyOtherKeys` is not reflected (reported by SuperSandro2000) `#D1908` f3a8382 (master: 486564a) 270 271 ## New features 272 - canvas: update emoji database and support `bleopt emoji_version` (motivated by endorfina) `#D1454` 3f6c9b9 (master: d1f8c27) 273 - syntax: support tilde expansions in parameter expansions `#D1513` e32914f (master: 0506df2) 274 - prompt (`contrib/prompt-git`): support dirty checking `#D1601` 50a0094 (master: b2713d9) 275 - util (`bleopt`, `bind`): fix error message and exit status, respectively `#D1640` 29728b1 (master: b663cee) 276 - edit: support bash-5.2 binding of `prior/next` to `history-search-{for,back}ward` `#D1661` a3a353e (master: d26a6e1) 277 - util: suppress false warnings of `bind` inside non-interactive shells (reported by wukuan405) `#D1823` 82c9934 (master: 1e19a67) 278 - auto-complete: cancel auto-complete for `magic-space` `#D1913` 05c0888 (master: 01b4f67) 279 - complete: support ambiguous completion for command paths `#D1922` 6d1e1ba (master: 8a716ad) 280 - syntax: support context after `((...))` and `[[ ... ]]` in bash-5.2 `#D1962` 57d7674 (master: 67cb967) 281 282 -------------------------------------------------------------------------------- 283 # ble-0.2.7 284 285 ## Usage 286 287 **Prerequisites** 288 289 Bash 3.0+ and basic POSIX utilities are required. 290 291 **Download ble-0.2.7.tar.xz** 292 293 https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz 294 295 ```bash 296 # DOWNLOAD with wget 297 wget https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz 298 299 # DOWNLOAD with curl 300 curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz 301 ``` 302 303 **Trial & Install** 304 305 ```bash 306 # TRIAL 307 tar xJf ble-0.2.7.tar.xz 308 source ble-0.2.7/ble.sh 309 310 # INSTALL 311 tar xJf ble-0.2.7.tar.xz -C ~/.local/share/blesh 312 # Add the following line near the top of ~/.bashrc 313 [[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach 314 # Add the following line at the end of ~/.bashrc 315 ((_ble_bash)) && ble-attach 316 ``` 317 318 ## blesh-0.2 fixes 319 - global: fix `ble/{is- => util/is}function` 5e82ca7a 320 - global: pick fixes and changes from ble-0.1 backports 013eb1cd 321 - complete: fix up 4df15e1e f02bd2a5 322 - bump 0.2.7 1118c803 323 324 ## Fixes 325 - edit: work around the wrong job information of Bash in trap handlers (reported by 3ximus) `#D1435` `#D1436` 795a647c (master: bc4735e0) 326 - edit (sword): fix definition of `sword` (shell words) `#D1441` 5e73cf6b (master: f9233889) 327 - edit (`kill-forward-logical-line`): fix a bug not deleting newline at the end of the line `#D1443` 03787a2d (master: 09cf7f14) 328 - global: work around bash-4.2 bug of `declare -gA` (reported by 0xC0ncord) `#D1470` a2ace444 (master: 8856a04f) 329 - global: fix declaration of associative arrays for `ble-reload` (reported by 0xC0ncord) `#D1471` 533eba77 (master: 3cae6e4d) 330 - util (`ble/util/msleep`): fix hang in Cygwin by swithing from `/dev/udp/0.0.0.0/80` to `/dev/zero` `#D1452` 46992e79 (master: d4d718ab) 331 - syntax: fix broken AST with `[[` keyword `#D1454` 0482bf64 (master: 69658efc) 332 - util (`ble/util/msleep`): work around the bash-4.3 bug of `read -t` (reported by 3ximus) `#D1468` `#D1469` fad78ea5 (master: 4ca9b2e2) 333 - bind: work around broken `cmd_xmap` after switching the editing mode `#D1478` 97ca1171 (master: 8d354c1b) 334 - edit: clear graphic rendition on newlines and external commands `#D1479` 759b96dd (master: 18bb2d5c) 335 - canvas: fix a glitch that SGR at the end of command line is applied to new lines `#D1498` a6ac1216 (master: 4bdfdbf8) 336 - syntax: fix a bug that `eval() { :; }`, `declare() { :; }` are not treated as function definition `#D1529` a4cda9c3 (master: b4290958) 337 - decode: fix a hang on attach failure by cache corruption `#D1531` a4c13ab8 (master: 24ea3792) 338 - benchmark (`ble-measure`): fix a bug that the result is always 0 in Bash 3 and 4 (fixup 8eb493a9 (master: bbc2a904)) `#D1615` a034c91 339 - main: work around `. ble.sh --{test,update,clear-cache}` in intereactive sessions `#D1555` 8eb493a9 (master: bbc2a904) 340 - main: fix reloading after ble-update (fixup 8eb493a9 (master: bbc2a904)) (fixed by oc1024) `#D1558` 9372670 341 - main: fix exit status for `bash ble.sh --test` (fixup 8eb493a9 (master: bbc2a904)) `#D1558` 641238a 342 - main: work around sourcing `ble.sh` inside subshells `#D1554` 8eb493a9 (master: bbc2a904) 343 - global: use a better workaround of bash-4.2 `declare -gA` by separating assignment `#D1567` 0b7de999 (master: 2408a207) 344 - edit (brackated-paste): fix incomplete `CR => LF` conversion (reported by alborotogarcia) `#D1587` ac738bb4 (master: 8d6da161) 345 - highlight (`layer:region`): fix blocked lower-layer changes without selection changes `#D1596` 650140ff (master: 5ede3c69) 346 - util: work around the Bash 3 bug of array assignments with `^A` and `^?` in Bash 3.2 `#D1614` 0ed7f6dc (master: b9f76118) 347 - benchmark (`ble-measure`): fix a bug that the result is always 0 in Bash 3 and 4 (fixup bbc2a904) `#D1615` 28e8dfed (master: a034c91a) 348 - decode, canvas, etc.: explicitly treat CSI arguments as decimal numbers (reported by GorrillaRibs) `#D1625` c9e4198b (master: c6473b78) 2ea48d7 349 - edit: fix a bug that `command-help` doesn't work `#D1635` b992bb5d (master: 0f6a0834) 350 - canvas: update prompt trace on `char_width_mode` change (reported by Barbarossa93) `#D1642` 56b77a83 (master: 68ee1112) 351 - util (`ble/util/readfile`): fix a bug of always exiting with 1 in `bash <= 3.2` (reported by laoshaw) `#D1678` 5b843bb6 (master: 61705bf6) 352 - complete: do not generate keywords for quoted command names `#D1691` 7211b1ec (master: 60d244fe) 353 - complete: fix empty completions with `FIGNORE` (reported by seanfarley) `#D1711` 90f388aa (master: 144ea5db) 354 - main: fix the message of owner errors of cache directories (reported by zim0369) `#D1712` d2bf86c1 (master: b547a41a) 355 - syntax: fix uninitialized syntax-highlighting in bash-3.2 `#D1731` 6aa12c82 (master: e3f5bf74) 356 - progcomp: retry completions on `$? == 124` also for non-default completions (reported by SuperSandro2000) `#D1759` c641fb1b (master: 82b9c011) 357 - util (`ble/util/import`): work around filenames with bash special characters `#D1763` 7da5f048 (master: b27f7585) 358 - edit: fix the restore failure of `PS1` and `PROMPT_COMMAND` on `ble-detach` `#D1784` 47dfdd94 (master: b9fdaabd) 359 - history: work around possible dirty prefix `*` in the history output `#D1808` cc14f59c (master: 64a740d7) 360 - decode: fix the workaround for `set -e` with `--prompt=attach` `#D1832` 958aae6b (master: 51113237) 361 - main. util: fix problems of readlink etc. found by test in macOS (reported by aiotter) `#D1849` 8f0acf3d (master: fa955c1a) `#D1855` a22e145 362 - global: quote `return $?` `#D1884` 9e10b54b (master: 801d14af) 363 - bind: fix <kbd>M-C-@</kbd>, <kbd>C-x C-@</kbd>, and <kbd>M-C-x</kbd> (`bash-4.2 -o emacs`) `#D1920` 342826f3 (master: a410b038) 364 - keymap/vi (`operator:filter`): do not append newline at the end of line `#D1994` 2a8e746f (master: bce20339) 365 - keymap/vi (`expand-range-for-linewise-operator`): fix the end point being not extended `#D1994` 2a8e746f (master: bce20339) 366 - syntax: fix unrecognized asignment `echo arr[i]+=rhs` [sabbrev: apply sabbrev to right-hand sides of variable assignments] `#D2006` 4ed4fd4f (master: 41faa494) 367 - syntax: fix unrecognized variable assignment of the form `echo arr[i]+=rhs` `#D2007` 4ed4fd4f (master: 41faa494) 368 369 ## Changes 370 - syntax: exclude <code>\\ + LF</code> at the word beginning from words (motivated by cmplstofB) `#D1431` 6044a485 (master: 67e62d64) 371 - edit: change default behavior of <kbd>C-w</kbd> and <kbd>M-w</kbd> to operate on backward words `#D1448` 787ff57f (master: 47a3301a) 372 - edit: the widgets `{kill,copy,delete}-region-or` now receives widgets as arguments `#D1021` 8f48aff1 (master: bbbd155f) 373 - edit (`ble/builtin/read`): cancel by <kbd>C-d</kbd> on an empty line `#D1473` 551bde3a (master: ecb8888d) 374 - syntax: change syntax context after `time ;` and `! ;` for Bash 4.4 `#D1477` 0b66cf4a (master: 46283706) 375 - prompt: invalidate prompt and textarea on prompt setting changes `#D1492` 54d310df (master: 1f559135) 376 - prompt: adjust behavior of `LINENO` and prompt sequence `\#` (reported by tycho-kirchner) `#D1542` 4b63b164 (master: 8b0257e2) 377 - main: show notifications against debug versions of Bash `#D1612` 608ac2ad (master: 8f974aa1) 378 - prompt: do not evaluate `PROMPT_COMMAND` for subprompts `#D1654` 5c0cfdef (master: 08e903e0) 379 - main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) `#D1676` 2587bb01 (master: 05255282) 88e2df5 380 - main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) `#D1676` 0525528 5f638563 (master: 88e2df51) 381 - util (`ble/util/buffer`): hide cursor in rendering `#D1758` 4ecbbdc2 (master: e332dc5f) 382 - edit (`ble-detach`): prepend a space to `stty sane` for `HISTIGNORE=' *'` `#D1796` bd903716 (master: 26b532e7) 383 - history: disable the history file when `HISTFILE` is empty `#D1836` d97ca100 (master: 9549e831) 384 - keymap/vi (`decompose-meta`): translate <kbd>S-a</kbd> to <kbd>A</kbd> `#D1988` eaf66c7c (master: 600e845e) 385 - term (`_ble_term_TERM`): detect konsole `#D1988` eaf66c7c (master: 600e845e) ed53858 386 - complete (`source:argument`): fallback to rhs completion also for `name+=rhs` `#D2006` 4ed4fd4f (master: 41faa494) 387 388 ## Compatibility 389 - highlight: fix a problem that the attribute of the last character is applied till EOL `#D1393` 36f9d809 (master: 2ddb1ba2) `#D1395` ef09932 390 - highlight: fix a problem that the attribute of the last character is applied till EOL `#D1393` 2ddb1ba `#D1395` 6bcb4053 (master: ef099326) 391 - global: work around empty `vi_imap` cache by `tmux-resurrect` `#D1562` d7130d55 (master: 560160b0) 392 - main: work around `set -B` and `set -k` `#D1628` 3c97ae84 (master: a8607692) 393 - cmap: add `st`-specific escape sequences for cursor keys `#D1633` bf46e344 (master: acfb8790) 394 - cmap: distinguish <kbd>find</kbd>/<kbd>select</kbd> from <kbd>home</kbd>/<kbd>end</kbd> for openSUSE `inputrc.keys` (reported by cornfeedhobo) `#D1648` ad675556 (master: c4d28f40) 395 - cmap: freeze the internal codes of <kbd>find</kbd>/<kbd>select</kbd> and kitty special keys `#D1674` f41b8004 (master: fdfe62a4) 396 - decode: work around the overwritten builtin `set` (reported by eadmaster) `#D1680` 93ae08d0 (master: a6b4e2ca) 397 - complete: work around the variable leaks by `virsh` completion from `libvirt` (reported by telometto) `#D1682` ee2ac075 (master: f985b9a4) 398 - stty: do not remove keydefs for <kbd>C-u</kbd>, <kbd>C-v</kbd>, <kbd>C-w</kbd>, and <kbd>C-?</kbd> (reported by laoshaw) `#D1683` c01487bf (master: 82f74f0a) 399 - main: work around `XDG_RUNTIME_DIR` of a different user by `su` (reported by zim0369) `#D1712` e5501a31 (master: 8d370486) 400 - main (`ble/util/readlink`): work around non-standard or missing `readlink` (motivated by peterzky) `#D1720` d785f5db (master: a41279ed) 401 - global: work around the arithmetic syntax error of `10#` in Bash-5.1 `#D1734` 2b55aa16 (master: 7545ea31) 402 - global: adjust implementations for Bash 5.2 `patsub_replacement` `#D1738` 359a3891 (master: 4590997a) 403 - main: check `/dev/tty` on startup (reported by andychu) `#D1749` 19fa0924 (master: 711c69f1) 404 - global: work around `shopt -s compat42` `#D1754` e7adfb34 (master: a75bb25a) 405 - global: identify bash-4.2 bug that internal quoting of `${v/%$empty/"$rep"}` remains `#D1753` e7adfb34 (master: a75bb25a) 406 - prompt: fix a bug of `ble/prompt/print` redundantly quoting `$` `#D1752` e7adfb34 (master: a75bb25a) 407 - global: work around `compat42` quoting of `"${v/pat/"$rep"}"` `#D1751` e7adfb34 (master: a75bb25a) 408 - util: add identification of Windows Terminal `wt` `#D1758` 4ecbbdc2 (master: e332dc5f) 409 - global: work around bash-3.0 bug that single quotes remains for `"${v-$''}"` `#D1774` fb607ad6 (master: 9b96578c) 410 - main: resolve empty `HOSTNAME` [add `histdb`] `#D1925` 5812f2ef (master: 44d9e104) 411 - main: warn empty `LANG` [main: support an option `--inputrc={diff,all,user,none}`] `#D1926` 3f29bee3 (master: 92f20063) 412 - main: never load `/etc/inputrc` in openSUSE (motivated by Ultra980) `#D1926` 3f29bee3 (master: 92f20063) 0ceb0cb 413 - main: show warning for empty locale (movivated by Ultra980) `#D1927` 3f29bee3 (master: 92f20063) 414 - term (`terminology`): work around terminal glitches `#D1946` 2d4caa67 (master: 9a1b4f9f) 415 - edit: always adjust the terminal states with `bind -x` (reported by linwaytin) `#D1983` cdda7c44 (master: 5d14cf17) 416 - syntax: suppress brace expansions in designated array initialization in Bash 5.3 `#D1989` 78dd47ee (master: 1e7b884d) 417 - edit: restore `PS1` while processing `bind -x` (reported by adoyle-h) `#D2024` c46f4230 (master: 2eadcd5b) 418 419 ## Optimization 420 - util (`ble/util/assign`): work around subshell conflicts `#D1578` 59d6355c (master: 6e4bb126) 421 - prompt: fix not properly set `$?` in `${PS1@P}` evaluation (reported by nihilismus) `#D1644` 66fd10b7 (master: 521aff9b) 422 - util (`ble/string#split`): optimize `#D1826` 5b3fc89c (master: 7bb10a79) 423 - debug: add `ble/debug/profiler` (motivated by SuperSandro2000) `#D1824` f629698 11aa4ab 5b3fc89c (master: 7bb10a79) 424 - global: avoid passing arbitrary strings through `awk -v var=value` `#D1827` 4571695a (master: 82232de5) 425 426 ## Internal changes and fixes 427 - main: include hostname in local runtime directory `#D1444` d19ab298 (master: 64948361) 428 - global: fix status check for read timeout `#D1467` 0bcc12c9 (master: e886883b) 429 - util, etc: ensure each function to work with arbitrary `IFS` `#D1490` `#D1491` 2fe60b64 (master: 5f9adfe8) 430 - util: fix `ble/util/dense-array#fill-range` b708ee29 (master: a46fdaf4) 431 - util: fix leak variables `buff`, `trap`, `{x,y}{1,2}` `#D1572` 36d151e2 (master: 5967d6ce) 432 - make: add fallback Makefile for BSD make `#D1805` 6498a5d3 (master: e5d8d00c) 433 - util, decode, vi: fix leak variables `#D1933` 002dda7f (master: 8d5cab85) 434 - syntax: fix code formatting [histdb: support auto-complete source `histdb-word`] `#D1938` edd48d1c (master: 00cae745) 435 - main: use builtin for `:` [histdb: support timeout of background processes] `#D1971` 8640dc41 (master: e0566bdc) 436 - global: normalize bracket expressions to `_a-zA-Z` / `_a-zA-Z0-9` `#D2006` 4ed4fd4f (master: 41faa494) 437 - util (restore-vars): work around `set -u` [util.bgproc: separate `ble/util/bgproc` from `histdb`] `#D2017` d60758ae (master: 7803305f) 438 439 ## Test 440 - util (ble/util/s2bytes): clear locale cache `#D1881` 99e217d3 (master: 2e1a7c17) 441 - util (ble/util/s2c): work around intermediate mbstate of bash <= 5.2 `#D1881` 99e217d3 (master: 2e1a7c17) 442 - util (ble/encoding:UTF-8/b2c): fix interpretation of leading byte `#D1881` 99e217d3 (master: 2e1a7c17) 443 444 ## New features 445 - syntax: support context after `((...))` and `[[ ... ]]` in bash-5.2 `#D1962` 74af9e60 (master: 67cb967a) 446 447 -------------------------------------------------------------------------------- 448 # ble-0.1.15 449 450 ## Usage 451 452 **Prerequisites** 453 454 Bash 3.0+ and basic POSIX utilities are required. 455 456 **Download ble-0.1.15.tar.xz** 457 458 https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz 459 460 ```bash 461 # DOWNLOAD with wget 462 wget https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz 463 464 # DOWNLOAD with curl 465 curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz 466 ``` 467 468 **Trial & Install** 469 470 ```bash 471 # TRIAL 472 tar xJf ble-0.1.15.tar.xz 473 source ble-0.1.15/ble.sh 474 475 # INSTALL 476 tar xJf ble-0.1.15.tar.xz -C ~/.local/share/blesh 477 # Add the following line near the top of ~/.bashrc 478 [[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach 479 # Add the following line at the end of ~/.bashrc 480 ((_ble_bash)) && ble-attach 481 ``` 482 483 ## blesh-0.1 fixes 484 - edit,highlight: backport changes in rebased commits dfac242 485 - bump 0.1.15 3f4d866 486 487 ## Fixes 488 - edit (sword): fix definition of `sword` (shell words) `#D1441` 03980f1 (master: f923388) 489 - bind: work around broken `cmd_xmap` after switching the editing mode `#D1478` 847e602 (master: 8d354c1) 490 - benchmark (`ble-measure`): fix a bug that the result is always 0 in Bash 3 and 4 (fixup 4759768 (master: bbc2a90)) `#D1615` a034c91 491 - main: work around `. ble.sh --{test,update,clear-cache}` in intereactive sessions `#D1555` 4759768 (master: bbc2a90) 492 - main: fix reloading after ble-update (fixup 4759768 (master: bbc2a90)) (fixed by oc1024) `#D1558` 9372670 493 - main: fix exit status for `bash ble.sh --test` (fixup 4759768 (master: bbc2a90)) `#D1558` 641238a 494 - main: work around sourcing `ble.sh` inside subshells `#D1554` 4759768 (master: bbc2a90) 495 - util: work around the Bash 3 bug of array assignments with `^A` and `^?` in Bash 3.2 `#D1614` 9648bd4 (master: b9f7611) 496 - decode, canvas, etc.: explicitly treat CSI arguments as decimal numbers (reported by GorrillaRibs) `#D1625` 40a0ec9 (master: c6473b7) 2ea48d7 497 - edit: fix a bug that `command-help` doesn't work `#D1635` c99e2f1 (master: 0f6a083) 498 - canvas: update prompt trace on `char_width_mode` change (reported by Barbarossa93) `#D1642` 5b22cd6 (master: 68ee111) 499 - complete: do not generate keywords for quoted command names `#D1691` cd75f39 (master: 60d244f) 500 - progcomp: retry completions on `$? == 124` also for non-default completions (reported by SuperSandro2000) `#D1759` a66b547 (master: 82b9c01) 501 - edit: fix the restore failure of `PS1` and `PROMPT_COMMAND` on `ble-detach` `#D1784` a0f6594 (master: b9fdaab) 502 - history: work around possible dirty prefix `*` in the history output `#D1808` 0ed2ffb (master: 64a740d) 503 - main. util: fix problems of readlink etc. found by test in macOS (reported by aiotter) `#D1849` 1dc5938 (master: fa955c1) `#D1855` a22e145 504 - global: quote `return $?` `#D1884` c2ba90b (master: 801d14a) 505 - bind: fix <kbd>M-C-@</kbd>, <kbd>C-x C-@</kbd>, and <kbd>M-C-x</kbd> (`bash-4.2 -o emacs`) `#D1920` de577dc (master: a410b03) 506 507 ## Changes 508 - syntax: exclude <code>\\ + LF</code> at the word beginning from words (motivated by cmplstofB) `#D1431` 69156f1 (master: 67e62d6) 509 - edit: change default behavior of <kbd>C-w</kbd> and <kbd>M-w</kbd> to operate on backward words `#D1448` 0a07c13 (master: 47a3301) 510 - edit: the widgets `{kill,copy,delete}-region-or` now receives widgets as arguments `#D1021` ec16708 (master: bbbd155) 511 - main: show notifications against debug versions of Bash `#D1612` 8f989e4 (master: 8f974aa) 512 - main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) `#D1676` 2a045d8 (master: 0525528) 88e2df5 513 - main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) `#D1676` 0525528 4ef844e (master: 88e2df5) 514 - util (`ble/util/buffer`): hide cursor in rendering `#D1758` 444abff (master: e332dc5) 515 - edit (`ble-detach`): prepend a space to `stty sane` for `HISTIGNORE=' *'` `#D1796` acb7c08 (master: 26b532e) 516 - history: disable the history file when `HISTFILE` is empty `#D1836` a79095a (master: 9549e83) 517 518 ## Compatibility 519 - global: work around empty `vi_imap` cache by `tmux-resurrect` `#D1562` b0cc0a3 (master: 560160b) 520 - cmap: add `st`-specific escape sequences for cursor keys `#D1633` ae298f1 (master: acfb879) 521 - cmap: distinguish <kbd>find</kbd>/<kbd>select</kbd> from <kbd>home</kbd>/<kbd>end</kbd> for openSUSE `inputrc.keys` (reported by cornfeedhobo) `#D1648` 603cf41 (master: c4d28f4) 522 - cmap: freeze the internal codes of <kbd>find</kbd>/<kbd>select</kbd> and kitty special keys `#D1674` 66263c4 (master: fdfe62a) 523 - decode: work around the overwritten builtin `set` (reported by eadmaster) `#D1680` 43dcb66 (master: a6b4e2c) 524 - complete: work around the variable leaks by `virsh` completion from `libvirt` (reported by telometto) `#D1682` d13ce5b (master: f985b9a) 525 - stty: do not remove keydefs for <kbd>C-u</kbd>, <kbd>C-v</kbd>, <kbd>C-w</kbd>, and <kbd>C-?</kbd> (reported by laoshaw) `#D1683` 6335dc2 (master: 82f74f0) 526 - main (`ble/util/readlink`): work around non-standard or missing `readlink` (motivated by peterzky) `#D1720` 94137b7 (master: a41279e) 527 - global: work around the arithmetic syntax error of `10#` in Bash-5.1 `#D1734` 7c2463e (master: 7545ea3) 528 - global: adjust implementations for Bash 5.2 `patsub_replacement` `#D1738` f1599ee (master: 4590997) 529 - main: check `/dev/tty` on startup (reported by andychu) `#D1749` 28e9c44 (master: 711c69f) 530 - global: work around `shopt -s compat42` `#D1754` 59075cc (master: a75bb25) 531 - global: identify bash-4.2 bug that internal quoting of `${v/%$empty/"$rep"}` remains `#D1753` 59075cc (master: a75bb25) 532 - prompt: fix a bug of `ble/prompt/print` redundantly quoting `$` `#D1752` 59075cc (master: a75bb25) 533 - global: work around `compat42` quoting of `"${v/pat/"$rep"}"` `#D1751` 59075cc (master: a75bb25) 534 - util: add identification of Windows Terminal `wt` `#D1758` 444abff (master: e332dc5) 535 - global: work around bash-3.0 bug that single quotes remains for `"${v-$''}"` `#D1774` d0dc13e (master: 9b96578) 536 - highlight: fix a problem that the attribute of the last character is applied till EOL `#D1393` 2ddb1ba `#D1395` 8c33557 (master: ef09932) 537 - main: resolve empty `HOSTNAME` [add `histdb`] `#D1925` e6cc6c3 (master: 44d9e10) 538 - main: warn empty `LANG` [main: support an option `--inputrc={diff,all,user,none}`] `#D1926` 2bd1544 (master: 92f2006) 539 - term (`terminology`): work around terminal glitches `#D1946` c5c3bc9 (master: 9a1b4f9) 540 - edit: restore `PS1` while processing `bind -x` (reported by adoyle-h) `#D2024` 94db09b (master: 2eadcd5) 541 542 ## Optimization 543 - prompt: fix not properly set `$?` in `${PS1@P}` evaluation (reported by nihilismus) `#D1644` a7b5c4b (master: 521aff9) 544 545 ## Internal changes and fixes 546 - main: include hostname in local runtime directory `#D1444` 1a5e90a (master: 6494836) 547 - global: fix status check for read timeout `#D1467` b56d638 (master: e886883) 548 - util, etc: ensure each function to work with arbitrary `IFS` `#D1490` `#D1491` 7228fd0 (master: 5f9adfe) 549 - util: fix leak variables `buff`, `trap`, `{x,y}{1,2}` `#D1572` de71ada (master: 5967d6c) 550 - make: add fallback Makefile for BSD make `#D1805` 2cb758f (master: e5d8d00) 551 - util, decode, vi: fix leak variables `#D1933` a2197a6 (master: 8d5cab8) 552 - syntax: fix code formatting [histdb: support auto-complete source `histdb-word`] `#D1938` 492349f (master: 00cae74) 553 554 ## Test 555 - util (ble/util/s2bytes): clear locale cache `#D1881` a8d7fd7 (master: 2e1a7c1) 556 - util (ble/util/s2c): work around intermediate mbstate of bash <= 5.2 `#D1881` a8d7fd7 (master: 2e1a7c1) 557 - util (ble/encoding:UTF-8/b2c): fix interpretation of leading byte `#D1881` a8d7fd7 (master: 2e1a7c1) 558 559 -------------------------------------------------------------------------------- 560 # ble-0.4.0-devel2 561 562 ## Usage 563 564 **Prerequisites** 565 566 Bash 3.0+ and basic POSIX utilities are required. 567 568 **Download ble-0.4.0-devel2.tar.xz** 569 570 https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz 571 572 ```bash 573 # DOWNLOAD with wget 574 wget https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz 575 576 # DOWNLOAD with curl 577 curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz 578 ``` 579 580 **Trial & Install** 581 582 ```bash 583 # TRIAL 584 tar xJf ble-0.4.0-devel2.tar.xz 585 source ble-0.4.0-devel2/ble.sh 586 587 # INSTALL (quick) 588 tar xJf ble-0.4.0-devel2.tar.xz -C ~/.local/share/blesh 589 echo 'source ~/.local/share/blesh' >> ~/.bashrc 590 591 # INSTALL (more robust) 592 tar xJf ble-0.4.0-devel2.tar.xz -C ~/.local/share/blesh 593 # Add the following line near the top of ~/.bashrc 594 [[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none 595 # Add the following line at the end of ~/.bashrc 596 [[ ${BLE_VERSION-} ]] && ble-attach 597 ``` 598 599 -------------------------------------------------------------------------------- 600 601 # ble-0.3.3 602 603 ## Usage 604 605 **Prerequisites** 606 607 Bash 3.0+ and basic POSIX utilities are required. 608 609 **Download ble-0.3.3.tar.xz** 610 611 https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz 612 613 ```bash 614 # DOWNLOAD with wget 615 wget https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz 616 617 # DOWNLOAD with curl 618 curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz 619 ``` 620 621 **Trial & Install** 622 623 ```bash 624 # TRIAL 625 tar xJf ble-0.3.3.tar.xz 626 source ble-0.3.3/ble.sh 627 628 # INSTALL 629 tar xJf ble-0.3.3.tar.xz -C ~/.local/share/blesh 630 # Add the following line near the top of ~/.bashrc 631 [[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none 632 # Add the following line at the end of ~/.bashrc 633 [[ ${BLE_VERSION-} ]] && ble-attach 634 ``` 635 636 ## New features 637 638 - syntax: allow unquoted `[!` and `[^` in `simple-word` (reported by cmplstofB) `#D1303` 4bf8b86 (master: 1efe833) 639 640 ## Changes 641 642 - auto-complete: bind `insert-on-end` to `C-e` `#D1250` 1070aba (master: 90b45eb) 643 - util (`bleopt`): fail when a specified bleopt variable does not exist (test-util) 0a51044 (master: 5966f22) 644 - edit: preserve `PS1` when `internal_suppress_bash_output` is set `#D1344` 537acf2 (master: 6ede0c7) 645 - complete: change to generate filenames starting from `.` by default `#D1425` e26867d (master: 987436d) 646 647 ## Fix 648 649 - [ble-0.3] reload: fix a bug that the state is broken by `ble-reload` `#D1266` f2f30d1 (master: N/A) 650 - decode (`ble/builtin/bind`): remove comment from bind argument `#D1267` 82f4aaa (master: 880bb2c) 651 - complete: clear menu on history move `#D1248` 04fddd6 (master: 06cc7de) 652 - syntax: fix a bug that arguments of `eval` are not highlighted `#D1254` 38a7fc7 (master: 5046d14) 653 - decode: use `BRE` instead of `ERE` for `POSIX sed` (reported by dylankb) `#D1283` a577ec4 (master: 2184739) 654 - vi (vi-command/nth-column): fix a bug in arithmetic expansion (reported by andychu) `#D1292` ea2fa8e (master: da6cc47) 655 - complete: fix a bug that menu-filter is only partially turned off by `complete_menu_filter` `#D1298` 7278e27 (master: b3654e2) 656 - syntax: fix failglob errors of heredocs of the form `<<$(echo A)` `#D1308` 5ba9400 (master: 3212fd2) 657 - util (`bleopt`): fix a bug that a new setting is not defined with `name:=` (test-util) `#D1312` f2dbad0 (master: c757b92) 658 - util (`ble/util/{save,restore}-vars`): fix a bug that `name` and `prefix` cannot be saved/restored (test-util) f91f7ed (master: 5f2480c) 659 - util (`ble/path#remove{,-glob}`): fix corner cases (test-util) 2ba1d42 (master: ccbc9f8) 660 - util (`ble/variable#get-attr`): fix an error message with special variable names such as `?` and `*` `#D1321` b58f006 (master: 557b774) 661 - edit: fix a bug that `set +H` is cancelled on command execution `#D1332` bc454a2 (master: 02bdf4e) 662 - syntax (`ble/syntax/parse/shift`): fix a bug of shift skip in nested words `#D1333` 78e2170 (master: 65fbba0) 663 - util (`ble-stackdump`): fix a shift of line numbers `#D1337` 1505a5b (master: a14b72f) 664 - edit (`ble-bind -x`): check range of `READLINE_{POINT,MARK}` `#D1339` 1bc1ff6 (master: efe1e81) 665 - main: fix a bug that `~/.config/blesh/init.sh` is not detected (GitHub #53 by rux616) 9f74da6 (master: 61f9e10) 666 - util (`ble/string#to{upper,lower}`): work around `LC_COLLATE=en_US.utf8` (test-util) `#D1341` 5d9aa64 (master: 1f6b44e) `#D1355` 4e67719 (master: 4da6103) 667 - fixup 5d9aa64 fef40eb (master: N/A) 668 - util (encoding, keyseq): fix miscelleneous encoding bugs (test-util) 6d72d2a (master: 435bd16) 669 - edit: work around `WINCH` not updating `COLUMNS`/`LINES` after `ble-reload` `#D1345` e2d54a2 (master: a190455) 670 - complete: initialize `bleopt complete_menu_style` options before `complete_load` hook (reported by rux616) `#D1352` 15ba24f (master: 8a9a386) 671 - main: fix problems caused by multiple `source ble.sh` in bashrc `#D1354` 983e8a9 (master: 5476933) 672 - syntax: allow single-character variable name in named redirections `{a}<>` `#D1360` 52de342 (master: 4760409) 673 - decode (`bind`): work around `shopt -s nocasematch` (reported by tigger04) `#D1372` b34ad58 (master: 855cacf) 674 - prompt: fix a bug that rprompt is not cleared when `bleopt prompt_rps1` is reset `#D1377` c736bd5 (master: 1904b1d) 675 - complete: fix a bug of duplicated completions of filenames with spaces `#D1390` 048f17e (master: 98576c7) 676 - complete: fix bugs that quotation disappears on ambiguous completion `#D1387` 048f17e (master: 98576c7) 677 - complete: fix a bug that progcomp retry by 124 caused the default completion again `#D1386` 048f17e (master: 98576c7) 678 - syntax (tree-enumerate): fix unmodified `wtype` of reconstructed words at the end `#D1385` 048f17e (master: 98576c7) 679 - complete: fix superlinear performace of ambiguous matching globpat `#D1389` bd4657a (master: 71afaba) 680 - prompt: fix a bug that lonig rps1 is not correctly turned off `#D1401` 9266961 (master: d84bcd8) 681 - prompt: fix extra spaces on line folding before double width character `#D1400` 9266961 (master: d84bcd8) 682 - syntax (glob bracket expression): fix a bug of unsupported POSIX brackets `#D1402` e1eca65 (master: 6fd9e22) 683 - syntax (`ble/syntax:bash/simple-word/evaluate-path-spec`): fix a bug of unrecognized `[!...]` and `[^...]` `#D1403` 50fcd03 (master: 0b842f5) 684 - highlight: fix remaininig highlighting of vanishing words `#D1421` `#D1422` 0f85719 (master: 1066653) 685 - highlight: fix unhighlighted tilde expansions `~+` (reported by cmplstofB) `#D1424` 1f9abf6 (master: a32962e) 686 - complete: fix a problem that the user setting `dotglob` is changed `#D1425` e26867d (master: 987436d) 687 - complete: fix a problem of redundant unmatched ambiguous part with tilde expansions in the common prefix `#D1417` 20cb6af (master: 5777d7f) 688 - complete (`source:file`): fix a bug that tilde expansion candidates are always filtered out `#D1416` 20cb6af (master: 5777d7f) 689 - complete (`cd`): fix duplicate candidates by `CDPATH` (reported by Lennart00 at `oh-my-bash`) `#D1415` 20cb6af (master: 5777d7f) 690 691 ## Compatibility 692 693 - msys2: support2 MSYS (motivated by SUCHMOKUO) `#D1264` 500e051 (master: 47e2863) 694 - edit: support `\$` in `PS1` for MSYS2 `#D1265` b8c2ca6 (master: f6f8956) 695 - edit: fixup b8c2ca6 fe78bd6 (master: N/A) 696 - msys2: work around MSYS2 Bash bug of missing <kbd>CR</kbd> `#D1270` 8c09190 (master: 71f3498) 697 - edit (`ble/widget/bracketed-paste`): fix error messages on `paste_end` in older version of Bash (test-util) 1631069 (master: b2c7d1c) 698 - decode: work around Bash-3.1 bug of `declare -f` rejecting special characters in function names (test-util) 1631069 (master: b2c7d1c) 699 - util (`ble/variable#get-attr`): fix a bug that attributes are not obtained in Bash <= 4.3 (test-util) 1631069 (master: b2c7d1c) 700 - decode: work around Bash-4.1 bug that locale not applied with `LC_CTYPE=C eval command` (test-util) 1631069 (master: b2c7d1c) 701 - complete: follow Bash-5.1 change of arithmetic literal `10#` `#D1322` b58f006 (master: 557b774) 702 - decode: work around Bash-4.1 arithmetic bug of array subscripts evaluated in discarded branches `#D1320` b58f006 (master: 557b774) 703 - decode: fix a bug of broken cmap cache found in ble-0.3 `#D1327` 4b15993 (master: 16b56bf) 704 - util (strftime): fix a bug not working with `-v var` option in Bash <= 4.1 (test-util) 360211c (master: f1a2818) 705 - complete: work around slow `compgen -c` in Cygwin `#D1329` 185a443 (master: 5327f5d) 706 - edit: work around problems with `mc` (reported by onelittlehope) `#D1392` 4d534b4 (master: e97aa07) 707 - highlight: fix a problem that the attribute of the last character is applied till EOL `#D1393` f47a5b8 (master: 2ddb1ba) `#D1395` 8c1e17c (master: ef09932) 708 709 ## Internal 710 711 - global: check isolated identifiers and leak variables `#D1246` f92ba5c (master: 19cc99d) 9461953 (master: 2e74b6d) 712 - main: unset `BLE_VERSION`, `_ble_bash`, etc. on `ble-unload` `#D1382` 2bbd0fb (master: 6b615b6) 713 - complete: fix unfiltered tilde expansions `#D1414` 20cb6af (master: 5777d7f) 714 715 ------------------------------------------------------------------------------- 716 # ble-0.2.6 717 718 ## New features 719 720 - syntax: allow unquoted `[!` and `[^` in `simple-word` (reported by cmplstofB) `#D1303` 5cff40f (master: 1efe833) 721 722 ## Changes 723 724 - edit: preserve `PS1` when `internal_suppress_bash_output` is set `#D1344` 72ae9c6 (master: 6ede0c7) 725 726 ## Fix 727 728 - decode: use `BRE` instead of `ERE` for `POSIX sed` (reported by dylankb) `#D1283` bca4598 (master: 2184739) 729 - vi (vi-command/nth-column): fix a bug in arithmetic expansion (reported by andychu) `#D1292` 4260bc2 (master: da6cc47) 730 - syntax: fix failglob errors of heredocs of the form `<<$(echo A)` `#D1308` 1f874ba (master: 3212fd2) 731 - util (`bleopt`): fix a bug that a new setting is not defined with `name:=` (test-util) `#D1312` a9eb0e9 (master: c757b92) 732 - util (`ble/util/{save,restore}-vars`): fix a bug that `name` and `prefix` cannot be saved/restored (test-util) 49841db (master: 5f2480c) 733 - edit: fix a bug that `set +H` is cancelled on command execution `#D1332` 2ff6d06 (master: 02bdf4e) 734 - syntax (`ble/syntax/parse/shift`): fix a bug of shift skip in nested words `#D1333` bc935bd (master: 65fbba0) 735 - util (`ble-stackdump`): fix a shift of line numbers `#D1337` b597e90 (master: a14b72f) 736 - edit (`ble-bind -x`): check range of `READLINE_{POINT,MARK}` `#D1339` 47a93e8 (master: efe1e81) 737 - util (`ble/string#to{upper,lower}`): work around `LC_COLLATE=en_US.utf8` (test-util) `#D1341` 5b32621 (master: 1f6b44e) `#D1355` b38ef10 (master: 4da6103) 738 - util (encoding, keyseq): fix miscelleneous encoding bugs (test-util) 03c0b44 (master: 435bd16) 739 - edit: work around `WINCH` not updating `COLUMNS`/`LINES` after `ble-reload` `#D1345` 50af6a5 (master: a190455) 740 - syntax: allow single-character variable name in named redirections `{a}<>` `#D1360` f81734f (master: 4760409) 741 - syntax (glob bracket expression): fix a bug of unsupported POSIX brackets `#D1402` b7ea892 (master: 6fd9e22) 742 - highlight: fix remaininig highlighting of vanishing words `#D1421` `#D1422` cc5e4d1 (master: 1066653) 743 - highlight: fix unhighlighted tilde expansions `~+` (reported by cmplstofB) `#D1424` 3f7f044 (master: a32962e) 744 745 ## Compatibility 746 747 - msys2: support2 MSYS (motivated by SUCHMOKUO) `#D1264` 7cf81c0 (master: 47e2863) 748 - edit: support `\$` in `PS1` for MSYS2 `#D1265` 8f44624 (master: f6f8956) 749 - msys2: work around MSYS2 Bash bug of missing <kbd>CR</kbd> `#D1270` bbe1b61 (master: 71f3498) 750 - edit (`ble/widget/bracketed-paste`): fix error messages on `paste_end` in older version of Bash (test-util) a80f1d1 (master: b2c7d1c) 751 - decode: work around Bash-3.1 bug of `declare -f` rejecting special characters in function names (test-util) a80f1d1 (master: b2c7d1c) 752 - util (`ble/variable#get-attr`): fix a bug that attributes are not obtained in Bash <= 4.3 (test-util) a80f1d1 (master: b2c7d1c) 753 - decode: work around Bash-4.1 bug that locale not applied with `LC_CTYPE=C eval command` (test-util) a80f1d1 (master: b2c7d1c) 754 - decode: fix a bug of broken cmap cache found in ble-0.3 `#D1327` 366e8c1 (master: 16b56bf) 755 - util (strftime): fix a bug not working with `-v var` option in Bash <= 4.1 (test-util) 4f11463 (master: f1a2818) 756 - complete: work around slow `compgen -c` in Cygwin `#D1329` 887be6e (master: 5327f5d) 757 - edit: work around problems with `mc` (reported by onelittlehope) `#D1392` a2d6099 (master: e97aa07) 758 759 ## Internal 760 761 - global: check isolated identifiers and leak variables `#D1246` 146c98b (master: 19cc99d) 762 763 ------------------------------------------------------------------------------- 764 # ble-0.1.14 765 766 ## Change 767 768 - edit: preserve `PS1` when `internal_suppress_bash_output` is set `#D1344` 549f8f5 (master: 6ede0c7) 769 770 ## Fix 771 772 - fixup ab01ceb 8129816 (v0.2: 51bde60) 773 - decode: use `BRE` instead of `ERE` for `POSIX sed` (reported by dylankb) `#D1283` 1244d86 (master: 2184739) 774 - edit: fix a bug that `set +H` is cancelled on command execution `#D1332` ba3687a (master: 02bdf4e) 775 - syntax (`ble/syntax/parse/shift`): fix a bug of shift skip in nested words `#D1333` 16fb351 (master: 65fbba0) 776 - util (`ble-stackdump`): fix a shift of line numbers `#D1337` 5d5b86b (master: a14b72f) 777 - edit (`ble-bind -x`): check range of `READLINE_{POINT,MARK}` `#D1339` 6909cc0 (master: efe1e81) 778 - util (`ble/string#to{upper,lower}`): work around `LC_COLLATE=en_US.utf8` (test-util) `#D1341` 31476cc (master: 1f6b44e) `#D1355` 65cab5c (master: 4da6103) 779 - util (encoding, keyseq): fix miscelleneous encoding bugs (test-util) 11d8db7 (master: 435bd16) 780 - edit: work around `WINCH` not updating `COLUMNS`/`LINES` after `ble-reload` `#D1345` e15c5a6 (master: a190455) 781 - syntax: allow single-character variable name in named redirections `{a}<>` `#D1360` 6bbed24 (master: 4760409) 782 - highlight: fix remaininig highlighting of vanishing words `#D1421` `#D1422` bf8fdc8 (master: 1066653) 783 784 ## Compatibility 785 786 - global: work around Bash 3.2 bug of array initialization with <kbd>SOH</kbd>/<kbd>DEL</kbd> `#D1238` 566f53e (master: defdbd4) `#D1241` 787 - msys2: support2 MSYS (motivated by SUCHMOKUO) `#D1264` 19a36ea (master: 47e2863) 788 - edit: support `\$` in `PS1` for MSYS2 `#D1265` 8658738 (master: f6f8956) 789 - msys2: work around MSYS2 Bash bug of missing <kbd>CR</kbd> `#D1270` b72c063 (master: 71f3498) 790 - decode: fix a bug of broken cmap cache found in ble-0.3 `#D1327` fc6ded3 (master: 16b56bf) 791 - util (strftime): fix a bug not working with `-v var` option in Bash <= 4.1 (test-util) cb2389c (master: f1a2818) 792 - complete: work around slow `compgen -c` in Cygwin `#D1329` d6d49cc (master: 5327f5d) 793 - edit: work around problems with `mc` (reported by onelittlehope) `#D1392` 15111cf (master: e97aa07) 794 795 ## Internal 796 797 - global: check isolated identifiers and leak variables `#D1246` 03b3204 (master: 19cc99d) 2e74b6d