Skip to content
Koichi Murase edited this page May 19, 2021 · 1 revision

Interacton with other projects

GNU Bash

A Bash-compatible shell osh from oilshell/oil tried to run ble.sh. To run ble.sh in osh, many incompatibilities and problems have been solved in oilshell/oil. ble.sh have also broght many discussions in oilshell/oil.

Here I summarize the discussion made in oilshell/oil related to ble.sh. I mark the items that have particularly interesting discussion/explanation with ★ marks.

  • COMPAT oil#620 initially ble.sh was broght to oil discussions by @DanySpin97.
  • CONSIS oil#637 the result of type return was different
  • NYI oil#640 dynamic variable names in arithmetic context
  • CONSIS oil#644 parsing of dynamic variable names in arithmetic context
  • CONSIS oil#645 quoting associative array keys in arithmetic context
  • CONSIS oil#646 declare -A d=(['key']=value) Shouldn't associative subscript quotation be mandatory?
  • NYI oil#647 declare -pf, trap -p, etc.
  • NYI oil#648 Recursive arithmetic evaluation
  • NYI oil#649 [[ -k /tmp ]]
  • NYI oil#651 unset -v 'arr[0]'
  • CONSIS oil#652 Revisit 646
  • PROJ oil#653 ★★ Running ble.sh on Oil (summary of ble.sh related matters)
  • DOC oil#654 list of redefinable builtin commands
  • PR oil#656 BASH_LINENO, FUNCNAME
  • PR oil#657 ${!prefix@}
  • PR oil#658 ${@:offset:length}
    • BUG oil#688 oversight pointed out by @Crestwave
  • NYI oil#659 set -o emacs initial state, behavior of set +o emacs
  • BUG oil#660 ${arr[0]=1}
  • NYI oil#661 declare -A dict=()
    • ★ Three different state of Bash variables
  • NYI oil#662 trap --, eval --
  • Wiki "How Interactive Shells Work - How ble.sh Works"
    • oil#693 Incremental update of terminal contents
  • PROJ oil#663 ★★ API for interactive user interface
    • oil#663 (comment) Explanation of pull-push / concurrency / shell-parser in ble.sh. Bash syntaxes that ble.sh gave up to correctly highlight.
    • oil#663 (comment) Explanation on hook API
  • ERRMSG oil#664
  • PR oil#665 Test read -d delim
    • BUG oil#694 Oversight in tests pointed out by @Crestwave
  • PR oil#666 Test mapfile, readarray
  • PR oil#667 Test file descriptors
  • PR oil#668 Implement printf %()T %*.*s
  • PR oil#670 Test dynamic variable names
  • PR oil#671 Implement declare -p
  • PR oil#672 Implement exec <> 5>&- 5>&6- {fd}>file
    • DESIGN oil#673 (oil-language) {fd}<> alternative syntaxes
    • DESIGN oil#674 Upper bound of file descriptors
      • ★ Consideration and discussion on how file descriptors should be managed in scripts
    • BUG oil#675 JSON builtin doesn't work after oil#672
  • COMPAT oil#680 trap -l (from ooil#644)
  • PROJ oil#682 Hook API
  • NYI oil#683 OIL_VERSION
  • oil#684 Other builtins such as builtin sleep and readlink
  • PROJ oil#687 Profiling and coverage analysis
  • DESIGN oil#689 Behavior on an empty command ""
  • NYI oil#690 ${var@a}
    • DESIGN oil#691 (oil-language) How to retrieve the type information
  • PROJ oil#704 Execution in subinterpreter
  • BUG oil#705 read fails on empty lines
  • NYI oil#706 Dynamic unset (★★ Summary of the behavior of each shell)
    • DESIGN oil#716 API related to the dynamic scoping
    • PR oil#718 Test case
  • FYI oil#708 Provided information on ble-stackdump
  • FYI oil#711 Provided information on ble/util/readfile
  • PR oil#723 Fix redirections
  • PR oil#724 $((base#num)) Fix reversed digits
  • PR oil#725 Fix empty arithmetic expressions in ${arr[@]::}, $(())
  • PR oil#726 Fix ${#BASH_SOURCE}, ${BASH_SOURCE:offset:length}, etc.
  • NYI oil#727 Parentheses are needed in 1?a=1:1
  • PR oil#728 Support shopt -s compat_array
  • PR oil#729 Fix the problem that the result of IFS= read -n 1 char vanishes
  • PR oil#730 Fix the problem that printf %d \' becomes an error
  • PR oil#731 Fix the problem that the existing arrays vanishes by declare -a arr
# Issue number distributions in oil
600 ---------- 700 ----***-*-
610 ---------- 710 -*---**-*-
620 *--------- 720 ---*******
630 -------*-- 730 **
640 *---******
650 -****-****
660 *********-
670 ******----
680 *-***-****
690 **-**-----

Other projects

Clone this wiki locally