Skip to content

Commit

Permalink
main: fix another loss of "_ble_bash" on ble-reload
Browse files Browse the repository at this point in the history
  • Loading branch information
akinomyoga committed Jul 30, 2024
1 parent bb2dae6 commit a9b962d
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 3 deletions.
4 changes: 4 additions & 0 deletions ble.pp
Original file line number Diff line number Diff line change
Expand Up @@ -2634,6 +2634,10 @@ function ble/base/unload-for-reload {
[[ $_ble_edit_detach_flag ]] ||
_ble_edit_detach_flag=reload
fi

# We here localize "_ble_bash" to avoid overwriting _ble_bash, which is
# already initialized by the new instance of ble.sh.
local _ble_bash=$_ble_bash
ble/base/unload reload
return 0
}
Expand Down
4 changes: 2 additions & 2 deletions docs/ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
- util(joblist): exclude more foreground dead jobs in Bash 5.3 `#D2174` 8a321424
- global: work around function names with slashes in Bash 5.3 POSIX mode `#D2221` 48c7bbee
- main: update the startup message for debug versions of Bash `#D2222` afb29073
- main: shorten the startup message for debug versions `#D2241` xxxxxxxx
- main: shorten the startup message for debug versions `#D2241` 0bc8610a
- decode(read-user-settings): read the colonless form of `bind -x` of Bash 5.3 `#D2233` 62b23b69
- bgproc: support opts `kill9-timeout=TIMEOUT` `#D2034` 3ab41652
- progcomp(cd): change display name and support mandb desc (requested by EmilySeville7cfg) `#D2039` 74402098
Expand Down Expand Up @@ -117,7 +117,7 @@
- edit: fix standard streams in `EXIT` trap with `ble/widget/exit` `#D2217` 89f0dab8
- util(`ble/fd#cloexec`): check `fdflags` compatibility to avoid crash `#D2227` c3b3aaf8
- util(`ble/function#evaldef`): suppress alias expansions (reported by 103sbavert) `#D2240` 51e762fe
- main: fix a bug that `_ble_bash` is missing (reported by tessus) `#D2242` xxxxxxxx
- main: fix a bug that `_ble_bash` is missing (reported by tessus and Knusper) `#D2242` bb2dae6e xxxxxxxx

## Compatibility

Expand Down
13 changes: 12 additions & 1 deletion note.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7394,15 +7394,26 @@ bash_tips

2024-07-29

* BUG main: _ble_bash が消失している (reported by tessus) [#D2242]
* BUG main: _ble_bash が消失している (reported by tessus and Knusper) [#D2242]
https://github.com/akinomyoga/ble.sh/issues/470#issuecomment-2255357001
https://github.com/akinomyoga/ble.sh/issues/472#issuecomment-2258653708
Ref. #D2240

これは #D2240 の regression. _ble_bash の位置を前方に移動した時に builtin
unset -v _ble_bash を途中失敗に付加したが、全体で実行する ble/init/clean-up
にも付加していた事によって全体で _ble_bash が unset される様になってしまっ
ていた。これは問題だ。急いで修正する。

2024-07-31 最新版の中で ble-reload した時にエラーが起こるというがどういう事
だろう。自分の手元で実行すると別にエラーは発生しない。然しその後で ble.sh
が全く機能しなくなる。やはり _ble_bash が消滅している様だ。未だ _ble_bash
を削除している箇所があると思ったが見つからない。

ble-reload の時に発生するという事を考えると ble/util/unload を呼び出してい
るのでそれによって _ble_bash が削除されている。今まで _ble_bash の初期化を
遅延していた理由があった様な気がしていたが、それは reload 時の
ble/util/unload よりも後にしたかったからだろう。

* main: --clear-cache で長々しい devel version では遅い warning を出力する必要はあるのか [#D2241]
Ref. #D2222

Expand Down

0 comments on commit a9b962d

Please sign in to comment.