CHANGES

This file documents changes made in each successive version of Win-Emacs.

1.30 to 1.35
------------

-- WYSIWYG printing support added.
-- network support added.  GNUS (a newsreader) and W3 (a World Wide Web
   browser) included.
-- M-x grep, M-x compile, M-x diff work.  32-bit versions of grep.exe,
   diff.exe, patch.exe included.
-- popup menus added; accessed with third mouse button.
-- much improved documentation (README and Win-Emacs node in Info).
-- startup file name and environment variable pointer changed to emacs.ini
   and EMACSHOME (old _emacs and HOME still work).
-- 'Set Font ...' menu item works properly.
-- ^G works properly to abort actions in progress.
-- international keyboards and extended characters in filenames
   supported properly.
-- runs significantly faster.
-- many other subprocess and general robustness improvements.

****************************************************************************

Here is a more detailed list of changes, for those who are interested.

to version 1.35 release

-- problem with M-x finding grep.exe fixed.
-- ability to drag modeline with mouse added.

to version 1.35 beta 11

-- disabled low-memory warnings; don't work properly.
-- added Meta-PgUp/PgDn/Home/End bindings to scroll the other window.
-- finished up winemacs.txi, readme.
-- does not bomb out on division by zero, etc.
-- auto-saves when GP fault etc. occurs or Windows exited.

to version 1.35 beta 10

-- compile/grep, buffer-menu modified to use mouse-track-click-hook.
-- auto-save when assertion failure occurs.
-- fix to file-relative-name, file type mechanism (formerly messed up
   on config.sys).
-- 75k extra puresize included, in case someone wants to redump emacs.dat.
-- winemacs.txi, readme much improved. (Not done yet, though.)
-- improvements to tutorial.
-- removed dubious Demacs feature in substitute-in-file-name; prevented
   ange-ftp from working.
-- startup file is called `emacs.ini' now; but the old `_emacs' will also
   be loaded if found.
-- home directory can be specified in either EMACSHOME (which is looked
   for first) or HOME.
-- functions win-peek-linear-memory, win-poke-linear-memory added.
-- some minor fixes to keyboard-handling code.
-- delete-screen can delete the only visible screen when others are
   iconified.
-- w3 now included.  Changed _w3 to w3.ini.
-- improvements to handling of global face data.

to version 1.35 beta 9

-- included GNUS from 19.11.
-- included fortran mode from 19.11; added fixes for comment indenting.
-- some printing fixups: commands `lpr-buffer' etc. now work.
-- included inadvertently missing cl, edebug, evi docs.
-- included ange-ftp docs.
-- dumped .elc's also included in distribution; there is really no point
   in not doing this.
-- multitasking cooperativeness increased (e.g. you can set the focus
   away from Emacs when it's in the middle of doing something).
-- deiconify-screen now works.
-- mouse/menu stuff added to dired (from 19.11).
-- concept of "click" (= press/release without mouse motion) implemented.
   See mouse-track-click-hook.
-- minibuffer, info, dired modified to use mouse-track-click-hook.
-- M-x grep handles drive letters in filenames.
-- exec-directory is now at front of exec-path; should eliminate problems
   with incompatible grep, diff in path.
-- additional error checking on subprocesses.
-- insert-file-contents (and barf-if-buffer-read-only) from 19.11 imported,
   at Bill Dubuque's request.

to version 1.35 beta 8

-- typo in constant 'win-show-normal-focus' fixed.
-- parsing of xmodmap.ini added for 'pointer ='; this lets you remap
   the pointer buttons.
-- event loop fixes. (WinSock interface probably got broken in b7;
   if so, it's fixed.)
-- startup screen size is now correct if you don't specify a font
   or size in your xdefault.ini.
-- int9 ^G handlers are page-locked; this should eliminate random
   crashes seen by Bill Dubuque.
-- improved subprocess handling: fixed handling of current directory;
   imported `msdos-shells' from FSF 19.25 and improved shell-command
   handling.
-- M-x grep and M-x compile work.
-- imported snazzy compile.el from 19.11, necessitating the following fixes
   from 19.11:
   -- read-shell-command can take third (history) argument.
   -- number of recorded \( \) expressions in a single regexp increased
      from 10 to 100.
-- increased execution priority in spr.pif.
-- expand-file-name has a third argument (noerror).
-- file-exists-p et al. do not cause an error when an invalid filename is
   given.
-- extended characters handled properly in filenames.
-- critical errors trapped in reasonable places (e.g. file-exists-p) but
   not elsewhere.
-- GNU grep included.
-- ^G aborts subprocesses.

to version 1.35 beta 7

-- more input-preemption fixes.
-- added error-checking to `win-exec'.
-- fixed ^G problems introduced in b6.
-- fixed timer bug introduced in b6.
-- expose events handled under popup menus.
-- disk-full errors are reported properly.
-- improvements to stdout (messages) window.
-- low-memory warnings issued.
-- DOS-extended programs will find DOS4GW.EXE even if it's not in the path.
-- various other robustness improvements.

to version 1.35 beta 6

-- improved handling of redisplay input-preemption.
-- ported and added GNU patch.exe.
-- fixed problems with AltGr keystrokes in international keyboards.
-- numeric-keypad keys can now be bound separately from non-keypad keys.
-- expose events processed inside of modal loops.
-- fixed up make-face-bold etc. to work with shortened Windows font names.
-- set-font menu option should now work correctly.
-- fixed parsing of #RRGGBB-type color specification.
-- (set-screen-size) should work correctly.
-- fixed up timer code; long timers now handled properly.

to version 1.35 beta 5

-- added asynchronous ^G checker: ^G can now interrupt a tight Lisp loop.
-- critical errors are trapped.
-- added standard Windows bindings (Shift-Insert, etc.) for cut, copy, paste.
-- ported and added GNU diff.exe.  M-x diff should work out of the box.
-- broken pop-up menus from b3 are fixed.

to version 1.35 beta 4

-- now able to be optimized.  Released versions will be compiled as such.

to version 1.35 beta 3

-- now includes print support.
-- now includes WinSock support.
-- now includes DDE support.
-- sample code included for WinSock and DDE support.
-- missing file spr.pif (version 1.3) included.
-- bug fixed: "assertion failed: event_al.c, line 214."
-- bug fixed: occasional crash when printing out an extent.
-- menubar code improved, bugs fixed.
-- pop-up menus work.  the right button brings up a default pop-up menu,
   and some modes may redefine the menu.
-- delete now deletes forward instead of back, to be consistent
   with other PC apps.  If your _emacs file messes around with
   these keys, you should probably review the code.
-- expand-file-name no longer gives an error on null input; this makes
   (e.g.) find-file with a null argument correctly invoke dired rather
   than giving an error.
-- detect-input-pending and input preemption of redisplay work.
-- ^G (interrupt) checking works.
-- added function win-exec and variable win-dos-process-show-state.

to version 1.3

-- font-lock works.
-- fixed up setup program.
-- improved sample xdefault.ini and _emacs files included; mentioned at
   startup.
-- speedup in regular expressions (borrowed code from Lucid Emacs 19.10).
-- improved keybindings for gray keys.
-- increased default screen geometry to 32 lines.
-- added the useful Lisp files from ilisp (completer, etc.).

to version 1.21

-- hexl mode works.
-- no more complaints about "comint not found" in TeX mode, etc.
-- pending-delete (selection is replaced with typed characters)
	is loaded by default.

to version 1.2

-- beep now works.
-- switched meaning of t and nil in file-type.  This is to maintain
   compatibility with other versions of Emacs.  This will not affect
   user-level commands but may affect some Lisp code.
-- value of `system-type' changed to 'ms-windows to be more logical.
   New functions (system-pc-os-p), (system-msdos-p), etc. defined in
   prim/sysdep.el.  Use these functions instead of checking `system-type';
   this allows for new values of `system-type' for new API's, subsystems,
   etc.
-- M-x list-directory works.
-- menus display keyboard shortcuts.
-- menu items are grayed out if appropriate.
-- clipboard selection works better.
-- ALT+right-button is the same as middle-button; this lets two-button
   mouse users enjoy the same functionality as three-button mouse users.
-- multiple instances are now partially supported.  Running a second
   instance of Win-Emacs with a filename specified on the command line
   will bring up the file in a new screen in the first instance.  This
   allows you to make File-Manager associations to Win-Emacs.
-- title bar now displays 'emacs' in it as well as buffer name.

to version 1.11

-- Shell commands (M-!, M-|) actually work.
-- Problem with dragging text upwards fixed.
-- winemacs.txi added.  README documentation fixed up.
-- mouse-button numbering change in 1.1 partially undone.  New numbering
   should be the most sensible numbering and should get rid of
   mouse-hanging problems some people have experienced.
-- MS-DOS specific information added to doc strings for some functions.

to version 1.1

-- Synchronous subprocess support added.
-- Support for font-selection Common Dialog box added.
-- Default menubar fixed up.  "Display" menu added.
-- File-type code fixed up.
-- Lots of fixes to dired functions.
-- Fixed occasional "Args out of range" error on C-x C-f.
-- README documentation significantly improved.
-- "Pearl Software" icon added.
-- M-x recover-file works.
-- Font-parsing mechanism fixed up to support easier specification of fonts.
-- A bug involving color resources, which sometimes prevented Win-Emacs
   from being run more than a certain number of times, is fixed.
-- Win-Emacs no longer inhibits exiting Windows while it's running.
-- prints message rather than silently exiting, when second (or greater)
   simultaneous instance is invoked.
-- standard key bindings for control-home, control-end, control-left, and
   control-right added.
-- mouse button numbering for 3-button mice changed to be more sensible.

to version 1.00.07

-- correctly deals with text files with ^M's not followed by ^J's.
-- function `convert-mac-file' added to convert a Macintosh-style
   text file into standard text format.

to version 1.00.06

-- fixed to work on systems without a math coprocessor.

to version 1.00.05

-- evi, vip init files fixed up.
-- c++ mode can be loaded.
-- saveconf.el, session.el init files fixed up.
-- ignore-local-variable-errors added.  By default its value is T.  Used so
   that reading in xdefault.ini will not cause a local-variable error.
-- support for backslashes in file names fixed up (e.g. in filename 
   completion).
-- add-name-to-file gives an error.
-- info files fixed up.
-- cd now works; file-executable-p correct.

to version 1.00.04

-- drag-and-drop support implemented.
-- doc strings are finally correct.
-- there were some bugs in expand-file-name; now fixed.
-- etc/distrib fixed up.
-- etags works.
-- spook.lin and yow.lin added to distribution.
-- set-screen-height, etc. work.
-- some fixups in display code.
-- input-pending-p works a bit better (though still not perfectly).
-- display-time fixed.
-- dired init file fixed up.

to version 1.00.03

-- nasty crash problems on some machines apparently fixed.
-- Alt works as meta.
-- Foreign keyboards, extended characters supported.
-- New version of expand-file-name; handles backslashes and knows about MS-DOS
   filename limitations.
-- does not crash when multiple instances of Win-Emacs are created.
-- correctly saves backup files.

to version 1.00.02

-- now based on Lucid Emacs 19.4 instead of 19.3.
-- color palette code works correctly.
-- 99% of memory leaks are gone.
-- startup screen does not disappear when Win-Emacs is started from mouse.
-- info fixed up.
-- correct info is displayed when an abort or assertion-failure happens.
