1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
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.
|