Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: completion



Oliver Kiddle wrote:
>Note that all the .o files have two dots (e.g. modentry..o) when
>building on
>AIX. This is probably a mistake somewhere but it has always compiled
>happily so
>I've never bothered.

This should probably be documented in the development guide or somewhere.

In the very first dynamic linking patches, all objects were ".o",
as usual.  However, objects need to be compiled with different options
when they're in a module than from when they're linked into the main
executable.  After changing the list of compiled-in modules, it was
necessary to remove all the objects.  So we changed it so that objects
to be linked into modules got the suffix "..o", so that both lots of
object files could coexist, and even when you don't need both lots to
exist at once it avoids a lot of potential confusion.

The module install directory was changed from $prefix/lib/zsh
to $prefix/lib/zsh/$ZSH_VERSION at the same time, for similar
confusion-avoidance reasons (plus coexistence of multiple installed zsh
versions).  Ever since then, I've been glad that we got that right from
the start.  I hate to think, if we hadn't done these two things, how many
support queries we'd be answering where it turned out that people had got
the wrong objects linked together.  (This is all related to the principle
of least surprise; I'm going to dub it the "principle of least support".)

-zefram



Messages sorted by: Reverse Date, Date, Thread, Author