Thu Jun  2 12:29:11 1994  John Harper  (jsh@orcrist)

	* Version 3.1 released

Wed Jun  1 21:02:03 1994  John Harper  (jsh@orcrist)

	* x11_windows.c (makemousepos): didn't check that the returned value
	was legal

Mon May 30 16:48:21 1994  John Harper  (jsh@deep)

	* windows.c (stdtitle): changed the format string

	* amiga_misc.c (cmd_file_req): sets the length of the returned string
	to its correct value

	* render.c (cutpastelines): doesn't assume that the window contains
	an integral number of lines -- screen debris was left between the
	end of the last line and the bottom of the window

	* misc.c (memchr): in case the C library doesn't provide memchr(),
	one of mine doesn't :(

	* configs/: new option in all config files `HAVE_MEMCHR'

	* amiga_menus.c (setallmenus, clearallmenus): Didn't ignore window
	objects which don't have a physical window open, this was causing
	Enforcer hits
	
Wed May 25 19:16:11 1994  John Harper  (jsh@orcrist)

	* find.c (findprev): kludged the index manipulation

	* movement.c (findmatchingbracket): new argument ESC plus code
	to check for escape chars
	(cmd_match_brackets): new arg ESC, for the above modification

Tue May 24 16:06:14 1994  John Harper  (jsh@orcrist)

	* movement.c (cmd_screen_bottom_line, cmd_screen_last_column):
	returned 1 to big

	* editcommands.c (get-char): didn't return newlines

	* lispmach.c (cmd_lisp_code2): renamed the conditional jumps

	* render.c (redraw_line_from, redraw_region): these now notice if
	they're told to start drawing before the first visible column

	* lispmach.c (cmd_lisp_code2): wasn't setting ThrowValue to NULL
	while evaluating unwind-protect forms

	* symbols.c (cmd_setq_default, cmd_default_value): new functions
	for accessing the default value of symbols

	* Makefile.in: no longer uses CFLAGS to pass the JADE_DIR define

Mon May 23 02:07:53 1994  John Harper  (jsh@orcrist)

	* Changed the origin of a buffer's coordinates to (0,0) not (1,1),
	what will this break??

	* glyphs.c (expand_tabs): didn't like START-GLYPH==0

	* editcommands.c (cmd_set_indent_pos, cmd_indent_to): options
	to only insert spaces, not tabs

	* movement.c: fixed the `tab' functions to work with glyph
	positions

	* stringmem.c (sm_free): when a (non-malloc'd) string is freed
	increment DataAfterGC by its size

Sun May 22 23:13:10 1994  John Harper  (jsh@orcrist)

	* values.c (cmd_garbage_collect): calls sm_flush() on the MainStrMem
	block.

	* buffers.c (cmd_destroy_buffer): doesn't bother calling sm_flush()
	anymore

Sat May 21 20:59:11 1994  John Harper  (jsh@orcrist)

	* refresh.c (refreshworldcurs): doesn't try to setvwtitle()
	closed windows anymore

Fri May 20 21:52:37 1994  John Harper  (jsh@orcrist)

	* configs: added HAVE_SETPGID and HAVE_SETPGRP options
	* unix_processes.c: takes note of the above macros

Thu May 19 21:02:06 1994  John Harper  (jsh@orcrist)

	* unix_client.c, amiga_client.c (main): resets the line number for
	each file.

	* x11_windows.c (cmd_window_left_edge, cmd_window_top_edge): these
	used to return coordinates relative to our parent window (created
	by the wm) not the root window.

Sun May 15 00:30:48 1994  John Harper  (jsh@orcrist)

	* lispmach.c: new instruction OP_RETURN

	* find.c (replacit, replaceitstr): calls flaginsertion() before
	inserting the string not after (when the pos has been advanced)

	* lispcmds.c (cmd_unwind_protect): temporarily sets `ThrowValue' to
	NULL while evaluating the body.
	* lispmach.c (cmd_lisp_code2): similar to the above when unwinding

Fri May 13 21:52:40 1994  John Harper  (jsh@orcrist)

	* editcommands.c (cmd_set_char): new function

Thu May 12 19:24:22 1994  John Harper  (jsh@orcrist)

	* lispmach.c: cmd_lisp_code renamed as cmd_lisp_code2 since
	compiled forms are now different.

	* lisp.c (string_print): no longer escapes tabs or newlines

	* editcommands.c (cmd_translate_string, cmd_get_char): new
	functions.

Tue May 10 21:19:29 1994  John Harper  (jsh@orcrist)

	* lisp.h, value.h: New definition of the VALUE type, no longer
	is it (void *)

Sun May  8 18:42:03 1994  John Harper  (jsh@orcrist)

	* editrect.c: New file. Most rectangle code has moved here from
	edit.c and updated to cope with the fact that a character's position 
	in a line may not be the same as its position on the screen. Also 
	lots of TAB handling.

	* keys.c (evalbinding): if the symbol `meta-sends-esc' is non-nil
	any meta-modified events get translated into ESC then the
	un-meta'd event.

Sat May  7 13:53:59 1994  John Harper  (jsh@orcrist)

	* glyphs.c: each buffer can now have its own glyph-table. A new
	data type for glyph-tables has been created. New functions to
	manipulate these.

Fri May  6 20:31:33 1994  John Harper  (jsh@orcrist)

	* editcommands.c (cmd_indent_to): new function

	* edit.c: changes uses of strcpy() and family to memcpy() so
	nul bytes don't cause havoc.

Thu May  5 17:08:23 1994  John Harper  (jsh@orcrist)

	* unix_processes.c (writetoproc): new arg BUFLEN

	* streams.c (stream_puts): new arg BUFLEN, the length of the
	string being written
	(stream_read_esc): now understands octal escapes of less than 3
	chars and hex escapes

	* lisp.h: strings allocated (as opposed to being string-constants)
	now contain a length field. This will allow these strings to
	contain '\000' characters. The macro STRING_LEN gives the number
	of characters in any type of Lisp string.

	* values.c: accommodate the above changes

	* io.c (cmd_write_file): uses fwrite() not fputs

Wed May  4 20:28:31 1994  John Harper  (jsh@orcrist)

	* edit.c (posinblock): for rectangular blocks uses glyph coords

	* housekeeping.c: the block marks are only updated in the y direction
        if rectangular blocks are being marked.

	* render.c (draw_bit): END arg is now inclusive

	* amiga_misc.c, unix_misc.c (fileexists): now returns bool

Tue May  3 08:30:52 1994  John Harper  (jsh@orcrist)

	* buffers.c (var_disk_tab, var_save_tabs): removed
	(var_screen_tab): renamed as var_tab_size

	* edit.h (struct _TX): removed tx_DiskTab and tx_SaveTabs :)

	* movement.c (cmd_next_tab, cmd_goto_next_tab, cmd_prev_tab,
	cmd_goto_prev_tab): new arg TAB-SIZE. Also the goto variants
	convert glyph-pos to char-pos. The other return the *glyph* pos.

	* find.c (strrchrn, strrstrn): renamed as mystrrchrn() and
	mystrrstrn() incase they clash with anyone's C library

	* misc.c (stpblk, stpalnum, cpyalnum): deleted, they were
	not used anymore

	* find.c (mystricmp): args toupper() and tolower() had side
	effects! Deleted this function since it's not used anymore
	anyway

	* housekeeping.c: #undef's no longer state the macro's args,
	I'm told this is illegal

	* movement.c (cmd_goto): renamed as cmd_goto_char
	(cmd_goto_glyph): new function

	* editcommands.c (cmd_indent_pos, cmd_set_indent_pos): hacked
	to allow `proper' TABs

	* edit.c (insertstring): no longer has to expand TAB chars.

	* io.c (readtx): rewritten, no longer has to expand TAB chars,
	should make it a lot faster?
	(writeline): not needed anymore

	* render.c: many changes to cope with the `glyphs' code, now
	there are two types of column position, the `character' one
	which is the number of characters from the start of the line, and
	the `glyph' pos, the number of glyphs from the start of the
	line.

	* glyphs.c: new file, manages mappings between characters and
	their printed representations. Includes new Lisp functions,
	`glyph-to-char-pos', `char-to-glyph-pos', `set-glyph' and
	`get-glyph'.

Mon May	 2 10:13:12 1994  John Harper  (jsh@orcrist)

	* windows.c (stdtitle): bracketing around mode names now shows
	if in a recursive-edit

	* values.c (cmd_dup_pos): renamed as cmd_copy_pos

	* streams.c (streamputc, streamputs): strings now have a number
	associated with them, their *actual* size.

	* lispcmds.c (cmd_rassoc, cmd_rassq): new functions
	(cmd_copy_string): new function

Sun May	 1 23:36:00 1994  John Harper  (jsh@orcrist)

	* lisp.c: Optimised some of the read functions, got rid of the
	nextlispexp() function.

Sat Apr 30 10:44:56 1994  John Harper  (jsh@orcrist)

	* symbols.c (symbols_init): nil and t are now constants

	* windows.c (cmd_make_window): only calls updatescroller() if
	tx is non-NULL, should fix the other Enforcer hit?

	* buffers.c (firstbuffer): now calls updatescroller() *after*
	switching in the first buffer, I think this should kill the
	Enforcer hit at startup?

	* refresh.c (refreshworldcurs): updates status line properly

	* edit.c (checksect, checkpos, checkline): didn't make sure the
	line number was positive

	* unix_client.c: now takes a series of files

	* amiga_eventloop.c (eventloop): Wait()'s for ServerSig as well

	* amiga_server.c, amiga_client.c: new files (untested, as yet)

Fri Apr 29 21:38:03 1994  John Harper  (jsh@orcrist)

	* unix_server.c, unix_client.c: new files

Thu Apr 28 19:21:43 1994  John Harper  (jsh@orcrist)

	* amiga_defs.h, unix_defs.h (DOC_FILE): renamed as DOC

	* unix_misc.c (geterrstring): macro HAVE_STRERROR replaces
	 ERRNO_STRING, much simpler.

Thu Apr 28 14:39:49 1994  J.S.Harper  (jsh@raven.ukc.ac.uk)

	* render.c (cutpastelines): fixed one [more] bug

Thu Apr 28 01:26:58 1994  John Harper  (jsh@orcrist)

	* editcommands.c (cmd_delete_area, cmd_cut_area): these now
	call padpos() on their section markers.

Wed Apr 27 19:53:27 1994  John Harper  (jsh@orcrist)

	* unix_memory.c, unix_defs.h (myfree, initmem, killmem): these are
	now macros in unix_defs.h

Tue Apr 26 22:59:44 1994  John Harper  (jsh@orcrist)

	* Makefile.in: new file, cpp source to make src/Makefile. Now only
	one configuration file has to be edited, src/config.h, it's used
	for both Makefile and C configurations.

Mon Apr 25 22:14:41 1994  John Harper  (jsh@orcrist)

	* keys.c (cmd_current_key_string): new function

	* buffers.c (var_minor_mode_names): list of strings which is printed
	in the status line.
	* edit.h (TX): tx_MinorModeNameList and tx_MinorModeNameString

Sun Apr 24 13:06:56 1994  John Harper  (jsh@orcrist)

	* unix_misc.c (cmd_directory_files): oops. If it couldn't open the
	named dir, it signalled the error with the C-string not the Lisp one.

	* misc.c (cmd_expand_file_name): new function
	* unix_misc.c (expand_file_name): does the work of the above function
	* unix_defs.h: #define EXPAND_FILE_NAME expand_file_name

	* unix_processes.c (runproc): initialises the pty more carefully

	* streams.c (posputc, posputs): uses `tx_DiskTab' for tab size, not
	`tx_TabSize'. What will this break?

Sat Apr 23 21:05:34 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_defvar, cmd_defconst): these are now in C

	* find.c (cmd_looking_at): used to set `find-last-end-pos' to the
	wrong position, also, the NOCASE_P arg was being ignored.

Wed Apr 20 16:02:28 1994  John Harper  (jsh@orcrist)

	* Version 3.0 released

Tue Apr 19 20:51:28 1994  John Harper  (jsh@deep)

	* refresh.c (refreshworldcurs): Checks if buffer has switched

	* amiga_minrexx.c (disp_rexx_port): changed the way that results are
	returned. Numbers and Strings are returned via RESULT. `nil'
	means RC=1 (command failed), anything else RC=0 (command succeeded).

Mon Apr 18 20:54:42 1994  John Harper  (jsh@orcrist)

	* lisp.c (LispDepth, MaxLispDepth, var_max_lisp_depth, _eval, funcall):
	Protection against infinite recursion.

Mon Apr 18 11:13:52 1994  John Harper  (jsh@deep)

	* prefs.c (copyfileprefs): by default `save-tabs' is 'all

Sun Apr 17 19:29:37 1994  John Harper  (jsh@orcrist)

	* refresh.c (refreshwindow): simpler way of checking if block has
	already been drawn. Not good, but it may actually work!

	* render.c (cursor): checks if cursor is off bottom of window

	* x11_commandline.c (docmdline): now redraws the separator line
	on an expose event.

	* unix_misc.c, amiga_misc.c (cmd_move_file): renamed to
	`cmd_rename_file'.

	* unix_misc.c, amiga_misc.c (cmd_copy_file, cmd_file_nlinks,
	cmd_file_modes, cmd_set_file_modes): New functions

Sat Apr 16 14:04:45 1994  John Harper  (jsh@orcrist)

	* Added license notices at the beginning of all source files.

	* All instances of the string `jed' have been changed to `jade'. I
	decided to change its name since there is at least one other editor
	called jed.

Fri Apr 15 14:35:55 1994  John Harper  (jsh@deep)

	* amiga_windows.c (newwindow, sleepwin): `DefDims' contains the
	number of rows/columns, not pixels.

	* amiga_display.c (initwinsys): Command line arguments `-pubscreen'
	and `-font'

Thu Apr 14 20:23:27 1994  John Harper  (jsh@deep)

	* values.c (values_kill): Due to a typo blocks of Numbers weren't being
	deallocated, now they are.

	* amiga_eventloop.c (eventloop): Fixed idle test. It's not ideal
	-- it uses 10 Intuiticks equal one second. Of course, the main
	loss is that Intuiticks are only sent while one of our windows is
	active :-(

Thu Apr 14 11:31:49 1994  John Harper  (jsh@orcrist)

	* amiga_menus.c: More or less wholly rewritten. Doesn't take menu
	definitions from a file anymore, but from a list. No support for
	submenus at the moment though.

	* buffers.c (makemarksres, makemarksnonres): Don't bother checking
	for a NULL `tx_FileName', this can't happen.

	* values.c (markvalue): Marks don't get gc-marked down their
	chain, this was wrong.
	* buffers.c (sweep_mark, unchainmark): To go with the above, marks
	are now unchained from their buffer when swept.

	* misc.c (cmd_file_concat): function to stick together
	path-name components.
	* amiga_misc.c, unix_misc.c (addfilepart): for the above function

Wed Apr 13 11:31:45 1994  John Harper  (jsh@orcrist)

	* symbols.c (bindsymbol, unbindsymbols): Can now bind to V_Var
	objects properly (the function is used to retrieve and set its
	value)

Tue Apr 12 14:55:56 1994  John Harper  (jsh@orcrist)

	* x11_windowsys.h: CLR_RECT and SET_RECT did one two many columns/rows

	* find.c (cmd_looking_at): new function

Mon Apr 11 23:17:56 1994  John Harper  (jsh@orcrist)

	* symbols.c: `make-*-variable' functions have been changed to
	`set-*-variable'. They don't make anything, just set a flag.

Sun Apr 10 19:22:35 1994  John Harper  (jsh@orcrist)

	* find.c (strrchrn): Now uses a pointer instead of an array index.

Fri Apr	 8 20:21:07 1994  John Harper  (jsh@orcrist)

	* symbols.c (cmd_symbol_value, symbol_function): Got rid of the
	`void-symbol-function' hook.

Tue Apr 05 15:19:47 1994  John Harper  (jsh@deep)

	* amiga_windows.c (cmd_font_size): Removed, obsoleted by the
	`font-y-size' function

	* windows.c (cmd_font_x_size, cmd_font_y_size): New commands

	* amiga_misc.c (cmd_full_name): No longer returns NULL when it
	can't read the ENV: variable `REALNAME'.

	* amiga_clipboard.c: Errors now reported via signal, not just printed
	in the status line.
	(readclip): Used to return a normal string not a VALUE

Mon Apr	 4 12:40:00 1994  John Harper  (jsh@orcrist)

	* Makefile, DMakefile: Now *all* source files are scanned for
	doc-strings. This is so that there is only one `DOC-strings' file
	for any particular revision (not one for each target OS).

Sun Apr	 3 20:57:24 1994  John Harper  (jsh@orcrist)

	* main.c, x11_eventloop.c, amiga_eventloop.c: Now eventloop() calls
	refreshworldcurs() when it is entered, this used to be done in
	cmd_recursive_edit() (but not in main()).

Thu Mar 31 12:27:21 1994  John Harper  (jsh@orcrist)

	* Files in the directories `amiga/', `unix/' and `x11/' have been
	moved into the root source dir with prefixes of `amiga_', `unix_' and
	`x11_' respectively. This makes compilation a lot easier.

Tue Mar 29 00:45:13 1994  John Harper  (jsh@orcrist)

	* render.c: As much as possible of x11/render.c has been moved to
	here. Uses macros defined in windowsys.h to do as much platform-
	independant rendering as possible. This turns out to be everything
	but the prompt line.

	* refresh.c: Copied most of render.c into this file.

Fri Mar 25 13:20:11 1994  John Harper  (jsh@orcrist)

	* x11/eventloop.c: increasing the vertical size of a window no longer
	leaves the old status line in the middle of the display (if the buffer
	doesn't overwrite it).

	* values.c (cons_sweep): wholly unused blocks are now freed
	(markvalue): attempt to limit recursion as much as possible

Thu Mar 24 09:51:07 1994  John Harper  (jsh@orcrist)

	* symbols.c: Got rid of `symbol-flags' function. Now there's none
	of these annoying `flags' functions left :-)

	* buffers.c: TXFF_IMMORTAL and TXFF_NOCHANGE are consolidated
	into TXFF_SPECIAL. New functions `set-buffer-special' and
	`buffer-special-p'. Got rid of `tx-flags' function.
	(set-buffer-name, set-file-name): Order of arguments reversed,
	this is more consistent with all other `set*' functions.

	* files.c: renamed to buffers.c, this makes more sense now

Wed Mar 23 12:06:02 1994  John Harper  (jsh@orcrist)

	* values.c (markvalue): Two new algorithms for marking cons cells

	* General code cleanup so that it will compile with -Wparentheses.

Sat Mar 19 03:45:03 1994  John Harper  (jsh@orcrist)

	* find.c (cmd_find_next_regexp, cmd_find_prev_regexp, cmd_regexp_match,
	cmd_regexp_match_line): optional arg `IGNORE-CASE-P'

	* regexp/regexp.h, regexp/regexp.c: new flag to regexec2(),
	REG_NOCASE, means ignore case when comparing strings (but not
	for character classes).

	* io.c: new command `read-file-from-to'

	* streams.c: new commands `read-line' and `read-file-until'

Fri Mar 18 01:03:28 1994  John Harper  (jsh@orcrist)

	* doc/: Directory with manual stuff, new Makefile

	* find.c: New command `regexp-expand-line' a cross between
	`regexp-expand' and `regexp-match-line'.

Thu Mar 17 18:55:54 1994  John Harper  (jsh@orcrist)

	* jed.h, windows.c: Got rid of obsolete VWFF_NOSAVEPOS flag. Also
	the var `vw-flags' is gone. Functions `rect-blocks-p' and
	`set-rect-blocks' are used instead (the other flags are internal).

	* unix/processes.c: Now uses SA_RESTART if possible and O_NONBLOCK
	instead of O_NDELAY.

Tue Mar 15 23:04:34 1994  John Harper  (jsh@orcrist)

	* jed.texi: New file, at last! I've started the manual

	* files.c (var_save_tabs): Now uses descriptive symbols for the
	options, not magic numbers.

Mon Mar 14 21:21:41 1994  John Harper  (jsh@orcrist)

	* unix/processes.c: Now uses sigaction() and sigprocmask() instead
	of signal(). I'm not sure if I've done this correctly, from looking
	at the kernel sources it seems ok...

Sat Mar 12 22:25:36 1994  John Harper  (jsh@orcrist)

	* x11/display.c: Added `-name' option -- sets the name which is
	primarily used to lookup resources with.
	* x11/display.c (getxresources): If unable to find a resource with
	the program name tries with the string "Jed".

Thu Mar 10 22:08:33 1994  John Harper  (jsh@orcrist)

	* find.c: (cmd_replace_regexp, cmd_replace_string): Checks if `pos'
	is out of range (instead of just seg-faulting).

Mon Mar	 7 21:27:25 1994  John Harper  (jsh@orcrist)

	* lispcmds.c: New symbol `lisp-lib-dir'
	* lisp.c (cmd_add_doc_string): New command to write a new doc-string
	to the DOC file and return its index.

Sun Mar	 6 12:49:38 1994  John Harper  (jsh@orcrist)

	* windows.c (window_prin): Handles dead windows now.

	* windows.c (cmd_destroy_window): Now does (throw 'quit 0) when no
	more windows exist.
	* windows.c, amiga/windows.c: Fixed `NumWindows' variable -- it's
	now decremented in `cmd_destroy_window'.

Sat Mar	 5 01:21:35 1994  John Harper  (jsh@orcrist)

	* edit.c: #if 0'd `stuffline'. This is now done inline where functions
	can take advantage of knowing the length of the line.

	* editcommands.c (cmd_translate_area): Applies a translation-table
	(a string) to a region of a buffer. Also, variables `upcase-table' and
	`downcase-table' are provided. Needs `cmd_translate_rect'.

Fri Mar	 4 18:55:38 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_functionp, cmd_special_form_p): Fixed null-ref
	when a symbol has no function value.

	* edit.c (rectinsertstring, rectdeletesect): Now calls the `flag*'
	functions properly. Also fixed bug that inserting past the bottom
	of the file didn't work properly.

	* files.c: Changed `cmd_find_file' to `cmd_get_file_buffer' and
	`cmd_find_buffer' to `cmd_get_buffer'.

Thu Mar	 3 21:36:01 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_eval_hook2): Could exit with `GCinhibit' still set.

	* keys.c (usekey): Now checks for a read-only buffer before inserting
	a keypress.

Mon Feb 28 19:34:54 1994  John Harper  (jsh@orcrist)

	* symbols.c, lisp.h: New flag in Symbol struct: SF_INTERNED.
	This gets set when a symbol is interned. Lets me protect against
	interning a symbol twice.

	* streams.c (cmd_stdin_file, cmd_stdout_file): These didn't
	actually set the LFF_DONT_CLOSE flag which I had so carefully
	prepared for them :-(

Sun Feb 27 20:48:56 1994  John Harper  (jsh@orcrist)

	* x11/windows.c (activatewin): Actually does something now -- raises
	the window and warps the mouse to it's top-left corner.

Tue Feb 22 21:58:18 1994  John Harper  (jsh@orcrist)

	* x11/render.c (cutpastelines): Doesn't bother if `dstLine' is off
	bottom of window.

	* lisp.c, lispcmds.c, lispmach.c, ../lisp/lisp.jl: Got rid of 'lambda
	throw tag, this won't work as expected in some pieces of compiled
	code. Replaced by 'defun tag which returns a value from a defun.

Mon Feb 21 02:05:56 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_load): Now takes note of variable `load-path' (list
	of directory names) and warns if compiled file is older than it's
	source. Also an option to suppress the error when file doesn't exist.

Sun Feb 20 21:20:02 1994  John Harper  (jsh@orcrist)

	* io.c (cmd_write_buffer_area): New command, writes a portion of
	a buffer to a file.

Sat Feb 19 00:45:53 1994  John Harper  (jsh@orcrist)

	* lisp.c, lispmach.c (cmd_backtrace): Now keeps a stack of all
	living Lisp function calls. This is mainly so it's easy to see
	where an error occurs.

	* lisp.c [mainly]: Error signalling written. New subrs, signal,
	error-protect (similar to emacs' `condition-case') and a var,
	debug-on-error. New byte-opcodes introduced -- op-signal and
	op-error-protect.

Tue Feb 15 20:59:53 1994  John Harper  (jsh@orcrist)

	* x11/render.c (cutpastelines): Some optimisation of what lines get
	moved (now leaves trailing blank lines alone).

	* unix/misc.c (cmd_user_login_name): Tries getlogin() before
	getpwuid().

Mon Feb 14 21:32:27 1994  John Harper  (jsh@orcrist)

	* Changed doc-string handling -- now all subr doc-strings are kept in
	a separate file. All source files containg `DEFUN's have been
	changed to accomplish this and a new tool `makedoc' has been written.
	This only saves about 40K in the binary but since that was about a
	quarter of the whole size I think it's worth it.

Sat Feb 12 14:35:05 1994  J.S.Harper  (jsh@falcon.ukc.ac.uk)

	* find.c (cmd_regexp_match_line): New command, matches a regexp
	to a line of a buffer.

	* movement.c (cmd_next_tab, cmd_goto_next_tab, cmd_prev_tab,
	cmd_goto_prev_tab): These would go into a (near-)infinite loop
	when given a negative argument.

	* unix/misc.c (cmd_user_full_name): `FULL_NAME_TERMINATOR' option.

Sat Feb 12 01:28:01 1994  John Harper  (jsh@orcrist)

	* misc.c (cmd_major_version_number, cmd_minor_version_number): New
	commands.

Thu Feb 10 03:15:12 1994  John Harper  (jsh@orcrist)

	* render.c: '#if 0' out `cmd_refresh_window'. This isn't possible
	anymore -- there's no way of saying that a certain window has been
	updated re: a buffer while other views of that buffer haven't. This
	is no big loss, use `refresh-all' instead.

	* jed.h, x11/windowsys.h, amiga/windowsys.h: Took out most #ifdef's
	from the VW structure. Now all window-system specific bits of a VW
	are in a separate structure (`VW_WindowSystem').

Wed Feb	 9 22:46:34 1994  John Harper  (jsh@orcrist)

	* jed.h, files.c, ../lisp/buffers.jl: Fixed problem of buffer being
	marked unmodified after an auto-save. -Introduced new field,
	`tx_ProperSaveChanges', containing the change count at the last
	time the buffer was written to its file (*not* an auto-save).

	* io.c (readtx, writetx): No longer assumes that all files end
	in '\n'. This means that files without a trailing newline don't
	get given one anyway when they're written to disk.

Tue Feb	 8 03:29:19 1994  John Harper  (jsh@orcrist)

	* files.c (cmd_buffer_changes, cmd_buffer_modified_p,
	cmd_set_buffer_modified): New method of dealing with modification
	counts. `tx_Changes' is *never* reset -- when the buffer is
	`un-modified' another field `tx_LastSaveChanges' is set to the
	current value of `tx_Changes'. This is so the new refresh code
	can rely on the change counter.

	* render.c, x11/render.c, edit.c, editcommands.c: Rewrote functions
	which control what gets redrawn and when. This almost works. Much
	more efficient and loses some embarassing misfeatures.

Sun Feb	 6 01:25:15 1994  John Harper  (jsh@orcrist)

	* lisp.h, streams.c: New flag in LFile structure, `LFF_DONT_CLOSE',
	means *never* fclose() the lf_File field.
	* streams.c (cmd_stdin_file, cmd_stdout_file): Access to stdin/out.
	* .gdbinit: New file, command to print a lisp object in gdb.

	* lisp.c (bindlambdalist): uses static symbols to match ampersand-
	keywords (`&optional', `&rest', `&aux').

	* amiga/misc.c: merged amiga/io.c into this file.
	* amiga/misc.c (cmd_user_login_name, cmd_user_real_name,
	cmd_user_home_directory, cmd_system_name): New commands in line
	with their unix counterparts, get their values from strategically
	placed environment variables.

	* unix/misc.c: merged unix/io.c into this file.

	* unix/io.c (cmd_user_login_name, cmd_user_real_name,
	cmd_user_home_directory, cmd_system_name): These now cache their
	results after the first time they're called.
	* unix/io.c (cmd_system_name): Now returns the full hostname, with
	domains and everything.

Sat Feb	 5 21:36:22 1994  John Harper  (jsh@orcrist)

	* windows.c (cmd_with_window): special-form (similar to `with-buffer').
	* lispmach.c, ../lisp/compiler.jl: support for above special form, new
	opcodes `swap-window' and `windowp'.

	* lispmach.c: Put stack bounds checking inside `#ifdef PARANOID'

	* unix/processes.c (signalprocess): Signals no longer use characters.
	(Unless you define `SIGNALS_VIA_CHARS'.)

Fri Feb	 4 23:26:31 1994  John Harper  (jsh@orcrist)

	* ChangeLog starts here, I've decided to try and keep one of these
	things.
