Index: xrdb.c =================================================================== RCS file: /cvs/XF4/xc/programs/xrdb/xrdb.c,v retrieving revision 1.2 diff -u -r1.2 xrdb.c --- xrdb.c 3 Nov 2004 00:22:58 -0000 1.2 +++ xrdb.c 27 May 2005 20:57:56 -0000 @@ -487,8 +487,11 @@ *val = '='; } else AddSimpleDef(buff, arg + 2); - } else + } else if (arg[1] == 'U') { AddUndef(buff, arg + 2); + } else if (!strcmp(arg, "-undef") && oper != OPSYMBOLS) { + addstring(buff, " -undef"); + } } } @@ -869,6 +872,13 @@ cmd_defines[num_cmd_defines++] = arg; } else { fatal("%s: Too many -U/-D arguments\n", ProgramName); + } + continue; + } else if (!strcmp ("-undef", arg)) { + if (num_cmd_defines < MAX_CMD_DEFINES) { + cmd_defines[num_cmd_defines++] = "-undef"; + } else { + fatal("%s: Too many cpp arguments\n", ProgramName); } continue; } Index: xrdb.man =================================================================== RCS file: /cvs/XF4/xc/programs/xrdb/xrdb.man,v retrieving revision 1.2 diff -u -r1.2 xrdb.man --- xrdb.man 3 Nov 2004 00:22:58 -0000 1.2 +++ xrdb.man 27 May 2005 20:57:56 -0000 @@ -226,6 +226,10 @@ should not run the input file through a preprocessor before loading it into properties. .TP 8 +.B -undef +This option is passed to the C preprocessor if used. It prevents it from +predefining any system specific macros. +.TP 8 .B \-symbols This option indicates that the symbols that are defined for the preprocessor should be printed onto the standard output.