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