Can someone explain what trick the pre-processor is doing?

Today I was trying to help a dude where in the forum and I steep in an annoying problem that I'm not figure out what in hell is happen there.
I reduce his code to this simple program:

#define A 1UL                                         
#define B 1UL     .
                                                                                                   
unsigned long motorTime = 0;                                                 

void setup()
{
 motorTime = A;//Compiles fine
 motorTime = B;//Gives an error
}
 
void loop()
{
  
}

I don´t understand what the pre-processor is trying to do when evaluating B.
I already tried to compile in 2 different computers(linux and MAC) and the error is the same

B is used already (defined somewhere else).

The IDE will place #include <Arduino.h> under preprocessing directives, so the core version overwrites yours.

If you change B to anything else it still gives the error.I belive that not the reason :frowning:

#define A 1UL                                         
#define ANYTHING_ELSE 89UL     .
                                                                                                  
unsigned long motorTime;                                                 

void setup()
{
//motorTime = A;//Compiles fine
motorTime = ANYTHING_ELSE;//Gives an error
}

void loop()
{
 
}
#define B 1UL     .

Look carefully

Look carefully

I'm totally blind can't figure it out.

Are you literally blind?
You can't see the full-stop / period?

Damn I just saw it now.Under IDE it appears very small that I haven’t notice it.
I fell so stupid.Anyway murphy’s law catch me again
Thanks for your time

Ha, lol. My laptop has a few marks on it. The period blends right in... Goes to get damp cloth.

...And that's why you must always copy code to the forum and shouldn't just type it in.