ble.sh

Bash Line Editor―a line editor written in pure Bash with syntax highlighting, auto suggestions, vim modes, etc. for Bash interactive sessions.

BSD-3-CLAUSE License

Stars
2.2K

Bot releases are hidden (Show)

ble.sh - Devel 0.4.0-devel3 Latest Release

Published by akinomyoga over 1 year ago

ble-0.4.0-devel3 (2023-04-03)

2020-12-02...2023-04-03 (#D1427...#D2030) 276baf2...1a5c451c

Usage

Prerequisites

Bash 3.0+ and basic POSIX utilities are required.

Download ble-0.4.0-devel3.tar.xz

https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel3/ble-0.4.0-devel3.tar.xz

# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel3/ble-0.4.0-devel3.tar.xz

# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel3/ble-0.4.0-devel3.tar.xz

Trial & Install

# TRIAL
tar xJf ble-0.4.0-devel3.tar.xz
source ble-0.4.0-devel3/ble.sh

# INSTALL (quick)
tar xJf ble-0.4.0-devel3.tar.xz -C ~/.local/share/blesh
echo 'source ~/.local/share/blesh' >> ~/.bashrc

# INSTALL (more robust)
tar xJf ble-0.4.0-devel3.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

New features

  • decode (ble-decode-kbd): support various specifications of key sequences #D1439 0f01cab
  • edit: support new options bleopt edit_line_type={logical,graphical} (motivated by 3ximus) #D1442 40ae242
  • complete: support new options bleopt complete_limit{,_auto} (contributed by timjrd) #D1445 b13f114 5504bbc
    • complete: update the default value of bleopt complete_limit{,auto} #D1500 aae553c
    • complete: inject user interruption and complete limits into bash-completion through read (motivated by timjrd) #D1504 856cec2 #D1507 4fc51ae
  • edit (kill/copy): combine multiple kills and copies (suggested by 3ximus) #D1443 66564e1
    • edit ({kill,copy}-region-or): fix unconditionally combined kills/copies (reported by 3ximus) #D1447 1631751
  • canvas: update emoji database and support bleopt emoji_version (motivated by endorfina) #D1454 d1f8c27
    • emoji: unify emoji tables of different versions #D1671 af82662
  • canvas, edit: support bleopt info_display (suggested by 0neGuyDev) #D1458 69228fa
    • canvas (panel): always call panel::render to update height #D1472 51d2c05
    • util (visible-bell): work around coordinate mismatches in subshells #D1495 01cfb10
    • canvas: work around kitty's quirk not recognizing DECSTBM (CSI ; r) #D1503 eca2976
  • prompt: support bleopt prompt_status_{line,align} and face prompt_status_line #D1462 cca1cbc
    • prompt: fix missing height allocation for status line #D1487 b424fa5
    • prompt: support bleopt prompt_status_align=justify #D1494 c30a0db
  • syntax: properly support case patterns #D1474 #D1475 #D1476 64b55b7
  • keymap/vi: add ble/keymap:vi/script/get-mode for user-defined mode strings #D1488 f25a6e8 462918d
  • prompt: support multiline prompt_rps1 #D1502 4fa139a
    • canvas: fix wrong coordinate calculation on linefolding (reported by telometto) #D1602 9badb5f
    • prompt: fix coordinates after prompt_rps1 #D1972 e128801
    • prompt: clear remaining SGR after prompt_rps1 (reported by linwaytin) #D2003 ea99d944
  • syntax: support tilde expansions in parameter expansions #D1513 0506df2
  • decode: support ble-bind -m KEYMAP --cursor DECSCUSR (motivated by jmederosalvarado) #D1514 #D1515 #D1516 79d671d
    • decode: reflect changes after ble-bind --cursor #D1873 39efcf9
  • edit: support nsearch options (motivated by Alyetama, rashil2000, carv-silva) #D1517 9125795
    • edit: support nsearch opts empty=emulate-readline (motivated by jainpratik163) #D1661 d68ba61
    • edit: support bash-5.2 binding of prior/next to history-search-{for,back}ward #D1661 d26a6e1
  • syntax: support the deprecated redirection >& file #D1539 b9b0de4
  • complete: complete file descriptors and heredoc words after redirections #D1539 b9b0de4
  • main: support blehook ATTACH DETACH, BLE_ONLOAD, BLE_ATTACHED #D1543 750ca38
  • main: support ble #D1544 750ca38
  • main (ble-update): support package updates and sudo updates (motivated by huresche, oc1024) #D1548 0bc2660
    • main (ble-update): fix help message (contributed by NoahGorny) 50288bf
  • syntax: support undocumented ${a~} and ${a~~} #D1561 4df29a6
  • lib: support lib/vim-airline (motivated by huresche) #D1565 da1d0ff
    • util (ble/gdict): refactor #D1569 7732eed
    • vim-airline: support bleopt vim_airline_theme #D1589 73b037f
    • prompt: track dependencies and detect changes #D1590 #D1591 cf8d949
    • prompt: preserve LINES and COLUMNS for custom sequences #D1592 040016d
    • color: fix the face initialiation order for uses in prompts (motivated by jmederosalvarado) #D1593 321371f
    • prompt (contrib/prompt-git): support dirty checking #D1601 b2713d9
    • prompt (contrib/prompt-git): do not use ble/util/idle in Bash 3 #D1606 959cf27
    • util (bleopt): add new option -I to reinitialize user settings on reload #D1607 959cf27
    • vi (vi_cmap): fix wrong prompt calculations by the outdated initial values #D1653 2710b23
    • vim-airline: measure separator widths and fix layout of status line #D1999 1ce0d1ad 478c9a10
  • util, color: refactor configuration interfaces (bleopt, blehook, ble-face) #D1568 c94d292
    • color: support new face setting function ble-face
    • util (bleopt): support option -r and -u and wildcards in option names
    • util (blehook): hide internal hooks by default and support option -a
    • util, color: fix argument analysis of bleopt, blehook, and ble-face (fixup c94d292) #D1571 bb53271
    • util (blehook): show explicitly specified internal hooks #D1594 f4312df
    • util (bleopt): do no select obsoleted options by wildcards #D1595 f4312df
    • util (bleopt): fix error messages for unknown options #D1610 66df3e2
    • util (bleopt, bind): fix error message and exit status, respectively #D1640 b663cee
    • util (blehook): support wildcards #D1861 480b7b3
  • progcomp: support quoted commands and better progcomp_alias #D1581 #D1583 dbe87c3
    • progcomp: fix a bug that command names may stray into completer function names #D1611 1f2d45f
  • syntax: highlight quotes of the \? form #D1584 5076a03
    • syntax: recognize escape " in double-quoted strings #D1641 4b71449
  • prompt: support a new backslash sequence \g{...} #D1609 be31391
    • prompt: accept more general [TYPE:]SPEC in \g{...} like ble-face #D1963 81b3b0e
    • prompt: fix non-working 24-bit color in \g{...} #D1977 881ec25
  • complete: add a new option bleopt complete_limit_auto_menu #D1618 1829d80
  • canvas: support grapheme clusters (motivated by huresche) #D1619 c0d997b
    • canvas (ble/util/c2w): use EastAsianWidth and GeneralCategory to mimic wcwidth #D1645 9a132b7
    • canvas (c2w:auto): work around combining chars applied to the previous line #D1649 1cbbecb
    • canvas (c2w:auto): avoid duplicate requests #D1649 1cbbecb a3047f56
    • canvas (c2w:auto): send DSR(6) in the internal state #D1664 a3047f5
    • canvas (c2w): support bleopt char_width_mode=musl #D1668 05b258f #D1672 af82662
    • canvas (c2w:auto): detect emacs and musl #D1668 05b258f
  • rlfunc: support vi word operations in emacs keymap (requested by SolarAquarion) #D1624 21d636a
  • edit: support TMOUT for the session timeout #D1631 0e16dbd
  • edit: support bash-5.2 READLINE_ARGUMENT #D1638 d347fb3
  • complete: support complete [-DI] in old versions of Bash through _DefaultCmD_ and _InitialWorD_ #D1639 925b2cd
  • rlfunc: support nsearch widgets in vi_nmap keymap (requested by cornfeedhobo) #D1651 9a7c8b1
  • prompt: support bleopt prompt_ruler (motivated by Barbarossa93) #D1666 05cf638
    • prompt: fix hanging by a zero-width prompt_ruler #D1673 9033f29
  • edit: support bleopt canvas_winch_action (requested by Johann-Goncalves-Pereira, guptapriyanshu7) #D1679 2243e91
    • blerc: fix the name of the option bleopt canvas_winch_action (reported by Knusper) b1be640
    • edit: go back to the previous lines with redraw-here more aggressively #D1966 a125187
  • menu (menu-style:desc): improve descriptions (motivated by Shahabaz-Bagwan) #D1685 4de1b45
  • menu (menu-style:desc): support multicolumns (motivated by Shahabaz-Bagwan) #D1686 231dc39
    • menu (menu-style:desc): fix not working bleopt menu_desc_multicolumn_width= #D1727 2140d1e
  • term: let DECSCUSR pass through terminal multiplexers (motivated by cmplstofB) #D1697 a3349e4
    • util: refactor _ble_term_TERM #D1746 63fba6b
  • complete: requote for more compact representations on full completions #D1700 a1859b6
    • complete (requote): requote from optarg/rhs starting point #D1786 93c2786
  • complete: improve support for declare and [[ ... ]] #D1701 da38404
    • syntax: fix completion and highlighting of declare with assignment arguments #D1704 #D1705 e12bae4
    • cmdspec: refactor {mandb => cmdspec}_opts #D1706 #D1707 0786e92
  • complete (menu-style:align): refactor complete_menu_align => menu_align_{min,max} (motivated by banoris) #D1717 22a2449
  • prompt: support bleopt prompt_command_changes_layout #D1750 e199bee
  • exec: measure execution times #D1756 2b28bec
    • edit: work around a bash-4.4..5.1 bug of exit outputting time to stderr of exit context #D1765 3de751e e61dbaa
    • edit (exec_elapsed_mark): show hours and days #D1793 699dabb
  • util: preserve original traps and restore them on unload #D1775 #D1776 #D1777 398e404
    • util (trap): fix a bug of restoring original traps #D1850 8d918b6
  • progcomp: support compopt -o ble/no-default to suppress default completions #D1789 7b70a0e
  • sabbrev: support options -r and --reset to remove entries #D1790 29b8be3
  • util (blehook): support hook!=handler and hook+-=handler #D1791 0b8c097
  • prompt: escape control characters in \w and \W #D1798 8940434 a9551e5
    • prompt: fix wrongly escaped UTF-8 chars in \w and \W #D1806 d340233
    • prompt: fix a bug that \u is expanded to the shell name #D1975 fe339c3
  • emacs: support bleopt keymap_emacs_mode_string_multiline (motivated by ArianaAsl) #D1818 8e9d273
  • util: synchronize rlvars with bleopt complete_{menu_color{,_match},skip_matched} term_bracketed_paste_mode (motivated by ArianaAsl) #D1819 6d20f51
    • util: suppress false warnings of bind inside non-interactive shells (reported by wukuan405) #D1823 1e19a67
  • history: support bleopt history_erasedups_limit (motivated by SuperSandro2000) #D1822 e4afb5a 3110967
  • prompt: support bleopt prompt_{emacs,vi}_mode_indicator (motivated by ferdinandyb) #D1843 2b905f8
  • util (ble-import): support option -q #D1859 1ca87a9
  • history: support extension HISTCONTROL=strip (motivated by aiotter) #D1874 021e033
  • benchmark (ble-measure): support an option -V #D1881 571ecec
  • color: allow setting color filter by _ble_color_color2sgr_filter #D1902 88e74cc
  • auto-complete: add bleopt complete_auto_complete_opts (motivated by DUOLabs333) #D1901 #D1911 1478a04 6a21ebb
  • menu-complete: add bleopt complete_menu_complete_opts (requested by DUOLabs333) #D1911 6a21ebb
  • edit (magic-space): support bleopt edit_magic_expand=...:alias (requested by telometto) #D1912 63da2ac
    • auto-complete: cancel auto-complete for magic-space #D1913 01b4f67
  • complete: support ambiguous completion for command paths #D1922 8a716ad
  • complete: preserve original path segments as long as possible #D1923 #D1924 e3cdb9d
  • main: support BLE_SESSION_ID and BLE_COMMAND_ID #D1925 44d9e10 #D1947 46ac426 #D1954 651c70c
  • main: support an option --inputrc={diff,all,user,none} #D1926 92f2006
  • util (ble/builtin/trap): support Bash 5.2 trap -P #D1937 826a275
  • syntax: highlight \? in here documents #D1959 e619e73
  • syntax: recognize history expansion in here documents, "...!" (bash <= 4.2), and $! (bash <= 4.1) #D1959 e619e73
  • syntax: support context after ((...)) and [[ ... ]] in bash-5.2 #D1962 67cb967
  • edit: support the readline variable search-ignore-case of bash-5.3 #D1976 e3ad110
  • menu-complete: add insert_unique option to the complete widget #D1995 36efbb7
  • syntax: check alias expansions of coproc variable names #D1996 92ce433
  • syntax: support new parameter transformation "${arr@k}" #D1998 1dd7e385
  • edit: support a user command ble append-line (requested by mozirilla213) #D2001 2a524f34
  • decode: accept isolated ESC <char> (requested by mozirilla213) #D2004 d7210494
  • sabbrev: add widget magic-slash to approximate Zsh named directories (motivated by mozirilla213) #D2008 e6b9581c
  • sabbrev: support inline and linewise sabbre with ble-sabbrev -il #D2012 56208534
  • complete: add bleopt complete_source_sabbrev_{opts,ignore} (motivated by mozirilla213) #D2013 f95eb0cc #D2016 45c76746
  • util.bgproc: separate ble/util/bgproc from histdb (motivated by bkerin) #D2017 7803305f
    • util.bgproc: fix use of ble/util/idle in bash-3 #D2026 79a6bd41
    • util.bgproc: increase frequency of bgproc termination check (motivated by bkerin) #D2027 8d623c19
    • util.bgproc: fix an fd#alloc failure in bash-4.2 #D2029 7c4ff7bc
  • menu-complete: support selection by index (requested by bkerin) #D2023 b91b8bc8

Changes

  • syntax: exclude \ + LF at the word beginning from words (motivated by cmplstofB) #D1431 67e62d6
  • complete: do not quote : and = in non-filename completions generated by progcomp (reported by 3ximus) #D1434 d82535e
  • edit: preserve the state of READLINE_{LINE,POINT,MARK} #D1437 8379d4a
  • edit: change default behavior of C-w and M-w to operate on backward words #D1448 47a3301
  • prompt: rename bleopt prompt_{status_line => term_status} #D1462 cca1cbc
  • edit (ble/builtin/read): cancel by C-d on an empty line #D1473 ecb8888
  • syntax: change syntax context after time ; and ! ; for Bash 4.4 #D1477 4628370
  • decode (rlfunc): update mapping vi-replace in imap and vi-editing-mode in nmap (reported by onelittlehope) #D1484 f2ca811
  • prompt: invalidate prompt and textarea on prompt setting changes #D1492 1f55913
  • README: update informations on stable versions #D1509 c8e658e
  • README: update the description of how to uninstall #D1510 c8e658e
  • util (bleopt): validate initial user settings #D1511 82c5ece
    • util (bleopt): fix a bug that old values are double-expanded on init (fixup 82c5ece) #D1521 f795c07
    • util (bleopt): do not validate obsoleted initial settings #D1527 032f6b2
  • main: preserve user-space overridden builtins #D1519 0860be0
    • util (ble/util/type): fix a bug that aliases are not properly highlighted (reported by 3ximus) #D1526 45b30a7
    • main: preserve user's expand_aliases and allow aliases in internal space (fixup 0860be0) #D1574 afc4112
    • main: main: fix expand_aliases unset on ble-reload (fixup afc4112) #D1577 3417388
  • main: accept non-regular files as blerc and add option --norc #D1530 7244e2f
  • prompt: let stderr pass through to tty in evaluating PS0 (reported by tycho-kirchner) #D1541 24a88ce
  • prompt: adjust behavior of LINENO and prompt sequence \# (reported by tycho-kirchner) #D1542 8b0257e
    • prompt: update PS0 between multiple commands (motivated by tycho-kirchner) #D1560 8f29203
  • edit (widget:display-shell-version): include ble.sh version #D1545 750ca38
    • edit (display-shell-version): detect configurations and print details #D1781 5015cb56
    • edit (display-shell-version): show information of the OS distribution and properly handle saved locales #D1854 066ec63 bdb7dd6
    • edit (display-shell-version): show gawk, make, and git versions of the build time #D1892 e618133
    • edit (display-shell-version): support running as a user command (reported by DhruvaG2000) #D1893 e618133
    • edit (display-shell-version): show warnings for fzf-integration #D1907 3bc3bea
    • edit (display-shell-version): show the zoxide version #D1907 3bc3bea
  • complete (ble-sabbrev): support colored output #D1546 750ca38
  • decode (ble-bind): support colored output #D1547 750ca38
    • decode (ble-bind): output bindings of the specified keymaps with ble-bind -m KEYMAP (fixup 750ca38) #D1559 6e0245a
  • keymap/vi: update mode names on change of bleopt keymap_vi_mode_name_* (motivated by huresche) #D1565 11ac106
  • main: show notifications against debug versions of Bash #D1612 8f974aa
  • term: terminal identification
    • term (_ble_term_TERM): update vte identification #D1620 00e74d8
    • term (_ble_term_TERM): detect wezterm-20220408 #D1909 486564a
    • term (_ble_term_TERM): detect konsole #D1988 600e845 ed53858
  • edit: suppress only stderr with internal_suppress_bash_output (motivated by rashil2000) #D1646 a30887f
  • prompt: do not evaluate PROMPT_COMMAND for subprompts #D1654 08e903e
  • Makefile: work around the case the repository is cloned without --recursive #D1655 22ace5f
  • repo: add subdirectories make and docs #D1657 75bd04c
  • util: time out CPR requests #D1669 1481d48
    • util (CPR): fix the problem of always timing out (fixup 1481d48) #D1792 9b331c4
  • main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) #D1676 0525528 88e2df5
  • mandb: integrate mandb with bash-completion (motivated by Shahabaz-Bagwan, bbyfacekiller and EmilySeville7cfg) #D1688 c1cd666
  • syntax: do not start argument completions immediately after previous word (reported by EmilySeville7cfg) #D1690 371a5a4
    • syntax: revert 371a5a4 and generate empty completion source on syntax error #D1609 e09fcab
  • syntax: strictly check variable names of for-statements #D1692 d056547
  • widget self-insert: untranslate control chars and insert the last character #D1696 5ff3021
  • complete (source:command): exclude inactive aliases #D1715 d6242a7
  • complete (source:command): not quote aliases and keywords #D1715 d6242a7
  • highlight (wtype=CTX_CMDI): check alias names before shell expansions #D1715 d6242a7
    • util (ble/is-alias): fix a bug of unredirected error messages for bash-3.2 (fixup d6242a7) #D1730 31372cb
  • edit (history_share): update history on discard-line (reported by SuperSandro2000) #D1742 8dbefe0
  • canvas: do not insert explicit newlines on line folding if possible (reported by banoris) #D1745 02b9da6 dc3827b
    • edit: fix layout with prompt_rps1 caused by missing opts=relative for ble/textmap#update #D1769 f6af802
  • edit (ble-bind -x): preserve multiline prompts on execution of bind -x commands (requested by SuperSandro2000) #D1755 7d05a28
  • util (ble/util/buffer): hide cursor in rendering #D1758 e332dc5
  • complete (action:file): always suffix / to complete symlinked directory names (reported by SuperSandro2000) #D1759 397ac1f
  • edit (command-help): show source files for functions #D1779 7683ab9
  • edit (ble/builtin/exit): defer exit in trap handlers (motivated by SuperSandro2000) #D1782 f62fc04 6fdabf3
    • util (blehook): fix a bug that the the hook arguments are lost (reported by SuperSandro2000) #D1804 479795d
    • edit: fix a bug of ble/builtin/exit inside subshells in the EXIT trap #D1973 0451521
  • complete (source:command/get-desc): show function location and body #D1788 496e798
  • edit (ble-detach): prepend a space to stty sane for HISTIGNORE=' *' #D1796 26b532e
  • decode (bind): do not treat non-beginning # as comments #D1820 65c4138
  • history: disable the history file when HISTFILE is empty #D1836 9549e83
  • complete: generate options by empty-word copmletion after filenames (reported by geekscrapy) #D1846 6954b13
    • complete: do not show option descriptions for the empty-word completion (requested by geekscrapy) #D1846 1c7f7a1
  • syntax (extract-command): extract unexpected command names as commands #D1848 5b63459
  • main (ble-reload): preserve the original initialization options #D1852 d8c92cc
  • main (ble-reload): fix a bug that the default rcfile is not loaded #D1914 85b5828
  • blehook: print reusable code to restore the user hooks #D1857 b763677
    • blehook: separate internal and user hooks #D1856 b763677
    • blehook: prefer the uniq != to the addition += #D1871 fe7abd4
    • blehook: print hooks with --color=auto by default #D1875 3953afe
  • util (ble/builtin/trap): refactor
    • trap,blehook: rename ERR{ => EXEC} and separate from the ERR trap #D1858 94d1371
    • trap: remove the support for the shell function TRAPERR #D1858 94d1371
    • trap: preserve BASH_COMMAND in trap handlers #D1858 94d1371
    • util (ble/builtin/trap): run EXIT trap in subshells #D1862 5b351e8
    • util (ble/builtin/trap): fix the RETURN trap #D1863 793dfad
    • trap,blehook: move to a new file util.hook.sh #D1864 55a182b
    • trap (trap -p): fix unprinted existing user traps #D1864 55a182b
    • trap (ble/builtin/trap/finalize): fix a failure of restoring the original trap #D1864 55a182b
    • trap (trap -p): print also custom traps #D1864 55a182b
    • trap: preserve positional parameters for user trap handlers #D1865 9e2963c
    • trap: suppress INT processing with user traps #D1866 5c28387
    • trap: unify handling of DEBUG and the other traps #D1867 a22c25b
    • trap: work around possible interferences by recursive traps #D1867 a22c25b
    • trap: ignore RETURN for ble/builtin/trap/.handler #D1867 a22c25b
    • trap: fix a bug that DEBUG for internal commands clears $? #D1867 a22c25b
    • trap: use ble/util/assign/.mktmp to read the DEBUG trap #D1910 1de9a1e
  • progcomp: reproduce arguments of completion functions passed by Bash #D1872 4d2dd35
  • prompt: preserve transient prompt with same-dir after clear-screen #D1876 69013d9
  • color: let bleopt term_index_colors override the default if specified #D1878 7d238c0
  • canvas: update Unicode version 15.0.0 #D1880 49e55f4
  • decode (vi_imap-rlfunc.txt): update the widget for backward-kill-word as kill-backward-{u => c}word #D1896 e19b796
  • color: rearrange color table by ble palette (suggested by stackoverflow/caoanan) #D1961 bb8541d
  • util (ble/util/idle): process events before idle sleep #D1980 559d64b
  • keymap/vi (decompose-meta): translate S-a to A #D1988 600e845
  • sabbrev: apply sabbrev to right-hand sides of variable assignments #D2006 41faa494
  • complete (source:argument): fallback to rhs completion also for name+=rhs #D2006 41faa494
  • auto-complete: limit the line length for auto-complete #D2009 5bfbd6f2
  • complete (source:argument): generate sabbrev completions after normal completions (motivated by mozirilla213) #D2011 a6f168d0
  • complete (source:option): carve out ble/complete/source:option/generate-for-command (requested by mozirilla213) #D2014 54ace59c

Fixes

  • term: fix a bug that VTE based terminals are not recognized #D1427 7e16d9d
  • complete: fix a problem that candidates are not updated after menu-filter (reported by 3ximus) #D1428 98fbc1c
  • complete/mandb-related fixes
    • mandb: support mandb in FreeBSD #D1432 6c54f79
    • mandb: fix BS contamination used by nroff to represent bold (reported by rlnore) #D1429 b5c875a
    • mandb: fix an encoding prpblem of utf8 manuals #D1446 7a4a480
    • mandb: improve extraction and cache for each locale #D1480 3588158
    • mandb: fix an infinite loop by a leak variable (reported by rlanore, riblo) #D1550 0efcb65
    • mandb: work around old groff in macOS (reported by killermoehre) #D1551 d4f816b
    • mandb: use manpath and man -w, and read /etc/man_db.conf and ~/.manpath #D1637 2365e09
    • mandb: support the formats of the man pages of awk and sed (reported by bbyfacekiller) #D1687 6932018
    • mandb: generate completions of options also for the empty word #D1689 b90ac78
    • mandb: support the man-page formats of wget, fish, and ping (reported by bbyfacekiller) #D1687 a79280e
    • mandb: carry optarg for e.g. -a, --accept=LIST #D1687 23d5657
    • mandb: parse --help for specified commands #D1693 e1ad2f1
    • mandb: fix small issues of man-page analysis #D1708 caa77bc
    • mandb: insert a comma in brace expansions instead of a space #D1719 0ac7f03
    • mandb: support man-page format of rsync #D1733 7900144
    • mandb: fix a bug that the description is inserted for --no-OPTION #D1761 88614b8
    • mandb: fix a bug that the man page is not correctly searched (fixup 2365e09) #D1794 65ffe70
    • mandb: support the man-page formats of man ls in coreutils/Japanese and in macOS #D1847 fa32829
    • mandb: include short name in the longname description #D1879 60b6989
  • edit: work around the wrong job information of Bash in trap handlers (reported by 3ximus) #D1435 #D1436 bc4735e
  • edit (command-help): work around the Bash bug that tempenv vanishes with builtin eval #D1438 8379d4a
  • global: suppress missing locale errors (reported by 3ximus) #D1440 4d3c595
  • edit (sword): fix definition of sword (shell words) #D1441 f923388
  • edit (kill-forward-logical-line): fix a bug not deleting newline at the end of the line #D1443 09cf7f1
  • util (ble/util/msleep): fix hang in Cygwin by swithing from /dev/udp/0.0.0.0/80 to /dev/zero #D1452 d4d718a
    • util (ble/util/msleep): work around the bash-4.3 bug of read -t (reported by 3ximus) #D1468 #D1469 4ca9b2e
  • syntax: fix broken AST with [[ keyword #D1454 69658ef
  • benchmark (ble-measure): work around a locale-dependent decimal point of EPOCHREALTIME (reported by 3ximus) #D1460 1aa471b
  • global: work around bash-4.2 bug of declare -gA (reported by 0xC0ncord) #D1470 8856a04
    • global: fix declaration of associative arrays for ble-reload (reported by 0xC0ncord) #D1471 3cae6e4
    • global: use a better workaround of bash-4.2 declare -gA by separating assignment #D1567 2408a20
  • bind: work around broken cmd_xmap after switching the editing mode #D1478 8d354c1
    • decode (encoding:C): fix initialization for isolated ESC #D1839 c3bba5b
  • edit: clear graphic rendition on newlines and external commands #D1479 18bb2d5
  • decode (rlfunc): work around incomplete bytes in keyseq (reported by onelittlehope) #D1483 3559658 beb0383 37363be
  • main: fix a bug that unset IFS is not correctly restored #D1489 808f6f7
    • edit: fix error messages on accessing undo records in emacs mode (reported by rux616) #D1497 61a57c0 e9be69e
  • canvas: fix a glitch that SGR at the end of command line is applied to new lines #D1498 4bdfdbf
  • syntax: fix a bug that eval() { :; }, declare() { :; } are not treated as function definition #D1529 b429095
  • decode: fix a hang on attach failure by cache corruption #D1531 24ea379
  • edit, etc: add workarounds for localvar_inherit #D1532 7b63c60
    • edit: fix a bug that command-help doesn't work #D1635 0f6a083
  • progcomp: fix non-working complete -C prog (reported by Archehandoro) #D1535 026432d
  • bind: fix a problem that bind '"seq":"key"' causes a loop macro bind -s key key (reported by thanosz) #D1536 ea05fc5
    • bind: fix errors on readline macros (reported by RakibFiha) #D1537 c257299
  • main: work around sourcing ble.sh inside subshells #D1554 bbc2a90
    • main: fix exit status for bash ble.sh --test (fixup bbc2a90) #D1558 641238a
    • main: fix reloading after ble-update (fixup bbc2a90) (fixed by oc1024) #D1558 9372670
  • main: work around . ble.sh --{test,update,clear-cache} in intereactive sessions #D1555 bbc2a90
  • Makefile: create run directory instead of tmp #D1557 9bdb37d
  • main: fix the workaround for set -e #D1564 ab2f70b
    • main: fix the workaround for set -u #D1575 76073a9
    • main: fix the workaround for set -eu and refactor #D1743 6a946f0
    • decode: fix the workaround for set -e with --prompt=attach #D1832 5111323
  • util: work around bash-3.0 bug "${scal[@]/xxx}" #D1570 24f79da
  • sabbrev (ble-sabbrev): fix delayed output before the initialization #D1573 5d85238
  • history: fix the workaround for bash-3.0 bug of reducing histories #D1576 15c9133
  • syntax: fix a bug that argument completion is attempted in nested commands (reported by huresche) #D1579 301d40f
  • edit (brackated-paste): fix incomplete CR => LF conversion (reported by alborotogarcia) #D1587 8d6da16
  • main (adjust-bash-options): adjust LC_COLLATE=C #D1588 e87ac21
  • highlight (layer:region): fix blocked lower-layer changes without selection changes #D1596 5ede3c6
  • complete (auto-menu): fix sleep loops by clock/sclock difference #D1597 53dd018
  • history: fix a bug that history data is cleared on history -r #D1605 72c274e
  • util (ble/string#quote-command): remove redundant trailing spaces for single word command #D1613 94556b4
  • util: work around the Bash 3 bug of array assignments with ^A and ^? in Bash 3.2 #D1614 b9f7611
  • benchmark (ble-measure): fix a bug that the result is always 0 in Bash 3 and 4 (fixup bbc2a904) #D1615 a034c91
  • complete: fix a bug that the shopt settings are not restored correctly (reported by Lun4m) #D1623 899c114
  • decode, canvas, etc.: explicitly treat CSI arguments as decimal numbers (reported by GorrillaRibs) #D1625 c6473b7 2ea48d7
  • history: fix the vanishing history entry used for ble-attach #D1629 eb34061
  • global: work around readonly TMOUT (reported by farmerbobathan) #D1630 44e6ec1
  • complete: fix a task scheduling bug of referencing two different clocks (reported by rashil2000) #D1636 fea5f5b
  • canvas: update prompt trace on char_width_mode change (reported by Barbarossa93) #D1642 68ee111
  • decode (cmap/initialize): fix unquoted special chars in the cmap cache #D1647 7434d2d
  • decode: fix a bug that the characters input while initialization are delayed #D1670 430f449
  • util (ble/util/readfile): fix a bug of always exiting with 1 in bash <= 3.2 (reported by laoshaw) #D1678 61705bf
  • trace: fix wrong positioning of the ellipses on overflow #D1684 b90ac78
  • complete: do not generate keywords for quoted command names #D1691 60d244f
  • menu (menu-style:align): fix the failure of delaying ble/canvas/trace on items (motivated by banoris) #D1710 acc9661
  • complete: fix empty completions with FIGNORE (reported by seanfarley) #D1711 144ea5d
  • main: fix the message of owner errors of cache directories (reported by zim0369) #D1712 b547a41
  • util (ble/string#escape-for-bash-specialchars): fix escaping of TAB #D1713 7db3d2b
  • complete: fix failglob messages while progcomp for commands containing globchars #D1716 e26a3a8
    • complete: fix a bug that the default progcomp does not work properly #D1722 01643fa
  • highlight: fix a bug that arrays without the element 0 is not highlighted #D1721 b0a0b6f
  • util (visible-bell): erase visible-bell before running external commands #D1723 0da0c1c
    • util(ble/util/eval-pathname-expansion): fix restoring shopt options in bash-4.0 #D1825 736f4da
  • util (ble/function): work around shopt -u extglob #D1725 952c388
  • syntax: fix uninitialized syntax-highlighting in bash-3.2 #D1731 e3f5bf7
  • make: fix a bug that config update messages are removed on install #D1736 72d968f
  • util: fix bugs in conversions from ' to \'' #D1739 6d15782
  • canvas: fix unupdated prompt on async wcwidth resolution #D1740 e14fa5d
  • progcomp: retry completions on $? == 124 also for non-default completions (reported by SuperSandro2000) #D1759 82b9c01
  • app: work around data corruption by WINCH on intermediate state #D1762 5065fda
  • util (ble/util/import): work around filenames with bash special characters #D1763 b27f758
  • edit: fix the restore failure of PS1 and PROMPT_COMMAND on ble-detach #D1784 b9fdaab
  • complete: do not attempt an independent rhs completion for arguments (reported by rsteube) #D1787 f8bbe2c
  • history: fix the unsaved history in the detached state #D1795 344168e
  • edit: fix an unexpected leave from the command layout on read #D1800 4dbf16f
    • edit: fix the command layout remaining after job information (reported by mozirilla213) #D1991 dcfb067
  • history: work around possible dirty prefix * in the history output #D1808 64a740d
  • decode (ble-bind): fix the printed definition of -c/-x bindings #D1821 94de078
  • command-help (.read-man): add missing ble/util/assign/.rmtmp #D1840 937a164
  • complete: fix wrong COMP_POINT with progcomp_alias #D1841 369f7c0
  • main (ble-update): fix error message with system-wide installation of ble.sh (fixed by tars0x9752) 1d2a9c1 a450775
  • main. util: fix problems of readlink etc. found by test in macOS (reported by aiotter) #D1849 fa955c1 #D1855 a22e145
  • progcomp: fix a bug that COMP_WORDBREAKS is ignored #D1872 4d2dd35
  • global: quote return $? #D1884 801d14a
  • canvas (ble/canvas/trace): fix text justification for empty lines (reported by rashil2000) #D1894 cdf74c2
  • main: fix adjustments of bash options (reported by rashil2000) #D1895 138c476
  • complete: suppress error messages for non-bash_completion _parse_help (reported by nik312123) #D1900 267de7f
  • prompt: fix the marker position for the readline variable show-mode-in-prompt (reported by Strykar) #D1903 09bb4d3
  • highlight: fix a bug that bleopt filename_ls_colors is not working (reported by qoreQyaS) #D1919 b568ade
  • bind: fix M-C-@, C-x C-@, and M-C-x (bash-4.2 -o emacs) #D1920 a410b03
  • complete (action:file): support ble/syntax-raw in the filename extraction (reported by qoreQyaS) #D1921 32277da
  • decode: fix a bug that the tab completion do not work with bash-4.4 and lower #D1928 7da9bce
  • complete: fix non-working ambiguous path completion with .. and . in the path #D1930 632e90a
  • main (ble-reload): fix failure by non-existent rcfile #D1931 b7ae2fa
  • syntax (ble/syntax/highlight/vartype): check variable in global scope #D1932 b7026de
  • menu (linewise): fix layout calculation with variable width of line prefix (reported by bkerin) #D1979 cc852dc
  • edit (ble/textarea#render): fix interleaving outputs to _ble_util_buffer and DRAW_BUFF #D1987 6d61388
  • keymap/vi (expand-range-for-linewise-operator): fix the end point being not extended #D1994 bce2033
  • keymap/vi (operator:filter): do not append newline at the end of line #D1994 bce2033
  • highlight: fix shifted error marks after delayed core-syntax #D2000 f4145f16
  • syntax: fix unrecognized variable assignment of the form echo arr[i]+=rhs #D2007 41faa494
  • menu (linewise): fix clipping of long line (reported by bkerin) #D2025 4c6a4775

Documentation

  • blerc: add all the missing options #D1667 0228d76
  • blerc: add missing faces argument_option and cmdinfo_cd_cdpath (reported by Prikalel) #D1675 26aaf87
  • README: describe how to invoke multiple widgets with a keybinding (motivated by michaelmob) #D1699 6123551
  • README: add links to bash-it and oh-my-bash #D1724 4a2575f
  • README: mention the Guix package (motivated by kiasoc5) #D1888 0f7c04b
  • blerc: add frequently used keybindings (motivated by KiaraGrouwstra, micimize) #D1896 #D1897 e19b796
  • wiki/Q&A: add item for defining a widget calling multiple widgets (motivated by micimize) #D1898 e19b796
  • blerc: rename from blerc to blerc.template #D1899 e19b796
  • README: add a link to the explanation on the "more reliable setup" of bashrc (motivated by telometto) #D1905 09bb4d3
  • README: describe contrib/fzf integration (reported by SuperSandro2000, tbagrel1) #D1907 3bc3bea b568ade
  • README: add links to Manual pages for kspec and modifyOtherKeys #D1917 fb7bd0b1 b568ade
  • README: explain the build process #D1964 #D1965 14ca1e5

Optimization

  • syntax (layer:syntax/word): perform pathname expansions in background subshells (motivated by 3ximus) #D1449 13e7bdd
    • syntax (simple-word/is-simple-noglob): suppress error messages on expansions #D1461 a56873f
    • syntax (simple-word/eval): fix unperformed tilde expansions in the background (reported by 3ximus) #D1463 6ebec48
    • syntax (simple-word/eval): propagate timeouts in sync highlighting (reported by 3ximus) #D1465 c2555e2
    • edit: change the priority of render-defer and menu-filter #D1501 aae553c
  • complete: perform pathname expansions in subshells (motivated by 3ximus) #D1450 d511896
  • complete: support bleopt complete_timeout_compvar to time out pathname expansions for COMP_WORDS / COMP_LINE #D1457 cc2881a
  • complete (ble/complete/source:file): remove slow old codes (reported by timjrd) #D1512 e5be0c1
  • syntax (ble/syntax:bash/simple-word/eval): optimize large array passing (motivated by timjrd) #D1522 c89aa23
    • syntax (ble/syntax:bash/simple-word/eval): use mapfile -d '' for Bash 5.2 #D1604 72c274e
  • main: prefer nawk over mawk and gawk #D1523 #D1524 c89aa23
    • main (ble/bin/.freeze-utility-path): fix unupdated temporary implementations #D1528 c70a3b4
    • util (ble/util/assign): work around subshell conflicts #D1578 6e4bb12
  • history: use mapfile -d '' to load history in Bash 5.2 #D1603 72c274e
  • prompt: use ${PS1@P} when the prompt contains only safe prompt sequences #D1617 8b5da08
    • prompt: fix not properly set $? in ${PS1@P} evaluation (reported by nihilismus) #D1644 521aff9
    • prompt: fix a bug that the special treatment of \$ in Cygwin/MSYS is disabled #D1741 4782a33
  • decode: cache inputrc translations #D1652 994e2a5
  • complete: use awk for batch quote-insert (motivated by banoris) #D1714 a0b2ad2 92d9734
    • complete (quote-insert.batch): fix regex escaping in bracket expr of awk (reported by telometto) #D1729 8039b77
  • prompt: reduce redundant evaluation of PROMPT_COMMAND on the startup #D1778 042376b
  • main: run ble/base/unload directly at the end of EXIT handler #D1797 115baec
  • util: optimize ble/util/writearray #D1816 96e9bf8
  • history: optimize processing of erasedups (motivated by SuperSandro2000) #D1817 944d48e
  • debug: add ble/debug/profiler (motivated by SuperSandro2000) #D1824 f629698 11aa4ab 7bb10a7
    • util (ble/string#split): optimize #D1826 7bb10a7
    • global: avoid passing arbitrary strings through awk -v var=value #D1827 82232de
    • edit: properly set LINENO for PS1, PROMPT_COMMAND, and DEBUG #D1830 4d24f84

Compatibility

  • term: work around quirks of Solaris xpg4 awk #D1481 6ca0b8c
  • term: support key sequences and control sequences of Solaris console #D1481 6ca0b8c
  • term: work around Cygwin-console bug of bottom IL/DL #D1482 5dce0b8
  • term: work around leaked DA2R in screen from outside terminal #D1485 e130619
  • complete: work around fzf completion settings loaded automatically #D1508 4fc51ae
  • complete: work around bash-completion bugs (reported by oc1024) #D1533 9d4ad56
  • main: work around MSYS2 .inputrc (reported by n1kk) #D1534 9e786ae
  • util (modifyOtherKeys): work around a quirk of kitty (reported by NoahGorny) #D1549 f599525
    • util (modifyOtherKeys): update the workaround for a new quiark of kitty #D1627 3e4ecf5
    • util (modifyOtherKeys): use the kitty protocol for kitty 0.23+ which removes the support of modifyOtherKeys (reported by kovidgoyal) #D1681 ec91574
    • util (modifyOtherKeys): set up modifyOtherKeys only after DA2 (reported by dongxi8) #D1885 149eee9
  • global: work around empty vi_imap cache by tmux-resurrect #D1562 560160b
  • decode: identify kitty and treat \e[27u as isolated ESC (reported by lyiriyah) #D1585 c2a84a2
  • complete: suppress known error messages of bash-completion (reported by oc1024, Lun4m) #D1622 d117973
  • decode: work around kitty keypad keys in modifyOtherKeys (reported by Nudin) #D1626 27c80f9
  • main: work around set -B and set -k #D1628 a860769
  • term: disable modifyOtherKeys and do not send DA2 for st (requested by Shahabaz-Bagwan) #D1632 92c7b26
  • cmap: add st-specific escape sequences for cursor keys #D1633 acfb879
  • cmap: distinguish find/select from home/end for openSUSE inputrc.keys (reported by cornfeedhobo) #D1648 c4d28f4
    • cmap: freeze the internal codes of find/select and kitty special keys #D1674 fdfe62a
  • main: work around self-modifying PROMPT_COMMAND by bash-preexec (reported by cornfeedhobo) #D1650 39ebf53
    • main: fix an infinite loop on ble-reload with externally saved PROMPT_COMMAND (reported by tars0x9752) #D1851 53af663
  • decode: work around openSUSE broken /etc/inputrc #D1662 e5b0c86
  • decode: work around the overwritten builtin set (reported by eadmaster) #D1680 a6b4e2c
  • complete: work around the variable leaks by virsh completion from libvirt (reported by telometto) #D1682 f985b9a
  • stty: do not remove keydefs for C-u, C-v, C-w, and C-? (reported by laoshaw) #D1683 82f74f0
  • builtin: print usages of emulated builtins on option errors #D1694 6f74021
  • decode (ble/builtin/bind): improve compatibility of the deprecated form bind key:rlfunc (motivated by cmplstofB) #D1698 b6fc4f0
    • decode (ble/builtin/bind): fix a bug that only lowercase is accepted for deprecated form bind key:rlfunc (reported by returntrip) #D1726 a67458e e363f1b
  • complete: work around a false warning messages of gawk-4.0.2 #D1709 9771693
  • main: work around XDG_RUNTIME_DIR of a different user by su (reported by zim0369) #D1712 8d37048
  • main (ble/util/readlink): work around non-standard or missing readlink (motivated by peterzky) #D1720 a41279e
    • util (ble/function#pop): allow popping unset function #D1834 c0abc95
  • menu (menu-style:desc): work around xenl quirks for relative cursor movements (reported by telometto) #D1728 3e136a6
  • global: work around the arithmetic syntax error of 10# in Bash-5.1 #D1734 7545ea3
  • global: adjust implementations for Bash 5.2 patsub_replacement #D1738 4590997
    • global: work around compat42 quoting of "${v/pat/"$rep"}" #D1751 a75bb25
    • prompt: fix a bug of ble/prompt/print redundantly quoting $ #D1752 a75bb25
    • global: identify bash-4.2 bug that internal quoting of ${v/%$empty/"$rep"} remains #D1753 a75bb25
    • global: work around shopt -s compat42 #D1754 a75bb25
  • global (ble/builtin/*): work around set -eu in NixOS initialization (reported by SuperSandro2000) #D1743 001c595
  • util, edit, contrib: add support for bash-preexec (motivated by SuperSandro2000) #D1744 e85f52c
    • util (ble/builtin/trap): fix resetting $? and $_ (reported by SuperSandro2000) #D1757 dfc6221
    • util (ble/builtin/trap): fix a failure of setting the trap-handler exit status (reported by SuperSandro2000) #D1771 c513ed4
    • edit (TRAPDEBUG): partially restore $_ after DEBUG trap (reported by aiotter) #D1853 0b95d5d
  • main: check IN_NIX_SHELL to inactivate ble.sh in nix-shell (suggested by SuperSandro2000) #D1747 b4bd955
    • main: force prompt-attach inside the nix-shell rc #D1766 ceb2e7c
  • canvas: test the terminal for the sequence of clearing DECSTBM #D1748 4b1601d
  • main: check /dev/tty on startup (reported by andychu) #D1749 711c69f
    • main: fix the check of tty on stdin/stdout #D1833 80f09c9
  • util: add identification of Windows Terminal wt #D1758 e332dc5
  • complete: evaluate words for noquote (motivated by SuperSandro2000) #D1767 0a42299
  • edit (TRAPDEBUG): preserve original DEBUG trap and enabled it in PROMPT_COMMAND (motivated by ammarooo) #D1772 #D1773 ec2a67a
    • main, trap: fix initialization order of {save,restore}-BASH_REMATCH (reported by SuperSandro2000) #D1780 689534d
  • global: work around bash-3.0 bug that single quotes remains for "${v-$''}" #D1774 9b96578
  • util: work around old vte not supporting DECSCUSR yet setting TERM=xterm (reported by dongxi8) #D1785 70277d0
  • progcomp: work around the cobra V2 description hack (reported by SuperSandro2000) #D1803 71d0736
  • complete: work around blocking _scp_remote_files and _dnf (reported by iantra) #D1807 a4a779e 46f5c13
  • history: work around broken timestamps in HISTFILE (reported by johnyaku) #D1831 5ef28eb
  • progcomp: disable command_not_found_handle (reported by telometto, wisnoskij) #D1834 64d471a d5fe1d1 973ae8c
  • util (modifyOtherKeys): work around delayed terminal identification #D1842 14f3c81
    • util (modifyOtherKeys): fix a bug that kitty protocol is never activated #D1842 14f3c81
  • util (modifyOtherKeys): pass-through kitty protocol sequences (motivated by ferdinandyb) #D1845 f66e0c1
  • main: show warning for empty locale (movivated by Ultra980) #D1927 92f2006
  • main: never load /etc/inputrc in openSUSE (motivated by Ultra980) #D1926 92f2006 0ceb0cb
  • canvas: refine detection of bleopt char_width_mode=musl #D1929 b0c16dd
  • term (terminology): work around terminal glitches #D1946 9a1b4f9
  • main (ble/bin/awk): add workaround for macOS awk-32 #D1974 e2ec89c
  • util.hook: workaround bash-5.2 bug of nested read by WINCH #D1981 a5b10e8
    • main (ble/base/adjust-builtin-wrappers): fix persistent tempenv IFS= in bash-5.0 (reported by pt12lol) #D2030 5baf6f63
  • edit: always adjust the terminal states with bind -x (reported by linwaytin) #D1983 5d14cf1
    • edit: restore PS1 while processing bind -x (reported by adoyle-h) #D2024 2eadcd5b
  • syntax: suppress brace expansions in designated array initialization in Bash 5.3 #D1989 1e7b884
  • progcomp: work around slow nix completion #D1997 2c1aacf
  • complete: suppress error messages from _adb (reported by mozirilla213) #D2005 f2aa32b0

Test

  • github/workflows: add CI checks in macOS and msys2 (requested by aiotter) ##D1881 c5ddacc
    • github/workflows (nightly): add check for macOS (contributed by aiotter) #D1881 4cb0baa
    • github/workflows (nightly, test): interchange setup #D1881 4cb0baa
    • github/workflows: add test.yml #D1881 824dc53
    • fix for macOS tests
      • test (ble/util/c2s): fix locale settings in tests #D1881 26ed622
      • test (ble/util/msleep): loosen the condition #D1881 26ed622
      • test (ble/util/msleep): skip test in CI #D1881 26ed622
    • fix for msys2 tests
      • test: ensure a non-empty locale #D1881 c5d1b82
      • test (ble/util/readlink): work around msys symlinks #D1881 c5d1b82
      • test (ble/util/declare-print-definitions): skip array assignments involing CR in msys #D1881 c5d1b82
      • test (ble/util/is-stdin-ready): skip test in the CI msys #D1881 c5d1b82
      • main (bind): suppress non-interactive warning in msys #D1881 c5d1b82
      • canvas (GraphemeClusterBreak): handle surrogate pairs for UCS-2 wchar_t #D1881 18bf121
      • util (ble/encoding:UTF-8/b2c): fix interpretation of leading byte #D1881 2e1a7c1
      • util (ble/util/s2c): work around intermediate mbstate of bash <= 5.2 #D1881 2e1a7c1
      • util (ble/util/s2bytes): clear locale cache #D1881 2e1a7c1
    • complete: fix syntax error for bash-3.0 #D1881 0b3e611
    • github/workflows: work around grep-3.0 which crashes in windows-latest #D1915 fb7bd0b
  • test (ble/util/writearray): use ble/file#hash instead of sha256sum #D1882 b76e21e
  • test (ble/util/readlink): work around external aliases #D1890 0c6291f

Internal changes and fixes

  • main: include hostname in local runtime directory #D1444 6494836
  • global: update the style of document comments ff4c4e7
  • util: add function ble/string#quote-words #D1451 f03b87b
  • syntax (ble/syntax:bash/simple-word/eval): cache #D1453 6d8311e
    • syntax (simple-word/eval): support opts=single for a better cache performance (motivated by 3ximus) #D1464 10caaa4
  • global: refactor setup => set up / set-up #D1456 c37a9dd
  • global: clean up helps of user functions #D1459 33c283e
  • benchmark (ble-measure): support -T TIME and -B TIME option #D1460 1aa471b
  • util, color (bleopt, blehook, ble-color-setface): support --color and fix sgr0 contamination in non-color output #D1466 69248ff
  • global: fix status check for read timeout #D1467 e886883
  • decode: move {keymap/*. => lib/core-decode.*-}rlfunc.txt and clean up files #D1486 f7323b4
    • Makefile: fix up f7323b4: restore rule for keymap/*.txt #D1496 054e5c1
  • util, etc: ensure each function to work with arbitrary IFS #D1490 #D1491 5f9adfe
  • tui, canvas (ble/canvas/trace): support opts=clip #D1493 61ce90c
  • tui, edit: add a new render mode for full-screen applications 817889d
  • test (test-canvas): fix dependency on ext/contra #D1525 c89aa23
  • util: inherit special file descriptors #D1552 98835b5
    • util: fix a bug that old tty is used in new sessions #D1586 0e55b8e
  • global: use _ble_term_IFS #D1557 d23ad3c
  • global: work around localvar_inherit for varname-list init #D1566 5c2edfc
  • util: fix ble/util/dense-array#fill-range a46fdaf
  • util: fix leak variables buff, trap, {x,y}{1,2} #D1572 5967d6c
  • util: fix leak variables #D1643 fcf634b
  • edit (command-help): use ble/util/assign/.mktmp to determine the temporary filename #D1663 1af0800
  • make: update lint check #D1709 7e26dcd
  • test: save the test log to a file #D1735 d8e6ea7
  • benchmark: improve determination of the base time #D1737 ad866c1
  • make: add fallback Makefile for BSD make #D1805 e5d8d00c
  • main: support bleopt debug_xtrace (requested by SuperSandro2000) #D1810 022d38b
  • test: clean up check failures by make check and make scan #D1812 bb3e0a3
  • util (fd#alloc): limit the search range of free fds #D1813 43be0e4 4c90072
  • github/workflows: define an action for the nightly builds (contributed by uyha) #D1814 a3082a0
  • global: quote numbers for unexpected IFS #D1835 0179afc
  • history: refactor hooks history_{{delete,clear,insert} => change} #D1860 c393c93
  • history: rename the hook history_{on => }leave #D1860 c393c93
  • make: check necessary .git #D1887 0f7c04b
  • benchmark (zsh): fix for KSH_ARRAYS #D1886 a144ffa 8cb9b84
  • benchmark: support for ksh as benchmark.ksh #D1886 5dae4da
  • github/workflows (build): rename directory in ble-nightly.tar.xz to ble-nightly (reported by Harduex) #D1891 f20854f 4ea2e23 43c6d4b
  • edit: update prompts on g2sgr change #D1906 40625ac
  • util, decode, vi: fix leak variables #D1933 8d5cab8
  • util: support bleopt debug_idle #D1945 fa10184
  • global: work around bash-4.4 no-argument return in trap #D1970 eb4ffce
  • util: replace builtin readonly with a shell function (requested by mozirilla213) #D1985 8683c84 e4758db
    • util (ble/builtin/readonly): show file and line in warnings #D2015 467fa448 2c9b56d7
  • global: avoid directly using /dev/tty #D1986 a835b83
  • util: add ble/util/message #D2001 2a524f34
  • global: normalize bracket expressions to _a-zA-Z / _a-zA-Z0-9 #D2006 41faa494
  • global: fix leak variables #D2018 6f5604de
  • edit: handle nested WINCH properly #D2020 a6b2c078
  • make: include the source filenames in the installed files (suggested by bkerin) #D2027 610fab39

Contrib

  • prompt-git: detect staged changes #D1718 2b48e31
  • prompt-git: fix a bug that information is not updated on reload #D1732 361e9c5
  • config/execmark: show exit status in a separate line #D1828 4d24f84
    • config/execmark: add names of exit statuses #D2019 a6b2c078
  • prompt-git: ignore untracked files in submodules #D1829 4d24f84
  • integration/fzf
    • fzf-completion: fix integration (reported by ferdinandyb) #D1837 12c022b
    • fzf-completion: remove noquote (reported by MK-Alias) #D1889 0c6291f
    • fzf-initialize: check directory existence before adding it to PATH (reported by Strykar) #D1904 09bb4d3
    • fzf-key-bindings: fix a problem that modifyOtherKeys is not reflected (reported by SuperSandro2000) #D1908 486564a
    • fzf-completion: quote only with filenames when ble/syntax-raw is specified (reported by christianknauer) #D1978 8965b61
  • integration/zoxide
    • complete, contrib: add completion integration with zoxide (reported by ferdinandyb) #D1838 a96bafe
    • zoxide: update contrib/integration/zoxide for zoxide v0.8.1 #D1907 3bc3bea
    • zoxide: adjust zoxide icanon (reported by linwaytin) #D1993 dc7de6b
  • README: update description on _ble_contrib_fzf_base (reported by Strykar) #D1904 09bb4d3
  • colorglass: add color filter #D1902 88e74cc
    • colorglass: add bleopt colorglass_{saturation,brightness} (motivated by auwsom) #D1906 40625ac
  • add histdb #D1925 44d9e10
    • histdb: support auto-complete source histdb-word #D1938 00cae74
    • histdb: automatically upgrade histdb version #D1940 4fac1e3
    • histdb: support auto-complete source histdb-history #D1941 4fac1e3
    • histdb: handle multiple exec lines for histdb_ignore #D1942 36e1c89
    • histdb: kill orphan sqlite3 processes #D1943 36e1c89
    • histdb: back up the database #D1944 36e1c89
    • histdb: fix miscellaneous SQL query errors #D1947 46ac426
    • histdb: output error messages to tty #D1952 651c70c
    • histdb: fix remaining debug function name "assign{2 => }" in bash <= 3.2 #D1953 651c70c
    • histdb: fix a problem that the background process fails to start in bash-3.0 #D1956 651c70c
    • histdb: fix a bug that history search fails with a single quote in the commandline #D1957 651c70c
    • histdb: fix histdb-word completions in the middle of the commandline #D1968 adaec05
    • histdb: support bleopt histdb_remarks #D1968 adaec05
    • histdb: support timeout of background processes #D1971 e0566bd
    • histdb: enable database timeout for transactions #D1982 a5b10e8
    • histdb: fix .timeout not set for background sqlite3 #D1982 20b42fa
    • histdb: suppress color codes in the default histdb_remarks #D1968 20b42fa
    • histdb: disable timeout of background processes in Bash 3.2 #D1992 20b42fa
    • histdb: rewrite to use ble/util/bgproc #D2017 7803305f
  • integration: move fzf and bash-preexec integrations to subdir #D1939 86d9467
ble.sh - Patch 0.3.4

Published by akinomyoga over 1 year ago

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 bind emulation 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) #D1428 1c7786e (master: 98fbc1c)
  • edit: work around the wrong job information of Bash in trap handlers (reported by 3ximus) #D1435 #D1436 d40847f (master: bc4735e)
  • edit (command-help): work around the Bash bug that tempenv vanishes with builtin eval #D1438 cc8ca96 (master: 8379d4a)
  • global: suppress missing locale errors (reported by 3ximus) #D1440 b52a798 (master: 4d3c595)
  • edit (sword): fix definition of sword (shell words) #D1441 2370bce (master: f923388)
  • edit (kill-forward-logical-line): fix a bug not deleting newline at the end of the line #D1443 2a8a7f6 (master: 09cf7f1)
  • global: work around bash-4.2 bug of declare -gA (reported by 0xC0ncord) #D1470 2f85ed3 (master: 8856a04)
  • global: fix declaration of associative arrays for ble-reload (reported by 0xC0ncord) #D1471 422de69 (master: 3cae6e4)
  • 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)
  • syntax: fix broken AST with [[ keyword #D1454 1d48e79 (master: 69658ef)
  • benchmark (ble-measure): work around a locale-dependent decimal point of EPOCHREALTIME (reported by 3ximus) #D1460 f3833ad (master: 1aa471b)
  • util (ble/util/msleep): work around the bash-4.3 bug of read -t (reported by 3ximus) #D1468 #D1469 70797cf (master: 4ca9b2e)
  • bind: work around broken cmd_xmap after switching the editing mode #D1478 909f461 (master: 8d354c1)
  • edit: clear graphic rendition on newlines and external commands #D1479 59ede5c (master: 18bb2d5)
  • decode (rlfunc): work around incomplete bytes in keyseq (reported by onelittlehope) #D1483 948a38d (master: 3559658) beb0383 37363be
  • canvas: fix a glitch that SGR at the end of command line is applied to new lines #D1498 6871634 (master: 4bdfdbf)
  • syntax: fix a bug that eval() { :; }, declare() { :; } are not treated as function definition #D1529 6c1d295 (master: b429095)
  • decode: fix a hang on attach failure by cache corruption #D1531 d4b0700 (master: 24ea379)
  • progcomp: fix non-working complete -C prog (reported by Archehandoro) #D1535 47b3ade (master: 026432d)
  • bind: fix a problem that bind '"seq":"key"' causes a loop macro bind -s key key (reported by thanosz) #D1536 e2a502d (master: ea05fc5)
  • main: work around . ble.sh --{test,update,clear-cache} in intereactive sessions #D1555 500915f (master: bbc2a90)
  • main: fix reloading after ble-update (fixup 500915f (master: bbc2a90)) (fixed by oc1024) #D1558 9372670
  • main: fix exit status for bash ble.sh --test (fixup 500915f (master: bbc2a90)) #D1558 641238a
  • main: work around sourcing ble.sh inside subshells #D1554 500915f (master: bbc2a90)
  • global: use a better workaround of bash-4.2 declare -gA by separating assignment #D1567 40827ef (master: 2408a20)
  • util: work around bash-3.0 bug "${scal[@]/xxx}" #D1570 7e10cf4 (master: 24f79da)
  • syntax: fix a bug that argument completion is attempted in nested commands (reported by huresche) #D1579 6987ae8 (master: 301d40f)
  • edit (brackated-paste): fix incomplete CR => LF conversion (reported by alborotogarcia) #D1587 2651c8e (master: 8d6da16)
  • main (adjust-bash-options): adjust LC_COLLATE=C #D1588 94cc9d2 (master: e87ac21)
  • highlight (layer:region): fix blocked lower-layer changes without selection changes #D1596 d40d42a (master: 5ede3c6)
  • complete (auto-menu): fix sleep loops by clock/sclock difference #D1597 0abc15b (master: 53dd018)
  • util: work around the Bash 3 bug of array assignments with ^A and ^? in Bash 3.2 #D1614 0eac4df (master: b9f7611)
  • benchmark (ble-measure): fix a bug that the result is always 0 in Bash 3 and 4 (fixup bbc2a904) #D1615 bc3cdab (master: a034c91)
  • decode, canvas, etc.: explicitly treat CSI arguments as decimal numbers (reported by GorrillaRibs) #D1625 97bce68 (master: c6473b7) 2ea48d7
  • edit: fix a bug that command-help doesn't work #D1635 c375fbb (master: 0f6a083)
  • complete: fix a task scheduling bug of referencing two different clocks (reported by rashil2000) #D1636 df9f932 (master: fea5f5b)
  • canvas: update prompt trace on char_width_mode change (reported by Barbarossa93) #D1642 00f9ce8 (master: 68ee111)
  • decode: fix a bug that the characters input while initialization are delayed #D1670 734bd50 (master: 430f449)
  • util (ble/util/readfile): fix a bug of always exiting with 1 in bash <= 3.2 (reported by laoshaw) #D1678 51d244a (master: 61705bf)
  • trace: fix wrong positioning of the ellipses on overflow #D1684 dea87c7 (master: b90ac78)
  • mandb: generate completions of options also for the empty word #D1689 dea87c7 (master: b90ac78)
  • complete: do not generate keywords for quoted command names #D1691 5b1e5be (master: 60d244f)
  • menu (menu-style:align): fix the failure of delaying ble/canvas/trace on items (motivated by banoris) #D1710 3d56593 (master: acc9661)
  • complete: fix empty completions with FIGNORE (reported by seanfarley) #D1711 49e75ee (master: 144ea5d)
  • main: fix the message of owner errors of cache directories (reported by zim0369) #D1712 02aeb4a (master: b547a41)
  • util (ble/string#escape-for-bash-specialchars): fix escaping of TAB #D1713 accf8f3 (master: 7db3d2b)
  • util (visible-bell): erase visible-bell before running external commands #D1723 72a11ae (master: 0da0c1c)
  • util (ble/function): work around shopt -u extglob #D1725 3819e83 (master: 952c388)
  • syntax: fix uninitialized syntax-highlighting in bash-3.2 #D1731 7bd03a5 (master: e3f5bf7)
  • main: fix the workaround for set -eu and refactor #D1743 a949af0 (master: 6a946f0)
  • progcomp: retry completions on $? == 124 also for non-default completions (reported by SuperSandro2000) #D1759 e217932 (master: 82b9c01)
  • util (ble/util/import): work around filenames with bash special characters #D1763 4179e3d (master: b27f758)
  • edit: fix the restore failure of PS1 and PROMPT_COMMAND on ble-detach #D1784 4f4c924 (master: b9fdaab)
  • complete: do not attempt an independent rhs completion for arguments (reported by rsteube) #D1787 7bf32ca (master: f8bbe2c)
  • history: work around possible dirty prefix * in the history output #D1808 84184ce (master: 64a740d)
  • util(ble/util/eval-pathname-expansion): fix restoring shopt options in bash-4.0 #D1825 d3b3f7b (master: 736f4da)
  • decode: fix the workaround for set -e with --prompt=attach #D1832 51cb735 (master: 5111323)
  • decode (encoding:C): fix initialization for isolated ESC #D1839 aaa74b5 (master: c3bba5b)
  • main. util: fix problems of readlink etc. found by test in macOS (reported by aiotter) #D1849 a1adc7f (master: fa955c1) #D1855 a22e145
  • progcomp: fix a bug that COMP_WORDBREAKS is ignored #D1872 b338066 (master: 4d2dd35)
  • global: quote return $? #D1884 4f14f7a (master: 801d14a)
  • main: fix adjustments of bash options (reported by rashil2000) #D1895 7bd25c9 (master: 138c476)
  • decode: fix a bug that the tab completion do not work with bash-4.4 and lower #D1928 6351e7f (master: 7da9bce)
  • bind: fix M-C-@, C-x C-@, and M-C-x (bash-4.2 -o emacs) #D1920 02f45f3 (master: a410b03)
  • complete: fix non-working ambiguous path completion with .. and . in the path #D1930 fdb76e9 (master: 632e90a)
  • main (ble-reload): fix failure by non-existent rcfile #D1931 58de996 (master: b7ae2fa)
  • 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)
  • edit (ble/textarea#render): fix interleaving outputs to _ble_util_buffer and DRAW_BUFF #D1987 62519a7 (master: 6d61388)
  • keymap/vi (operator:filter): do not append newline at the end of line #D1994 8207d4f (master: bce2033)
  • keymap/vi (expand-range-for-linewise-operator): fix the end point being not extended #D1994 8207d4f (master: bce2033)
  • syntax: fix unrecognized asignment echo arr[i]+=rhs [sabbrev: apply sabbrev to right-hand sides of variable assignments] #D2007 948f50f (master: 41faa494)

Changes

  • syntax: exclude \ + LF at the word beginning from words (motivated by cmplstofB) #D1431 1b00fd2 (master: 67e62d6)
  • edit: preserve the state of READLINE_{LINE,POINT,MARK} #D1437 cc8ca96 (master: 8379d4a)
  • edit: change default behavior of C-w and M-w to operate on backward words #D1448 b1fd84a (master: 47a3301)
  • edit (ble/builtin/read): cancel by C-d on an empty line #D1473 4fae77a (master: ecb8888)
  • syntax: change syntax context after time ; and ! ; for Bash 4.4 #D1477 e55e3df (master: 4628370)
  • decode (rlfunc): update mapping vi-replace in imap and vi-editing-mode in nmap (reported by onelittlehope) #D1484 3a2d0fe (master: f2ca811)
  • prompt: invalidate prompt and textarea on prompt setting changes #D1492 e28f330 (master: 1f55913)
  • main: accept non-regular files as blerc and add option --norc #D1530 4b0eb87 (master: 7244e2f)
  • prompt: adjust behavior of LINENO and prompt sequence \# (reported by tycho-kirchner) #D1542 f3668ba (master: 8b0257e)
  • main: show notifications against debug versions of Bash #D1612 0ee8415 (master: 8f974aa)
  • edit: suppress only stderr with internal_suppress_bash_output (motivated by rashil2000) #D1646 b0a9021 (master: a30887f)
  • prompt: do not evaluate PROMPT_COMMAND for subprompts #D1654 9c0e515 (master: 08e903e)
  • main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) #D1676 a602876 (master: 0525528) 88e2df5
  • main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) #D1676 0525528 79efd42 (master: 88e2df5)
  • syntax: revert 99f2234 (master: 371a5a4) and generate empty completion source on syntax error #D1609 e09fcab
  • syntax: do not start argument completions immediately after previous word (reported by EmilySeville7cfg) #D1690 99f2234 (master: 371a5a4)
  • syntax: revert 371a5a4 and generate empty completion source on syntax error #D1609 a1d1286 (master: e09fcab)
  • canvas: do not insert explicit newlines on line folding if possible (reported by banoris) #D1745 d878fce (master: 02b9da6) dc3827b
  • edit (ble-bind -x): preserve multiline prompts on execution of bind -x commands (requested by SuperSandro2000) #D1755 240bfaa (master: 7d05a28)
  • util (ble/util/buffer): hide cursor in rendering #D1758 5907567 (master: e332dc5)
  • complete (action:file): always suffix / to complete symlinked directory names (reported by SuperSandro2000) #D1759 ebdc58b (master: 397ac1f)
  • edit: fix layout with prompt_rps1 caused by missing opts=relative for ble/textmap#update #D1769 e799191 (master: f6af802)
  • edit (ble-detach): prepend a space to stty sane for HISTIGNORE=' *' #D1796 31bc2b7 (master: 26b532e)
  • edit: the widgets {kill,copy,delete}-region-or now receives widgets as arguments #D1021 e222c48 (master: bbbd155)
  • decode (bind): do not treat non-beginning # as comments #D1820 f9db7d8 (master: 65c4138)
  • history: disable the history file when HISTFILE is empty #D1836 7153250 (master: 9549e83)
  • main (ble-reload): preserve the original initialization options #D1852 8912d81 (master: d8c92cc)
  • progcomp: reproduce arguments of completion functions passed by Bash #D1872 b338066 (master: 4d2dd35)
  • color: let bleopt term_index_colors override the default if specified #D1878 e7c657c (master: 7d238c0)
  • decode (vi_imap-rlfunc.txt): update the widget for backward-kill-word as kill-backward-{u => c}word #D1896 3c4e3a4 (master: e19b796)
  • term (_ble_term_TERM): detect wezterm-20220408 #D1909 f3a8382 (master: 486564a)
  • keymap/vi (decompose-meta): translate S-a to A #D1988 9e0c187 (master: 600e845)
  • term (_ble_term_TERM): detect konsole #D1988 9e0c187 (master: 600e845) ed53858

Compatibility

  • term: work around leaked DA2R in screen from outside terminal #D1485 4d77fab (master: e130619)
  • util (modifyOtherKeys): work around a quirk of kitty (reported by NoahGorny) #D1549 823eb83 (master: f599525)
  • global: work around empty vi_imap cache by tmux-resurrect #D1562 d7d2a23 (master: 560160b)
  • decode: identify kitty and treat \e[27u as isolated ESC (reported by lyiriyah) #D1585 2f7404e (master: c2a84a2)
  • complete: suppress known error messages of bash-completion (reported by oc1024, Lun4m) #D1622 558322c (master: d117973)
  • util (modifyOtherKeys): update the workaround for a new quiark of kitty #D1627 90d9284 (master: 3e4ecf5)
  • main: work around set -B and set -k #D1628 55494eb (master: a860769)
  • term: disable modifyOtherKeys and do not send DA2 for st (requested by Shahabaz-Bagwan) #D1632 7e08766 (master: 92c7b26)
  • cmap: add st-specific escape sequences for cursor keys #D1633 1391c90 (master: acfb879)
  • cmap: distinguish find/select from home/end for openSUSE inputrc.keys (reported by cornfeedhobo) #D1648 886cc07 (master: c4d28f4)
  • cmap: freeze the internal codes of find/select and kitty special keys #D1674 7d02058 (master: fdfe62a)
  • decode: work around the overwritten builtin set (reported by eadmaster) #D1680 5acb117 (master: a6b4e2c)
  • util (modifyOtherKeys): use the kitty protocol for kitty 0.23+ which removes the support of modifyOtherKeys (reported by kovidgoyal) #D1681 696264b (master: ec91574)
  • complete: work around the variable leaks by virsh completion from libvirt (reported by telometto) #D1682 7a65fc3 (master: f985b9a)
  • stty: do not remove keydefs for C-u, C-v, C-w, and C-? (reported by laoshaw) #D1683 ff8fb83 (master: 82f74f0)
  • decode (ble/builtin/bind): improve compatibility of the deprecated form bind key:rlfunc (motivated by cmplstofB) #D1698 c3904ff (master: b6fc4f0)
  • main: work around XDG_RUNTIME_DIR of a different user by su (reported by zim0369) #D1712 dbf58e4 (master: 8d37048)
  • main (ble/util/readlink): work around non-standard or missing readlink (motivated by peterzky) #D1720 60595bd (master: a41279e)
  • 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
  • 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)
  • global: work around the arithmetic syntax error of 10# in Bash-5.1 #D1734 b321b57 (master: 7545ea3)
  • global: adjust implementations for Bash 5.2 patsub_replacement #D1738 66ae615 (master: 4590997)
  • main: check /dev/tty on startup (reported by andychu) #D1749 e6c2855 (master: 711c69f)
  • global: work around shopt -s compat42 #D1754 1f254b5 (master: a75bb25)
  • global: identify bash-4.2 bug that internal quoting of ${v/%$empty/"$rep"} remains #D1753 1f254b5 (master: a75bb25)
  • prompt: fix a bug of ble/prompt/print redundantly quoting $ #D1752 1f254b5 (master: a75bb25)
  • global: work around compat42 quoting of "${v/pat/"$rep"}" #D1751 1f254b5 (master: a75bb25)
  • util: add identification of Windows Terminal wt #D1758 5907567 (master: e332dc5)
  • global: work around bash-3.0 bug that single quotes remains for "${v-$''}" #D1774 30440b2 (master: 9b96578)
  • util (modifyOtherKeys): fix a bug that kitty protocol is never activated #D1842 f8aeb51 (master: 14f3c81)
  • util (modifyOtherKeys): work around delayed terminal identification #D1842 f8aeb51 (master: 14f3c81)
  • main: resolve empty HOSTNAME [originally: contrib: add histdb] #D1925 e82230e (master: 44d9e104)
  • main: warn empty LANG [originally: main: support an option --inputrc={diff,all,user,none}] #D1926 ede4ee7 (master: 92f2006)
  • term (terminology): work around terminal glitches #D1946 ccb93a5 (master: 9a1b4f9)
  • edit: always adjust the terminal states with bind -x (reported by linwaytin) #D1983 992131c (master: 5d14cf1)
  • syntax: suppress brace expansions in designated array initialization in Bash 5.3 #D1989 1f0d8e1 (master: 1e7b884)
  • util (function#evaldef): work around set -e [progcomp: work around slow nix completion] #D1997 2ab4e4b (master: 2c1aacfc)
  • util (string#quote-word): work around set -ue [util, edit: add ble/util/message and ble append-line] #D2001 2317562 (master: 2a524f34)
  • complete: suppress error messages from _adb #D2005 2f77171 (master: f2aa32b)
  • edit: restore PS1 while processing bind -x #D2024 604c092 (master: 2eadcd5)

Optimization

  • complete (ble/complete/source:file): remove slow old codes (reported by timjrd) #D1512 60a33e2 (master: e5be0c1)
  • util (ble/util/assign): work around subshell conflicts #D1578 4117d1b (master: 6e4bb12)
  • prompt: fix not properly set $? in ${PS1@P} evaluation (reported by nihilismus) #D1644 a3cfd0d (master: 521aff9)
  • util (ble/string#split): optimize #D1826 9dcbbd4 (master: 7bb10a7)
  • debug: add ble/debug/profiler (motivated by SuperSandro2000) #D1824 f629698 11aa4ab 9dcbbd4 (master: 7bb10a7)
  • global: avoid passing arbitrary strings through awk -v var=value #D1827 9edb1aa (master: 82232de)

Internal changes and fixes

  • main: include hostname in local runtime directory #D1444 3e648a9 (master: 6494836)
  • benchmark (ble-measure): support -T TIME and -B TIME option #D1460 f3833ad (master: 1aa471b)
  • global: fix status check for read timeout #D1467 f190f9a (master: e886883)
  • util, etc: ensure each function to work with arbitrary IFS #D1490 #D1491 c33fad0 (master: 5f9adfe)
  • global: work around localvar_inherit for varname-list init #D1566 8c67b79 (master: 5c2edfc)
  • util: fix ble/util/dense-array#fill-range e397120 (master: a46fdaf)
  • util: fix leak variables buff, trap, {x,y}{1,2} #D1572 82113e9 (master: 5967d6c)
  • util: fix leak variables #D1643 0817df6 (master: fcf634b)
  • edit (command-help): use ble/util/assign/.mktmp to determine the temporary filename #D1663 2ff6078 (master: 1af0800)
  • Makefile: add fallback Makefile for BSD make #D1805 ea8b966 (master: e5d8d00)
  • util, decode, vi: fix leak variables #D1933 9e2e823 (master: 8d5cab8)
  • syntax: fix code formatting [originally: complete: support auto-complete sources] #D1938 450f70b (master: 00cae745)
  • main: use builtin for ":" [histdb: support timeout of background processes] #D1971 482ddb5 (master: e0566bdc)
  • global: normalize to _a-zA-Z [sabbrev: apply sabbrev to right-hand sides of variable assignments] #D2006 a101fe6 (master: 41faa494)
  • util (restore-vars): work around set -u [lib: add util.bgproc for ble/util/bgproc] #D2017 8787ca5 (master: 7803305f)
  • util: update ble/util/conditional-sync [util.bgproc: increase frequency of bgproc termination check] #D2027 79fd13c (master: 8d623c1)

Test

  • util (ble/util/s2bytes): clear locale cache #D1881 45f3df3 (master: 2e1a7c1)
  • util (ble/util/s2c): work around intermediate mbstate of bash <= 5.2 #D1881 45f3df3 (master: 2e1a7c1)
  • util (ble/encoding:UTF-8/b2c): fix interpretation of leading byte #D1881 45f3df3 (master: 2e1a7c1)
  • complete: fix syntax error for bash-3.0 #D1881 b534799 (master: 0b3e611)

Documentation

  • blerc: rename from blerc to blerc.template #D1899 3c4e3a4 (master: e19b796)
  • wiki/Q&A: add item for defining a widget calling multiple widgets (motivated by micimize) #D1898 3c4e3a4 (master: e19b796)
  • blerc: add frequently used keybindings (motivated by KiaraGrouwstra, micimize) #D1896 #D1897 3c4e3a4 (master: e19b796)

Contrib

  • fzf-key-bindings: fix a problem that modifyOtherKeys is not reflected (reported by SuperSandro2000) #D1908 f3a8382 (master: 486564a)

New features

  • canvas: update emoji database and support bleopt emoji_version (motivated by endorfina) #D1454 3f6c9b9 (master: d1f8c27)
  • syntax: support tilde expansions in parameter expansions #D1513 e32914f (master: 0506df2)
  • prompt (contrib/prompt-git): support dirty checking #D1601 50a0094 (master: b2713d9)
  • util (bleopt, bind): fix error message and exit status, respectively #D1640 29728b1 (master: b663cee)
  • edit: support bash-5.2 binding of prior/next to history-search-{for,back}ward #D1661 a3a353e (master: d26a6e1)
  • util: suppress false warnings of bind inside non-interactive shells (reported by wukuan405) #D1823 82c9934 (master: 1e19a67)
  • auto-complete: cancel auto-complete for magic-space #D1913 05c0888 (master: 01b4f67)
  • complete: support ambiguous completion for command paths #D1922 6d1e1ba (master: 8a716ad)
  • syntax: support context after ((...)) and [[ ... ]] in bash-5.2 #D1962 57d7674 (master: 67cb967)
ble.sh - Patch 0.2.7

Published by akinomyoga over 1 year ago

ble-0.2.7 (2023-04-03)

Usage

Prerequisites

Bash 3.0+ and basic POSIX utilities are required.

Download ble-0.2.7.tar.xz

https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz

# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz

# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.2.7/ble-0.2.7.tar.xz

Trial & Install

# TRIAL
tar xJf ble-0.2.7.tar.xz
source ble-0.2.7/ble.sh

# INSTALL
tar xJf ble-0.2.7.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach
# Add the following line at the end of ~/.bashrc
((_ble_bash)) && ble-attach

blesh-0.2 fixes

  • global: fix ble/{is- => util/is}function 5e82ca7a
  • global: pick fixes and changes from ble-0.1 backports 013eb1cd
  • complete: fix up 4df15e1e f02bd2a5
  • bump 0.2.7 1118c803

Fixes

  • edit: work around the wrong job information of Bash in trap handlers (reported by 3ximus) #D1435 #D1436 795a647c (master: bc4735e0)
  • edit (sword): fix definition of sword (shell words) #D1441 5e73cf6b (master: f9233889)
  • edit (kill-forward-logical-line): fix a bug not deleting newline at the end of the line #D1443 03787a2d (master: 09cf7f14)
  • global: work around bash-4.2 bug of declare -gA (reported by 0xC0ncord) #D1470 a2ace444 (master: 8856a04f)
  • global: fix declaration of associative arrays for ble-reload (reported by 0xC0ncord) #D1471 533eba77 (master: 3cae6e4d)
  • 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)
  • syntax: fix broken AST with [[ keyword #D1454 0482bf64 (master: 69658efc)
  • util (ble/util/msleep): work around the bash-4.3 bug of read -t (reported by 3ximus) #D1468 #D1469 fad78ea5 (master: 4ca9b2e2)
  • bind: work around broken cmd_xmap after switching the editing mode #D1478 97ca1171 (master: 8d354c1b)
  • edit: clear graphic rendition on newlines and external commands #D1479 759b96dd (master: 18bb2d5c)
  • canvas: fix a glitch that SGR at the end of command line is applied to new lines #D1498 a6ac1216 (master: 4bdfdbf8)
  • syntax: fix a bug that eval() { :; }, declare() { :; } are not treated as function definition #D1529 a4cda9c3 (master: b4290958)
  • decode: fix a hang on attach failure by cache corruption #D1531 a4c13ab8 (master: 24ea3792)
  • benchmark (ble-measure): fix a bug that the result is always 0 in Bash 3 and 4 (fixup 8eb493a9 (master: bbc2a904)) #D1615 a034c91
  • main: work around . ble.sh --{test,update,clear-cache} in intereactive sessions #D1555 8eb493a9 (master: bbc2a904)
  • main: fix reloading after ble-update (fixup 8eb493a9 (master: bbc2a904)) (fixed by oc1024) #D1558 9372670
  • main: fix exit status for bash ble.sh --test (fixup 8eb493a9 (master: bbc2a904)) #D1558 641238a
  • main: work around sourcing ble.sh inside subshells #D1554 8eb493a9 (master: bbc2a904)
  • global: use a better workaround of bash-4.2 declare -gA by separating assignment #D1567 0b7de999 (master: 2408a207)
  • edit (brackated-paste): fix incomplete CR => LF conversion (reported by alborotogarcia) #D1587 ac738bb4 (master: 8d6da161)
  • highlight (layer:region): fix blocked lower-layer changes without selection changes #D1596 650140ff (master: 5ede3c69)
  • util: work around the Bash 3 bug of array assignments with ^A and ^? in Bash 3.2 #D1614 0ed7f6dc (master: b9f76118)
  • benchmark (ble-measure): fix a bug that the result is always 0 in Bash 3 and 4 (fixup bbc2a904) #D1615 28e8dfed (master: a034c91a)
  • decode, canvas, etc.: explicitly treat CSI arguments as decimal numbers (reported by GorrillaRibs) #D1625 c9e4198b (master: c6473b78) 2ea48d7
  • edit: fix a bug that command-help doesn't work #D1635 b992bb5d (master: 0f6a0834)
  • canvas: update prompt trace on char_width_mode change (reported by Barbarossa93) #D1642 56b77a83 (master: 68ee1112)
  • util (ble/util/readfile): fix a bug of always exiting with 1 in bash <= 3.2 (reported by laoshaw) #D1678 5b843bb6 (master: 61705bf6)
  • complete: do not generate keywords for quoted command names #D1691 7211b1ec (master: 60d244fe)
  • complete: fix empty completions with FIGNORE (reported by seanfarley) #D1711 90f388aa (master: 144ea5db)
  • main: fix the message of owner errors of cache directories (reported by zim0369) #D1712 d2bf86c1 (master: b547a41a)
  • syntax: fix uninitialized syntax-highlighting in bash-3.2 #D1731 6aa12c82 (master: e3f5bf74)
  • progcomp: retry completions on $? == 124 also for non-default completions (reported by SuperSandro2000) #D1759 c641fb1b (master: 82b9c011)
  • util (ble/util/import): work around filenames with bash special characters #D1763 7da5f048 (master: b27f7585)
  • edit: fix the restore failure of PS1 and PROMPT_COMMAND on ble-detach #D1784 47dfdd94 (master: b9fdaabd)
  • history: work around possible dirty prefix * in the history output #D1808 cc14f59c (master: 64a740d7)
  • decode: fix the workaround for set -e with --prompt=attach #D1832 958aae6b (master: 51113237)
  • main. util: fix problems of readlink etc. found by test in macOS (reported by aiotter) #D1849 8f0acf3d (master: fa955c1a) #D1855 a22e145
  • global: quote return $? #D1884 9e10b54b (master: 801d14af)
  • bind: fix M-C-@, C-x C-@, and M-C-x (bash-4.2 -o emacs) #D1920 342826f3 (master: a410b038)
  • keymap/vi (operator:filter): do not append newline at the end of line #D1994 2a8e746f (master: bce20339)
  • keymap/vi (expand-range-for-linewise-operator): fix the end point being not extended #D1994 2a8e746f (master: bce20339)
  • syntax: fix unrecognized asignment echo arr[i]+=rhs [sabbrev: apply sabbrev to right-hand sides of variable assignments] #D2006 4ed4fd4f (master: 41faa494)
  • syntax: fix unrecognized variable assignment of the form echo arr[i]+=rhs #D2007 4ed4fd4f (master: 41faa494)

Changes

  • syntax: exclude \ + LF at the word beginning from words (motivated by cmplstofB) #D1431 6044a485 (master: 67e62d64)
  • edit: change default behavior of C-w and M-w to operate on backward words #D1448 787ff57f (master: 47a3301a)
  • edit: the widgets {kill,copy,delete}-region-or now receives widgets as arguments #D1021 8f48aff1 (master: bbbd155f)
  • edit (ble/builtin/read): cancel by C-d on an empty line #D1473 551bde3a (master: ecb8888d)
  • syntax: change syntax context after time ; and ! ; for Bash 4.4 #D1477 0b66cf4a (master: 46283706)
  • prompt: invalidate prompt and textarea on prompt setting changes #D1492 54d310df (master: 1f559135)
  • prompt: adjust behavior of LINENO and prompt sequence \# (reported by tycho-kirchner) #D1542 4b63b164 (master: 8b0257e2)
  • main: show notifications against debug versions of Bash #D1612 608ac2ad (master: 8f974aa1)
  • prompt: do not evaluate PROMPT_COMMAND for subprompts #D1654 5c0cfdef (master: 08e903e0)
  • main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) #D1676 2587bb01 (master: 05255282) 88e2df5
  • main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) #D1676 0525528 5f638563 (master: 88e2df51)
  • util (ble/util/buffer): hide cursor in rendering #D1758 4ecbbdc2 (master: e332dc5f)
  • edit (ble-detach): prepend a space to stty sane for HISTIGNORE=' *' #D1796 bd903716 (master: 26b532e7)
  • history: disable the history file when HISTFILE is empty #D1836 d97ca100 (master: 9549e831)
  • keymap/vi (decompose-meta): translate S-a to A #D1988 eaf66c7c (master: 600e845e)
  • term (_ble_term_TERM): detect konsole #D1988 eaf66c7c (master: 600e845e) ed53858
  • complete (source:argument): fallback to rhs completion also for name+=rhs #D2006 4ed4fd4f (master: 41faa494)

Compatibility

  • highlight: fix a problem that the attribute of the last character is applied till EOL #D1393 36f9d809 (master: 2ddb1ba2) #D1395 ef09932
  • highlight: fix a problem that the attribute of the last character is applied till EOL #D1393 2ddb1ba #D1395 6bcb4053 (master: ef099326)
  • global: work around empty vi_imap cache by tmux-resurrect #D1562 d7130d55 (master: 560160b0)
  • main: work around set -B and set -k #D1628 3c97ae84 (master: a8607692)
  • cmap: add st-specific escape sequences for cursor keys #D1633 bf46e344 (master: acfb8790)
  • cmap: distinguish find/select from home/end for openSUSE inputrc.keys (reported by cornfeedhobo) #D1648 ad675556 (master: c4d28f40)
  • cmap: freeze the internal codes of find/select and kitty special keys #D1674 f41b8004 (master: fdfe62a4)
  • decode: work around the overwritten builtin set (reported by eadmaster) #D1680 93ae08d0 (master: a6b4e2ca)
  • complete: work around the variable leaks by virsh completion from libvirt (reported by telometto) #D1682 ee2ac075 (master: f985b9a4)
  • stty: do not remove keydefs for C-u, C-v, C-w, and C-? (reported by laoshaw) #D1683 c01487bf (master: 82f74f0a)
  • main: work around XDG_RUNTIME_DIR of a different user by su (reported by zim0369) #D1712 e5501a31 (master: 8d370486)
  • main (ble/util/readlink): work around non-standard or missing readlink (motivated by peterzky) #D1720 d785f5db (master: a41279ed)
  • global: work around the arithmetic syntax error of 10# in Bash-5.1 #D1734 2b55aa16 (master: 7545ea31)
  • global: adjust implementations for Bash 5.2 patsub_replacement #D1738 359a3891 (master: 4590997a)
  • main: check /dev/tty on startup (reported by andychu) #D1749 19fa0924 (master: 711c69f1)
  • global: work around shopt -s compat42 #D1754 e7adfb34 (master: a75bb25a)
  • global: identify bash-4.2 bug that internal quoting of ${v/%$empty/"$rep"} remains #D1753 e7adfb34 (master: a75bb25a)
  • prompt: fix a bug of ble/prompt/print redundantly quoting $ #D1752 e7adfb34 (master: a75bb25a)
  • global: work around compat42 quoting of "${v/pat/"$rep"}" #D1751 e7adfb34 (master: a75bb25a)
  • util: add identification of Windows Terminal wt #D1758 4ecbbdc2 (master: e332dc5f)
  • global: work around bash-3.0 bug that single quotes remains for "${v-$''}" #D1774 fb607ad6 (master: 9b96578c)
  • main: resolve empty HOSTNAME [add histdb] #D1925 5812f2ef (master: 44d9e104)
  • main: warn empty LANG [main: support an option --inputrc={diff,all,user,none}] #D1926 3f29bee3 (master: 92f20063)
  • main: never load /etc/inputrc in openSUSE (motivated by Ultra980) #D1926 3f29bee3 (master: 92f20063) 0ceb0cb
  • main: show warning for empty locale (movivated by Ultra980) #D1927 3f29bee3 (master: 92f20063)
  • term (terminology): work around terminal glitches #D1946 2d4caa67 (master: 9a1b4f9f)
  • edit: always adjust the terminal states with bind -x (reported by linwaytin) #D1983 cdda7c44 (master: 5d14cf17)
  • syntax: suppress brace expansions in designated array initialization in Bash 5.3 #D1989 78dd47ee (master: 1e7b884d)
  • edit: restore PS1 while processing bind -x (reported by adoyle-h) #D2024 c46f4230 (master: 2eadcd5b)

Optimization

  • util (ble/util/assign): work around subshell conflicts #D1578 59d6355c (master: 6e4bb126)
  • prompt: fix not properly set $? in ${PS1@P} evaluation (reported by nihilismus) #D1644 66fd10b7 (master: 521aff9b)
  • util (ble/string#split): optimize #D1826 5b3fc89c (master: 7bb10a79)
  • debug: add ble/debug/profiler (motivated by SuperSandro2000) #D1824 f629698 11aa4ab 5b3fc89c (master: 7bb10a79)
  • global: avoid passing arbitrary strings through awk -v var=value #D1827 4571695a (master: 82232de5)

Internal changes and fixes

  • main: include hostname in local runtime directory #D1444 d19ab298 (master: 64948361)
  • global: fix status check for read timeout #D1467 0bcc12c9 (master: e886883b)
  • util, etc: ensure each function to work with arbitrary IFS #D1490 #D1491 2fe60b64 (master: 5f9adfe8)
  • util: fix ble/util/dense-array#fill-range b708ee29 (master: a46fdaf4)
  • util: fix leak variables buff, trap, {x,y}{1,2} #D1572 36d151e2 (master: 5967d6ce)
  • make: add fallback Makefile for BSD make #D1805 6498a5d3 (master: e5d8d00c)
  • util, decode, vi: fix leak variables #D1933 002dda7f (master: 8d5cab85)
  • syntax: fix code formatting [histdb: support auto-complete source histdb-word] #D1938 edd48d1c (master: 00cae745)
  • main: use builtin for : [histdb: support timeout of background processes] #D1971 8640dc41 (master: e0566bdc)
  • global: normalize bracket expressions to _a-zA-Z / _a-zA-Z0-9 #D2006 4ed4fd4f (master: 41faa494)
  • util (restore-vars): work around set -u [util.bgproc: separate ble/util/bgproc from histdb] #D2017 d60758ae (master: 7803305f)

Test

  • util (ble/util/s2bytes): clear locale cache #D1881 99e217d3 (master: 2e1a7c17)
  • util (ble/util/s2c): work around intermediate mbstate of bash <= 5.2 #D1881 99e217d3 (master: 2e1a7c17)
  • util (ble/encoding:UTF-8/b2c): fix interpretation of leading byte #D1881 99e217d3 (master: 2e1a7c17)

New features

  • syntax: support context after ((...)) and [[ ... ]] in bash-5.2 #D1962 74af9e60 (master: 67cb967a)
ble.sh - Patch 0.1.15

Published by akinomyoga over 1 year ago

ble-0.1.15 (2023-04-03)

Usage

Prerequisites

Bash 3.0+ and basic POSIX utilities are required.

Download ble-0.1.15.tar.xz

https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz

# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz

# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.1.15/ble-0.1.15.tar.xz

Trial & Install

# TRIAL
tar xJf ble-0.1.15.tar.xz
source ble-0.1.15/ble.sh

# INSTALL
tar xJf ble-0.1.15.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach
# Add the following line at the end of ~/.bashrc
((_ble_bash)) && ble-attach

blesh-0.1 fixes

  • edit,highlight: backport changes in rebased commits dfac242
  • bump 0.1.15 3f4d866

Fixes

  • edit (sword): fix definition of sword (shell words) #D1441 03980f1 (master: f923388)
  • bind: work around broken cmd_xmap after switching the editing mode #D1478 847e602 (master: 8d354c1)
  • benchmark (ble-measure): fix a bug that the result is always 0 in Bash 3 and 4 (fixup 4759768 (master: bbc2a90)) #D1615 a034c91
  • main: work around . ble.sh --{test,update,clear-cache} in intereactive sessions #D1555 4759768 (master: bbc2a90)
  • main: fix reloading after ble-update (fixup 4759768 (master: bbc2a90)) (fixed by oc1024) #D1558 9372670
  • main: fix exit status for bash ble.sh --test (fixup 4759768 (master: bbc2a90)) #D1558 641238a
  • main: work around sourcing ble.sh inside subshells #D1554 4759768 (master: bbc2a90)
  • util: work around the Bash 3 bug of array assignments with ^A and ^? in Bash 3.2 #D1614 9648bd4 (master: b9f7611)
  • decode, canvas, etc.: explicitly treat CSI arguments as decimal numbers (reported by GorrillaRibs) #D1625 40a0ec9 (master: c6473b7) 2ea48d7
  • edit: fix a bug that command-help doesn't work #D1635 c99e2f1 (master: 0f6a083)
  • canvas: update prompt trace on char_width_mode change (reported by Barbarossa93) #D1642 5b22cd6 (master: 68ee111)
  • complete: do not generate keywords for quoted command names #D1691 cd75f39 (master: 60d244f)
  • progcomp: retry completions on $? == 124 also for non-default completions (reported by SuperSandro2000) #D1759 a66b547 (master: 82b9c01)
  • edit: fix the restore failure of PS1 and PROMPT_COMMAND on ble-detach #D1784 a0f6594 (master: b9fdaab)
  • history: work around possible dirty prefix * in the history output #D1808 0ed2ffb (master: 64a740d)
  • main. util: fix problems of readlink etc. found by test in macOS (reported by aiotter) #D1849 1dc5938 (master: fa955c1) #D1855 a22e145
  • global: quote return $? #D1884 c2ba90b (master: 801d14a)
  • bind: fix M-C-@, C-x C-@, and M-C-x (bash-4.2 -o emacs) #D1920 de577dc (master: a410b03)

Changes

  • syntax: exclude \ + LF at the word beginning from words (motivated by cmplstofB) #D1431 69156f1 (master: 67e62d6)
  • edit: change default behavior of C-w and M-w to operate on backward words #D1448 0a07c13 (master: 47a3301)
  • edit: the widgets {kill,copy,delete}-region-or now receives widgets as arguments #D1021 ec16708 (master: bbbd155)
  • main: show notifications against debug versions of Bash #D1612 8f989e4 (master: 8f974aa)
  • main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) #D1676 2a045d8 (master: 0525528) 88e2df5
  • main: suppress non-interactive warnings from manually sourced startup files (reported by andreclerigo) #D1676 0525528 4ef844e (master: 88e2df5)
  • util (ble/util/buffer): hide cursor in rendering #D1758 444abff (master: e332dc5)
  • edit (ble-detach): prepend a space to stty sane for HISTIGNORE=' *' #D1796 acb7c08 (master: 26b532e)
  • history: disable the history file when HISTFILE is empty #D1836 a79095a (master: 9549e83)

Compatibility

  • global: work around empty vi_imap cache by tmux-resurrect #D1562 b0cc0a3 (master: 560160b)
  • cmap: add st-specific escape sequences for cursor keys #D1633 ae298f1 (master: acfb879)
  • cmap: distinguish find/select from home/end for openSUSE inputrc.keys (reported by cornfeedhobo) #D1648 603cf41 (master: c4d28f4)
  • cmap: freeze the internal codes of find/select and kitty special keys #D1674 66263c4 (master: fdfe62a)
  • decode: work around the overwritten builtin set (reported by eadmaster) #D1680 43dcb66 (master: a6b4e2c)
  • complete: work around the variable leaks by virsh completion from libvirt (reported by telometto) #D1682 d13ce5b (master: f985b9a)
  • stty: do not remove keydefs for C-u, C-v, C-w, and C-? (reported by laoshaw) #D1683 6335dc2 (master: 82f74f0)
  • main (ble/util/readlink): work around non-standard or missing readlink (motivated by peterzky) #D1720 94137b7 (master: a41279e)
  • global: work around the arithmetic syntax error of 10# in Bash-5.1 #D1734 7c2463e (master: 7545ea3)
  • global: adjust implementations for Bash 5.2 patsub_replacement #D1738 f1599ee (master: 4590997)
  • main: check /dev/tty on startup (reported by andychu) #D1749 28e9c44 (master: 711c69f)
  • global: work around shopt -s compat42 #D1754 59075cc (master: a75bb25)
  • global: identify bash-4.2 bug that internal quoting of ${v/%$empty/"$rep"} remains #D1753 59075cc (master: a75bb25)
  • prompt: fix a bug of ble/prompt/print redundantly quoting $ #D1752 59075cc (master: a75bb25)
  • global: work around compat42 quoting of "${v/pat/"$rep"}" #D1751 59075cc (master: a75bb25)
  • util: add identification of Windows Terminal wt #D1758 444abff (master: e332dc5)
  • global: work around bash-3.0 bug that single quotes remains for "${v-$''}" #D1774 d0dc13e (master: 9b96578)
  • highlight: fix a problem that the attribute of the last character is applied till EOL #D1393 2ddb1ba #D1395 8c33557 (master: ef09932)
  • main: resolve empty HOSTNAME [add histdb] #D1925 e6cc6c3 (master: 44d9e10)
  • main: warn empty LANG [main: support an option --inputrc={diff,all,user,none}] #D1926 2bd1544 (master: 92f2006)
  • term (terminology): work around terminal glitches #D1946 c5c3bc9 (master: 9a1b4f9)
  • edit: restore PS1 while processing bind -x (reported by adoyle-h) #D2024 94db09b (master: 2eadcd5)

Optimization

  • prompt: fix not properly set $? in ${PS1@P} evaluation (reported by nihilismus) #D1644 a7b5c4b (master: 521aff9)

Internal changes and fixes

  • main: include hostname in local runtime directory #D1444 1a5e90a (master: 6494836)
  • global: fix status check for read timeout #D1467 b56d638 (master: e886883)
  • util, etc: ensure each function to work with arbitrary IFS #D1490 #D1491 7228fd0 (master: 5f9adfe)
  • util: fix leak variables buff, trap, {x,y}{1,2} #D1572 de71ada (master: 5967d6c)
  • make: add fallback Makefile for BSD make #D1805 2cb758f (master: e5d8d00)
  • util, decode, vi: fix leak variables #D1933 a2197a6 (master: 8d5cab8)
  • syntax: fix code formatting [histdb: support auto-complete source histdb-word] #D1938 492349f (master: 00cae74)

Test

  • util (ble/util/s2bytes): clear locale cache #D1881 a8d7fd7 (master: 2e1a7c1)
  • util (ble/util/s2c): work around intermediate mbstate of bash <= 5.2 #D1881 a8d7fd7 (master: 2e1a7c1)
  • util (ble/encoding:UTF-8/b2c): fix interpretation of leading byte #D1881 a8d7fd7 (master: 2e1a7c1)
ble.sh - Release 0.4.0-devel2 (2020-12-02)

Published by akinomyoga almost 4 years ago

2020-01-12...2020-12-02 (#D1215...#D1426) c74abc5...276baf2

Usage

Prerequisites

Bash 3.0+ and basic POSIX utilities are required.

Download ble-0.4.0-devel2.tar.xz

https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz

# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz

# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.4.0-devel2/ble-0.4.0-devel2.tar.xz

Trial & Install

# TRIAL
tar xJf ble-0.4.0-devel2.tar.xz
source ble-0.4.0-devel2/ble.sh

# INSTALL (quick)
tar xJf ble-0.4.0-devel2.tar.xz
mkdir -p ~/.local/share/blesh
cp -fR ble-0.4.0-devel2/* ~/.local/share/blesh
echo 'source ~/.local/share/blesh' >> ~/.bashrc

# INSTALL (more robust)
tar xJf ble-0.4.0-devel2.tar.xz
mkdir -p ~/.local/share/blesh
cp -fR ble-0.4.0-devel2/* ~/.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

New features

  • complete: support bleopt complete_auto_wordbreaks (suggestion by dylankb) #D1219 c294e31
  • main: check ~/.config/blesh/init.sh #D1224 a82f961
  • progcolor: support programmable highlighting #D1218 0770234 #D1244 9cb3583 #D1245 8e8a296 #D1247 154f638 #D1269 fa0036c
  • decode/kbd: support U+XXXX, @ESC and @NUL for keynames #D1251 441117c ef23ad1
  • syntax: support coproc #D1252 7ff68d2
  • vi/nmap: support readline widgets for M-left, M-right, C-delete, # and & #D1258 846e0be
  • complete: add compopt -o quote/default for fzf (motivated by dylankb) #D1275 58e1be4
  • util (ble-import): support an option -d (--delay) #D1285 9673e4e
  • syntax: support parameter expansion of the form ${var/#pat}, ${var/%pat} #D1286 e2f4809
  • edit: support bleopt editor line_limit_{type,length} history_limit_length #D1295 2f9a000
  • edit: support widgets {vi,emacs}-editing-mode #D1301 0c6c76e
  • syntax: allow unquoted [! and [^ in simple-word (reported by cmplstofB) #D1303 1efe833
  • util (ble/util/print-global-definitions): support arrays and unset variables (test-util) 6e85f1c
  • util (ble/util/cat): support NUL and multiple files (test-util) d19a9af
  • edit: support Bash 5.1 READLINE_MARK and PROMPT_COMMANDS #D1328 e97a858 #D1338 657bea5
    • edit, main: support array PROMPT_COMMAND in bash-5.1 #D1380 b852a4f
  • syntax: support confusing parameter expansions like ${#@}, etc. #D1330 b7b42eb
  • contrib: add contrib for user settings #D1335 f290115
  • syntax: support ${var@UuLK} in Bash 5.1 #D1336 04da4dd
  • main: add an option --test #D1340 1410c72
  • util (ble/builtin/trap): support return in INT/EXIT/WINCH #D1347 #D1348 3865488
  • history: support timestamp (reported by rux616) #D1351 4bcbd71 #D1356 350bb15 #D1364 1d8adf9
  • edit: support Bash 4.4 PS0 #D1357 23a1ac5
  • vi: support bleopt keymap_vi_mode_{update_prompt,show,name_*} (suggested by Dave-Elec) #D1365 76be6f1
  • prompt: support prompt sequence \q{...} #D1365 76be6f1
  • edit: support bind 'set show-mode-in-prompt' #D1365 76be6f1
    • prompt: fix a bug that mode string is not shown in auto_complete and other sub-modes (reported by tigger04) #D1371 f6fc7ff
    • prompt: redraw prompts on the prompt content change (reported by tigger04) #D1371 1954a1e
  • prompt: support bleopt prompt_{{ps1,rps1}{_final,_transient}} (suggested by Dave-Elec) #D1366 06381c9
    • prompt: fix a bug that prompt are always re-insntiated for every rendering #D1374 0770cda
    • prompt: fix a bug that rprompt is not cleared when bleopt prompt_rps1 is reset #D1377 1904b1d
    • prompt: fix a bug that prompts updated by PROMPT_COMMAND are not reflected immediately #D1426 bbda197
  • edit: support Bash 5.1 widgets #D1368 e747ee3
  • color: support TERM=*-direct #D1369 0d38897 #D1370 f7dc477
  • complete: support bleopt complete_auto_menu #D1373 77bfabd
    • complete: fix a problem of frequent bells with auto-menu activated #D1381 3b1d8ac
  • complete: support bleopt complete_menu_maxlines #D1375 8e81cd7
  • prompt: support _ble_prompt_update #D1376 0fa8739
  • prompt: support bleopt prompt_{xterm_title,screen_title,status_line} #D1378 5c3f6fe
    • prompt: check TERM for prompt window titles when _ble_term_TERM is unavailable #D1388 3c88869
  • syntax: support options bleopt highlight_{syntax,filename,vartype} to turn off highlighting (requested by pjmp) #D1379 0116f8b
  • complete: support shopt progcomp_alias #D1397 d68afa5
  • complete: generate completions of options based on man pages #D1405 8183455
    • complete (mandb): fix a bug that bleopt complete_menu_style is globally changed #D1412 b91fd10
  • highlight: support colon separated lists of paths #D1409 2f40422
    • highlight: fix a bug that non-simple words are always highlighted as syntax_error (reported by cmplstofB) #D1411 46e2ac6
    • highlight: fix a bug that words are sometimes unhighlighted #D1418 4395484
    • highlight: fix a bug that non-existent directories are not highlighted in the command name context #D1419 4395484
  • highlight: support options #D1410 2f40422
    • highlight: support highlighting of declare command options #D1420 f0df481
    • highlight: fix unhighlighted tilde expansions ~+ (reported by cmplstofB) #D1424 a32962e

Changes

  • highlight: highlight symlink directories as symlinks #D1249 25e8a72
  • auto-complete: bind insert-on-end to C-e #D1250 90b45eb
  • edit (widget/shell-expand-line): not quote expanded results by default #D1255 a9b7810
  • decode: refactor
    • decode: delay bind until keymap initialization #D1258 0beac33
    • decode: read user settings from bind -Xsp #D1259 eef14d0
    • decode: fix a bug of ble-bind with uninitialized cmap #D1260 5d98210
    • decode: fix error messages of BSD sed rejecting unencoded bytes from bind -p (reported by dylankb) #D1277 0cc9160
  • edit: provide proper $BASH_COMMAND and $_ for PS1, PROMPT_COMMAND, PRECMD, etc. #D1276 7db48dc
  • edit (quoted-insert): insert literal key sequence #D1291 420c933
  • decode: support decode_abort_char for modifyOtherKeys #D1293 ad98416
  • edit (edit-and-execute): disable highlighting of old command line content #D1295 2f9a000
  • util (bleopt): fail when a specified bleopt variable does not exist (test-util) 5966f22
  • builtin: let redefined builtins return 2 for --help #D1323 731896c
  • edit: preserve PS1 when internal_suppress_bash_output is set #D1344 6ede0c7
  • complete: complete param expan in additional contexts #D1358 3683305
  • main: reload on ble-update when ble.sh is already updated #D1359 a441d4d
  • main (ble-update): clone github repository if the original repository is not found #D1363 6e3b3b5
  • util (bleopt): change output format d4b12cd
  • syntax: allow time -- command for Bash 5.1 #D1367 00d0e93
  • menu: preserve columns with {forward,backward}-line #D1396 3d5a341
  • syntax: rename ble_debug to bleopt syntax_debug #D1398 3cda58b
  • syntax: change a style of buffer contents in bleopt syntax_debug #D1399 3cda58b
  • complete: change to generate filenames starting from . by default #D1425 987436d

Fix

  • util (ble/builtin/trap): fix argument analysis for the form trap INT (reported by dylankb) #D1221 db8b0c2
  • main: fix an error message on ristricted shells #D1220 b726225
  • edit: fix a bug that the shell hangs with source ble.sh --noattach && ble-attach (reported by dylankb) #D1223 59c1ce4 3031007
  • edit: fix a bug that the textarea state is not properly saved (reported by cmplstofB) #D1227 06ae2b1
  • syntax: support hexadecimal literals for arithmetic expression (reported by cmplstofB) #D1228 90e4f35
  • history: fix a bug that history append does not work with set -C (reported by cmplstofB) #D1229 604bb8b
  • decode (ble/builtin/bind): fix widget mapping for default_keymap=safe #D1234 750a9f5
  • main (ble-update): fix a bug that the check of make does not work in Bash 3.2 #D1236 08ced81
  • syntax: fix a infinite loop for variable assignments and parameter expansions #D1239 327661f
  • complete: clear menu on history move #D1248 06cc7de
  • syntax: fix a bug that arguments of eval are not highlighted #D1254 5046d14
  • decode: fix error message command=${[key]-} for mouse input #D1263 09bb274
  • [ble-0.3] reload: fix a bug that the state is broken by ble-reload #D1266 f2f30d1
  • decode (ble/builtin/bind): remove comment from bind argument #D1267 880bb2c
  • decode: use BRE instead of ERE for POSIX sed (reported by dylankb) #D1283 2184739
  • decode: fix strange behaviors after fzf (convert DEL to C-?) #D1281 744c8e8
  • edit: work around Bash rebinding on TERM change #D1287 ac7ab55 7a99bf3
  • term: work around terminfo/termcap entry collisions in tput (reported by killermoehre) #D1289 f8c54ef
  • complete: clear menu on discard-line (reported by animecyc) #D1290 fb794b3 #D1315 99880ef
  • vi (vi-command/nth-column): fix a bug in arithmetic expansion (reported by andychu) #D1292 da6cc47
  • complete: fix a bug that insert-word does not for with ambiguous candidates #D1295 2f9a000
  • complete: fix a bug that menu-filter is only partially turned off by complete_menu_filter #D1298 b3654e2
  • decode: fix error messages for unsupported readline functions #D1301 91bdb64
  • global: work around shopt -s assoc_expand_once #D1305 31908e1
  • global: work around TMOUT for builtin read #D1306 1c22a9d
  • syntax: fix failglob errors of heredocs of the form <<$(echo A) #D1308 3212fd2
  • decode (ble-bind): fix an error message #D1311 c868b6d
  • util (bleopt): fix a bug that a new setting is not defined with name:= (test-util) #D1312 c757b92
  • util (ble/util/{save,restore}-vars): fix a bug that name and prefix cannot be saved/restored (test-util) 5f2480c
  • util: fix ble/is-{inttype,readonly,transformed} (test-util) 485e1ac
  • util (ble/path#remove{,-glob}): fix corner cases (test-util) ccbc9f8
  • history: fix a problem that the history is doubled by history -a in bashrc #D1314 34821fe
  • util (ble/variable#get-attr): fix an error message with special variable names such as ? and * #D1321 557b774
  • util (has-glob-pattern): fix abort in subshells (test-util) #D1326 dc292a2
  • edit: fix a bug that set +H is cancelled on command execution #D1332 02bdf4e
  • syntax (ble/syntax/parse/shift): fix a bug of shift skip in nested words #D1333 65fbba0
  • global: work around Bash-4.4 return in trap handlers #D1334 aa09d15
  • util (ble-stackdump): fix a shift of line numbers #D1337 a14b72f d785b64
  • edit (ble-bind -x): check range of READLINE_{POINT,MARK} #D1339 efe1e81
  • main: fix a bug that ~/.config/blesh/init.sh is not detected (GitHub #53 by rux616) 61f9e10
  • util (ble/string#to{upper,lower}): work around LC_COLLATE=en_US.utf8 (test-util) #D1341 1f6b44e #D1355 4da6103 5f0d49f
  • util (encoding, keyseq): fix miscelleneous encoding bugs (test-util) 435bd16
    • ble/util/c2keyseq: work around bash ambiguous keyseq \M-\C-\\
    • ble/util/c2keyseq: fix a bug that C1 characters are not properly encoded
    • ble/util/keyseq2chars: fix a bug that \xHH is not properly processed
    • ble/encoding:UTF-8/b2c: work around Bash-4.2 arithmetic crash
    • ble/encoding:UTF-8/b2c: fix a bug that G0 characters lose its seventh bit
    • ble/encoding:UTF-8/c2b: fix a bug that the first byte gets redundant bits
  • edit: work around WINCH not updating COLUMNS/LINES after ble-reload #D1345 a190455
  • complete: initialize bleopt complete_menu_style options before complete_load hook (reported by rux616) #D1352 8a9a386
  • main: fix problems caused by multiple source ble.sh in bashrc #D1354 5476933
  • syntax: allow single-character variable name in named redirections {a}<> #D1360 4760409
  • complete: quote # and ~ at the beginning of word #D1362 f62fe54
  • decode (bind): work around shopt -s nocasematch (reported by tigger04) #D1372 855cacf
  • syntax (tree-enumerate): fix unmodified wtype of reconstructed words at the end #D1385 98576c7
  • complete: fix a bug that progcomp retry by 124 caused the default completion again #D1386 98576c7
  • complete: fix bugs that quotation disappears on ambiguous completion #D1387 98576c7
  • complete: fix a bug of duplicated completions of filenames with spaces #D1390 98576c7
  • complete: fix superlinear performace of ambiguous matching globpat #D1389 71afaba
  • prompt: fix extra spaces on line folding before double width character #D1400 d84bcd8
  • prompt: fix a bug that lonig rps1 is not correctly turned off #D1401 d84bcd8
  • syntax (glob bracket expression): fix a bug of unsupported POSIX brackets #D1402 6fd9e22
  • syntax (ble/syntax:bash/simple-word/evaluate-path-spec): fix a bug of unrecognized [!...] and [^...] #D1403 0b842f5
  • complete (cd): fix duplicate candidates by CDPATH (reported by Lennart00 at oh-my-bash) #D1415 5777d7f
  • complete (source:file): fix a bug that tilde expansion candidates are always filtered out #D1416 5777d7f
  • complete: fix a problem of redundant unmatched ambiguous part with tilde expansions in the common prefix #D1417 5777d7f
  • highlight: fix remaininig highlighting of vanishing words #D1421 #D1422 1066653
  • complete: fix a problem that the user setting dotglob is changed #D1425 987436d

Compatibility

  • main: work around cygwin uninitialized environment #D1225 #D1226 b9278bc
  • global: work around Bash 3.2 bug of array initialization with SOH/DEL #D1238 defdbd4 #D1241 1720ec0
  • term: support TERM=minix #D1262 ae0b80f
  • msys2: support2 MSYS (motivated by SUCHMOKUO) #D1264 47e2863
    • edit: support \$ in PS1 for MSYS2 #D1265 f6f8956
    • msys2: work around MSYS2 Bash bug of missing CR #D1270 71f3498
    • cygwin, msys2: support widget paste-from-clipboard #D1271 cd26c65
  • msys1: support MSYS1 #D1272 630d659
    • msys1: work around missing named pipes in MSYS1 #D1273 6f6c2e5
  • term: support contra SPD #D1288 1e65f2c
  • decode: work around Bash-4.1 bug that locale not applied with LC_CTYPE=C eval command (test-util) b2c7d1c
  • util (ble/variable#get-attr): fix a bug that attributes are not obtained in Bash <= 4.3 (test-util) b2c7d1c
  • decode: work around Bash-3.1 bug of declare -f rejecting special characters in function names (test-util) b2c7d1c
  • edit (ble/widget/bracketed-paste): fix error messages on paste_end in older version of Bash (test-util) b2c7d1c
  • decode: work around Bash-4.1 arithmetic bug of array subscripts evaluated in discarded branches #D1320 557b774
  • complete: follow Bash-5.1 change of arithmetic literal 10# #D1322 557b774
  • decode: fix a bug of broken cmap cache found in ble-0.3 #D1327 16b56bf
  • util (strftime): fix a bug not working with -v var option in Bash <= 4.1 (test-util) f1a2818
  • complete: work around slow compgen -c in Cygwin #D1329 5327f5d
  • edit: work around problems with mc (reported by onelittlehope) #D1392 e97aa07
    • highlight: fix a problem that the attribute of the last character is applied till EOL #D1393 2ddb1ba #D1395 ef09932

Internal changes and fixes

  • util: merge ble/util/{save,restore}-{arrs => vars} #D1217 6acb9a3
  • internal: merge subdir test into memo #D1230 f0c38b6
  • ble-measure: improve calibration DD1231 d3a7a52
  • vi_test: fix a bug that test fails to restore the original state #D1232 4b882fb
  • decode (ble/builtin/bind): skip checking stdin in parsing the keyseq #D1235 5f949e8
  • syntax: delay load of ble/syntax/parse for syntax highlighting #D1237 bb31b11
  • memo: split memo.txt -> note.txt, done.txt and ChangeLog.md #D1243 31bc9aa 8b0fe34 419155e
  • global: check isolated identifiers and leak variables #D1246 19cc99d 2e74b6d
  • util: add ble/function#{advice,push,pop} to patch functions (motivated by dylankb) #D1275 fbe531a
  • util (ble/util/stackdump): output to stdout instead of stderr #D1279 9d3c50d
  • complete (ble-sabbrev): delay initialization #D1282 dfc4f66
  • test: update lib/test-{core => util}.sh (reported by andychu) #D1294 e835b0d
  • edit: improve performance of bracketed-paste #D1296 0a45596 #D1300 3f33dab #D1302 5ee06c8 10ad274
  • decode: improve performance of ble-decode-char #D1297 0d9d867
  • ext: update mwg_pp.awk (for branch osh) 978ea32
  • test: add lib/core-test.sh #D1309 68f8077
  • global: do not use local -i #D1310 f9f0f9b
  • global: normalize calls of builtins #D1313 b3b06f7
  • test: refactor test #D1316 #D1317 6c2f863
  • util (ble/util/openat): change to open unused fds #D1318 6c2f863
  • util: rename ble/{util/openat => fd#alloc} #D1319 6c2f863
  • util (ble/function#advice remove): restore original command 149a640
  • edit: rename ble-edit/prompt/* -> ble/prompt/* #D1365 76be6f1
  • main: use PROMPT_COMMAND in bash-5.1 for prompt attach #D1380 b852a4f
  • main: unset BLE_VERSION, _ble_bash, etc. on ble-unload #D1382 6b615b6
  • util: revisit ble/variable#is-global implementation #D1383 6b5468f
  • cmap: recognize SS3 O as blur #D1384 445a5ad
  • edit (ble/widget/{accept-line,newline}): automatically switch widgets by the keymap #D1391 5bed6e6
  • complete: perform filter in ble/complete/cand/yield #D1404 7c6b67b 83fa830
    • complete: fix a bug that ble/cmdinfo/complete:cd candidates are unfiltered (reported by cmplstofB) #D1413 5c17a31
    • complete: fix unfiltered tilde expansions #D1414 5777d7f
    • complete: fix candidate filter failure in dynamic sabbrev expansion (reported by darrSonik) #D1423 dabc515
  • syntax, edit: use type -a -t -- cmd to get command types hidden by keywords #D1406 ef2d912
  • edit, complete: replace some external commands with Bash builtin #D1407 5386e93
ble.sh - Patch 0.3.3 (2020-12-02)

Published by akinomyoga almost 4 years ago

Usage

Prerequisites

Bash 3.0+ and basic POSIX utilities are required.

Download ble-0.3.3.tar.xz

https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz

# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz

# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.3.3/ble-0.3.3.tar.xz

Trial & Install

# TRIAL
tar xJf ble-0.3.3.tar.xz
source ble-0.3.3/ble.sh

# INSTALL
tar xJf ble-0.3.3.tar.xz
mkdir -p ~/.local/share/blesh
cp -fR ble-0.3.3/* ~/.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

New features

  • syntax: allow unquoted [! and [^ in simple-word (reported by cmplstofB) #D1303 4bf8b86 (master: 1efe833)

Changes

  • auto-complete: bind insert-on-end to C-e #D1250 1070aba (master: 90b45eb)
  • util (bleopt): fail when a specified bleopt variable does not exist (test-util) 0a51044 (master: 5966f22)
  • edit: preserve PS1 when internal_suppress_bash_output is set #D1344 537acf2 (master: 6ede0c7)
  • complete: change to generate filenames starting from . by default #D1425 e26867d (master: 987436d)

Fix

  • [ble-0.3] reload: fix a bug that the state is broken by ble-reload #D1266 f2f30d1 (master: N/A)
  • decode (ble/builtin/bind): remove comment from bind argument #D1267 82f4aaa (master: 880bb2c)
  • complete: clear menu on history move #D1248 04fddd6 (master: 06cc7de)
  • syntax: fix a bug that arguments of eval are not highlighted #D1254 38a7fc7 (master: 5046d14)
  • decode: use BRE instead of ERE for POSIX sed (reported by dylankb) #D1283 a577ec4 (master: 2184739)
  • vi (vi-command/nth-column): fix a bug in arithmetic expansion (reported by andychu) #D1292 ea2fa8e (master: da6cc47)
  • complete: fix a bug that menu-filter is only partially turned off by complete_menu_filter #D1298 7278e27 (master: b3654e2)
  • syntax: fix failglob errors of heredocs of the form <<$(echo A) #D1308 5ba9400 (master: 3212fd2)
  • util (bleopt): fix a bug that a new setting is not defined with name:= (test-util) #D1312 f2dbad0 (master: c757b92)
  • util (ble/util/{save,restore}-vars): fix a bug that name and prefix cannot be saved/restored (test-util) f91f7ed (master: 5f2480c)
  • util (ble/path#remove{,-glob}): fix corner cases (test-util) 2ba1d42 (master: ccbc9f8)
  • util (ble/variable#get-attr): fix an error message with special variable names such as ? and * #D1321 b58f006 (master: 557b774)
  • edit: fix a bug that set +H is cancelled on command execution #D1332 bc454a2 (master: 02bdf4e)
  • syntax (ble/syntax/parse/shift): fix a bug of shift skip in nested words #D1333 78e2170 (master: 65fbba0)
  • util (ble-stackdump): fix a shift of line numbers #D1337 1505a5b (master: a14b72f)
  • edit (ble-bind -x): check range of READLINE_{POINT,MARK} #D1339 1bc1ff6 (master: efe1e81)
  • main: fix a bug that ~/.config/blesh/init.sh is not detected (GitHub #53 by rux616) 9f74da6 (master: 61f9e10)
  • util (ble/string#to{upper,lower}): work around LC_COLLATE=en_US.utf8 (test-util) #D1341 5d9aa64 (master: 1f6b44e) #D1355 4e67719 (master: 4da6103)
    • fixup 5d9aa64 fef40eb (master: N/A)
  • util (encoding, keyseq): fix miscelleneous encoding bugs (test-util) 6d72d2a (master: 435bd16)
  • edit: work around WINCH not updating COLUMNS/LINES after ble-reload #D1345 e2d54a2 (master: a190455)
  • complete: initialize bleopt complete_menu_style options before complete_load hook (reported by rux616) #D1352 15ba24f (master: 8a9a386)
  • main: fix problems caused by multiple source ble.sh in bashrc #D1354 983e8a9 (master: 5476933)
  • syntax: allow single-character variable name in named redirections {a}<> #D1360 52de342 (master: 4760409)
  • decode (bind): work around shopt -s nocasematch (reported by tigger04) #D1372 b34ad58 (master: 855cacf)
  • prompt: fix a bug that rprompt is not cleared when bleopt prompt_rps1 is reset #D1377 c736bd5 (master: 1904b1d)
  • complete: fix a bug of duplicated completions of filenames with spaces #D1390 048f17e (master: 98576c7)
  • complete: fix bugs that quotation disappears on ambiguous completion #D1387 048f17e (master: 98576c7)
  • complete: fix a bug that progcomp retry by 124 caused the default completion again #D1386 048f17e (master: 98576c7)
  • syntax (tree-enumerate): fix unmodified wtype of reconstructed words at the end #D1385 048f17e (master: 98576c7)
  • complete: fix superlinear performace of ambiguous matching globpat #D1389 bd4657a (master: 71afaba)
  • prompt: fix a bug that lonig rps1 is not correctly turned off #D1401 9266961 (master: d84bcd8)
  • prompt: fix extra spaces on line folding before double width character #D1400 9266961 (master: d84bcd8)
  • syntax (glob bracket expression): fix a bug of unsupported POSIX brackets #D1402 e1eca65 (master: 6fd9e22)
  • syntax (ble/syntax:bash/simple-word/evaluate-path-spec): fix a bug of unrecognized [!...] and [^...] #D1403 50fcd03 (master: 0b842f5)
  • highlight: fix remaininig highlighting of vanishing words #D1421 #D1422 0f85719 (master: 1066653)
  • highlight: fix unhighlighted tilde expansions ~+ (reported by cmplstofB) #D1424 1f9abf6 (master: a32962e)
  • complete: fix a problem that the user setting dotglob is changed #D1425 e26867d (master: 987436d)
  • complete: fix a problem of redundant unmatched ambiguous part with tilde expansions in the common prefix #D1417 20cb6af (master: 5777d7f)
  • complete (source:file): fix a bug that tilde expansion candidates are always filtered out #D1416 20cb6af (master: 5777d7f)
  • complete (cd): fix duplicate candidates by CDPATH (reported by Lennart00 at oh-my-bash) #D1415 20cb6af (master: 5777d7f)

Compatibility

  • msys2: support2 MSYS (motivated by SUCHMOKUO) #D1264 500e051 (master: 47e2863)
    • edit: support \$ in PS1 for MSYS2 #D1265 b8c2ca6 (master: f6f8956)
    • edit: fixup b8c2ca6 fe78bd6 (master: N/A)
    • msys2: work around MSYS2 Bash bug of missing CR #D1270 8c09190 (master: 71f3498)
  • edit (ble/widget/bracketed-paste): fix error messages on paste_end in older version of Bash (test-util) 1631069 (master: b2c7d1c)
  • decode: work around Bash-3.1 bug of declare -f rejecting special characters in function names (test-util) 1631069 (master: b2c7d1c)
  • util (ble/variable#get-attr): fix a bug that attributes are not obtained in Bash <= 4.3 (test-util) 1631069 (master: b2c7d1c)
  • decode: work around Bash-4.1 bug that locale not applied with LC_CTYPE=C eval command (test-util) 1631069 (master: b2c7d1c)
  • complete: follow Bash-5.1 change of arithmetic literal 10# #D1322 b58f006 (master: 557b774)
  • decode: work around Bash-4.1 arithmetic bug of array subscripts evaluated in discarded branches #D1320 b58f006 (master: 557b774)
  • decode: fix a bug of broken cmap cache found in ble-0.3 #D1327 4b15993 (master: 16b56bf)
  • util (strftime): fix a bug not working with -v var option in Bash <= 4.1 (test-util) 360211c (master: f1a2818)
  • complete: work around slow compgen -c in Cygwin #D1329 185a443 (master: 5327f5d)
  • edit: work around problems with mc (reported by onelittlehope) #D1392 4d534b4 (master: e97aa07)
    • highlight: fix a problem that the attribute of the last character is applied till EOL #D1393 f47a5b8 (master: 2ddb1ba) #D1395 8c1e17c (master: ef09932)

Internal

  • global: check isolated identifiers and leak variables #D1246 f92ba5c (master: 19cc99d) 9461953 (master: 2e74b6d)
  • main: unset BLE_VERSION, _ble_bash, etc. on ble-unload #D1382 2bbd0fb (master: 6b615b6)
    • complete: fix unfiltered tilde expansions #D1414 20cb6af (master: 5777d7f)
ble.sh - Patch 0.2.6 (2020-12-02)

Published by akinomyoga almost 4 years ago

Usage

Prerequisites

Bash 3.0+ and basic POSIX utilities are required.

Download ble-0.2.6.tar.xz

https://github.com/akinomyoga/ble.sh/releases/download/v0.2.6/ble-0.2.6.tar.xz

# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.2.6/ble-0.2.6.tar.xz

# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.2.6/ble-0.2.6.tar.xz

Trial & Install

# TRIAL
tar xJf ble-0.2.6.tar.xz
source ble-0.2.6/ble.sh

# INSTALL
tar xJf ble-0.2.6.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach
# Add the following line at the end of ~/.bashrc
((_ble_bash)) && ble-attach

New features

  • syntax: allow unquoted [! and [^ in simple-word (reported by cmplstofB) #D1303 5cff40f (master: 1efe833)

Changes

  • edit: preserve PS1 when internal_suppress_bash_output is set #D1344 72ae9c6 (master: 6ede0c7)

Fixes

  • decode: use BRE instead of ERE for POSIX sed (reported by dylankb) #D1283 bca4598 (master: 2184739)
  • vi (vi-command/nth-column): fix a bug in arithmetic expansion (reported by andychu) #D1292 4260bc2 (master: da6cc47)
  • syntax: fix failglob errors of heredocs of the form <<$(echo A) #D1308 1f874ba (master: 3212fd2)
  • util (bleopt): fix a bug that a new setting is not defined with name:= (test-util) #D1312 a9eb0e9 (master: c757b92)
  • util (ble/util/{save,restore}-vars): fix a bug that name and prefix cannot be saved/restored (test-util) 49841db (master: 5f2480c)
  • edit: fix a bug that set +H is cancelled on command execution #D1332 2ff6d06 (master: 02bdf4e)
  • syntax (ble/syntax/parse/shift): fix a bug of shift skip in nested words #D1333 bc935bd (master: 65fbba0)
  • util (ble-stackdump): fix a shift of line numbers #D1337 b597e90 (master: a14b72f)
  • edit (ble-bind -x): check range of READLINE_{POINT,MARK} #D1339 47a93e8 (master: efe1e81)
  • util (ble/string#to{upper,lower}): work around LC_COLLATE=en_US.utf8 (test-util) #D1341 5b32621 (master: 1f6b44e) #D1355 b38ef10 (master: 4da6103)
  • util (encoding, keyseq): fix miscelleneous encoding bugs (test-util) 03c0b44 (master: 435bd16)
  • edit: work around WINCH not updating COLUMNS/LINES after ble-reload #D1345 50af6a5 (master: a190455)
  • syntax: allow single-character variable name in named redirections {a}<> #D1360 f81734f (master: 4760409)
  • syntax (glob bracket expression): fix a bug of unsupported POSIX brackets #D1402 b7ea892 (master: 6fd9e22)
  • highlight: fix remaininig highlighting of vanishing words #D1421 #D1422 cc5e4d1 (master: 1066653)
  • highlight: fix unhighlighted tilde expansions ~+ (reported by cmplstofB) #D1424 3f7f044 (master: a32962e)

Compatibility

  • msys2: support2 MSYS (motivated by SUCHMOKUO) #D1264 7cf81c0 (master: 47e2863)
    • edit: support \$ in PS1 for MSYS2 #D1265 8f44624 (master: f6f8956)
    • msys2: work around MSYS2 Bash bug of missing CR #D1270 bbe1b61 (master: 71f3498)
  • edit (ble/widget/bracketed-paste): fix error messages on paste_end in older version of Bash (test-util) a80f1d1 (master: b2c7d1c)
  • decode: work around Bash-3.1 bug of declare -f rejecting special characters in function names (test-util) a80f1d1 (master: b2c7d1c)
  • util (ble/variable#get-attr): fix a bug that attributes are not obtained in Bash <= 4.3 (test-util) a80f1d1 (master: b2c7d1c)
  • decode: work around Bash-4.1 bug that locale not applied with LC_CTYPE=C eval command (test-util) a80f1d1 (master: b2c7d1c)
  • decode: fix a bug of broken cmap cache found in ble-0.3 #D1327 366e8c1 (master: 16b56bf)
  • util (strftime): fix a bug not working with -v var option in Bash <= 4.1 (test-util) 4f11463 (master: f1a2818)
  • complete: work around slow compgen -c in Cygwin #D1329 887be6e (master: 5327f5d)
  • edit: work around problems with mc (reported by onelittlehope) #D1392 a2d6099 (master: e97aa07)

Internal

  • global: check isolated identifiers and leak variables #D1246 146c98b (master: 19cc99d)
ble.sh - Patch 0.1.14 (2020-12-02)

Published by akinomyoga almost 4 years ago

Usage

Prerequisites

Bash 3.0+ and basic POSIX utilities are required.

Download ble-0.1.14.tar.xz

https://github.com/akinomyoga/ble.sh/releases/download/v0.1.14/ble-0.1.14.tar.xz

# DOWNLOAD with wget
wget https://github.com/akinomyoga/ble.sh/releases/download/v0.1.14/ble-0.1.14.tar.xz

# DOWNLOAD with curl
curl -LO https://github.com/akinomyoga/ble.sh/releases/download/v0.1.14/ble-0.1.14.tar.xz

Trial & Install

# TRIAL
tar xJf ble-0.1.14.tar.xz
source ble-0.1.14/ble.sh

# INSTALL
tar xJf ble-0.1.14.tar.xz -C ~/.local/share/blesh
# Add the following line near the top of ~/.bashrc
[[ $- == *i* ]] && source ~/.local/share/blesh/ble.sh --noattach
# Add the following line at the end of ~/.bashrc
((_ble_bash)) && ble-attach

Changes

  • edit: preserve PS1 when internal_suppress_bash_output is set #D1344 549f8f5 (master: 6ede0c7)

Fixes

  • fixup ab01ceb 8129816 (v0.2: 51bde60)
  • decode: use BRE instead of ERE for POSIX sed (reported by dylankb) #D1283 1244d86 (master: 2184739)
  • edit: fix a bug that set +H is cancelled on command execution #D1332 ba3687a (master: 02bdf4e)
  • syntax (ble/syntax/parse/shift): fix a bug of shift skip in nested words #D1333 16fb351 (master: 65fbba0)
  • util (ble-stackdump): fix a shift of line numbers #D1337 5d5b86b (master: a14b72f)
  • edit (ble-bind -x): check range of READLINE_{POINT,MARK} #D1339 6909cc0 (master: efe1e81)
  • util (ble/string#to{upper,lower}): work around LC_COLLATE=en_US.utf8 (test-util) #D1341 31476cc (master: 1f6b44e) #D1355 65cab5c (master: 4da6103)
  • util (encoding, keyseq): fix miscelleneous encoding bugs (test-util) 11d8db7 (master: 435bd16)
  • edit: work around WINCH not updating COLUMNS/LINES after ble-reload #D1345 e15c5a6 (master: a190455)
  • syntax: allow single-character variable name in named redirections {a}<> #D1360 6bbed24 (master: 4760409)
  • highlight: fix remaininig highlighting of vanishing words #D1421 #D1422 bf8fdc8 (master: 1066653)

Compatibility

  • global: work around Bash 3.2 bug of array initialization with SOH/DEL #D1238 566f53e (master: defdbd4) #D1241
  • msys2: support2 MSYS (motivated by SUCHMOKUO) #D1264 19a36ea (master: 47e2863)
    • edit: support \$ in PS1 for MSYS2 #D1265 8658738 (master: f6f8956)
    • msys2: work around MSYS2 Bash bug of missing CR #D1270 b72c063 (master: 71f3498)
  • decode: fix a bug of broken cmap cache found in ble-0.3 #D1327 fc6ded3 (master: 16b56bf)
  • util (strftime): fix a bug not working with -v var option in Bash <= 4.1 (test-util) cb2389c (master: f1a2818)
  • complete: work around slow compgen -c in Cygwin #D1329 d6d49cc (master: 5327f5d)
  • edit: work around problems with mc (reported by onelittlehope) #D1392 15111cf (master: e97aa07)

Internal

  • global: check isolated identifiers and leak variables #D1246 03b3204 (master: 19cc99d) 2e74b6d
ble.sh - Release 0.3.2 (2020-01-26) Hotfix

Published by akinomyoga over 4 years ago

Fixes

  • edit: fix a bug that the shell hangs with source ble.sh --noattach && ble-attach (reported by dylankb) #D1223 ce93c08 896fa3b (master: 59c1ce4 3031007)
  • main: check ~/.config/blesh/init.sh #D1224 8e1ae73 (master: a82f961)
  • main: workaround cygwin uninitialized environment #D1225 #D1226 6aa1732 (master: b9278bc)
  • vi_test: fix a bug that test fails to restore the original state #D1232 d912e69 (master: 4b882fb)
  • decode (ble/builtin/bind): skip checking stdin in parsing the keyseq #D1235 057183c (master: 5f949e8)
  • main (ble-update): fix a bug that the check of make does not work in Bash 3.2 #D1236 840d6d6 (master: 08ced81)
  • global: workaround Bash 3.2 bug of array initialization with SOH/DEL #D1238 #D1241 1f4e2bb (master: defdbd4 1720ec0)
ble.sh - Release 0.2.5 (2020-01-26) Hotfix

Published by akinomyoga over 4 years ago

Fixes

  • main: workaround cygwin uninitialized environment #D1225 #D1226 c27a3bb (master: b9278bc)
  • vi_test: fix a bug that test fails to restore the original state #D1232 58be70f (master: 4b882fb)
  • main (ble-update): fix a bug that the check of make does not work in Bash 3.2 #D1236 579c3e0 (master: 08ced81)
  • global: workaround Bash 3.2 bug of array initialization with SOH/DEL #D1238 #D1241 ed2c171 (master: defdbd4 1720ec0)
  • term: fix a bug that terminfo is not correcly cached 51bde60 (fixup ab01ceb)
ble.sh - Release 0.4.0-devel1 (2020-01-12)

Published by akinomyoga almost 5 years ago

2019-03-21...2020-01-12 (#D1015...#D1215) df4feaa...c74abc5

New features

  • emacs: support widgets forward-byte and backward-byte #D1017 b2951ef
  • emacs: support arguments of word wise operations #D1020 719092c
  • emacs: support widgets {capitalize,downcase,upcase}-xword #D1019 719092c
  • emacs: support widgets alias-expand-line and history-and-alias-expand-line #D1024 fdaf579
  • emacs: support keyboard macros #D1028 284668a
    • decode: workaround recursive charlog/keylog #D1030 ea421a3
  • complete: define menu keymap #D1033 abfd060
  • emacs: support widgets kill{,-graphical,-logical}-line #D1037 3bb3d33
  • emacs: support a widget re-read-init-file #D1038 ebe2928
  • emacs: support widgets readline-dump-{functions,macros,variables} #D1039 49256a9
  • emacs: support widgets character-search-{for,back}ward and delete-forward-char-or-list #D1040 2b20c88
  • emacs: support widgets insert-comment and do-lowercase-version #D1041 7aae37b
  • main: support options --version and --help #D1042 b5ab789
  • main: read .inputrc as ble.sh settings #D1042 b5ab789
    • decode: fix a bug of error messages on reading .inputrc #D1062 e163b9a
  • complete: support widget menu-complete insert_braces #D1043 3d29c8d
    • complete (insert_braces): reimplement range contraction #D1044 dc586da
    • complete (insert_braces): remove empty quotations #D1045 #D1046 dc586da
    • complete (insert_braces): fix support of replacement of existing part #D1047 dc586da
  • complete: support complete context=dynamic-history #D1048 4f7b284
  • emacs: support a widget edit-and-execute-command #D1050 ca5fe08
  • emacs: support widgets insert-{last,nth}-argument #D1051 24458be
  • complete: support menu-complete backward #D1052 2b0c7e8
  • emacs: history-nsearch-{for,back}ward-again #D1053 60dde2c
  • emacs: support widgets tab-insert, tilde-expand and shell-expand-line #D1054 156b76e
  • emacs: support a widget transpose-{c,u,s,f,e}words #D1055 d72c2d4
  • emacs: support bleopt decode_error_cseq_{abell,vbell,discard} #D1056 ab1b8b0
    • decode: fix a bug that cmap cache update is not triggered for #D1073 f1e7674
  • emacs: support a widget universal-arg #D1057 8b1dd07
  • emacs: support kill ring and a widget yank-pop #D1059 8c9b6e8
  • highlight: support job names by auto_resume #D1065 ce46024
  • decode: add support for S8C1T key sequences #D1083 9b7939b
  • history: support bleopt history_share #D1100 #D1099 305b89f #D1193 4838a46
  • history: support full multiline history #D1120 8cf17f7
    • history: do not synchronize multiline resolution on "history -p" #D1121 9e56b7b
    • history.mlfix: suppress errors on Bash 3 #D1122 4fe7a0c
    • history: suppress error messages trying to kill background worker on reattach #D1125 f045fec
  • highlight: support dirname colors with pathname expansion, failglob and command names #D1134 edaf495
  • util: introduce blehook #D1139 d1a78fb
    • blehook: support blehook PRECMD PREEXEC POSTEXEC CHPWD ADDHISTORY #D1142 bedc2ba
    • blehook: add blehook/eval-after-load #D1145 c1f7aa9
    • blehook: fix a bug that the definition of specified hooks are not printed #D1146 a4a7cbc
  • highlight: highlight word with the form of URL #D1150 f48f2d7
  • syntax: support syntax/globpat in param expansions #D1157 #D1158 051222e #D1160 57b42ba
    • syntax: fix attr of nested extglob in param expansions #D1159 2d019f0
  • decode: support ble-bind -T kspecs timeout for timeout and lib/vim-arpeggio.sh (request by divramod) #D1174 272344e
  • complete: use WORD* pathname expansion for candidates on failglob with WORD #D1177 c1b0532
  • edit: support bleopt accept_line_threshold #D1178 a3385f6 82a1e0b
  • complete: support bleopt complete_allow_reduction #D1181 03040b7
  • edit: support bleopt exec_errexit_mark #D1182 6adc2df
  • color: support true colors #D1184 bd631ce 5dd6b03
  • color (ble-color-setface): support reference to another face #D1188 1885b54 #D1206 7e31ad3
  • edit: support shopt -u promptvars #D1189 269ba09
  • highlight: highlight variable names and numbers according to its state #D1210 #D1211 93dab7b
  • highlight: support ${var@op} (for bash 4.4) #D1212 a85bdb8

Changes

  • edit: erase in page on SIGWINCH #D1016 7625ebe
  • edit: the widgets {kill,copy,delete}-region-or now receives widgets as arguments #D1021 bbbd155
  • edit: disable aliases for builtins and keywords #D1023 61da093
  • edit: disable rps1 in secondary textareas #D1027 b86709a
  • edit: support $? in PROMPT_COMMAND and PS1 evaluation #D1074 43f2967
  • main: change default attach strategy to --attach=prompt #D1076 197f752
  • main: change exit status of ble-update when it is already upto date #D1081 d94f691
  • progcomp: improve treatment of COMP_WORDBREAKS #D1094 f6740b5 #D1098 6c6bae5
  • history: replace builtin history #D1101 655d73e
    • history: synchronize undo/mark/dirty data with history changes #D1102 #D1103 #D1104 5367360
    • history: improve performance of history -r #D1105 #D1106 f204bc7
    • history: fix a problem that history file is doubled with history -cr in PROMPT_COMMAND #D1110 e64edb7
    • history: suppress errors on new history file #D1111 e64edb7 #D1113 91f07b6
    • history: fix a problem that _ble_edit_history is not synchronized with history -r #D1112 e64edb7
    • history: do not process _ble_edit_history in detached state #D1115 bf3b014
    • history: move history item on delete of current item with history -d #D1114 bf3b014
    • history: fix a problem that history before load of ble.sh is lost #D1126 37cd154
    • history: fix problems of history output after ble-reload #D1129 9c8d858
  • history: improve performance of erasedups #D1107 518e2ee
  • history: correctly handle HISTSIZE overflow #D1108 7be255c
  • sabbrev: support sabbrev expansion in wider contexts (reported by cmplstofB) #D1117 ca6e03d
  • main: change loading point of .inputrc #D1127 af758e5
  • highlight: do not split command names with : and = #D1133 8a1bd8f
  • decode: support DA1 responses sent by some terminals (reported by miba072) #D1135 362ab05
  • highlight: make brace expansions active for RHS of variable-assignment-form arguments #D1138 93cc8da
  • main: adjust readline variables for ble.sh #D1148 36312f7
  • edit: update prompt after execution of command through ble-bind #D1151 27208ea
  • blehook: replace builtin trap #D1152 d6c555e 7d4fd03
    • blehook: suppress extra DEBUG trap calls #D1155 25c3e19
  • syntax: allow },fi,done,esac,then,... after subshell () #D1165 fdb49f3
  • edit: support options --help for read and exit #D1173 faccc6b
  • color (ble-color-{set,def}face): list faces without arguments #D1180 50327c3
  • complete: search completion settings through alias expansion #D1187 c472809
  • history (ble/builtin/history): support an option --help #D1192 d4c26c5

Fixes

  • decode: workaround Poderosa that returns DSR instead of CPR in reply to DSR(6) #D1018 8e22c17
  • isearch: fix a bug to match with the old content of the current line #D1025 605dcd0
  • vi: fix a bug that quoted-insert is not properly recorded with qx...q #D1026 06698a4
  • decode: fix a bug that chars from nested widgets are not processed immediately #D1028 c79d89b
  • menu: fix a bug that fails to retrieve menu item description #D1031 c936db8
  • menu: fix a bug that menu item color is disabled #D1032 c936db8
  • vbell: fix a bug that persistent vbell is not erased before next vbell #D1034 a3af6c0
  • menu-complete: fix a bug that candidates from menu only contained visible ones #D1036 275779f
  • menu-complete: fix a bug that original texts were lost on cancel #D1049 3bbfef6
  • edit: fix a bug that rendering is caused twice #D1053 c7599a2
  • color (layer:region): fix a bug that highlighting is cleared without dirty ranges #D1053 23796bc
  • edit (nsearch): fix a bug that the search range is narrowed after fail #D1053 3b2237e
  • edit (nsearch): fix a bug of messages on search fail #D1053 3b2237e
  • util: fix a bug that SGR of visible-bell remains 799f6d3
  • decode: fix a bug of infinite loops on ble-reload #D1077 0f01bcf #D1079 fee22b1
  • decode: workaround a bash-5.0 bug of bind -p #D1078 b52da28
  • complete: workaround slow command candidates generation in Cygwin #D1080 376bfe7
  • syntax: fix false error highlighting of commands after }, fi, done or esac #D1082 4ce2753
  • decode: fix a bug that modifyOtherKeys did not work at all 1666ec2
  • edit: fix a problem that status line vanishes on window resize #D1085 467b7a4
    • edit: recalculate prompts after resize #D1088 b29f248
    • edit: fix the position of cursor after resize #D1089 b29f248
  • decode: fix a bug that ble-update breaks keymap cache #D1086 ab8dad2
  • edit (ble/builtin/read): suppress noisy job messages and delay caused by vbell #D1087 309b9e4
  • edit (ble/builtin/read): workaround failglob crash on vbell inside read #D1090 2e6f44c
  • edit: workaround a bash bug that history entries are removed by history -p #D1091 146f9e7
  • edit (self-insert): workaround Bash-3.0 bug that ^? cannot be handled properly #D1093 e09c7b5
  • highlight: fix a bug that quoted tilde expansions are processed for filename highlighting #D1095 3f1f472
  • menu-complete: fix a bug that word is expanded on cancel #D1097 001b914
  • highlight: fix a problem that empty arguments are highlighted as errors #D1116 64ae8ce
  • sabbrev: fix a bug that menu-filter is not canceled on some sabbrev expansion #D1118 30cc31c
  • main: fix a bug that source ble.sh --noattach in ble.sh sessions hangs #D1130 d35682a caa46c2 #D1199
  • syntax: workaround bashbug 3.1/3.2 that eval ending with \ + LF causes error messages #D1132 a4b7e00
  • term: workaround cygwin console glitches #D1143 b79c35f #D1144 ef19d17
  • main: fix a bug that error messages for unsupported shells are not printed #D1149 34bd6f8
  • main: workaround set -ex #D1153 06ebf9f
  • main: workaround shell variable FUNCNEST #D1154 fa2aa47
  • highlight: fix error messages on the command line a=[ #D1156 b159ea2
  • util: fix a bug of "ble/builtin/trap" not recognizing "-" #D1161 11fddba
  • init-bind: workaround a bash-5.0 bug that bind '"\C-\\": ...' does not work #D1162 80edf44
  • init-bind: do not use workaround of C-x in vi mode #D1163 e6a3d33
  • vi_test: fix test for the macro playing #D1164 636517c
  • exec: fix a problem that the shell hangs with failglob in pipe #D1166 ac8ba6e
  • complete: fix a problem of delay with path // in Cygwin #D1168 2cf8cc7
  • prompt: fix the expansion of \w and \W in PS1 for working directories with double slashes #D1169 d1288dd
  • exec: workaround termination of command execution on syntax error in array subscripts #D1170 4f442d0
  • history: fix a bug that garbage __ble_edt__ is added in front of history entries 61f4bd1
  • decode: remove debug messages for ble-bind -s 64a17c3
  • syntax: fix highlighting of ${!var@} #D1176 161ed80
  • term: fix Ss (DECSCUSR) 0c773da
  • term: workaround linux console CSI >, CSI M, CSI L #D1213 #D1214 0ec6f0c
  • edit: fix exit status of Bash by key binding C-d #D1215 a9756e9

Support macOS, FreeBSD, Arch Linux, Solaris, Haiku, Minix

  • util: fix the error message "usage: sleep seconds" on macOS bash 3.2 #D1194 6ff4d2b
  • decode: recover the terminal states after failing the default keymap initialization #D1195 846f284
  • main (ble-update): use shallow clone #D1196 2a20d9c
  • main ($_ble_base_cache): use different directories for different ble versions #D1197 55951d1
  • edit (ble/builtin/read): fix argument analysis with user-provided IFS in Bash 3.2 #D1198 7411f06
  • global: fix subshell detection in Bash 3.2 #D1200 ca8df8a
  • syntax: workaround Bash-4.1 arithmetic bug #D1201 f248c52
  • Makefile: fix "install" for BSD sed #D1202 32c2e1a
  • term: support "tput" based on termcap #D1203 #D1204 161af07
  • global: adjust for FreeBSD and Arch Linux #D1205 6ac5b8c
  • global: workaround Solaris awk #D1207 74d438d
  • util: support Haiku #D1208 e3de373
    • ble/util/msleep: do not use read -t time for Haiku
    • ble/term/stty: check available character settings
    • init-cmap: check termcap settings for home
  • util: support Minix #D1209 49e6457
    • ble/util/msleep: do not use read -t time -u FD in Minix
    • ble-edit/prompt: does not abbreviate IPv4 address for \h
    • Makefile: create directory dist for make dist

Internal changes

  • complete: isolate menu related codes #D1029 43bb074
  • global: use builtin echo explicitly #D1035 a6232c2
  • decode: re-implement rlfunc2widget without fork #D1063 d2e7dbe
  • blerc: add descriptions #D1064 d61b6af
  • decode: decode mouse events #D1084 51fae67
  • history: move history related codes to src/history.sh #D1119 1bfc8eb e5b1980
    • history: move codes related to history prefixes and history searches to history.sh #D1136 1cda6ff 20024d2
    • history: use common "_ble_history_onleave" for different histories #D1137 ec19d51
  • keymap/vi: deal with textarea local data properly #D1123 2ea7cfd
  • edit: remove ble-edit/exec:exec #D1131 0cb9c6d
  • global: distinguish exit status 147 and 148 #D1141 d1a78fb
  • global: follow bash syntactic changes on arithmentic command 16e0f0e
  • decode: check bind -X first to store the original bindings #D1179 4057ff0
  • complete: resolve collision of flag chars with shopt -s nocaseglob #D1186 550fb14
  • color: change return variable of ble/color/{,i}face2{g,sgr} to ret #D1188 1885b54
  • global: workaround shopt -s xpg_echo #D1191 e46f9a3
ble.sh - Release 0.3.1 (2020-01-12)

Published by akinomyoga almost 5 years ago

119acf0...c7d314f

Fixes

  • edit: fix exit status of Bash by key binding "C-d" bd149e8 (master: a9756e9)
  • term: workaround Linux console CSI >, CSI M and CSI L 9021afe (master: 0ec6f0c)
  • util: support Minix #D1209 6c46fed (master: 49e6457)
  • util: support Haiku #D1208 4417861 (master: e3de373)
  • global: workaround Solaris awk #D1207 90ad15b (master: 74d438d)
  • term: fix Ss (DECSCUSR) b443f46 (master: 0c773da)
  • global: adjust for FreeBSD and Arch Linux #D1205 79dbbc4 (master: 6ac5b8c)
  • term: support "tput" based on termcap #D1203 #D1204 4f705a9 (master: 161af07)
  • Makefile: fix "install" for BSD sed #D1202 485dff3 (master: 32c2e1a)
  • syntax: workaround Bash-4.1 arithmetic bug #D1201 a7c6ea4 (master: f248c52)
  • global: fix subshell detection in Bash 3.2 #D1200 4b5a458 (master: ca8df8a)
  • edit (ble/builtin/read): fix argument analysis with user-provided IFS in Bash 3.2 #D1198 471aaad (master: 7411f06)
  • main ($_ble_base_cache): use different directories for different ble versions #D1197 8cd1d19 (master: 55951d1)
  • main (ble-update): use shallow clone #D1196 a738cf7 (master: 2a20d9c)
  • decode: recover the terminal states after failing the default keymap initialization #D1195 98a8e2e (master: 846f284)
  • util: fix the error message "usage: sleep seconds" on macOS bash 3.2 #D1194 e894dee (master: 6ff4d2b)
  • complete: resolve collision of flag chars with shopt -s nocaseglob #D1186 bf96250 (master: 550fb14)
  • decode: check bind -X first to store the original bindings #D1179 c5211af 6311cea (master: 4057ff0)
  • global: follow bash syntactic changes on arithmentic command 711cedb (master: 16e0f0e)
  • decode: remove debug messages for ble-bind -s 4df0f90 (master: 64a17c3)
  • prompt: fix the expansion of \w and \W in PS1 for working directories with double slashes #D1169 861323c (master: d1288dd)
  • exec: fix a problem that the shell hangs with failglob in pipe #D1166 1bc238d (master: ac8ba6e)
  • init-bind: do not use workaround of C-x in vi mode #D1163 62d7b51 (master: e6a3d33)
  • init-bind: workaround a bash-5.0 bug that bind '"\C-\\": ...' does not work #D1162 098cd6f (master: 80edf44)
  • main: workaround set -ex #D1153 679c743 (master: 06ebf9f)
  • main: fix a bug that error messages for unsupported shells are not printed #D1149 797b997 (master: 34bd6f8)
  • update ext/mwg_pp.awk 7772d62 (master: 9506db6)
  • highlight: make brace expansions active for RHS of variable-assignment-form arguments #D1138 2e9d3b1 (master: 93cc8da)
  • decode: support DA1 responses sent by some terminals (reported by miba072) #D1135 d793ebd (master: 362ab05)
  • emacs: support bleopt decode_error_cseq_{abell,vbell,discard} #D1056 25e8d2f (master: ab1b8b0)
  • main: fix a bug that source ble.sh --noattach in ble.sh sessions hangs #D1130 49ed0f4 c2a268a 5bcea69 (master: d35682a caa46c2) #D1199
  • syntax: workaround bashbug 3.1/3.2 that eval ending with \ + LF causes error messages #D1132 dc1721f (master: a4b7e00)
ble.sh - Release 0.2.4 (2020-01-12)

Published by akinomyoga almost 5 years ago

14bd2c4...bc62a18

Fixes

  • term: workaround Linux console CSI >, CSI M and CSI L d2aacb7 (master: 0ec6f0c)
  • util: support Minix #D1209 730c211 (master: 49e6457)
  • util: support Haiku #D1208 9c8ad43 (master: e3de373)
  • global: workaround Solaris awk #D1207 085a136 (master: 74d438d)
  • term: fix Ss (DECSCUSR) 00f360b (master: 0c773da)
  • global: adjust for FreeBSD and Arch Linux #D1205 d5259fb (master: 6ac5b8c)
  • term: support "tput" based on termcap #D1203 #D1204 ab01ceb (master: 161af07)
  • Makefile: fix "install" for BSD sed #D1202 76abbb1 (master: 32c2e1a)
  • syntax: workaround Bash-4.1 arithmetic bug #D1201 85d4b3b (master: f248c52)
  • global: fix subshell detection in Bash 3.2 #D1200 0cc1514 (master: ca8df8a)
  • edit (ble/builtin/read): fix argument analysis with user-provided IFS in Bash 3.2 #D1198 94c60af (master: 7411f06)
  • main ($_ble_base_cache): use different directories for different ble versions #D1197 06b5166 (master: 55951d1)
  • decode: recover the terminal states after failing the default keymap initialization #D1195 6004222 (master: 846f284)
  • decode: check bind -X first to store the original bindings #D1179 837a0da 652d83c (master: 4057ff0)
  • global: follow bash syntactic changes on arithmentic command 688dd42 (master: 16e0f0e)
  • prompt: fix the expansion of \w and \W in PS1 for working directories with double slashes #D1169 64e6231 (master: d1288dd)
  • exec: fix a problem that the shell hangs with failglob in pipe #D1166 2a48974 (master: ac8ba6e)
  • init-bind: do not use workaround of C-x in vi mode #D1163 5054691 (master: e6a3d33)
  • init-bind: workaround a bash-5.0 bug that bind '"\C-\\": ...' does not work #D1162 671dfd7 (master: 80edf44)
  • update ext/mwg_pp.awk aa3da01 (master: 9506db6)
  • syntax: workaround bashbug 3.1/3.2 that eval ending with \ + LF causes error messages #D1132 c1006f6 (master: a4b7e00)
ble.sh - Release 0.1.13 (2020-01-12)

Published by akinomyoga almost 5 years ago

5afcded...c9d53db

Fixes

  • term: workaround Linux console CSI >, CSI M and CSI L 1bdf55c (master: 0ec6f0c)
  • util: support Minix #D1209 e46e6a8 (master: 49e6457)
  • util: support Haiku #D1208 e81519d (master: e3de373)
  • global: adjust for FreeBSD and Arch Linux #D1205 cc0d6f6 (master: 6ac5b8c)
  • term: support "tput" based on termcap #D1203 #D1204 7f17043 (master: 161af07)
  • syntax: workaround Bash-4.1 arithmetic bug #D1201 8d51617 (master: f248c52)
  • global: fix subshell detection in Bash 3.2 #D1200 4966449 (master: ca8df8a)
  • decode: check bind -X first to store the original bindings #D1179 db12f3e 1b2ee31 (master: 4057ff0)
  • global: follow bash syntactic changes on arithmentic command 6576660 (master: 16e0f0e)
  • prompt: fix the expansion of \w and \W in PS1 for working directories with double slashes #D1169 3623284 (master: d1288dd)
  • exec: fix a problem that the shell hangs with failglob in pipe #D1166 b2e1fce (master: ac8ba6e)
  • init-bind: do not use workaround of C-x in vi mode #D1163 5f06c10 (master: e6a3d33)
  • init-bind: workaround a bash-5.0 bug that bind '"\C-\\": ...' does not work #D1162 f5bcd1d (master: 80edf44)
  • update ext/mwg_pp.awk ffe07cf (master: 9506db6)
ble.sh - Releases 0.3

Published by akinomyoga over 5 years ago

v0.3.0 (2019-07-10) Release

dec0369...119acf0

Fixes

  • decode: workaround a bash-5.0 bug of bind -p #D1078 45db2ec (master: b52da28)
  • complete: workaround slow command candidates generation in Cygwin #D1080 f8bdf9d (master: 376bfe7)
  • main: change exit status of ble-update when it is already upto date #D1081 7b15550 (master: d94f691)
  • syntax: fix false error highlighting of commands after }, fi, done or esac #D1082 8926704 (master: 4ce2753)
  • decode: fix a bug that modifyOtherKeys did not work at all d2aa2d2 (master: 1666ec2)
  • edit: fix a problem that status line vanishes on window resize #D1085 a235aa4 (master: 467b7a4)
  • decode: fix a bug that ble-update breaks keymap cache #D1086 e6ae0be (master: ab8dad2)
  • edit (ble/builtin/read): suppress noisy job messages and delay caused by vbell #D1087 910313e (master: 309b9e4)
  • edit: fix the position of cursor after resize #D1089 1bc9934 (master: b29f248)
  • edit: recalculate prompts after resize #D1088 1bc9934 (master: b29f248)
  • edit (ble/builtin/read): workaround failglob crash on vbell inside read #D1090 655fbaa (master: 2e6f44c)
  • highlight: fix a bug that quoted tilde expansions are processed for filename highlighting #D1095 244205f (master: 3f1f472)
  • sabbrev: fix a bug that menu-filter is not canceled on some sabbrev expansion #D1118 232767a (master: 30cc31c)

v0.3.0-beta1 (2019-04-27) Beta release 1

df4feaa...dec0369

Fixes

  • edit: erase in page on SIGWINCH #D1016 a7eac77
  • decode: workaround Poderosa that returns DSR instead of CPR in reply to DSR(6) #D1018 a711425
  • edit: disable aliases for builtins and keywords #D1023 5573320
  • isearch: fix a bug to match with the old content of the current line #D1025 8ebcb02
  • edit: disable rps1 in secondary textareas #D1027 0d46eaf
  • decode: fix a bug that chars from nested widgets are not processed immediately #D1028 94b74c3
  • menu: fix a bug that menu item color is disabled #D1032 94d292b
  • vbell: fix a bug that persistent vbell is not erased before next vbell #D1034 dfe1189
  • menu-complete: fix a bug that candidates from menu only contained visible ones #D1036 43bd8d4
  • bind: workaround bind 'set keymap foo' by users #D1038 2d02086
  • edit: fix exit code of ble-edit/content/find-logical-bol #D1037 89c5c74
  • edit: fix a bug that rendering is caused twice #D1053 3bd9590
  • color (layer:region): fix a bug that highlighting is cleared without dirty ranges #D1053 dbb260f
  • edit (nsearch): fix a bug that the search range is narrowed after fail #D1053 2a1d816
  • vi_imap: fix rl mapping for forward-search-history #D1053 d8f98c9
  • decode: fix ble-decode-bind/.generate-source-to-unbind-default/.process 3218b3c
  • highlight: fix a bug that region is not cleared 4f38bbd
  • util: fix a bug that SGR of visible-bell remains 8671ef9

v0.3.0-alpha2 (2019-03-21) Alpha release 2

949e9a8...df4feaa

New features

  • auto-complete: support end at the end of line a374635
  • decode: replace builtin bind for ble.sh settings #D0915 90ca3be #D0918 e0cdd15
    • decode: update mapping of rl-functions and widgets for vi_imap and vi_nmap #D1012 7fec4b6
    • decode: support bind [-psPSX] [-quf arg] #D1013 9265f8a
  • edit: support C-x C-g, C-M-g for bell and cancel #D0919 2e83120
  • syntax: support set +B #D0931 12f80dd
  • syntax: support aliased keywords #D0936 7054e28
  • complete: support ble-sabbrev -m key=function #D0942 bcdf843
  • complete: support description of candidates #D0945 #D0946 0fa73bf #D0977 96fe498
    • canvas: use ... instead of … when unicode is not available #D0979 51e600a
    • canvas (ble/canvas/trace): support opts=truncate:confine #D0981 79916d2
  • complete: support insertion of ambiguous common part #D0947 3644a8e
  • complete: support three levels of ambiguous matching #D0948 3644a8e
  • complete: support menu item highlight of ambiguous matching #D0949 3644a8e
  • complete: support menu pages #D0958 ff43e01 a488e01 #D0990 32aeef0
    • menu-complete: show page numbers with visible-bell #D0980 6297e65
    • menu-complete: fix a bug that height of menu is too large (<= bash-4.1) #D0983 129a1f0
  • edit: support bleopt rps1= for the right prompt #D0959 90a8915 #D0964 fa2a874 #D0970 87c8348
    • rps1: fix coordinate calculations for rps1 #D0982 129a1f0
    • canvas (ble/canvas/trace): fix a bug that measure-bbox does not work (<= bash-3.1) #D0988 7f880de
    • canvas (ble/canvas/trace): fix a bug that x1 and y1 is not properly updated #D0988 7f880de
    • edit: support bleopt rps1_transient #D0993 44edd38
    • edit: fix a bug that rps1 is cleared on execution of the command #D1003 5780154
    • edit: erase trailing spaces after newlines when rps1_transient is enabled #D1004 5780154
    • edit: support multiline rps1 (Note: still restricted to fit in lines of PS1) #D1005 5780154
  • complete: support "bleopt complete_menu_style=desc-raw" #D0965 1fd7a3e
  • complete: support prior, next, home, end in menu_complete keymap #D0966 b729d23
  • edit: support bleopt prompt_eol_mark=$'\e[94m[ble: EOF]\e[m' #D0968` 6c8b52a
  • complete: highlight active ranges of menu-filter #D0969 500f702 #D0971 aae8b26
    • menu-filter: cancel menu-filter when the word ends #D0974 6ce2ad2
    • menu-filter: improve highlight #D0975 b89f39f
  • isearch: show progress bar using unicode chars #D0978 51e600a
  • main: support ble-reload ef51490
  • complete: support source:sabbrev #D0994 5c9e579
  • complete: clear menu on C-g #D0995 e0f93a2
  • vi_imap: support bleopt keymap_vi_imap_undo=more #D0996 50f8ad2
  • util: support bleopt vbell_align and ble-color-setface vbell{,_flash,_erase} for vbell #D0997 325883e
    • vbell: fix a bug that garbages remain on short messages just after longer messages #D1010 3e9ff85
  • decode: support "bleopt decode_abort_char=28" #D0998 b110cb9
  • complete: support visible-stats and mark-directories #D1006 b389b3b
  • complete: support mark-symlinked-directories, match-hidden-files and menu-complete-display-prefix #D1007 fd66194
  • canvas: support bleopt char_width_mode=auto #D1011 3978df3

Changes

  • prompt: support correct handling of escapes #D0923 22f9b56
  • util (ble/util/sleep): adjust delay #D0934 #D0935 5fd5cd6 ad1208b 188cd98
  • complete: use candidates in menu if present #D0939 52eaf01
    • complete: fix a bug that menu-complete is disabled after menu-filter #D0951 08cba07
    • complete: fix a bug that wrong action is performed after menu-filter #D0952 08cba07
    • complete: fix a bug that extra TAB is needed to enter menu-complete #D0956 aa6bd73
    • complete: fix a bug that candidates are not regenerated on function name completions #D0961 bbea72e
    • complete: fix a problem that the menu style is reset on menu-complete #D0972 47c28ff
    • menu-filter: explicitly call ble/complete/menu-filter (<= bash-3.2) #D0986 1b14b11
  • syntax: allow variable assignment in arguments of eval #D0941 2f2f0eb
  • highlight: do not highlight overwrite modes when mark is active #D0950 4efe1a9
    • highlight: disable layer:menu_filter (<= bash-3.2) #D0987 1b14b11
  • complete: disable auto-complete inside the active range of menu-filter #D0957
  • util (visible-bell): truncate long messages to fit into a line #D0973 e55ff86
  • edit: render prompt immediately on newline #D0991 cdb8acb #D1003 5780154
  • syntax: detect syntax errors of CTX_CMDX1 immediately followed by terminating keywords #D1001 7ea02b7
  • complete: improve support of bind 'completion-ignore-case on' #D1002 25ebc55
  • complete: preserve original path specifications on ambiguous completion #D1014 a39d1ac
  • complete: append , instead of after completion in brace expansions #D1015 df4feaa

Fixes

  • main: workaround set -evx #D0930 698517d
  • edit (widget delete-horizontal-space): fix a bug that spaces before the cursor is not removed #D0932 9290adb
  • bleopt: fix a bug that false error messages are output on reload when failglob is set #D0933 64cdcba c62db26
  • decode: fix a bug that \ cannot be input after reattach #D0937 a46ada0
  • reload: fix a bug that PS1 is lost on reload with --attach=prompt #D0938 1107ca8
  • main (--attach=prompt): workaround rewrite of PROMPT_COMMAND #D0940 863fd7b
  • vi_nmap (/, ?, n, N): fix search progress #D0944 f20f840
  • complete: fix a problem of slow ambiguous filename matching in nested directries #D0960 7b3ee55
  • util: improve performance of ble/{util/{mapfile,assign-array},string#split-lines} (<= bash-3.2) #D0985 ae176b2 #D0989 36b9a8f f199215
  • sabbrev: fix a bug that sabbrev is disabled (<= bash-3.2) #D0985 840af29
  • util (ble/util/msleep): suppress warnings from usleep #D0984 8e4180c
  • util: fix a problem that C-d cannot be input in nested Bash 3.1 #D0992 88a1b0f
  • edit: fix a bug of a redundant newline on read -e #D0999 700bc91

Internal changes

  • [refactor] info: rename info type raw -> esc #D0954 ac86f10
  • [refactor] do not use brace expansions for VARNAMES #D0955 711e7df
  • [refactor] ble-{highlight,complete,syntax} -> ble/* 7aaa660 ae6be66 8ea903c
  • [refactor] ble-edit/info/.construct-text -> ble/canvas/trace-text #D0973 e55ff86
  • rename ble/complete/action:*/getg -> ble/complete/action:*/init-menu-item #D1006 b389b3b

v0.3.0-alpha1 (2019-02-09) Alpha release 1

6ed51e7...949e9a8

New features

  • color (ble-color-setface): support various spec such as SGR params #D0860 82fe96d #D0861 257c16d #D0864 2eaf2a9
  • syntax: support bleopt filename_ls_colors #D0862 c7ff302 #D0863 3c5bacf ec31aab
  • vi_omap: support v, V, C-v #D0865 54942e0 #D0866 a9a1638 #D0867 d3d8ea3 #D0868 eb848dc
  • main: improve support of [[ -o posix ]] #D0871 07ae3cc #D0872 513c543
  • main: do not load ble.sh when bash is started by bash -i -c command #D0873 fc23a6d
  • main: support ble-update #D0874 fc45be6 #D0875 0b50974 #D0891 d010300 #D0910 4743c00 2dc3a3f
  • vi_nmap: support C-d, C-u, C-e, C-y, C-f, next, C-b, prior #D0886
  • isearch: use previous needle for empty string search #D0889 362fce3
  • vi_imap: add a function ble-decode/keymap:vi_imap/define-meta-bindings #D0892 a21d22f
  • progcomp: support complete -I for Bash 5.0 #D0895 #D0896
  • progcomp: support candidates which replace the original text before the cursor #D0897 41b8cbb
  • progcomp: support compopt -o nosort|noquote|plusdirs #D0898 cc48539
  • edit: support M-* #D0899 3fd7d6e
  • edit: support M-g, C-x *, C-x g #D0902 41797c6
  • progcomp: support COMP_WORDBREAKS #D0903 7cfe425
  • complete: support completion of tilde expansion #D0907 b4fc40c #D0908 9fafdb3
  • main: support BLE_VERSION and BLE_VERSINFO (suggested by cmplstofB) #D0909
  • global: support --help for public functions ble-* (suggested by cmplstofB) #D0911 77d459d f4d03f6 1d191c7 1209ac6 #D0913 92d9038

Changes

  • edit: change cursor position after u #D0877 9d5c945
  • edit: handle panel layouts #D0878--D0882 6a26894 #D0888 c8e0d28
  • vi_nmap: support z z, z t, z b, z ., z RET, z C-m, z +, z - #D0886
  • emacs: change M-m M-S-m from beginning-of-line to non-space-beginning-of-line f77f1aa
  • bleopt: rename internal settings to internal_{ignore_trap,suppress_bash_output,exec_type,stackdump_enabled} fd042d8
  • vi_nmap: change the behavior of C-home, C-end to match with those of vim 8682f98
  • util (ble/util/unlocal): add workaround for Bash-5.0 localvar_unset #D0904 8677a71
  • sabbrev: quote key in printing definitions by ble-sabbrev #D0912 2994d80

Fixes

  • info: fix a bug that coordinates calculation breaks with Japanese text #D0858 67c77dc
  • syntax (extract-command): fix a bug that extraction of nested commands always fails #D0859 c3270f6
  • complete: fix a bug that the settings complete -c does not work #D0870 1ca5386 82bb154
  • main: fix a bug that the determination of _ble_base fails when loaded as source ble.sh without specifying the directory of ble.sh 201deae
  • util: fix a bug that ble/util/assign returns wrong exit codes bd14982
  • util: fix a bug of interleaving results with nested ble/util/assign-array bd14982
  • progcomp: fix a bug that bash-completion does not work properly due to wrong COMP_POINT #D0897 41b8cbb
  • global: fix leak variables #D0900 244f965 #D0906 b8dcbfe 9892d63
  • progcomp: fix a problem that completion functions can consume stdin #D0903 7cfe425

Internal changes

  • global: properly quote rhs of [[ lhs == rhs ]] f1c56ab
  • syntax: rename variables BLE_{ATTR,CTX,SYNTAX}_* -> _ble_{attr,ctx,syntax}_* 1fbcd8b (ref #D0909)

v0.3.0-devel3 (2018-10-05)

8584e82...6ed51e7

新機能

  • highlight: 変数代入の右辺及び配列要素の着色に対応 #D0839 854c3b4
  • nsearch: (非インクリメンタル)履歴検索に対応 C-x {C-,}{p,n} history-{,substring-,n}search-{for,back}ward #D0843 e3b7d8b 0d31cd9 253b52e
  • isearch: 検索前に選択状態でがあれば検索後に復元する #D0845 93f3a0f
  • decode: 貼り付け時など大量の入力があった時に処理の進行状況を表示 #D0848 c2d6100
  • decode: 貼り付け時などの高速化の為に一括の文字列挿入に対応 (batch-insert) #D0849 48eeb03
  • decode: bleopt decode_isolated_esc=auto でキーマップに応じて単独 ESC の取扱を切り替え #D0852 9b20b45 edd481c
  • complete: bleopt complete_{auto_complete,menu_filter}= で自動補完・候補絞り込みの無効化に対応 #D0852 4425d12
  • vi: テキストオブジェクト単語の再実装 (reported by cmplstofB) #D0855 9f2a973 ad308ae 3a5c456 6ebcb35
  • vi: オペレータ d の特殊ルールに対応 #D0855 fa0d3d3

バグ・問題修正

  • decode: ble-bind -d に於いて -c 及び -x の引数の引用符が二重になっている問題の修正 #D0850
  • auto-complete: 構文エラーが自動補完により解決される時 RET でコマンド実行が抑止されない問題の修正 #D0827 daf360e
  • highlight: shopt -s failglob で配列の指示初期化子がエラー着色される問題の修正 (reported by cmplstofB) #D0838 d6fe413
  • complete: プログラム補完に対して曖昧補完が効かない時の対策 #D0841 713e95d
  • isearch: ユーザ入力による割り込みで検索位置の記録に失敗していたバグの修正 #D0843
  • isearch: キャンセル時に位置とマークが正確に復元されない問題の修正 #D0847
  • isearch, dabbrev: 検索処理中にユーザが何か入力するまで現在行が更新されない問題の修正 #D0847
  • decode: 未ロードのキーマップに対して ble-bind -m -P ble-bind -m kmap -f kspecs - が使えない問題の修正 66e202a
  • auto-complete: C-j が単なる "確定" になっていたのを "確定して実行" に修正 #D0852 01476a7
  • edit: M-S-f, M-S-b を束縛するべきところ M-C-f, M-C-b を束縛している箇所を修正 #D0852 c68e7d7
  • color: Bash 3.0 で算術式内の <() がプロセス置換と解釈される問題の対策 #D0853 520184d
  • syntax: コメント上の単語が何故か除去されないバグの修正 (reported by cmplstofB) #D0854 641583f
  • vi: Bash 3.1 及び 3.2 で C-d 受信の為のリダイレクトに失敗する問題の修正 #D0857 d4b39b3

動作変更

  • sabbrev, vi_imap: sabbrev-expandC-x ' ではなく C-] から束縛 #D0825 e5969b7
  • core: bleopt に設定名を指定子て設定内容を表示させる時、設定名の存在を確認する #D0850 725d09c
  • isearch: C-d で現在の選択範囲を削除する様に変更 #D0826 c3bb69e #D0852 db28f74
  • isearch: C-m (RET) で確定した時は選択範囲を解除する様に変更 #D0826 c3bb69e
  • decode: ble-bind のオプションを再構成 #D0850 f7f1ec8 64ad962
  • decode: 組み込みコマンド bind を上書きして ble.sh の動作が阻害されない様に引数をチェックして実行 #D0850
  • complete: autoload ble-sabbrev (core-complete.sh), ble-syntax:bash/is-complete (core-syntax.sh) #D0842 df0b769
  • isearch: 編集関数 isearch/accept-lineRET 以外から束縛されていても RET を実行する様に変更 #D0843
  • vi, [in]search: mark 名を整理 (char/line/block/search に接頭辞 vi_ 付加し、新しい mark 名を search とする) #D0843
  • edit: 関数名変更 ble/widget/accept-single-line-or/acceptsble-edit/is-single-complete-line #D0844
  • isearch: 空文字列で検索した時の振る舞いを再考 #D0847 d05705e
  • decode: 入力のキー復号の各種調整 #D0850 dc013ad
  • dabbrev: C-m, RET で展開終了、C-j, C-RET でコマンド実行 #D0852 01476a7

内部的変更

  • isearch, dabbrev: ble/util/fiberchain による再実装 #D0843, #D0846 2c695cf bdf8072 95268c1
  • edit, vi: 選択範囲の種類を表す mark 名を整理 a1a6272
  • edit: 関数名変更 ble/widget/accept-single-line-or/acceptsble-edit/is-single-complete-line #D0844 63ec9fe
  • refactor: ファイルの整理 5e07e7f 1a03da2 673bd1d 55c4224 9ce944c 9a47c57 25487a7 5679ffc b7291a7
  • refactor: 関数名・変数名の整理 #D0851 d1b780c 9129c47 4d1181a

v0.3.0-devel2 (2018-09-23)

0c28ed9...8584e82

補完: 新機能

  • complete: 自動補完において履歴からの検索に対応 #D0766, #D0769 #D0784 (fix)
  • complete: 自動補完時の M-f C-f 等に対応 #D0767
  • complete: "$hello" などの引用符中のパラメータ展開がある場合でも補完に対応 #D0768
  • complete: 配列要素代入の右辺での補完に対応 #D0773
  • complete: ブレース展開の途中での補完に対応 #D0774
  • auto-complete: ble/widget/auto_complete/accept-and-execute 対応 #D0811
  • complete: 補完関係の設定をする為の load hook の追加 #D0812
  • complete: 種類を指定した補完に対応 #D0820 #D0819 (fix)
  • complete: 静的略語展開に対応 (ble-sabbrev key=value で設定) #D0820
  • complete: 動的略語展開に対応 #D0820

補完: バグ・問題点修正

  • complete: 一意確定した直後の補完ですぐにメニュー補完に入るバグの修正 #D0771
  • complete: function fun [ 直後の補完で [\[ が挿入される問題の修正 #D0772
  • complete: 曖昧補完で補完を実行しようとすると入力済みの部分が削除されるバグの修正 #D0775
  • complete: 自動補完が起動しなくなっているバグの修正 #D0776
  • complete: プログラム補完関数が failglob で失敗するとシェルが終了する問題の対策 (reported by cmplstofB) #D0781
  • complete: failglob の時コマンド補完候補に * が含まれてしまう問題の修正 (reported by cmplstofB) #D0783
  • complete: 候補一覧にて入力済み範囲の強調が絞り込みにより無効化されるバグの修正 #D0790
  • complete: 自動補完を抜けた後のマーク位置が誤っているバグの修正 #D0798
  • complete: for a in @do @ の位置の補完でエラーメッセージが表示されるバグの修正 #D0810

補完: 動作変更

  • complete: 入力済み部分の評価方法の内部変更 #D0777
  • complete: 自動補完の着色の変更 #D0780 #D0792
  • complete: プログラム補完で提供するコマンドライン (COMP_*) にて、補完開始点に単語の切れ目を入れる様に変更 #D0793
  • auto-complete: C-RET で補完を確定してコマンド実行 #D0822

他: 新機能

  • edit: IGNOREEOF に対応 #D0787
  • edit: コマンド exit にて、ジョブが残っている場合はユーザに尋ねて終了 #D0789, #D0805 (bugfix)
  • term: 256色対応のない端末での減色の実装 #D0824

他: バグ・問題点修正

  • isearch: 非同期検索ができなくなっていたバグの修正
  • color: ble-color-setface の遅延初期化順序のバグを修正 (reported by cmplstofB) #D0779
  • decode: CentOS 7 で LC_ALL=C.UTF-8 に対してエラーメッセージが出る問題の対策 #D0785
  • edit: ジョブがある時の終了 C-d について bleopt allow_exit_with_jobs 対応 (request by cmplstofB) #D0786
  • edit: Bash 3.* で C-d によるプログラム実行 (ble-edit/exec:gexec) が遅延するバグの修正
  • syntax: Bash 3.2--4.1 の算術式バグによる関数定義の構文解析に失敗する問題の対策 #D0788
  • highlight: region レイヤーの着色範囲が改行を跨ぐ場合に既定の着色になるバグの修正 #D0791
  • isearch: 空の検索文字列による一致に C-h で戻った時に全体が選択されるバグの修正 #D0794
  • decode: failglob の時 ble-bind -d に失敗する問題の修正 #D0795
  • edit: command-help のコマンド名抽出に失敗するバグの修正 (reported by cmplstofB) #D0799
  • syntax: 履歴展開の置換指示子の解析が正確でない問題の修正 (report by cmplstofB) #D0800
  • edit: Bash 3.0 で履歴展開 :& が使えない問題の修正 #D0801
  • idle: 負の sleep を試みてエラーメッセージが出る問題の修正 #D0802
  • bind: ble-detach 時に、Bash 3.0 の " のバインディングを破壊するバグの修正 #D0803
  • edit: ble-detach 直後にコマンドラインに設定される stty sane が表示されない問題の対策 #D0804
  • core: Bash-3.0 で補完候補がない場合にエラーメッセージが表示されるバグの修正 #D0807
  • edit: コマンド実行中にウィンドウサイズが変更された時にプロンプトが表示されてしまう問題の解消 #D0809
  • edit: widget 内で read -e を使用した時・read -e がタイムアウトした時に表示が乱れる問題の解消 #D0809
  • edit: read -e でタイムアウトが効かないバグの修正 #D0809
  • term: 16色の端末で色が化けるバグの修正 #D0823

他: 動作変更

  • edit: read -e がキャンセル・タイムアウトによって終了した時に入力文字列を灰色で再表示 #D0809
  • decode: キーマップの既定の初期化を最初の ble-bind 時に確認する様に変更 #D0813
  • core: ble/util/clock 導入 #D0814
  • edit: ble-edit/read -e -t timeout において、タイムアウトをより高精度で処理 (ble/util/clock) #D0814
  • color: face が定義されていない時のエラーメッセージの表示方法を変更 #D0815
  • edit: コマンド実行時に現在のカーソル位置より下に表示されている端末の内容を上書きする様に変更 #D0816
  • edit: accept-line において、ちらつき防止の為、実際のコマンド実行が伴わない時は info の再描画を行わない #D0816
  • edit: ble/widget/history-expand-lineC-RET ではなく M-^ から束縛される様に変更 #D0820
  • edit: ble/widget/magic-space で履歴展開が行われなかった時、現在位置で静的略語展開を試みる様に変更 #D0820
  • isearch: RET でコマンド実行ではなく検索を終了するだけに変更。C-RET でコマンド実行 #D0822

  • Makefile: 依存ファイルを .PHONY target として出力 #D0778
  • core: ble/util/assign をリエントラントに修正 #D0782
  • 議論 complete: #D0770 edit: #D0796 vi: #D0796
  • blerc の更新

以下は widget 名変更の一覧

  • menu_complete/acceptmenu_complete/exit
  • auto_complete/acceptauto_complete/insert
  • auto_complete/accept-on-endauto_complete/insert-on-end
  • auto_complete/accept-wordauto_complete/insert-word
  • auto_complete/accept-and-executeauto_complete/accept-line
  • isearch/acceptisearch/accept-line

v0.3.0-devel1 (2018-09-02)

7d365d5...0c28ed9

補完: 新機能

  • complete: 曖昧補完 #D0707 #D0708 #D0710 #D0713 #D0743 (fix)
  • complete: Readline 設定 completion-ignore-case に対応 #D0709 #D0710
  • complete: ble/cmdinfo/complete:$command_name 対応 #D0711
  • complete: path:... などと入力した時の続きの補完に対応 #D0715
  • complete: 引用符内のエスケープなどを適切に処理する #D0717
  • complete: 自動補完に対応 #D0724, #D0728, #D0734 & #D0735 (vim-mode), #D0766 (history)
  • complete: カーソルの右側に補完結果の一部が含まれる時にスキップする機能 (bind set skip-completed-text) #D0736
  • complete: 引用符の中で補完した時に引用符を閉じる機能 #D0738
  • complete: 算術式内部での変数名の補完に対応 #D0742
  • complete: 候補一覧表示の整列と着色 #D0746 #D0747 #D0762 #D0765
  • complete: menu-completion (メニュー補完) 対応 #D0749 #D0757 #D0764
  • complete: menu-filter (候補絞り込み) 対応 #D0751
  • complete: vi_cmap に於ける補完 #D0761

補完: バグ修正・対策

  • complete: Cygwin でのコマンド名補完に於いて .exe の途中まで入力した時に正しく補完できない問題の修正 #D0703
  • complete: complete によって登録されたプログラム補完に対して変数 COMP_* が正しく設定されない問題の修正 #D0711
  • complete: "' を含むファイル名の補完が正しくできない問題の修正 #D0712 #D0714
  • complete: 補完中に特殊キーを入力しても中断しない問題の解消 #D0729
  • complete: クォートを認識しないプログラム補完関数に対する対策 #D0739
  • complete: 引数の途中からのプログラム補完の不整合の修正 #D0742 #D0744
  • complete: パラメータ展開 ${var} 直後からの補完が正しく実行できる様に修正 #D0742

補完: 動作変更

  • complete: 補完候補生成直前の shopt -s force_ignore を参照して候補を制限する様に変更 #D0704
  • complete: FIGNORE はエスケープされた挿入文字列に対してではなくて、候補文字列に対して判定する様に変更 #D0704
  • complete: 関数名補完を / で区切られた単位で行う #D0706 #D0724 (曖昧一致の時は抑制)
  • complete: パラメータ展開で厳密一致で一意確定の時は他の補完文脈を使うように変更 #D0740
  • complete: パラメータ展開の補完後に挿入する文字を文脈に依存して変更 #D0741
  • complete: パラメータ展開の直後に補完で挿入する際のエスケープを文脈に依存して変更
  • complete: プログラム補完による生成候補でディレクトリ名を省略 #D0755

他: 新機能

  • edit (RET): 文法的に不完全のときに改行を挿入 #D0684
  • core (ble/util/idle): 簡易タスクスケジューラの実装 #D0721
  • core: add a function ble/function#try #D0725
  • idle: ble/util/idle でバックグラウンドジョブ待ち機能を実装 #D0731 #D0745 (history bugfix)
  • base: --attach=prompt 対応 #D0737
  • base: 初回初期化時の順序の変更と過程の info による表示
  • decode: modifyOtherKeys 対応の改善 #D0752 #D0756 #D0758 #D0759
  • core (ble/util/assing): 第3引数以降にコマンドに対する引数を指定できるように変更 #D763

他: バグ修正・対策

  • highlight: 単語着色が乱れるバグの修正 #D0686
  • syntax: bash-3.2 以下で _ble_syntax_attr: bad array subscript のエラーが出るバグの修正 #D0687
  • prompt: PS1 で \v が空文字列になるバグの修正 #D0688
  • highlight: 上書きモードにおいてコマンドをキャンセルしても disabled レイヤーの着色が無視されるバグの修正 #D0689
  • core (ble/term/visible-bell): 横幅の計算を誤っているバグの修正 #D0690
  • decode: "set -o vi/emacs" で編集モードを切り替えた直後に "stty" が変になる問題の修正 D0691
  • core: LANG=C とすると動かなくなる問題の対処 #D0698 #D0699 #D0700
  • history: Cygwin で履歴の初期化に時間がかかる問題の対策 #D0701
  • history: bashrc 読み込み直後に謎の待ち時間が発生する問題の対策 #D0702
  • emacs: 貼り付け (bracketed paste) で文字列が二重に挿入されるバグの修正 #D0720
  • main: POSIXLY_CORRECT が設定されている時の対策 #D0722 #D0726 #D0727
  • edit: POSIXLY_CORRECT を用いた組み込みコマンド上書き対策 #D0722
  • decode: 連想配列に依る実装のバグを修正し bash-4.0, 4.1 においても連想配列を使用 '#D0730'
  • decode: ble-bind -c でシェルの特殊文字を含むコマンドが正しく実行できないバグの修正
  • edit: 履歴項目の数が倍増するバグの修正 #D0732
  • vi: キーボードマクロで特殊キーが再生されないバグの修正 #D0733
  • isearch: 現在位置の表示時の 0 除算のバグの修正
  • vi: !! をキャンセルしても操作範囲を示す着色が消えないバグの修正 #D0760

  • refactor: #D0725 #D0750 #D0753 #D0754
  • bash-bug: Bash に対するバグ報告 #D0692 D0695 D0697
ble.sh - Releases 0.2

Published by akinomyoga over 6 years ago

v0.2.3 (2019-07-10) Patch 3

Fixes

  • global: fix leak variable ret #D0906 6ad206a (master: 9892d63)
  • edit (widget delete-horizontal-space): fix a bug that spaces before the cursor is not removed #D0932 6c931fd (master: 9290adb)
  • decode: fix a bug that \ cannot be input after reattach #D0937 6f5058d (master: a46ada0)
  • vi_nmap (/, ?, n, N): fix search progress #D0944 637ec53 (master: f20f840)
  • highlight: do not highlight overwrite modes when mark is active #D0950 7109acf (master: 4efe1a9)
  • util (ble/util/msleep): suppress warnings from usleep #D0984 50fbadf (master: 8e4180c)
  • util: improve performance of ble/{util/{mapfile,assign-array},string#split-lines} (<= bash-3.2) #D0985 ae72dc3 (master: ae176b2) #D0989 73a191d (master: 36b9a8f) 6713766 (master: f199215)
  • util: fix a problem that C-d cannot be input in nested Bash 3.1 #D0992 b109b46 (master: 88a1b0f)
  • edit: erase in page on SIGWINCH #D1016 be97da5
  • edit: fix exit code of ble-edit/content/find-logical-bol #D1037 772db56
  • color (layer:region): fix a bug that highlighting is cleared without dirty ranges #D1053 1d0bfca
  • decode: fix ble-decode-bind/.generate-source-to-unbind-default/.process c184fc8
  • highlight: fix a bug that region is not cleared f59fdaf
  • decode: workaround a bash-5.0 bug of bind -p #D1078 60f8029 (master: b52da28)
  • syntax: fix false error highlighting of commands after }, fi, done or esac #D1082 f095ab1 (master: 4ce2753)
  • edit: fix a problem that status line vanishes on window resize #D1085 9723f0e (master: 467b7a4)
  • edit (ble/builtin/read): suppress noisy job messages and delay caused by vbell #D1087 83b24aa (master: 309b9e4)
  • edit: recalculate prompts after resize #D1088 cf1bdff (master: b29f248)
  • edit (ble/builtin/read): workaround failglob crash on vbell inside read #D1090 24af642 (master: 2e6f44c)
  • highlight: fix a bug that quoted tilde expansions are processed for filename highlighting #D1095 417dec7 (master: 3f1f472)

v0.2.2 (2018-02-09) Patch 2

Fixes

  • vi (xmap aw/iw): Extend backward to include the current entire word
  • util (ble/util/openat): Add workaround a Bash 3.2 bug that causes problems with C-d in nested shells
  • edit (ble/textarea#render): Fix a bug of wrong scroll/cursor position after entire redraw
  • main: Fix a "$_ble_base" determination bug on source ble.sh for local ble.sh
  • global: Fix a leak variable ret

v0.2.1 (2018-09-30) Patch 1

Fixes

  • isearch: Fix a bug that the entire line is highlighted for an empty match for isearch/prev
  • decode: Fix a bug that ble-bind -d fails for shopt -s failglob
  • edit: Fix a bug that command-help fails to extract the correct command name
  • vi: Fix internal usage of the builtin unset
  • syntax: Fix extraction of history expansions with substitution specifiers
  • edit: Change a workaround of the history expansion in bash 3.0 for :&
  • bind: Fix a bug that key binding of " is broken after ble-detach in Bash 3.0
  • edit: Render READLINE_LINE contents after ble-detach
  • core: fix a bug that ble/array#push without arguments pushes an empty element in Bash 3.0
  • edit: Fix a bug that prompt is redrawn for SIGWINCH even in executing external commands
  • complete: Add _ble_complete_load_hook
  • highlight: Fix a bug that failglob is applied to designated initializers
  • decode: Add bleopt decode_isolated_esc=auto

v0.2.0 (2018-09-09) Release

Fixes

  • decode: Fix a bug that ble-bind -x did not work
  • vim-surround: Fix a bug that some inserted delimiters are broken on Bash 4.4
  • decode: Fix a bug that ble-bind cannot unbind keys in Bash ≦ 4.2
  • decode: Fix a bug that the shell hangs with the setting bind 'set convert-meta on'
  • core: Support changing of LC_CTYPE
  • core: Properly handle invalid characters in the current LC_CTYPE
  • decode: Fix a bug that special keys are always decoded to 9 in Bash 4.0 and 4.1
  • complete: Fix a bug that omittable extensions .exe are not properly completed in Cygwin
  • decode: Fix a bug that ble-bind -c did not properly work
  • edit: Fix a bug that histories are doubled
  • vi: Fix a bug that key board macros are not properly played
  • edit: Fix a 0 division bug in progress bars
  • complete: Add a workaround for failglob in user-provided program completion functions
  • core: Suppress error messages of missing C.UTF-8 locales
  • edit: Fix problems of IGNOREEOF and jobs in Bash 3.2
  • syntax: Add workarounds for the Bash 3.2--4.1 arithmetic bug

Internal changes

  • core: Improve performance of ble/is-array
  • core: Remove an unused function ble-text.s2c
  • edit: Improve performance of history loading in Cygwin
  • core: Use builtin sleep if it is available
  • edit: Fix a function name ble/textare#slice-text-buffer
  • syntax: Fix a bug that the cache of ble-syntax/highlight/cmdtype did not work
  • main: check the -o posix option earlier than the other options
  • core, vi: Fix bugs that array expansions in assignments are not properly quoted

v0.2.a2 (2018-03-21) Alpha release 2

Fixes

  • edit: Fix a bug that set -o vi fails
  • core: Fix a bug of wrong stty states right after set -o vi/emacs
  • syntax: Adjust highlight colors for dark background terminals
  • edit: Update adjustment for bleopt_suppress_output_bash=

v0.2.a1 (2018-03-18) Alpha release 1

ble.sh - Releases 0.1

Published by akinomyoga almost 9 years ago

v0.1.12 (2019-07-10)

Fixes

  • decode: fix a bug that \ cannot be input after reattach #D0937 f99a2d3 (master: a46ada0)
  • highlight: do not highlight overwrite modes when mark is active #D0950 318188e (master: 4efe1a9)
  • util: fix a problem that C-d cannot be input in nested Bash 3.1 #D0992 b3436e9 (master: 88a1b0f)
  • edit: erase in page on SIGWINCH #D1016 5f00f78 54f0a8f
  • decode: fix ble-decode-bind/.generate-source-to-unbind-default/.process 49ed4e8
  • decode: workaround a bash-5.0 bug of bind -p #D1078 36be4d8 (master: b52da28)
  • edit (ble/builtin/read): suppress noisy job messages and delay caused by vbell #D1087 e687c7b (master: 309b9e4)
  • edit: recalculate prompts after resize #D1088 df4c227 (master: b29f248)
  • highlight: fix a bug that quoted tilde expansions are processed for filename highlighting #D1095 9d6246f (master: 3f1f472)

v0.1.11 (2019-02-09)

Fixes

  • util (ble/util/openat): Add workaround a Bash 3.2 bug that causes problems with C-d in nested shells
  • main: Fix a "$_ble_base" determination bug on source ble.sh for local ble.sh

v0.1.10 (2018-09-30)

Fixes

  • isearch: Fix a bug that the entire line is highlighted for an empty match for isearch/prev
  • decode: Fix a bug that ble-bind -d fails for shopt -s failglob
  • edit: Fix a bug that command-help fails to extract the correct command name
  • vi: Fix internal usage of the builtin unset
  • syntax: Fix extraction of history expansions with substitution specifiers
  • edit: Change a workaround of the history expansion in bash 3.0 for :&
  • edit: Render READLINE_LINE contents after ble-detach
  • edit: Fix a bug that prompt is redrawn for SIGWINCH even in executing external commands

v0.1.9 (2018-09-09)

Fixes

  • edit: Fix a bug that \v in PS1 is not properly expanded.
  • highlight: Fix a bug that highlight is not updated on status change of region/disabled
  • core: Fix a bug that visual bell messages are truncated by the number of lines but not the columns
  • complete: Fix a bug that omittable extensions .exe are not properly completed in Cygwin
  • decode: Fix a bug that ble-bind cannot unbind keys in Bash ≦ 4.2
  • core: Fix a bug of wrong stty states right after set -o vi/emacs
  • decode: Fix a bug that the shell hangs with the setting bind 'set convert-meta on'
  • decode: Fix a bug that ble-bind -x did not work
  • decode: Fix a bug that ble-bind -c did not properly work
  • complete: Add a workaround for failglob in user-provided program completion functions
  • edit: Fix problems of IGNOREEOF and jobs in Bash 3.2

v0.1.8 (2018-03-15)

Fixes

  • Update ext/mwg_pp.awk for newer versions of gawk
  • Fix a bug that pathname expansions are attempted to unset arguments
  • Fix bugs that rhs is not properly quoted in internal codes such as [[ lhs != rhs ]]
  • Fix a bug that apostrophes are not escaped in ble-bind -d
  • Fix a bug that pathname expansions internally occurred in ble-bind -d
  • Fix a bug that complete -D settings did not work
  • Fix a bug that PS1 set by PROMPT_COMMAND was ignored
  • Remove a conflicting bind setting
  • Support symbolic link ble.sh with POSIX readlink
  • Fix a bug that U+2000 - U+2600 are always treated as width 1
  • Fix a bug that passwords to other commands cannot be input due to the broken stty setting.
  • Fix a bug that keys "*" and "?" cannot be properly handled in ble-bind.

v0.1.7 (2017-02-24)

Fixes

  • isearch: fix a bug that caused problem in bash-4.4
  • isearch: fix a bug on updating word highlighting

v0.1.6 (2016-11-10)

Fixes

  • Makefile: Change to detect gawk path. So far gawk path has been fixed to /usr/bin/gawk.

v0.1.5 (2016-05-21)

Fixes

  • isearch: search strings from edited history data. So far, strings are searched from the history entries before edit, which caused inconsistencies in the cursor position.

v0.1.4 (2015-12-30)

Fixes

  • Do not print the debug message "clear words" on completions before a command name
  • Correct the registration of nest data on array assignments "arr[...]=...".

v0.1.3 (2015-12-05)

Fixes

  • Fix of the previous bug fix (missing handling of a negative onest[3]).

v0.1.2 (2015-12-03)

Fixes

  • Fatal (parser): nest-structure corruption on partial parsing.
  • default completion candidates specified by compopt and -o options was not correctly applied

v0.1.1 (2015-12-01)

Fixes

  • default completion on arguments
  • unbind of original key bindings at initialization
  • local match for +isearch/self-insert on forward isearch.

v0.1.0 (2015-11-30) Initial release

Initial release for the release test