473,406 Members | 2,208 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

what's wrong with the macro


#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define SECONDS_PER_YEAR (60*60*24*365)UL
int main()
{
unsigned long int u_i = SECONDS_PER_YEAR;
printf("%lu\n",u_i);

return 0;
}
cc -g -c -Wall -std=c99 -DDEBUG define.c
define.c: In function 'main':
define.c:17: error: expected ',' or ';' before 'UL'
make: *** [define.o] error 1

Oct 22 '06 #1
38 2471
The qualifer must follow the digits directly.

--
www.personal.leeds.ac.uk/~bgy1mm
freeware games to download.

"DaVinci" <ap***********@gmail.comwrote in message
news:11*********************@m73g2000cwd.googlegro ups.com...
>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define SECONDS_PER_YEAR (60*60*24*365)UL
int main()
{
unsigned long int u_i = SECONDS_PER_YEAR;
printf("%lu\n",u_i);

return 0;
}
cc -g -c -Wall -std=c99 -DDEBUG define.c
define.c: In function 'main':
define.c:17: error: expected ',' or ';' before 'UL'
make: *** [define.o] error 1

Oct 22 '06 #2
Malcolm posted:
The qualifer must follow the digits directly.
It can be changed to simply:

#define SECONDS_PER_YEAR(60LU*60*24*365)

--

Frederick Gotham
Oct 22 '06 #3

"Frederick Gotham" <fg*******@SPAM.comha scritto nel messaggio
news:Vf*******************@news.indigo.ie...
Malcolm posted:
The qualifer must follow the digits directly.

It can be changed to simply:

#define SECONDS_PER_YEAR(60LU*60*24*365)
A space is necessary

#define SECONDS_PER_YEAR (60LU*60*24*365)
--
Giorgio Silvestri
DSP/Embedded/Real Time OS Software Engineer

Oct 22 '06 #4
On Sun, 2006-10-22 at 00:03 -0700, DaVinci wrote:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define SECONDS_PER_YEAR (60*60*24*365)UL
int main()
{
unsigned long int u_i = SECONDS_PER_YEAR;
printf("%lu\n",u_i);

return 0;
}
cc -g -c -Wall -std=c99 -DDEBUG define.c
define.c: In function 'main':
define.c:17: error: expected ',' or ';' before 'UL'
make: *** [define.o] error 1
You are attempting to compile a file called define.c, which has a syntax
error on line 17. If you want help, you'll have to post the code.
--
Andrew Poelstra <http://www.wpsoftware.net/projects/>

Oct 22 '06 #5
DaVinci said:
>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define SECONDS_PER_YEAR (60*60*24*365)UL
It doesn't work like that, I'm afraid. You can, however, do either this:

#define SECONDS_PER_YEAR 31536000UL

or this:

#define SECONDS_PER_YEAR (unsigned long)(60UL * 60UL * 24UL * 365UL)

or something along similar lines.

(Incidentally, your calculation ignores leap years.)

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Oct 22 '06 #6
Richard Heathfield posted:
#define SECONDS_PER_YEAR (unsigned long)(60UL * 60UL * 24UL * 365UL)

Something that came to mind recently...

Do you think one would be right to _always_ enclose macros in parentheses,
irrespective of the fact that it might be impossible to yield to
inappropriate parse? (What I mean by inappropriate parse is the following:

#define DOUBLE(x) (x)+(x)

int i = 5 * DOUBLE(3) * 2; /* Wups! */

As the operator precendence table currently stands (the metaphysical one,
that is :P), there's no problem with your macro above... but should we make
allowances for future additions to the language. It's not impossible that a
new operator would be added which could possibly result in an inappropriate
parse after the macro has been substituted.

Just a thought!

--

Frederick Gotham
Oct 23 '06 #7
Richard Heathfield <in*****@invalid.invalidwrites:
DaVinci said:
>#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define SECONDS_PER_YEAR (60*60*24*365)UL

It doesn't work like that, I'm afraid. You can, however, do either this:

#define SECONDS_PER_YEAR 31536000UL

or this:

#define SECONDS_PER_YEAR (unsigned long)(60UL * 60UL * 24UL * 365UL)

or something along similar lines.

(Incidentally, your calculation ignores leap years.)
You want parentheses around the second defintion:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(

Consider "sizeof SECONDS_PER_YEAR".

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Oct 23 '06 #8

"Keith Thompson" <ks***@mib.orgha scritto nel messaggio
news:ln************@nuthaus.mib.org...
Richard Heathfield <in*****@invalid.invalidwrites:
DaVinci said:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define SECONDS_PER_YEAR (60*60*24*365)UL
It doesn't work like that, I'm afraid. You can, however, do either this:

#define SECONDS_PER_YEAR 31536000UL

or this:

#define SECONDS_PER_YEAR (unsigned long)(60UL * 60UL * 24UL * 365UL)

or something along similar lines.

(Incidentally, your calculation ignores leap years.)

You want parentheses around the second defintion:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(
Probably:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL))

is better :-)
>
Consider "sizeof SECONDS_PER_YEAR".

--
Giorgio Silvestri
DSP/Embedded/Real Time OS Software Engineer

Oct 23 '06 #9
Keith Thompson posted:
You want parentheses around the second defintion:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(

Consider "sizeof SECONDS_PER_YEAR".

I don't understand... what could that have parsed to?

--

Frederick Gotham
Oct 23 '06 #10
"Giorgio Silvestri" <gi**************@libero.itwrites:
"Keith Thompson" <ks***@mib.orgha scritto nel messaggio
news:ln************@nuthaus.mib.org...
[...]
>You want parentheses around the second defintion:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(

Probably:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL))

is better :-)
Um, yeah, thanks for catching that.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Oct 23 '06 #11
Frederick Gotham <fg*******@SPAM.comwrites:
Keith Thompson posted:
>You want parentheses around the second defintion:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(

Consider "sizeof SECONDS_PER_YEAR".

I don't understand... what could that have parsed to?
Frederick, I don't want to leave you waiting for a response from me,
so I'll remind you of this:

<http://groups.google.com/group/comp.lang.c/msg/a03c532b26664ed4>

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Oct 23 '06 #12
Keith Thompson wrote:
>
"Giorgio Silvestri" <gi**************@libero.itwrites:
"Keith Thompson" <ks***@mib.orgha scritto nel messaggio
news:ln************@nuthaus.mib.org...
[...]
You want parentheses around the second defintion:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(
Probably:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL))

is better :-)

Um, yeah, thanks for catching that.
What is the cast for?

--
pete
Oct 23 '06 #13
In article <45***********@mindspring.com>,
pete <pf*****@mindspring.comwrote:
>"Giorgio Silvestri" <gi**************@libero.itwrites:
#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL))
>What is the cast for?
Once the constant (without the cast) is computed by the parser, it
becomes a numeric value of indeterminate width -- through some unspecified
mechanism the parser knows the minimum width needed to represent it,
but it is not specifically that minimum width and not specifically UL
and so on. If the cast-less constant were determined
to be too large to match the other operand of the expression, then
widening is going to take place. In some contexts, if the constant
were determined to be able to fit within the *signed* version of
a larger type, it would be widened to *signed* rather than to
unsigned [remember, the system knows it as a numeric value at that point,
not specifically as an unsigned numeric value.]. The (unsigned long) cast
stops any uncertainty about exactly what type is going to be there.
Now try printf("%d\n", CASTLESS_SECONDS_PER_YEAR); -- is that right?
It is if the CASTLESS_SECONDS_PER_YEAR is accomedated as a signed int,
but not if CASTLESS_SECONDS_PER_YEAR requires long on that system.
60UL * 60UL * 24UL * 365UL as a numeric value takes about 25 bits.
On a system with 32 bit int and 64 bit unsigned long,
the cast-less version it would fit within a signed int on that system
and %d would be correct and %ld would be wrong. So cast-less, the
value is not as easily portable. Add the cast and you -know- the type
and can always use %lu.
--
Programming is what happens while you're busy making other plans.
Oct 24 '06 #14
ro******@ibd.nrc-cnrc.gc.ca (Walter Roberson) writes:
In article <45***********@mindspring.com>,
pete <pf*****@mindspring.comwrote:
>>"Giorgio Silvestri" <gi**************@libero.itwrites:
>#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL))
>>What is the cast for?
I believe it's superfluous.
Once the constant (without the cast) is computed by the parser, it
becomes a numeric value of indeterminate width -- through some unspecified
mechanism the parser knows the minimum width needed to represent it,
but it is not specifically that minimum width and not specifically UL
and so on. If the cast-less constant were determined
to be too large to match the other operand of the expression, then
widening is going to take place. In some contexts, if the constant
were determined to be able to fit within the *signed* version of
a larger type, it would be widened to *signed* rather than to
unsigned [remember, the system knows it as a numeric value at that point,
not specifically as an unsigned numeric value.]. The (unsigned long) cast
stops any uncertainty about exactly what type is going to be there.
I don't think so. C99 6.6p11 says:

The semantic rules for the evaluation of a constant expression are
the same as for nonconstant expressions.

The expression:

(60UL * 60UL * 24UL * 365UL)

is a constant expression, but not a constant (i.e., a literal).

A single integer literal with a UL suffix is of type unsigned long int
or unsigned long long int, depending on the value; all the constants
in the above are well within the guaranteed range of unsigned long, so
that's their type. Multiplying an unsigned long by an unsigned long
yields an unsigned long, so the entire expression is of type unsigned
long.

As it happens, the final result, 31536000, is also within the
guaranteed range of unsigned long, so there's no possibility of
overflow. But even if there were (say, if you wanted the number of
seconds in a millenium), an overflow wouldn't change the type of the
expression.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Oct 24 '06 #15
Keith Thompson said:
Frederick Gotham <fg*******@SPAM.comwrites:
>Keith Thompson posted:
>>You want parentheses around the second defintion:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(

Consider "sizeof SECONDS_PER_YEAR".

I don't understand... what could that have parsed to?

Frederick, I don't want to leave you waiting for a response from me,
so I'll remind you of this:

<http://groups.google.com/group/comp.lang.c/msg/a03c532b26664ed4>
A waste of time, Keith. If he were interested in responses from you, he'd
have apologised a long time ago.

Personally, whenever I see a question from Mr Gotham, I simply don't bother
to reply. When I see others giving him wrong answers, I don't bother to
correct them. If he wants expert assistance, he should not alienate
experts.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Oct 24 '06 #16
Walter Roberson posted:
>>What is the cast for?

Once the constant (without the cast) is computed by the parser, it
becomes a numeric value of indeterminate width -- through some unspecified
mechanism the parser knows the minimum width needed to represent it,
but it is not specifically that minimum width and not specifically UL
and so on.

Incorrect.

Multiply a UL by a UL and you get a UL.
--

Frederick Gotham
Oct 24 '06 #17
Keith Thompson posted:

<snip tripe>

Richard Heathfield posted:

<snip tripe>

Since the two self-proclaimed masters of this newsgroup won't reply to me,
I'd like to ask any other programmers to explain to me why:

sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)

would have been undesireable.

Actually, don't bother, because I already know the answer: Keith was wrong.

The expression in question has only one possible parse, because the operand
of "sizeof" cannot be a cast expression. Therefore, the following two
expressions are exactly equivalent:

sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)

sizeof ((unsigned long)(60UL * 60UL * 24UL * 365UL))

--

Frederick Gotham
Oct 24 '06 #18
Frederick Gotham posted:
The expression in question has only one possible parse, because the
operand of "sizeof" cannot be a cast expression.
And even if it could be, there would be a syntax error.

--

Frederick Gotham
Oct 24 '06 #19


Frederick Gotham wrote On 10/24/06 11:23,:
Keith Thompson posted:

<snip tripe>

Richard Heathfield posted:

<snip tripe>

Since the two self-proclaimed masters of this newsgroup won't reply to me,
I'd like to ask any other programmers to explain to me why:

sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)

would have been undesireable.

Actually, don't bother, because I already know the answer: Keith was wrong.

The expression in question has only one possible parse, because the operand
of "sizeof" cannot be a cast expression. Therefore, the following two
expressions are exactly equivalent:

sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)

sizeof ((unsigned long)(60UL * 60UL * 24UL * 365UL))
It's a funny thing, but when I tried these out on three
completely different C compilers, all three treated the two
"exactly equivalent" expressions differently. Specifically,
they all rejected the first with complaints about "syntax
error" or some such, but they all accepted the second.

Three out of three identical mistakes from independent
compiler authors -- that's too much for coincidence, don't
you think? There must be an enormous shadowy conspiracy
at work to retard progress in programming by producing and
promoting faulty C compilers! They're probably taking steps
to silence us even now; I hope I can get this posted befor

--
Er*********@sun.com

Oct 24 '06 #20
In article <8e*******************@news.indigo.ie>,
Frederick Gotham <fg*******@SPAM.comwrote:
>I'd like to ask any other programmers to explain to me why:

sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)

would have been undesireable.
Because it's a syntax error.
>The expression in question has only one possible parse, because the operand
of "sizeof" cannot be a cast expression.
It has no possible parses.
>Therefore, the following two
expressions are exactly equivalent:

sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)

sizeof ((unsigned long)(60UL * 60UL * 24UL * 365UL))
No, one of them's an error and the other one isn't.

-- Richard
Oct 24 '06 #21
Richard Tobin posted:
> sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)

Because it's a syntax error.

So you can turn a cast expression into a normal expression (or whatever it's
called) by enclosing it in parentheses?

--

Frederick Gotham
Oct 24 '06 #22
In article <JJ*******************@news.indigo.ie>,
Frederick Gotham <fg*******@SPAM.comwrote:
>So you can turn a cast expression into a normal expression (or whatever it's
called) by enclosing it in parentheses?
Yes, it becomes a primary expression (IIRC - I don't have the grammar
handy). That's the basic way of making the grammar handle arbitrarily
complicated expressions: by putting a subexpression in parentheses it
becomes usable in the same contexts as numbers and strings.

-- Richard
Oct 24 '06 #23
Frederick Gotham wrote:
Richard Tobin posted:
>> sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)

Because it's a syntax error.

So you can turn a cast expression into a normal expression (or whatever it's
called) by enclosing it in parentheses?
Looking at the grammar ...

The operand of a `sizeof` must be a unary-expression. A unary-expression
can be a postfix-expression, which can be a primary-expression, which can
be any expression enclosed in parentheses.

So yes, parenthesising a cast-expression makes it suitable as an
operand of `sizeof`.

I wouldn't have thought this was surprising: putting bracketty things
around big wobbly expresssions to make them into snug tight expressions
is a common grammatical trick, eg `2 * (20 + 1)`.

--
Chris "common, but not universal" Dollin
A rock is not a fact. A rock is a rock.

Oct 24 '06 #24
Frederick Gotham wrote:
Richard Tobin posted:
>> sizeof (unsigned long)(60UL * 60UL * 24UL * 365UL)
Because it's a syntax error.


So you can turn a cast expression into a normal expression (or whatever it's
called) by enclosing it in parentheses?
Of course you can it's spelled out pretty clearly in the grammar. Any
'expression' enclosed in parentheses is a 'primary-expression':

(6.5.1)primary-expression:
identifier
constant
string-literal
( expression )

And a 'cast-expression' is a 'multiplicative-expression'
which is, in turn an 'additive-expression'
which is, in turn a 'shift-expression'
which is, in turn a 'relational-expression'
which is, in turn an 'equality-expression'
which is, in turn an 'AND-expression'
which is, in turn a 'exclusive-OR-expression'
which is, in turn a 'inclusive-OR-expression'
which is, in turn a 'logical-AND-expression'
which is, in turn a 'logical-OR-expression'

which is, in turn a 'conditional-expression'
which is, in turn a 'assignment-expression'
which is, in turn an 'expression'

*pant* *pant* *pant*
--
Clark S. Cox III
cl*******@gmail.com
Oct 24 '06 #25
On Tue, 24 Oct 2006 15:23:48 GMT, in comp.lang.c , Frederick Gotham
<fg*******@SPAM.comwrote:
>Since the two self-proclaimed masters of this newsgroup won't reply to me,
Lets all recall that the reason these (and other) regulars don't reply
is because you're offensive. Nobody can be bothered.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Oct 24 '06 #26
Frederick Gotham wrote:
Keith Thompson posted:

<snip tripe>

Richard Heathfield posted:

<snip tripe>

Since the two self-proclaimed masters of this newsgroup won't reply
to me, I'd like to ask any other programmers to explain to me why:
Well, I haven't gone quite that far, but the fact is that you know
very well how to repair that situation. You have chosen not to do
so for your own incomprehensible reasons, and continue to insult
them. I suspect many others are ignoring you without advising you
of the fact.

Enjoy Coventry.

--
Chuck F (cbfalconer at maineline dot net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net>
Oct 24 '06 #27
Richard Heathfield <in*****@invalid.invalidwrites:
Keith Thompson said:
>Frederick Gotham <fg*******@SPAM.comwrites:
>>Keith Thompson posted:
You want parentheses around the second defintion:

#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(

Consider "sizeof SECONDS_PER_YEAR".

I don't understand... what could that have parsed to?

Frederick, I don't want to leave you waiting for a response from me,
so I'll remind you of this:

<http://groups.google.com/group/comp.lang.c/msg/a03c532b26664ed4>

A waste of time, Keith. If he were interested in responses from you, he'd
have apologised a long time ago.
I'm not waiting for, or expecting, an apology from him. See the
article I cited if you care (but there's no real reason you should).
I wasn't trying to elicit any particular response from him, just
reminding him that he shouldn't expect one from me.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Oct 24 '06 #28
Keith Thompson <ks***@mib.orgwrote:
You want parentheses around the second defintion:
^^^^^^^^^
#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(
Did you mean

#defin SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL))

or was that a typo too? :-)

--
C. Benson Manica | I *should* know what I'm talking about - if I
cbmanica(at)gmail.com | don't, I need to know. Flames welcome.
Oct 24 '06 #29
Christopher Benson-Manica <at***@otaku.freeshell.orgwrites:
Keith Thompson <ks***@mib.orgwrote:
>You want parentheses around the second defintion:
^^^^^^^^^
>#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL)(

Did you mean

#defin SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL))

or was that a typo too? :-)
Yes, taht wsa a tpyo. :)-

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Oct 24 '06 #30
Keith Thompson wrote:
>
ro******@ibd.nrc-cnrc.gc.ca (Walter Roberson) writes:
In article <45***********@mindspring.com>,
pete <pf*****@mindspring.comwrote:
>"Giorgio Silvestri" <gi**************@libero.itwrites:
#define SECONDS_PER_YEAR ((unsigned long)(60UL * 60UL * 24UL * 365UL))
>What is the cast for?

I believe it's superfluous.
Once the constant (without the cast) is computed by the parser, it
becomes a numeric value of indeterminate width -- through some unspecified
mechanism the parser knows the minimum width needed to represent it,
but it is not specifically that minimum width and not specifically UL
and so on. If the cast-less constant were determined
to be too large to match the other operand of the expression, then
widening is going to take place. In some contexts, if the constant
were determined to be able to fit within the *signed* version of
a larger type, it would be widened to *signed* rather than to
unsigned [remember, the system knows it as a numeric value at that point,
not specifically as an unsigned numeric value.]. The (unsigned long) cast
stops any uncertainty about exactly what type is going to be there.

I don't think so. C99 6.6p11 says:

The semantic rules for the evaluation of a constant expression are
the same as for nonconstant expressions.

The expression:

(60UL * 60UL * 24UL * 365UL)

is a constant expression, but not a constant (i.e., a literal).

A single integer literal with a UL suffix is of type unsigned long int
or unsigned long long int, depending on the value; all the constants
in the above are well within the guaranteed range of unsigned long, so
that's their type. Multiplying an unsigned long by an unsigned long
yields an unsigned long, so the entire expression is of type unsigned
long.

As it happens, the final result, 31536000, is also within the
guaranteed range of unsigned long, so there's no possibility of
overflow. But even if there were (say, if you wanted the number of
seconds in a millenium), an overflow wouldn't change the type of the
expression.
(60UL * 60 * 24 * 365) would be OK
even if (60 * 24 * 365) was greater than INT_MAX.

--
pete
Oct 24 '06 #31

"Frederick Gotham" <fg*******@SPAM.comwrote in message
news:8e*******************@news.indigo.ie...
Keith Thompson posted:

<snip tripe>

Richard Heathfield posted:

<snip tripe>

Since the two self-proclaimed masters of this newsgroup won't reply to me,
I'm also a self-proclaimed master of this newsgroup and I'm replying to you
here. There is still hope

Jan 2 '07 #32
Serve Laurijssen wrote:
"Frederick Gotham" <fg*******@SPAM.comwrote in message
news:8e*******************@news.indigo.ie...
>Keith Thompson posted:

<snip tripe>

Richard Heathfield posted:

<snip tripe>

Since the two self-proclaimed masters of this newsgroup won't reply to me,

I'm also a self-proclaimed master of this newsgroup and I'm replying to you
here. There is still hope
"I'm in charge, here."
Jan 2 '07 #33
"Serve Laurijssen" <se*@n.tkwrites:
"Frederick Gotham" <fg*******@SPAM.comwrote in message
news:8e*******************@news.indigo.ie...
>Keith Thompson posted:

<snip tripe>

Richard Heathfield posted:

<snip tripe>

Since the two self-proclaimed masters of this newsgroup won't reply to me,

I'm also a self-proclaimed master of this newsgroup and I'm replying to you
here. There is still hope
You're a bit late. The article to which you're replying was posted on
October 24. Frederick Gotham apologized handsomely for his earlier
behavior on November 11, and has been quite untrollish since then
(though he hasn't posted here in about a month).

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Jan 2 '07 #34
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.orgwrote:
>"Serve Laurijssen" <se*@n.tkwrites:
>"Frederick Gotham" <fg*******@SPAM.comwrote in message
news:8e*******************@news.indigo.ie...
>>Keith Thompson posted:

<snip tripe>

Richard Heathfield posted:

<snip tripe>

Since the two self-proclaimed masters of this newsgroup won't reply to me,

I'm also a self-proclaimed master of this newsgroup and I'm replying to you
here. There is still hope

You're a bit late. The article to which you're replying was posted on
October 24. Frederick Gotham apologized handsomely for his earlier
behavior on November 11, and has been quite untrollish since then
(though he hasn't posted here in about a month).
I think it was pretty well established at the time that those "apologies"
were forged by the "regulars".

Jan 2 '07 #35
Keith Thompson <ks***@mib.orgwrites:
[...]
You're a bit late. The article to which you're replying was posted on
October 24. Frederick Gotham apologized handsomely for his earlier
behavior on November 11, and has been quite untrollish since then
(though he hasn't posted here in about a month).
And there's been zero evidence that his apology was anything other
than genuine (if it were forged, Frederick would have had ample
opportunity to say so).

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Jan 3 '07 #36
Kenny McCormack said:
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.orgwrote:
<snip>
>>You're a bit late. The article to which you're replying was posted on
October 24. Frederick Gotham apologized handsomely for his earlier
behavior on November 11, and has been quite untrollish since then
(though he hasn't posted here in about a month).

I think it was pretty well established at the time that those "apologies"
were forged by the "regulars".
Mr McCormack is incorrect, as usual.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Jan 3 '07 #37
Clever Monkey wrote:
Serve Laurijssen wrote:
>"Frederick Gotham" <fg*******@SPAM.comwrote in message
.... snip ...
>>>
Since the two self-proclaimed masters of this newsgroup won't
reply to me,

I'm also a self-proclaimed master of this newsgroup and I'm
replying to you here. There is still hope

"I'm in charge, here."
"I'm the commander--see, I don't have to explain -- I don't need
to explain why I say things. That's the interesting thing about
being the President. Maybe somebody needs to explain to me why
they say something, but I don't feel like I owe anybody an
explanation." - George W. Bush, 2002-11-19

"I'm a war president. I make decisions here in the Oval Office
in foreign policy matters with war on my mind." - GWB 2004-2-8

"If I knew then what I know today, I would still have invaded
Iraq. It was the right decision" - G.W. Bush, 2004-08-02

"This notion that the United States is getting ready to attack
Iran is simply ridiculous. And having said that, all options
are on the table." - George W. Bush, Brussels, 2005-02-22

Who's in charge?

--
Chuck F (cbfalconer at maineline dot net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net>
Jan 3 '07 #38
CBFalconer <cb********@yahoo.comwrote:
Clever Monkey wrote:
Serve Laurijssen wrote:
"Frederick Gotham" <fg*******@SPAM.comwrote in message
... snip ...
>>
Since the two self-proclaimed masters of this newsgroup won't
reply to me,

I'm also a self-proclaimed master of this newsgroup and I'm
replying to you here. There is still hope
"I'm in charge, here."

"I'm the commander--see, I don't have to explain -- I don't need
to explain why I say things. That's the interesting thing about
being the President. Maybe somebody needs to explain to me why
they say something, but I don't feel like I owe anybody an
explanation." - George W. Bush, 2002-11-19

"I'm a war president. I make decisions here in the Oval Office
in foreign policy matters with war on my mind." - GWB 2004-2-8

"If I knew then what I know today, I would still have invaded
Iraq. It was the right decision" - G.W. Bush, 2004-08-02

"This notion that the United States is getting ready to attack
Iran is simply ridiculous. And having said that, all options
are on the table." - George W. Bush, Brussels, 2005-02-22

Who's in charge?
Cheney.

Richard
Jan 3 '07 #39

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

220
by: Brandon J. Van Every | last post by:
What's better about Ruby than Python? I'm sure there's something. What is it? This is not a troll. I'm language shopping and I want people's answers. I don't know beans about Ruby or have...
4
by: Martin Magnusson | last post by:
I'm using a matrix and vector library, that won't compile. When running g++ I get the error message "macro "minor" passed 5 arguments, but takes just 1" The definition of "minor" looks like...
8
by: sandwich_eater | last post by:
I get compiler error "cerr undeclared first use this function." #define err_ret(e) cerr << e; return -1 .... err_ret("who ate my muffy?");
7
by: Newbie_sw2003 | last post by:
Where should I use them? I am giving you my understandings. Please correct me if I am wrong: MACRO: e.g.:#define ref-name 99 The code is substituted by the MACRO ref-name. So no overhead....
4
by: Louly | last post by:
Hi everybody, I got the code for dimming a menu item from this group after looking for it for a long time thanks to those who share their experiences with the others :) The problem I'm facing...
14
by: raghu | last post by:
Hello I have a doubt plz clarify that #ifndef SYSTEM_H #define SYSTEM_H what will be the value of SYATEM_H after this #define statement and before that statement. Thanking you all Bye
4
by: Gestorm | last post by:
Hi all, I found a macro "USE_VAR" in the code of bash-3.2 as follows: /*file: bash-3.2/shell.c*/ 344 USE_VAR(argc); 345 USE_VAR(argv); 346 USE_VAR(env); 347 USE_VAR(code); 348 ...
31
by: Tommy | last post by:
struct stat *stats IF_LINT (= 0); I don't know why "IF_LINT (= 0)" is needed ? Source is df.c of df program on Linux coreutils-5.2.1\coreutils-5.2.1\src Thanks!
32
by: Stephen Horne | last post by:
I've been using Visual C++ 2003 for some time, and recently started working on making my code compile in GCC and MinGW. I hit on lots of unexpected problems which boil down to the same template...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.