FIX: NMAKE 1.13 May Return U1002: Invalid Macro Invocation '$'

Last reviewed: September 16, 1997
Article ID: Q75079
1.13 | 1.13 MS-DOS | OS/2 kbtool kberrmsg kbbuglist kbfixlist

The information in this article applies to:

  • Microsoft NMAKE Utility for MS-DOS and OS/2, version 1.13

SYMPTOMS

NMAKE version 1.13 generates the following error when an "extra" dollar sign ($) is used in an environment variable:

   fatal error U1002: syntax error : invalid macro invocation '$'

CAUSE

Unlike previous versions, NMAKE version 1.13 evaluates all environment variables as inherited macros at initialization time. Because the $ character indicates that a macro follows, NMAKE attempts to evaluate the character following the final dollar sign in the context of a macro. For example, using a command such as "Prompt $p$g$" to set the system prompt, and then using NMAKE 1.13, causes this error.

RESOLUTION

The online help for the U1002 error indicates that it occurs when a single dollar sign ($) appears without a macro name associated with it. This error can be eliminated by avoiding extraneous dollar signs in environment variables.

STATUS

Microsoft has confirmed this to be a problem in NMAKE version 1.13 for MS-DOS and OS/2. This problem was corrected in NMAKE version 1.2 for MS-DOS and OS/2.


Additional reference words: 1.13 buglist1.13 fixlist1.20
KBCategory: kbtool kberrmsg kbbuglist kbfixlist
KBSubcategory: NmakeIss
Keywords : kb16bitonly
Solution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 16, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.