ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Vlad Harchev <hvv@hippo.ru>
To: sisyphus@linuxteam.iplabs.ru
Subject: [sisyphus] Re: gdk_selection.c:sanitize_ctext is broken in 1.2.9 (fwd)
Date: Wed, 14 Mar 2001 11:18:17 +0400 (SAMT)
Message-ID: <Pine.LNX.4.10.10103141117400.1266-100000@localhost.localdomain> (raw)

 Hi, 

 Наверно надежда есть что это будет исправлено в 1.2.10 (который выйдет часов
через 8).

 Best regards,
  -Vlad

---------- Forwarded message ----------
Date: 13 Mar 2001 16:19:47 -0500
From: Owen Taylor <otaylor@redhat.com>
Cc: Vlad Harchev <hvv@hippo.ru>, Ivan Pascal <pascal@info.tsu.ru>
To: gtk-devel-list@gnome.org
Subject: Re: gdk_selection.c:sanitize_ctext is broken in 1.2.9
User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7


Vlad Harchev <hvv@hippo.ru> writes:

>  Hi,
> 
>  Users say that there are problems with russian strings in window titles under
> XFree-4.0.2 and gtk-1.2.9 (I don't have XF-4.0.2 so I can't describe them) - I
> was told that it's somehow severely corrupted. I guess same problems will
> appear for any other non-latin1 locale.
>  The problem is in newly-introduced sanitize_ctext function. 
> 
>  Here is a hackish patch that fixes the problem for russian (it's not mine),
> but it has (as Aleksey Novodvorsky <aen@logic.ru>, the author of the patch, 
> says) a problem of not filtering out some escape sequences that are
> introduced by some very old XFree servers:
> 
> diff -ur gtk+-1.2.9.orig/gdk/gdkselection.c gtk+-1.2.9/gdk/gdkselection.c
> --- gtk+-1.2.9.orig/gdk/gdkselection.c  Tue Feb 20 19:44:22 2001
> +++ gtk+-1.2.9/gdk/gdkselection.c       Sun Mar  4 15:26:05 2001
> @@ -222,7 +222,9 @@
>        else if (c == '\n' || c == '\t' || c == 27 /* ESC */ ||
>                (c >= 32 && c <= 127) || /* GL */
>                c == 155 /* CONTROL SEQUENCE INTRODUCER */ ||
> -              (c >= 160 && c <= 255)) /* GR */
> +              (c >= 160 && c <= 255) /* GR */ ||
> +              (c >= 128 && c <= 150) /* charset length  */ ||
> +              c == 2 /* end of non-standard encoding sequence */)
>         {
>           result[out_length++] = c;
>         }

OK, looking again at the Xlib code and the CTEXT spec, it appears that
the CTEXT spec was at some point extended to accomodate this (section
6) but the initial section that describes what characters are allowed
was never updated :-(.

Unfortunately, according to the spec, anything is allowed in an
extended segment, including all of C0 and C1, so probably we need to
add explicit recognition of extended segments to sanitize_ctext().

Or, since since sanitize_ctext is only a workaround for buggy Xlib
(like XFree86 3.x, etc), I suppose the patch to add it could just be
backed out.

>  I have been told that complete description of escape sequences supported by
> XFree is only available in russian though. Ivan Pascal <pascal@info.tsu.ru> is
> the author of that documentation, and I hope that he will help to explain how
> to rewrite sanize_ctext in order to be correct. 

I almost think that I need to learn Russian because Ivan has produced
all this great documentation about Xkb and CText and so forth that I
can't read! ;-)

But actually, the code in Xlib appears to correspond pretty well with
the CTEXT spec in the X distribution, and Bruno Haible has even
updated the CTEXT spec a bit recently to make the correspondence
closer.

>  It would be nice if this issue was fixed before 1.2.10 release..

I'll make sure that happens.

Regards,
                                        Owen




             reply	other threads:[~2001-03-14  7:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-14  7:18 Vlad Harchev [this message]
2001-03-14  9:58 ` Vlad Harchev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.10.10103141117400.1266-100000@localhost.localdomain \
    --to=hvv@hippo.ru \
    --cc=sisyphus@linuxteam.iplabs.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git