Entering and removing combining characters messes up terminal display

Bug #139457 reported by Adam Buchbinder
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNOME Terminal
Invalid
Low
Gnome Virtual Terminal Emulator
Fix Released
Medium
vte (Ubuntu)
Fix Released
Low
Ubuntu Desktop Bugs

Bug Description

Binary package hint: gnome-terminal

Open a gnome-terminal instance using en_US.UTF-8 encoding. Enter U+05D1 (you can do this by holding CTRL-SHIFT and typing the code), a Hebrew letter bet. Hit backspace; it will disappear. Now enter U+05D1 U+05BC (Hebrew letter bet with combining dagesh). The characters will not combine correctly; there will appear to be a bet followed by a center-dot. Hit backspace; the center-dot will vanish. Hit backspace again; the bet will not vanish. Hitting enter reveals that the prompt was empty; the character displayed was not actually entered.

Each combining dagesh appears to advance the cursor by one space which cannot be backed up past, even though the shell appears to be unable to see the stuck character.

-- System Information:
Debian Release: testing/unstable
  APT prefers dapper-updates
  APT policy: (500, 'dapper-updates'), (500, 'dapper-security'), (500, 'dapper')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-28-386
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages gnome-terminal depends on:
ii gnome-control-center 1:2.14.2-0ubuntu1 utilities to configure the GNOME d
ii gnome-terminal-data 2.14.2-0ubuntu1 Data files for the GNOME terminal
ii libatk1.0-0 1.11.4-0ubuntu1 The ATK accessibility toolkit
ii libbonobo2-0 2.14.0-0ubuntu2 Bonobo CORBA interfaces library
ii libc6 2.3.6-0ubuntu20.5 GNU C Library: Shared libraries an
ii libgconf2-4 2.14.0-1ubuntu2 GNOME configuration database syste
ii libglade2-0 1:2.5.1-2ubuntu2 library to load .glade files at ru
ii libglib2.0-0 2.10.3-0ubuntu1 The GLib library of C routines
ii libgnome2-0 2.14.1-0ubuntu2 The GNOME 2 library - runtime file
ii libgnomeui-0 2.14.1-0ubuntu3 The GNOME 2 libraries (User Interf
ii libgnomevfs2-0 2.14.2-0ubuntu1 GNOME virtual file-system (runtime
ii libgtk2.0-0 2.8.20-0ubuntu1.1 The GTK+ graphical user interface
ii liblaunchpad-integrat 0.1.3 library for launchpad integration
ii liborbit2 1:2.14.0-0ubuntu1 libraries for ORBit2 - a CORBA ORB
ii libpango1.0-0 1.12.3-0ubuntu3 Layout and rendering of internatio
ii libpopt0 1.7-5 lib for parsing cmdline parameters
ii libstartup-notificati 0.8-1ubuntu1 library for program launch feedbac
ii libvte4 1:0.12.2-0ubuntu1 Terminal emulator widget for GTK+
ii libx11-6 2:1.0.0-0ubuntu9.1 X11 client-side library
ii libxrender1 1:0.9.0.2-0ubuntu2 X Rendering Extension client libra
ii scrollkeeper 0.3.14-11ubuntu6 A free electronic cataloging syste

Versions of packages gnome-terminal recommends:
ii yelp 2.14.3-0ubuntu1 Help browser for GNOME 2

-- no debconf information

Changed in gnome-terminal:
assignee: nobody → desktop-bugs
importance: Undecided → Low
status: New → Triaged
Changed in gnome-terminal:
status: Unknown → New
Revision history for this message
Rimas Kudelis (rq) wrote :

This actually happens with all combining characters, not just the dagesh.
For example, if in terminal you enter a letter "s" followed by U+0300 (COMBINING GRAVE ACCENT) and U+0327 (COMBINING CEDILLA), you see these three chars in a row, like this:
s`¸
. If you now press Enter, you'll see a 'command not found' statement. Now if you just press backspace ONCE, the view become like this:
s`
, and if you press Enter now, bash doesn't complain. Furthermore, you cannot erase these two characters. However, to make things just more funny, if you start continuously pressing up and down arrows (previous/next cmd), you'll see the number of s` peers growing by one after each press of the arrow down button. However, no matter how many of them are displayed, pressing Enter is just as effective as pressing it with a blank command.

It seems to me like bash now actually knows what a combining character is, and upon pressing backspace erases all combining characters and the one they are combined with, however, gnome-terminal doesn't expect that.

Revision history for this message
Adam Buchbinder (adam-buchbinder) wrote :

This is still present in Gutsy (gnome-terminal 2.18.2-0ubuntu1).

Revision history for this message
Adam Buchbinder (adam-buchbinder) wrote :

This is still present in Hardy (gnome-terminal 2.22.1-0ubuntu2).

Revision history for this message
Pedro Villavicencio (pedro) wrote :

May someone confirm the same with Intrepid? the gnome-terminal had a lot of code rewrite during the 2.23 cycle, thanks.

Changed in gnome-terminal:
status: New → Invalid
Revision history for this message
Adam Buchbinder (adam-buchbinder) wrote :

Pointing to the original GNOME bug; quoting Behdad Esfahbod in late August, "Nothing has been done recently, no. And not very likely to happen anytime soon (by that I mean the next year). Fixing this requires extensive changes to the internals of vte." So it's not fixed in Intrepid. (I can't test it from where I am at present.)

Changed in gnome-terminal:
status: Invalid → Unknown
Changed in gnome-terminal:
status: Unknown → Confirmed
Revision history for this message
Adam Buchbinder (adam-buchbinder) wrote :

I can actually confirm this on Intrepid now, with gnome-terminal 2.24.1.1-0ubuntu1 and libvte9 1:0.17.4-0ubuntu1.

Changed in gnome-terminal:
status: Confirmed → Unknown
Changed in gnome-terminal:
status: Unknown → Invalid
Changed in vte:
status: Unknown → Confirmed
Changed in vte:
status: Confirmed → Fix Released
Revision history for this message
Pedro Villavicencio (pedro) wrote :

fixed upstream, thanks for reporting.

Changed in vte:
status: Triaged → Fix Committed
Revision history for this message
Adam Buchbinder (adam-buchbinder) wrote :

I can no longer reproduce this bug; the dagesh combines properly, and is erased when I hit backspace. I'm running Jaunty with the following package versions:

ii gnome-terminal 2.26.0-0ubuntu2 The GNOME 2 terminal emulator application
ii libvte9 1:0.20.0-0ubuntu2 Terminal emulator widget for GTK+ 2.0 - runtime files

Changed in vte (Ubuntu):
status: Fix Committed → Fix Released
Changed in vte:
importance: Unknown → Medium
Changed in gnome-terminal:
importance: Unknown → Low
status: Invalid → Unknown
Changed in gnome-terminal:
status: Unknown → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.