emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why <config.h> and not "config.h" ?


From: Jan Djärv
Subject: Re: Why <config.h> and not "config.h" ?
Date: Wed, 28 Jul 2010 09:57:28 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100713 Thunderbird/3.0.6

2010-07-28 09:35, Óscar Fuentes skrev:
Jan Djärv<address@hidden>  writes:

As explained above, if the .elc files are corrupted by a buggy Emacs or
a buggy Emacs ends using healthy .elc files, by sharing the produced
.elc/.el files among several builds you are hiding a bug. Mixing the
products of different builds is never a good idea.

Didn't you read what I wrote?  Out-of-tree builds use the *SAME* elc
files, those located in the tree.  Adding another out-of-tree build
does not remake the elc-files.  That is one of the strong reasons to
use out-of -tree builds for different configurations.

Yes, I read what you wrote. It seems that you are not trying to
understand what I say, though.

The fact that several builds share the same .elc files is, precisely, a
potential source of problems. If you can't see that, well, lucky you,
because then it is clear that you never experienced a problem caused by
a setup like that.

As I said, it is a feature not having to run make bootstrap in every build tree. I usually have five of them (Gtk, Lucid, Motif/Lesstif, X, no-X).


BTW, I used Emacs for more than 20 years and have yet to see a
corrupted elc-file.

Corrupted in any sense? Is the byte compiler so robust that it never
miscompiled an .el file on 20 years?

No, I read on this list of bytecompiler errors from time to time. They seem to be few and far between though. I haven't experienced it though.


Considering that<>   enables a real use-case and "" does not, and the
fact that using "" gives exactly no benefits what so ever, please
stick to<>.  It is not even less to type.  I can't imagine any reason
for switching now.

Maybe is my hideous English, but as explained on my original message<>
is giving me problems with some tool.

Some code analysis tools is too vague.

Are you suggesting that I'm making up the issue? Or maybe the issue is
irrelevant to you because it doesn't affect the tools you use?

No, I don't think you are making up things, there are a lot of buggy tools out there. But which tools are we going to make this change for? Are they free and generally useful for all developers? Most analysis tools I've used does not have any problem with <> and "". You usually can pass -I. to them if that is needed.


We are building Emacs right now out-of-tree.

No, you are building on a mixed setup, both out of tree and in-tree.


Yes, but not from the same source tree. However, I do from time to time migrate from in-tree to out-tree.

Anyways, if you are building out of tree, there is no problem with the
change because, as Miles explained, the angle brackets are used
precisely for supporting simultaneous out of tree and in-tree
builds. Removing the angle brackets is no problem for simultaneous out
of tree builds.

And having them there is no problem either.


If you are going to impose a change on that process again just after
it was changed recently, you have to come up with something better
than that.

Here we go again. No matter how small is the change one proposes,
somebody will extract terrible cosequences from it, or refuse to
evaluate the benefits dismissing it as useless, or both.

Motivating a change to cater for some broken analysis tool isn't terribly convincing too me.
And, as pointed out, autoconf recommends <>.


As for the gcc thing, that is intentional, it is how it is
supposed to work.

Yes, I know, I was caught there. AFAIK the algorithm used by GCC assumes
that angle brackets are for system headers.


No, it does not. The search for include files with <> does not start in the current directory, where as for "" it does. That is the only difference. If the headers are system headers or not is not the difference.

        Jan D.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]