commit: Support #!,
to allow XEmacs to be called as a script interpreter.
Aidan Kehoe
kehoea at parhasard.net
Tue May 13 08:11:18 EDT 2008
Ar an triú lá déag de mí Bealtaine, scríobh Vin Shelton:
> On Mon, May 12, 2008 at 11:21 PM, Stephen J. Turnbull
> <stephen at xemacs.org> wrote:
> > What do you mean by "support"? Does native Windows actually support
> > shebang at all?
>
> Good point. What I meant was, "allow building". AFAIK, native
> windows does not support #! at all.
Here’s what I needed to get things building with Visual C++ 2005 Express
Edition and Microsoft Platform SDK for Windows Server 2003 R2 today. This
also addresses part of Matthew’s problems of
http://mid.gmane.org/9ea6aaa80805081832r1a3308e9wb6d2bfea7457379f@mail.gmail.com
, though not his problem with LPSHQUERYRBINFO not being recognised as a
type.
Tha make-docfile.c avoids an assertion failure when building in debug mode,
and it looks well and good to me, given that we don’t want MSDOS line
endings in our core C or Lisp.
I’ll commit corresponding changesets later today.
diff -r 49f8ed034500 lib-src/make-docfile.c
--- a/lib-src/make-docfile.c Mon May 12 11:53:04 2008 +0200
+++ b/lib-src/make-docfile.c Tue May 13 14:06:26 2008 +0200
@@ -306,12 +306,12 @@ scan_file (const char *filename)
else if (ellcc == 0 && len > 3 && !strcmp (filename + len - 3, ".el"))
{
Current_file_type = el_file;
- return scan_lisp_file (filename, READ_TEXT);
+ return scan_lisp_file (filename, READ_BINARY);
}
else
{
Current_file_type = c_file;
- return scan_c_file (filename, READ_TEXT);
+ return scan_c_file (filename, READ_BINARY);
}
}
diff -r 49f8ed034500 nt/xemacs.mak
--- a/nt/xemacs.mak Mon May 12 11:53:04 2008 +0200
+++ b/nt/xemacs.mak Tue May 13 14:06:26 2008 +0200
@@ -427,6 +427,7 @@ PROGRAM_DEFINES=-DINFODOCK \
-DPATH_VERSION=\"$(INFODOCK_VERSION_STRING)\" \
-DPATH_PROGNAME=\"infodock\" \
-DEMACS_PROGNAME=\"infodock\" \
+ -DSHEBANG_PROGNAME=\"infodock-script\" \
-DEMACS_VERSION=\"$(INFODOCK_VERSION_STRING)\" \
-DINFODOCK_MAJOR_VERSION=$(infodock_major_version) \
-DINFODOCK_MINOR_VERSION=$(infodock_minor_version) \
@@ -444,7 +445,7 @@ PROGRAM_DEFINES= \
-DPATH_VERSION=\"$(XEMACS_VERSION_STRING)\" \
-DPATH_PROGNAME=\"xemacs\" \
-DEMACS_VERSION=\"$(XEMACS_VERSION_STRING)\" \
- -DEMACS_PROGNAME=\"xemacs\"
+ -DEMACS_PROGNAME=\"xemacs\" -DSHEBANG_PROGNAME=\"xemacs-script\"
!endif
########################### Set up installation and package directories.
diff -r 49f8ed034500 src/config.h.in
--- a/src/config.h.in Mon May 12 11:53:04 2008 +0200
+++ b/src/config.h.in Tue May 13 14:06:26 2008 +0200
@@ -875,6 +875,7 @@ things are arranged in config.h.in. In
"deprecated" in favor of Microsoft-specific "secure" ones (!)
This must go *before* the inclusion of any system files. */
#define _CRT_SECURE_NO_DEPRECATE
+#define _CRT_NONSTDC_NO_DEPRECATE
#endif
/* alloca twiddling.
diff -r 49f8ed034500 src/emacs.c
--- a/src/emacs.c Mon May 12 11:53:04 2008 +0200
+++ b/src/emacs.c Tue May 13 14:06:26 2008 +0200
@@ -958,7 +958,7 @@ main_1 (int argc, Wexttext **argv, Wextt
#define SHEBANG_PROGNAME_LENGTH \
(int)((sizeof (WEXTSTRING (SHEBANG_PROGNAME)) - sizeof (WEXTSTRING (""))))
#define SHEBANG_EXE_PROGNAME_LENGTH \
- (int)(sizeof (WEXTSTRING (SHEBANG_PROGNAME ".exe")) \
+ (int)(sizeof (WEXTSTRING (SHEBANG_PROGNAME) WEXTSTRING(".exe")) \
- sizeof (WEXTSTRING ("")))
{
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
More information about the XEmacs-Patches
mailing list