emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Usage of standard-display-table in MSDOS


From: Ehud Karni
Subject: Re: Usage of standard-display-table in MSDOS
Date: Tue, 24 Aug 2010 14:13:46 +0300

On Tue, 24 Aug 2010 14:34:37 Stephen J. Turnbull wrote:
>  >
>  >   ;; In multibyte mode, we want unibyte buffers to be displayed
>  >   ;; using the terminal coding system, so that they display
>  >   ;; correctly on the DOS terminal; in unibyte mode we want to see
>  >   ;; all 8-bit characters verbatim.  In both cases, we want the
>  >   ;; entire range of 8-bit characters to arrive at our display code
>  >   ;; verbatim.
>  >   (standard-display-8bit 127 255)
>  >
>  > Is it really working in non-iso-8859-1 environment as
>  > expected?  Note that 128..255 are latin-1 characters after
>  > Emacs 23, not raw-bytes.  So, I think the above call will
>  > make 8-bit bytes in unibyte buffer displayed as latin-1
>  > characters, but as the termial encoding system doesn't
>  > support latin-1 chars in, for instance, greek environment,
>  > just '?' will be displayed.
>
> Hebrew and Cyrillic are other obvious candidates for testing here.
> They seem to have more active participants on emacs-devel.

>From my checks this does not work on text terminals (it really depends
on the LANG env variable). I had this code in Emacs 21.3:

(defun set-standard-display-table ()
    (setq standard-display-table (make-display-table))
    (standard-display-8bit 127 254))

I then set the DOS Hebrew chars (128-144) each to a vector:
    [ 169 <the corresponding UNIX Hebrew char> ]

Then visit a file (literally).

In Emacs 21.3 it works fine with any value of LANG, show the Hebrew
chars as they should, and Hebrew DOS (CP862) chars with a prefix.

In Emacs 23.1 it works only if the LANG is set to a Latin-1 value
(eg en_GB).

I want to see Hebrew (iso-8559-8) characters even when LANG=C, because
setting the LANG to he_IL changes to much other things (for example,
it change the `ls' output, which breaks dired).

The problem as I see it is that the characters it the vectors in the
display table are going further translation and not used "literally".

The use of UTF-8 (which works well on X) is not an option. Many of
the users has text terminals, and most of the data file viewed are
in iso-8859-8 or even Hebrew DOS (CP862).

I recently install some Emacs stuff in an Israeli insurance company
and because of this problem I used 21.3 instead of newer version.

Ehud.


--
 Ehud Karni           Tel: +972-3-7966-561  /"\
 Mivtach - Simon      Fax: +972-3-7976-561  \ /  ASCII Ribbon Campaign
 Insurance agencies   (USA) voice mail and   X   Against   HTML   Mail
 http://www.mvs.co.il  FAX:  1-815-5509341  / \
 GnuPG: 98EA398D <http://www.keyserver.net/>    Better Safe Than Sorry



reply via email to

[Prev in Thread] Current Thread [Next in Thread]