mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Fix more spurious comsub execution in tab completion (re: 7a2d3564)
Comsubs were either executed or caused a syntax error when attempting
to complete them within single quotes. Since single quotes do not
expand anything, no such completion should take place.
$ '`/de<TAB>-ksh: /dev/: cannot execute [Is a directory]
$ '$(/de<TAB>-ksh: syntax error: `end of file' unexpected
src/cmd/ksh93/edit/completion.c:
- find_begin():
- Remove recursive handling for '`' comsubs from 7a2d3564; it is
sufficient to set the return pointer to the current location cp
(the character following '`') if we're not in single quotes.
- For '$' and '`', if we are within single quotes, set type '\''
and set the return pointer bp to the location of the '$' or
'`'.
- ed_expand(): If find_begin() sets type '\'' and the current begin
character is $ or `, refuse to attempt completion; return -1 to
cause a terminal beep.
Related:
https://github.com/ksh93/ksh/issues/268
https://github.com/ksh93/ksh/issues/462#issuecomment-1038482307
This commit is contained in:
parent
d70793d3c0
commit
7a5423dfb6
4 changed files with 40 additions and 7 deletions
6
NEWS
6
NEWS
|
|
@ -3,6 +3,12 @@ For full details, see the git log at: https://github.com/ksh93/ksh/tree/1.0
|
|||
|
||||
Any uppercase BUG_* names are modernish shell bug IDs.
|
||||
|
||||
2022-06-05:
|
||||
|
||||
- Fixed a bug where tab completion would spuriously execute a command
|
||||
substitution after entering: '`something<TAB> or generate a spurious
|
||||
'end of file unexpected' syntax error after entering: '$(something<TAB>.
|
||||
|
||||
2022-06-04:
|
||||
|
||||
- Added a new --functrace long-form shell option which causes the -x/--xtrace
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue