mirror of
https://github.com/systemd/systemd.git
synced 2025-02-04 21:47:31 +03:00
8139407ec1
The usage of PREFIX in this completion is mostly counter to the intended usage of compsys in zsh. It is generally expected that completion code provide the available completions and tags in that word position so that compsys, with user configuration, can filter them to the appropriate set. One egregious error caused by the usage of PREFIX here is the caching of SYS_ALL_UNITS, which stored only the unit names prematurely filtered by the completion prefix, affecting all future completions. For example, $ systemctl cat nonsense<TAB> might find no matching units if nonsense* has no matches, but now $ systemctl cat <TAB> will fail in all future completions even though every unit file is a valid match, because the cached set has been erroneously filtered by the last prefix.