Bad way to disable /etc/zsh/zshrc initializing the completion system

Bug #1976170 reported by Eli Barzilay
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
zsh (Ubuntu)
New
Undecided
Unassigned

Bug Description

`/etc/zsh/zshrc` suggests `skip_global_compinit=1` to avoid initializing the completion system.
Without that, it is impossible to override any completions with my own directory of completion
functions, since they're already created by the time it gets to MY .zshrc.

The problem with this "solution" is that it relies on ... you knowing about it, which is kind of a
silly requirement for a "feature" that is undocumented anywhere other than that file. In my case
I spent about a day banging my head against all kinds of random higher-density objects around me,
and made my keyboard thoroughly suffer frequent banging on it. I'm probably not cool enough for
anyone to worry about the integrity of my head (I'm not even using oh-my-whatever), but at least
think about the keyboards!

I appreciate the origin of this "solution":

  https://bugs.launchpad.net/ubuntu/+source/zsh/+bug/16759

it is indeed a shame if people wouldn't enjoy the wonderful completion system out of the box. But
for anyone who's beyond the second grade of zsh school, this is a major PITA: stuff doesn't work,
and common ways of optimizing things and tweaking the generation of .zcompdump (see for example
this old trick: https://gist.github.com/ctechols/ca1035271ad134841284) become utterly useless.

Something should be done instead of an obscure opt-out mechanism that nobody knows about. Spit out
a line when you run the shell first. Do a quick grep in your .zshrc for "autoload.*compinit" and
suggest adding the line if you find it. Or ... just initialize the damn thing if the user's code
did not -- for example, put the whole thing into a function, and run it from a `precmd_functions`
one-shot entry if it wasn't initialized.

Anything would be better than the current functionality which is from my POV worse than sticking a
`sleep 0.5` in that global file.

Please and thank you.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.