Fri Oct  7 15:12:19 1994  John Harper  (jsh@orcrist)

	* Version 3.2 released

Tue Oct  4 00:06:10 1994  John Harper  (jsh@orcrist)

	* lisp.h, symbols.c, values.c: new type V_Void. Used to denote
	a void value in a symbol.
	
	* symbols.c (cmd_symbol_value, cmd_symbol_function,
	cmd_default_value): these now take an extra argument `NO-ERROR'.
	Unless this is t, when the value is void they signal an error.

	* symbols.c: rewrote buffer-local variables to be compatible
	 with Emacs. Removed `set-buffer-variable' and
	`buffer-variable-p', renamed `delete-buffer-variables' to
	`kill-all-local-variables' and created the new functions,
	`make-local-variable', `make-variable-buffer-local' and
	`kill-local-variable'.
	(cmd_set): SF_BUFFER_LOCAL only means that a variable may
	have a local value; not that one should be created (see next
	entry)

	* lisp.h (SF_SET_BUFFER_LOCAL): new flag, means that setting
	this symbol gives it a buffer-local binding

Mon Oct  3 17:53:07 1994  John Harper  (jsh@orcrist)

	* io.c (read_tx): no longer scans for code section
	* buffers.c (eval_file_code): removed
	* editrect.c (col_copy_sect): removed

	* housekeeping.c (set-start-line): this was doing it's own
	rendering; a bad thing all in all

	* Most module's _kill function didn't set that module's private
	chain of objects to NULL. In particular the Amiga menus were
	stepping through the de-allocated view_chain and guruing...

Sat Oct  1 14:48:49 1994  John Harper  (jsh@orcrist)

	* amiga_keys.c (lookup_event_name): doesn't pass any qualifiers
	to MapRawKey() anymore

	* commands.c (cmd_call_command): the `N' code-letter was screwed

	* main.c, x11_display.c, amiga_display.c: startup modified so
	that the sys_init() function calls a new function inner_main()
	which does most of what main() used to do. This allows the Amiga
	version of sys_init() to play with the stack

	* amiga_display.c (sys_init): now contains code to allocate a
	larger stack if the `-stack' argument is given.

	* unix_processes.c (run_process): when using pipes stderr is also
	connected up

Thu Sep 29 15:33:23 1994  John Harper  (jsh@orcrist)

	* unix_processes.c (cmd_signal_process, cmd_interrupt_process,
	cmd_kill_process, cmd_stop_process, cmd_continue_process): All
	have a new argument, SIGNAL-GROUP, which makes them signal the
	whole process group.

Mon Sep 26 21:13:32 1994  John Harper  (jsh@orcrist)

	* unix_processes.c (cmd_make_process): default value of the
	connection-type component is now `pipe'

Tue Sep 20 14:22:22 1994  John Harper  (jsh@orcrist)

	* refresh.c (refresh_world_curs): no longer makes an ill-judged
	guess as to whether a window should be refreshed or not; sometimes
	it got it wrong :-(

	* keys.c (var_next_keymap_path): now passes the prefix-arg through
	the chain of multi-key bindings

	* x11_keys.c, amiga_keys.c (lookup_event): doesn't look for backslash
	characters anymore, also a `-' character as the first character in
	a token won't terminate the token.

Sun Sep 18 15:37:00 1994  John Harper  (jsh@orcrist)

	* misc.c (cmd_file_concat): renamed as `file-name-concat'

Wed Sep 14 15:08:52 1994  John Harper  (jsh@orcrist)

	* misc.c (cmd_path_name, cmd_base_name): renamed as `file-name-
	directory' and `file-name-nondirectory' respectively

	* symbols.c (bind_symbol, unbind_symbols): uses the `set-default'
	and `default-value' functions to bind variables
	(cmd_set_default, cmd_default_value): now checks for a V_Var type
	of object

Tue Sep 13 15:10:56 1994  John Harper  (jsh@orcrist)

	* unix_misc.c, amiga_misc.c (cmd_setenv): new function

	* housekeeping.c (resync_y): checks for a blank area at the
	bottom of the display; if one exists it's removed

Fri Sep  9 14:59:16 1994  John Harper  (jsh@orcrist)

	* render.c (cut_paste_lines): when deleting lines, and the stuff
	which couldn't be blitted is only partly in the buffer, the rest is
	cleared.
	(cut_paste_lines): doesn't check if `srcLine' is greater than
	the last line displayed anymore; this is perfectly valid

Tue Sep  6 14:47:48 1994  John Harper  (jsh@orcrist)

	* housekeeping.c (resync_y): when the cursor goes totally out
	of the display its put back at the center of the screen.

	* unix_server.c, amiga_server.c (cmd_server_open, cmd_server_close):
	these can now be called interactively

Sat Sep  3 15:50:18 1994  John Harper  (jsh@orcrist)

	* find.c (replaceit): now expands the replacement before deleting
	the original text; a much better idea (i.e. it works)

Thu Sep  1 14:17:57 1994  John Harper  (jsh@orcrist)

	* commands.c (cmd_interactive): now a special form

Wed Aug 31 20:28:06 1994  John Harper  (jsh@orcrist)

	* x11_eventloop.c, amiga_eventloop.c: the hook `close-gadget-hook'
	has been renamed to `window-closed-hook'.

Tue Aug 30 11:47:17 1994  John Harper  (jsh@orcrist)

	* keys.c (cmd_bind_keys, cmd_unbind_keys): the KEY-DESCRIPTION
	may now be an event

	* keys.h: redefined the EV_TYPE and EV_MOD defines so that
	most events will fit this field into 8 bits, and hence will
	use the pre-allocated static integers to save memory.

Mon Aug 29 12:47:47 1994  John Harper  (jsh@orcrist)

	* glyphs.c (cmd_set_glyph): when a glyph-string of "" is
	set the first glyph is set to ' '
	(cmd_glyph_to_char_pos): POS isn't optional anymore

	* buffers.c (mark_prin): doesn't add one to the marks line and
	column before printing them anymore. Also resident marks have
	their buffer printed not their name
	(cmd_set_mark): setting the name of the file should work now

Tue Aug 23 13:11:34 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_bit_not, cmd_bit_or, cmd_bit_and): renamed
	as `lognot', `logior' and `logand' respectively.

	* lispcmds.c (cmd_logxor): new function
	* lispmach.c (OP_LOGXOR_2): new opcode

Thu Aug 18 16:20:48 1994  John Harper  (jsh@orcrist)

	* streams.c (cmd_make_string_input_stream,
	cmd_make_string_output_stream, cmd_get_output_stream_string,
	cmd_streamp): new functions
	(cmd_file_p): renamed as `filep'

Wed Aug 17 14:30:17 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_defvar, cmd_defconst): the default value of
	buffer-local variables is set, not the local value
	(cmd_list): now conses up a *new* list, doesn't use its arg list;
	this could be risky
	(cmd_apply): now signals an error if its last argument is not
	a list

Tue Aug 16 19:32:02 1994  John Harper  (jsh@orcrist)

	* symbols.c (cmd_default_boundp, cmd_set_default): new functions

Sun Aug 14 19:45:52 1994  John Harper  (jsh@orcrist)

	* symbols.c: obarrays no longer use NULL to terminate a bucket: any
	non-symbol object can be used instead. This means that having a
	NULL sym_Next can signify that a symbol is not interned, making
	the SF_INTERNED flag obsolete -- it's been removed.

	* symbols.c (var_obarray): new variable -- provides access
	to the default obarray

Sat Aug 13 12:40:00 1994  John Harper  (jsh@orcrist)

	* glyphs.c (cmd_glyph_table_p): new function

	* lispcmds.c (cmd_reverse): this was totally screwed
	(cmd_aref, cmd_aset): changed documentation
	(cmd_arrayp, cmd_elt): new functions

	* editcmds.c (cmd_alpha_char_p, cmd_upper_case_p, cmd_lower_case_p,
	cmd_digit_char_p, cmd_alphanumericp, cmd_space_char_p): these now
	accept non-integer arguments -- they just return nil for them.

Fri Aug 12 14:09:06 1994  John Harper  (jsh@orcrist)

	* x11_display.c (x11_text_cursor): cursor to use in all windows
	* x11_windows.c (sys_new_window): sets the window's cursor

Thu Aug 11 20:13:10 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_mod): this was actually a remainder function
	not modulo; it's renamed to `%'
	(cmd_lsh): this was actually an arithmetic shift, new function
	`ash' to do this and lsh is fixed
	(cmd_integerp): new function

Sun Jul 17 13:46:40 1994  John Harper  (jsh@orcrist)

	* movement.c (cmd_next_char, cmd_goto_next_char, cmd_prev_char,
	cmd_goto_prev_char): now take a COUNT argument: the number
	of characters to move. The new args to next-char and prev-char
	are incompatible with the old ones :-(

Fri Jul 15 15:01:20 1994  John Harper  (jsh@orcrist)

	* lisp.c (lisp_init): int_cell is now (user-interrupt)
	not (error user-interrupt). This means that interrupts are no
	longer errors and therefore are unable to be caught by error-pro.
	* x11_eventloop.c, amiga_eventloop.c (event_loop): checks for
	explicitly for user-interrupt

Thu Jul 14 15:54:10 1994  John Harper  (jsh@orcrist)

	* unix_server.c (server_accept_connection): the connection fd is
	marked to be discarded on exec()
	(server_kill): closes the open connections now

Wed Jul 13 18:20:03 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_eql): new function
	* lispmach.c (cmd_lisp_code2): added OP_EQL

Tue Jul 12 13:05:08 1994  John Harper  (jsh@orcrist)

	* amiga_menus.c (cmd_set_menu): the action of the menu is a command
	not a list of forms

	* undo.c (undo_trim): when an undo is in progress tries to
	truncate the oldest of the three undo-lists

	* lispmach.c (CALL_1, CALL_2, CALL_3): macros containing the code
	to call a function for an instruction. Lots more opcodes have
	been added.	

Mon Jul 11 11:53:56 1994  John Harper  (jsh@orcrist)

	* edit.c (pad_pos): now adds the insertion to the buffer's undo-list

	* undo.c: doesn't use prefix counts to group items anymore. Instead
	a marker (`nil') is placed between each group. This lets me make
	each command a separate undo-group; also undo through several
	recursive edits works properly.

	* commands.c (var_last_command): no longer checks if VAL is nil

Sun Jul 10 20:06:15 1994  John Harper  (jsh@orcrist)

	* keys.c (print_event_prefix): now prints the whole sequence
	each time.
	(event_buf, event_index): records all events in the current
	sequence.
	(cmd_current_key_string): renamed to `current-event-string'

Thu Jul  7 15:05:40 1994  John Harper  (jsh@orcrist)

	* commands.c: New file; stuff for interactive function calling

	* streams.c (stream_puts, stream_putc): When writing to a string
	an extra byte is allocated to hold the zero terminator
	(cmd_format): writes each chunk of characters between format
	specifiers as one string instead of individually

Wed Jul  6 19:32:31 1994  John Harper  (jsh@orcrist)

	* streams.c (cmd_format): with a STREAM of nil a string is
	constructed.

	* edit.h, symbols.c, windows.c: Window-local Lisp variables are
	no longer supported; they were only used for one variable, the
	`buffer-list'. This variable is now an entry in the VW structure.

	* lispcmds.c (cmd_aset): doesn't modify V_StaticString's

	* editcommands.c (cmd_translate_string): checks for read-only
	strings

	* lisp.h (STRING_WRITEABLE_P): macro to check if a Lisp string
	may be modified.

Sun Jul  3 15:08:17 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_defconst): an error is signalled if the symbol
	is already bound.

	* refresh.c (refresh_window): when a deletion is recognised the line
	it occurs is *always* redrawn from the first char deleted.

	* misc.c (cmd_expand_file_name): new arg, QUALIFY-FULLY. When t
	this says to get an absolute name.
	* amiga_misc.c, unix_misc.c (sys_fully_qualify_file_name): new
	function for the above Lisp function.

	* movement.c: (cmd_file_start, cmd_file_end, cmd_goto_file_start,
	cmd_goto_file_end): renamed, ``file'' replaced by ``buffer''

	* buffers.c (cmd_file_length): now called `buffer-length'
	(cmd_file_name): now called `buffer-file-name'
	(cmd_set_file_name): now called `set-buffer-file-name'

Fri Jul  1 10:51:45 1994  John Harper  (jsh@orcrist)

	* refresh.c (flag_deletion): tx_ModEnd is set to the start of the
	deletion not the end
	(refresh_window): when (tx_ModDelta < 0) (i.e. a deletion) the
	cut & paste operation is a bit different now (hopefully this way
	works!?)

	* render.c (redraw_region): returns immediately when (START == END)

	* editcommands.c (sym_inhibit_read_only): new variable
	* edit.c (read_only): takes note of `inhibit-read-only' when it's
	bound and non-nil.

Wed Jun 29 16:48:46 1994  John Harper  (jsh@orcrist)

	* Major alterations to all files; I've tried to impose
	a sensible naming style onto all symbols. All global
	symbols have a prefix. This is either null for files
	common to all configurations, `x11_' for stuff accessed
	only by the X files, likewise for `unix_' and `ami_'.
	The `sys_' prefix is for things which are accessed from
	the common area but exists in one of the non-common
	files.

Tue Jun 28 14:42:30 1994  John Harper  (jsh@orcrist)

	* amiga_windows.c (newwindow): calculates for the status line
	when opening the window

	* amiga_display.c (initwinsys): uses onbreak() to hijack
	^C signals caught by stdio
	* configs/config.h.amiga (HAVE_ONBREAK): new macro for above

Sun Jun 26 16:26:43 1994  John Harper  (jsh@orcrist)

	* x11_windowsys.h, amiga_windowsys.h (DRAW_LINE): new macro,
	draws a 1-pixel wide line
	* render.c, x11_render.c, amiga_render.c, x11_windows.c,
	amiga_windows.c: all stuff to do with the status/message line
	is made system-independant. This means that messages on the
	Amiga now use the bottom line of the window as in X

	* amiga_eventloop.c (eventloop): in idle timeout calls
	print_event_prefix() and also refreshes the display if
	necessary.

	* amiga_keys.c (lookup_event_name): uses MapRawKey() to
	decipher unknown keycodes.

	* amiga_eventloop.c (eventloop): calls undo_distinct() when
	the current window changes

	* amiga_defs.h (TEST_INT): tests for SIGBREAKF_CTRL_C and calls
	amiga_interrupt_handler()
	* amiga_display.c (amiga_interrupt_handler): new function, resets
	the ^C signal bit and throws an interrupt
	(JadeProc): pointer to our process

Thu Jun 23 19:57:13 1994  John Harper  (jsh@orcrist)

	* keys.c (KEYTAB_HASH_FUN): macro defining how to make a hash
	key from an event. Now key-tables are 127 entries long not 128.	

	* keys.c: meta-sends-esc is reversed to become esc-means-meta, now
	there is no separate map for meta/esc keys

Wed Jun 22 16:38:52 1994  John Harper  (jsh@orcrist)

	* unix_processes.c (proc_notification): now blocks sigchld

	* keys.c (usekey): unbound insertions now set the last-command
	variable to t.

	* undo.c: now records when a buffer changes from un-modified
	to modified so this too can be undone.

Mon Jun 20 22:23:46 1994  John Harper  (jsh@orcrist)

	* undo.c: new file, undo recording and undo-ing
	* Wherever flag*tion() is called undo_record_*tion() is also
	called.
	* x11_eventloop.c (eventloop): calls undo_distinct() when the
	current window changes

	* editcommands.c (cmd_insert): now returns the position of the
	end of the insertion

Sat Jun 18 11:54:50 1994  John Harper  (jsh@orcrist)

	* lisp.c (read_str): an escaped newline is now ignored
	(read_symbol): checks that its static buffer doesn't overflow

	* x11_windows.c (unsleep): this may work now?
	(sleepwin, unsleep): now use the VWFF_SLEEPING flag
	* x11_eventloop.c (handleevent): if we get an Expose event while
	sleeping assume that we woke up. Also if the VWFF_FORCE_REFRESH
	flag is set we discard all Expose events, when one has a count of
	zero (the last) do a total redraw of the window

Thu Jun 16 20:18:58 1994  John Harper  (jsh@orcrist)

	* refresh.c (refreshwindow): sets vw_LastDisplayOrigin here after
	completing refresh
	* housekeeping.c (resyncxy): no longer sets vw_LastDisplayOrigin

	* movement.c (cmd_centre_display): new function

Wed Jun 15 16:06:13 1994  John Harper  (jsh@orcrist)

	* lispcmds.c (cmd_concat): no longer stomps on memory when the
	string grows very quickly :-)

	* streams.c (cmd_write): optional LENGTH arg for strings

	* symbols.c (cmd_delete_buffer_variables): new function

Tue Jun 14 10:54:03 1994  John Harper  (jsh@orcrist)

	* windows.c (stdtitle): now calls calc_cursor_offset()

	* find.c (cmd_match_start, cmd_match_end): new functions; these
	replace the variables `find-last-start-pos' and `find-last-end-pos'.
	Now the position of any expression can be found and in strings
	as well as in buffers.

	* editcommands.c (cmd_offset_to_pos, cmd_pos_to_offset): new
	functions for converting between byte counts and positions

	* unix_processes.c (struct Proc): pr_UsePty changed to pr_ConnType
	(runproc): option to set the ECHO flag in a pty
	(cmd_set_process_connection_type): now uses named symbols

Mon Jun 13 00:44:26 1994  John Harper  (jsh@orcrist)

	* unix_processes.c (runproc): now connects stdin of the child to
	a defined file when running synchronously.
	(cmd_run_process): new arg IN-FILE to make use of the above feature
	(runproc, readfromproc): don't write to pr_OutputStream if it's nil

Sun Jun 12 02:05:10 1994  John Harper  (jsh@orcrist)

	* unix_processes.c (struct Proc): pr_File becomes pr_Prog, pr_Argv
	becomes pr_Args and is now a list of arguments 1..N. Arg #0 is
	taken from pr_Prog
	(cmd_start_process, cmd_run_process): new arg spec. ARGS are now
	passed as the last N args in the call. Also the PROCESS arg
	is optional, a vanilla process will be created if necessary
	(cmd_process_name, cmd_set_process_name): renamed to process-prog
	and set-process-prog
	(cmd_process_argv, cmd_set_process_argv): renamed argv to args and
	takes a list instead of a vector

	* lispcmds.c (cmd_copy_list, cmd_copy_string): combined into
	cmd_copy_sequence().
	(cmd_sequencep): new function

Sat Jun 11 19:21:00 1994  John Harper  (jsh@orcrist)

	* x11_eventloop.c (eventloop): some reorganisations

	* lisp.c (handleerror): now handles cursor and reresh itself

	* windows.c (cmd_title): renamed as `message', also a new arg
	saying draw it immediately
	(cmd_title_now): removed
	(var_status_line_cursor): variable controlling VWFF_STATUS_CURS

	* render.c (cursor): Takes note of VWFF_STATUS_CURS (but only
	in X11 so far)

	* edit.h (VW): vw_Sleeping and vw_NonStdTitle now in vw_Flags.
	New flag VWFF_STATUS_CURS means draw the cursor in the status
	line.

	* keys.c (usekey, print_event_prefix): a second after a prefix
	key is received the current prefix is displayed

Fri Jun 10 19:24:36 1994  John Harper  (jsh@orcrist)

	* streams.c (cmd_format): added octal formatting (`%o')
	(cmd_format): `%%' doesn't swallow an argument anymore

	* keys.c (usekey): the `unbound-key-hook' is now called for all
	unbound events -- not just keyboard events

	* amiga_keys.c: updated after yesterday's changes, not finished
	yet I can't remember the name of a function I need to use :-(

Thu Jun  9 11:32:49 1994  John Harper  (jsh@orcrist)

	* keys.c, keys.h: massive changes; all key/event structures are
	now standard Lisp types (vector & cons cells). Some new functions
	for manipulating events and their bindings.
	* x11_keys.c (lookup_event_name): new function

Wed Jun  8 20:04:27 1994  John Harper  (jsh@orcrist)

	* keys.c (sym_idle_hook): new hook, called periodically when idle
	time is available
	* amiga_eventloop.c, x11_eventloop.c (eventloop): calls idle-hook

	* values.c (cmd_garbage_collect): no longer prints a message
	while gc is in progress

Tue Jun  7 00:24:30 1994  John Harper  (jsh@orcrist)

	* edit.c (cmd_set_indent_pos): didn't rebuild line if it already
	had the correct number of indentation characters

	* unix_processes.c (queue_notify, proc_notification): The callback
	function for a process isn't called directly anymore, this is too
	risky.
	(cmd_make_process, runproc, cmd_fork_process, cmd_run_process): now
	more arguments can be passed to set the state of the process object.
	(cmd_process_connection_type, cmd_set_process_connection_type):
	support for using pipes *or* ptys when connecting to a process
	(cmd_fork_process): renamed as `start-process'

Mon Jun  6 20:23:55 1994  John Harper  (jsh@orcrist)

	* unix_misc.c (cmd_copy_file): oops, didn't open the destination
	file with O_TRUNC :-(

	* misc.c (cmd_substr): renamed as `substring' and significantly
	changed.

	* find.c (cmd_regexp_quote): new function

Sun Jun  5 22:58:43 1994  John Harper  (jsh@orcrist)

	* lisp.c, lispcmds.c, lispmach.c, lisp.h, x11_eventloop.c,
	amiga_eventloop.c: Interrupt support -- now you can break those
	annoying infinite loops :)
	* x11_display.c (x11_int_handler): handler for SIGINT

Sat Jun  4 14:08:48 1994  John Harper  (jsh@orcrist)

	* keys.c (var_this_command, var_last_command): new functions

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.
