New
Patch 0.3.4
ble-0.3.4 (2023-04-03)
Usage
Prerequisites
Bash 3.0+ and basic POSIX utilities are required.
Download ble-0.3.4.tar.xz
https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz
# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz
# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.3.4/ble-0.3.4.tar.xz
Trial & Install
# TRIAL
tar xJf ble-0.3.4.tar.xz
source ble-0.3.4/ble.sh
# INSTALL
tar xJf ble-0.3.4.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --attach=none
# Add the following line at the end of ~/.bashrc
[[ ${BLE_VERSION-} ]] && ble-attach
blesh-0.3 Fixes
- decode: fix
bindemulation in .bashrc (v0.3) 742777e - global: pick fixes and changes from ble-0.1..0.2 backports 78bbc5e
- bump 0.3.4 9da6774
Fixes
- complete: fix a problem that candidates are not updated after menu-filter (reported by 3ximus)
#D14281c7786e (master: 98fbc1c) - edit: work around the wrong job information of Bash in trap handlers (reported by 3ximus)
#D1435#D1436d40847f (master: bc4735e) - edit (command-help): work around the Bash bug that tempenv vanishes with
builtin eval#D1438cc8ca96 (master: 8379d4a) - global: suppress missing locale errors (reported by 3ximus)
#D1440b52a798 (master: 4d3c595) - edit (sword): fix definition of
sword(shell words)#D14412370bce (master: f923388) - edit (
kill-forward-logical-line): fix a bug not deleting newline at the end of the line#D14432a8a7f6 (master: 09cf7f1) - global: work around bash-4.2 bug of
declare -gA(reported by 0xC0ncord)#D14702f85ed3 (master: 8856a04) - global: fix declaration of associative arrays for
ble-reload(reported by 0xC0ncord)#D1471422de69 (master: 3cae6e4) - util (
ble/util/msleep): fix hang in Cygwin by swithing from/dev/udp/0.0.0.0/80to/dev/zero#D14525ace564 (master: d4d718a) - syntax: fix broken AST with
[[keyword#D14541d48e79 (master: 69658ef) - benchmark (
ble-measure): work around a locale-dependent decimal point ofEPOCHREALTIME(reported by 3ximus)#D1460f3833ad (master: 1aa471b) - util (
ble/util/msleep): work around the bash-4.3 bug ofread -t(reported by 3ximus)#D1468#D146970797cf (master: 4ca9b2e) - bind: work around broken
cmd_xmapafter switching the editing mode#D1478909f461 (master: 8d354c1) - edit: clear graphic rendition on newlines and external commands
#D147959ede5c (master: 18bb2d5) - decode (rlfunc): work around incomplete bytes in keyseq (reported by onelittlehope)
#D1483948a38d (master: 3559658) beb0383 37363be - canvas: fix a glitch that SGR at the end of command line is applied to new lines
#D14986871634 (master: 4bdfdbf) - syntax: fix a bug that
eval() { :; },declare() { :; }are not treated as function definition#D15296c1d295 (master: b429095) - decode: fix a hang on attach failure by cache corruption d4b0700 (master: 24ea379)
Changes
- syntax: exclude
\ + LFat the word beginning from words (motivated by cmplstofB)#D14311b00fd2 (master: 67e62d6) - edit: preserve the state of
READLINE_{LINE,POINT,MARK}#D1437cc8ca96 (master: 8379d4a) - edit: change default behavior of C-w and M-w to operate on backward words
#D1448b1fd84a (master: 47a3301) - edit (
ble/builtin/read): cancel by C-d on an empty line#D14734fae77a (master: ecb8888) - syntax: change syntax context after
time ;and! ;for Bash 4.4#D1477e55e3df (master: 4628370) - decode (rlfunc): update mapping
vi-replaceinimapandvi-editing-modeinnmap(reported by onelittlehope)#D14843a2d0fe (master: f2ca811) - prompt: invalidate prompt and textarea on prompt setting changes
#D1492e28f330 (master: 1f55913) - main: accept non-regular files as
blercand add option--norc#D15304b0eb87 (master: 7244e2f) - prompt: adjust behavior of
LINENOand prompt sequence\#(reported by tycho-kirchner)#D1542f3668ba (master: 8b0257e) - main: show notifications against debug versions of Bash
#D16120ee8415 (master: 8f974aa) - edit: suppress only
stderrwithinternal_suppress_bash_output(motivated by rashil2000)#D1646b0a9021 (master: a30887f) - prompt: do not evaluate
PROMPT_COMMANDfor subprompts#D16549c0e515 (master: 08e903e) - main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo)
#D1676a602876 (master: 0525528) 88e2df5 - main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo)
#D16760525528 79efd42 (master: 88e2df5) - syntax: revert 99f2234 (master: 371a5a4) and generate empty completion source on syntax error
#D1609e09fcab - syntax: do not start argument completions immediately after previous word (reported by EmilySeville7cfg)
#D169099f2234 (master: 371a5a4) - syntax: revert 371a5a4 and generate empty completion source on syntax error
#D1609a1d1286 (master: e09fcab) - canvas: do not insert explicit newlines on line folding if possible (reported by banoris) d878fce (master: 02b9da6) dc3827b
Compatibility
- term: work around leaked DA2R in screen from outside terminal
#D14854d77fab (master: e130619) - util (
modifyOtherKeys): work around a quirk of kitty (reported by NoahGorny)#D1549823eb83 (master: f599525) - global: work around empty
vi_imapcache bytmux-resurrect#D1562d7d2a23 (master: 560160b) - decode: identify
kittyand treat\e[27uas isolated ESC (reported by lyiriyah)#D15852f7404e (master: c2a84a2) - complete: suppress known error messages of
bash-completion(reported by oc1024, Lun4m)#D1622558322c (master: d117973) - util (
modifyOtherKeys): update the workaround for a new quiark of kitty#D162790d9284 (master: 3e4ecf5) - main: work around
set -Bandset -k#D162855494eb (master: a860769) - term: disable
modifyOtherKeysand do not sendDA2forst(requested by Shahabaz-Bagwan)#D16327e08766 (master: 92c7b26) - cmap: add
st-specific escape sequences for cursor keys#D16331391c90 (master: acfb879) - cmap: distinguish find/select from home/end for openSUSE
inputrc.keys(reported by cornfeedhobo)#D1648886cc07 (master: c4d28f4) - cmap: freeze the internal codes of find/select and kitty special keys
#D16747d02058 (master: fdfe62a) - decode: work around the overwritten builtin
set(reported by eadmaster)#D16805acb117 (master: a6b4e2c) - util (
modifyOtherKeys): use the kitty protocol for kitty 0.23+ which removes the support ofmodifyOtherKeys(reported by kovidgoyal)#D1681696264b (master: ec91574) - complete: work around the variable leaks by
virshcompletion fromlibvirt(reported by telometto)#D16827a65fc3 (master: f985b9a) - stty: do not remove keydefs for C-u, C-v, C-w, and C-? (reported by laoshaw)
#D1683ff8fb83 (master: 82f74f0) - decode (
ble/builtin/bind): improve compatibility of the deprecated formbind key:rlfunc(motivated by cmplstofB) c3904ff (master: b6fc4f0)
Optimization
- complete (
ble/complete/source:file): remove slow old codes (reported by timjrd)#D151260a33e2 (master: e5be0c1) - util (
ble/util/assign): work around subshell conflicts#D15784117d1b (master: 6e4bb12) - prompt: fix not properly set
$?in${PS1@P}evaluation (reported by nihilismus)#D1644a3cfd0d (master: 521aff9) - util (
ble/string#split): optimize#D18269dcbbd4 (master: 7bb10a7) - debug: add
ble/debug/profiler(motivated by SuperSandro2000)#D1824f629698 11aa4ab 9dcbbd4 (master: 7bb10a7) - global: avoid passing arbitrary strings through
awk -v var=value#D18279edb1aa (master: 82232de)
Internal changes and fixes
- main: include hostname in local runtime directory
#D14443e648a9 (master: 6494836) - benchmark (
ble-measure): support-T TIMEand-B TIMEoption#D1460f3833ad (master: 1aa471b) - global: fix status check for read timeout
#D1467f190f9a (master: e886883) - util, etc: ensure each function to work with arbitrary
IFS#D1490#D1491c33fad0 (master: 5f9adfe) - global: work around
localvar_inheritfor varname-list init#D15668c67b79 (master: 5c2edfc) - util: fix
ble/util/dense-array#fill-rangee397120 (master: a46fdaf) - util: fix leak variables
buff,trap,{x,y}{1,2}#D157282113e9 (master: 5967d6c) - util: fix leak variables
#D16430817df6 (master: fcf634b) - edit (
command-help): useble/util/assign/.mktmpto determine the temporary filename#D16632ff6078 (master: 1af0800) - Makefile: add fallback Makefile for BSD make
#D1805ea8b966 (master: e5d8d00) - util, decode, vi: fix leak variables
#D19339e2e823 (master: 8d5cab8) - syntax: fix code formatting [originally: complete: support auto-complete sources]
#D1938450f70b (master: 00cae745) - main: use builtin for ":" [histdb: support timeout of background processes]
#D1971482ddb5 (master: e0566bdc) - global: normalize to
_a-zA-Z[sabbrev: apply sabbrev to right-hand sides of variable assignments]#D2006a101fe6 (master: 41faa494) - util (restore-vars): work around
set -u[lib: addutil.bgprocforble/util/bgproc]#D20178787ca5 (master: 7803305f) - util: update
ble/util/conditional-sync[util.bgproc: increase frequency of bgproc termination check]#D202779fd13c (master: 8d623c1)
Test
- util (ble/util/s2bytes): clear locale cache
#D188145f3df3 (master: 2e1a7c1) - util (ble/util/s2c): work around intermediate mbstate of bash <= 5.2
#D188145f3df3 (master: 2e1a7c1) - util (ble/encoding:UTF-8/b2c): fix interpretation of leading byte
#D188145f3df3 (master: 2e1a7c1) - complete: fix syntax error for bash-3.0
#D1881b534799 (master: 0b3e611)
Documentation
- blerc: rename from
blerctoblerc.template#D18993c4e3a4 (master: e19b796) - wiki/Q&A: add item for defining a widget calling multiple widgets (motivated by micimize)
#D18983c4e3a4 (master: e19b796) - blerc: add frequently used keybindings (motivated by KiaraGrouwstra, micimize)
#D1896#D18973c4e3a4 (master: e19b796)
Contrib
- fzf-key-bindings: fix a problem that
modifyOtherKeysis not reflected (reported by SuperSandro2000)#D1908f3a8382 (master: 486564a)
New features
- canvas: update emoji database and support
bleopt emoji_version(motivated by endorfina)#D14543f6c9b9 (master: d1f8c27) - syntax: support tilde expansions in parameter expansions
#D1513e32914f (master: 0506df2) - prompt (
contrib/prompt-git): support dirty checking#D160150a0094 (master: b2713d9) - util (
bleopt,bind): fix error message and exit status, respectively#D164029728b1 (master: b663cee) - edit: support bash-5.2 binding of
prior/nexttohistory-search-{for,back}ward#D1661a3a353e (master: d26a6e1) - util: suppress false warnings of
bindinside non-interactive shells (reported by wukuan405)#D182382c9934 (master: 1e19a67) - auto-complete: cancel auto-complete for
magic-space#D191305c0888 (master: 01b4f67) - complete: support ambiguous completion for command paths
#D19226d1e1ba (master: 8a716ad) - syntax: support context after
((...))and[[ ... ]]in bash-5.2#D196257d7674 (master: 67cb967)