Re: Generated Headers - Quite the Can of Worms

[email protected] (Henry S. Thompson)
Newsgroups gmane.emacs.xemacs.beta
Message-ID <[email protected]>
Vin Shelton writes:

> On Tue, Mar 31, 2015 at 11:26 AM, Henry S. Thompson <[email protected]> wrote:
>> I can confirm your version gets me exactly as far as the version I
>> just posted, and that your $rettype_re produces the same result as
>> mine...
>
> OK.  There are several differences in const-ness (LPCSTR vs. LPSTR) in
> the newly-generated intl-auto-encap.c, but fixing those by hand only
> gets to the next step.

Not sure what "the next step" is. . .

Note that the source of the LPCWSTR vs LPWSTR (which is the first
problem I hit:

  C:\C64\usr\local\src\xemacs-21.5-64bit\src\intl-auto-encap-win32.c(634)
  : error C2664: 'OpenDesktopW' : cannot convert parameter 1 from
  'const unsigned short *' to 'unsigned short *' Conversion loses
  qualifiers

is caused by this discontinuity:

VC98/include/winuser.h:

   OpenDesktopW(
       LPWSTR lpszDesktop,
       DWORD dwFlags,
       BOOL fInherit,
       ACCESS_MASK dwDesiredAccess);

/usr/include/w32api/winuser.h:

     WINUSERAPI HDESK WINAPI OpenDesktopW(LPCWSTR lpszDesktop,
                                          DWORD dwFlags,
                                          WINBOOL fInherit,
                                          ACCESS_MASK dwDesiredAccess);

I'm guessing this is simply because w32api has been updated to a later
version of Visual Studio include files. . .
Hmm, maybe not -- online MS documentation has LPWSTR, as above. . .

Some apparently mingw versions of winuser.h I can find on the web
have the non-const version. . ., but I can't immediately find any
discussion of the issue.

Since the only function with the LP[C]WSTR issue which is actually
_called_ by XEmacs is GetNamedSecurityInfo, for the time being I tried
editting intl-encap-win32.c to skip all the others, editting
w32api/aclapi.h to change LPCWSTR to LPWSTR and then rebuilding
intl-auto...

Ah -- I guess I see what you were worrying about.  GetWindowLongPtr
and friends are not supported by VS6.  Full stop.  What level is the
VS6 requirement/where is it coming from?  VS2008 an option?

ht
-- 
       Henry S. Thompson, School of Informatics, University of Edinburgh
      10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
                Fax: (44) 131 650-4587, e-mail: [email protected]
                       URL: http://www.ltg.ed.ac.uk/~ht/
 [mail from me _always_ has a .sig like this -- mail without it is forged spam]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.