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

kill -l broken in zsh 3.1.9-dev-6 on RedHat 7.0 (w/ explanation)

The code in configure.in that figures out which header file contains a
list of signal names and numbers in zsh 3.1.9-dev-6 doesn't work on
the header files that are included with RedHat 7.0.  The reason is
that the code runs cpp on a file that includes <signal.h> and looks at
the # lines to figure out dependencies, and uses this to figure out
which files to search.  However, RH7.0's version of gcc only puts the
# ... for files that actually have content.  As it happens, in RedHat
7.0, the list of signals appears in /usr/include/bits/signum.h.  This
file contains nothing but preprocessor directives and comments and so
it does not appear in the cpp output!

This seems to me like a bug in cpp.  Loads of programs use this cpp
output to generate dependencies.  If gcc just decides not to print the
names of files that don't have any contents, it will break numerous
dependency generators and probably lead to the downfall of
civilization.  I'm going to try to track this down and figure out
where the bug really is, possibly posting a workaround for this
specific manifestation with zsh.

On an unrelated topic, as long as I'm writing, I've been buried alive
at work for the last few weeks.  I am finally now going to go through
all those messages about the completion/expansion discussions and

E. Jay Berkenbilt (ejb@xxxxxx)  |  http://www.ql.org/q/

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