Eli Zaretskii schrieb am Sa., 22. Apr. 2017 um 09:42 Uhr: > > From: Philipp Stephani > > Date: Fri, 21 Apr 2017 22:05:58 +0200 > > > > nsterm.m:6969:8: error: member reference base type 'enum z_group' is not > a structure or union > > if (!NILP (FRAME_Z_GROUP (f))) > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > It should compare against z_group_none instead. > Pushed eb52828a43 to fix. > > > (Tangentially, is there any reason not to define Lisp_Object as struct > > unconditionally, to avoid such coding errors?) > > Yes, it produces slower code. > Are you sure that's still the case? I've just diffed the assembly output for editfns.c with and without --enable-check-lisp-object-type, they seem identical (apart from minor diffs due to different register allocation and instruction ordering). Replacing a primitive value with a struct containing such a value should never degrade performance; that would be a compiler bug.