10d2e6105964a73854f9b660aee5064c3060cd44
[vte.git] / ChangeLog
1 2008-11-22  Christian Persch  <chpe@gnome.org>
2
3         * configure.in: Depend on gtk 2.12. Bug #398862.
4
5 2008-11-22  Christian Persch  <chpe@gnome.org>
6
7         * src/table.c: (print_array): Fix the build (broken since r1622).
8
9 2008-11-22  Christian Persch  <chpe@gnome.org>
10
11         * src/reaper.c: Don't include gtk.h here, it's unneeded.
12
13 2008-11-22  Christian Persch  <chpe@gnome.org>
14
15         * src/iso2022.c: (main): Make iso2022 programme build again; it was
16         broken since r1612.
17
18 2008-11-22  Christian Persch  <chpe@gnome.org>
19
20         * src/Makefile.am: Separate CFLAGS and CPPFLAGS.
21
22 2008-11-22  Christian Persch  <chpe@gnome.org>
23
24         * src/Makefile.am: Don't add LDFLAGS to *_LDADD, that's wrong and
25         broken.
26
27 2008-11-22  Christian Persch  <chpe@gnome.org>
28
29         * configure.in:
30         * src/Makefile.am:
31         * vte-uninstalled.pc.in:
32         * vte.pc.in: Remove more configure cruft: OTHERCFLAGS, OTHERLIBS,
33         X_CFLAGS and X_LIBS.
34
35 2008-11-21  Christian Persch  <chpe@gnome.org>
36
37         * src/vtepangocairo.c: (font_info_destroy_delayed),
38         (font_info_destroy): Use gdk_threads_add_timeout_seconds() for
39         complete threadsafety.
40
41 2008-11-21  Chris Wilson  <chris@chris-wilson.co.uk>
42
43         * vte.pc.in: Remove FT2_LIBS and FT2_CFLAGS
44
45 2008-11-21  Chris Wilson  <chris@chris-wilson.co.uk>
46
47         * src/iso2022.c (_vte_iso2022_is_ambiguous): Break out of interval
48         search as early as possible. Exploit the strict ordering of the 
49         ambiguous/unambiguous ranges to break out of the for loop as soon
50         as the character is less than a range start. (As the arrays only
51         contain 2/3 elements, it is not worth adding the overhead of calling
52         bsearch()).
53
54 2008-11-21  Chris Wilson  <chris@chris-wilson.co.uk>
55
56         * src/iso2022.c (process_cdata): Copy the gunichars directly to the
57         array from the incoming chunk.
58
59 2008-11-20  Chris Wilson  <chris@chris-wilson.co.uk>
60
61         * src/Makefile.am: Remove FT2_FLAGS
62
63 2008-11-20  Behdad Esfahbod  <behdad@gnome.org>
64
65         * src/vtepangocairo.c (font_info_destroy_delayed): Remove obsolete
66         check.
67
68 2008-11-20  Behdad Esfahbod  <behdad@gnome.org>
69
70         Bug 561713 – crash on font cache cleanup
71
72         * src/vtepangocairo.c (font_info_reference), (font_info_destroy):
73         Remove destroy timeout when resurrecting a font info.
74
75 2008-11-20  Behdad Esfahbod  <behdad@gnome.org>
76
77         * src/vtepangocairo.c (font_info_cache_ascii),
78         (font_info_allocate), (font_info_free),
79         (font_info_find_for_context):
80         Make profiling messages print the info pointer.
81
82 2008-11-20  Behdad Esfahbod  <behdad@gnome.org>
83
84         * configure.in:  Remove more cruft.
85
86 2008-11-20  Behdad Esfahbod  <behdad@gnome.org>
87
88         Bug 560819 – Remove obsolete backends
89
90         * configure.in:
91         * src/Makefile.am:
92         * src/vtebg.c (vte_bg_get_pixmap):
93         * src/vtebg.h:
94         * src/vtedraw.c:
95         * src/vtefc.c:
96         * src/vtefc.h:
97         * src/vteft2.c:
98         * src/vteft2.h:
99         * src/vtegl.c:
100         * src/vtegl.h:
101         * src/vteglyph.c:
102         * src/vteglyph.h:
103         * src/vterdb.c:
104         * src/vterdb.h:
105         * src/vtergb.c:
106         * src/vtergb.h:
107         * src/vtexft.c:
108         * src/vtexft.h:
109         Remove all backends except for pangocairo.  Saves so much code.
110
111 2008-11-20  Behdad Esfahbod  <behdad@gnome.org>
112
113         Bug 560819 – Remove obsolete backends
114
115         * src/Makefile.am:
116         * src/vtedraw.c:
117         * src/vtepango.c:
118         * src/vtepango.h:
119         Remove pango backend.
120
121 2008-11-20  Behdad Esfahbod  <behdad@gnome.org>
122
123         Bug 560819 – Remove obsolete backends
124
125         * configure.in:
126         * src/Makefile.am:
127         * src/vtedraw.c:
128         * src/vtepangox.c:
129         * src/vtepangox.h:
130         Remove pangox backend.
131
132 2008-11-20  Behdad Esfahbod  <behdad@gnome.org>
133
134         Bug 560818 – pangocairo backend doesn't share font cache across
135         widgets
136
137         * src/vtepangocairo.c (font_info_cache_ascii),
138         (font_info_allocate), (font_info_free), (font_info_register),
139         (font_info_unregister), (font_info_reference),
140         (font_info_destroy_delayed), (font_info_destroy), (context_hash),
141         (context_equal), (font_info_find_for_context),
142         (font_info_create_for_context), (font_info_create_for_screen),
143         (font_info_get_unichar_info): Cache font info and use it for multiple
144         widgets.
145
146 2008-11-19  Behdad Esfahbod  <behdad@gnome.org>
147
148         * src/vtepangocairo.c (font_info_create_for_screen),
149         (font_info_destroy): Remove unused PangoCoverage.
150
151 2008-11-19  Behdad Esfahbod  <behdad@gnome.org>
152
153         * src/vtepangocairo.c (font_info_find_unichar_info),
154         (font_info_cache_ascii), (font_info_measure_font),
155         (font_info_get_unichar_info): Cache ASCII characters when building
156         font.
157
158 2008-11-18  Christian Persch  <chpe@gnome.org>
159
160         Remove glib usage from gnome-pty-helper. Bug #560977.
161
162         * gnome-pty-helper/Makefile.am: Remove GLIB CFLAGS/LIBS.
163         * gnome-pty-helper/configure.in: Remove glib check, and do some auto*
164         modernisation.
165         * gnome-pty-helper/gnome-pty-helper.c: (open_ptys), (exit_handler),
166         (main): Use alloca instead of g_alloca, and use int instead of
167         gboolean.
168
169 2008-11-18  Behdad Esfahbod  <behdad@gnome.org>
170
171         * src/vtepangocairo.c (font_info_create_for_screen),
172         (font_info_destroy): Remove copy of font desc and antialias from font
173         info object as they were not used.
174
175 2008-11-18  Behdad Esfahbod  <behdad@gnome.org>
176
177         Bug 561185 – pangocairo backend sets antialias incorrectly
178
179         * src/vtepangocairo.c (font_info_create_for_screen): Handle
180         FORCE_ENABLE correctly.
181
182 2008-11-16  Behdad Esfahbod  <behdad@gnome.org>
183
184         Bug 560817 – pagocairo backend doesn't have correct opacity support   
185
186         * src/vtepangocairo.c (_vte_pangocairo_clear),
187         (_vte_pangocairo_draw_text), (_vte_pangocairo_draw_rectangle),
188         (_vte_pangocairo_fill_rectangle): Fix opacity support by using
189         SOURCE operator.
190
191 2008-11-16  Behdad Esfahbod  <behdad@gnome.org>
192
193         Bug 560991 – Unsetting background doesn't work
194
195         * src/vte.c (vte_terminal_set_background_image): Correctly unset
196         background if image==NULL.
197
198 2008-11-14 Christian Persch <chpe@gnome.org>
199
200         * src/vteskel.c: Fix missing prototype warning.
201
202 2008-11-14  Behdad Esfahbod  <behdad@gnome.org>
203
204         Bug 395599 – Add pangocairo backend
205
206         * configure.in:
207         Require pango >= 1.22.0
208
209         * src/Makefile.am:
210         * src/vtedraw.c:
211         * src/vtepangocairo.c:
212         * src/vtepangocairo.h:
213         Add a pangocairo drawing backend.  Use it by default.  This is as fast
214         as the xft backend.  Doesn't share font caches across widgets yet.
215         Also, the transparent background stuff doesn't match xft backend's
216         yet.
217
218 2008-11-14  Behdad Esfahbod  <behdad@gnome.org>
219
220         * src/vte.c (vte_terminal_ensure_font):
221         * src/vtedraw.c (_vte_draw_new), (_vte_draw_free),
222         (_vte_draw_set_background_opacity),
223         (_vte_draw_set_background_color), (_vte_draw_set_text_font),
224         (_vte_draw_get_text_metrics), (_vte_draw_get_char_width),
225         (_vte_draw_char), (_vte_draw_draw_rectangle),
226         (_vte_draw_set_scroll):
227         * src/vtedraw.h:
228         * src/vteft2.c (_vte_ft2_destroy), (_vte_ft2_start),
229         (_vte_ft2_end), (_vte_ft2_set_background_image), (_vte_ft2_clear),
230         (_vte_ft2_set_text_font), (_vte_ft2_get_text_metrics),
231         (_vte_ft2_get_char_width), (_vte_ft2_draw_text),
232         (_vte_ft2_draw_has_char), (_vte_ft2_draw_rectangle),
233         (_vte_ft2_fill_rectangle):
234         * src/vtegl.c (_vte_gl_destroy), (_vte_gl_get_visual),
235         (_vte_gl_start), (_vte_gl_end), (_vte_gl_set_background_image),
236         (_vte_gl_clear), (_vte_gl_set_text_font),
237         (_vte_gl_get_text_metrics), (_vte_gl_get_char_width),
238         (_vte_gl_draw_text), (_vte_gl_draw_has_char), (_vte_gl_rectangle):
239         * src/vtepango.c (_vte_pango_set_text_font),
240         (_vte_pango_get_text_metrics):
241         * src/vtepangox.c (_vte_pangox_create), (_vte_pangox_destroy),
242         (_vte_pangox_start), (_vte_pangox_end),
243         (_vte_pangox_set_background_image), (_vte_pangox_clip),
244         (_vte_pangox_clear), (_vte_pangox_set_text_font),
245         (_vte_pangox_get_text_metrics), (_vte_pangox_get_using_fontconfig),
246         (_vte_pangox_draw_text), (_vte_pangox_draw_has_char),
247         (_vte_pangox_draw_rectangle), (_vte_pangox_fill_rectangle):
248         * src/vtepangox.h:
249         * src/vteskel.c (_vte_skel_clear), (_vte_skel_get_text_metrics),
250         (_vte_skel_draw_text), (_vte_skel_fill_rectangle):
251         * src/vtexft.c (_vte_xft_set_text_font),
252         (_vte_xft_get_text_metrics), (_vte_xft_draw_text):
253         Remove unneeded draw methods.
254
255 2008-11-14  Behdad Esfahbod  <behdad@gnome.org>
256
257         * src/vtedraw.c (_vte_draw_get_char_width): Minor fix.
258
259         * src/vtepangox.c (_vte_pango_x_create), (_vte_pango_x_start),
260         (_vte_pango_x_clear): Cleanup here too.
261
262 2008-11-13  Behdad Esfahbod  <behdad@gnome.org>
263
264         * configure.in:
265         * src/vte-private.h:
266         Undo previous change instead of cleanly fix it for now.
267
268 2008-11-13  Behdad Esfahbod  <behdad@gnome.org>
269
270         * configure.in:
271         * src/vte-private.h:
272         Why do we let people configure random things?
273
274 2008-11-13  Behdad Esfahbod  <behdad@gnome.org>
275
276         * src/vte.c (vte_terminal_background_update):
277         * src/vtedraw.c (_vte_draw_update_requires_clear), (_vte_draw_new),
278         (_vte_draw_set_background_opacity),
279         (_vte_draw_set_background_color), (_vte_draw_set_background_image),
280         (_vte_draw_char), (_vte_draw_set_scroll):
281         * src/vtedraw.h:
282         * src/vteft2.c (_vte_ft2_set_background_image), (_vte_ft2_clear),
283         (_vte_ft2_get_char_width):
284         * src/vtegl.c (_vte_gl_create), (_vte_gl_clear),
285         (_vte_gl_get_char_width), (_vte_gl_draw_text):
286         * src/vtepango.c (_vte_pango_create), (_vte_pango_start),
287         (_vte_pango_set_background_image), (_vte_pango_clear):
288         * src/vtexft.c (_vte_xft_create), (_vte_xft_set_background_image),
289         (_vte_xft_clear), (_vte_xft_get_char_width):
290         Simplify backends by relying more on defaults.
291
292 2008-11-13  Behdad Esfahbod  <behdad@gnome.org>
293
294         * src/vtedraw.c (_vte_draw_init_user), (_vte_draw_init_default):
295         Accept draw impl if impl->check is NULL.
296
297 2008-11-13  Behdad Esfahbod  <behdad@gnome.org>
298
299         * src/vtedraw.h:
300         * src/vtedraw.c (_vte_draw_new), (_vte_draw_get_visual),
301         (_vte_draw_get_colormap), (_vte_draw_start), (_vte_draw_end),
302         (_vte_draw_set_background_color), (_vte_draw_set_background_image),
303         (_vte_draw_requires_repaint), (_vte_draw_clip), (_vte_draw_clear),
304         (_vte_draw_set_text_font), (_vte_draw_get_text_width),
305         (_vte_draw_get_text_height), (_vte_draw_get_text_ascent),
306         (_vte_draw_get_char_width), (_vte_draw_get_using_fontconfig),
307         (_vte_draw_text), (_vte_draw_char), (_vte_draw_has_char),
308         (_vte_draw_fill_rectangle), (_vte_draw_draw_rectangle),
309         (_vte_draw_set_scroll):
310         Use sensical defaults instead of g_return_if_fail'ing when backend
311         functions are not implemented.
312
313 2008-10-31  Chris Wilson  <chris@chris-wilson.co.uk>
314
315         Bug 557375 – >=vte-0.16.14 breaks highlighting on activity
316
317         * src/vte.c (vte_terminal_deselect_all):
318         Preserve the copy of the selection until it is replace by a new
319         selection, so that we can perform asynchronous copies from the
320         clipboard.
321
322 2008-10-23  Chris Wilson  <chris@chris-wilson.co.uk>
323
324         Bug 557375 – >=vte-0.16.14 breaks highlighting on activity
325
326         * src/vte.c (vte_terminal_deselect_all),
327         (vte_terminal_extend_selection):
328         After the user modifies the selection, copy it to PRIMARY and store
329         it on the terminal. This ensures that after a screen redraw, we
330         compare the contents of the selected region with the current
331         selection, instead of stale data.
332
333 2008-10-23  Christian Persch  <chpe@gnome.org>
334
335         * configure.in:
336         * src/Makefile.am: Use glib-genmarshal --internal directly instead
337         of checking the glib version, since we now depend on a glib version
338         that provides this.
339
340 2008-10-23  Christian Persch  <chpe@gnome.org>
341
342         Bug 556398 – maybe deprecate vte_terminal_get_char_ascent/descent
343
344         * src/vte.[ch]: Deprecate vte_terminal_get_char_ascent/descent.
345
346 2008-10-23  Christian Persch  <chpe@gnome.org>
347
348         Bug 339819 – LibVTE terminals in GLADE
349
350         A glade/*:
351         * Makefile.am
352         * configure.in: Add glade catalogue.
353
354 2008-10-23  Christian Persch  <chpe@gnome.org>
355
356         Bug 399364 – Implement properties
357
358         * src/vte.c: Add gobject properties.
359
360 2008-10-19  Christian Persch  <chpe@gnome.org>
361
362         Bug 556328 – Document set-scroll-adjustment parameters
363
364         * src/vte.c: Document the set-scroll-adjustments signal.
365
366 2008-10-15  Behdad Esfahbod  <behdad@gnome.org>
367
368         * doc/reference/Makefile.am:
369         * doc/reference/check-doc-coverage.sh:
370         * doc/reference/check.docs:
371         Update doc coverage test from cairo.
372
373 2008-10-14  Behdad Esfahbod  <behdad@gnome.org>
374
375         * src/vte.c (vte_terminal_set_cursor_shape):
376         Invalidate cursor upon shape change.
377
378 2008-10-15  Christian Persch  <chpe@gnome.org>
379
380         * python/vte.defs: Add new API to the binding.
381
382 2008-10-14  Behdad Esfahbod  <behdad@gnome.org>
383
384         * src/vte-private.h:
385         * src/vte.c (vte_terminal_draw_line), (vte_terminal_paint_cursor):
386         Remove VTE_CURSOR_OUTLINE in favor of VTE_LINE_WIDTH.
387
388 2008-10-14  Behdad Esfahbod  <behdad@gnome.org>
389
390         * src/vte.c (vte_terminal_paint_cursor):
391         Supposedly handle reverse video during cursor drawing.
392
393 2008-10-14  Behdad Esfahbod  <behdad@gnome.org>
394
395         * src/vte.c (vte_terminal_paint_im_preedit_string),
396         (vte_terminal_paint):
397         Move IM preedit string drawing into its own function for code
398         clarity.
399
400 2008-10-14  Behdad Esfahbod  <behdad@gnome.org>
401
402         Bug 549835 – Feature Request: Configurable cursor appearance
403
404         * src/vte.h:
405         New public api:
406
407                 VteTerminalCursorShape
408                 vte_terminal_set_cursor_shape
409                 vte_terminal_get_cursor_shape
410
411         * src/vte-private.h:
412         * src/vte.c (_vte_terminal_insert_char), (vte_terminal_init),
413         (vte_terminal_paint_cursor), (vte_terminal_paint),
414         (vte_terminal_set_cursor_shape), (vte_terminal_get_cursor_shape):
415         Implement new API.  Also clean up cursor drawing in general.
416
417         * doc/reference/Makefile.am:
418         * doc/reference/tmpl/reaper.sgml:
419         * doc/reference/tmpl/vte-unused.sgml:
420         * doc/reference/tmpl/vte.sgml:
421         * doc/reference/vte-sections.txt:
422         Doc new symbols.  Also add some missing docs.
423
424 2008-10-13  Christian Persch  <chpe@gnome.org>
425
426         * src/vte.c: Add gobject property infrastructure.
427
428 2008-10-13  Christian Persch  <chpe@gnome.org>
429
430         * src/Makefile.am: Fix missing prototypes compiler warning in
431         marshal.c.
432
433 2008-10-06  Christian Persch  <chpe@gnome.org>
434
435         * src/vteconv.c: (_vte_conv_open): Fix compiler warning.
436
437 2008-10-06  Christian Persch  <chpe@gnome.org>
438
439         Bug 509204 – child-exited signal does not provide exit code
440
441         * python/vte.defs: Add the new function to the bindings.
442
443 2008-10-06  Christian Persch  <chpe@gnome.org>
444
445         Bug 539130 – building g-t fails due to GtkType etc. deprecation
446
447         * src/vte.h: Deprecate useless macros.
448
449 2008-10-06  Christian Persch  <chpe@gnome.org>
450
451         Bug 509204 – child-exited signal does not provide exit code
452
453         * src/vte-private.h:
454         * src/vte.h:
455         * src/vte.c: Add function to get the child's exit status.
456
457 2008-10-06  Christian Persch  <chpe@gnome.org>
458
459         * configure.in: Bump version to 0.17.5.
460
461 2008-09-08  Christian Persch  <chpe@gnome.org>
462
463         Release 0.17.3.
464
465         * NEWS:
466         * configure.in: Updated.
467
468 2008-09-07  Christian Persch  <chpe@gnome.org>
469
470         * python/vte.defs: Update python bindings.
471
472 2008-08-20  Sébastien Granjoux  <seb.sfo@free.fr>
473
474         Bug 538344 – Anjuta hangs when program is executed in terminal
475
476         * src/vte.c: Ensure the output channel exists when we need to write.
477
478 2008-08-20  Christian Persch  <chpe@gnome.org>
479
480         * src/vte.c: (vte_terminal_match_check_internal_gregex): Plug a mem
481         leak.
482
483 2008-08-15  Chris Wilson  <chris@chris-wilson.co.uk>
484
485         * src/vte.c (vte_terminal_set_pty):
486         fcntl(2) specifies that the flags argument is a long. Make it so.
487
488 2008-08-13  Behdad Esfahbod  <behdad@gnome.org>
489
490         * src/vte-private.h:
491         * src/vte.c (vte_terminal_match_check_internal_vte),
492         (vte_terminal_ensure_cursor), (vte_terminal_set_colors),
493         (_vte_terminal_insert_char), (vte_terminal_feed),
494         (vte_terminal_key_press), (vte_terminal_match_hilite_update),
495         (vte_terminal_extend_selection):
496         * src/vteseq.c (vte_terminal_find_charcell),
497         (vte_sequence_handler_set_title_internal),
498         (vte_sequence_handler_decset_internal), (vte_sequence_handler_cb),
499         (vte_sequence_handler_cd), (vte_sequence_handler_ce),
500         (vte_sequence_handler_ec), (vte_sequence_handler_ta),
501         (vte_sequence_handler_set_mode),
502         (vte_sequence_handler_window_manipulation):
503         Fix all "signed vs unsigned comparison" warnings.
504
505 2008-08-13  Behdad Esfahbod  <behdad@gnome.org>
506
507         * src/vte.c (regex_match_clear_cursor),
508         (vte_terminal_set_cursor_from_regex_match):
509         Fix uninitialized cursor warning.  Setting to NULL sounds
510         right to me.  ChPe?
511
512 2008-08-13  Behdad Esfahbod  <behdad@gnome.org>
513
514         * src/vte.c: Remove useless "inline" decorators.  Gcc has been
515         rightfully complaining.
516
517 2008-08-13  Behdad Esfahbod  <behdad@gnome.org>
518
519         Bug 546940 – Crash when selecting text
520
521         * src/vte.c (vte_terminal_extend_selection): Fix crash with 64-bit
522         systems.  Note to self:
523
524                 unsigned int len = 0;
525                 long i = len - 1;
526                 assert (i < 0);
527
528         fails on 64-bit systems.
529
530 2008-08-05  Behdad Esfahbod  <behdad@gnome.org>
531
532         Released vte-0.17.1.
533
534         * NEWS: Updated.
535
536         * configure.in: Bumped version to 0.17.1.
537         Bumped libtool version to 12:0:3.
538
539 2008-08-05  Behdad Esfahbod  <behdad@gnome.org>
540
541         Bug 546366 – hard to select last tab char on a line
542
543         * src/vte.c (vte_terminal_extend_selection):
544         * src/vteseq.c (vte_sequence_handler_ta):
545         Handle fragment cells.
546
547 2008-08-05  Behdad Esfahbod  <behdad@gnome.org>
548
549         Bug 545924 – tab characters not handled correctly after ncurses clear 
550         Patch from Patryk Zawadzki
551
552         * src/vteseq.c (vte_sequence_handler_ta): Ignore empty cells at end of
553         line.
554
555 2008-07-14  Behdad Esfahbod  <behdad@gnome.org>
556
557         Bug 542795 – VTE_CJK_WIDTH don't work
558
559         * src/iso2022.c (_vte_iso2022_ambiguous_width): Fix VTE_CJK_WIDTH env
560         handling.
561
562 2008-06-27  Christian Persch  <chpe@gnome.org>
563
564         Bug 399744 – Hide more font-aa implementation details
565
566         * src/vtexft.c: Disable antialiasing if using the default antialias
567         setting and the XRender extension is not available.
568
569 2008-06-27  Christian Persch  <chpe@gnome.org>
570
571         Bug 510903 – use gtk-cursor-blink setting
572
573         * doc/reference/tmpl/vte.sgml:
574         * doc/reference/vte-sections.txt:
575         * src/vte-private.h:
576         * src/vte.c:
577         * src/vte.h: Make the cursor blinking follow the gtk setting by
578         default, with a possible override.
579
580 2008-06-26  Christian Persch  <chpe@gnome.org>
581
582         * src/vte.h: Remove the enum type declarations that are now in
583         vtetypebuiltins.h.
584
585 2008-06-26  Christian Persch  <chpe@gnome.org>
586
587         * Makefile.am:
588         * autogen.sh: Fix the build from svn and make dist when using
589         intltool 0.40.0. Tarball builds still only require 0.35.0.
590
591 2008-06-26  Christian Persch  <chpe@gnome.org>
592
593         * src/vteversion.h.in: Disallow direct inclusion of the new
594         vteversion.h file.
595
596 2008-06-26  Christian Persch  <chpe@gnome.org>
597
598         * configure.in:
599         * src/Makefile.am:
600         * src/vte.c:
601         * src/vte.h:
602         * src/vtetypebuiltins.c.template:
603         * src/vtetypebuiltins.h.template: Use glib-mkenums to generate the
604         enum types; makes it easier to add more enum types.
605
606 2008-06-26  Christian Persch  <chpe@gnome.org>
607
608         Bug 539130 – building g-t fails due to GtkType etc. deprecation
609
610         * src/reaper.h:
611         * src/vte.c:
612         * src/vteaccess.[ch]: 
613         * src/vtebg.h: Also remove the deprecated GtkType macros from here.
614
615 2008-06-25  Christian Persch  <chpe@gnome.org>
616
617         Bug 540182 – crash in geany with vte trunk
618
619         * src/vte.c: Make sure that match_attributes always exist even if
620         there haven't been any matches added.
621
622 2008-06-23  Christian Persch  <chpe@gnome.org>
623
624         Bug 535552 – vte_terminal_set_allow_bold doesn't queue redraw
625
626         * src/vte.c: Invalidate all when changing the allow-bold property.
627
628 2008-06-23  Christian Persch  <chpe@gnome.org>
629
630         Bug 535469 – support named cursors on matches
631
632         * src/vte-private.h
633         * src/vte.c
634         * src/vte.h: Implement named cursors on matches.
635
636 2008-06-23  Christian Persch  <chpe@gnome.org>
637
638         Bug 418918 – Switch to GRegex
639
640         * src/vte-private.h
641         * src/vte.c
642         * src/vte.h: Implement GRegex matching, to be used alternatively
643         to the old vteregex matching.
644
645 2008-06-23  Christian Persch  <chpe@gnome.org>
646
647         Bug 535467 – implement set-scroll-adjustments signal
648
649         * src/vte.c: Add set-scroll-adjustments signal, needed to allow
650         adding a VteTerminal into a GtkScrolledWindow.
651
652 2008-06-23  Christian Persch  <chpe@gnome.org>
653
654         Bug 535468 – need version check macros
655
656         * configure.in
657         * doc/reference/tmpl/vteversion.sgml
658         * doc/reference/vte-sections.txt
659         * doc/reference/vte.types
660         * src/Makefile.am
661         * src/vte.h
662         A src/vteversion.h.in: Add version check macro.
663
664 2008-06-21  Kjartan Maraas  <kmaraas@gnome.org>
665
666         * src/vte.h: Don't use GTK_CHECK* macros.
667
668 2008-06-04  Christian Persch  <chpe@gnome.org>
669
670         Bug 515972 – Bold black is black in vte's default palette
671
672         * src/vte.c: (vte_terminal_set_colors): Correctly set the value of
673         'bold black' in the palette. Patch by Santtu Lakkala.
674
675 2008-06-04  Behdad Esfahbod  <behdad@gnome.org>
676
677         Released vte-0.16.14.
678
679         * NEWS: Updated.
680
681         * configure.in: Bumped version to 0.16.14.
682         Bumped libtool version to 11:18:2.
683
684 2008-06-04  Behdad Esfahbod  <behdad@gnome.org>
685
686         Bug 536632 – vte build failure in ring.c:210: error: expected
687         expression before 'do'
688
689         * src/debug.h:
690         * src/ring.c:
691         * src/ring.h:
692         With latest glib (after bug #519026), g_error is expanding to
693         "do {...} while(0)" instead of "{...}".  This breaks build in
694         debugging mode.  Use g_critical instead.  Also add some
695         G_STMT_START/END to some macros.
696
697 2008-05-29  Chris Wilson  <chris@chris-wilson.co.uk>
698
699         * src/pty.c (merge_environ): Replace previous commit with the
700         better patch by Christian Persch.
701
702 2008-05-29  Chris Wilson  <chris@chris-wilson.co.uk>
703
704         * src/pty.c (merge_environ): Fix bug in patch to use g_listenv()
705         as it only returns the variable name and we need to use g_getenv()
706         to retrieve its value.
707
708 2008-05-27  Behdad Esfahbod  <behdad@gnome.org>
709
710         * src/iso2022.c (_vte_iso2022_ambiguous_width): Oops.  Fix thinko
711         in last commit.
712
713 2008-05-27  Behdad Esfahbod  <behdad@gnome.org>
714
715         Bug 535022 – ambiguous width in utf8 locale
716
717         * src/iso2022.c (_vte_iso2022_ambiguous_width): Recognize
718         env var settings VTE_CJK_WIDTH=narrow and VTE_CJK_WIDTH=wide.
719         Any other value means "auto" based on locale, as it was doing
720         previously.
721
722 2008-05-21  Chris Wilson  <chris@chris-wilson.co.uk>
723
724         * src/pty.c (merge_environ): Silence compiler warning about using
725         environ as a local variable name.
726
727 2008-05-21  Richard Hult  <richard@imendio.com>
728
729         Bug 534148 – Use g_listenv() instead of environ
730
731         * src/pty.c: (merge_environ): Use g_listenv() instead of
732         non-portable environ extern.
733
734 2008-05-19  Kjartan Maraas  <kmaraas@gnome.org>
735
736         * configure.in: automake doesn't like to substitute more
737         than one variable at a time.
738         * src/vtedraw.c: (_vte_draw_get_using_fontconfig):
739         * src/vtetc.c: (_vte_termcap_find_boolean):
740         Fix two compiler warnings.
741
742 2008-05-09  Chris Wilson  <chris@chris-wilson.co.uk>
743
744         * src/vtedraw.c (_vte_draw_text):
745             Add the text to draw to the debug output.
746
747 2008-05-09  Chris Wilson  <chris@chris-wilson.co.uk>
748
749         Fix "GLib-CRITICAL **: g_io_add_watch_full: assertion
750                                `channel != NULL' failed"
751
752         * src/debug.c (_vte_debug_parse_string):
753         * src/debug.h:
754         * src/vte-private.h:
755         * src/vte.c (vte_terminal_emit_adjustment_changed),
756         (_vte_terminal_adjust_adjustments_full),
757         (vte_terminal_scroll_lines), (vte_terminal_maybe_scroll_to_bottom),
758         (_vte_terminal_insert_char), (vte_terminal_catch_child_exited),
759         (mark_input_source_invalid), (_vte_terminal_connect_pty_read),
760         (mark_output_source_invalid), (_vte_terminal_connect_pty_write),
761         (_vte_terminal_disconnect_pty_read),
762         (_vte_terminal_disconnect_pty_write), (_vte_terminal_fork_basic),
763         (vte_terminal_eof), (_vte_terminal_enable_input_source),
764         (vte_terminal_io_read), (vte_terminal_handle_scroll),
765         (vte_terminal_finalize), (vte_terminal_class_init),
766         (vte_terminal_set_pty), (process_timeout), (update_repeat_timeout),
767         (update_timeout):
768         It was possible for _vte_terminal_enable_input_source() to be called
769         after the input closed with G_IO_HUP. The minimal change would just
770         have been to add a guard to check the pty_master was still valid
771         before reattaching the source. Instead I removed the redundant
772         duplication of the input and output channels and added lots of
773         debugging.
774
775 2008-05-08  Chris Wilson  <chris@chris-wilson.co.uk>
776
777         Bug 516869 – vte displays nothing on GTK+/DirectFB
778
779         Original patch by Jérémy Bobbio.
780
781         * src/vte.c (vte_terminal_class_init), (update_regions),
782         (update_repeat_timeout), (update_timeout):
783         gdk_window_process_all_updates() is ineffective on the gtk+-directfb
784         and gtk+-quartz backends, so in order to process updates immediately
785         one must call gdk_window_process_updates() on the desired GdkWindows
786         instead.
787
788 2008-03-10  Behdad Esfahbod  <behdad@gnome.org>
789
790         Released vte-0.16.13.
791
792         * NEWS: Updated.
793
794         * configure.in: Bumped version to 0.16.13.
795         Bumped libtool version to 11:17:2.
796
797 2008-02-20  Behdad Esfahbod  <behdad@gnome.org>
798
799         Bug 517709 – VTE's pty.c makes 4096 getrlimit calls when it only needs
800         one
801
802         * src/pty.c (_vte_pty_start_helper): Only close fds 0, 1, and 2.
803         gnome-pty-helper closes all fds anyway.
804
805 2008-02-08  Behdad Esfahbod  <behdad@gnome.org>
806
807         * src/vte.c:
808         * src/vteapp.c:
809         * src/vtergb.c:
810         Remove unneeded #include <fontconfig/fontconfig.h>
811
812 2008-01-09  Behdad Esfahbod  <behdad@gnome.org>
813
814         Bug 449131 – Wrong gettext domain
815
816         * src/pty.c:
817         * src/reaper.c (vte_reaper_class_init):
818         * src/trie.c:
819         * src/vtebg.c (vte_bg_class_init):
820         * src/vteglyph.c:
821         Oops.  Fix all remaining ones too.
822
823 2008-01-07  Behdad Esfahbod  <behdad@gnome.org>
824
825         Released vte-0.16.12.
826
827         * NEWS: Updated.
828
829         * configure.in: Bumped version to 0.16.12.
830         Bumped libtool version to 11:16:2.
831 .
832 2007-12-21  Chris Wilson  <chris@chris-wilson.co.uk>
833
834         Bug 503164 – Drawing problems for VTE with gtk+-quartz
835
836         * src/vte.c (vte_terminal_realize):
837         Continuing the saga, remove the fiddling with visibility state
838         during realize.
839
840 2007-12-18  Behdad Esfahbod  <behdad@gnome.org>
841
842         Bug 449131 – Wrong gettext domain
843
844         * src/vte.c (vte_terminal_class_init): Use GETTEXT_DOMAIN in
845         bind_textdomain_codeset().
846
847 2007-12-17  Behdad Esfahbod  <behdad@gnome.org>
848
849         Released vte-0.16.11.
850
851         * NEWS: Updated.
852
853         * configure.in: Bumped version to 0.16.11.
854         Bumped libtool version to 11:15:2.
855 .
856 2007-12-17  Chris Wilson  <chris@chris-wilson.co.uk>
857
858         Bug 503164 – Drawing problems for VTE with gtk+-quartz
859
860         * src/vte.c (vte_terminal_init):
861         GdkQuartz does not generate GdkVisibilityNotify events and
862         so the terminal was never marked as unobscured, causing all
863         redraws to be discarded. Resolve this by initially setting the
864         terminal to be unobscured.
865
866 2007-12-10  Behdad Esfahbod  <behdad@gnome.org>
867
868         Bug 319687 – Pasting of text containing characters not in the
869         terminal's encoding silently fails
870
871         * src/vteconv.c (_vte_conv_open): Try to open converter with
872         transliteration.  Supported by GNU iconv and GLibc.
873
874 2007-12-03  Behdad Esfahbod  <behdad@gnome.org>
875
876         Released vte-0.16.10.
877
878         * NEWS: Updated.
879
880         * configure.in: Bumped version to 0.16.10.
881         Bumped libtool version to 11:14:2.
882 .
883 2007-12-03  Chris Wilson  <chris@chris-wilson.co.uk>
884
885         Bug 497246 – Kill vte_iso2022_fragment_input
886
887         * src/iso2022.c (process_block), (_vte_iso2022_process):
888         Avoid the temporary allocation of the GArray holding the fragments
889         by processing each fragment as it is decyphered. This array is
890         allocated and grown for every single input chunk and is currently the
891         most frequent allocation made by vte.
892
893 2007-12-03  Chris Wilson  <chris@chris-wilson.co.uk>
894
895         * src/keymap.c: Make is_cursor_key static.
896
897 2007-11-28  Behdad Esfahbod  <behdad@gnome.org>
898
899         Bug 412435 – Invalid variable name in Makefile.am
900
901         * Makefile.am:
902         * configure.in:
903         * vte.spec.in:
904         Remove spec file and old convenience cvs make targets.
905
906 2007-11-28  Behdad Esfahbod  <behdad@gnome.org>
907
908         Bug 416561 – Rendering issue in VtePango
909
910         * src/vtepango.c (_vte_pango_draw_rectangle):
911         * src/vtepangox.c (_vte_pango_x_draw_rectangle):
912         gdk_draw_rectangle has slightly different semantics when
913         filling vs outlining.  Fix for that.
914
915 2007-11-28  Behdad Esfahbod  <behdad@gnome.org>
916
917         Bug 416558 – Rendering errors in VteFT2
918
919         * src/vteft2.c (_vte_ft2_create): Disable Gtk+ double-buffering.
920
921 2007-11-28  Behdad Esfahbod  <behdad@gnome.org>
922
923         Bug 403217 – Outdated README
924
925         * README: Rewrite.
926
927 2007-11-27  Behdad Esfahbod  <behdad@gnome.org>
928
929         Bug 118967 – single line scrolling with "Ctrl+Shift+ArrowUp/ArrowDown"
930         Patch from Mauricio and Mariano Suárez-Alvarez
931
932         * src/vte.c (vte_terminal_scroll_lines),
933         (vte_terminal_scroll_pages), (vte_terminal_key_press):
934         Implement single-line scroll.
935
936 2007-11-27  Behdad Esfahbod  <behdad@gnome.org>
937
938         Bug 353610 – Don't convert tab characters upon copying
939
940         * src/vte-private.h:
941         * src/vteseq.c (vte_sequence_handler_ta):
942         Smart tab handling to try to preserve tab character upong copying.
943         Also makes such smart tabs all-or-none selectable.
944
945 2007-11-27  Behdad Esfahbod  <behdad@gnome.org>
946
947         Bug 499892 – strikethrough line is too high
948
949         * src/vte-private.h:
950         * src/vte.c (vte_terminal_apply_metrics), (vte_terminal_init),
951         (vte_terminal_draw_cells): Adjust underline/strikethrough thickness
952         and position based on pangofc's heuristics.
953
954 2007-11-27  Behdad Esfahbod  <behdad@gnome.org>
955
956         * src/vtedraw.c (_vte_draw_init_user): Make VTE_BACKEND=list list
957         available backends to stderr.
958
959 2007-11-27  Behdad Esfahbod  <behdad@gnome.org>
960
961         Bug 499891 – vte with opacity set, shows invisible chars
962
963         * src/vte.c (vte_terminal_draw_rows): Don't draw invisible chars.
964
965 2007-11-27  Behdad Esfahbod  <behdad@gnome.org>
966
967         Bug 499896 – Alternate charset isn't an attribute, though we treat it
968         as one.
969
970         * src/vte-private.h:
971         * src/vte.c (_vte_terminal_set_default_attributes),
972         (_vte_terminal_insert_char), (vte_terminal_reset):
973         * src/vteseq.c (vte_sequence_handler_ae),
974         (vte_sequence_handler_as):
975         Move cell.attr.alternate to screen->alternate_charset.
976
977 2007-11-27  Behdad Esfahbod  <behdad@gnome.org>
978
979         Bug 499893 – cell.attr.protect is unused
980
981         * src/vte-private.h:
982         * src/vte.c (_vte_terminal_set_default_attributes):
983         * src/vteseq.c (vte_sequence_handler_mp):
984         Comment out cell.attr.protect which is unused.
985
986 2007-11-27  Behdad Esfahbod  <behdad@gnome.org>
987
988         * src/vte.c (_vte_invalidate_cell), (_vte_invalidate_cursor_once):
989         Minor optimization, if one can call it that.
990
991 2007-11-26  Behdad Esfahbod  <behdad@gnome.org>
992
993         * src/vte.c: Fix doc syntax.
994
995 2007-11-26  Behdad Esfahbod  <behdad@gnome.org>
996
997         Revert previous change.  For reason, see bug.
998         Bug 491832 – vte_terminal_get_text_range_maybe_wrapped always includes
999         trailing spaces
1000
1001         * src/vte.c (vte_terminal_get_text_range_maybe_wrapped):
1002         Don't trim space characters, just the empty space after lines,
1003         like we used to.
1004
1005 2007-11-26  Behdad Esfahbod  <behdad@gnome.org>
1006
1007         Bug 491832 – vte_terminal_get_text_range_maybe_wrapped always includes
1008         trailing spaces
1009
1010         * src/vte.c (vte_terminal_get_text_range_maybe_wrapped):
1011         Trim trailing space characters if asked to.
1012
1013 2007-11-23  Behdad Esfahbod  <behdad@gnome.org>
1014
1015         * doc/reference/Makefile.am:
1016         * doc/reference/check.docs:
1017         Add script to check doc coverage is 100% on "make check".
1018
1019 2007-11-23  Behdad Esfahbod  <behdad@gnome.org>
1020
1021         Bug 499287 – Fix doc coverage regression
1022
1023         * doc/reference/tmpl/vte.sgml:
1024         * doc/reference/vte-sections.txt:
1025         Document undocumented symbols.
1026
1027 2007-11-16  Chris Wilson  <chris@chris-wilson.co.uk>
1028
1029         * src/vte.c (vte_terminal_io_read), (vte_terminal_init),
1030         (process_timeout), (update_repeat_timeout), (update_timeout):
1031             Tweak to read across chunk boundaries whilst still maintaining
1032             fairness between multiple terminals and refresh rate targets.
1033
1034 2007-11-16  Chris Wilson  <chris@chris-wilson.co.uk>
1035
1036         * src/ring.c (_vte_ring_insert_preserve):
1037             Use stack allocation to hold small numbers of temporary
1038             gpointers.
1039
1040 2007-11-16  Chris Wilson  <chris@chris-wilson.co.uk>
1041
1042         * src/vte-private.h:
1043         * src/vte.c (_vte_free_row_data), (vte_terminal_reset_rowdata),
1044         (vte_terminal_finalize), (vte_terminal_reset):
1045             Export _vte_row_data_free.
1046
1047         * src/vteseq.c (vte_remove_line_internal):
1048             Cache the removed VteRowData - fixes the continual reallocation
1049             of row data during the vim scrolling benchmark.
1050
1051 2007-11-16  Chris Wilson  <chris@chris-wilson.co.uk>
1052
1053         * src/vte.c (release_chunk), (prune_chunks),
1054         (remove_from_active_list), (process_timeout),
1055         (update_repeat_timeout):
1056             Delay pruning the chunks freelist until we finished processing
1057             all the incoming data. We were discarding the freelist far too
1058             early and reduced the efficacy of the cache.
1059
1060 2007-11-16  Chris Wilson  <chris@chris-wilson.co.uk>
1061
1062         * src/vterdb.h:
1063         * src/vterdb.c (_vte_rdb_get), (_vte_rdb_search), (_vte_rdb_quark),
1064         (_vte_rdb_get_rgba), (_vte_rdb_get_hintstyle), (_vte_rdb_release):
1065             Remove redundant queries and cache the XRequest on the root
1066             window (saves a few round-trips during terminal construction).
1067             Add a new function to free the cache.
1068
1069         * src/vtefc.c (_vte_fc_defaults_from_rdb):
1070             Release the cache after retrieving settings.
1071
1072 2007-11-15  Chris Wilson  <chris@chris-wilson.co.uk>
1073
1074         * src/vte.c (vte_terminal_focus_out):
1075             Similar for the leave notify, disable the match updating after
1076             hiding the cursor after the loss of focus.
1077             However, do we really want to disable the hilighting whilst the
1078             pointer may still be within the terminal?
1079
1080 2007-11-15  Chris Wilson  <chris@chris-wilson.co.uk>
1081
1082         * src/vte.c (vte_terminal_enter):
1083             Don't automatically reshow the hilight on receiving an enter
1084             event, but wait for the motion notify to update the cursor
1085             co-ordinates, otherwise we may hilight something quite distant
1086             from the cursor.
1087
1088 2007-11-15  Chris Wilson  <chris@chris-wilson.co.uk>
1089
1090         * src/vte.c (vte_terminal_leave):
1091             Mark the cursor as invisible on leaving the terminal as this
1092             stops the hilight matcher running whilst the cursor is absent.
1093
1094 2007-11-06  Behdad Esfahbod  <behdad@gnome.org>
1095
1096         * src/vte.c (vte_terminal_set_font_from_string_full): Allow NULL
1097         font argument.  Can be used to set antialias without setting font.
1098
1099         * src/vteapp.c (main): Fix antialias handling which was borked when
1100         moving to GOption.
1101
1102 2007-11-06  Behdad Esfahbod  <behdad@gnome.org>
1103
1104         Bug 142640 – FcConfigSubstitute in place of _vte_fc_defaults_from_gtk
1105         to get antialias and hinting value
1106
1107         * src/vtefc.c (_vte_fc_defaults_from_gtk),
1108         (_vte_fc_defaults_from_rdb): Replace _vte_fc_defaults_from_gtk() with
1109         gtk_default_substitute() from Gtk+-2.6.  It's essentially the same
1110         thing, but not overriding elements of the pattern already present.
1111         Also remove a couple redundant calls.
1112
1113 2007-10-11  Chris Wilson  <chris@chris-wilson.co.uk>
1114
1115         Bug 439384 – gnome-terminal on feisty crashes when giving wrong locale environment
1116
1117         * src/vte.c (vte_terminal_set_encoding):
1118             Fallback to using UTF-8 as the locale encoding. This prevents
1119             subsequent crashes but may display gibberish in the output.
1120
1121 2007-10-05  Chris Wilson  <chris@chris-wilson.co.uk>
1122
1123         Bug 483642 – vte_terminal_feed crash when 8190 characters passed
1124
1125         * src/vte.c (vte_terminal_feed):
1126             Break the feed data into chunks.
1127
1128 2007-09-30  Chris Wilson  <chris@chris-wilson.co.uk>
1129
1130         * src/vtexft.c (_vte_xft_set_background_image):
1131                 Skip retrieving the VteBg if the source is VTE_BG_SOURCE_NONE
1132                 as we neither need it to listen for changes to the background
1133                 nor require it to load the pixmap (which is a no-op).
1134
1135 2007-09-30  Chris Wilson  <chris@chris-wilson.co.uk>
1136
1137         * src/vtexft.c (_vte_xft_destroy):
1138                 Ensure the GdkPixmap is destroyed along with the VteXft
1139                 context.
1140
1141 2007-09-26  Chris Wilson  <chris@chris-wilson.co.uk>
1142
1143         Bug 480735 – Underlining whitespace not reliable
1144
1145         Original patch by Steven Skovran.
1146
1147         I really must remember to run vttest more often. (And to work within
1148         git-svn.)
1149
1150         * src/vte.c (vte_terminal_draw_rows):
1151             Do not skip spaces.
1152
1153 2007-09-26  Chris Wilson  <chris@chris-wilson.co.uk>
1154
1155         Bug 480735 – Underlining whitespace not reliable
1156
1157         Original one-liner by Steven Skovran.
1158
1159         * src/vte.c (vte_terminal_draw_rows):
1160             Do not try to over zealously skip whitespace. The goal is
1161             to maintain the current run whilst avoiding adding spaces to
1162             the glyph sequence - so check the cell fully for attribute
1163             breaks and simply do not add it to the glyphs if it contains a
1164             space.
1165
1166 2007-09-17  Behdad Esfahbod  <behdad@gnome.org>
1167
1168         Released vte-0.16.9.
1169
1170         * NEWS: Updated.
1171
1172         * configure.in: Bumped version to 0.16.9.
1173         Bumped libtool version to 11:13:2.
1174
1175 2007-09-05  Behdad Esfahbod  <behdad@gnome.org>
1176
1177         * perf/vim.sh: Wait for keypress when done, so one can do
1178         "vte -c ./vim.sh" and not lose the final numbers.
1179
1180         * src/vtepango.c (_vte_pango_destroy), (_vte_pango_start),
1181         (_vte_pango_end), (_vte_pango_set_background_color),
1182         (_vte_pango_set_background_image), (_vte_pango_clear),
1183         (_vte_pango_set_text_font), (_vte_pango_get_using_fontconfig),
1184         (_vte_pango_draw_text), (_vte_pango_draw_has_char),
1185         (_vte_pango_draw_rectangle), (_vte_pango_fill_rectangle),
1186         (_vte_pango_set_scroll):  General cleanup.  Also implement
1187         _vte_pango_draw_has_char() using
1188         pango_layout_get_unknown_glyphs_count() when available.
1189
1190 2007-09-02  Behdad Esfahbod  <behdad@gnome.org>
1191
1192         Bug 469862 – Handling of wrapped links in gnome-terminal is broken
1193
1194         * src/vteseq.c (vte_sequence_handler_ce): Reset soft_wrapped.
1195
1196 2007-09-01  Chris Wilson  <chris@chris-wilson.co.uk>
1197
1198         cf Bug 469862 – Handling of wrapped links in gnome-terminal is broken
1199
1200         * src/vte.c (vte_terminal_get_text_range_maybe_wrapped):
1201             Revert the last character is in last column check as that
1202             behaviour is required to handle terminal resizing where the
1203             screen contents are not reconstructed (e.g. bash).
1204
1205 2007-08-30  Chris Wilson  <chris@chris-wilson.co.uk>
1206
1207         Bug 471901 – troubles with pad
1208
1209         * src/vte-private.h:
1210         * src/vte.c (_vte_invalidate_cells), (vte_terminal_draw_rows),
1211         (vte_terminal_paint): Don't abuse VTE_PAD_WIDTH.
1212
1213 2007-08-30  Chris Wilson  <chris@chris-wilson.co.uk>
1214
1215         Bug 469862 – Handling of wrapped links in gnome-terminal is broken
1216
1217         * src/vte.c (vte_terminal_get_text_range_maybe_wrapped):
1218             Check that the last character is in the last column before
1219             adding a newline for autowrapped lines.
1220
1221 2007-08-30  Chris Wilson  <chris@chris-wilson.co.uk>
1222
1223         * MAINTAINERS: Add myself to the list, as Behdad had suggested some
1224         time ago.
1225
1226 2007-08-30  Chris Wilson  <chris@chris-wilson.co.uk>
1227
1228         Bug 153265 – Handle Sun Cut, Copy, Paste keys
1229         Patch by Brian Cameron.
1230
1231         * doc/reference/tmpl/vte.sgml:
1232         * src/vte.c (vte_terminal_class_init),
1233         (vte_terminal_real_copy_clipboard), (vte_terminal_copy_clipboard),
1234         (vte_terminal_real_paste_clipboard),
1235         (vte_terminal_paste_clipboard):
1236         * src/vte.h:
1237             Add key bindings for the special function keys.
1238
1239 2007-08-30  Chris Wilson  <chris@chris-wilson.co.uk>
1240
1241         * src/vte.c (vte_terminal_draw_rows): Bad manipulation of patches
1242         whilst attempting to apply the fix for Bug 434230 - net result was
1243         that the correct code was being circumvented.
1244
1245 2007-08-29  Chris Wilson  <chris@chris-wilson.co.uk>
1246
1247         Bug 471484 – vteapp resize weirdness
1248
1249         * src/vteapp.c (main): Distinguish between setting the geometry and
1250         disabling the use of geometry hints. A regression when converting to
1251         GOption based arguments.
1252
1253 2007-08-27  Behdad Esfahbod  <behdad@gnome.org>
1254
1255         Bug 470690 – Typo at src/vtexft.c "appropiate" should be "appropriate"
1256
1257         * src/vtexft.c (_vte_xft_open_font_for_char): Fix typo.
1258
1259 2007-08-07  Behdad Esfahbod  <behdad@gnome.org>
1260
1261         * MAINTAINERS: Add Userid field, remove Guilherme.
1262
1263 2007-08-03  Chris Wilson  <chris@chris-wilson.co.uk>
1264
1265         Bug 434230 – Spaces are not underlined
1266         Original patch by Santtu Lakkala.
1267
1268         * src/vte.c (vte_terminal_draw_rows): Only skip cells if we do not
1269         need to draw on top.
1270
1271 2007-08-03  Chris Wilson  <chris@chris-wilson.co.uk>
1272
1273         Bug 450069 – vte crash on removing a terminal tab
1274
1275         * src/vte.c (vte_terminal_emit_eof), (vte_terminal_queue_eof),
1276         (vte_terminal_eof): Move the EOF emission to an idle handler so that
1277         the source is inactive whilst the VteTerminal is finalized.
1278
1279 2007-07-30  Behdad Esfahbod  <behdad@gnome.org>
1280
1281         Released vte-0.16.8.
1282
1283         Quick followup release with no code changes, to fix missing
1284         documentation index in the tarball.
1285
1286         * NEWS: Updated.
1287
1288         * configure.in: Bumped version to 0.16.8.
1289         Bumped libtool version to 11:12:2.
1290
1291 2007-07-27  Behdad Esfahbod  <behdad@gnome.org>
1292
1293         Released vte-0.16.7.
1294
1295         * NEWS: Updated.
1296
1297         * configure.in: Bumped version to 0.16.7.
1298         Bumped libtool version to 11:11:2.
1299
1300 2007-07-27  Behdad Esfahbod  <behdad@gnome.org>
1301
1302         Bug 337252 – ALT + Arrow keys don't work in irssi through gnome-terminal
1303         Patch by James Bowes
1304
1305         * src/keymap.c (_vte_keymap_map), (is_cursor_key),
1306         (_vte_keymap_key_add_key_modifiers):
1307         * src/keymap.h:
1308         * src/vte.c (vte_terminal_key_press):
1309         Only switch to CSI for some cursor keys when in cursor app mode.
1310
1311 2007-06-25  Chris Wilson  <chris@chris-wilson.co.uk>
1312
1313         Bug 448259 – Mapping for Ctrl-_
1314         Patch by Andrey Melnikov.
1315
1316         * src/keymap.c: Add mapping for Ctrl-Minus.
1317
1318 2007-06-25  Chris Wilson  <chris@chris-wilson.co.uk>
1319
1320         Bug 449809 – use python-config to get python includes
1321         Patch by Sebastien Bacher.
1322
1323         * acinclude.m4: prefer python-config where available.
1324
1325 2007-06-25  Chris Wilson  <chris@chris-wilson.co.uk>
1326
1327         Bug 450745 – VTE's response to CSI 2 1 t incorrectly formatted
1328         Patch by Dale Sedivec.
1329
1330         * src/vteseq.c (vte_sequence_handler_window_manipulation): Restore
1331         the missing 'L'.
1332
1333 2007-06-21  Christian Persch  <chpe@gnome.org>
1334
1335         * configure.in:
1336         * src/Makefile.am: Move libtool versioning to configure so you just
1337         have to update one file for releasing. See bug #396265 comment 17.
1338
1339 2007-06-18  Behdad Esfahbod  <behdad@gnome.org>
1340
1341         Released vte-0.16.6.
1342
1343         * NEWS: Updated.
1344
1345         * configure.in: Bumped version to 0.16.6.
1346
1347         * src/Makefile.am: Bumped libtool version to 11:10:2.
1348
1349 2007-06-12  Chris Wilson  <chris@chris-wilson.co.uk>
1350
1351         * src/vte.c (vte_terminal_set_size): Call gtk_widget_queue_resize()
1352         after updating row/column count.
1353
1354 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
1355
1356         Bug 372743 – vte_terminal_set_colors doesn't work as advertised
1357
1358         * src/vte.c (vte_terminal_set_colors): Allow 24-color palettes.
1359
1360 2007-06-09  Behdad Esfahbod  <behdad@gnome.org>
1361
1362         Bug 445620 – Some characters shows different in different locales.
1363         Patch from Zealot
1364
1365         * src/iso2022.c (_vte_iso2022_state_set_codeset): Update ambiguous
1366         width.
1367
1368 2007-06-04  Behdad Esfahbod  <behdad@gnome.org>
1369
1370         Released vte-0.16.5.
1371
1372         * NEWS: Updated.
1373
1374         * configure.in: Bumped version to 0.16.5.
1375
1376         * src/Makefile.am: Bumped libtool version to 11:9:2.
1377
1378 2007-05-30  Chris Wilson  <chris@chris-wilson.co.uk>
1379
1380         fcrozat pointed out 'some strange "underline" line where cursor is
1381         located and blinking'.
1382
1383         Also reported in bug 442688.
1384
1385         * src/vte.c (vte_terminal_draw_rows):
1386             Continuation of the previous commit: catch a couple more locations
1387             where we need to skip past the end of the line. The problem in
1388             this case was we tried to use some uninitialised variables whilst
1389             trying to draw the cell attributes.
1390
1391 2007-05-28  Behdad Esfahbod  <behdad@gnome.org>
1392
1393         Released vte-0.16.4.
1394
1395         * NEWS: Updated.
1396
1397         * configure.in: Bumped version to 0.16.4.
1398
1399         * src/Makefile.am: Bumped libtool version to 11:8:2.
1400
1401 2007-05-28  Chris Wilson  <chris@chris-wilson.co.uk>
1402
1403         uws noted on IRC that 'vte trunk does strange thingies with colors'
1404
1405         * src/vte.c (vte_terminal_draw_rows):
1406             When reaching the end-of-row be careful not to reset the
1407             current text attributes (color, underlining, etc).
1408
1409 2007-05-25  Chris Wilson  <chris@chris-wilson.co.uk>
1410
1411         * src/vte.c (vte_terminal_expand_region),
1412         (vte_terminal_paint_area):
1413             Only add the borders to the clear area.
1414
1415 2007-05-23  Chris Wilson  <chris@chris-wilson.co.uk>
1416
1417         Bug 429278 – Cursor drawn strangely in joe
1418
1419         * src/vte.c (vte_terminal_expand_region),
1420         (vte_terminal_paint_area):
1421             Ensure the expanded regions are cell aligned.
1422
1423 2007-05-23  Chris Wilson  <chris@chris-wilson.co.uk>
1424
1425         cf Bug 439247 – scrolling vim in full screen is painfully slow and takes up 100% of the cpu
1426
1427         * src/vte.c (vte_terminal_draw_rows):
1428             Fix up the unwanted break of Glyph runs at the end-of-lines.
1429
1430 2007-05-23  Chris Wilson  <chris@chris-wilson.co.uk>
1431
1432         Bug 440475 – Display glitch with transparent backgroud
1433
1434         * src/vte.c (vte_terminal_paint_area):
1435             Apply the band-aid fix to clear the area that's about to be
1436             repainted. The full solution will to be ensure that the regions
1437             after expansion are cell-aligned.
1438
1439 2007-05-22  Chris Wilson  <chris@chris-wilson.co.uk>
1440
1441         Bug 375112 – ctrl-key combinations yielding just key
1442         Original patch by <samo@altern.org> and refactored by Loïc Minier.
1443
1444         * src/vte.c (vte_translate_national_ctrlkeys),
1445         (vte_terminal_key_press):
1446             When cooking a string to pass through to the client obtain the
1447             "raw" keyval.
1448
1449 2007-05-22  Chris Wilson  <chris@chris-wilson.co.uk>
1450
1451         Bug 440377 – gnome-terminal cannot refresh terminal when accessibility enabled
1452         Original patch by Li Yuan.
1453
1454         * src/vteaccess.c (vte_terminal_accessible_focus_in),
1455         (vte_terminal_accessible_focus_out),
1456         (vte_terminal_accessible_visibility_notify):
1457             Return FALSE rather than void...
1458
1459 2007-05-17  Chris Wilson  <chris@chris-wilson.co.uk>
1460
1461         * perf/scroll.vim:
1462         * perf/vim.sh:
1463             Measure full screen scrolling performance.
1464
1465 2007-05-15  Chris Wilson  <chris@chris-wilson.co.uk>
1466
1467         kmaraas reported an issue on IRC where the scrollback was not being
1468         updated correctly in the first tab when the terminal was resized via
1469         a second tab.
1470
1471         * src/vte.c (vte_terminal_size_allocate): Check whether we need to
1472         recompute the visible lines due to a change in layout geometry.
1473
1474 2007-04-27  Chris Wilson  <chris@chris-wilson.co.uk>
1475
1476         Bug 433776 – gnome-terminal crashes when open preedit area
1477         Take 2.
1478
1479         * src/vte.c (vte_terminal_paint): The preedit_cursor is returned by
1480         the input modules in characters not in bytes as assumed by the
1481         validation.
1482
1483 2007-04-27  Chris Wilson  <chris@chris-wilson.co.uk>
1484
1485         Bug 433776 – gnome-terminal crashes when open preedit area
1486
1487         * src/vte.c (vte_terminal_paint): Use the validated cursor index.
1488
1489 2007-04-27  Behdad Esfahbod  <behdad@gnome.org>
1490
1491         Released vte-0.16.3.
1492
1493         * NEWS: Updated.
1494
1495         * configure.in: Bumped version to 0.16.3.
1496
1497         * src/Makefile.am: Bumped libtool version to 11:7:2.
1498
1499 2007-04-24  Chris Wilson  <chris@chris-wilson.co.uk>
1500
1501         Bug 429189 – Vte-WARNING's
1502
1503         * src/vtexft.c (_vte_xft_open_font_for_char):
1504                 Convert the warning into a DEBUG.
1505
1506 2007-04-24  Chris Wilson  <chris@chris-wilson.co.uk>
1507
1508         Bug 415044 – Use --enable-debug rather than --enable-debugging
1509
1510         As noted on Bug 414716, the convention is to use --enable-debug
1511         to enable extra debugging code.
1512
1513         * configure.in:
1514                 s/debugging/debug/
1515
1516 2007-04-24  Chris Wilson  <chris@chris-wilson.co.uk>
1517
1518         Bug 414716 – Refresh issue after changing workspaces
1519
1520         * src/vte.c (vte_terminal_hierarchy_changed):
1521                 Do not respond to toplevel mapping events.
1522
1523 2007-04-23  Behdad Esfahbod  <behdad@gnome.org>
1524
1525         Released vte-0.16.2.
1526
1527         * NEWS: Updated.
1528
1529         * configure.in: Bumped version to 0.16.2.
1530
1531         * src/Makefile.am: Bumped libtool version to 11:6:2.
1532
1533 2007-04-23  Chris Wilson <chris@chris-wilson.co.uk>
1534
1535         Bug 431799 – Regex highlighting is broken
1536
1537         * src/vte.c (vte_terminal_emit_contents_changed),
1538         (vte_terminal_match_hilite_update), (process_timeout),
1539         (update_repeat_timeout), (update_timeout):
1540                 Always emit any pending updates before redrawing. This
1541                 ensures for example that the match contents are updated
1542                 after a simple scroll event.
1543
1544 2007-04-20  Chris Wilson  <chris@chris-wilson.co.uk>
1545
1546         * src/vtexft.c (_vte_xft_start), (_vte_xft_clip):
1547                 Optimise away the use of a clip mask for the common case
1548                 of redrawing the whole terminal.
1549
1550 2007-04-17  Behdad Esfahbod  <behdad@gnome.org>
1551
1552         * src/iso2022.c (_vte_iso2022_ambiguous_width): Consider
1553         ambiguous-width chars if VTE_CJK_WIDTH env var is set and we are
1554         under a CJK locale.
1555
1556 2007-03-12  Behdad Esfahbod  <behdad@gnome.org>
1557
1558         Released vte-0.16.1.
1559
1560         * NEWS: Updated.
1561
1562         * configure.in: Bumped version to 0.16.1.
1563
1564         * src/Makefile.am: Bumped libtool version to 11:5:2.
1565
1566 2007-04-06  Chris Wilson  <chris@chris-wilson.co.uk>
1567
1568         Bug 426870 – vte often passes NUL to functions requiring valid unichar
1569
1570         * src/vte.c (_vte_invalidate_cell), (_vte_invalidate_cursor_once),
1571         (vte_terminal_paint):
1572                 Consistently guard against cell->c == '\0' before calling
1573                 _vte_draw_get_char_width.
1574
1575 2007-04-06  Chris Wilson  <chris@chris-wilson.co.uk>
1576
1577         Bug 419644 – Links do not get highlighted anymore
1578         Also see Bug 404757 – URL matching doesn't work with PCRE
1579
1580         * configure.in:
1581                 Kill --with-pcre as it changes the semantics of the API
1582                 and only causes confusion.
1583
1584 2007-04-05  Chris Wilson  <chris@chris-wilson.co.uk>
1585
1586         Bug 426541 – crash on IRM escape code
1587
1588         * src/vte.c (vte_terminal_ensure_cursor),
1589         (_vte_terminal_insert_char):
1590                 Mishandled insertion - we always extended the row for
1591                 inserts even though the row would automagically extend
1592                 for the inserted cells. This lead to referencing
1593                 uninitialised cells at the end of the row during painting.
1594         * src/vte.c (vte_terminal_draw_rows):
1595                 Retrieve the cell before inspecting it.
1596
1597 2007-04-04  Chris Wilson  <chris@chris-wilson.co.uk>
1598
1599         Bug 424184 – Make scroll wheel send Page Up/Down when it makes sense
1600
1601         Original patch by Shaun McCance and refined by Baris Cicek.
1602
1603         * src/vte.c (vte_terminal_scroll):
1604                 Send cursor keypress instead of trying to scroll the
1605                 alternate screen in vain.
1606
1607 2007-04-03  Chris Wilson  <chris@chris-wilson.co.uk>
1608
1609         Bug 425767 – vte_terminal_set_color_highlight should test for
1610         NULL before _vte_debug_print
1611
1612         * src/vte.c (vte_terminal_set_color_cursor),
1613         (vte_terminal_set_color_highlight):
1614                 Differentiate between set/unset paths.
1615
1616 2007-03-25  Chris Wilson <chris@chris-wilson.co.uk>
1617
1618         Bug 422385 – vte appears at the top of the root window even when
1619         packed at the bottom of it
1620
1621         Patch by Dodji Seketeli.
1622
1623         * src/vte.c (vte_terminal_size_allocate), (vte_terminal_realize):
1624                 Honour the allocated position when realizing the widget.
1625
1626 2007-03-22  Chris Wilson  <chris@chris-wilson.co.uk>
1627
1628         * src/vtexft.c (_vte_xft_draw_text):
1629                 Insert spaces into the Xft glyph stream to avoid the
1630                 overhead of restarting a glyph sequence for every word.
1631
1632 2007-03-21  Chris Wilson  <chris@chris-wilson.co.uk>
1633
1634         Bug 420935 – glyph can be cropped with not fitting in a cell
1635
1636         * src/vte.c (vte_terminal_paint):
1637                 Don't redraw the invisible cursor 
1638                 - avoids nasty artifacts like clipping extra wide glyphs.
1639
1640 2007-03-19  Chris Wilson  <chris@chris-wilson.co.uk>
1641
1642         * src/vte.c (vte_terminal_scroll_pages):
1643                 Leave 'contents-change' to the scroll handler.
1644
1645 2007-03-19  Chris Wilson  <chris@chris-wilson.co.uk>
1646
1647         * src/vte.c (vte_terminal_extend_selection),
1648         (vte_terminal_draw_rows):
1649                 Accidentally inverted an is-empty? check during the 
1650                 elimination of the empty bitfield.
1651
1652 2007-03-19  Chris Wilson  <chris@chris-wilson.co.uk>
1653
1654         Bug 420067 – Does not handle expose events whilst processing
1655         unseen incoming data
1656
1657         * src/vte.c (vte_terminal_expose):
1658                 Handle the expose immediately if we are only processing
1659                 incoming data (ie no redraws pending).
1660
1661 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1662
1663         * src/vteseq.c (vte_sequence_handler_cursor_character_absolute):
1664                 Remove a chunk of code that was tried as a mutt band-aid
1665                 long ago and was completely wrong.
1666
1667 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1668
1669         Bug 415381 – Improve performance of vte_terminal_insert_char()
1670
1671         The bulk of the work to remove redundant reads and conditionals
1672         from the code. In particular, gcc was emitting bit-by-bit copies
1673         for transferring the bitfield since we modified a member immediately
1674         afterwards - overcome this by using an explicit memcpy of the
1675         bitfields.
1676
1677         * src/vte-private.h:
1678         * src/vte.c (vte_g_array_fill), (vte_terminal_ensure_cursor),
1679         (_vte_terminal_insert_char), (vte_terminal_process_incoming),
1680         (vte_terminal_send):
1681         * src/vteseq.c (vte_sequence_handler_ic):
1682
1683 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1684
1685         cf Bug 415381 – Improve performance of vte_terminal_insert_char()
1686
1687         * src/vte-private.h: Use a simple boolean rather than counter for
1688         text changed style flags.
1689         * src/vte.c: And update users.
1690         * src/vteseq.c:
1691
1692 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1693
1694         cf Bug 415381 – Improve performance of vte_terminal_insert_char()
1695
1696         * src/vte-private.h: Embed bitfield into struct
1697         * src/vte.c:  And update users.
1698         * src/vteseq.c:
1699
1700 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1701
1702         Need to trigger update timeout rather than process timeout
1703         otherwise the background is not updated.
1704
1705         * src/vte.c (vte_terminal_queue_adjustment_changed),
1706         (vte_terminal_queue_adjustment_value_changed):
1707
1708 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1709
1710         * src/vtexft.c (_vte_xft_create), (_vte_xft_destroy),
1711         (_vte_xft_start), (_vte_xft_end), (_vte_xft_clip),
1712         (_vte_xft_clear): Avoid some allocations.
1713
1714 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1715
1716         Bug 418073 – Opacity ignored for vtexft
1717
1718         * src/vte.c:
1719         * src/vtedraw.c (_vte_draw_requires_clear):
1720         * src/vtedraw.h:
1721         * src/vteft2.c (_vte_ft2_set_background_image):
1722         * src/vtegl.c (_vte_gl_create), (_vte_gl_set_background_image):
1723         * src/vtepango.c (_vte_pango_set_background_image):
1724         * src/vtepangox.c (_vte_pango_x_set_background_image):
1725         * src/vtexft.c (_vte_xft_set_background_color),
1726         (_vte_xft_set_background_image):
1727                 Flood fill the backing pixmap if we need to change it's
1728                 opacity as well.
1729
1730 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1731
1732         Bug 418910 – Asymmetric scrolling with mouse wheel
1733
1734         * configure.in:
1735         * src/vte.c: Round-up the delta before applying to ensure consistency
1736         between up and down.
1737
1738 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1739
1740         * src/vte.c (vte_terminal_catch_child_exited), (vte_terminal_eof),
1741         (vte_terminal_process_incoming): Refactor some common code.
1742
1743 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1744
1745         Bug 416634 – Rendering glitch as autowrapped chars are outside invalidated bbox
1746
1747         * src/vte.c (_vte_terminal_insert_char),
1748         (vte_terminal_process_incoming): Correctly update bbox after
1749         autowrapping.
1750
1751 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1752
1753         Bug 416635 – Rendering glitch: double draw of line below exposed region
1754
1755         * src/vte.c (vte_terminal_expand_region),
1756         (vte_terminal_paint_area): Kill a couple of off-by-ones.
1757
1758 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1759
1760         Bug 418588 – Invalid read when drawing preedit cursor
1761
1762         * src/vte.c (vte_terminal_paint):
1763                 No need to read what is drawn and furthermore isn't allocated.
1764
1765 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1766
1767         Bug 417652 – Scrolling bug exposed by nvi
1768
1769         * src/vte.c (vte_terminal_insert_rows), (_vte_terminal_ensure_row),
1770         (vte_terminal_ensure_cursor), (_vte_terminal_update_insert_delta):
1771                 Ensure the rows before updating the insert delta and refactor
1772                 the common code.
1773
1774 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
1775
1776         Bug 417301 – Terminal widgets don't respond to DPI changes
1777
1778         * src/vte.c (vte_terminal_fc_settings_changed): Force a font reload
1779         after XFT settings have changed.
1780
1781 2007-03-12  Behdad Esfahbod  <behdad@gnome.org>
1782
1783         Released vte-0.16.0.
1784
1785         * NEWS: Updated.
1786
1787         * configure.in: Bumped version to 0.16.0.
1788
1789         * src/Makefile.am: Bumped libtool version to 11:4:2.
1790
1791 2007-03-06  Chris Wilson  <chris@chris-wilson.co.uk>
1792
1793         * src/vteseq.c (vte_sequence_handler_cm), (vte_sequence_handler_sf):
1794                 More work to match mutt's behaviour under xterm.
1795
1796 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1797
1798         * src/vte.c (vte_terminal_io_read):
1799                 Use the process estimate to load balance between multiple
1800                 active terminals.
1801
1802 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1803
1804         * src/vteseq.c (vte_sequence_handler_cm),
1805         (vte_sequence_handler_dc), (vte_sequence_handler_sf),
1806         (vte_sequence_handler_cursor_character_absolute):
1807                 Tweak the fill of painted cells to match mutt's behaviour
1808                 under xterm.
1809
1810 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1811
1812         Bug 414716 – gnome-terminal-2.17.92: terminal window dies...
1813
1814         * src/vte.c (vte_terminal_map_toplevel),
1815         (vte_terminal_hierarchy_changed):
1816                 Force the visibility state to unobscured after the toplevel is
1817                 remapped.
1818
1819 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1820
1821         * src/vte.c (vte_terminal_size_allocate):
1822                 Note to self: Never try to optimize away the redraw.
1823
1824 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1825
1826         * src/vte.c (_vte_terminal_insert_char):
1827         * src/vtedraw.c (_vte_draw_text), (_vte_draw_char),
1828         (_vte_draw_fill_rectangle), (_vte_draw_draw_rectangle):
1829                 Touch up whitespace in debug output.
1830
1831 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1832
1833         * src/vte.c (_vte_invalidate_cells), (vte_terminal_set_visibility),
1834         (vte_terminal_paint_area), (vte_terminal_expose):
1835                 Make sure the invalidated_all flag is cleared in the expose
1836                 event if we handle it immediately.
1837
1838 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1839
1840         * src/vteseq.c (vte_sequence_handler_ce),
1841         (vte_sequence_handler_clear_current_line):
1842                 Fixup invalidation to end-of-line.
1843
1844 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1845
1846         cf Bug 414586 – Terminal screen blinks when menu is opened for the first time
1847
1848         * src/vte.c (vte_terminal_draw_rows), (vte_terminal_expand_region):
1849                 Include the window padding when painting the cell backgrounds.
1850
1851 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1852
1853         Bug 414586 – Terminal screen blinks when menu is opened for the first time
1854
1855         Avoid resetting the window background colour when the style is reset.
1856         Avoid clearing the window if we are using a simple color and double
1857         bufferring (i.e when we know we are using a pre-cleared pixmap).
1858
1859         * src/vte-private.h:
1860         * src/vte.c (vte_terminal_init), (vte_terminal_size_allocate),
1861         (vte_terminal_unrealize), (vte_terminal_realize),
1862         (vte_terminal_paint_area), (vte_terminal_expose),
1863         (vte_terminal_class_init), (vte_terminal_background_update):
1864         * src/vtedraw.c (_vte_draw_has_background_image):
1865         * src/vtedraw.h:
1866         * src/vteft2.c (_vte_ft2_set_background_image):
1867         * src/vtegl.c (_vte_gl_set_background_image):
1868         * src/vtepango.c (_vte_pango_set_background_image):
1869         * src/vtepangox.c (_vte_pango_x_set_background_image):
1870         * src/vtexft.c (_vte_xft_set_background_image):
1871
1872 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1873
1874         Bug 414586 – Terminal screen blinks when menu is opened for the first time
1875
1876         * src/vte.c (_vte_invalidate_cells), (_vte_invalidate_all),
1877         (vte_terminal_expose), (add_update_timeout):
1878                 Juggle the handling of external exposes/invalidates to avoid
1879                 delays in refreshing the display when we are idle.
1880
1881 2007-03-05  Chris Wilson  <chris@chris-wilson.co.uk>
1882
1883         cf Bug 414586 – Terminal screen blinks when menu is opened for the first time
1884
1885         * src/vte.c (_vte_invalidate_cells), (vte_terminal_init),
1886         (vte_terminal_expand_region), (vte_terminal_paint_area):
1887                 After enlarging the expand region make sure the dirty area
1888                 includes the border for edge cells.
1889
1890 2007-03-04  Chris Wilson  <chris@chris-wilson.co.uk>
1891
1892         cf Bug 414586 – Terminal screen blinks when menu is opened for the first time
1893
1894         Distinguish between internal update requests and external. If we
1895         need to update due to a user action (such as adjusting the background
1896         or color palette) do not impose a futher delay.
1897
1898         Tidy the color palette modification code to not trigger invalidates if
1899         we do not actually modify the palette.
1900
1901         * src/vte-private.h:
1902         * src/vte.c (vte_terminal_set_color_internal),
1903         (vte_terminal_set_color_bold), (vte_terminal_set_color_dim),
1904         (vte_terminal_set_color_foreground),
1905         (vte_terminal_set_color_background),
1906         (vte_terminal_set_color_cursor),
1907         (vte_terminal_set_color_highlight), (vte_terminal_set_colors),
1908         (root_pixmap_changed_cb), (vte_terminal_set_background_saturation),
1909         (vte_terminal_set_background_tint_color), (add_update_timeout):
1910         * src/vteseq.c (vte_sequence_handler_ce),
1911         (vte_sequence_handler_clear_current_line),
1912         (vte_sequence_handler_clear_above_current):
1913
1914 2007-03-02  Chris Wilson  <chris@chris-wilson.co.uk>
1915
1916         Bug 413068 – new line added to tab when opened
1917
1918         * src/vte.c (vte_terminal_size_allocate):
1919                 Replace the ill-conceived attempt (delta could not be
1920                 negative, so insert_delta or scroll_delta would not become
1921                 negative either) by only considering changes wrt to the number
1922                 of visible lines.
1923
1924 2007-03-02  Chris Wilson  <chris@chris-wilson.co.uk>
1925
1926         Bug 413068 – new line added to tab when opened
1927
1928         * src/vte.c (_vte_terminal_insert_char):
1929                 Improve debug output.
1930         * src/vte.c (vte_terminal_size_allocate):
1931                 Be careful that we don't force insert_delta or scroll_delta
1932                 to become negative.
1933
1934 2007-03-01  Behdad Esfahbod  <behdad@gnome.org>
1935
1936         Released vte-0.15.6.
1937
1938         * NEWS: Updated.
1939
1940         * configure.in: Bumped version to 0.15.6.
1941
1942         * src/Makefile.am: Bumped libtool version to 11:3:2.
1943
1944 2007-03-01  Chris Wilson  <chris@chris-wilson.co.uk>
1945
1946         * src/vte.c (vte_terminal_draw_cells), (vte_terminal_draw_rows),
1947         (vte_terminal_paint):
1948                 Tweak the clear widths to include the pixel widening due to
1949                 psuedo-bold.
1950
1951 2007-03-01  Chris Wilson  <chris@chris-wilson.co.uk>
1952
1953         * src/vte-private.h:
1954         * src/vte.c (_vte_terminal_ensure_row),
1955         (vte_terminal_ensure_cursor), (_vte_terminal_insert_char):
1956         * src/vteseq.c (vte_sequence_handler_ta):
1957                 Be more careful when filling in gaps.
1958
1959 2007-03-01  Chris Wilson  <chris@chris-wilson.co.uk>
1960
1961         Fix X11 headers / libraries detection on bi-arch systems.
1962         Patch by Frederic Crozat.
1963
1964         * configure.in:
1965                 Check for x_includes before ac_x_includes, and similary for
1966                 ac_x_libraries.
1967
1968 2007-03-01  Chris Wilson  <chris@chris-wilson.co.uk>
1969
1970         Bug 410534 – Slow content scrolling, takes 100% of CPU.
1971
1972         * src/vtexft.c:
1973                 Further reduce the cap to 80 after more testing on the
1974                 broken fglrx driver.
1975
1976 2007-02-28  Chris Wilson  <chris@chris-wilson.co.uk>
1977
1978         Bug 413068 – new line added to tab when opened
1979
1980         * src/vte.c (vte_terminal_ensure_font), (vte_terminal_realize):
1981                 Beware when no font is set before the first request...
1982                 Make sure that at least the default font is set.
1983
1984 2007-02-28  Chris Wilson  <chris@chris-wilson.co.uk>
1985
1986         Bug 413262 – Incorrectly coloured tabs
1987
1988         * src/vte-private.h:
1989         * src/vte.c (vte_terminal_ensure_cursor),
1990         (_vte_terminal_ensure_cursor), (_vte_terminal_insert_char),
1991         (_vte_terminal_feed_chunks), (vte_terminal_set_scrollback_lines):
1992         * src/vteseq.c (vte_sequence_handler_ta),
1993         (vte_sequence_handler_request_terminal_parameters),
1994         (vte_sequence_handler_return_terminal_status),
1995         (vte_sequence_handler_send_primary_device_attributes):
1996                 Fill the tab in the current color, else it will be filled at
1997                 the time of writing the next character.
1998
1999 2007-02-28  Chris Wilson  <chris@chris-wilson.co.uk>
2000
2001         Bug 413102 – Incorrect highlighting in vim
2002
2003         * src/vte-private.h:
2004         * src/vte.c (_vte_terminal_ensure_row),
2005         (_vte_terminal_insert_char):
2006         * src/vteseq.c(vte_sequence_handler_cb),
2007         (vte_sequence_handler_ce), (vte_sequence_handler_cr),
2008         (vte_sequence_handler_ec), (vte_sequence_handler_sf):
2009                 Paint the row background when scrolling, this more closely
2010                 matches xterm's behaviour.
2011
2012 2007-02-28  Chris Wilson  <chris@chris-wilson.co.uk>
2013
2014         Bug 413158 – Cursor trails
2015
2016         * src/vte.c (_vte_invalidate_cell):
2017                 _vte_invalidate_cell() can be called to invalidate any visible
2018                 cell so issue the invalidate even for blank cells.
2019
2020 2007-02-28  Chris Wilson  <chris@chris-wilson.co.uk>
2021
2022         * src/vte.c (_vte_terminal_insert_char):
2023                 Correct the OBO in the number of columns ensured.
2024
2025 2007-02-28  Chris Wilson  <chris@chris-wilson.co.uk>
2026
2027         Bug 413078 – Crash during opening a new tab whilst scrolling
2028         
2029         During input processing it was possible to both remove the timeout and
2030         then add a new one. The currently running timeout would believe that
2031         it was to continue since the terminal was still active, and so *two*
2032         timeouts would be scheduled. Occasionally the second timeout would be
2033         called after the first had finished all the work, resulting in the
2034         second timeout trying to access a NULL active_terminal list.
2035
2036         * src/vte.c (add_update_timeout), (remove_from_active_list),
2037         (vte_terminal_add_process_timeout), (need_processing),
2038         (process_timeout), (update_repeat_timeout), (update_timeout):
2039                 Watch for recursive g_source_remove() from within timeouts.
2040
2041 2007-02-28  Chris Wilson  <chris@chris-wilson.co.uk>
2042
2043         Bug 410534 – Slow content scrolling, takes 100% of CPU.
2044
2045         Submitting long glyph runs was causing a dramatic (10x) slow down
2046         in the fglrx xserver.
2047
2048         * src/vtedraw.h:
2049         * src/vtexft.c(_vte_xft_draw_text):
2050                 Cap the max glyph run length to 300.
2051
2052 2007-02-28  Chris Wilson  <chris@chris-wilson.co.uk>
2053
2054         Bug 412717 – Crash when opening a new tab with window maximized
2055
2056         * src/vte.c (vte_terminal_size_allocate):
2057                 We didn't carefully check the values we were clamping the
2058                 cursor to and ended up setting it to -1...  Don't do that!
2059
2060 2007-02-27  Chris Wilson  <chris@chris-wilson.co.uk>
2061
2062         * src/vteaccess.c (vte_terminal_accessible_text_scrolled):
2063                 Consistently guard against the snapshot being NULL.
2064
2065 2007-02-27  Behdad Esfahbod  <behdad@gnome.org>
2066
2067         Released vte-0.15.5.
2068
2069         * NEWS: Updated.
2070
2071         * configure.in: Bumped version to 0.15.5.
2072
2073         * src/Makefile.am: Bumped libtool version to 11:2:2.
2074
2075 2007-02-27  Chris Wilson  <chris@chris-wilson.co.uk>
2076
2077         Bug 412562 – Crash in vte_terminal_match_hilite_update
2078
2079         * src/vte.c (vte_terminal_match_check_internal),
2080         (vte_terminal_process_incoming), (_vte_terminal_feed_chunks),
2081         (vte_terminal_paste_cb), (vte_terminal_match_hilite_update),
2082         (vte_terminal_copy_cb):
2083                 Fixup a few 64bit-isms, notably format strings and an
2084                 undesired unsigned integer promotion causing this crash.
2085
2086 2007-02-27  Chris Wilson  <chris@chris-wilson.co.uk>
2087
2088         Bug 410986 – Fails to build with -z defs
2089
2090         If you link the vtemodule.so to libpython, then programs importing
2091         vte will have the symbols twice in memory: one set from python and
2092         the other from libpython.
2093
2094         * configure.in:
2095         * python/Makefile.am:
2096                 Remove PYTHON_LIBS from linking vtemodule.so.
2097                 Convert unresolved symbol errors into warnings so that
2098                 building with -Wl,-z,defs continues to work. This is a 
2099                 *hack* as it hides real errors if you are updating
2100                 vte.{def,override}.
2101                 
2102 2007-02-27  Chris Wilson  <chris@chris-wilson.co.uk>
2103
2104         * src/vtexft.c  (_vte_xft_open_font_for_char),
2105         (_vte_xft_font_for_char), (_vte_xft_compute_char_width),
2106         (_vte_xft_char_width), (_vte_xft_start), (_vte_xft_get_char_width),
2107         (_vte_xft_draw_text):
2108                 Avoid some computations whilst drawing text.
2109
2110 2007-02-26  Behdad Esfahbod  <behdad@gnome.org>
2111
2112         Released vte-0.15.4.
2113
2114         * NEWS: Updated.
2115
2116         * configure.in: Bumped version to 0.15.4.
2117
2118         * src/Makefile.am: Bumped libtool version to 11:1:2.
2119
2120 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2121
2122         Bug 410986 – Fails to build with -z defs
2123
2124         The forgotten half - the python module also fails to link.
2125
2126         * acinclude.m4:
2127         * python/Makefile.am:
2128                 Add PYTHON_LIBS pointing to the customary location and
2129                 remember to include them when compiling vtemodule.so.
2130
2131 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2132
2133         Bug 412361 – Yet another mouse selection regression...
2134         Part 2.
2135
2136         * src/vte.c: (vte_terminal_queue_adjustment_value_changed),
2137         (_vte_terminal_adjust_adjustments_full),
2138         (vte_terminal_scroll_pages), (vte_terminal_autoscroll),
2139         (vte_terminal_size_allocate), (vte_terminal_scroll):
2140                 We implicitly used a bit of sanity checking when setting the
2141                 adjustment value. Ensure the value really is within the
2142                 adjustment range before updating scroll_delta.
2143
2144 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2145
2146         Bug 412361 – Yet another mouse selection regression...
2147         Part 1.
2148
2149         * src/vte.c: (vte_terminal_draw_rows):
2150                 Restore drawing of the selection below the text.
2151
2152 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2153
2154         * src/vte.c: (vte_terminal_class_init), (time_process_incoming),
2155         (process_timeout), (update_repeat_timeout), (update_timeout):
2156                 Update max number of processable bytes each time we call
2157                 vte_terminal_process_incoming().
2158
2159 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2160
2161         * src/vte.c: (vte_terminal_emit_adjustment_changed),
2162         (_vte_terminal_adjust_adjustments_full):
2163                 Refactor the common code.
2164
2165 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2166
2167         Push a couple of NULL checks to the callers so to be able to move them
2168         outside of the inner-most loops.
2169
2170         * src/vte.c: (_vte_row_data_find_charcell), (_vte_invalidate_cell),
2171         (_vte_terminal_adjust_adjustments),
2172         (vte_terminal_get_text_range_maybe_wrapped), (find_start_column),
2173         (find_end_column), (vte_terminal_draw_rows):
2174
2175 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2176
2177         Some applications, such as cat, dump as much data to the terminal as
2178         possible. In these scenarios it is likely that we will read data from
2179         the child much faster than we can process it and the refresh will
2180         stutter.
2181
2182         The ideal solution would be to speed up the data processing so that
2183         this overrun was impossible. However, the approach taken here is to
2184         estimate how much data we can actually process in our time slice and
2185         to stop reading once we have sufficient data.
2186
2187         * src/vte-private.h:
2188         * src/vte.c: (_vte_invalidate_all),
2189         (vte_terminal_emit_contents_changed),
2190         (vte_terminal_match_contents_clear),
2191         (vte_terminal_match_contents_refresh),
2192         (vte_terminal_emit_adjustment_changed),
2193         (_vte_terminal_adjust_adjustments), (vte_terminal_scroll_pages),
2194         (vte_terminal_catch_child_exited), (vte_terminal_eof),
2195         (vte_terminal_process_incoming), (vte_terminal_io_read),
2196         (vte_terminal_handle_scroll), (vte_terminal_init),
2197         (vte_terminal_size_allocate), (need_processing), (process_timeout),
2198         (update_repeat_timeout), (update_timeout):
2199         * src/vteseq.c: (vte_sequence_handler_decset_internal):
2200
2201 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2202
2203         Bug 411000 – Orca repeats old text in gnome-terminal
2204
2205         The deferred handling of the window scrolling had the unfortunate
2206         side-effect of postponing the accessibility 'text-scrolled' signal
2207         until after the 'text-inserted' signal. This caused vteaccess to
2208         determine that the whole window had been modified and cause orca to
2209         reread the entire screen.
2210
2211         * src/vte-private.h:
2212         * src/vte.c: (vte_terminal_emit_contents_changed),
2213         (_vte_terminal_queue_contents_changed),
2214         (vte_terminal_emit_cursor_moved),
2215         (vte_terminal_queue_cursor_moved), (vte_terminal_scroll_pages),
2216         (vte_terminal_eof), (vte_terminal_emit_pending_text_signals),
2217         (vte_terminal_process_incoming), (vte_terminal_handle_scroll),
2218         (vte_terminal_size_allocate), (vte_terminal_unrealize),
2219         (vte_terminal_emit_pending_signals):
2220         * src/vteaccess.c: (emit_text_caret_moved),
2221         (emit_text_changed_insert), (emit_text_changed_delete):
2222         * src/vteseq.c: (vte_sequence_handler_decset_internal):
2223                 Restore the order of the ally signals. However, Bug 372777
2224                 remains unresolved.
2225
2226 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2227
2228         * src/vte.c: (vte_terminal_io_read):
2229                 Eeek, correctly compute the buffer length when we no longer
2230                 aim to fill it.
2231
2232 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2233
2234         Use a separate debug flag for the ally interface.
2235
2236         * src/debug.c: (_vte_debug_parse_string):
2237         * src/debug.h:
2238         * src/vteaccess.c:
2239         (vte_terminal_accessible_update_private_data_if_needed),
2240         (vte_terminal_accessible_invalidate_cursor),
2241         (vte_terminal_accessible_finalize),
2242         (vte_terminal_accessible_get_text),
2243         (vte_terminal_accessible_get_text_somewhere),
2244         (vte_terminal_accessible_text_init),
2245         (vte_terminal_accessible_component_init),
2246         (vte_terminal_accessible_action_init),
2247         (vte_terminal_accessible_factory_new):
2248
2249 2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>
2250
2251         * src/vte-private.h:
2252         * src/vte.c: (vte_terminal_io_read):
2253                 And finally clamp the maximum number of bytes transferred in
2254                 a single chunk.
2255
2256 2007-02-24  Chris Wilson  <chris@chris-wilson.co.uk>
2257
2258         * src/vte.c:
2259                 Hint that the compiler should inline
2260                 vte_terminal_determine_colors().
2261
2262 2007-02-24  Chris Wilson  <chris@chris-wilson.co.uk>
2263
2264         cf Bug 410534 – Slow content scrolling, takes 100% of CPU.
2265         cf Bug 410463 – Poor interactive performance with multiple terminals
2266
2267         * src/vte.c: (vte_terminal_io_read):
2268                 Do not loop whilst reading in a backlog of child data - should
2269                 help prevent monopolisation of vte by a single child and make
2270                 vte more responsive to user input on slower computers.
2271
2272 2007-02-24  Chris Wilson  <chris@chris-wilson.co.uk>
2273
2274         Bug 159078 – slow highlight
2275
2276         Do not update the match hilite during a selection-drag.
2277         Record unsuccesful regex matches, so we can quickly determine whether
2278         the cursor is still inside the blank region.
2279
2280         * src/vte-private.h:
2281         * src/vte.c: (vte_terminal_match_check_internal),
2282         (rowcol_inside_match), (vte_terminal_match_check),
2283         (_vte_terminal_set_pointer_visible),
2284         (vte_terminal_match_hilite_clear),
2285         (vte_terminal_match_hilite_show), (vte_terminal_match_hilite_hide),
2286         (vte_terminal_match_hilite_update), (vte_terminal_match_hilite),
2287         (vte_terminal_motion_notify), (vte_terminal_button_press),
2288         (vte_terminal_focus_in), (vte_terminal_focus_out),
2289         (vte_terminal_enter), (vte_terminal_leave), (vte_terminal_init),
2290         (vte_terminal_unrealize), (vte_terminal_draw_rows),
2291         (vte_terminal_paint):
2292
2293 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2294
2295         A couple of compiler warnings and avoid unnecessary arithmetic.
2296
2297         * src/vte.c: (_vte_terminal_set_default_attributes),
2298         (find_start_column), (find_end_column),
2299         (vte_terminal_start_selection), (vte_terminal_extend_selection),
2300         (vte_terminal_draw_rows), (vte_terminal_paint):
2301         * src/vtexft.c: (_vte_xft_font_open), (_vte_xft_font_for_char),
2302         (_vte_xft_char_width), (_vte_xft_unlock_fonts), (_vte_xft_start),
2303         (_vte_xft_clip), (_vte_xft_set_text_font), (_vte_xft_draw_text):
2304
2305 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2306
2307         Bug 411276 – SVN trunk compilation error
2308         Part 2.
2309
2310         * configure.in:
2311                 Check that the header file defines FcStrFree before checking
2312                 for the availability of the function. Complete hack, but
2313                 appears to work.
2314
2315 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2316
2317         Bug 411276 – SVN trunk compilation error
2318
2319         * configure.in:
2320                 Ubuntu Edgy appears to have a broken fontconfig-dev package
2321                 where the function is exported from the library but is missing
2322                 the corresponding prototypes.
2323                 So we reorder the determination of the compilation flags
2324                 before checking for available functions in the hope that the
2325                 tests will then match the results at compile time.
2326
2327 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2328
2329         * src/vte.c: (vte_terminal_io_read):
2330                 Prevent a deadlock on recursively grabbing the gdk_mutex.
2331
2332 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2333
2334         Heuristic to avoid a read when it's likely to just return EAGAIN.
2335
2336         * src/vte-private.h:
2337         * src/vte.c: (vte_terminal_io_read), (process_timeout),
2338         (update_repeat_timeout), (update_timeout):
2339
2340 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2341
2342         Add a new debug flag to monitor draw operations.
2343         Don't issue individual glyphs for is_local_graphic() in the middle of
2344         a run.
2345
2346         * src/debug.c: (_vte_debug_parse_string):
2347         * src/debug.h:
2348         * src/vte.c: (vte_terminal_unichar_is_local_graphic),
2349         (vte_terminal_draw_rows), (vte_terminal_paint):
2350         * src/vtedraw.c: (_vte_draw_init_user), (_vte_draw_init_default),
2351         (_vte_draw_new), (_vte_draw_free), (_vte_draw_get_visual),
2352         (_vte_draw_get_colormap), (_vte_draw_start), (_vte_draw_end),
2353         (_vte_draw_set_background_color), (_vte_draw_set_background_image),
2354         (_vte_draw_requires_repaint), (_vte_draw_clip), (_vte_draw_clear),
2355         (_vte_draw_set_text_font), (_vte_draw_get_text_width),
2356         (_vte_draw_get_text_height), (_vte_draw_get_text_ascent),
2357         (_vte_draw_get_char_width), (_vte_draw_get_using_fontconfig),
2358         (_vte_draw_text), (_vte_draw_char), (_vte_draw_has_char),
2359         (_vte_draw_fill_rectangle), (_vte_draw_draw_rectangle),
2360         (_vte_draw_set_scroll):
2361         * src/vtedraw.h:
2362         * src/vteft2.c: (_vte_ft2_draw_has_char):
2363         * src/vtegl.c: (_vte_gl_draw_has_char):
2364         * src/vtepango.c: (_vte_pango_draw_has_char):
2365         * src/vtepangox.c: (_vte_pango_x_draw_has_char):
2366         * src/vteskel.c: (_vte_skel_draw_has_char):
2367         * src/vtexft.c: (_vte_xft_draw_has_char):
2368
2369 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2370
2371         * src/vte.c: (vte_terminal_draw_rows):
2372                 Don't break a glyph run for a graphic, issue the draw
2373                 and continue.
2374
2375 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2376
2377         Cache the font metrics on the vte_xft_font, avoids having to remeasure
2378         when opening a new terminal.
2379
2380         * src/vtexft.c: (_vte_xft_font_open), (_vte_xft_set_text_font):
2381
2382 2007-02-23  Chris Wilson  <chris@chris-wilson.co.uk>
2383
2384         Share XftFonts between terminal backends and preserve faces from the
2385         previous draw - helps prevents font cache thrashing inside libXft.
2386
2387         * src/vtexft.c: (_vte_xft_font_hash), (_vte_xft_font_equal),
2388         (_vte_xft_font_open), (_vte_xft_font_close),
2389         (_vte_xft_font_for_char), (_vte_xft_unlock_fonts),
2390         (_vte_xft_destroy), (_vte_xft_start), (_vte_xft_end),
2391         (ptr_array_zeroed_new), (_vte_xft_set_text_font),
2392         (_vte_xft_get_char_width), (_vte_xft_draw_text),
2393         (_vte_xft_draw_char):
2394
2395 2007-02-22  Chris Wilson  <chris@chris-wilson.co.uk>
2396
2397         Bug 410986 – Fails to build with -z defs
2398         Patch by Loïc Minier.
2399
2400         * src/Makefile.am:
2401                 Add FreeType to the libs.
2402
2403 2007-02-22  Chris Wilson  <chris@chris-wilson.co.uk>
2404
2405         * src/vte.c: (vte_terminal_send):
2406                 Return in the face of error as we appear to hit this in the
2407                 wild.
2408
2409 2007-02-22  Chris Wilson  <chris@chris-wilson.co.uk>
2410
2411         Bug 410819 – slider not correctly positioned after calling less
2412
2413         * src/vte.c: (_vte_terminal_adjust_adjustments),
2414         (_vte_terminal_adjust_adjustments_full),
2415         (vte_terminal_maybe_scroll_to_top), (vte_terminal_size_allocate),
2416         (vte_terminal_set_scrollback_lines):
2417         * src/vteseq.c: (vte_sequence_handler_decset_internal):
2418                 Fixup a lot of issues with changing the number of scrollback
2419                 lines, such as missing value_changed signals for the
2420                 scrollbar and a couple of missing CLAMPs.
2421
2422 2007-02-22  Chris Wilson  <chris@chris-wilson.co.uk>
2423
2424         After adjusting the current profile, the last line gets chomped.
2425
2426         * src/vte.c: (vte_terminal_set_scrollback_lines):
2427
2428 2007-02-21  Chris Wilson  <chris@chris-wilson.co.uk>
2429
2430         cf Bug 410534 – Slow content scrolling, takes 100% of CPU.
2431
2432         * src/vte.c: (vte_terminal_scroll),
2433         (vte_terminal_set_scrollback_lines):
2434                 Operate on scroll delta directly as adjustment->value updates
2435                 are not instantaneous and we may have several scroll events
2436                 before the next update.
2437
2438 2007-02-21  Chris Wilson  <chris@chris-wilson.co.uk>
2439
2440         Bug 410463 – Poor interactive performance with multiple terminals
2441
2442         * src/vte.c: (vte_terminal_io_read), (process_timeout),
2443         (update_repeat_timeout):
2444                 When multiple terminals are active, poll the IO sources
2445                 from within the process/display timeout (akin to 
2446                 interrupt mitigation).
2447                 Return to normal interrupts when we only have a single active
2448                 terminal - so we don't sacrifice high performance.
2449
2450 2007-02-21  Chris Wilson  <chris@chris-wilson.co.uk>
2451
2452         A small bit of callgrinding, avoid the modulus inside
2453         vte_terminal_ensure_cursor() by caching the last row_data.
2454
2455         * src/iso2022.c: (process_cdata):
2456         * src/ring.c: (_vte_ring_new), (_vte_ring_insert),
2457         (_vte_ring_insert_preserve), (_vte_ring_remove):
2458         * src/ring.h:
2459         * src/table.c: (_vte_table_match):
2460         * src/vte.c: (_vte_terminal_ensure_cursor),
2461         (_vte_terminal_insert_char), (vte_terminal_process_incoming):
2462
2463 2007-02-21  Chris Wilson  <chris@chris-wilson.co.uk>
2464
2465         Callgrind strikes again...
2466         Inserting a char is a rare operation (especially in the scrolling
2467         benchmark!) so only read the old cell during an insert. This wins
2468         about 5% during a hexdump.
2469
2470         * src/iso2022.c: (_vte_iso2022_find_nextctl),
2471         (_vte_iso2022_fragment_input), (process_cdata):
2472         * src/vte.c: (_vte_terminal_insert_char):
2473         * src/vteseq.c: (vte_sequence_handler_sf):
2474
2475 2007-02-21  Chris Wilson  <chris@chris-wilson.co.uk>
2476
2477         RedHat Bug 113195: First line displayed incorrectly if prompt changes background color
2478
2479         e.g. PS1='\e[46m[\u@\h:\w]\e[m \e[45m'
2480         The issue is when we insert a char on a new row and the background is
2481         not the default, we fill the entire row with the *current* colour.
2482         This behaviour is incorrect, and the fix is to fill to the end of the
2483         line on a carriage return.
2484
2485         * src/vte-private.h:
2486         * src/vte.c: (_vte_terminal_ensure_cursor),
2487         (_vte_terminal_insert_char), (vte_terminal_process_incoming),
2488         (vte_terminal_send):
2489         * src/vteseq.c: (vte_sequence_handler_ce),
2490         (vte_sequence_handler_cr), (vte_sequence_handler_cs),
2491         (vte_sequence_handler_cS),
2492         (vte_sequence_handler_cursor_lower_left),
2493         (vte_sequence_handler_dc), (vte_sequence_handler_ic),
2494         (vte_sequence_handler_sf):
2495
2496 2007-02-20  Chris Wilson  <chris@chris-wilson.co.uk>
2497
2498          RedHat Bug 123845: gnome-terminal not parsing cursor position escape sequence properly
2499
2500         * src/caps.c:
2501         * src/vteseq.c: (vte_sequence_handler_cm):
2502                 Add 'ESC [ Pn H' to cursor-position and provide default
2503                 values.
2504
2505 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2506
2507         Bug 409055 – Terminal stays blank
2508
2509         Due to GTK+ coallescing of XExposeEvents it was possible for our
2510         GdkExposeEvent to arrive before the GdkVisibilityEvent associated with
2511         the mapping of our toplevel and so we discarded the event as we
2512         believed we were still unviewable.
2513
2514         * src/vte.c: (_vte_invalidate_cells), (vte_terminal_expose),
2515         (reset_update_regions):
2516                 Assume that all GdkExposeEvents have been checked for
2517                 suitability before delivery. We know this true for locally
2518                 generated expose events which are extensively checked during
2519                 invalidation, and we presume that X will not generate expose
2520                 events on unmapped or otherwise unviewable windows.
2521
2522 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2523
2524         * src/vte.c: (_vte_terminal_adjust_adjustments),
2525         (_vte_terminal_adjust_adjustments_full):
2526                 Dead code elimination.
2527
2528 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2529
2530         * perf/random.sh:
2531                 A simple script to dump a fixed amount of random data to the
2532                 terminal.
2533
2534 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2535
2536         A few more trivial incremental improvements.
2537
2538         * src/Makefile.am:
2539         * src/iso2022.c: (_vte_iso2022_map_get):
2540                 Switch to a VteTree.
2541         * src/vte.c: (_vte_terminal_update_insert_delta),
2542         (_vte_terminal_insert_char):
2543                 No need to ensure the cursor when scrolling, only before
2544                 insertions.
2545         * src/vtexft.c: (_vte_xft_font_open), (_vte_xft_font_close),
2546         (_vte_xft_font_for_char), (_vte_xft_end):
2547                 Lock the face over the entire expose.
2548
2549 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2550
2551         Improve handling of parallel 'cat /dev/urandom' - notably a crasher
2552         in the table matcher, repeated g_getenv processing and wasted time
2553         in g_tree_lookup.
2554
2555         * src/iso2022.c: (_vte_iso2022_ambiguous_width_guess),
2556         (_vte_iso2022_map_init), (_vte_iso2022_map_get),
2557         (process_8_bit_sequence), (process_cdata),
2558         (_vte_iso2022_process_single), (_vte_iso2022_process):
2559         * src/table.c: (_vte_table_match):
2560         * src/vte-private.h:
2561
2562 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2563
2564         * src/vte.c: (update_timeout):
2565                 In conjunction with the previous fix, since the terminal
2566                 can be removed from the active list by
2567                 vte_terminal_process_incoming() we need to be careful whilst
2568                 iterating along the active list.
2569
2570 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2571
2572         <fcrozat> ickle: hi.. our kernel hacker just found a nice reproducible
2573                 crash in vte :)
2574         <ickle> oh, joy
2575         <fcrozat> very easy to reproduce
2576                 cat /dev/urandom
2577                 wait 2 or 3S
2578                 then press Ctrl-Shift-T to open a new tab
2579                 => crash
2580
2581         * src/vte.c: (process_timeout), (update_repeat_timeout):
2582                 vte_terminal_process_incoming() can trigger a terminal reset
2583                 which will remove the terminal from the active list, and then
2584                 we attempt to remove it again after handling the incoming
2585                 data. The fix is simple - don't delete the link if the the
2586                 terminal is no longer active.
2587
2588 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2589
2590         As noticed on bug 409055, we do not receive a visibility-notify
2591         event when we switch workspaces (or even when the window is iconified).
2592         The workaround for this is to watch for our toplevel being unmapped
2593         and set the fully-obscured flag.
2594
2595         * src/vte.c: (vte_terminal_configure_toplevel),
2596         (vte_terminal_unmap_toplevel), (vte_terminal_hierarchy_changed),
2597         (vte_terminal_set_visibility), (vte_terminal_visibility_notify):
2598
2599 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2600
2601         * src/vte.c: (visibility_state_str),
2602         (vte_terminal_visibility_notify), (vte_terminal_init),
2603         (vte_terminal_realize):
2604                 Add the visibility state to the debug output.
2605
2606 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2607
2608         * configure.in:
2609                 Add the configuration details to config.log as well.
2610
2611 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2612
2613         Bug 409241 – gnome-terminal crashed with SIGSEGV in vte_terminal_draw_graphic()
2614
2615         * src/vte.c: (vte_terminal_paint):
2616                 Lookup fore/back colours before attempting to draw the graphic
2617                 character behind the unfocused cursor.
2618
2619 2007-02-19  Chris Wilson  <chris@chris-wilson.co.uk>
2620
2621         * src/vte.c: (vte_terminal_visibility_notify):
2622                 Add VTE_DEBUG_EVENT info.
2623
2624 2007-02-16  Chris Wilson  <chris@chris-wilson.co.uk>
2625
2626         Bug 407945 – "GNOME" Terminal" regression after "vte" update when using "csh"
2627
2628         When passing multiple versions of the same environment
2629         variable to execve (i.e g_spawn) the result is undefined.
2630         So we solve the ambiguity by using the application passed env to
2631         override values from the current environment.
2632         
2633         * src/pty.c: (collect_variables), (merge_environ),
2634         (_vte_pty_run_on_pty):
2635
2636 2007-02-16  Chris Wilson  <chris@chris-wilson.co.uk>
2637
2638         Bug 408536 – trouble compiling vte 0.15.3
2639
2640         * configure.in:
2641         * src/vtefc.c: (_vte_fc_patterns_from_pango_font_desc):
2642                 Check for availability of FcStrFree() - only used for
2643                 debugging purposes so we can live without it.
2644
2645 2007-02-15  Chris Wilson  <chris@chris-wilson.co.uk>
2646
2647         Guard against a missing default number of rows or columns
2648         inside the termcap.
2649
2650         * src/vte-private.h:
2651         * src/vte.c: (vte_terminal_set_emulation), (vte_terminal_init):
2652
2653 2007-02-15  Chris Wilson  <chris@chris-wilson.co.uk>
2654
2655         Bug 408040 – vte automagic hyperlinks
2656         Patch by Gilles Dartiguelongue.
2657
2658         * src/vteapp.c:
2659                 Correct the typo in the nntp protocol matcher.
2660
2661 2007-02-14  Chris Wilson  <chris@chris-wilson.co.uk>
2662
2663         Bug 407839 – Use of environ breaks build on Solaris
2664         Original patch by Damien Carbery.
2665
2666         * src/pty.c:
2667                 extern char **environ - glibc was 'conveniently' declaring
2668                 it for us...
2669
2670 2007-02-13  Chris Wilson  <chris@chris-wilson.co.uk>
2671
2672         uws reported that scrolling inside screen with a status line was
2673         broken. Indeed any scrolling inside an alternative screen was broken,
2674         e.g. plain vim would not always update the topmost line. The issue was
2675         the interaction with the deferred value-changed signal emission and
2676         failing to correctly maintain the current scroll_delta. The fix is
2677         that we always now apply changes to the scroll_delta and swap
2678         scroll_delta with adjustment->value before the deferred signal
2679         emission to correctly trigger the handle_scroll().
2680
2681         * src/vte-private.h:
2682         * src/vte.c: (_vte_invalidate_cells),
2683         (vte_terminal_emit_adjustment_changed),
2684         (vte_terminal_queue_adjustment_value_changed),
2685         (_vte_terminal_adjust_adjustments),
2686         (_vte_terminal_adjust_adjustments_full),
2687         (vte_terminal_maybe_scroll_to_bottom),
2688         (vte_terminal_process_incoming), (vte_terminal_extend_selection),
2689         (vte_terminal_handle_scroll), (vte_terminal_set_scrollback_lines):
2690         * src/vteseq.c: (vte_sequence_handler_sf):
2691
2692 2007-02-13  Chris Wilson  <chris@chris-wilson.co.uk>
2693
2694         Bug 407358 – regression in mouse selection
2695
2696         * src/vte.c: (vte_terminal_motion_notify):
2697                 When outside the terminal we used an uninitialised variable to
2698                 determine the mouse tracking mode.
2699
2700 2007-02-12  Behdad Esfahbod  <behdad@gnome.org>
2701
2702         Released vte-0.15.3.
2703
2704         * NEWS: Updated.
2705
2706         * configure.in: Bumped version to 0.15.3.
2707
2708         * src/Makefile.am: Bumped libtool version to 11:0:2.
2709
2710 2007-02-12  Chris Wilson  <chris@chris-wilson.co.uk>
2711
2712         * src/vte.c: (vte_terminal_extend_selection),
2713         (vte_terminal_motion_notify):
2714                 Restore autoscroll behaviour.
2715
2716 2007-02-12  Chris Wilson  <chris@chris-wilson.co.uk>
2717
2718         * src/vte.c: (vte_terminal_start_selection):
2719                 Invalidate the selected region when starting in
2720                 select-word or select-line mode.
2721
2722 2007-02-12  Chris Wilson  <chris@chris-wilson.co.uk>
2723
2724         Restore double-click to select word behaviour, broken by r1671 as
2725         the second click occurs in the same place as the first (obviously!).
2726
2727         * src/vte.c: (vte_terminal_extend_selection),
2728         (vte_terminal_autoscroll), (vte_terminal_motion_notify),
2729         (vte_terminal_button_press):
2730
2731 2007-02-12  Chris Wilson  <chris@chris-wilson.co.uk>
2732
2733         Bug 407091 – vte_terminal_fork_command() env argument changed semantic in 0.15.2
2734         Original patch by Michael Vogt.
2735
2736         * src/pty.c: (_vte_pty_run_on_pty):
2737                 Copy the current environment into the child's.
2738
2739 2007-02-11  Chris Wilson  <chris@chris-wilson.co.uk>
2740
2741         Bug 323393 – Hyper-sensitive selection
2742
2743         * src/vte.c: (vte_terminal_extend_selection):
2744                 Don't start (or update) the selection until you
2745                 move off the current cell (character).
2746
2747 2007-02-11  Chris Wilson  <chris@chris-wilson.co.uk>
2748
2749         Bug 406763 – Selecting double-wide characters
2750
2751         * src/vte.c: (start_column), (end_column),
2752         (vte_terminal_start_selection), (vte_terminal_extend_selection),
2753         (vte_terminal_draw_rows):
2754                 Extend selection to include fragment cells i.e. double-wide
2755                 characters.
2756
2757 2007-02-10  Chris Wilson  <chris@chris-wilson.co.uk>
2758
2759         Have a separate adjust_adjustments for when we know that the page
2760         size and step lengths may have changed.
2761
2762         * src/vte.c: (_vte_terminal_adjust_adjustments),
2763         (_vte_terminal_adjust_adjustments_full),
2764         (vte_terminal_set_scrollback_lines), (vte_terminal_reset):
2765
2766 2007-02-10  Chris Wilson  <chris@chris-wilson.co.uk>
2767
2768         * src/vte.c: (_vte_terminal_adjust_adjustments),
2769         (vte_terminal_size_allocate), (vte_terminal_set_scrollback_lines):
2770                 Prevent the display of garbage after resizing and switching
2771                 between alternate screens.
2772                 However, instead of displaying garbage after the cursor, we
2773                 lose some data above the current scroll delta, should we have
2774                 a full history.  Bizarre.
2775
2776 2007-02-09  Chris Wilson  <chris@chris-wilson.co.uk>
2777
2778         * src/vte.c: (_vte_terminal_adjust_adjustments):
2779                 Do not allow to scroll past the last line after reducing
2780                 scrollback lines.
2781         * src/vtexft.c: (_vte_xft_set_text_font):
2782                 Ensure a fallback height is set.
2783
2784 2007-02-09  Chris Wilson  <chris@chris-wilson.co.uk>
2785
2786         * src/vte.c: (vte_terminal_get_text_range_maybe_wrapped):
2787                 Reuse VteRowData whilst in the row.
2788
2789 2007-02-09  Chris Wilson  <chris@chris-wilson.co.uk>
2790
2791         Rework to reduce number of times mutex is taken and shorten the hold.
2792
2793         * src/vte.c: (vte_terminal_queue_adjustment_changed),
2794         (vte_terminal_queue_adjustment_value_changed),
2795         (vte_terminal_io_read), (vte_terminal_paint),
2796         (vte_terminal_add_process_timeout), (vte_terminal_is_processing),
2797         (vte_terminal_start_processing):
2798
2799 2007-02-09  Chris Wilson  <chris@chris-wilson.co.uk>
2800
2801         A number of small bug fixes...
2802         - do not override the user setting of scrollback lines with the
2803         terminal size.
2804         - only set the current screen rather than both and so reset the
2805         scrollback lines when we switch between normal and alternate.
2806         - do not invalidate inside set_scrollback lines as setting does not
2807         actually modify the on-screen contents.
2808         - push the scroll-adjustment to the post-processing emission.
2809         - queue timeouts on value change (should be a no-op)
2810         - reorder emission so that scrolling occurs before invalidating the
2811         window (ie so that the scroll happens this cycle, not next).
2812
2813         Still unsolved: the clamping of the cursor when switching between
2814         alternate screens.
2815
2816         * src/vte-private.h:
2817         * src/vte.c: (vte_terminal_emit_adjustment_changed),
2818         (vte_terminal_queue_adjustment_changed),
2819         (vte_terminal_queue_adjustment_value_changed),
2820         (_vte_terminal_adjust_adjustments), (vte_terminal_scroll_pages),
2821         (vte_terminal_maybe_scroll_to_top),
2822         (vte_terminal_maybe_scroll_to_bottom),
2823         (_vte_terminal_ensure_cursor), (_vte_terminal_update_insert_delta),
2824         (vte_terminal_process_incoming), (vte_terminal_extend_selection),
2825         (vte_terminal_autoscroll), (vte_terminal_handle_scroll),
2826         (vte_terminal_size_allocate), (vte_terminal_scroll),
2827         (vte_terminal_background_update),
2828         (vte_terminal_queue_background_update),
2829         (vte_terminal_set_scrollback_lines), (vte_terminal_reset),
2830         (add_process_timeout), (vte_terminal_add_process_timeout),
2831         (vte_terminal_start_processing), (update_repeat_timeout),
2832         (update_timeout):
2833         * src/vteseq.c: (vte_sequence_handler_scroll_up_or_down),
2834         (vte_sequence_handler_decset_internal), (vte_sequence_handler_al),
2835         (vte_sequence_handler_dl), (vte_sequence_handler_sf),
2836         (vte_sequence_handler_sr), (vte_sequence_handler_clear_screen),
2837         (vte_sequence_handler_cursor_character_absolute),
2838         (vte_sequence_handler_insert_lines),
2839         (vte_sequence_handler_delete_lines),
2840         (vte_sequence_handler_screen_alignment_test):
2841
2842 2007-02-08  Chris Wilson  <chris@chris-wilson.co.uk>
2843
2844         * src/vteapp.c: (main): whitespace
2845
2846 2007-02-08  Chris Wilson  <chris@chris-wilson.co.uk>
2847
2848         Bug 363597 – Scrollback in profile dialog doesn't work
2849
2850         * src/vte-private.h:
2851         * src/vte.c: (vte_terminal_init),
2852                 Only use SCROLLBACK_MIN during initialisation, so rename it
2853                 to SCROLLBACK_INIT.
2854         (vte_terminal_set_scrollback_lines):
2855                 Remove MAX(lines, SCROLLBACK_MIN) and update code comments
2856                 to reduce confusion.
2857
2858 2007-02-08  Mariano Suárez-Alvarez  <mariano@gnome.org>
2859
2860         * src/vteapp.c(main): do something useful with --geometry.
2861
2862 2007-02-08  Chris Wilson  <chris@chris-wilson.co.uk>
2863
2864         Use gtk_widget_get_(screen|display) which will itself return a default
2865         if not currently attached.
2866
2867         * src/vtedraw.c: (_vte_draw_get_colormap):
2868         * src/vtefc.c: (_vte_fc_defaults_from_gtk):
2869         * src/vtegl.c: (_vte_gl_check), (_vte_gl_create),
2870         (_vte_gl_destroy), (_vte_gl_start), (_vte_gl_end), (_vte_gl_clear),
2871         (_vte_gl_draw_text), (_vte_gl_rectangle):
2872         * src/vterdb.c: (_vte_rdb_get):
2873         * src/vteseq.c: (vte_sequence_handler_window_manipulation):
2874
2875 2007-02-08  Chris Wilson  <chris@chris-wilson.co.uk>
2876
2877         Some more callgrinding - kill a little bit of overhead.
2878
2879         * src/iso2022.c: (_vte_iso2022_sequence_length),
2880         (_vte_iso2022_fragment_input), (process_control):
2881         * src/matcher.c: (_vte_matcher_free_params_array):
2882         * src/vteconv.c: (_vte_conv):
2883
2884 2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>
2885
2886         Actually return whether or not we found the char in
2887         _vte_xft_font_for_char - saves having to double check afterwards!
2888
2889         * src/vtexft.c: (_vte_xft_font_for_char), (_vte_xft_set_text_font),
2890         (_vte_xft_draw_text):
2891
2892 2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>
2893
2894         As spotted perusing roxterm, we fail to redraw after changing the text
2895         colour.
2896
2897         * src/vte.c: (vte_terminal_set_color_internal):
2898                 Remember to invalidate all!
2899
2900 2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>
2901
2902         * src/vte.c: (vte_terminal_match_check_internal):
2903                 Scan for newlines before and after the current row
2904                 to find the entire line in case of soft-wrapping.
2905
2906 2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>
2907
2908         Bug 345344 – Pattern matching is inefficient
2909         Bug 324246 – Performance degredation with large numbers of highlighted addresses/URLs
2910
2911         * src/vte.c: (vte_terminal_match_check_internal):
2912                 Trim the searched string down to the row containing the
2913                 pointer. During a mutt session this drops the time consumed by
2914                 regexec from ~30% to ~2%.
2915                 Note: multi-line regexes are now unsupported!
2916
2917 2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>
2918
2919         * src/vteseq.c: (_vte_sequence_get_handler):
2920                 Avoid the strlen when possible.
2921
2922 2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>
2923
2924         Some cleanups and a bug...
2925
2926         vte_terminal_match_hilite() compared the current cell to the last
2927         mouse position without a floor().
2928
2929         * src/vte.c: (vte_terminal_process_incoming),
2930         (vte_terminal_match_hilite), (vte_terminal_select_all),
2931         (vte_terminal_select_none), (vte_terminal_motion_notify),
2932         (vte_terminal_button_press):
2933
2934 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
2935
2936         Bug 86119 – "select all" feature
2937         Original patch by Simone Gotti.
2938
2939         * src/vte.c: (vte_terminal_select_all), (vte_terminal_select_none):
2940         * src/vte.h:
2941                 Add 2 new API entry points to select the entire contents
2942                 and clear the current selection.
2943
2944 2007-02-06  Chris Wilson <chris@chris-wilson.co.uk>
2945
2946         Bug 342059 – ASCII escape sequences don't work as expected
2947         Correction by Mariano Suárez-Alvarez.
2948
2949         * src/vteseq.c: (vte_sequence_handler_cursor_character_absolute):
2950                 OBO on the parameter.
2951
2952 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
2953
2954         Bug 342059 – ASCII escape sequences don't work as expected
2955         Patch by Mariano Suárez-Alvarez.
2956
2957         * src/vteseq.c: (vte_sequence_handler_cursor_character_absolute):
2958                 Provide a default value.
2959
2960 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
2961
2962         And finally as noted on bug 324246#c8 hide the hilite when the mouse
2963         leaves the terminal (show again when it enters and let motion-notify
2964         correct it later).
2965
2966         * src/vte.c: (vte_terminal_enter), (vte_terminal_leave),
2967         (vte_terminal_realize), (vte_terminal_class_init):
2968
2969 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
2970
2971         As noted on bug 324246#c8, hide the hilite when the focus disappears.
2972         On focus restore the match for the last mouse coordinates and let
2973         motion-notify take care of the rest.
2974
2975         * src/vte.c: (vte_terminal_match_hilite_update),
2976         (vte_terminal_match_hilite), (vte_terminal_focus_in):
2977
2978 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
2979
2980         Convert the exposed rectangles to cells and remerge them.
2981
2982         * src/vte.c: (vte_terminal_expand_region),
2983         (vte_terminal_paint_area), (vte_terminal_paint):
2984
2985 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
2986
2987         As noted on Bug 401052#c13, vte fails to completely clear the cell's
2988         previous contents.
2989
2990         * src/vte.c: (_vte_invalidate_cells):
2991                 Grow the invalidate region by a single pixel to accomodate
2992                 antialiased pseudo-bold characters.
2993
2994 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
2995
2996         Move status_line_changed to post-processing emission.
2997
2998         * src/vte-private.h:
2999         * src/vte.c: (_vte_terminal_insert_char), (vte_terminal_reset),
3000         (vte_terminal_emit_pending_signals):
3001         * src/vteseq.c: (vte_sequence_handler_ts):
3002
3003 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
3004
3005         Clamp down on needless invalidates during selection.
3006
3007         As commented on in Bug 401052#c10
3008
3009         * src/vte.c: (_vte_invalidate_region), (vte_terminal_deselect_all),
3010         (vte_terminal_match_hilite_clear), (vte_terminal_start_selection),
3011         (vte_terminal_extend_selection):
3012
3013 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
3014
3015         * src/vte.c: (vte_terminal_draw_rows):
3016                 Don't needlessly break the text run on a space if we are
3017                 not drawing cell attributes.
3018
3019 2007-02-06  Chris Wilson  <chris@chris-wilson.co.uk>
3020
3021         * src/iso2022.c: (_vte_iso2022_is_ambiguous_ht):
3022                 One more G_UNLIKELY
3023         * src/vte.c: (vte_terminal_match_hilite),
3024         (vte_terminal_motion_notify):
3025                 Avoid expensive hiliting if the pointer is not in the window.
3026         * src/vteregex.c: (_vte_regex_exec):
3027                 Prefer g_new(x,n) over g_malloc(sizeof(x)*n)
3028
3029 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3030
3031         Bug 404757 – URL matching doesn't work with PCRE
3032
3033         * configure.in:
3034                 mention the inconsistency in the help string and default to no.
3035
3036 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3037
3038         * src/vte.c: (vte_terminal_draw_rows):
3039                 Don't draw cell attributes across spaces.
3040
3041 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3042
3043         * src/vte.c: (_vte_terminal_insert_char):
3044                 A couple more G_LIKELYs.
3045
3046 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3047
3048         Bug 403028 – decset mode 12 = blinking cursor
3049
3050         * src/vteseq.c: (vte_sequence_handler_decset_internal):
3051                 Following convention, disallow the application's control
3052                 over the blinking cursor in favour of the user's setting.
3053
3054 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3055
3056         Some more small callgrind tweaks - well into the law of diminishing
3057         returns.
3058
3059         * src/iso2022.c: (_vte_iso2022_is_ambiguous_ht),
3060         (_vte_iso2022_is_ambiguous), (process_8_bit_sequence),
3061         (process_cdata), (_vte_iso2022_unichar_width):
3062         * src/matcher.c: (_vte_matcher_free_params_array):
3063         * src/vte.c: (vte_terminal_process_incoming):
3064
3065 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3066
3067         Beware the trivial change. Handle reuse of GValueArray correctly.
3068
3069         * src/matcher.c: (_vte_matcher_match):
3070         * src/table.c: (_vte_table_match):
3071         * src/trie.c: (_vte_trie_match):
3072         * src/vte.c: (vte_terminal_process_incoming):
3073
3074 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3075
3076         * src/table.c: (_vte_table_match):
3077                 And kill the leak as vte_table_match erroneously cleared
3078                 its output arguments.
3079
3080 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3081
3082         The continual reallocation of GValueArray is the last trivially
3083         avoidable g_realloc.
3084
3085         * src/interpret.c: (main):
3086         * src/matcher.c: (_vte_matcher_create), (_vte_matcher_destroy),
3087         (_vte_matcher_match), (_vte_matcher_free_params_array):
3088         * src/matcher.h:
3089         * src/table.c: (_vte_table_extract_string):
3090         * src/trie.c: (_vte_trie_matchx), (_vte_trie_match), (main):
3091         * src/vte.c: (vte_terminal_process_incoming):
3092
3093 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3094
3095         * src/ring.c: (_vte_ring_insert):
3096                 Missed an important compiler warning.
3097
3098 2007-02-05  Chris Wilson  <chris@chris-wilson.co.uk>
3099
3100         cf Bug 342338 – suffers from memory fragmentation
3101
3102         Reuse the last VteRowData instead of immediately freeing it. Avoids
3103         recreating and *regrowing* a new GArray on the heap.
3104
3105         In the simple scrolling benchmarks this can boost performance by as
3106         much as 10%!
3107
3108         * src/ring.c: (_vte_ring_insert), (_vte_ring_insert_preserve),
3109         (_vte_ring_remove), (_vte_ring_append):
3110         * src/ring.h:
3111         * src/vte-private.h:
3112         * src/vte.c: (_vte_reset_row_data), (_vte_terminal_ensure_cursor),
3113         (_vte_terminal_insert_char), (vte_terminal_reset_rowdata):
3114         * src/vteseq.c: (vte_insert_line_internal),
3115         (vte_sequence_handler_scroll_up_or_down),
3116         (vte_sequence_handler_cd), (vte_sequence_handler_sf),
3117         (vte_sequence_handler_clear_screen),
3118         (vte_sequence_handler_screen_alignment_test):
3119
3120 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3121
3122         A few more compiler warnings.
3123
3124         * src/buffer.c: (_vte_buffer_peek_gstring):
3125         * src/iso2022.c: (process_control):
3126         * src/vteft2.c: (_vte_ft2_set_text_font):
3127         * src/vteseq.c: (vte_sequence_handler_set_title_internal):
3128         * src/vtetc.c: (_vte_termcap_parse_file):
3129
3130 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3131
3132         Bug 106618 – CJK 'fixed width' font and 's p a c e d o u t' issue
3133
3134         * src/vtedraw.h:
3135         * src/vteglyph.c: (_vte_glyph_cache_set_font_description):
3136         * src/vtepango.c: (_vte_pango_set_text_font):
3137         * src/vtepangox.c: (_vte_pango_x_set_text_font):
3138         * src/vtexft.c: (_vte_xft_set_text_font):
3139                 Detect a change in font between wide-chars and recheck for a
3140                 fixed-width estimate.
3141
3142 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3143
3144         Micro-opts.
3145
3146         * src/table.c: (_vte_table_match):
3147                 No need set to NULL.
3148         * src/vte.c: (_vte_terminal_ensure_cursor):
3149                 If we have added some rows, the last is the current.
3150
3151 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3152
3153         Move window/icon title changed to the post-processing emission - helps
3154         with the artificial benchmark of replaying a recorded jhbuild script.
3155
3156         * src/vte-private.h:
3157         * src/vte.c: (vte_terminal_finalize),
3158         (vte_terminal_emit_icon_title_changed),
3159         (vte_terminal_emit_window_title_changed),
3160         (vte_terminal_emit_pending_signals):
3161         * src/vteseq.c: (vte_sequence_handler_set_title_internal):
3162
3163 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3164
3165         Broke clear-to-end-of-line by lowering the number of cells appended,
3166         instead of the number of cells invalidated.
3167
3168         * src/vte.c: (vte_terminal_draw_rows):
3169         * src/vteseq.c: (vte_sequence_handler_ce):
3170
3171 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3172
3173         cf Bug 83285 – Treacle-slow scrolling in gnome-terminal on unaccelerated X server
3174
3175         Another chunk of performance improvements - the majority focusing on
3176         reducing the amount of work down per interrupt (input data from
3177         child).
3178
3179         To handle reads without addition copies VTE_INPUT_CHUNK_SIZE chunks
3180         are allocated on demand and filled from read with no further copy -
3181         previously the read was into a local buffer and then immediately
3182         copied into a _vte_buffer.
3183         _vte_iso2022_process() is then adjusted to use a ptr+length, rather
3184         than a _vte_buffer and is called for every input chunk (taking special
3185         care over the boundary cases).
3186
3187         * src/interpret.c: (main):
3188         * src/iso2022.c: (_vte_iso2022_fragment_input),
3189         (process_8_bit_sequence), (process_cdata), (_vte_iso2022_process):
3190         * src/iso2022.h:
3191         * src/vte-private.h:
3192         * src/vte.c: (get_chunk), (release_chunk), (prune_chunks),
3193         (_vte_incoming_chunks_release), (_vte_incoming_chunks_length),
3194         (_vte_incoming_chunks_count), (_vte_incoming_chunks_reverse),
3195         (vte_terminal_match_check_internal), (_vte_terminal_ensure_cursor),
3196         (vte_terminal_set_colors), (_vte_terminal_insert_char),
3197         (vte_terminal_catch_child_exited), (vte_terminal_eof),
3198         (vte_terminal_process_incoming), (_vte_terminal_feed_chunks),
3199         (vte_terminal_io_read), (vte_terminal_feed), (vte_terminal_send),
3200         (vte_terminal_init), (vte_terminal_finalize), (vte_terminal_reset),
3201         (remove_from_active_list), (need_processing), (update_regions),
3202         (update_repeat_timeout):
3203         * src/vte.h:
3204         * src/vteseq.c: (vte_sequence_handler_cb),
3205         (vte_sequence_handler_ce), (vte_sequence_handler_ec):
3206
3207 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3208
3209         Store whether the codeset is ambiguous in a state variable,
3210         rather than recomputing the ambiguous width every processing loop.
3211
3212         * src/iso2022.c: (_vte_iso2022_is_ambiguous),
3213         (_vte_iso2022_state_new), (_vte_iso2022_find_nextctl):
3214
3215 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3216
3217         * src/vtexft.c: (_vte_xft_create), (_vte_xft_destroy):
3218                 Remove zero-initialisers after g_slice_new0().
3219         * src/vtexft.c :(_vte_xft_set_text_font):
3220                 Print out the width range.
3221
3222 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3223
3224         * configure.in:
3225                 Missing space between -Wflags.
3226
3227 2007-02-04  Chris Wilson  <chris@chris-wilson.co.uk>
3228
3229         Eliminate the temporary g_sliced parameter list,
3230         in favour of an on-stack list.
3231
3232         * src/table.c: (_vte_table_arginfo_head_init),
3233         (_vte_table_arginfo_alloc), (_vte_table_arginfo_head_revert),
3234         (_vte_table_arginfo_head_reverse),
3235         (_vte_table_arginfo_head_finalize), (_vte_table_addi),
3236         (_vte_table_matchi), (_vte_table_extract_string),
3237         (_vte_table_match):
3238
3239 2007-02-02  Chris Wilson  <chris@chris-wilson.co.uk>
3240
3241         * src/vtefc.c: (_vte_fc_patterns_from_pango_font_desc):
3242                 Dump the chosen fonts to VTE_DEBUG_MISC.
3243         * src/vteft2.c: (_vte_ft2_set_text_font):
3244                 Print out the font metrics ala vtexft.c
3245
3246 2007-02-02  Chris Wilson  <chris@chris-wilson.co.uk>
3247
3248         Bug 322241 – Please switch to pkg-config to check for freetype
3249
3250         * configure.in:
3251                 Prefer to use the freetype2.pc if available.
3252
3253 2007-02-02  Chris Wilson  <chris@chris-wilson.co.uk>
3254
3255         Bug 322240 – Usage of pkg-config privates header
3256
3257         * vte.pc.in:
3258                 Move @FT2_LIBS@ to Libs.private.
3259
3260 2007-02-01  Chris Wilson  <chris@chris-wilson.co.uk>
3261
3262         cf Bug 403275 – crash in Terminal: I was typing reset on th...
3263
3264         Not the crash, just a freeze found whilst trying to reproduce the
3265         bug on trunk.
3266
3267         * src/vte.c: (remove_from_active_list):
3268                 Don't remove the terminal from the active list if it still
3269                 has pending redraws.
3270         
3271         * src/vte.c: (process_timeout), (update_timeout):
3272                 Reorder the loop to remove the terminal from the active list
3273                 if it no longer needs processing.
3274
3275 2007-02-01  Chris Wilson  <chris@chris-wilson.co.uk>
3276
3277         * perf/scroll.vim:
3278                 Extract the bits the test needs out of debian.vim.
3279
3280 2007-02-01  Chris Wilson  <chris@chris-wilson.co.uk>
3281
3282         As spotted on bug 399617c8, we convert an array of unichars to a
3283         string and then iterate over the string interpreting bytes as
3284         unichars.
3285
3286         * src/table.c: (_vte_table_extract_numbers):
3287                 Dispense with the temporary string and process the unichar
3288                 array directly.
3289
3290 2007-02-01  Chris Wilson <chris@chris-wilson.co.uk>
3291
3292         Bug 403159 – XftDrawSetClipRectangles() silently fails on ppc->i386
3293
3294         * src/vtexft.c: (_vte_xft_clip):
3295                 Precompute clip offsets.
3296
3297 2007-02-01  Chris Wilson  <chris@chris-wilson.co.uk>
3298
3299         Bug 382245 – __PyGtk_API multiply defined in python module
3300
3301         * configure.in:
3302                 Add -fno-common to MAYBE_WARN in order to catch future
3303                 errors of this type.
3304         * python/vte.override:
3305                 Define PYGTK_NO_IMPORT.
3306
3307 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3308
3309         Bug 155687 – Scroll region \E[NN;MMr should set cursor to home
3310
3311         Patch originally by Michele Baldessari.
3312
3313         * src/vteseq.c: (vte_sequence_handler_cs):
3314                 Move the cursor to (0,0) rather than clamping the cursor to 
3315                 be inside the scroll region.
3316
3317 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3318
3319         In a few places the contents of a GValue were being used without
3320         checking that they were of the expected type.
3321
3322         cf Bug 117945 which mentions stack corruption inside
3323         vte_sequence_handler_delete_lines() - one of the corrected instances.
3324
3325         * src/vteseq.c: (vte_sequence_handler_al),
3326         (vte_sequence_handler_cs), (vte_sequence_handler_cS),
3327         (vte_sequence_handler_dl),
3328         (vte_sequence_handler_character_attributes),
3329         (vte_sequence_handler_insert_lines),
3330         (vte_sequence_handler_delete_lines),
3331         (vte_sequence_handler_device_status_report),
3332         (vte_sequence_handler_dec_device_status_report):
3333                 Check that the GValue holds a long before dereference.
3334
3335 2007-01-31  Chris Wilson <chris@chris-wilson.co.uk>
3336
3337         Back to the old-style io loop as _vte_buffer_append() is too slow - on
3338         a slow system the read can fill before the data is copied (even more
3339         apparent under valgrind).
3340
3341         * src/vte-private.h:
3342         * src/vte.c: (vte_terminal_io_read):
3343
3344 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3345
3346         Use the display stashed inside the font and not the default display!
3347
3348         * src/vtexft.c: (_vte_xft_char_exists), (_vte_xft_text_extents),
3349         (_vte_xft_font_open), (_vte_xft_font_close),
3350         (_vte_xft_font_for_char), (_vte_xft_draw_text):
3351
3352 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3353
3354         A mixed bag of cleanups.
3355
3356         * configure.in:
3357         * src/pty.c: (_vte_pty_set_utf8):
3358                 Test for existence of tc[sg]etattr.
3359         * src/vte-private.h:
3360         * src/vte.c: (vte_terminal_emit_adjustment_changed),
3361         (vte_terminal_queue_adjustment_changed),
3362         (vte_terminal_set_color_internal), (vte_terminal_handle_sequence),
3363         (_vte_terminal_enable_input_source), (vte_terminal_io_read),
3364         (vte_terminal_init), (vte_terminal_unrealize),
3365         (vte_terminal_finalize), (vte_terminal_background_update),
3366         (vte_terminal_queue_background_update),
3367         (vte_terminal_emit_pending_signals), (process_timeout),
3368         (update_repeat_timeout), (update_timeout):
3369                 Move idle signal emission to display handlers.
3370         * src/vtedraw.h:
3371                 Add '&' to the single width characters.
3372         * src/vteseq.c: (_vte_sequence_get_handler):
3373         * src/vteseq.h:
3374                 Drop the extraneous GQuark parameter.
3375         * src/vtexft.c: (_vte_xft_set_text_font):
3376                 Avoid use of strlen for a compile-time fixed length string.
3377
3378 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3379
3380         Bug 147784 – cursor unvisible under mouse highlight
3381
3382         Original patch by Chris Health
3383
3384         * src/vte.c: (vte_terminal_paint):
3385                 Reverse cursor color if it is in the selected region and draw
3386                 it as an outline.
3387
3388 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3389
3390         Bug 368894 – crash in Terminal: I started gnome-terminal...
3391
3392         * src/vtebg.c: (vte_bg_cache_search), (vte_bg_get_pixmap),
3393         (vte_bg_get_pixbuf):
3394                 When retrieving a cached pixmap check that the visual
3395                 matches the current request.
3396
3397 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3398
3399         Use gdk_error_trap_{push,pop} around raw Xft calls - about a
3400         path outside of vte_draw_{begin,end}.
3401
3402         * src/vtexft.c: (_vte_xft_set_text_font):
3403
3404 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3405
3406         Use gdk_error_trap_{push,pop} around raw X11 and Xft calls.
3407         cf Bug 368894.
3408
3409         * src/vtexft.c: (_vte_xft_font_for_char), (_vte_xft_start),
3410         (_vte_xft_end):
3411
3412 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3413
3414         Use gperf to calculate a more optimal vte_sequence_get_handler().
3415         This reduces vte_sequence_get_handler() from ~13% of the runtime
3416         during 'seq 1 1e6' to ~.5% (cumulative).
3417
3418         * src/Makefile.am:
3419         * src/vteseq-2.c: (vteseq_2_hash), (vteseq_2_lookup):
3420         * src/vteseq-2.gperf:
3421         * src/vteseq-n.c: (vteseq_n_hash), (vteseq_n_lookup):
3422         * src/vteseq-n.gperf:
3423         * src/vteseq.c: (_vte_sequence_get_handler):
3424
3425 2007-01-31  Chris Wilson  <chris@chris-wilson.co.uk>
3426
3427         Rudimentary vim scrolling benchmark.
3428
3429         * perf/Makefile.am:
3430         * perf/UTF-8-demo.txt:
3431         * perf/scroll.vim:
3432         * perf/vim.sh:
3433
3434 2007-01-30  Chris Wilson  <chris@chris-wilson.co.uk>
3435
3436         Bug 402329 – Rendering problem with underlines and cursor
3437
3438         * src/vte.c: (vte_terminal_paint):
3439                 Check hilite state when redrawing character under cursor.
3440
3441 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3442
3443         * src/vte-private.h:
3444         * src/vte.c: (vte_terminal_io_read):
3445                 Clean up the read IO loop.
3446
3447 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3448
3449         NULL return from pcre_study() does not necessarily mean an error
3450         occurred.
3451
3452         * src/vteregex.c: (_vte_regex_compile), (_vte_regex_exec):
3453
3454 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3455
3456         * src/vte.c: (_vte_terminal_set_pointer_visible),
3457         (_vte_terminal_fudge_pango_colors):
3458                 Kill a couple more compiler warnings.
3459
3460 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3461
3462         Bug 336105 – gnome-terminal crashes when termcap not found
3463
3464         * src/matcher.c: (_vte_matcher_init):
3465         * src/vte-private.h:
3466         * src/vte.c: (vte_terminal_set_default_tabstops),
3467         (vte_terminal_key_press), (vte_terminal_set_emulation),
3468         (_vte_terminal_inline_error_message), (vte_terminal_set_termcap),
3469         (vte_terminal_init), (vte_terminal_finalize),
3470         (vte_terminal_draw_cells):
3471                 Detect and issue an inline warning when we fail
3472                 to load a termcap.
3473
3474 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3475
3476         Tighten the invalidated cells.
3477
3478         * src/vte.c: (_vte_terminal_select_text):
3479         * src/vteseq.c: (vte_sequence_handler_cb):
3480
3481 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3482
3483         More compiler warnings.
3484
3485         * src/vtepangox.c: (_vte_pango_x_set_text_font),
3486         (_vte_pango_x_draw_text):
3487         * src/vteregex.c: (_vte_regex_exec):
3488
3489 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3490
3491         Detect availability of PCRE.
3492
3493         * configure.in:
3494         * src/Makefile.am:
3495
3496 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3497
3498         Improve handling of multi-row clears.
3499
3500         * src/vte.c: (vte_terminal_draw_cells), (vte_terminal_draw_rows),
3501         (vte_terminal_paint):
3502
3503 2007-01-29  Chris Wilson <chris@chris-wilson.co.uk>
3504
3505         Add debugging flags for printing out cells contents and attributes as
3506         they are rendered.
3507
3508         * src/debug.c: (_vte_debug_parse_string):
3509         * src/debug.h:
3510         * src/vte.c: (vte_terminal_draw_cells):
3511
3512 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3513
3514         * src/vte.c: (vte_terminal_draw_rows):
3515                 Don't issue glyph items for blank cells.
3516
3517 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3518
3519         * configure.in:
3520                 Add -Wshadow to MAYBE_WARN
3521         * src/ring.c: (_vte_ring_remove):
3522         * src/table.c: (_vte_table_matchi):
3523         * src/vtedraw.c: (_vte_draw_clip):
3524         * src/vteskel.c:
3525                 Clean up some compiler warnings.
3526
3527 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3528
3529         * src/vteskel.c:
3530                 Add the NULL clip func to the skeleton function table.
3531
3532 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3533
3534         Update match hilite before showing the pointer as the choice of
3535         cursor depends on whether the pointer is above a matched region.
3536
3537         * src/vte.c: (vte_terminal_motion_notify),
3538         (vte_terminal_button_press), (vte_terminal_button_release):
3539
3540 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3541
3542         Only update the matched region if we move the pointer outside of the
3543         currently matched region.
3544         And only invalidate the cells underneath the matched region.
3545
3546         * src/vte.c: (_vte_invalidate_region),
3547         (vte_terminal_match_hilite_clear), (cursor_inside_match),
3548         (vte_terminal_match_hilite), (vte_terminal_draw_rows):
3549
3550 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3551
3552         * src/table.c: (_vte_table_free):
3553                 Fix a memleak.
3554
3555 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3556
3557         ==26147== 2,895 (352 direct, 2,543 indirect) bytes in 22 blocks are definitely lost in loss record 107 of 170
3558         ==26147==    at 0x4021380: malloc (vg_replace_malloc.c:149)
3559         ==26147==    by 0x4E85965: g_malloc (gmem.c:131)
3560         ==26147==    by 0x4E95537: g_slice_alloc (gslice.c:777)
3561         ==26147==    by 0x4E7C255: g_list_prepend (glist.c:95)
3562         ==26147==    by 0x428B887: vte_terminal_feed (vte.c:10991)
3563         ==26147==    by 0x429DD20: vte_terminal_io_read (vte.c:3214)
3564         ==26147==    by 0x4EA7A8C: g_io_unix_dispatch (giounix.c:162)
3565         ==26147==    by 0x4E7E481: g_main_context_dispatch (gmain.c:2045)
3566         ==26147==    by 0x4E8145E: g_main_context_iterate (gmain.c:2677)
3567         ==26147==    by 0x4E81808: g_main_loop_run (gmain.c:2881)
3568         ==26147==    by 0x45BA503: gtk_main (gtkmain.c:1148)
3569         ==26147==    by 0x805F7A3: main (terminal.c:1773)
3570
3571         * src/vte.c: (remove_from_active_list), (process_timeout),
3572         (update_repeat_timeout):
3573                 g_list_delete_link() is the one that actually frees the link.
3574                 s/g_list_remove_link/g_list_delete_link/.
3575
3576 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3577
3578         ==26147== Conditional jump or move depends on uninitialised value(s)
3579         ==26147==    at 0x42AB9F7: _vte_rdb_search (vterdb.c:95)
3580         ==26147==    by 0x42ABB40: _vte_rdb_quark (vterdb.c:201)
3581         ==26147==    by 0x42ABB9F: _vte_rdb_get_hintstyle (vterdb.c:241)
3582         ==26147==    by 0x42A7952: _vte_fc_patterns_from_pango_font_desc (vtefc.c:302)
3583         ==26147==    by 0x42B4E9B: _vte_xft_set_text_font (vtexft.c:103)
3584         ==26147==    by 0x42A6BE5: _vte_draw_set_text_font (vtedraw.c:258)
3585         ==26147==    by 0x428C62B: vte_terminal_ensure_font (vte.c:5963)
3586         ==26147==    by 0x4290295: vte_terminal_size_request (vte.c:6613)
3587         ==26147==    by 0x4E25228: g_cclosure_marshal_VOID__BOXED (gmarshal.c:566)
3588         ==26147==    by 0x4E17038: g_type_class_meta_marshal (gclosure.c:567)
3589         ==26147==    by 0x4E188FC: g_closure_invoke (gclosure.c:490)
3590         ==26147==    by 0x4E29779: signal_emit_unlocked_R (gsignal.c:2370)
3591         ==26147== 
3592
3593         * src/vterdb.c: (_vte_rdb_get):
3594                 Check the result of the get_property_string before using the
3595                 returned values.
3596
3597 2007-01-29  Chris Wilson  <chris@chris-wilson.co.uk>
3598
3599         * src/vte.c: (vte_terminal_draw_cells), (vte_terminal_draw_rows):
3600                 Merge draw_cells() with the background clear, as generating
3601                 items for many rows and then splitting again in draw cells is
3602                 simply inefficient.
3603
3604 2007-01-28  Chris Wilson  <chris@chris-wilson.co.uk>
3605
3606         Bug 401215 – Multi-pass renderering
3607
3608         * src/vte.c: (vte_terminal_draw_cells), (vte_terminal_clear_cells),
3609         (vte_terminal_draw_cells_with_attributes),
3610         (vte_terminal_draw_rows), (vte_terminal_paint):
3611                 Break the draw_rows() loop into two passes - first clear the
3612                 background and second render the text.
3613                 Add another function based on draw_cells() that just clears the
3614                 background and make clearing the background optional in
3615                 draw_cells() - updating callers accordingly.
3616                 Adventurous souls are required to clean up draw_rows().
3617
3618 2007-01-27  Chris Wilson  <chris@chris-wilson.co.uk>
3619
3620         Fix compilation *with* debugging enabled.
3621         Grrr.
3622
3623         * src/keymap.c: (_vte_keysym_print):
3624
3625 2007-01-27  Chris Wilson  <chris@chris-wilson.co.uk>
3626
3627         Fix compilation without debugging enabled.
3628
3629         * src/keymap.c: (_vte_keysym_print), (_vte_keymap_map):
3630         * src/vte.c: (display_control_sequence):
3631         * src/vteapp.c: (main):
3632
3633 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3634
3635         * src/debug.h:
3636                 Provide a safe fallback for non-C99 compilers (well actually
3637                 anything that isn't a recent gcc at the moment).
3638
3639 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3640
3641         Bug 157267 – _vte_terminal_fudge_pango_colors() breaks Japanese input style
3642
3643         Patch by ynakai@redhat.com.
3644
3645         * src/vte.c: (_vte_terminal_fudge_pango_colors):
3646                 Check the attributes for each cell rather than assuming the
3647                 pango attributes (and cell attributes) are the same for the
3648                 whole string.
3649
3650 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3651
3652         * src/vteseq.c: (vte_sequence_handler_vb):
3653                 Iterating over all queued exposures and drawing on top of the
3654                 flash does not sense. Simply flush the draw.
3655
3656 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3657
3658         s/_VTE_DEBUG_ON/_VTE_DEBUG_IF/ and don't include
3659         the code block inside the macro.
3660
3661         * src/debug.h:
3662         * src/iso2022.c: (process_control), (_vte_iso2022_process):
3663         * src/keymap.c: (_vte_keymap_map):
3664         * src/matcher.c: (_vte_matcher_init):
3665         * src/pty.c: (_vte_pty_run_on_pty):
3666         * src/table.c: (_vte_table_addi), (_vte_table_matchi),
3667         (_vte_table_extract_numbers), (_vte_table_match):
3668         * src/trie.c: (_vte_trie_addx):
3669         * src/vte.c: (vte_terminal_match_check_internal),
3670         (vte_terminal_match_check), (vte_terminal_handle_sequence),
3671         (vte_terminal_catch_child_exited), (vte_terminal_process_incoming),
3672         (vte_terminal_io_write), (vte_terminal_send),
3673         (vte_terminal_key_press), (vte_terminal_copy_cb),
3674         (vte_terminal_set_font_full), (vte_terminal_realize),
3675         (vte_terminal_paint), (vte_terminal_scroll):
3676         * src/vteapp.c: (main):
3677         * src/vtebg.c: (vte_bg_root_pixmap):
3678
3679 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3680
3681         Bug 400834 – Use a global display/process timeout
3682
3683         Currently each terminal uses it own display timeout. Given that
3684         typical usage is several active terminals, there is an immediate
3685         advantage (context switches, fairness, smoothness) to using a single
3686         common timeout.
3687
3688         * src/debug.c: (_vte_debug_parse_string):
3689         * src/debug.h:
3690                 Add VTE_DEBUG_TIMEOUT
3691         * src/vte-private.h:
3692         * src/vte.c: (update_regions), (_vte_invalidate_cells),
3693         (_vte_invalidate_all), (vte_terminal_init),
3694         (vte_terminal_class_init), (add_update_timeout),
3695         (remove_from_active_list), (remove_update_timeout),
3696         (add_process_timeout), (vte_terminal_stop_processing),
3697         (vte_terminal_is_processing), (process_timeout),
3698         (update_repeat_timeout), (update_timeout):
3699                 Modify to use a global timeout rather than individual
3700                 private timeouts.
3701
3702 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3703
3704         Unable to set background scrolling mode from cmdline due to variable
3705         name confusion.
3706
3707         * src/vteapp.c: (main):
3708                 --scroll should set scroll=TRUE rather than cursor=TRUE!
3709
3710 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3711
3712         Bug 401082 – double-draw issue
3713
3714         The main cause of this bug was not expanding the cleared area to cover
3715         all the cells affected by the draw and forgetting to offset the clear
3716         by VTE_PAD_WIDTH.
3717
3718         To counter the performance hit due to the expanded repaint area, each
3719         backend is presented with the opportunity to apply a clip to the
3720         exposed region before painting.
3721
3722         This also fixes bug 333157,
3723
3724         * src/vte.c: (_vte_invalidate_cells), (vte_terminal_paint_area),
3725         (vte_terminal_paint):
3726         * src/vtedraw.c: (_vte_draw_clip):
3727         * src/vtedraw.h:
3728         * src/vteft2.c: (_vte_ft2_end), (_vte_ft2_clip):
3729         * src/vtegl.c:
3730         * src/vtepango.c: (_vte_pango_clip):
3731         * src/vtepangox.c: (_vte_pango_x_clip):
3732         * src/vtexft.c: (_vte_xft_clip), (_vte_xft_draw_text):
3733
3734 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3735
3736         * src/vte.c: (vte_terminal_match_hilite):
3737         * src/vteseq.c: (vte_sequence_handler_ce),
3738         (vte_sequence_handler_dc), (vte_sequence_handler_ec):
3739                 Tighten the _vte_invalidate_cells() to only those that
3740                 we potentially modify.
3741
3742 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3743
3744         * src/vtexft.c: (_vte_xft_set_text_font):
3745                 Remove the additional pixel inter-character spacing.
3746                 Compactness over clarity ;)
3747
3748 2007-01-26  Chris Wilson  <chris@chris-wilson.co.uk>
3749
3750         Apply a one pixel fudge to the Xft character position and width.
3751         This greatly improves text appearance and hides the misrendering of
3752         pseudo-bold characters.
3753         cf bugs 317691, 333157.
3754
3755         * src/vte.c: (vte_terminal_paint):
3756                 Increase the cursor size to fit around the cell.
3757         * src/vtexft.c: (_vte_xft_set_text_font), (_vte_xft_draw_text):
3758                 Fudge the Xft font positioning.
3759
3760 2007-01-26  Chris Wilson <chris@chris-wilson.co.uk>
3761
3762         Bug 318307 – Cursor colour changes to foreground when unfocused
3763
3764         Whilst setting the colour, tweak the position of the rectangle, and
3765         extended the invalidate region to account for the OBO nature of bold
3766         font.
3767
3768         * src/vte.c: (_vte_invalidate_cells):
3769                 Include the padding to accomodate cell effects.
3770         * src/vte.c: (vte_terminal_paint):
3771                 Use the cursor color for the rectangle when unfocused.
3772
3773 2007-01-26  Behdad Esfahbod  <behdad@gnome.org>
3774
3775         * src/vte.c (vte_terminal_visibility_notify): Correctly handle
3776         visibility events: set invalidated_all to FALSE, and invalidate_all
3777         if fully unobscured.
3778
3779 2007-01-26  Behdad Esfahbod  <behdad@gnome.org>
3780
3781         * src/vte.c (vte_terminal_visibility_notify): Make sure we redraw
3782         after becoming unobscured.  There still is a bug that I've not found,
3783         but after obscuring the widget and coming back, a first redraw
3784         happens, but no update after that.
3785
3786 2007-01-26  Chris Wilson <chris@chris-wilson.co.uk>
3787
3788         * src/vte.c: (vte_terminal_draw_area):
3789                 Occasionally we generate an exposed area which is computed
3790                 as 0x0 cells. Discard early, before we spend an infinity
3791                 drawing nothing.
3792
3793 2007-01-26  Chris Wilson <chris@chris-wilson.co.uk>
3794
3795         Janitorial work - near elimination of #ifdef VTE_DEBUG from within
3796         functions, trimming a thousand lines of code.
3797
3798         We introduce a _vte_debug_print macro to cover the more common
3799         occurrence of printing a message at a certain debug level.
3800         And a _VTE_DEBUG_ON for a conditional code block.
3801
3802         src/debug.h     |   11 
3803         src/iso2022.c   |  201 ++-------
3804         src/keymap.c    |   41 -
3805         src/matcher.c   |   24 -
3806         src/pty.c       |  134 +-----
3807         src/reaper.c    |   21 
3808         src/ring.c      |   78 +--
3809         src/table.c     |   11 
3810         src/trie.c      |   19 
3811         src/vte.c       | 1187 ++++++++++---------------------------------------
3812         src/vteaccess.c |  198 +++------
3813         src/vteapp.c    |   21 
3814         src/vtebg.c     |   43 --
3815         src/vteconv.c   |   60 +-
3816         src/vteconv.h   |   12 
3817         src/vtedraw.c   |    6 
3818         src/vtefc.c     |    4 
3819         src/vteft2.c    |    5 
3820         src/vteglyph.c  |   27 -
3821         src/vtepango.c  |   11 
3822         src/vtepangox.c |    7 
3823         src/vteregex.c  |    2 
3824         src/vteseq.c    |  385 +++++-------------
3825         src/vtexft.c    |   26 -
3826         24 files changed, 789 insertions(+), 1745 deletions(-)
3827
3828         * src/debug.h:
3829         * src/iso2022.c: (_vte_iso2022_ambiguous_width_guess),
3830         (_vte_iso2022_state_new), (_vte_iso2022_state_set_codeset),
3831         (process_8_bit_sequence), (process_cdata), (process_control),
3832         (_vte_iso2022_process):
3833         * src/keymap.c: (_vte_keymap_map):
3834         * src/matcher.c: (_vte_matcher_init), (_vte_matcher_create),
3835         (_vte_matcher_destroy):
3836         * src/pty.c: (vte_pty_child_setup), (_vte_pty_run_on_pty),
3837         (_vte_pty_set_size), (_vte_pty_get_size), (_vte_pty_ptsname),
3838         (_vte_pty_open_unix98), (_vte_pty_open_with_helper),
3839         (_vte_pty_open):
3840         * src/reaper.c: (vte_reaper_emit_signal),
3841         (vte_reaper_child_watch_cb), (vte_reaper_init),
3842         (vte_reaper_finalize):
3843         * src/ring.c: (_vte_ring_insert), (_vte_ring_insert_preserve),
3844         (_vte_ring_remove):
3845         * src/table.c: (_vte_table_addi):
3846         * src/trie.c: (char_class_string_extract), (_vte_trie_addx),
3847         (_vte_trie_add):
3848         * src/vte.c: (update_regions), (_vte_invalidate_cells),
3849         (_vte_invalidate_all), (_vte_invalidate_cell),
3850         (_vte_invalidate_cursor_once),
3851         (vte_terminal_emit_selection_changed), (vte_terminal_emit_commit),
3852         (vte_terminal_emit_emulation_changed),
3853         (vte_terminal_emit_encoding_changed),
3854         (vte_terminal_emit_child_exited),
3855         (_vte_terminal_emit_contents_changed),
3856         (vte_terminal_emit_cursor_moved), (vte_terminal_emit_eof),
3857         (vte_terminal_emit_char_size_changed),
3858         (_vte_terminal_emit_status_line_changed),
3859         (vte_terminal_emit_increase_font_size),
3860         (vte_terminal_emit_decrease_font_size),
3861         (_vte_terminal_emit_text_inserted),
3862         (_vte_terminal_emit_text_deleted),
3863         (vte_terminal_emit_text_modified),
3864         (vte_terminal_emit_text_scrolled), (vte_terminal_deselect_all),
3865         (vte_terminal_match_check_internal), (vte_terminal_match_check),
3866         (vte_terminal_emit_adjustment_changed),
3867         (vte_terminal_queue_adjustment_changed),
3868         (_vte_terminal_adjust_adjustments), (vte_terminal_scroll_pages),
3869         (vte_terminal_maybe_scroll_to_bottom), (vte_terminal_set_encoding),
3870         (_vte_terminal_set_pointer_visible), (vte_terminal_new),
3871         (vte_terminal_generate_bold), (_vte_terminal_insert_char),
3872         (vte_terminal_handle_sequence), (vte_terminal_catch_child_exited),
3873         (vte_terminal_fork_command),
3874         (vte_terminal_emit_pending_text_signals),
3875         (vte_terminal_process_incoming), (vte_terminal_io_read),
3876         (vte_terminal_io_write), (vte_terminal_send),
3877         (vte_terminal_im_commit), (vte_terminal_im_preedit_start),
3878         (vte_terminal_im_preedit_end), (vte_terminal_im_preedit_changed),
3879         (vte_terminal_configure_toplevel),
3880         (vte_terminal_hierarchy_changed), (vte_terminal_style_changed),
3881         (vte_terminal_key_press), (vte_terminal_paste_cb),
3882         (vte_terminal_match_hilite_clear), (vte_terminal_match_hilite),
3883         (vte_terminal_clear_cb), (vte_terminal_copy_cb),
3884         (vte_terminal_copy), (vte_terminal_paste),
3885         (vte_terminal_start_selection), (vte_terminal_extend_selection),
3886         (vte_terminal_autoscroll), (vte_terminal_motion_notify),
3887         (vte_terminal_button_press), (vte_terminal_button_release),
3888         (vte_terminal_focus_in), (vte_terminal_focus_out),
3889         (vte_terminal_set_font_full), (vte_terminal_set_size),
3890         (vte_terminal_handle_scroll), (vte_terminal_set_emulation),
3891         (vte_terminal_set_termcap), (vte_terminal_reset_rowdata),
3892         (vte_terminal_fc_settings_changed), (vte_terminal_init),
3893         (vte_terminal_size_request), (vte_terminal_size_allocate),
3894         (vte_terminal_unrealize), (vte_terminal_finalize),
3895         (vte_terminal_realize), (vte_terminal_draw_cells),
3896         (_vte_terminal_map_pango_color), (vte_terminal_draw_area),
3897         (vte_terminal_paint), (vte_terminal_expose), (vte_terminal_scroll),
3898         (vte_terminal_class_init), (vte_terminal_copy_clipboard),
3899         (vte_terminal_paste_clipboard), (vte_terminal_copy_primary),
3900         (vte_terminal_paste_primary), (vte_terminal_background_update),
3901         (vte_terminal_queue_background_update),
3902         (vte_terminal_set_background_saturation),
3903         (vte_terminal_set_background_tint_color),
3904         (vte_terminal_set_background_transparent),
3905         (vte_terminal_set_background_image),
3906         (vte_terminal_set_background_image_file),
3907         (vte_terminal_set_word_chars), (process_timeout),
3908         (update_repeat_timeout), (update_timeout):
3909         * src/vteaccess.c: (xy_from_offset), (emit_text_caret_moved),
3910         (emit_text_changed_insert), (emit_text_changed_delete),
3911         (vte_terminal_accessible_update_private_data_if_needed),
3912         (vte_terminal_accessible_text_modified),
3913         (vte_terminal_accessible_text_scrolled),
3914         (vte_terminal_accessible_invalidate_cursor),
3915         (vte_terminal_accessible_finalize),
3916         (vte_terminal_accessible_get_text),
3917         (vte_terminal_accessible_get_text_somewhere),
3918         (vte_terminal_accessible_get_run_attributes),
3919         (vte_terminal_accessible_text_init),
3920         (vte_terminal_accessible_component_init),
3921         (vte_terminal_accessible_action_init),
3922         (vte_terminal_accessible_factory_new):
3923         * src/vteapp.c: (destroy_and_quit_eof), (destroy_and_quit_exited),
3924         (take_xconsole_ownership), (main):
3925         * src/vtebg.c: (vte_bg_root_pixmap), (vte_bg_set_root_pixmap),
3926         (_vte_bg_resize_pixbuf):
3927         * src/vteconv.c: (_vte_conv_utf8_utf8), (_vte_conv_open),
3928         (_vte_conv), (_vte_conv_cu), (_vte_conv_uu), (_vte_conv_uc):
3929         * src/vteconv.h:
3930         * src/vtedraw.c: (_vte_draw_new):
3931         * src/vtefc.c: (_vte_fc_transcribe_from_pango_font_description):
3932         * src/vteft2.c: (_vte_ft2_draw_text):
3933         * src/vteglyph.c: (_vte_glyph_cache_free),
3934         (_vte_glyph_cache_set_font_description):
3935         * src/vtepango.c: (_vte_pango_set_text_font),
3936         (_vte_pango_draw_text):
3937         * src/vtepangox.c: (_vte_pango_x_set_text_font):
3938         * src/vteregex.c: (_vte_regex_exec):
3939         * src/vteseq.c: (vte_terminal_emit_deiconify_window),
3940         (vte_terminal_emit_iconify_window),
3941         (vte_terminal_emit_icon_title_changed),
3942         (vte_terminal_emit_window_title_changed),
3943         (vte_terminal_emit_raise_window), (vte_terminal_emit_lower_window),
3944         (vte_terminal_emit_maximize_window),
3945         (vte_terminal_emit_refresh_window),
3946         (vte_terminal_emit_restore_window),
3947         (vte_terminal_emit_move_window), (vte_terminal_emit_resize_window),
3948         (vte_sequence_handler_set_title_internal),
3949         (vte_sequence_handler_decset_internal), (vte_sequence_handler_bt),
3950         (vte_sequence_handler_application_keypad),
3951         (vte_sequence_handler_normal_keypad),
3952         (vte_sequence_handler_reset_mode), (vte_sequence_handler_decset),
3953         (vte_sequence_handler_decreset),
3954         (vte_sequence_handler_erase_in_display),
3955         (vte_sequence_handler_erase_in_line),
3956         (vte_sequence_handler_restore_mode),
3957         (vte_sequence_handler_save_mode),
3958         (vte_sequence_handler_window_manipulation):
3959         * src/vtexft.c: (_vte_xft_set_text_font):
3960
3961 2007-01-26  Chris Wilson <chris@chris-wilson.co.uk>
3962
3963         Bug 317449 – The cursor disappears when clicking on windows above gnome-terminal
3964
3965         Enter a command that causes partial obscuration of the terminal,
3966         though it must cover the cursor. Close the new window, observe the
3967         pointer disappears.
3968
3969         The issue is that we hide the pointer whilst typing and show it after
3970         receiving a mouse movement. However in this case we steal the pointer
3971         away from the terminal without any mouse events and the cursor remains
3972         invisible.
3973
3974         * src/vte.c: (vte_terminal_focus_in):
3975                 Ensure the mouse pointer is visible on focus-in.
3976
3977 2007-01-26  Chris Wilson <chris@chris-wilson.co.uk>
3978
3979         Spend half an hour a day killing warnings...
3980
3981         * configure.in:
3982                 Remove -Wswitch-enum from MAYBE_WARN. I am that lazy.
3983         * src/buffer.c:
3984         * src/iso2022.c: (_vte_iso2022_is_ambiguous),
3985         (_vte_iso2022_ambiguous_width), (_vte_iso2022_map_get),
3986         (_vte_iso2022_find_nextctl), (_vte_iso2022_sequence_length),
3987         (_vte_iso2022_fragment_input), (process_8_bit_sequence),
3988         (process_cdata), (_vte_iso2022_process_single), (process_control),
3989         (_vte_iso2022_process):
3990         * src/keymap.c: (_vte_keymap_map):
3991         * src/table.c:
3992         * src/trie.c: (char_class_none_extract),
3993         (char_class_digit_extract), (char_class_multi_extract),
3994         (char_class_any_extract), (unichar_snlen), (unichar_sncmp),
3995         (char_class_string_extract), (_vte_trie_addx), (_vte_trie_add),
3996         (_vte_trie_matchx), (_vte_trie_match), (_vte_trie_printx),
3997         (_vte_trie_print), (convert_mbstowcs), (main):
3998         * src/vte-private.h:
3999         * src/vte.c: (vte_terminal_find_charcell),
4000         (_vte_row_data_find_charcell), (vte_terminal_emit_commit),
4001         (vte_terminal_match_clear_all), (vte_terminal_match_remove),
4002         (vte_terminal_match_add), (vte_terminal_match_set_cursor),
4003         (vte_terminal_match_check_internal), (vte_terminal_set_colors),
4004         (vte_terminal_emit_pending_text_signals),
4005         (vte_terminal_is_word_char), (vte_terminal_finalize),
4006         (vte_terminal_realize), (_vte_terminal_map_pango_color),
4007         (_vte_terminal_apply_pango_attr),
4008         (_vte_terminal_translate_pango_cells),
4009         (vte_terminal_set_scrollback_lines):
4010         * src/vteseq.c: (vte_sequence_handler_decset_internal):
4011                 Fixup compiler warnings, mostly of the type mixing signed and
4012                 unsigned compares and pointers.
4013
4014 2007-01-25  Chris Wilson <chris@chris-wilson.co.uk>
4015
4016         * src/vte.c: (mark_input_source_invalid),
4017         (_vte_terminal_connect_pty_read), (mark_output_source_invalid),
4018         (_vte_terminal_connect_pty_write):
4019                 Use the GDestroyNotify to mark the source as invalid.
4020         * src/vte.c: (vte_terminal_ensure_font):
4021                 Protect ensure fonts against the VteDraw being destroyed.
4022         * src/vte.c: (vte_terminal_realize):
4023                 Reorder code to setup the style before the fonts.
4024         * src/vte.c: (vte_terminal_class_init):
4025                 The ->show() handler was redundant.
4026
4027 2007-01-25  Behdad Esfahbod  <behdad@gnome.org>
4028
4029         * src/vte.c (_vte_terminal_set_default_attributes),
4030         (_vte_invalidate_cells), (_vte_invalidate_all),
4031         (_vte_invalidate_cell), (_vte_invalidate_cursor_once),
4032         (vte_terminal_visibility_notify), (vte_terminal_handle_scroll):
4033         Replace most of checks for terminal->pvt->visibility_state ==
4034         GDK_VISIBILITY_FULLY_OBSCURED by terminal->pvt->invalidated_all, and
4035         adapt.
4036
4037 2007-01-25  Chris Wilson <chris@chris-wilson.co.uk>
4038
4039         Bug 400759 – update problem with vte trunk
4040
4041         Otherwise known as the I can't count bug.
4042
4043         The number of rows and columns to paint were not properly taking
4044         account of the discrete nature of the cells ie although the floor(x)
4045         moved the start to the left by one, the extra cell was not being added
4046         to the width.
4047
4048         Also since the howmany() macro is pulled from <sys/param.h>, it can
4049         not be guarranteed to exist on all platforms. So in that case, provide
4050         a local copy.
4051
4052         * src/vte.c: (vte_terminal_draw_area):
4053                 Calculate the width as the distance between the explicity
4054                 calculated start and end cells.
4055
4056 2007-01-25  Chris Wilson <chris@chris-wilson.co.uk>
4057
4058         Bug 400671 – crash in Terminal: detaching of tabs
4059
4060         The fontdirty flag needed to be set on unrealize to ensure the fonts
4061         get set on the VteDraw should the terminal be realized again (e.g
4062         drag'n'dropping).
4063
4064         * src/vte.c: (vte_terminal_unrealize):
4065                 Set the fontdirty flag to TRUE.
4066         * src/vtexft.c: (_vte_xft_set_text_font),
4067         (_vte_xft_get_char_width), (_vte_xft_draw_text),
4068         (_vte_xft_draw_char):
4069                 Add safe guards to avoid dereferencing a NULL font as it
4070                 is possible for _vte_xft_font_open() to fail.
4071
4072 2007-01-25  Chris Wilson <chris@chris-wilson.co.uk>
4073
4074         Bug 399137 – UTF-8 problem in VteAccess
4075
4076         Improve the UTF-8 string handling within vteaccess.c
4077         A long and fraught history to this apparently simple change.
4078         Many thanks to Joanmarie Diggs and Rich Burridge for testing the
4079         patches and ensuring they caused no regressions in the ally interface.
4080
4081         * src/vteaccess.c: (emit_text_changed_insert),
4082         (emit_text_changed_delete):
4083                 Use g_utf8_pointer_to_offset() rather than open coding.
4084         * src/vteaccess.c: (vte_terminal_accessible_text_modified):
4085                 Convert the caret into a byte offset before performing the
4086                 ASCII character lookup.
4087                 Iterate backwards over the string using a g_utf8_prev_char,
4088                 and g_utf8_get_char.
4089
4090 2007-01-25  Chris Wilson <chris@chris-wilson.co.uk>
4091
4092         Bug 400493 – Mouse selection seriously broken
4093
4094         The rendering of non-text attributes, e.g highlight, backgrounds,
4095         underlines, was broken by the change to multi-row run of glyphs. This
4096         was most apparent when selecting regions with a mouse.
4097
4098         * src/vte.c: (_vte_invalidate_cursor_once),
4099         (vte_terminal_extend_selection),
4100         (vte_terminal_draw_rows), (vte_terminal_draw_area),
4101         (vte_terminal_paint):
4102                 Some janitorial work (a memleak, whitespace, improving debug
4103                 messages, comments).
4104         * src/vte.c: (vte_terminal_draw_cells):
4105                 Loop over cells and draw attributes for groups of cells on
4106                 each row.
4107
4108 2007-01-25  Chris Wilson <chris@chris-wilson.co.uk>
4109
4110         Bug 400438 – _vte_invalidate_all triggered on GDK_VISIBILITY_UNOBSCURED
4111
4112         * src/vte.c: (vte_terminal_visibility_notify):
4113                 Only force an _vte_invalidate_all if we can trivially detect
4114                 that we have switch from fully obscured to fully unobscured.
4115                 Otherwise, we will just handle the GDK expose in the normal
4116                 manner.
4117         * src/vte.c: (vte_terminal_expose):
4118                 Check the event area to see if we can use _vte_invalidate_all,
4119                 has a slight benefit of discarding further exposed area
4120                 processing.
4121                 
4122
4123 2007-01-25  Chris Wilson <chris@chris-wilson.co.uk>
4124
4125         GDK tries to coalesce multiple expose events into a single event.
4126         This is passed to the application as a large region containing
4127         multiple rectangles. The unfortunate effect of this is having
4128         broken the invalidated region into 2 small components for vim,
4129         the expose event was still operating on a single region covering
4130         both. The reason the effect was invisible to the eye is due to the
4131         double buffer - GDK generated a backing pixmap for the exposed event
4132         and only copied from the pixmap to the window exactly the pixels
4133         exposed. So we regenerated draw commands for the entire area, and
4134         only saved on the later blit.
4135
4136         The improvement to this is only issue draw commands for the individual
4137         rectangles rather than the region as a whole.
4138
4139         * src/vte.c: (vte_terminal_draw_area), (vte_terminal_paint),
4140         (vte_terminal_expose):
4141                 Paint the exposed rectangles not the event clipbox!
4142
4143 2007-01-25  Chris Wilson <chris@chris-wilson.co.uk>
4144
4145         Print out the painted area for VTE_DEBUG_UPDATES.
4146
4147         * src/vte.c: (vte_terminal_paint):
4148
4149 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4150
4151         cf Bug 400072 – Handling of ; in control sequences
4152
4153         Moral of the story: wait until the morning.
4154         Revert r1512, the mistaken attempt at parsing '\e[;30m'.
4155
4156         * src/table.c: (_vte_table_addi), (_vte_table_matchi),
4157         (_vte_table_match):
4158
4159 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4160
4161         cf Bug 399617 – Avoid memory allocations during an expose event.
4162
4163         Currently we cannot generate long glyph runs due to the text
4164         painting being broken up into single rows and setting a low
4165         max run cap. The benefit of longer runs is the backends can
4166         do more caching within a run and potentially generate fewer
4167         render calls and/or less network traffic.
4168
4169         In the simple test case, this increased the performance of a
4170         remote hexdump by 10%.
4171
4172         * src/vte.c: (vte_terminal_draw_rows), (vte_terminal_paint):
4173                 Scan entired exposed area for glyph runs.
4174         * src/vtedraw.h:
4175                 Increase VTE_DRAW_MAX_LENGTH
4176         * src/vtexft.c: (_vte_xft_draw_text):
4177                 Create GlyphSpecs rather than CharFontSpecs, saves a 
4178                 conversion and potential malloc inside libXft, and our
4179                 own malloc.
4180
4181 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4182
4183         Bug 147495 – screen flicker when opening new terminal windows
4184
4185         Last in a series of work to reduce extraneous redraws. I no longer
4186         see the flicker when opening a white terminal.
4187
4188         * src/vte.c: (_vte_terminal_scroll_region):
4189                 Detect when we can just invalidate all.
4190         * src/vte.c: (_vte_terminal_fork_basic):
4191                 Don't force an unnecessary redraw.
4192
4193 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4194
4195         * src/vte.c: (vte_terminal_set_emulation):
4196                 Add a missing '\n' to the debug printerr.
4197         * src/vte.c: (vte_terminal_init):
4198                 Initialize the row count to VTE_MIN_SCROLLBACK (was to 0
4199                 first and then later within the same function to
4200                 VTE_MIN_SCROLLBACK).
4201
4202 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4203
4204         Bug 334755 – Incomplete information from vte_terminal_get_font
4205
4206         In many situations the font_desc stored in the terminal is incomplete.
4207         _vte_fc_transcribe_from_pango_font_description() automagically fills
4208         in default values for the backends but this is hidden from the
4209         application. By filling in default values up front from the widget
4210         font description control is returned to the application and theme
4211         designers.
4212
4213         Patch by Pedro de Medeiros.
4214         Also cf bug 335269.
4215
4216         * src/vte.c: (vte_terminal_set_font_full):
4217                 Pull default font description from widget.
4218         * src/vtefc.c: (_vte_fc_transcribe_from_pango_font_description):
4219                 Remove default values.
4220
4221 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4222
4223         Bug 400184 – _vte_pty_open declaration mismatch - breaks on Solaris
4224         actually revealed a faux-pas in the conversion of the public
4225         interfaces to GPid - that it broke the ABI.
4226
4227         However, the intention is to remove the exposed pid_t, cf bug 400333.
4228
4229         * python/vte.defs:
4230         * python/vte.override:
4231         * src/pty.c: (_vte_pty_open):
4232         * src/pty.h:
4233         * src/vte.c: (_vte_terminal_fork_basic), (vte_terminal_forkpty):
4234         * src/vte.h:
4235                 Revert the exposed GPids back to pid_t.
4236
4237 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4238
4239         ==25123== Invalid read of size 1
4240         ==25123==    at 0x4055992: vte_terminal_accessible_text_modified (vteaccess.c:497)
4241         ==25123==    by 0x46A1248: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
4242         ==25123==    by 0x4693EAA: g_closure_invoke (gclosure.c:490)
4243         ==25123==    by 0x46A4972: signal_emit_unlocked_R (gsignal.c:2440)
4244         ==25123==    by 0x46A5E96: g_signal_emit_valist (gsignal.c:2199)
4245         ==25123==    by 0x46A85ED: g_signal_emit_by_name (gsignal.c:2267)
4246         ==25123==    by 0x403E9E2: _vte_terminal_emit_text_inserted (vte.c:863)
4247         ==25123==    by 0x40517EF: vte_terminal_process_incoming (vte.c:3032)
4248         ==25123==    by 0x40522B5: update_repeat_timeout (vte.c:11332)
4249
4250         * src/vteaccess.c: (vte_terminal_accessible_text_modified):
4251                 Check that the caret is inside the old string before
4252                 accessing.
4253
4254 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4255
4256         Revert changes in conjunction with bug 399137 back to r1487,
4257         which contains Rich Burridge's fix for bug 397724.
4258
4259         * src/vteaccess.c: (emit_text_changed_insert),
4260         (emit_text_changed_delete),
4261         (vte_terminal_accessible_text_modified):
4262
4263 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4264
4265         * src/vteaccess.c: (vte_terminal_accessible_text_modified):
4266                 Valgrind pointed out a couple of places where we tried to
4267                 access before the start of the string.
4268
4269 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4270
4271         Bug 400184 – _vte_pty_open declaration mismatch - breaks on Solaris
4272
4273         Patch by Damien Carbery.
4274
4275         * src/pty.h:
4276                 Update prototype to match new definition.
4277
4278 2007-01-24  Chris Wilson <chris@chris-wilson.co.uk>
4279
4280         <mariano> hm, vte is not matching «ESC [ ; 7 m» :/
4281
4282         * src/table.c: (_vte_table_addi), (_vte_table_matchi),
4283         (_vte_table_match):
4284                 s/GList/GSList/
4285                 g_slist_append -> g_slist_reverse(g_slist_prepend)
4286                 And finally add the subtable to handle the leading ';'
4287                 in the variable length parameters.
4288
4289 2007-01-23  Chris Wilson <chris@chris-wilson.co.uk>
4290
4291         A couple of minor buggets.
4292
4293         * src/iso2022.c: (_vte_iso2022_state_set_codeset):
4294                 Use g_intern_string() instead of from_quark(to_quark(str))
4295         * src/vtepango.c: (_vte_pango_create), (_vte_pango_destroy),
4296         (_vte_pango_start), (_vte_pango_end), (_vte_pango_set_text_font):
4297                 Use the widget pango context (we're guarranteed to have a
4298                 screen by this point) and don't unref it!
4299                 Inspired by Pedro de Medeiros in Bug 335269.
4300
4301 2007-01-23  Chris Wilson <chris@chris-wilson.co.uk>
4302
4303         Regression on Bug 123591:
4304                 mkdir /tmp/aa; cd /tmp/aa; bash; cd ..; rmdir aa
4305                 Open a new tab in g-t -> Failure.       
4306
4307         * src/pty.c: (_vte_pty_run_on_pty):
4308                 Check the error return from g_spawn and try again with the
4309                 pwd if it reports that the child could not change directory.
4310
4311 2007-01-23  Chris Wilson <chris@chris-wilson.co.uk>
4312
4313         * src/pty.c: (_vte_pty_run_on_pty):
4314                 Add all g_spawn parameters to VTE_DEBUG_MISC output.
4315
4316 2007-01-22  Behdad Esfahbod  <behdad@gnome.org>
4317
4318         Released vte-0.15.2.
4319
4320         * NEWS: Updated.
4321
4322         * configure.in: Bumped version to 0.15.2.
4323
4324         * src/Makefile.am: Bumped libtool version to 10:9:1.
4325
4326 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4327
4328         Bug 399137 - continuation.
4329
4330         * src/vteaccess.c: (vte_terminal_accessible_text_modified):
4331                 Classic bug:
4332                         clen = cp - old
4333                 rather than the more correct
4334                         clen = cp - current
4335
4336 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4337
4338         * src/vteapp.c: (char_size_changed), (char_size_realized), (main):
4339                 Don't try to perform gdk operations on unrealized windows.
4340
4341 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4342
4343         * src/pty.c: (_vte_pty_run_on_pty):
4344                 Print out the argument vector for VTE_DEBUG_MISC.
4345
4346 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4347
4348         * src/pty.c: (_vte_pty_run_on_pty):
4349                 Protect against g_strv_length(NULL)
4350
4351 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4352
4353         Bug 399137 - continuation.
4354
4355         * src/vteaccess.c: (vte_terminal_accessible_text_modified):
4356                 After walking back along the UTF-8 string, remember to update
4357                 the string lengths that are used to detect insertions and
4358                 deletions!
4359
4360 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4361
4362         If the caret is at the end of the buffer, then it set past the
4363         end of the offset array - do not use this as a lookup!
4364
4365         * src/vteaccess.c: (vte_terminal_accessible_text_modified):
4366                 If the caret points to past the last character, set the
4367                 offset to the string's NUL terminator.
4368
4369 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4370
4371         * configure.in:
4372                 Earlier configure.in update introduced a trailing ']', pair
4373                 it with its '['
4374                 
4375
4376 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4377
4378         Bug 132316 – terminal widget's context menu posting isn't exposed as an AtkAction
4379
4380         Original patch by <padraig.obriain@sun.com>
4381
4382         * src/vteaccess.c: (vte_terminal_accessible_free_private_data),
4383         (vte_terminal_accessible_component_init),
4384         (vte_terminal_accessible_do_action),
4385         (vte_terminal_accessible_get_n_actions),
4386         (vte_terminal_accessible_action_get_description),
4387         (vte_terminal_accessible_action_get_name),
4388         (vte_terminal_accessible_action_get_keybinding),
4389         (vte_terminal_accessible_action_set_description),
4390         (vte_terminal_accessible_action_init),
4391         (vte_terminal_accessible_get_type):
4392                 Remove grab_focus and defer to the parent's implementation.
4393                 Add an AtkAction iface.
4394
4395 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4396
4397         Bug 156161 – AccessibleText_getTextAtOffset returns wrong values in gnome-terminal
4398
4399         The code for ATK_TEXT_BOUNDARY_WORD_START and
4400         ATK_TEXT_BOUNDARY_WORD_END is the same.
4401
4402         Patch by <padraig.obriain@sun.com>
4403
4404         * src/vteaccess.c: (vte_terminal_accessible_get_text_somewhere):
4405                 Actually provide an implementation for
4406                 ATK_TEXT_BOUNDARY_WORD_END.
4407
4408 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4409
4410         Bug 399137 – UTF-8 problem in VteAccess
4411
4412         * src/vteaccess.c: (emit_text_changed_insert),
4413         (emit_text_changed_delete):
4414                 use g_utf8_pointer_to_offset() instead of open coding
4415         (vte_terminal_accessible_update_private_data_if_needed):
4416                 add the number of UTF-8 characters to the debug output.
4417         (vte_terminal_accessible_text_modified):
4418                 iterate backwards over the UTF-8 string using
4419                 g_utf8_prev_char() and convert the caret into a byte offset
4420                 before it as such.
4421
4422 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4423
4424         Bug 123591 – vte_terminal_fork_command succeeds even when it does not
4425
4426         * python/vte.defs:
4427         * python/vte.override:
4428         * src/reaper.c: (vte_reaper_child_watch_cb):
4429         * src/vte-private.h:
4430         * src/vte.c: (vte_terminal_catch_child_exited),
4431         (_vte_terminal_fork_basic), (vte_terminal_forkpty):
4432         * src/vte.h:
4433         * src/vteapp.c:
4434                 s/pid_t/GPid/ portable variant, no API/ABI implications
4435         * src/pty.c: (vte_pty_child_setup), (_vte_pty_run_on_pty),
4436         (_vte_pty_fork_on_pty_name), (_vte_pty_fork_on_pty_fd),
4437         (_vte_pty_open_unix98), (_vte_pty_pipe_open), (n_read), (n_write),
4438         (_vte_pty_start_helper), (_vte_pty_open_with_helper),
4439         (_vte_pty_open), (main):
4440                 Replace custom fork() and pipe based syncrohonisation scheme
4441                 with g_spawn_async_with_pipes() as it actually handles all
4442                 failure modes correctly, and gives us overtures of portability.
4443                 
4444
4445 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4446
4447         Hack'n'slash my way through doing a bit of weeding.
4448
4449         Fixed:
4450         - Bug 345514 – -no-undefined doesn't work with latest libtool
4451         - Bug 162003 – vte configure.in X checking can fail
4452                      – though this may cause other regressions!
4453         - Bug 314669 – Please specialize AC_PATH_XTRA
4454
4455         * configure.in:
4456                 Export LIBTOOL_EXPORT_OPTIONS for -no-undefined on windos.
4457                 Add to rather than override X_CFLAGS, X_LIBS
4458                 AC_PATH_XTRA - Find X11 using XFlush() rather than XtMalloc().
4459                 Print configuration details.
4460         * src/Makefile.am:
4461                 Conditional compilation of backends.
4462
4463 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4464
4465         Bug 389538 – crash in Terminal: nothing
4466
4467         * src/vteaccess.c: (vte_terminal_accessible_get_text):
4468                 Guard against negative length strings.
4469
4470 2007-01-22  Chris Wilson <chris@chris-wilson.co.uk>
4471
4472         Bug 161479 – Scroll wheel generates Release events
4473
4474          vte sends release events on scroll but xterm doesn't which breaks
4475          mc among others.
4476
4477          Patch by Benedikt Meurer.
4478
4479         * src/vte.c: (vte_terminal_scroll):
4480                 Remove the offending release event.
4481
4482 2007-01-20  Chris Wilson <chris@chris-wilson.co.uk>
4483
4484         <kmaraas> ickle: sparse complains about dubious 1 bit bitfields
4485                 if you use gboolean instead of guint
4486         <kmaraas> so s/gboolean/guint at line 166 and 174
4487         <mariano> unless that changes the API, of course...
4488         <kmaraas> it doesn't
4489         <mariano> gboolean a:1 is not very correct anyways
4490         <kmaraas> ickle: we've done the same change in other modules
4491         <ickle> if I do it quick, behdad might not even notice ;)
4492
4493         * src/vte.h:
4494                 Convert signed single bit field to unsigned. The code
4495                 was setting it to 1 anyhow (and not -1 as the type indicated).
4496
4497 2007-01-20  Chris Wilson <chris@chris-wilson.co.uk>
4498
4499         Bug 398602 – Build Failure
4500
4501         * src/vte.c: (vte_terminal_expose):
4502                 Fixup typo. [Grrr. Must get git-svn back into sync]
4503
4504 2006-11-19 Rich Burridge <rich.burridge@sun.com>
4505
4506         * src/vteaccess.c:
4507         Fixed bug #397724 - Orca incorrect echo's certain input in 
4508         gnome-terminal when key echo is set to off (on Ubuntu Feisty).
4509
4510 2007-01-20  Chris Wilson <chris@chris-wilson.co.uk>
4511         
4512         * src/vte.c: (vte_terminal_expose):
4513                 Also if the entire terminal is invalidated,
4514                 do not add more GTK+ exposes to it.
4515
4516 2007-01-20  Chris Wilson <chris@chris-wilson.co.uk>
4517
4518         Track when we have invalidated the entire terminal and skip adding
4519         new regions when possible.
4520
4521         * src/vte-private.h:
4522         * src/vte.c: (update_regions), (_vte_invalidate_cells),
4523         (_vte_invalidate_all), (vte_terminal_size_allocate),
4524         (reset_update_regions):
4525
4526 2007-01-20  Chris Wilson <chris@chris-wilson.co.uk>
4527
4528         Bug 398244 – Gnome-terminal opens a huge sized window
4529
4530         * src/vte.c: (vte_terminal_ensure_font),
4531         (vte_terminal_set_font_full), (vte_terminal_size_request),
4532         (vte_terminal_realize), (vte_terminal_get_char_width),
4533         (vte_terminal_get_char_height), (vte_terminal_get_char_descent),
4534         (vte_terminal_get_char_ascent):
4535                 Ensure the font metrics are calculated before use.
4536
4537 2007-01-19  Chris Wilson <chris@chris-wilson.co.uk>
4538
4539         * src/vte.c: (vte_terminal_process_incoming):
4540                 Do not invalidate the old cursor position if it was not
4541                 visible.
4542
4543 2007-01-19  Chris Wilson <chris@chris-wilson.co.uk>
4544
4545         * src/vte.c: (process_timeout):
4546                 Make sure ->process_timeout is set to VTE_INVALID_SOURCE on
4547                 all paths that remove the timeout.
4548
4549 2007-01-19  Chris Wilson  <chris@chris-wilson.co.uk>
4550
4551         Add <> to mark boundaries of process_timeout().
4552
4553         * src/vte.c: (vte_terminal_class_init), (process_timeout):