zsh-workers
 help / color / mirror / code / Atom feed
* Re: Global-alias problem with _expand
@ 2000-10-10  8:13 Sven Wischnowsky
  2000-10-10 14:29 ` Bart Schaefer
  0 siblings, 1 reply; 5+ messages in thread
From: Sven Wischnowsky @ 2000-10-10  8:13 UTC (permalink / raw)
  To: zsh-workers


Wayne Davison wrote:

> Global aliases can cause a problem in the _expand completer:
> 
> % zsh -f
> 
> % autoload -U compinit
> % compinit
> % zstyle ':completion:*' completer _expand
> % alias -g T='|tail'
> % l T<TAB>
> _expand:-1: parse error near `|'

Rats. Look:

  % alias -g 'T=|foo'
  % eval 'exp=( T )'
  zsh: parse error near `|'

Anyone know how to avoid that?

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: Global-alias problem with _expand
@ 2000-10-10 15:04 Sven Wischnowsky
  2000-10-10 15:47 ` Bart Schaefer
  0 siblings, 1 reply; 5+ messages in thread
From: Sven Wischnowsky @ 2000-10-10 15:04 UTC (permalink / raw)
  To: zsh-workers


Bart Schaefer wrote:

> On Oct 10, 10:13am, Sven Wischnowsky wrote:
> }
> } Rats. Look:
> } 
> }   % alias -g 'T=|foo'
> }   % eval 'exp=( T )'
> }   zsh: parse error near `|'
> } 
> } Anyone know how to avoid that?
> 
> By redirecting stderr on the eval?

Now where did I get the impression from that the error kept the rest
from the function from being executed? Sigh.

Bye
 Sven

Index: Completion/Core/_expand
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Core/_expand,v
retrieving revision 1.31
diff -u -r1.31 _expand
--- Completion/Core/_expand	2000/10/10 09:00:15	1.31
+++ Completion/Core/_expand	2000/10/10 15:03:52
@@ -12,7 +12,6 @@
 [[ _matcher_num -gt 1 ]] && return 1
 
 local exp word sort expr expl subd suf=" " force opt asp tmp opre pre epre
-local gal
 
 (( $# )) &&
     while getopts gsco opt; do
@@ -49,12 +48,6 @@
        ( "$word" = *\$[a-zA-Z0-9_]## && 
          ${#parameters[(I)${word##*\$}*]} -ne 1 ) ]] && return 1 }
 
-# We have to temporarily remove the global aliases because they can make
-# the evals fail.
-
-gal=( ${(kv)galiases} )
-(( $#gal )) && builtin unalias ${(k)galiases}
-
 # In exp we will collect the expansions.
 
 exp=("$word")
@@ -66,7 +59,7 @@
 if [[ "$force" = *s* ]] ||
    zstyle -T ":completion:${curcontext}:" substitute; then
   [[ ! -o ignorebraces && "${#${exp}//[^\{]}" = "${#${exp}//[^\}]}" ]] &&
-      eval exp\=\( ${${(q)exp}:gs/\\{/\{/:gs/\\}/\}/} \)
+      eval exp\=\( ${${(q)exp}:gs/\\{/\{/:gs/\\}/\}/} \) 2>/dev/null
   eval 'exp=( ${${(e)exp//\\[ 	
 ]/ }//(#b)([ 	
 ])/\\$match[1]} )' 2>/dev/null
@@ -90,20 +83,14 @@
 
 (( $#exp )) || exp=("$subd[@]")
 
-if [[ $#exp -eq 1 && "${exp[1]//\\}" = "${word//\\}"(|\(N\)) ]]; then
-  galiases=( $gal )
-  return 1
-fi
+[[ $#exp -eq 1 && "${exp[1]//\\}" = "${word//\\}"(|\(N\)) ]] && return 1
 
 # With subst-globs-only we bail out if there were no glob expansions,
 # regardless of any substitutions
 
-if { [[ "$force" = *o* ]] ||
-    zstyle -t ":completion:${curcontext}:" subst-globs-only } &&
-    [[ "$subd" = "$exp"(|\(N\)) ]]; then
-  galiases=( $gal )
-  return 1
-fi
+{ [[ "$force" = *o* ]] ||
+  zstyle -t ":completion:${curcontext}:" subst-globs-only } &&
+  [[ "$subd" = "$exp"(|\(N\)) ]] &&  return 1
 
 zstyle -s ":completion:${curcontext}:" keep-prefix tmp || tmp=changed
 if [[ "$word" = [\~\$]*/* && "$tmp" = (yes|true|on|1|changed) ]]; then
@@ -114,12 +101,7 @@
     [[ "$tmp" != changed || $#exp -gt 1 ||
        "${opre}${exp[1]#${pre}}" != "$word" ]] && exp=( ${opre}${^exp#${pre}} )
   fi
-
-  galiases=( $gal )
-
   [[ $#exp -eq 1 && "$exp[1]" = "$word" ]] && return 1
-else
-  galiases=( $gal )
 fi
 
 # Now add as matches whatever the user requested.

--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 5+ messages in thread
* Global-alias problem with _expand
@ 2000-10-09 16:17 Wayne Davison
  0 siblings, 0 replies; 5+ messages in thread
From: Wayne Davison @ 2000-10-09 16:17 UTC (permalink / raw)
  To: Zsh Workers

Global aliases can cause a problem in the _expand completer:

% zsh -f

% autoload -U compinit
% compinit
% zstyle ':completion:*' completer _expand
% alias -g T='|tail'
% l T<TAB>
_expand:-1: parse error near `|'

..wayne..


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2000-10-10 15:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-10-10  8:13 Global-alias problem with _expand Sven Wischnowsky
2000-10-10 14:29 ` Bart Schaefer
  -- strict thread matches above, loose matches on Subject: below --
2000-10-10 15:04 Sven Wischnowsky
2000-10-10 15:47 ` Bart Schaefer
2000-10-09 16:17 Wayne Davison

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).