mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-27 18:21:10 +02:00
36841: factor out and update the patterns that filter "uninteresting" functions out of the $funcstack display
This commit is contained in:
parent
d77bf2ba88
commit
ce929eb37e
2 changed files with 11 additions and 3 deletions
|
@ -1,5 +1,10 @@
|
|||
2015-10-11 Barton E. Schaefer <schaefer@zsh.org>
|
||||
|
||||
* 36841: Completion/Base/Widget/_complete_help: factor out and
|
||||
update the patterns that filter "uninteresting" functions out
|
||||
of the $funcstack list when generating the call trace to show
|
||||
where a tag is active.
|
||||
|
||||
* 36836: Src/mem.c: zhalloc() avoids re-scanning all heaps when
|
||||
the last known heap with free space does not have enough space
|
||||
|
||||
|
|
|
@ -6,12 +6,15 @@ _complete_help() {
|
|||
local _sort_tags=_help_sort_tags text i j k tmp
|
||||
typeset -A help_funcs help_tags help_sfuncs help_styles
|
||||
|
||||
local -H _help_scan_funcstack="main_complete|complete|approximate|normal"
|
||||
local -H _help_filter_funcstack="alternative|call_function|describe|dispatch|wanted|requested|all_labels|next_label"
|
||||
|
||||
{
|
||||
compadd() { return 1 }
|
||||
zstyle() {
|
||||
local _f="${${(@)${(@)funcstack[2,(i)_(main_complete|complete|approximate|normal)]}:#_(dispatch|wanted|requested|all_labels|next_label)}% *}"
|
||||
local _f="${${(@)${(@)funcstack[2,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}% *}"
|
||||
|
||||
[[ -z "$_f" ]] && _f="${${(@)funcstack[2,(i)_(main_complete|complete|approximate|normal)]}:#_(dispatch|wanted|requested|all_labels|next_label)}"
|
||||
[[ -z "$_f" ]] && _f="${${(@)funcstack[2,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}"
|
||||
|
||||
if [[ "$help_sfuncs[$2]" != *${_f}* ||
|
||||
"$help_styles[${2}${_f}]" != *${3}* ]]; then
|
||||
|
@ -73,7 +76,7 @@ _complete_help() {
|
|||
}
|
||||
|
||||
_help_sort_tags() {
|
||||
local f="${${(@)${(@)funcstack[3,(i)_(main_complete|complete|approximate|normal)]}:#(_(dispatch|wanted|requested|all_labels|next_label)|\(eval\))}% *}"
|
||||
local f="${${(@)${(@)funcstack[3,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}% *}"
|
||||
|
||||
if [[ "$help_funcs[$curcontext]" != *${f}* ||
|
||||
"$help_tags[${curcontext}${f}]" != *(${(j:|:)~argv})* ]]; then
|
||||
|
|
Loading…
Reference in a new issue