Initial revision
authorkazuhiko <kazuhiko>
Thu, 5 Oct 2000 05:04:02 +0000 (05:04 +0000)
committerkazuhiko <kazuhiko>
Thu, 5 Oct 2000 05:04:02 +0000 (05:04 +0000)
nt/xemacs-vc50.dsp [new file with mode: 0644]
nt/xemacs-vc50.dsw [new file with mode: 0644]
src/general-slots.h [new file with mode: 0644]
src/win32.c [new file with mode: 0644]

diff --git a/nt/xemacs-vc50.dsp b/nt/xemacs-vc50.dsp
new file mode 100644 (file)
index 0000000..f3dc0de
--- /dev/null
@@ -0,0 +1,1392 @@
+# Microsoft Developer Studio Project File - Name="xemacs" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) External Target" 0x0106
+
+CFG=xemacs - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "xemacs.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "xemacs.mak" CFG="xemacs - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "xemacs - Win32 Release" (based on "Win32 (x86) External Target")
+!MESSAGE "xemacs - Win32 Debug" (based on "Win32 (x86) External Target")
+!MESSAGE 
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+
+!IF  "$(CFG)" == "xemacs - Win32 Release"
+
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Cmd_Line "NMAKE /f xemacs.mak"
+# PROP BASE Rebuild_Opt "/a"
+# PROP BASE Target_File "xemacs.exe"
+# PROP BASE Bsc_Name "xemacs.bsc"
+# PROP BASE Target_Dir ""
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "..\src"
+# PROP Intermediate_Dir "obj"
+# PROP Cmd_Line "NMAKE /f xemacs.mak"
+# PROP Rebuild_Opt "/a"
+# PROP Target_File "xemacs.exe"
+# PROP Bsc_Name "xemacs.bsc"
+# PROP Target_Dir ""
+
+!ELSEIF  "$(CFG)" == "xemacs - Win32 Debug"
+
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Cmd_Line "NMAKE /f xemacs.mak"
+# PROP BASE Rebuild_Opt "/a"
+# PROP BASE Target_File "xemacs.exe"
+# PROP BASE Bsc_Name "xemacs.bsc"
+# PROP BASE Target_Dir ""
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "..\src"
+# PROP Intermediate_Dir "obj"
+# PROP Cmd_Line "NMAKE /f xemacs.mak"
+# PROP Rebuild_Opt "/a"
+# PROP Target_File "..\src\xemacs.exe"
+# PROP Bsc_Name "..\src\temacs.bsc"
+# PROP Target_Dir ""
+
+!ENDIF 
+
+# Begin Target
+
+# Name "xemacs - Win32 Release"
+# Name "xemacs - Win32 Debug"
+
+!IF  "$(CFG)" == "xemacs - Win32 Release"
+
+!ELSEIF  "$(CFG)" == "xemacs - Win32 Debug"
+
+!ENDIF 
+
+# Begin Source File
+
+SOURCE=..\src\abbrev.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\alloc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\alloca.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\backtrace.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\balloon-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\balloon_help.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\balloon_help.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\bitmaps.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\blocktype.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\blocktype.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\broken-sun.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\buffer.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\buffer.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\bufslots.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\bytecode.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\bytecode.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\callint.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\callproc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\casefiddle.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\casetab.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\chartab.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\chartab.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\cm.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\cm.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\cmdloop.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\cmds.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\commands.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\config.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\conslots.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\console-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\console-msw.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\console-stream.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\console-stream.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\console-tty.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\console-tty.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\console-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\console-x.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\console.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\console.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\data.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\database.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\database.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\debug.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\debug.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\device-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\device-tty.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\device-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\device.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\device.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\dgif_lib.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\dialog-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\dialog-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\dialog.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\dired-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\dired.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\doc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\doprnt.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\dragdrop.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\dragdrop.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\dynarr.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ecrt0.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\editfns.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\eldap.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\eldap.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\elhash.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\elhash.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\Emacs.ad.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\emacs.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsFrame.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsFrame.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsFrameP.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsManager.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsManager.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsManagerP.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\EmacsShell-sub.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsShell.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsShell.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\EmacsShellP.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\emodules.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\emodules.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\esd.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\eval.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\event-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\event-stream.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\event-tty.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\event-unixoid.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\event-Xt.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\events-mod.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\events.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\events.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\extents.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\extents.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\ExternalClient-Xlib.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ExternalClient.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ExternalClient.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ExternalClientP.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ExternalShell.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ExternalShell.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ExternalShellP.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\extw-Xlib.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\extw-Xlib.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\extw-Xt.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\extw-Xt.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\faces.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\faces.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\file-coding.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\file-coding.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\fileio.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\filelock.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\filemode.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\floatfns.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\fns.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\font-lock.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\frame-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\frame-tty.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\frame-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\frame.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\frame.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\frameslots.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\free-hook.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\general.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\getloadavg.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\getpagesize.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gif_io.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gifrlib.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\glyphs-eimage.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\glyphs-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\glyphs-msw.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\glyphs-widget.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\glyphs-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\glyphs-x.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\glyphs.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\glyphs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gmalloc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gpmevent.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gpmevent.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\gui-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\gui-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\gui-x.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gui.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gui.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gutter.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\gutter.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\hash.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\hash.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\hftctl.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\hpplay.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\imgproc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\imgproc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\indent.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\inline.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\input-method-motif.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\input-method-xfs.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\input-method-xlib.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\insdel.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\insdel.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\intl.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\iso-wide.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\keymap.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\keymap.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\lastfile.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\libsst.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\libsst.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\libst.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\line-number.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\line-number.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\linuxplay.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\lisp-disunion.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\lisp-union.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\lisp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\lread.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\lrecord.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\lstream.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\lstream.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\macros.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\macros.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\malloc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\marker.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\md5.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mem-limits.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\menubar-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\menubar-msw.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\menubar-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\menubar.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\menubar.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\minibuf.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\miscplay.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\miscplay.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mule-canna.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mule-ccl.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mule-ccl.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mule-charset.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mule-charset.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mule-mcpath.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mule-mcpath.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\mule-wnnfns.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\mule.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\nas.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ndir.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\nt.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\nt.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ntheap.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ntheap.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ntplay.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ntproc.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\objects-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\objects-msw.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\objects-tty.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\objects-tty.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\objects-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\objects-x.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\objects.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\objects.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\offix-cursors.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\offix-types.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\offix.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\offix.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\opaque.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\opaque.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\paths.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\pre-crt0.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\print.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\process-nt.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\process-unix.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\process.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\process.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\procimpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\profile.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ralloc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\rangetab.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\rangetab.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\realpath.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\redisplay-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\redisplay-output.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\redisplay-tty.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\redisplay-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\redisplay.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\redisplay.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\regex.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\regex.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\scrollbar-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\scrollbar-msw.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\scrollbar-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\scrollbar-x.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\scrollbar.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\scrollbar.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\search.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\select-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\select-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\select.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\select.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sgiplay.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sheap.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\signal.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sound.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\specifier.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\specifier.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\strcat.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\strcmp.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\strcpy.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\strftime.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\sunOS-fix.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sunplay.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sunpro.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\symbols.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\symeval.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\symsinit.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\syntax.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\syntax.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sysdep.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sysdep.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sysdir.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sysdll.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sysdll.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sysfile.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sysfloat.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sysproc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\syspwd.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\syssignal.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\systime.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\systty.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\syswait.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\termcap.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\terminfo.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\toolbar-msw.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\toolbar-x.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\toolbar.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\toolbar.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\tooltalk.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\tooltalk.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\tparam.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\undo.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexaix.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexalpha.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexapollo.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexconvex.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexcw.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexec.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexelf.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexelfsgi.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexencap.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexenix.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexfreebsd.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexfx2800.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexhp9k3.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexhp9k800.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexmips.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexnext.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexnt.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexsni.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\unexsol2-6.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexsol2.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unexsunos4.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\universe.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\vm-limit.c"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\widget.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\window.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\window.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\winslots.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\xemacs.mak
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xgccache.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xgccache.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xintrinsic.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xintrinsicp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xmmanagerp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xmprimitivep.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xmu.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xmu.h
+# End Source File
+# End Target
+# End Project
diff --git a/nt/xemacs-vc50.dsw b/nt/xemacs-vc50.dsw
new file mode 100644 (file)
index 0000000..f905f3c
--- /dev/null
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "xemacs"=".\xemacs-vc50.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/src/general-slots.h b/src/general-slots.h
new file mode 100644 (file)
index 0000000..fac3a82
--- /dev/null
@@ -0,0 +1,256 @@
+/* Commonly-used symbols -- include file
+   Copyright (C) 1995 Sun Microsystems.
+   Copyright (C) 1995, 1996, 2000 Ben Wing.
+
+This file is part of XEmacs.
+
+XEmacs is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* Synched up with: Not in FSF. */
+
+/* The purpose of this file is as a central place to stick symbols
+   that don't have any obvious connection to any particular module
+   and might be used in many different contexts.
+
+   Three types of declarations are allowed here:
+
+   SYMBOL (Qfoo); declares a symbol "foo"
+   SYMBOL_KEYWORD (Q_foo); declares a keyword symbol ":foo"
+   SYMBOL_GENERAL (Qfoo, "bar"); declares a symbol named "bar" but stored in
+     the variable Qfoo
+
+To sort the crap in this file, use the following:
+
+(sort-regexp-fields nil
+                   "^.*(Q_?\\(.*\\));$" "\\1"
+                   (progn
+                     (search-forward "SYMBOL")
+                     (match-beginning 0))
+                   (point-max))
+*/
+
+SYMBOL (Qabort);
+SYMBOL_KEYWORD (Q_accelerator);
+SYMBOL_KEYWORD (Q_active);
+SYMBOL (Qactually_requested);
+SYMBOL (Qafter);
+SYMBOL (Qall);
+SYMBOL (Qand);
+SYMBOL (Qappend);
+SYMBOL (Qassoc);
+SYMBOL (Qat);
+SYMBOL (Qautodetect);
+SYMBOL (Qbad_variable);
+SYMBOL (Qbefore);
+SYMBOL (Qbinary);
+SYMBOL (Qbitmap);
+SYMBOL (Qboolean);
+SYMBOL_KEYWORD (Q_border);
+SYMBOL (Qbottom);
+SYMBOL (Qbottom_margin);
+SYMBOL (Qbuffer);
+SYMBOL (Qbuilt_in);
+SYMBOL (Qbutton);
+SYMBOL_KEYWORD (Q_buttons);
+SYMBOL_KEYWORD (Q_callback);
+SYMBOL_KEYWORD (Q_callback_ex);
+SYMBOL (Qcancel);
+SYMBOL (Qcategory);
+SYMBOL (Qcenter);
+SYMBOL (Qchannel);
+SYMBOL (Qchar);
+SYMBOL (Qcharacter);
+SYMBOL (Qchars);
+SYMBOL (Qcolor);
+SYMBOL (Qcolumns);
+SYMBOL (Qcommand);
+SYMBOL_KEYWORD (Q_config);
+SYMBOL (Qconsole);
+SYMBOL (Qcopies);
+SYMBOL (Qcritical);
+SYMBOL (Qctext);
+SYMBOL (Qcursor);
+SYMBOL (Qdata);
+SYMBOL (Qdead);
+SYMBOL (Qdefault);
+SYMBOL (Qdelete);
+SYMBOL (Qdelq);
+SYMBOL_KEYWORD (Q_descriptor);
+SYMBOL (Qdevice);
+SYMBOL_KEYWORD (Q_device);
+SYMBOL (Qdialog);
+SYMBOL (Qdimension);
+SYMBOL (Qdisplay);
+SYMBOL (Qdoc_string);
+SYMBOL (Qduplex);
+SYMBOL (Qdynarr_overhead);
+SYMBOL (Qempty);
+SYMBOL (Qeq);
+SYMBOL (Qeql);
+SYMBOL (Qequal);
+SYMBOL (Qeval);
+SYMBOL (Qextents);
+SYMBOL (Qface);
+SYMBOL (Qfallback);
+SYMBOL (Qfile);
+SYMBOL (Qfile_name);
+SYMBOL_KEYWORD (Q_filter);
+SYMBOL (Qfont);
+SYMBOL (Qframe);
+SYMBOL (Qfrom_page);
+SYMBOL (Qfull_assoc);
+SYMBOL (Qfuncall);
+SYMBOL (Qfunction);
+SYMBOL (Qgap_overhead);
+SYMBOL (Qgeneric);
+SYMBOL (Qgeometry);
+SYMBOL (Qglobal);
+SYMBOL (Qgutter);
+SYMBOL (Qheight);
+SYMBOL_KEYWORD (Q_height);
+SYMBOL (Qhelp);
+SYMBOL (Qhighlight);
+SYMBOL (Qhorizontal);
+SYMBOL (Qicon);
+SYMBOL (Qid);
+SYMBOL (Qignore);
+SYMBOL (Qimage);
+SYMBOL_KEYWORD (Q_image);
+SYMBOL_KEYWORD (Q_included);
+SYMBOL (Qinfo);
+SYMBOL (Qinherit);
+SYMBOL_KEYWORD (Q_initial_focus);
+SYMBOL (Qinteger);
+SYMBOL (Qinternal);
+SYMBOL_KEYWORD (Q_items);
+SYMBOL_KEYWORD (Q_justify);
+SYMBOL (Qkey);
+SYMBOL (Qkey_assoc);
+SYMBOL_KEYWORD (Q_key_sequence);
+SYMBOL (Qkeyboard);
+SYMBOL (Qkeymap);
+SYMBOL_KEYWORD (Q_keys);
+SYMBOL_KEYWORD (Q_label);
+SYMBOL (Qlandscape);
+SYMBOL (Qlast_command);
+SYMBOL (Qleft);
+SYMBOL (Qleft_margin);
+SYMBOL (Qlet);
+SYMBOL (Qlist);
+SYMBOL (Qmagic);
+SYMBOL (Qmalloc_overhead);
+SYMBOL_KEYWORD (Q_margin_width);
+SYMBOL (Qmarkers);
+SYMBOL (Qmax);
+SYMBOL (Qmemory);
+SYMBOL (Qmenubar);
+SYMBOL (Qmessage);
+SYMBOL_GENERAL (Qminus, "-");
+SYMBOL (Qmodifiers);
+SYMBOL (Qmotion);
+SYMBOL (Qmsprinter);
+SYMBOL (Qmswindows);
+SYMBOL (Qname);
+SYMBOL (Qnatnum);
+SYMBOL (Qno);
+SYMBOL (Qnone);
+SYMBOL (Qnot);
+SYMBOL (Qnothing);
+SYMBOL (Qnotice);
+SYMBOL (Qobject);
+SYMBOL (Qok);
+SYMBOL (Qold_assoc);
+SYMBOL (Qold_delete);
+SYMBOL (Qold_delq);
+SYMBOL (Qold_rassoc);
+SYMBOL (Qold_rassq);
+SYMBOL (Qonly);
+SYMBOL (Qor);
+SYMBOL (Qorientation);
+SYMBOL_KEYWORD (Q_orientation);
+SYMBOL (Qother);
+SYMBOL (Qpage_setup);
+SYMBOL (Qpeer);
+SYMBOL (Qpointer);
+SYMBOL (Qpopup);
+SYMBOL (Qportrait);
+SYMBOL (Qprepend);
+SYMBOL (Qprint);
+SYMBOL (Qprint_setup);
+SYMBOL (Qprinter);
+SYMBOL_KEYWORD (Q_printer_settings);
+SYMBOL (Qprocess);
+SYMBOL_KEYWORD (Q_properties);
+SYMBOL (Qprovide);
+SYMBOL (Qquestion);
+SYMBOL_KEYWORD (Q_question);
+SYMBOL (Qradio);
+SYMBOL (Qrassoc);
+SYMBOL (Qrassq);
+SYMBOL (Qremove_all);
+SYMBOL (Qrequire);
+SYMBOL (Qresource);
+SYMBOL (Qretry);
+SYMBOL (Qreturn);
+SYMBOL (Qreverse);
+SYMBOL (Qright);
+SYMBOL (Qright_margin);
+SYMBOL (Qsearch);
+SYMBOL (Qselected);
+SYMBOL_KEYWORD (Q_selected);
+SYMBOL (Qset_glyph_image);
+SYMBOL (Qsignal);
+SYMBOL (Qsimple);
+SYMBOL (Qsize);
+SYMBOL (Qspace);
+SYMBOL (Qspecifier);
+SYMBOL (Qstandard);
+SYMBOL (Qstream);
+SYMBOL (Qstring);
+SYMBOL_KEYWORD (Q_style);
+SYMBOL_KEYWORD (Q_suffix);
+SYMBOL (Qsymbol);
+SYMBOL (Qsyntax);
+SYMBOL (Qterminal);
+SYMBOL (Qtest);
+SYMBOL (Qtext);
+SYMBOL_KEYWORD (Q_text);
+SYMBOL (Qthis_command);
+SYMBOL (Qtimeout);
+SYMBOL (Qtimestamp);
+SYMBOL_KEYWORD (Q_title);
+SYMBOL (Qto_page);
+SYMBOL (Qtoggle);
+SYMBOL (Qtoolbar);
+SYMBOL (Qtop);
+SYMBOL (Qtop_margin);
+SYMBOL (Qtty);
+SYMBOL (Qtype);
+SYMBOL (Qundecided);
+SYMBOL (Qundefined);
+SYMBOL (Qunimplemented);
+SYMBOL_KEYWORD (Q_value);
+SYMBOL (Qvalue_assoc);
+SYMBOL (Qvertical);
+SYMBOL (Qwarning);
+SYMBOL (Qwidget);
+SYMBOL (Qwidth);
+SYMBOL_KEYWORD (Q_width);
+SYMBOL (Qwindow);
+SYMBOL (Qwindow_system);
+SYMBOL (Qx);
+SYMBOL (Qy);
+SYMBOL (Qyes);
diff --git a/src/win32.c b/src/win32.c
new file mode 100644 (file)
index 0000000..203053b
--- /dev/null
@@ -0,0 +1,228 @@
+/* Utility routines for XEmacs on Windows 9x, NT and Cygwin.
+   Copyright (C) 2000 Ben Wing.
+
+This file is part of XEmacs.
+
+XEmacs is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING.  If not, write to the Free
+Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+#include <config.h>
+#include "lisp.h"
+
+#include "buffer.h"
+#include "syswindows.h"
+
+typedef BOOL (WINAPI *pfSwitchToThread_t) (VOID);
+pfSwitchToThread_t xSwitchToThread;
+
+typedef HKL (WINAPI *pfGetKeyboardLayout_t) (DWORD);
+pfGetKeyboardLayout_t xGetKeyboardLayout;
+typedef BOOL (WINAPI *pfSetMenuDefaultItem_t) (HMENU, UINT, UINT);
+pfSetMenuDefaultItem_t xSetMenuDefaultItem;
+typedef BOOL (WINAPI *pfInsertMenuItemA_t) 
+     (HMENU, UINT, BOOL, LPCMENUITEMINFOA);
+pfInsertMenuItemA_t xInsertMenuItemA;
+typedef BOOL (WINAPI *pfInsertMenuItemW_t) 
+     (HMENU, UINT, BOOL, LPCMENUITEMINFOW);
+pfInsertMenuItemW_t xInsertMenuItemW;
+typedef HANDLE (WINAPI *pfLoadImageA_t) 
+     (HINSTANCE, LPCSTR, UINT, int, int, UINT);
+pfLoadImageA_t xLoadImageA;
+typedef HANDLE (WINAPI *pfLoadImageW_t)
+     (HINSTANCE, LPCWSTR, UINT, int, int, UINT);
+pfLoadImageW_t xLoadImageW;
+typedef ATOM (WINAPI *pfRegisterClassExA_t) (CONST WNDCLASSEXA *);
+pfRegisterClassExA_t xRegisterClassExA;
+typedef ATOM (WINAPI *pfRegisterClassExW_t) (CONST WNDCLASSEXW *);
+pfRegisterClassExW_t xRegisterClassExW;
+
+typedef int (WINAPI *pfEnumFontFamiliesExA_t) 
+     (HDC, LPLOGFONTA, FONTENUMPROCA, LPARAM, DWORD);
+pfEnumFontFamiliesExA_t xEnumFontFamiliesExA;
+typedef int (WINAPI *pfEnumFontFamiliesExW_t) 
+     (HDC, LPLOGFONTW, FONTENUMPROCW, LPARAM, DWORD);
+pfEnumFontFamiliesExW_t xEnumFontFamiliesExW;
+
+typedef DWORD (WINAPI *pfSHGetFileInfoA_t) 
+     (LPCSTR, DWORD, SHFILEINFOA FAR *, UINT, UINT);
+pfSHGetFileInfoA_t xSHGetFileInfoA;
+typedef DWORD (WINAPI *pfSHGetFileInfoW_t) 
+     (LPCWSTR, DWORD, SHFILEINFOW FAR *, UINT, UINT);
+pfSHGetFileInfoW_t xSHGetFileInfoW;
+
+Lisp_Object
+tstr_to_local_file_format (Extbyte *pathout)
+{
+  Bufbyte *ttlff;
+  Lisp_Object in;
+
+  EXTERNAL_TO_C_STRING (pathout, ttlff, Qmswindows_tstr);
+  WIN32_TO_LOCAL_FILE_FORMAT (ttlff, in);
+
+  return in;
+}
+
+static void
+init_potentially_nonexistent_functions (void)
+{
+  HMODULE h_kernel = GetModuleHandle ("kernel32");
+  HMODULE h_user = GetModuleHandle ("user32");
+  HMODULE h_gdi = GetModuleHandle ("gdi32");
+  HMODULE h_shell = GetModuleHandle ("shell32");
+
+  if (h_kernel)
+    {
+      xSwitchToThread =
+       (pfSwitchToThread_t) GetProcAddress (h_kernel, "SwitchToThread");
+    }
+
+  if (h_user)
+    {
+      xGetKeyboardLayout =
+       (pfGetKeyboardLayout_t) GetProcAddress (h_user, "GetKeyboardLayout");
+      xSetMenuDefaultItem =
+       (pfSetMenuDefaultItem_t) GetProcAddress (h_user, "SetMenuDefaultItem");
+      xInsertMenuItemA =
+       (pfInsertMenuItemA_t) GetProcAddress (h_user, "InsertMenuItemA");
+      xInsertMenuItemW =
+       (pfInsertMenuItemW_t) GetProcAddress (h_user, "InsertMenuItemW");
+      xLoadImageA =
+       (pfLoadImageA_t) GetProcAddress (h_user, "LoadImageA");
+      xLoadImageW =
+       (pfLoadImageW_t) GetProcAddress (h_user, "LoadImageW");
+      xRegisterClassExA =
+       (pfRegisterClassExA_t) GetProcAddress (h_user, "RegisterClassExA");
+      xRegisterClassExW =
+       (pfRegisterClassExW_t) GetProcAddress (h_user, "RegisterClassExW");
+    }
+
+  if (h_gdi)
+    {
+      xEnumFontFamiliesExA =
+       (pfEnumFontFamiliesExA_t) GetProcAddress (h_gdi, "EnumFontFamiliesExA");
+      xEnumFontFamiliesExW =
+       (pfEnumFontFamiliesExW_t) GetProcAddress (h_gdi, "EnumFontFamiliesExW");
+    }
+
+  if (h_shell)
+    {
+      xSHGetFileInfoA =
+       (pfSHGetFileInfoA_t) GetProcAddress (h_shell, "SHGetFileInfoA");
+      xSHGetFileInfoW =
+       (pfSHGetFileInfoW_t) GetProcAddress (h_shell, "SHGetFileInfoW");
+    }
+}
+
+DEFUN ("mswindows-shell-execute", Fmswindows_shell_execute, 2, 4, 0, /*
+Get Windows to perform OPERATION on DOCUMENT.
+This is a wrapper around the ShellExecute system function, which
+invokes the application registered to handle OPERATION for DOCUMENT.
+OPERATION is typically \"open\", \"print\" or \"explore\" (but can be
+nil for the default action), and DOCUMENT is typically the name of a
+document file or URL, but can also be a program executable to run or
+a directory to open in the Windows Explorer.
+
+If DOCUMENT is a program executable, PARAMETERS can be a string
+containing command line parameters, but otherwise should be nil.
+
+SHOW-FLAG can be used to control whether the invoked application is hidden
+or minimized.  If SHOW-FLAG is nil, the application is displayed normally,
+otherwise it is an integer representing a ShowWindow flag:
+
+  0 - start hidden
+  1 - start normally
+  3 - start maximized
+  6 - start minimized
+*/
+       (operation, document, parameters, show_flag))
+{
+  /* Encode filename and current directory.  */
+  Lisp_Object current_dir = Ffile_name_directory (document);
+  char* path = NULL;
+  char* doc = NULL;
+  Extbyte* f=0;
+  int ret;
+  struct gcpro gcpro1, gcpro2;
+
+  CHECK_STRING (document);
+
+  if (NILP (current_dir))
+    current_dir = current_buffer->directory;
+
+  GCPRO2 (current_dir, document);
+
+  /* Use mule and cygwin-safe APIs top get at file data. */
+  if (STRINGP (current_dir))
+    {
+      TO_EXTERNAL_FORMAT (LISP_STRING, current_dir,
+                         C_STRING_ALLOCA, f,
+                         Qfile_name);
+#ifdef CYGWIN
+      CYGWIN_WIN32_PATH (f, path);
+#else
+      path = f;
+#endif
+    }
+
+  if (STRINGP (document))
+    {
+      TO_EXTERNAL_FORMAT (LISP_STRING, document,
+                         C_STRING_ALLOCA, f,
+                         Qfile_name);
+#ifdef CYGWIN
+      CYGWIN_WIN32_PATH (f, doc);
+#else
+      doc = f;
+#endif
+    }
+
+  UNGCPRO;
+
+  ret = (int) ShellExecute (NULL,
+                           (STRINGP (operation) ?
+                            XSTRING_DATA (operation) : NULL),
+                           doc, 
+                           (STRINGP (parameters) ?
+                            XSTRING_DATA (parameters) : NULL),
+                           path,
+                           (INTP (show_flag) ?
+                            XINT (show_flag) : SW_SHOWDEFAULT));
+
+  if (ret > 32)
+    return Qt;
+  
+  if (ret == ERROR_FILE_NOT_FOUND)
+    signal_simple_error ("file not found", document);
+  else if (ret == ERROR_PATH_NOT_FOUND)
+    signal_simple_error ("path not found", current_dir);
+  else if (ret == ERROR_BAD_FORMAT)
+    signal_simple_error ("bad executable format", document);
+  else
+    error ("internal error");
+
+  return Qnil;
+}
+
+void
+syms_of_win32 (void)
+{
+  DEFSUBR (Fmswindows_shell_execute);
+}
+
+void
+init_win32 (void)
+{
+  init_potentially_nonexistent_functions ();
+}