Hello all, I am still a beginner in developing, or I would tackle this issue directly myself. The misbehavior is when the command list has a null function with parameters, the last-command-last-parameter ($_) built-in variable goes blank. Example: |local a=1 b=2 c=3; : One; function { : Two; echo $_; print -l $argv; } $_ Three; print -l $_ Four; ## Should print: # Two # One # Three # Three # Four ## Currently prints: # Two # Three # Four ## Conversely, when no arguments are given to the null function, ## it operates mostly normally, but as if the function were not there:| ||local a=1 b=2 c=3; : One; function { : Two; echo $_; print -l $argv; }; print -l $_ Four;| ## Outputs: # Two # # One # Four ## ( second line is 'print -l' but $argv is empty | It would seem this unexpected behavior may be the result of an unfinished shell source where the best shell behavior was not clear to the programmer. I admit dealing with null functions is a minor point of dilema with script writing, but I have gotten super intricate with the beautiful script design and features made available to me by ZSH, and I have found that the behavior suggested at "Should print" above is the only way that is consistent in a large script where an alias may use a null function for better handling of parameters without interfering with any currently same-name functions, or when a Heredoc is used and one wants to grab the last argument to use as the parameter of an immediately following null function. -- Micah micah@askmicah.net AskMicah.Net , Problem Solving Agency