Subject: bug#25128: Reorder lisp.h to declare types before using them

From: Eli Zaretskii <[email-masked]>
Date: Wed, 07 Dec 2016 18:09:15 +0200

> From: Paul Eggert <[email-masked]>
> Date: Tue, 6 Dec 2016 23:19:19 -0800
> 
> Attached is a patch to reorder src/lisp.h so that more types are declared before 
> use. The main motivation is to eventually add support for 
> -fcheck-pointer-bounds; future changes will need access to type sizes (e.g., 
> XCONS might need sizeof (struct Lisp_Cons)), which should be easy after this 
> change. Also, the change shortens lisp.h a bit and (if you ask me) makes it 
> easier to read, since the basic functions for a type are now declared next to 
> the type.
> 
> I would like to install this soon, and am posting this as a bug report to give 
> Eli and others a heads-up, in case some MS-Windows module now needs to include 
> process.h. This may be needed because XPROCESS is now defined in process.h 
> instead of lisp.h; similarly for buffer.h, window.h, termhooks.h.

Thanks.  I'd appreciate if someone could beat me to it, as I'm busy
merging and testing the concurrency branch, hopefully soon to land on
master.

In any case, could you please wait with pushing this for a few days
until concurrency actually lands?  I'm in the last stages of testing
the merge, and it would minimize the impact of the final merging.  The
changes in lisp.h due to concurrency are very few, FWIW, so I don't
believe it will require you to make changes in your patch due to the
merge.

TIA