aboutsummaryrefslogtreecommitdiffstats
path: root/nt
diff options
context:
space:
mode:
authorDave Love1999-10-03 15:56:58 +0000
committerDave Love1999-10-03 15:56:58 +0000
commita4a9692da15ec1531a5075b671b62ebf1f2b9d92 (patch)
tree13d2395598273a1e6667211e29c6d286480d65b6 /nt
parentd7f3b2023f6105f04e90791ee19efd5a872ce33a (diff)
downloademacs-a4a9692da15ec1531a5075b671b62ebf1f2b9d92.tar.gz
emacs-a4a9692da15ec1531a5075b671b62ebf1f2b9d92.zip
#
Diffstat (limited to 'nt')
-rw-r--r--nt/ChangeLog512
-rw-r--r--nt/INSTALL165
-rw-r--r--nt/README61
-rw-r--r--nt/TODO28
-rw-r--r--nt/icons/emacs.icobin0 -> 766 bytes
-rw-r--r--nt/icons/gnu2a32.icobin0 -> 2238 bytes
-rw-r--r--nt/icons/gnu2a32t.icobin0 -> 2238 bytes
-rw-r--r--nt/icons/gnu2b48.icobin0 -> 3774 bytes
-rw-r--r--nt/icons/gnu2b48t.icobin0 -> 3774 bytes
-rw-r--r--nt/icons/gnu3b32.icobin0 -> 2238 bytes
-rw-r--r--nt/icons/gnu3b32t.icobin0 -> 2238 bytes
-rw-r--r--nt/icons/gnu4g48.icobin0 -> 3774 bytes
-rw-r--r--nt/icons/gnu4g48t.icobin0 -> 3774 bytes
-rw-r--r--nt/icons/gnu5w32.icobin0 -> 2238 bytes
-rw-r--r--nt/icons/gnu5w32t.icobin0 -> 2238 bytes
-rw-r--r--nt/icons/gnu6w48.icobin0 -> 3774 bytes
-rw-r--r--nt/icons/gnu6w48t.icobin0 -> 3774 bytes
-rw-r--r--nt/icons/gnu7.icobin0 -> 766 bytes
-rw-r--r--nt/icons/gnu8.icobin0 -> 766 bytes
-rw-r--r--nt/icons/gnu9.icobin0 -> 766 bytes
-rw-r--r--nt/icons/sink.icobin0 -> 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 @@
11999-07-12 Richard Stallman <rms@gnu.org>
2
3 * Version 20.4 released.
4
51999-06-16 Andrew Innes <andrewi@gnu.org>
6
7 * emacs.rc: Use an icon with a transparent background, to be in
8 keeping with other applications.
9
101999-06-03 Andrew Innes <andrewi@gnu.org>
11
12 * preprep.c: Fix typo.
13
141999-05-02 Andrew Innes <andrewi@gnu.org>
15
16 * config.h: Remove obsolete file.
17
18 * preprep.c (copy_executable_and_move_sections): Ifdef out a
19 couple of unused switch cases that aren't defined on all
20 platforms.
21
22 * ftime.bat: Add another variation of the profile command, which
23 only profiles extended commands.
24
251999-03-31 Geoff Voelker <voelker@cs.washington.edu>
26
27 * cmdproxy.c (main): Fix parens.
28
291999-03-25 Andrew Innes <andrewi@gnu.org>
30
31 * cmdproxy.c (main): Call GetShortPathName to normalize program
32 names for comparison.
33
341999-03-05 Geoff Voelker <voelker@cs.washington.edu>
35
36 * makefile.def: Compile multiple .c files when possible.
37 Use BLD instead of assuming i386.
38 * makefile.nt: Remove common multiple file compilation commands.
39
401999-03-04 Geoff Voelker <voelker@cs.washington.edu>
41
42 * cmdproxy.c (main): Add missing parens.
43
441999-02-20 Andrew Innes <andrewi@gnu.org>
45
46 * preprep.c: New program to allow dumped image to be profiled.
47
48 * makefile.nt (preprep): New target.
49 (ALL): Build it.
50
51 * makefile.def (ARCH_CFLAGS): Set struct packing to 8.
52
53 * ftime.bat: Invoke preprep to prepare dumped image for profiling.
54 Change prep options to profile libc functions and skip the startup
55 code.
56
571999-02-15 Geoff Voelker <voelker@cs.washington.edu>
58
59 * makefile.nt: Create installation directory as first step.
60
611999-01-31 Andrew Innes <andrewi@gnu.org>
62
63 * addsection.c: (ROUND_UP_DST_AND_ZERO): Renamed from
64 ROUND_UP_DST. Zeroes the alignment slop.
65 (copy_executable_and_add_section): Update the
66 SizeOfHeaders field properly.
67
681999-01-27 Andrew Innes <andrewi@gnu.org>
69
70 * makefile.nt: Do make version comparison as strings.
71
721999-01-26 Andrew Innes <andrewi@harlequin.co.uk>
73
74 * runemacs.c (WinMain): Pass explicit environment block to
75 CreateProcess, to work around a bug in Windows 95/98.
76
771999-01-22 Geoff Voelker <voelker@cs.washington.edu>
78
79 * icons: New directory with Davenport's icons.
80 icons/sink.ico: Renamed from emacs.ico.
81
82 * makefile.nt (install, fast_install): Install Windows icons
83 into etc/icons.
84
85 * emacs.rc (ICON): Use icons/gnu2a32.ico as the default icon.
86
871999-01-17 Andrew Innes <andrewi@gnu.org>
88
89 * makefile.nt: (ALL): List top-level targets.
90 (addsection): New top-level target.
91 (install): Copy fns-*.el to bin directory.
92
93 * addsection.c: New program to add static heap section to
94 temacs.exe after linking, in support of new unexec method.
95
961998-12-28 Andrew Innes <andrewi@delysid.gnu.org>
97
98 * cmdproxy.c (spawn): Pass directory for child as parameter.
99 (main): Save startup directory to give to spawn, then change
100 directory to location of .exe in order not to prevent startup
101 directory from being deleted.
102
1031998-12-08 Geoff Voelker <voelker@cs.washington.edu>
104
105 * makefile.nt: Do string comparision of _NMAKE_VER.
106
1071998-12-02 Geoff Voelker <voelker@cs.washington.edu>
108
109 * config.nt (LOCALTIME_CACHE): Define.
110
1111998-11-13 Andrew Innes <andrewi@delysid.gnu.org>
112
113 * install.bat: Convert to DOS format.
114
1151998-11-10 Andrew Innes <andrewi@harlequin.co.uk>
116
117 * cmdproxy.c (main): Set environment size only when running
118 command.com.
119
1201998-11-03 Theodore Jump <tjump@tertius.com>
121
122 * makefile.def (SYS_LDFLAGS): Use swapfile when running from cd or net.
123 (DEL_TREE): Use rd instead of rmdir.
124 (ARCH_CFLAGS): Optimize for P6. Align structures on 8-byte boundaries.
125 * makefile.nt: Compile multiple source files when possible.
126
1271998-10-05 Geoff Voelker <voelker@cs.washington.edu>
128
129 * cmdproxy.c (main): Treat command line options as case-insensitive.
130
1311998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu>
132
133 * Version 20.3 released.
134
1351998-07-20 Geoff Voelker <voelker@cs.washington.edu>
136
137 * addpm.c (main): Explicitly check result of message box for OK.
138
1391998-06-05 Andrew Innes <andrewi@harlequin.co.uk>
140
141 * inc/sys/file.h (D_OK): Define new macro.
142
1431998-06-01 Andrew Innes <andrewi@mescaline.gnu.org>
144
145 * makefile.def (CFLAGS): Do not define HAVE_NTGUI.
146
1471998-05-30 Geoff Voelker <voelker@cs.washington.edu>
148
149 * emacs.rc (VS_VERSION_INFO): Define.
150
1511998-04-23 Geoff Voelker <voelker@cs.washington.edu>
152
153 * makefile.nt (emacs.bat, debug.bat): Create them in the
154 installation directory.
155
1561998-04-23 Andrew Innes <andrewi@harlequin.co.uk>
157
158 * ddeclient.c: New file. (Support program for performing limited
159 interprocess communication on Windows.)
160
161 * makefile.nt: Build ddeclient.
162
163 * cmdproxy.c (main): Only set environment size for real shell, and
164 provide extra directory argument, when running on Windows 95.
165
1661998-04-17 Geoff Voelker <voelker@cs.washington.edu>
167
168 * cmdproxy.c (fail): Exit with a negative return value.
169 (spawn): Return subprocess return code as an argument.
170 Explicitly copy environment block.
171 (main): Update to use return value argument with spawn.
172 Retry if spawn failed when a subshell was not tried.
173
174 * config.nt: Include new macros from src/config.in.
175 (GNU_MALLOC, REL_ALLOC): Define.
176 (RE_TRANSLATE_TYPE): Use Lisp_Object as type.
177 (RE_TRANSLATE): Use char_table_translate.
178
179 * makefile.def (CP_DIR): Preserve attributes.
180
181 * makefile.nt (clean): Delete patch generated files, optimized
182 build directory.
183
1841997-10-01 Geoff Voelker <voelker@cs.washington.edu>
185
186 * addpm.c (env_vars): Fix misplaced % in SHELL entry.
187
1881997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
189
190 * Version 20.2 released.
191
1921997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
193
194 * Version 20.1 released.
195
1961997-09-11 Geoff Voelker <voelker@cs.washington.edu>
197
198 * debug.bat.in: New file.
199 * makefile.nt (debug.bat): New target.
200
2011997-09-02 Andrew Innes <andrewi@harlequin.co.uk>
202
203 * addpm.c (env_vars): Put site-lisp before lisp in EMACSLOADPATH.
204 Quote group name. Allow different icons to be specified.
205
206 * cmdproxy.c (get_env_size): New function.
207 (spawn): Explicitly pass in environment when creating subprocess.
208 (main): Cleaup error messages.
209 Specify dynamically sized environment block for real shell.
210 Pass on unhandled switches to real shell.
211 Quote program name.
212
213 * makefile.def (CFLAGS_COMMON): Place pdb file in object build
214 directory.
215 (CFLAGS) [!MSVCNT11]: Define _CRTAPI1.
216
217 * runemacs.c (WinMain): Allow Emacs process to be started with
218 high or low priority.
219
220 * emacs.bat.in: Remove OS dependent operations.
221
2221997-09-02 Geoff Voelker <voelker@cs.washington.edu>
223
224 * addpm.c (env_vars): No longer set INFOPATH.
225
226 * cmdproxy.c (get_next_token): Null terminate token returned.
227
228 * emacs.bat.in (INFOPATH): No longer set INFOPATH.
229
2301997-08-10 Andrew Innes <andrewi@harlequin.co.uk>
231
232 * addpm.c (env_vars): Set SHELL to cmdproxy.
233 (main): Initialize idDde to 0.
234 Determine emacs_path from module file name.
235 Prompt for install.
236
237 * makefile.def (MSVCNT11): Conditionally define it.
238 (BASE_LIBS): Do not use oldnames.lib.
239 (SYS_LDFLAGS): Use pdb files.
240 (CFLAGS_COMMON) [!spd]: Define EMACSDEBUG.
241 (ARCH_CFLAGS) [i386 && spd]: Use space optimizations.
242 (ARCH_CFLAGS) [alpha && spd]: Use optimizations.
243
244 * makefile.nt (ALL): Build cmdproxy.
245 (cmdproxy): New target.
246 (install): Install cmdproxy.
247
248 * ftime.bat, debug.bat, cmdproxy.c: New files.
249
2501997-07-10 Geoff Voelker <voelker@cs.washington.edu>
251
252 * inc/sys/socket.h: (shutdown): Define.
253 (sys_shutdown): Export.
254
2551997-07-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
256
257 * config.nt (RE_TRANSLATE): Copy definition from config.in.
258
2591997-07-01 Geoff Voelker <voelker@cs.washington.edu>
260
261 * config.nt: Update file comments.
262 Update undefs added/removed in src/config.in.
263
2641997-06-19 Geoff Voelker <voelker@cs.washington.edu>
265
266 * makefil.def, emacs.bat: Use windows95 and windowsnt instead
267 of win95 and winnt, respectively.
268
2691997-01-04 Geoff Voelker <voelker@cs.washington.edu>
270
271 * makefile.nt (real_install): Create site-lisp in installation dir.
272 * addpm.c (env_vars): Add site-lisp to EMACSLOADPATH.
273 * emacs.bat.in: Add site-lisp to EMACSLOADPATH.
274
2751996-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
276
277 * Version 19.33 released.
278
2791996-08-09 Geoff Voelker <voelker@cs.washington.edu>
280
281 * runemacs.c (WinMain): Put a space between the binary and its args.
282
2831996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
284
285 * Version 19.32 released.
286
2871996-07-16 Andrew Innes <andrewi@harlequin.co.uk>
288
289 * makefile.nt (clean): Use OBJDIR macro.
290
2911996-06-03 Kim F. Storm <kfs@olicom.dk>
292
293 * runemacs.c (CHOOSE_NEWEST_EXE): New parameter macro.
294 Not defined by default.
295 (WinMain): Add conditional testing CHOOSE_NEWEST_EXE.
296 (WinMain): Convert backslashes to slashes in env var values.
297
298 * addpm.c (env_vars): Use slashes, not backslashes.
299
3001996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
301
302 * Version 19.31 released.
303
3041996-05-13 Andrew Innes <andrewi@harlequin.co.uk>
305
306 * install.bat: Set BUILD_TYPE and INSTALL_DIR before calling make;
307 undo settings afterwards.
308
3091996-05-08 Andrew Innes <andrewi@harlequin.co.uk>
310
311 * addpm.c (env_vars): Set SHELL registry entry to value of COMSPEC
312 environment variable.
313
3141996-05-03 Andrew Innes <andrewi@harlequin.co.uk>
315
316 * install.bat: Allow for optimized build.
317 * makefile.def [BUILD_TYPE]: Build optimized version in its own dir.
318 (ARCH_CFLAGS) [BUILD_TYPE == spd]: Build optimized version.
319
3201996-05-03 Andrew Innes <andrewi@harlequin.co.uk>
321
322 * addpm.c (REG_ROOT): Don't use a trailing backslash.
323 (env_vars): Rename field emacs_path to emacs_dir.
324 (main): Add link to runemacs instead of emacs.
325
326 * install.bat: Check if INSTALL_DIR is passed as an argument.
327
328 * makefile.def (CONFIG_H) [WIN95]: Use config.nt.
329
330 * makefile.nt: Build and install runemacs.exe.
331
332 * runemacs.c: New file.
333
334 * config.w95: File removed.
335
336 * inc/netdb.h, inc/unistd.h, inc/arpa/inet.h, inc/netinet/in.h,
337 inc/sys/socket.h, inc/sys/time.h: New header files.
338
339 * inc/sys/file.h (F_OK, X_OK, W_OK, R_OK): New macros.
340
3411996-03-27 Geoff Voelker <voelker@cs.washington.edu>
342
343 * makefile.def (DEL): Defined.
344 (DEL_TREE) [win95]: Defined.
345 (SYS_LDFLAGS): Set executable versions to 3.10.
346
347 * makefile.nt: Change uses of del to $(DEL).
348
3491996-01-17 Erik Naggum <erik@naggum.no>
350
351 * All files: Update FSF's address in comment preamble.
352
3531996-01-03 George V. Reilly <georger@microcrafts.com>
354
355 * emacs.ico: Now the proverbial kitchen sink icon.
356
3571995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
358
359 * Version 19.30 released.
360
3611995-11-22 Geoff Voelker <voelker@cs.washington.edu>
362
363 * makefile.def (CP_DIR): Use platform independent switches for xcopy.
364
365 * makefile.nt (install, fast_install, real_install, clean):
366 Don't use switches to del not supported by Win95.
367
3681995-11-07 Kevin Gallo <kgallo@microsoft.com>
369
370 * makefile.nt (addpm.exe): Link with $(ADVAPI32).
371 (install, fast_install): Change same-dir test to create test file in
372 installation tree and thereby support read-only shares.
373 (clean): Remove .pdb files.
374
375 * makefile.def (NTGUI): New macro.
376 [NTGUI] (CFLAGS): Define HAVE_NTGUI.
377
378 * config.nt, config.w95: Update to latest src/config.in.
379
380 * addpm.c (env_vars): New variable.
381 (add_registry): New procedure.
382 (main): Use values of configuration environment variables from
383 the registry if defined, the process environment otherwise.
384
3851995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
386
387 * Version 19.29 released.
388
389 * makefile.nt (addpm.exe): Change WinMainCRTStartup to mainCRTStartup.
390
3911995-06-13 Geoff Voelker <voelker@cs.washington.edu>
392
393 * makefile.nt: Define .c to .obj suffix rule.
394 (addpm.obj): Compile directly, use CFLAGS.
395 (addpm.exe): Link from addpm.obj.
396
397 * makefile.def (MSVCNT11): Defined.
398 (BASE_LIBS) [MSVCNT11]: Use oldnames.lib.
399 (CFLAGS_COMMON): Defined.
400 (CFLAGS) [MSVCNT11]: Define _CRTAPI1 to _cdecl.
401
4021995-06-09 Geoff Voelker <voelker@cs.washington.edu>
403
404 * emacs.bat.in: Renamed from emacs.bat
405 (emacs_dir): Renamed from emacs_path
406 Definition removed.
407
408 * addpm.c: New file.
409 * makefile.nt (ALL,addpm,addpm.exe,addpm.obj): Defined.
410 (all): Depend upon $(BLD) and $(ALL).
411 (install): Depend upon emacs.bat.
412 Create program item for Emacs.
413 (clean): Delete obj.
414 (emacs.bat): Defined.
415 * makefile.def (EMACS_ICON_PATH,ADDPM): Defined.
416
4171995-05-27 Geoff Voelker <voelker@cs.washington.edu>
418
419 * ebuild.bat, emacs.bat, fast-install.bat, install.bat:
420 Add carriage returns; necessary for batch files on Win95.
421
4221995-05-25 Geoff Voelker <voelker@cs.washington.edu>
423
424 * config.w95: Created.
425 * config.h: Changed to config.nt.
426
427 * makefile.nt (SUBDIRS): Commented out.
428 (all,install,clean): Expand for-loops.
429 (BUILD_CMD,INSTALL_CMD,CLEAN_CMD): Defined.
430
431 * makefile.def (SYS_LIB_DIR,SYS_INC_DIR): Undefined.
432 (ARCH): New definition.
433 (CPU,CONFIG_H,OS_TYPE): Defined.
434 (INCLUDE,LIB): Checked if valid.
435 (ntwin32.mak): Included.
436 (AR,CC,LINK): New definition.
437 (ADVAPI32,libc,BASE_LIBS): Defined.
438 (SYS_LDFLAGS): New definition.
439 Update comments and preprocessor conditionals.
440
441 * emacs.bat (SHELL): Conditionally defined.
442 (HOME): Conditionally defined.
443 (emacs_path,HOME): Update comments.
444 Turn off all echo.
445
4461995-05-09 Geoff Voelker <voelker@cs.washington.edu>
447
448 * _emacs, config.h, ebuild.bat, emacs.bat, emacs.rc,
449 fast-install.bat, install.bat, makefile.def, makefile.nt, paths.h,
450 inc/pwd.h, inc/sys/dir.h, inc/sys/file.h, inc/sys/ioctl.h,
451 inc/sys/param.h: Removed carriage-returns.
452
4531995-05-06 Geoff Voelker <voelker@cs.washington.edu>
454
455 * makefile.def (CVTRES): Defined.
456
457 * emacs.ico, emacs.rc: New files by Kevin Gallo.
458
4591995-04-10 Geoff Voelker <voelker@cs.washington.edu>
460
461 * src: Removed.
462
463 * src\config.h, src\paths.h: Moved to parent dir, src removed.
464
4651995-04-09 Geoff Voelker <voelker@cs.washington.edu>
466
467 * makefile.def (INSTALL_DIR): Changed to generic directory.
468
469 * emacs.bat: Added arguments when emacs.exe invoked.
470
471 * ebuild.cmd, emacs.cmd, install.cmd: Changed extension to .bat.
472
4731994-12-13 voelker <voelker@cs.washington.edu>
474
475 * makefile.def (CC): In configuration section.
476 (COMPAT_LIB): Defined.
477
4781994-11-01 voelker <voelker@cs.washington.edu>
479
480 * src/paths.h: New file.
481
482 * src/config.h: New file.
483
484 * inc/pwd.h: New file.
485
486 * inc/sys/dir.h: New file.
487
488 * inc/sys/file.h: New file.
489
490 * inc/sys/ioctl.h: New file.
491
492 * inc/sys/param.h: New file.
493
494 * todo: New file.
495
496 * readme: New file.
497
498 * makefile.nt: New file.
499
500 * makefile.def: New file.
501
502 * install.cmd: New file.
503
504 * install: New file.
505
506 * fast-install.cmd: New file.
507
508 * emacs.cmd: New file.
509
510 * ebuild.cmd: New file.
511
512 * _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 @@
1 Building and Installing Emacs
2 on Windows NT and Windows 95
3
4You need a compiler package to build and install Emacs on NT or Win95.
5If you don't have one, precompiled versions are available in
6ftp://ftp.cs.washington.edu/pub/ntemacs/<version>.
7
8Configuring:
9
10(1) In previous versions, you needed to edit makefile.def
11 to reflect the compiler package that you are using. You should no
12 longer have to do this if you have defined the INCLUDE and LIB
13 environment variables, as is customary for use with Windows compilers.
14 (Unless you are using MSVCNT 1.1, in which case you will need
15 to set MSVCNT11 to be a non-zero value at the top of makefile.def.)
16
17(2) Choose the directory into which Emacs will be installed, and
18 edit makefile.def to define INSTALL_DIR to be this directory.
19 (Alternatively, if you have INSTALL_DIR set as an environment
20 variable, the build process will ignore the value in makefile.def
21 and use the value of the environment variable instead.) Note
22 that if it is not installed in the directory in which it is built,
23 the ~16 MB of lisp files will be copied into the installation directory.
24
25 Also, makefile.def is sometimes unpacked read-only; use
26
27 > attrib -r makefile.def
28
29 to make it writable.
30
31(3) You may need to edit nt/paths.h to specify some other device
32 instead of `C:'.
33
34Building:
35
36(4) The target to compile the sources is "all", and is recursive starting
37 one directory up. The makefiles for the NT port are in files named
38 "makefile.nt". To get things started, type in this directory:
39
40 > nmake -f makefile.nt all
41
42 or use the ebuild.bat file.
43
44 When the files are compiled, you will see some warning messages declaring
45 that some functions don't return a value, or that some data conversions
46 will be lossy, etc. You can safely ignore these messages. The warnings
47 may be fixed in the main FSF source at some point, but until then we
48 will just live with them.
49
50 NOTE: You should not have to edit src\paths.h to get Emacs to run
51 correctly. All of the variables in src\paths.h are configured
52 during start up using the nt\emacs.bat file (which gets installed
53 as bin\emacs.bat -- see below).
54
55Installing:
56
57(5) Currently, Emacs requires a number of environment variables to be set
58 for it to run correctly. A batch file, emacs.bat, is provided that
59 sets these variables appropriately and then runs the executable
60 (emacs.bat is generated using the definition of INSTALL_DIR in
61 nt\makefile.def and the contents of nt\emacs.bat.in).
62
63(6) The install process will install the files necessary to run Emacs in
64 INSTALL_DIR (which may be the directory in which it was built),
65 and create a program manager/folder icon in a folder called GNU Emacs.
66 From this directory, type:
67
68 > nmake -f makefile.nt install
69
70 or use the install.bat file.
71
72(7) Create the Emacs startup file. This file can be named either .emacs,
73 as on Unix, or _emacs. Note that Emacs requires the environment
74 variable HOME to be set in order for it to locate the startup file.
75 HOME could be set, for example, in the System panel of the Control
76 Panel on NT, or in autoexec.bat on Win95.
77
78(8) Start up Emacs.
79
80 The installation process should have run the addpm.exe program, which
81 does two things. First, it will create a set of registry keys that
82 tell Emacs where to find its support files (lisp, info, etc.).
83 Second, it will create a folder containing an icon linked to
84 runemacs.exe (a wrapper program for invoking Emacs). You can
85 also invoke addpm.exe by hand, giving the absolute directory name
86 of the installation directory as the first argument:
87
88 addpm.exe %INSTALL_DIR%
89
90 Now, to run Emacs, simply click on the icon in the newly created
91 folder or invoke runemacs.exe from a command prompt.
92
93 Another alternative for running Emacs is to use the emacs.bat batch
94 file in the bin directory (this was the traditional method of invoking
95 Emacs). Edit the emacs.bat file to change the emacs_dir environment
96 variable to point to the Emacs installation directory and invoke the
97 emacs.bat file to run Emacs.
98
99 Note that, on Win95, you are likely to get "Out of environment space"
100 messages when invoking the emacs.bat batch file. The problem is that
101 the console process in which the script is executed runs out of memory
102 in which to set the Emacs environment variables. To get around this
103 problem, create a shortcut icon to the emacs.bat script. Then right
104 click on the icon and select Properties. In the dialog box that pops
105 up, select the Memory tab and then change the Environment memory
106 allocation from "Auto" to "1024". Close the dialog box and then
107 double click on the icon to start Emacs.
108
109Debugging:
110
111(9) You should be able to debug Emacs using the MSVC debugger as you would
112 any other program. To ensure that Emacs uses the lisp files associated
113 with the source distribution that you are debugging, it is useful
114 to set the Emacs environment variables to point Emacs to the
115 source distribution. You can use the debug.bat batch file in this
116 directory to setup the environment and invoke msdev on the
117 emacs.exe executable.
118
119 Emacs functions implemented in C use a naming convention that
120 reflects their names in lisp. The names of the C routines are
121 the lisp names prefixed with 'F', and with dashes converted to
122 underscores. For example, the function call-process is implemented
123 in C by Fcall_process. Similarly, lisp variables are prefixed
124 with 'V', again with dashes converted to underscores. These
125 conventions enable you to easily set breakpoints or examine familiar
126 lisp variables by name.
127
128 Since Emacs data is often in the form of a lisp object, and the
129 Lisp_Object type is difficult to examine manually in the debugger,
130 Emacs provides a helper routine called debug_print that prints out
131 a readable representation of a Lisp_Object. The output from
132 debug_print is sent to stderr, and to the debugger via the
133 OutputDebugString routine. The output sent to stderr should be
134 displayed in the console window that was opened when the emacs.exe
135 executable was started. The output sent to the debugger should be
136 displayed in its "Debug" output window.
137
138 When you are in the process of debugging Emacs and you would like
139 to examine the contents of a Lisp_Object variable, popup the
140 QuickWatch window (QuickWatch has an eyeglass symbol on its button
141 in the toolbar). In the text field at the top of the window, enter
142 debug_print(<variable>) and hit return. For example, start
143 and run Emacs in the debugger until it is waiting for user input.
144 Then click on the Break button in the debugger to halt execution.
145 Emacs should halt in ZwUserGetMessage waiting for an input event.
146 Use the Call Stack window to select the procedure w32_msp_pump
147 up the call stack (see below for why you have to do this). Open
148 the QuickWatch window and enter debug_print(Vexec_path). Evaluating
149 this expression will then print out the contents of the lisp
150 variable exec-path.
151
152 If QuickWatch reports that the symbol is unknown, then check the
153 call stack in the Call Stack window. If the selected frame in the
154 call stack is not an Emacs procedure, then the debugger won't
155 recognize Emacs symbols. Instead, select a frame that is inside
156 an Emacs procedure and try using debug_print again.
157
158 If QuickWatch invokes debug_print but nothing happens, then check
159 the thread that is selected in the debugger. If the selected
160 thread is not the last thread to run (the "current" thread), then
161 it cannot be used to execute debug_print. Use the Debug menu
162 to select the current thread and try using debug_print again.
163 Note that the debugger halts execution (e.g., due to a breakpoint)
164 in the context of the current thread, so this should only be a problem
165 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 @@
1 Emacs for Windows NT and Windows 95
2
3This directory contains support for compiling and running GNU Emacs on
4Windows NT and Windows 95. This port supports all of the major
5functionality of the Unix version, including subprocesses, windowing
6features (fonts, colors, scroll bars, multiple frames, etc.), and
7networking support.
8
9Precompiled distributions are also available; ftp to
10
11 ftp://ftp.cs.washington.edu/pub/ntemacs/latest
12
13for the latest precompiled distributions.
14
15* Preliminaries
16
17To compile Emacs, you will need a Microsoft C compiler package. For
18NT, this can be any of the SDK compilers from NT 3.1 and up, Microsoft
19Visual C++ for NT (versions 1.0 and up), or Microsoft Visual C++
20(versions 2.0 and up). For Windows 95, this can be Microsoft Visual
21C++ versions 2.0 and up.
22
23* Building and installing
24
25See the INSTALL file in this directory for detailed instructions on
26building and installing Emacs on your system.
27
28* Further information
29
30If you have access to the World Wide Web, I would recommend pointing
31your favorite web browser to the document (if you haven't already):
32
33 http://www.cs.washington.edu/homes/voelker/ntemacs.html
34
35This web document serves as a FAQ and a source for further information
36about the port and related software packages.
37
38There is also a mailing list for discussing issues related to this
39port of Emacs. For information about the list, send a message to
40ntemacs-users-request@cs.washington.edu with the word "info" in the
41*body* of the message. To subscribe to the list, send a message to
42the same address with the word "subscribe" in the body of the message;
43similarly, to unsubscribe from the list, send a message with the word
44"unsubscribe" in the message body.
45
46You are also always welcome to send me mail directly. If you don't
47hear from me immediately, however, don't worry; it sometimes takes me
48a few days (or longer) to get to all of my mail regarding Emacs.
49
50* Reporting bugs
51
52If you encounter bugs in this port of Emacs, first check the FAQ on
53the web page above to see if the bug is already known and if there are
54any workarounds. If not, then I would like to hear about it; either
55send a bug report to the mailing list, or to me directly (I would
56recommend sending to the list first).
57
58Enjoy.
59
60-geoff
61(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 @@
1
2This is a list of known problems to date with the Windows NT/95 port of
3GNU Emacs.
4
5* Handle wildcards in ls-lisp (e.g., C-x d *.c).
6
7* Interactive subprocess output is buffered in jerky
8
9* Presently, C:\foo\bar and C:/foo/bar bring up two buffers on the same file.
10 Solve this by adding a switch that canonicalizes path separators
11 (e.g., make them all / or all \)?
12
13* call-process-region: Another tricky situation with binary and text modes.
14 An example by dsrosing@reston.ingr.com: use crypt++ to load compressed
15 data into a buffer, edit the buffer, save the data back out. (Also
16 need to propagate the "/C" switch change sent the shell in crypt++.el
17 back to the author.)
18
19* Dired uses ls-lisp, which reports all files as being owned by the
20 current user. Need to dig through the security descriptor to extract
21 the owner of the file (and the group?) using LookupAccountSid.
22
23* Integrate the build for NT into the GNU config process once
24 a decent shell becomes freely available
25
26* Integrate networking.
27
28* Fix Win95 subprocesses.
diff --git a/nt/icons/emacs.ico b/nt/icons/emacs.ico
new file mode 100644
index 00000000000..39a6a6a7c84
--- /dev/null
+++ b/nt/icons/emacs.ico
Binary files differ
diff --git a/nt/icons/gnu2a32.ico b/nt/icons/gnu2a32.ico
new file mode 100644
index 00000000000..c653ba9049b
--- /dev/null
+++ b/nt/icons/gnu2a32.ico
Binary files differ
diff --git a/nt/icons/gnu2a32t.ico b/nt/icons/gnu2a32t.ico
new file mode 100644
index 00000000000..3b32e3a15db
--- /dev/null
+++ b/nt/icons/gnu2a32t.ico
Binary files differ
diff --git a/nt/icons/gnu2b48.ico b/nt/icons/gnu2b48.ico
new file mode 100644
index 00000000000..4c2c1d9e71c
--- /dev/null
+++ b/nt/icons/gnu2b48.ico
Binary files differ
diff --git a/nt/icons/gnu2b48t.ico b/nt/icons/gnu2b48t.ico
new file mode 100644
index 00000000000..3154c47966d
--- /dev/null
+++ b/nt/icons/gnu2b48t.ico
Binary files differ
diff --git a/nt/icons/gnu3b32.ico b/nt/icons/gnu3b32.ico
new file mode 100644
index 00000000000..eb49656fa69
--- /dev/null
+++ b/nt/icons/gnu3b32.ico
Binary files differ
diff --git a/nt/icons/gnu3b32t.ico b/nt/icons/gnu3b32t.ico
new file mode 100644
index 00000000000..24ac5593bf3
--- /dev/null
+++ b/nt/icons/gnu3b32t.ico
Binary files differ
diff --git a/nt/icons/gnu4g48.ico b/nt/icons/gnu4g48.ico
new file mode 100644
index 00000000000..88fdab3111b
--- /dev/null
+++ b/nt/icons/gnu4g48.ico
Binary files differ
diff --git a/nt/icons/gnu4g48t.ico b/nt/icons/gnu4g48t.ico
new file mode 100644
index 00000000000..883b736a685
--- /dev/null
+++ b/nt/icons/gnu4g48t.ico
Binary files differ
diff --git a/nt/icons/gnu5w32.ico b/nt/icons/gnu5w32.ico
new file mode 100644
index 00000000000..ab9c039151f
--- /dev/null
+++ b/nt/icons/gnu5w32.ico
Binary files differ
diff --git a/nt/icons/gnu5w32t.ico b/nt/icons/gnu5w32t.ico
new file mode 100644
index 00000000000..cc25be86b85
--- /dev/null
+++ b/nt/icons/gnu5w32t.ico
Binary files differ
diff --git a/nt/icons/gnu6w48.ico b/nt/icons/gnu6w48.ico
new file mode 100644
index 00000000000..1c83c10ed96
--- /dev/null
+++ b/nt/icons/gnu6w48.ico
Binary files differ
diff --git a/nt/icons/gnu6w48t.ico b/nt/icons/gnu6w48t.ico
new file mode 100644
index 00000000000..a4228ee5f9d
--- /dev/null
+++ b/nt/icons/gnu6w48t.ico
Binary files differ
diff --git a/nt/icons/gnu7.ico b/nt/icons/gnu7.ico
new file mode 100644
index 00000000000..5a32b413bee
--- /dev/null
+++ b/nt/icons/gnu7.ico
Binary files differ
diff --git a/nt/icons/gnu8.ico b/nt/icons/gnu8.ico
new file mode 100644
index 00000000000..4583fc800f9
--- /dev/null
+++ b/nt/icons/gnu8.ico
Binary files differ
diff --git a/nt/icons/gnu9.ico b/nt/icons/gnu9.ico
new file mode 100644
index 00000000000..8c4830e24c0
--- /dev/null
+++ b/nt/icons/gnu9.ico
Binary files differ
diff --git a/nt/icons/sink.ico b/nt/icons/sink.ico
new file mode 100644
index 00000000000..d0804108af9
--- /dev/null
+++ b/nt/icons/sink.ico
Binary files differ