2005-03-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* priv.h (_cons_file): Prototype moved and renamed to...
	* cons.h (cons_file): ... this.
	* init-init.c (cons_init): Updated `_cons_file' reference.
	* opts-std-startup.c (_cons_file): Renamed into `cons_file'.  Updated
	reference.

2005-01-06  Marco Gerards  <metgerards@student.han.nl>

	* Makefile (SRCS): Add `vcons-move-mouse.c' and `vcons-event.c'.
	* cons.h (mouse_movement): New enum.
	(mouse_button): Likewise.
	(mouse_event): New struct.
	(mouse_event_t): New type.
	(cons_vcons_set_mousecursor_pos): New prototype.
	(cons_vcons_set_mousecursor_status): Likewise.
	(cons_vcons_move_mouse): Likewise.
	* file-changed.c (cons_S_file_changed): Generate the
	`CONS_EVT_OUTPUT' event, in case there was output.
	* opts-std-startup.c (OPT_MOUSE_SHOW, OPT_MOUSE_HIDE)
	(OPT_MOUSE_SENS, DEFAULT_MOUSE_SENS, DEFAULT_MOUSE_SENS_STRING):
	New macros.
	(_cons_show_mouse, _cons_hide_mouse, _cons_mouse_sens): New
	variables.
	(startup_options): Add the options `--mouse-show-on',
	`--mouse-hide-on' and `--mouse-sensitivity'.
	(parse_startup_opt): Parse the options that were added to
	`startup_options' using the new local function `parse_events'.
	* priv.h (CONS_EVT_MOUSE_MOVE, CONS_EVT_MOUSE_BUTTON)
	(CONS_EVT_KEYPRESS, CONS_EVT_OUTPUT): New macros.
	(_cons_show_mouse, _cons_hide_mouse, _cons_mouse_sens): New
	declarations.
	(_cons_vcons_input): New prototype.
	(_cons_vcons_console_event): Likewise.
	* vcons-event.c: New file.
	* vcons-move-mouse.c: Likewise.
	* vcons-input.c (_cons_vcons_input): New function.
	(cons_vcons_input): Rewritten to use _cons_vcons_input and report
	the `CONS_EVT_KEYPRESS' event.
	* vcons-refresh.c: Include "priv.h".
	(cons_vcons_refresh): Report the `CONS_EVT_OUTPUT' event.
	* vcons-scrollback.c: Include "priv.h".
	(cons_vcons_scrollback): Report the `CONS_EVT_OUTPUT' event.

2003-08-16  Marco Gerards  <metgerards@student.han.nl>

	* cons.h (cons_vcons_set_dimension): Fix typo.

2003-08-11  Marco Gerards  <metgerards@student.han.nl>

	* cons.h (cons_vcons_set_dimension): New prototype.
	* vcons-refresh.c (cons_vcons_refresh): Call
	cons_vcons_set_dimension instead of cons_vcons_clear.

2003-08-01  Marco Gerards  <metgerards@student.han.nl>

	* opts-std-startup.c: Include <string.h>.
	(OPT_VISUAL_BELL): New macro.
	(OPT_AUDIBLE_BELL): Likewise.
	(_cons_visual_bell): New variable.
	(_cons_audible_bell): Likewise.
	(startup_options): Added options "--visual-bell" and
	"--audible-bell" ...
	(parse_startup_opt): ...and parse those new options here.
	* priv.h (bell_type_t): New enumeration.
	(_cons_visual_bell): New external variable.
	(_cons_audible_bell): Likewise.
	* file-changed.c (cons_S_file_changed): Use the right bell.

2002-10-04  Marcus Brinkmann  <marcus@gnu.org>

	* vcons-open.c (cons_vcons_open): Add casts to silence gcc
	warning.

2002-09-22  Marcus Brinkmann  <marcus@gnu.org>

	* vcons-refresh.c (cons_vcons_refresh): Take VCONS->scrolling into
	account.

2002-09-17  Marcus Brinkmann  <marcus@gnu.org>

	* opts-std-startup.c (OPT_NO_JUMP_DOWN_ON_INPUT): New macro.
	(OPT_NO_JUMP_DOWN_ON_OUTPUT): Likewise.
	(_cons_jump_down_on_input): Default to 1.
	(startup_options): Add new options --no-jump-down-on-input and
	--no-jump-down-on-output.
	(parse_startup_opt): Handle these new options.

2002-09-16  Marcus Brinkmann  <marcus@gnu.org>

	* cons.h: Add prototype for cons_vcons_clear.
	* file-changed.c (cons_S_file_changed): Prepare all areas we write
	to with cons_vcons_clear (unless we use cons_vcons_scroll
	already).
	* vcons-refresh.c (cons_vcons_refresh): Likewise.
	* vcons-scrollback.c (_cons_vcons_scrollback): Likewise.

	* opts-std-startup.c (parse_startup_opt): Use argp_error instead
	argp_usage for error.  Replace case for ARGP_KEY_END with case for
	ARGP_KEY_NO_ARGS.

2002-09-14  Marcus Brinkmann  <marcus@gnu.org>

	* Makefile (SRCS): Add vcons-input.c.
	* vcons-input.c: New file.

	* vcons-scrollback.c (_cons_vcons_scrollback): New function.
	(cons_vcons_scrollback): Reimplement in terms of
	_cons_vcons_scrollback.
	* cons.h (cons_scroll_t): New type.
	(cons_vcons_scrollback): Update prototype.

	* priv.h (_cons_jump_down_on_input): New extern.
	(_cons_jump_down_on_output): Likewise.
	(_cons_vcons_scrollback): New prototype.
	* opts-std-startup.c (OPT_JUMP_DOWN_ON_INPUT): New macro.
	(OPT_JUMP_DOWN_ON_OUTPUT): Likewise.
	(_cons_jump_down_on_input): New variable.
	(_cons_jump_down_on_output): Likewise.
	(startup_options): Add new options --jump-down-on-input and
	--jump-down-on-output.
	(parse_startup_opt): Handle these new options.
	* file-changed.c (cons_S_file_changed): Support the jump down on
	output option.

2002-09-10  Marcus Brinkmann  <marcus@gnu.org>

	* file-changed.c (cons_S_file_changed): Fix typo in last change.

	* cons.h: New prototype for cons_vcons_set_scroll_lock.
	 (struct vcons): Add member FLAGS to state.
	* file-changed.c (cons_S_file_changed): Handle change of flags.
	* vcons-refresh.c (cons_vcons_refresh): Copy FLAGS field.
	Call cons_vcons_set_scroll_lock.

	* cons-switch.c (cons_switch): Initialize VCONS_ENTRY even if
	DELTA is negative.

2002-09-09  Marcus Brinkmann  <marcus@gnu.org>

	* Makefile (SRCS): Add vcons-scrollback.c.
	* vcons-scrollback.c: New file.
	* cons.h (struct vcons): Add SCROLLING member.
	* file-changed.c: Include <assert.h>.
	(cons_S_file_changed): Be careful to take VCONS->scrolling into
	account when doing clipping and scrolling.

	* cons-switch.c: Roll back to earlier version with vcons ->
	vcons_entry adjustments.  The user is now expected to hold a
	reference to the VCONS.
	* cons.h: Fix prototype, too.
	
	* vcons-open.c (cons_vcons_open): Initialize VCONS->lock,
	VCONS->input and VCONS->display.

	* vcons-remove.c: New file.
	* Makefile (SRCS): Add vcons-destroy.c.
	* cons.h: New type vcons_list_t.
	(struct vcons_list): New structure.
	(struct cons_notify): Remove VCONS member.
	(struct vcons): Remove members NEXT, PREV and NOTIFY.  Add the
	notify structure to the top to make it possible to use a vcons as
	a port.  New member VCONS_ENTRY.
	(struct cons): Change type of members vcons_list and vcons_last to
	vcons_list_t.  Remove member active.
	(cons_vcons_add): Change prototype to match new definition.
	(cons_vcons_remove): Likewise.
	(cons_switch): Likewise.
	(cons_lookup): Likewise.
	(cons_vcons_open): Likewise.
	(cons_vcons_destroy): New prototype.
	* cons-lookup.c (cons_lookup): Change type of R_VCONS argument
	vcons_list_t.  Change type of previous_vcons and vcons variables
	to vcons_list_t.  Append _entry to all these variables.
	Don't allocate and initialize a vcons_t, but a vcons_list_t.
	After this has been added to the list, call cons_vcons_add.
	* cons-switch.c: Do not include <error.h>
	(cons_switch): Add arguments ACTIVE_ID and R_VCONS.  New variable
	ERR and VCONS_ENTRY.  Remove variable ACTIVE.  Do not keep track
	of active console.  Instead, look it up using ACTIVE_ID.  Lock the
	returned console.  Call cons_vcons_open, not cons_vcons_activate.
	* dir-changed.c (add_one): Change VCONS to VCONS_ENTRY and its
	type from vcons_t to vcons_list_t to follow cons_lookup change.
	(lookup_one): Likewise.
	(cons_S_dir_changed): Likewise.
	* file-changed.c (cons_S_file_changed): Cast NOTIFY to VCONS.
	Check that NOTIFY->cons is not set instead that NOTIFY->vcons is.
	* init-init.c (cons_init): Pass cons_vcons_destroy as
	clean_routine to ports_create_class.
	Don't initialize CONS->active, nor DIR_NOTIFY_PORT->vcons.
	* vcons-add.c (cons_vcons_add): Change argument VCONS to CONS and
	VCONS_ENTRY.  Don't do anything here (the user must implement it
	all).
	* vcons-close.c: Don't include <errno.h>, <unistd.h>, <stdio.h>,
	<sys/mman.h>, <sys/fcntl.h>, <mach.h>.  Include <assert.h>,
	<hurd/ports.h> and <cthreads.h>.
	(cons_vcons_close): Clear VCONS->vcons_entry->vcons.  Derefence
	and destroy VCONS.
	* vcons-open.c (cons_vcons_open): Change arguments from VCONS to
	CONS, VCONS_ENTRY and R_VCONS.  New variable VCONS.  Set up VCONS
	as a port, and request notification messages on that.
	* vcons-remove.c: Do not include <errno.h>.
	(cons_vcons_remove): Assert that VCONS_ENTRY does not have an open
	VCONS.

2002-08-28  Marcus Brinkmann  <marcus@gnu.org>

	* file-changed.c (cons_S_file_changed): Take NEW_CUR_LINE modulo
	VCONS->state.screen.lines where appropriate.  Adapt calculation of
	SCROLLING, and limit it to the screen size.
	Only scroll at all if there is something to scroll.
	Fix calculation of scrolled-in area.
	* vcons-refresh.c (cons_vcons_refresh): Take
	VCONS->state.screen.cur_line modulo VCONS->state.screen.lines.

2002-08-22  Marcus Brinkmann  <marcus@gnu.org>

	* demuxer.c, init-init.c, init-loop.c, opts-version.c,
	extra-version.c, dir-changed.c, file-changed.c,
	opts-std-startup.c, cons-lookup.c, cons-switch.c, vcons-remove.c,
	vcons-add.c, vcons-open.c, vcons-close.c, vcons-refresh.c, priv.h,
	mutations.h, cons.h: New files.
