I use tcsh as my shell, and I love it. Unfortunately,
globbing breaks its history search commands. They halfway support [...] and *
(character sets and wildcards), but they die on {…} and ^ (expansions and
negations).
Specifically, if you use { in a history search pattern, the search is killed and
prints Missing }. If you use ^ in a history search pattern, it treats it as a
normal character (ie doesn’t glob), but ignores everything after it.
The affected commands include history-search-backward, history-search-forward,
i-search-back, and i-search-fwd.
After discussing on the tcsh
list, we decided to
remove glob support in history search altogether. It’s a rare use case, and we
believe it’s more confusing than useful.
remove tcsh globbing in history search
updated 8/4/2010
This patch was applied on 8/23/2006. It’s included in tcsh versions 6.14.06 and later.
For the impatient:
Patch for tcsh 6.14.00
I use tcsh as my shell, and I love it. Unfortunately, globbing breaks its history search commands. They halfway support [...] and * (character sets and wildcards), but they die on {…} and ^ (expansions and negations).
Specifically, if you use { in a history search pattern, the search is killed and prints Missing }. If you use ^ in a history search pattern, it treats it as a normal character (ie doesn’t glob), but ignores everything after it.
The affected commands include history-search-backward, history-search-forward, i-search-back, and i-search-fwd.
After discussing on the tcsh list, we decided to remove glob support in history search altogether. It’s a rare use case, and we believe it’s more confusing than useful.
This patch against tcsh 6.14.00 removes globbing support and fixes the bugs.