As reported by Fabrice Popineau (see
http://list-archive.xemacs.org/xemacs-beta/200502/msg00072.html), it's
not legal to declare variables inline in C without braces. YMMY, some
compilers are pickier than others.
src/ChangeLog addition:
2005-02-04 Vin Shelton <acs(a)xemacs.org>
* lread.c (check_if_suppressed, check_if_suppressed):
EXTERNAL_LIST_LOOP_2 declares variables and must be enclosed in
braces. Thanks, Fabrice.
21.5 source patch:
Diff command: cvs -q diff -u
Files affected: src/lread.c
Index: src/lread.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/lread.c,v
retrieving revision 1.74
diff -a -u -u -r1.74 lread.c
--- src/lread.c 2005/02/03 07:11:27 1.74
+++ src/lread.c 2005/02/04 11:51:59
@@ -358,26 +358,28 @@
else if (len >= 3 && !qxestrcmp_ascii (nonreloc + len - 3,
".el"))
len -= 3;
- EXTERNAL_LIST_LOOP_2 (acons, Vload_suppress_alist)
- {
- if (CONSP (acons) && STRINGP (XCAR (acons)))
- {
- Lisp_Object name = XCAR (acons);
- if (XSTRING_LENGTH (name) == len &&
- !memcmp (XSTRING_DATA (name), nonreloc, len))
- {
- struct gcpro gcpro1;
- Lisp_Object val;
+ {
+ EXTERNAL_LIST_LOOP_2 (acons, Vload_suppress_alist)
+ {
+ if (CONSP (acons) && STRINGP (XCAR (acons)))
+ {
+ Lisp_Object name = XCAR (acons);
+ if (XSTRING_LENGTH (name) == len &&
+ !memcmp (XSTRING_DATA (name), nonreloc, len))
+ {
+ struct gcpro gcpro1;
+ Lisp_Object val;
- GCPRO1 (reloc);
- val = Feval (XCDR (acons));
- UNGCPRO;
+ GCPRO1 (reloc);
+ val = Feval (XCDR (acons));
+ UNGCPRO;
- if (!NILP (val))
- return 1;
- }
- }
- }
+ if (!NILP (val))
+ return 1;
+ }
+ }
+ }
+ }
return 0;
}