diff options
author | Dave Love <fx@gnu.org> | 1999-10-03 15:56:58 +0000 |
---|---|---|
committer | Dave Love <fx@gnu.org> | 1999-10-03 15:56:58 +0000 |
commit | a4a9692da15ec1531a5075b671b62ebf1f2b9d92 (patch) | |
tree | 13d2395598273a1e6667211e29c6d286480d65b6 /nt | |
parent | d7f3b2023f6105f04e90791ee19efd5a872ce33a (diff) | |
download | emacs-a4a9692da15ec1531a5075b671b62ebf1f2b9d92.tar.gz |
#
Diffstat (limited to 'nt')
-rw-r--r-- | nt/ChangeLog | 512 | ||||
-rw-r--r-- | nt/INSTALL | 165 | ||||
-rw-r--r-- | nt/README | 61 | ||||
-rw-r--r-- | nt/TODO | 28 | ||||
-rw-r--r-- | nt/icons/emacs.ico | bin | 0 -> 766 bytes | |||
-rw-r--r-- | nt/icons/gnu2a32.ico | bin | 0 -> 2238 bytes | |||
-rw-r--r-- | nt/icons/gnu2a32t.ico | bin | 0 -> 2238 bytes | |||
-rw-r--r-- | nt/icons/gnu2b48.ico | bin | 0 -> 3774 bytes | |||
-rw-r--r-- | nt/icons/gnu2b48t.ico | bin | 0 -> 3774 bytes | |||
-rw-r--r-- | nt/icons/gnu3b32.ico | bin | 0 -> 2238 bytes | |||
-rw-r--r-- | nt/icons/gnu3b32t.ico | bin | 0 -> 2238 bytes | |||
-rw-r--r-- | nt/icons/gnu4g48.ico | bin | 0 -> 3774 bytes | |||
-rw-r--r-- | nt/icons/gnu4g48t.ico | bin | 0 -> 3774 bytes | |||
-rw-r--r-- | nt/icons/gnu5w32.ico | bin | 0 -> 2238 bytes | |||
-rw-r--r-- | nt/icons/gnu5w32t.ico | bin | 0 -> 2238 bytes | |||
-rw-r--r-- | nt/icons/gnu6w48.ico | bin | 0 -> 3774 bytes | |||
-rw-r--r-- | nt/icons/gnu6w48t.ico | bin | 0 -> 3774 bytes | |||
-rw-r--r-- | nt/icons/gnu7.ico | bin | 0 -> 766 bytes | |||
-rw-r--r-- | nt/icons/gnu8.ico | bin | 0 -> 766 bytes | |||
-rw-r--r-- | nt/icons/gnu9.ico | bin | 0 -> 766 bytes | |||
-rw-r--r-- | nt/icons/sink.ico | bin | 0 -> 766 bytes |
21 files changed, 766 insertions, 0 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog new file mode 100644 index 00000000000..f15c84d48dd --- /dev/null +++ b/nt/ChangeLog @@ -0,0 +1,512 @@ +1999-07-12 Richard Stallman <rms@gnu.org> + + * Version 20.4 released. + +1999-06-16 Andrew Innes <andrewi@gnu.org> + + * emacs.rc: Use an icon with a transparent background, to be in + keeping with other applications. + +1999-06-03 Andrew Innes <andrewi@gnu.org> + + * preprep.c: Fix typo. + +1999-05-02 Andrew Innes <andrewi@gnu.org> + + * config.h: Remove obsolete file. + + * preprep.c (copy_executable_and_move_sections): Ifdef out a + couple of unused switch cases that aren't defined on all + platforms. + + * ftime.bat: Add another variation of the profile command, which + only profiles extended commands. + +1999-03-31 Geoff Voelker <voelker@cs.washington.edu> + + * cmdproxy.c (main): Fix parens. + +1999-03-25 Andrew Innes <andrewi@gnu.org> + + * cmdproxy.c (main): Call GetShortPathName to normalize program + names for comparison. + +1999-03-05 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.def: Compile multiple .c files when possible. + Use BLD instead of assuming i386. + * makefile.nt: Remove common multiple file compilation commands. + +1999-03-04 Geoff Voelker <voelker@cs.washington.edu> + + * cmdproxy.c (main): Add missing parens. + +1999-02-20 Andrew Innes <andrewi@gnu.org> + + * preprep.c: New program to allow dumped image to be profiled. + + * makefile.nt (preprep): New target. + (ALL): Build it. + + * makefile.def (ARCH_CFLAGS): Set struct packing to 8. + + * ftime.bat: Invoke preprep to prepare dumped image for profiling. + Change prep options to profile libc functions and skip the startup + code. + +1999-02-15 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.nt: Create installation directory as first step. + +1999-01-31 Andrew Innes <andrewi@gnu.org> + + * addsection.c: (ROUND_UP_DST_AND_ZERO): Renamed from + ROUND_UP_DST. Zeroes the alignment slop. + (copy_executable_and_add_section): Update the + SizeOfHeaders field properly. + +1999-01-27 Andrew Innes <andrewi@gnu.org> + + * makefile.nt: Do make version comparison as strings. + +1999-01-26 Andrew Innes <andrewi@harlequin.co.uk> + + * runemacs.c (WinMain): Pass explicit environment block to + CreateProcess, to work around a bug in Windows 95/98. + +1999-01-22 Geoff Voelker <voelker@cs.washington.edu> + + * icons: New directory with Davenport's icons. + icons/sink.ico: Renamed from emacs.ico. + + * makefile.nt (install, fast_install): Install Windows icons + into etc/icons. + + * emacs.rc (ICON): Use icons/gnu2a32.ico as the default icon. + +1999-01-17 Andrew Innes <andrewi@gnu.org> + + * makefile.nt: (ALL): List top-level targets. + (addsection): New top-level target. + (install): Copy fns-*.el to bin directory. + + * addsection.c: New program to add static heap section to + temacs.exe after linking, in support of new unexec method. + +1998-12-28 Andrew Innes <andrewi@delysid.gnu.org> + + * cmdproxy.c (spawn): Pass directory for child as parameter. + (main): Save startup directory to give to spawn, then change + directory to location of .exe in order not to prevent startup + directory from being deleted. + +1998-12-08 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.nt: Do string comparision of _NMAKE_VER. + +1998-12-02 Geoff Voelker <voelker@cs.washington.edu> + + * config.nt (LOCALTIME_CACHE): Define. + +1998-11-13 Andrew Innes <andrewi@delysid.gnu.org> + + * install.bat: Convert to DOS format. + +1998-11-10 Andrew Innes <andrewi@harlequin.co.uk> + + * cmdproxy.c (main): Set environment size only when running + command.com. + +1998-11-03 Theodore Jump <tjump@tertius.com> + + * makefile.def (SYS_LDFLAGS): Use swapfile when running from cd or net. + (DEL_TREE): Use rd instead of rmdir. + (ARCH_CFLAGS): Optimize for P6. Align structures on 8-byte boundaries. + * makefile.nt: Compile multiple source files when possible. + +1998-10-05 Geoff Voelker <voelker@cs.washington.edu> + + * cmdproxy.c (main): Treat command line options as case-insensitive. + +1998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu> + + * Version 20.3 released. + +1998-07-20 Geoff Voelker <voelker@cs.washington.edu> + + * addpm.c (main): Explicitly check result of message box for OK. + +1998-06-05 Andrew Innes <andrewi@harlequin.co.uk> + + * inc/sys/file.h (D_OK): Define new macro. + +1998-06-01 Andrew Innes <andrewi@mescaline.gnu.org> + + * makefile.def (CFLAGS): Do not define HAVE_NTGUI. + +1998-05-30 Geoff Voelker <voelker@cs.washington.edu> + + * emacs.rc (VS_VERSION_INFO): Define. + +1998-04-23 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.nt (emacs.bat, debug.bat): Create them in the + installation directory. + +1998-04-23 Andrew Innes <andrewi@harlequin.co.uk> + + * ddeclient.c: New file. (Support program for performing limited + interprocess communication on Windows.) + + * makefile.nt: Build ddeclient. + + * cmdproxy.c (main): Only set environment size for real shell, and + provide extra directory argument, when running on Windows 95. + +1998-04-17 Geoff Voelker <voelker@cs.washington.edu> + + * cmdproxy.c (fail): Exit with a negative return value. + (spawn): Return subprocess return code as an argument. + Explicitly copy environment block. + (main): Update to use return value argument with spawn. + Retry if spawn failed when a subshell was not tried. + + * config.nt: Include new macros from src/config.in. + (GNU_MALLOC, REL_ALLOC): Define. + (RE_TRANSLATE_TYPE): Use Lisp_Object as type. + (RE_TRANSLATE): Use char_table_translate. + + * makefile.def (CP_DIR): Preserve attributes. + + * makefile.nt (clean): Delete patch generated files, optimized + build directory. + +1997-10-01 Geoff Voelker <voelker@cs.washington.edu> + + * addpm.c (env_vars): Fix misplaced % in SHELL entry. + +1997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> + + * Version 20.2 released. + +1997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> + + * Version 20.1 released. + +1997-09-11 Geoff Voelker <voelker@cs.washington.edu> + + * debug.bat.in: New file. + * makefile.nt (debug.bat): New target. + +1997-09-02 Andrew Innes <andrewi@harlequin.co.uk> + + * addpm.c (env_vars): Put site-lisp before lisp in EMACSLOADPATH. + Quote group name. Allow different icons to be specified. + + * cmdproxy.c (get_env_size): New function. + (spawn): Explicitly pass in environment when creating subprocess. + (main): Cleaup error messages. + Specify dynamically sized environment block for real shell. + Pass on unhandled switches to real shell. + Quote program name. + + * makefile.def (CFLAGS_COMMON): Place pdb file in object build + directory. + (CFLAGS) [!MSVCNT11]: Define _CRTAPI1. + + * runemacs.c (WinMain): Allow Emacs process to be started with + high or low priority. + + * emacs.bat.in: Remove OS dependent operations. + +1997-09-02 Geoff Voelker <voelker@cs.washington.edu> + + * addpm.c (env_vars): No longer set INFOPATH. + + * cmdproxy.c (get_next_token): Null terminate token returned. + + * emacs.bat.in (INFOPATH): No longer set INFOPATH. + +1997-08-10 Andrew Innes <andrewi@harlequin.co.uk> + + * addpm.c (env_vars): Set SHELL to cmdproxy. + (main): Initialize idDde to 0. + Determine emacs_path from module file name. + Prompt for install. + + * makefile.def (MSVCNT11): Conditionally define it. + (BASE_LIBS): Do not use oldnames.lib. + (SYS_LDFLAGS): Use pdb files. + (CFLAGS_COMMON) [!spd]: Define EMACSDEBUG. + (ARCH_CFLAGS) [i386 && spd]: Use space optimizations. + (ARCH_CFLAGS) [alpha && spd]: Use optimizations. + + * makefile.nt (ALL): Build cmdproxy. + (cmdproxy): New target. + (install): Install cmdproxy. + + * ftime.bat, debug.bat, cmdproxy.c: New files. + +1997-07-10 Geoff Voelker <voelker@cs.washington.edu> + + * inc/sys/socket.h: (shutdown): Define. + (sys_shutdown): Export. + +1997-07-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> + + * config.nt (RE_TRANSLATE): Copy definition from config.in. + +1997-07-01 Geoff Voelker <voelker@cs.washington.edu> + + * config.nt: Update file comments. + Update undefs added/removed in src/config.in. + +1997-06-19 Geoff Voelker <voelker@cs.washington.edu> + + * makefil.def, emacs.bat: Use windows95 and windowsnt instead + of win95 and winnt, respectively. + +1997-01-04 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.nt (real_install): Create site-lisp in installation dir. + * addpm.c (env_vars): Add site-lisp to EMACSLOADPATH. + * emacs.bat.in: Add site-lisp to EMACSLOADPATH. + +1996-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> + + * Version 19.33 released. + +1996-08-09 Geoff Voelker <voelker@cs.washington.edu> + + * runemacs.c (WinMain): Put a space between the binary and its args. + +1996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> + + * Version 19.32 released. + +1996-07-16 Andrew Innes <andrewi@harlequin.co.uk> + + * makefile.nt (clean): Use OBJDIR macro. + +1996-06-03 Kim F. Storm <kfs@olicom.dk> + + * runemacs.c (CHOOSE_NEWEST_EXE): New parameter macro. + Not defined by default. + (WinMain): Add conditional testing CHOOSE_NEWEST_EXE. + (WinMain): Convert backslashes to slashes in env var values. + + * addpm.c (env_vars): Use slashes, not backslashes. + +1996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu> + + * Version 19.31 released. + +1996-05-13 Andrew Innes <andrewi@harlequin.co.uk> + + * install.bat: Set BUILD_TYPE and INSTALL_DIR before calling make; + undo settings afterwards. + +1996-05-08 Andrew Innes <andrewi@harlequin.co.uk> + + * addpm.c (env_vars): Set SHELL registry entry to value of COMSPEC + environment variable. + +1996-05-03 Andrew Innes <andrewi@harlequin.co.uk> + + * install.bat: Allow for optimized build. + * makefile.def [BUILD_TYPE]: Build optimized version in its own dir. + (ARCH_CFLAGS) [BUILD_TYPE == spd]: Build optimized version. + +1996-05-03 Andrew Innes <andrewi@harlequin.co.uk> + + * addpm.c (REG_ROOT): Don't use a trailing backslash. + (env_vars): Rename field emacs_path to emacs_dir. + (main): Add link to runemacs instead of emacs. + + * install.bat: Check if INSTALL_DIR is passed as an argument. + + * makefile.def (CONFIG_H) [WIN95]: Use config.nt. + + * makefile.nt: Build and install runemacs.exe. + + * runemacs.c: New file. + + * config.w95: File removed. + + * inc/netdb.h, inc/unistd.h, inc/arpa/inet.h, inc/netinet/in.h, + inc/sys/socket.h, inc/sys/time.h: New header files. + + * inc/sys/file.h (F_OK, X_OK, W_OK, R_OK): New macros. + +1996-03-27 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.def (DEL): Defined. + (DEL_TREE) [win95]: Defined. + (SYS_LDFLAGS): Set executable versions to 3.10. + + * makefile.nt: Change uses of del to $(DEL). + +1996-01-17 Erik Naggum <erik@naggum.no> + + * All files: Update FSF's address in comment preamble. + +1996-01-03 George V. Reilly <georger@microcrafts.com> + + * emacs.ico: Now the proverbial kitchen sink icon. + +1995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Version 19.30 released. + +1995-11-22 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.def (CP_DIR): Use platform independent switches for xcopy. + + * makefile.nt (install, fast_install, real_install, clean): + Don't use switches to del not supported by Win95. + +1995-11-07 Kevin Gallo <kgallo@microsoft.com> + + * makefile.nt (addpm.exe): Link with $(ADVAPI32). + (install, fast_install): Change same-dir test to create test file in + installation tree and thereby support read-only shares. + (clean): Remove .pdb files. + + * makefile.def (NTGUI): New macro. + [NTGUI] (CFLAGS): Define HAVE_NTGUI. + + * config.nt, config.w95: Update to latest src/config.in. + + * addpm.c (env_vars): New variable. + (add_registry): New procedure. + (main): Use values of configuration environment variables from + the registry if defined, the process environment otherwise. + +1995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Version 19.29 released. + + * makefile.nt (addpm.exe): Change WinMainCRTStartup to mainCRTStartup. + +1995-06-13 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.nt: Define .c to .obj suffix rule. + (addpm.obj): Compile directly, use CFLAGS. + (addpm.exe): Link from addpm.obj. + + * makefile.def (MSVCNT11): Defined. + (BASE_LIBS) [MSVCNT11]: Use oldnames.lib. + (CFLAGS_COMMON): Defined. + (CFLAGS) [MSVCNT11]: Define _CRTAPI1 to _cdecl. + +1995-06-09 Geoff Voelker <voelker@cs.washington.edu> + + * emacs.bat.in: Renamed from emacs.bat + (emacs_dir): Renamed from emacs_path + Definition removed. + + * addpm.c: New file. + * makefile.nt (ALL,addpm,addpm.exe,addpm.obj): Defined. + (all): Depend upon $(BLD) and $(ALL). + (install): Depend upon emacs.bat. + Create program item for Emacs. + (clean): Delete obj. + (emacs.bat): Defined. + * makefile.def (EMACS_ICON_PATH,ADDPM): Defined. + +1995-05-27 Geoff Voelker <voelker@cs.washington.edu> + + * ebuild.bat, emacs.bat, fast-install.bat, install.bat: + Add carriage returns; necessary for batch files on Win95. + +1995-05-25 Geoff Voelker <voelker@cs.washington.edu> + + * config.w95: Created. + * config.h: Changed to config.nt. + + * makefile.nt (SUBDIRS): Commented out. + (all,install,clean): Expand for-loops. + (BUILD_CMD,INSTALL_CMD,CLEAN_CMD): Defined. + + * makefile.def (SYS_LIB_DIR,SYS_INC_DIR): Undefined. + (ARCH): New definition. + (CPU,CONFIG_H,OS_TYPE): Defined. + (INCLUDE,LIB): Checked if valid. + (ntwin32.mak): Included. + (AR,CC,LINK): New definition. + (ADVAPI32,libc,BASE_LIBS): Defined. + (SYS_LDFLAGS): New definition. + Update comments and preprocessor conditionals. + + * emacs.bat (SHELL): Conditionally defined. + (HOME): Conditionally defined. + (emacs_path,HOME): Update comments. + Turn off all echo. + +1995-05-09 Geoff Voelker <voelker@cs.washington.edu> + + * _emacs, config.h, ebuild.bat, emacs.bat, emacs.rc, + fast-install.bat, install.bat, makefile.def, makefile.nt, paths.h, + inc/pwd.h, inc/sys/dir.h, inc/sys/file.h, inc/sys/ioctl.h, + inc/sys/param.h: Removed carriage-returns. + +1995-05-06 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.def (CVTRES): Defined. + + * emacs.ico, emacs.rc: New files by Kevin Gallo. + +1995-04-10 Geoff Voelker <voelker@cs.washington.edu> + + * src: Removed. + + * src\config.h, src\paths.h: Moved to parent dir, src removed. + +1995-04-09 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.def (INSTALL_DIR): Changed to generic directory. + + * emacs.bat: Added arguments when emacs.exe invoked. + + * ebuild.cmd, emacs.cmd, install.cmd: Changed extension to .bat. + +1994-12-13 voelker <voelker@cs.washington.edu> + + * makefile.def (CC): In configuration section. + (COMPAT_LIB): Defined. + +1994-11-01 voelker <voelker@cs.washington.edu> + + * src/paths.h: New file. + + * src/config.h: New file. + + * inc/pwd.h: New file. + + * inc/sys/dir.h: New file. + + * inc/sys/file.h: New file. + + * inc/sys/ioctl.h: New file. + + * inc/sys/param.h: New file. + + * todo: New file. + + * readme: New file. + + * makefile.nt: New file. + + * makefile.def: New file. + + * install.cmd: New file. + + * install: New file. + + * fast-install.cmd: New file. + + * emacs.cmd: New file. + + * ebuild.cmd: New file. + + * _emacs: New file. diff --git a/nt/INSTALL b/nt/INSTALL new file mode 100644 index 00000000000..d21fd0c12b7 --- /dev/null +++ b/nt/INSTALL @@ -0,0 +1,165 @@ + Building and Installing Emacs + on Windows NT and Windows 95 + +You need a compiler package to build and install Emacs on NT or Win95. +If you don't have one, precompiled versions are available in +ftp://ftp.cs.washington.edu/pub/ntemacs/<version>. + +Configuring: + +(1) In previous versions, you needed to edit makefile.def + to reflect the compiler package that you are using. You should no + longer have to do this if you have defined the INCLUDE and LIB + environment variables, as is customary for use with Windows compilers. + (Unless you are using MSVCNT 1.1, in which case you will need + to set MSVCNT11 to be a non-zero value at the top of makefile.def.) + +(2) Choose the directory into which Emacs will be installed, and + edit makefile.def to define INSTALL_DIR to be this directory. + (Alternatively, if you have INSTALL_DIR set as an environment + variable, the build process will ignore the value in makefile.def + and use the value of the environment variable instead.) Note + that if it is not installed in the directory in which it is built, + the ~16 MB of lisp files will be copied into the installation directory. + + Also, makefile.def is sometimes unpacked read-only; use + + > attrib -r makefile.def + + to make it writable. + +(3) You may need to edit nt/paths.h to specify some other device + instead of `C:'. + +Building: + +(4) The target to compile the sources is "all", and is recursive starting + one directory up. The makefiles for the NT port are in files named + "makefile.nt". To get things started, type in this directory: + + > nmake -f makefile.nt all + + or use the ebuild.bat file. + + When the files are compiled, you will see some warning messages declaring + that some functions don't return a value, or that some data conversions + will be lossy, etc. You can safely ignore these messages. The warnings + may be fixed in the main FSF source at some point, but until then we + will just live with them. + + NOTE: You should not have to edit src\paths.h to get Emacs to run + correctly. All of the variables in src\paths.h are configured + during start up using the nt\emacs.bat file (which gets installed + as bin\emacs.bat -- see below). + +Installing: + +(5) Currently, Emacs requires a number of environment variables to be set + for it to run correctly. A batch file, emacs.bat, is provided that + sets these variables appropriately and then runs the executable + (emacs.bat is generated using the definition of INSTALL_DIR in + nt\makefile.def and the contents of nt\emacs.bat.in). + +(6) The install process will install the files necessary to run Emacs in + INSTALL_DIR (which may be the directory in which it was built), + and create a program manager/folder icon in a folder called GNU Emacs. + From this directory, type: + + > nmake -f makefile.nt install + + or use the install.bat file. + +(7) Create the Emacs startup file. This file can be named either .emacs, + as on Unix, or _emacs. Note that Emacs requires the environment + variable HOME to be set in order for it to locate the startup file. + HOME could be set, for example, in the System panel of the Control + Panel on NT, or in autoexec.bat on Win95. + +(8) Start up Emacs. + + The installation process should have run the addpm.exe program, which + does two things. First, it will create a set of registry keys that + tell Emacs where to find its support files (lisp, info, etc.). + Second, it will create a folder containing an icon linked to + runemacs.exe (a wrapper program for invoking Emacs). You can + also invoke addpm.exe by hand, giving the absolute directory name + of the installation directory as the first argument: + + addpm.exe %INSTALL_DIR% + + Now, to run Emacs, simply click on the icon in the newly created + folder or invoke runemacs.exe from a command prompt. + + Another alternative for running Emacs is to use the emacs.bat batch + file in the bin directory (this was the traditional method of invoking + Emacs). Edit the emacs.bat file to change the emacs_dir environment + variable to point to the Emacs installation directory and invoke the + emacs.bat file to run Emacs. + + Note that, on Win95, you are likely to get "Out of environment space" + messages when invoking the emacs.bat batch file. The problem is that + the console process in which the script is executed runs out of memory + in which to set the Emacs environment variables. To get around this + problem, create a shortcut icon to the emacs.bat script. Then right + click on the icon and select Properties. In the dialog box that pops + up, select the Memory tab and then change the Environment memory + allocation from "Auto" to "1024". Close the dialog box and then + double click on the icon to start Emacs. + +Debugging: + +(9) You should be able to debug Emacs using the MSVC debugger as you would + any other program. To ensure that Emacs uses the lisp files associated + with the source distribution that you are debugging, it is useful + to set the Emacs environment variables to point Emacs to the + source distribution. You can use the debug.bat batch file in this + directory to setup the environment and invoke msdev on the + emacs.exe executable. + + Emacs functions implemented in C use a naming convention that + reflects their names in lisp. The names of the C routines are + the lisp names prefixed with 'F', and with dashes converted to + underscores. For example, the function call-process is implemented + in C by Fcall_process. Similarly, lisp variables are prefixed + with 'V', again with dashes converted to underscores. These + conventions enable you to easily set breakpoints or examine familiar + lisp variables by name. + + Since Emacs data is often in the form of a lisp object, and the + Lisp_Object type is difficult to examine manually in the debugger, + Emacs provides a helper routine called debug_print that prints out + a readable representation of a Lisp_Object. The output from + debug_print is sent to stderr, and to the debugger via the + OutputDebugString routine. The output sent to stderr should be + displayed in the console window that was opened when the emacs.exe + executable was started. The output sent to the debugger should be + displayed in its "Debug" output window. + + When you are in the process of debugging Emacs and you would like + to examine the contents of a Lisp_Object variable, popup the + QuickWatch window (QuickWatch has an eyeglass symbol on its button + in the toolbar). In the text field at the top of the window, enter + debug_print(<variable>) and hit return. For example, start + and run Emacs in the debugger until it is waiting for user input. + Then click on the Break button in the debugger to halt execution. + Emacs should halt in ZwUserGetMessage waiting for an input event. + Use the Call Stack window to select the procedure w32_msp_pump + up the call stack (see below for why you have to do this). Open + the QuickWatch window and enter debug_print(Vexec_path). Evaluating + this expression will then print out the contents of the lisp + variable exec-path. + + If QuickWatch reports that the symbol is unknown, then check the + call stack in the Call Stack window. If the selected frame in the + call stack is not an Emacs procedure, then the debugger won't + recognize Emacs symbols. Instead, select a frame that is inside + an Emacs procedure and try using debug_print again. + + If QuickWatch invokes debug_print but nothing happens, then check + the thread that is selected in the debugger. If the selected + thread is not the last thread to run (the "current" thread), then + it cannot be used to execute debug_print. Use the Debug menu + to select the current thread and try using debug_print again. + Note that the debugger halts execution (e.g., due to a breakpoint) + in the context of the current thread, so this should only be a problem + if you've explicitly switched threads. diff --git a/nt/README b/nt/README new file mode 100644 index 00000000000..816a8a2d495 --- /dev/null +++ b/nt/README @@ -0,0 +1,61 @@ + Emacs for Windows NT and Windows 95 + +This directory contains support for compiling and running GNU Emacs on +Windows NT and Windows 95. This port supports all of the major +functionality of the Unix version, including subprocesses, windowing +features (fonts, colors, scroll bars, multiple frames, etc.), and +networking support. + +Precompiled distributions are also available; ftp to + + ftp://ftp.cs.washington.edu/pub/ntemacs/latest + +for the latest precompiled distributions. + +* Preliminaries + +To compile Emacs, you will need a Microsoft C compiler package. For +NT, this can be any of the SDK compilers from NT 3.1 and up, Microsoft +Visual C++ for NT (versions 1.0 and up), or Microsoft Visual C++ +(versions 2.0 and up). For Windows 95, this can be Microsoft Visual +C++ versions 2.0 and up. + +* Building and installing + +See the INSTALL file in this directory for detailed instructions on +building and installing Emacs on your system. + +* Further information + +If you have access to the World Wide Web, I would recommend pointing +your favorite web browser to the document (if you haven't already): + + http://www.cs.washington.edu/homes/voelker/ntemacs.html + +This web document serves as a FAQ and a source for further information +about the port and related software packages. + +There is also a mailing list for discussing issues related to this +port of Emacs. For information about the list, send a message to +ntemacs-users-request@cs.washington.edu with the word "info" in the +*body* of the message. To subscribe to the list, send a message to +the same address with the word "subscribe" in the body of the message; +similarly, to unsubscribe from the list, send a message with the word +"unsubscribe" in the message body. + +You are also always welcome to send me mail directly. If you don't +hear from me immediately, however, don't worry; it sometimes takes me +a few days (or longer) to get to all of my mail regarding Emacs. + +* Reporting bugs + +If you encounter bugs in this port of Emacs, first check the FAQ on +the web page above to see if the bug is already known and if there are +any workarounds. If not, then I would like to hear about it; either +send a bug report to the mailing list, or to me directly (I would +recommend sending to the list first). + +Enjoy. + +-geoff +(voelker@cs.washington.edu) diff --git a/nt/TODO b/nt/TODO new file mode 100644 index 00000000000..8cf30f81ea3 --- /dev/null +++ b/nt/TODO @@ -0,0 +1,28 @@ + +This is a list of known problems to date with the Windows NT/95 port of +GNU Emacs. + +* Handle wildcards in ls-lisp (e.g., C-x d *.c). + +* Interactive subprocess output is buffered in jerky + +* Presently, C:\foo\bar and C:/foo/bar bring up two buffers on the same file. + Solve this by adding a switch that canonicalizes path separators + (e.g., make them all / or all \)? + +* call-process-region: Another tricky situation with binary and text modes. + An example by dsrosing@reston.ingr.com: use crypt++ to load compressed + data into a buffer, edit the buffer, save the data back out. (Also + need to propagate the "/C" switch change sent the shell in crypt++.el + back to the author.) + +* Dired uses ls-lisp, which reports all files as being owned by the + current user. Need to dig through the security descriptor to extract + the owner of the file (and the group?) using LookupAccountSid. + +* Integrate the build for NT into the GNU config process once + a decent shell becomes freely available + +* Integrate networking. + +* Fix Win95 subprocesses. diff --git a/nt/icons/emacs.ico b/nt/icons/emacs.ico Binary files differnew file mode 100644 index 00000000000..39a6a6a7c84 --- /dev/null +++ b/nt/icons/emacs.ico diff --git a/nt/icons/gnu2a32.ico b/nt/icons/gnu2a32.ico Binary files differnew file mode 100644 index 00000000000..c653ba9049b --- /dev/null +++ b/nt/icons/gnu2a32.ico diff --git a/nt/icons/gnu2a32t.ico b/nt/icons/gnu2a32t.ico Binary files differnew file mode 100644 index 00000000000..3b32e3a15db --- /dev/null +++ b/nt/icons/gnu2a32t.ico diff --git a/nt/icons/gnu2b48.ico b/nt/icons/gnu2b48.ico Binary files differnew file mode 100644 index 00000000000..4c2c1d9e71c --- /dev/null +++ b/nt/icons/gnu2b48.ico diff --git a/nt/icons/gnu2b48t.ico b/nt/icons/gnu2b48t.ico Binary files differnew file mode 100644 index 00000000000..3154c47966d --- /dev/null +++ b/nt/icons/gnu2b48t.ico diff --git a/nt/icons/gnu3b32.ico b/nt/icons/gnu3b32.ico Binary files differnew file mode 100644 index 00000000000..eb49656fa69 --- /dev/null +++ b/nt/icons/gnu3b32.ico diff --git a/nt/icons/gnu3b32t.ico b/nt/icons/gnu3b32t.ico Binary files differnew file mode 100644 index 00000000000..24ac5593bf3 --- /dev/null +++ b/nt/icons/gnu3b32t.ico diff --git a/nt/icons/gnu4g48.ico b/nt/icons/gnu4g48.ico Binary files differnew file mode 100644 index 00000000000..88fdab3111b --- /dev/null +++ b/nt/icons/gnu4g48.ico diff --git a/nt/icons/gnu4g48t.ico b/nt/icons/gnu4g48t.ico Binary files differnew file mode 100644 index 00000000000..883b736a685 --- /dev/null +++ b/nt/icons/gnu4g48t.ico diff --git a/nt/icons/gnu5w32.ico b/nt/icons/gnu5w32.ico Binary files differnew file mode 100644 index 00000000000..ab9c039151f --- /dev/null +++ b/nt/icons/gnu5w32.ico diff --git a/nt/icons/gnu5w32t.ico b/nt/icons/gnu5w32t.ico Binary files differnew file mode 100644 index 00000000000..cc25be86b85 --- /dev/null +++ b/nt/icons/gnu5w32t.ico diff --git a/nt/icons/gnu6w48.ico b/nt/icons/gnu6w48.ico Binary files differnew file mode 100644 index 00000000000..1c83c10ed96 --- /dev/null +++ b/nt/icons/gnu6w48.ico diff --git a/nt/icons/gnu6w48t.ico b/nt/icons/gnu6w48t.ico Binary files differnew file mode 100644 index 00000000000..a4228ee5f9d --- /dev/null +++ b/nt/icons/gnu6w48t.ico diff --git a/nt/icons/gnu7.ico b/nt/icons/gnu7.ico Binary files differnew file mode 100644 index 00000000000..5a32b413bee --- /dev/null +++ b/nt/icons/gnu7.ico diff --git a/nt/icons/gnu8.ico b/nt/icons/gnu8.ico Binary files differnew file mode 100644 index 00000000000..4583fc800f9 --- /dev/null +++ b/nt/icons/gnu8.ico diff --git a/nt/icons/gnu9.ico b/nt/icons/gnu9.ico Binary files differnew file mode 100644 index 00000000000..8c4830e24c0 --- /dev/null +++ b/nt/icons/gnu9.ico diff --git a/nt/icons/sink.ico b/nt/icons/sink.ico Binary files differnew file mode 100644 index 00000000000..d0804108af9 --- /dev/null +++ b/nt/icons/sink.ico |