From: Paul Eggert Date: Thu, 2 Feb 2017 17:52:20 +0000 (-0800) Subject: Fix lisp.h underparenthesization X-Git-Tag: emacs-26.0.90~858^2~21 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=eee537267f8d6a2f5a48f0c26c14546ac922936c;p=emacs.git Fix lisp.h underparenthesization * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN): Parenthesize compound literals that are function call args. Although this does not fix any bugs, it is the proper style for macro parenthesization as it means this code will continue to work even if make_lisp_ptr is changed to a macro. --- diff --git a/src/lisp.h b/src/lisp.h index 1ac38164c27..a9011b4a8be 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -4535,7 +4535,7 @@ enum use these only in macros like AUTO_CONS that declare a local variable whose lifetime will be clear to the programmer. */ #define STACK_CONS(a, b) \ - make_lisp_ptr (&(union Aligned_Cons) { { a, { b } } }.s, Lisp_Cons) + make_lisp_ptr (&((union Aligned_Cons) { { a, { b } } }).s, Lisp_Cons) #define AUTO_CONS_EXPR(a, b) \ (USE_STACK_CONS ? STACK_CONS (a, b) : Fcons (a, b)) @@ -4581,8 +4581,7 @@ enum Lisp_Object name = \ (USE_STACK_STRING \ ? (make_lisp_ptr \ - ((&(union Aligned_String) \ - {{len, -1, 0, (unsigned char *) (str)}}.s), \ + ((&((union Aligned_String) {{len, -1, 0, (unsigned char *) (str)}}).s), \ Lisp_String)) \ : make_unibyte_string (str, len))