Problem
A before-load annex hook that consumes its final request successfully cannot return an empty replacement. The dispatcher converts an empty ZI[annex-before-load:new-@] into an array with one empty string, then reports No plugin or snippet ID given.
Verified in next 9278795 and stable main 56715fd. This blocks the repeated-group no-op contract in z-shell/z-a-meta-plugins#60.
Change
After parsing the replacement, clear the argument array when the replacement string is empty. Preserve quoted arguments in non-empty replacements and odd hook failure statuses. This is a narrow dispatcher correction with a focused runtime regression, without a new dependency or API.
Acceptance
Delivery
Approved local implementation, issue creation, and Project 28 tracking. Intended integration target: next. No commit, push, or PR requested. Recommended triage: Bug, High impact, S effort, P1 - High priority, Human delivery.
Problem
A before-load annex hook that consumes its final request successfully cannot return an empty replacement. The dispatcher converts an empty
ZI[annex-before-load:new-@]into an array with one empty string, then reportsNo plugin or snippet ID given.Verified in
next9278795 and stablemain56715fd. This blocks the repeated-group no-op contract in z-shell/z-a-meta-plugins#60.Change
After parsing the replacement, clear the argument array when the replacement string is empty. Preserve quoted arguments in non-empty replacements and odd hook failure statuses. This is a narrow dispatcher correction with a focused runtime regression, without a new dependency or API.
Acceptance
Delivery
Approved local implementation, issue creation, and Project 28 tracking. Intended integration target:
next. No commit, push, or PR requested. Recommended triage: Bug, High impact, S effort, P1 - High priority, Human delivery.