sistema_progs

Programas para customizar o meu entorno de traballo nos meus equipos persoais
Log | Files | Refs

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