logo       

Re: menu.lst problem: msg#02319

debian-user-debian

Subject: Re: menu.lst problem

In <4A731C61.3080007@xxxxxxxxxxxx>, Bob McGowan wrote:
>Boyd Stephen Smith Jr. wrote:
>> 3. Lines starting with a single '#' are comments in C *unless* the '#'
>> is immediately followed by a pre-processor command. This is similar --
>> you can think of update-grub as a GRUB menu.lst pre-processor.
>
>The sharp/hash symbol is a preprocessor indicator. "Pure" C has never
>supported anything other than '/*...*/' for comments. C++ added the
>single line comment marker '//' (double forward slash).

From the latest C standard:
6.10 Preprocessing directives
Syntax
preprocessing-ïle:
groupopt
group:
group-part
group group-part
group-part:
if-section
control-line
text-line
# non-directive
[...]
A text line shall not begin with a # preprocessing token. A non-directive
shall not begin with any of the directive names appearing in the syntax.

>It is possible to use the preprocessor to do weird and wonderful,
>things, so I believe you could even have it ignore lines beginning with
>a hash mark, effectively treating them as comments, but that is
>definitely not "normal".

From what I can tell, there's no additional requirements on the
implementation for what to do with non-directives, but traditional C
compilers would ignore them -- effectively making them comments. Since the
standard doesn't specify what to do with them, any behavior is acceptable.

I agree that they are not standard comments and are not accepted by your C
compiler, which might be conforming. (FWIW, I don't believe gcc is
completely conforming.)
--
Boyd Stephen Smith Jr. ,= ,-_-. =.
bss@xxxxxxxxxxxxxxxxx ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/ \_/

Attachment: signature.asc
Description: This is a digitally signed message part.

Google Custom Search

News | Mail Home | sitemap | FAQ | advertise