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