|
572 | 572 | #if VERSION == 1 |
573 | 573 | #define INCFILE "vers1.h" |
574 | 574 | #elif VERSION == 2 |
575 | | - #define INCFILE "vers2.h" // and so on |
| 575 | + #define INCFILE "vers2.h" // and so on |
576 | 576 | #else |
577 | 577 | #define INCFILE "versN.h" |
578 | 578 | #endif |
|
1022 | 1022 | #define LOW LOW ", world" |
1023 | 1023 |
|
1024 | 1024 | debug(1, 2); |
1025 | | -fputs(str(strncmp("abc@\textbackslash@0d", "abc", '@\textbackslash@4') // this goes away |
| 1025 | +fputs(str(strncmp("abc@\textbackslash@0d", "abc", '@\textbackslash@4') // this goes away |
1026 | 1026 | == 0) str(: @\atsign\textbackslash@n), s); |
1027 | 1027 | #include xstr(INCFILE(2).h) |
1028 | 1028 | glue(HIGH, LOW); |
|
1034 | 1034 | \begin{codeblock} |
1035 | 1035 | printf("x" "1" "= %d, x" "2" "= %s", x1, x2); |
1036 | 1036 | fputs("strncmp(@\textbackslash@"abc@\textbackslash\textbackslash@0d@\textbackslash@", @\textbackslash@"abc@\textbackslash@", '@\textbackslash\textbackslash@4') == 0" ": @\atsign\textbackslash@n", s); |
1037 | | -#include "vers2.h" @\textit{(after macro replacement, before file access)}@ |
| 1037 | +#include "vers2.h" @\textrm{(\textit{after macro replacement, before file access})}@ |
1038 | 1038 | "hello"; |
1039 | 1039 | "hello" ", world" |
1040 | 1040 | \end{codeblock} |
|
1044 | 1044 | \begin{codeblock} |
1045 | 1045 | printf("x1= %d, x2= %s", x1, x2); |
1046 | 1046 | fputs("strncmp(@\textbackslash@"abc@\textbackslash\textbackslash@0d@\textbackslash@", @\textbackslash@"abc@\textbackslash@", '@\textbackslash\textbackslash@4') == 0: @\atsign\textbackslash@n", s); |
1047 | | -#include "vers2.h" @\textit{(after macro replacement, before file access)}@ |
| 1047 | +#include "vers2.h" @\textrm{(\textit{after macro replacement, before file access})}@ |
1048 | 1048 | "hello"; |
1049 | 1049 | "hello, world" |
1050 | 1050 | \end{codeblock} |
|
1091 | 1091 | But the following redefinitions are invalid: |
1092 | 1092 |
|
1093 | 1093 | \begin{codeblock} |
1094 | | -#define OBJ_LIKE (0) // different token sequence |
1095 | | -#define OBJ_LIKE (1 - 1) // different white space |
1096 | | -#define FUNC_LIKE(b) ( a ) // different parameter usage |
1097 | | -#define FUNC_LIKE(b) ( b ) // different parameter spelling |
| 1094 | +#define OBJ_LIKE (0) // different token sequence |
| 1095 | +#define OBJ_LIKE (1 - 1) // different white space |
| 1096 | +#define FUNC_LIKE(b) ( a ) // different parameter usage |
| 1097 | +#define FUNC_LIKE(b) ( b ) // different parameter spelling |
1098 | 1098 | \end{codeblock} |
1099 | 1099 | \end{example} |
1100 | 1100 |
|
|
0 commit comments