Fix a two decade old bug in whence -a
#25
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request (which is properly tested this time) fixes a bug that was originally reported by @DavidMorano about two decades ago to the AST team (ref att#954).
whence -a
bases the path for tracked aliases on the user's current working directory if it an enabled ksh builtin of the same name is also available. The following example will claimcat
is in the user's current working directory:This happens because
whence -a
determines the path to tracked aliases withpath_pwd
, which is only meant for getting the current working directory (likepwd
). The fix is to properly save the path of the tracked alias for use withwhence -a
.Note: If the first
whence -a
command in the example is not run first, whence will claimcat
is an undefined function. This is unfortunately not fixed by this pull request.