all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Kenichi Handa <handa@m17n.org>
Cc: emacs-devel@gnu.org
Subject: Re: Emacs-diffs Digest, Vol 2, Issue 28
Date: Mon, 20 Jan 2003 10:52:31 +0900 (JST)	[thread overview]
Message-ID: <200301200152.KAA16258@etlken.m17n.org> (raw)
In-Reply-To: <E18Zh9W-00012L-00@fencepost.gnu.org> (message from Richard Stallman on Fri, 17 Jan 2003 19:48:02 -0500)

In article <E18Zh9W-00012L-00@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes:

>     ! The string argument is normally a multibyte string, except:
>     ! - if the process' input coding system is no-conversion or raw-text,
>     !   it is a unibyte string (the non-converted input), or else

> Is this really the right way for it to work?
> Should the choice of unibyte or multibyte string
> be tied in this way to the choice of coding system?

This facility was added upon someone's request or to fix
some problem long ago.

1998-12-21  Kenichi Handa  <handa@etl.go.jp>
[...]
	* process.c (read_process_output): Decide the multibyteness of
	string given to a process filter by a coding system used for
	decoding the process output.

But, I don't remeber the detail now.

> If you want multibyte strings "without decoding", would emacs-mule
> give you that?

It depends on what kind of multibyte string we want.

If we want the same result as reading a file containing the
same byte sequence by emacs-mule, emacs-mule is fine.   This
is the same as reading by no-converson, and insert the given
unibyte string by:
  (insert (string-as-multibyte UNIBYTE-STRING)).

If we want a multibyte sequence that is the same as the
result of converting each of the original bytes by
unibyte-char-to-multibyte, we must read by no-conversion,
and insert the given unibyte string just by `insert':
  (insert UNIBYTE-STRING)
This is the same as doing:
  (insert (string-make-multibyte UNIBYTE-STRING))

If we want a multibyte sequence but each character contained
is one of ascii, eight-bit-control, and eight-bit-graphic
corresponding to the original bytes, we must read by
no-conversion, and insert characters one by one as below:
  (apply 'insert (string-to-list UNIBYTE-STRING))
Perhaps, we must have a function, say, string-to-multibyte,
and make this enable.
  (insert (string-to-multibyte UNIBYTE-STRING))

---
Ken'ichi HANDA
handa@m17n.org

  parent reply	other threads:[~2003-01-20  1:52 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E18ZDQC-0003mt-02@monty-python.gnu.org>
2003-01-18  0:48 ` Emacs-diffs Digest, Vol 2, Issue 28 Richard Stallman
2003-01-18 12:35   ` Kim F. Storm
2003-01-18 12:40   ` Eli Zaretskii
2003-01-20  0:49     ` Richard Stallman
2003-01-20  2:29     ` unibyte<->multibyte conversion [Re: Emacs-diffs Digest, Vol 2, Issue 28] Kenichi Handa
2003-01-20 18:48       ` Eli Zaretskii
2003-01-20 20:55         ` Stefan Monnier
2003-01-21  0:20           ` Kenichi Handa
2003-01-21  0:54             ` Stefan Monnier
2003-01-21  5:57             ` Eli Zaretskii
2003-01-22  9:59           ` Richard Stallman
2003-01-22 14:12             ` Stefan Monnier
2003-01-22 18:09               ` Eli Zaretskii
2003-01-23 11:38                 ` Richard Stallman
2003-01-23 16:18                   ` Stefan Monnier
2003-01-24 17:16                     ` Richard Stallman
2003-01-23 17:48                   ` Eli Zaretskii
2003-01-24  5:43               ` Richard Stallman
2003-01-26  1:30                 ` Stefan Monnier
2003-01-27  2:31                   ` Richard Stallman
2003-01-27  7:38                   ` Kenichi Handa
2003-01-27 14:12                     ` Stefan Monnier
2003-01-29 11:23                       ` Kenichi Handa
2003-01-21  0:10         ` Kenichi Handa
2003-01-21  0:45           ` Stefan Monnier
2003-01-21  6:01             ` Eli Zaretskii
2003-01-21  6:43               ` Kenichi Handa
2003-01-21  8:04             ` Kenichi Handa
2003-01-21 15:02               ` Miles Bader
2003-01-21 17:44               ` Stefan Monnier
2003-01-22 10:00               ` Richard Stallman
2003-01-21  5:56           ` Eli Zaretskii
2003-01-21  6:38             ` Kenichi Handa
2003-01-22 10:00           ` Richard Stallman
2003-01-22 14:12             ` Stefan Monnier
2003-01-20  1:52   ` Kenichi Handa [this message]
2003-01-21 18:18     ` Emacs-diffs Digest, Vol 2, Issue 28 Richard Stallman
2003-01-28  0:32       ` Kenichi Handa
2003-01-28 12:35         ` Kim F. Storm
2003-02-10  8:15           ` set-process-filter-multibyte and etc Kenichi Handa
2003-02-10 14:57             ` Kim F. Storm
2003-02-11  0:15               ` Kenichi Handa
2003-02-20  1:27             ` Tak Ota
2003-02-20  1:56               ` Kenichi Handa
2003-02-20  2:44                 ` Tak Ota
2003-03-03 18:59         ` Emacs-diffs Digest, Vol 2, Issue 28 Richard Stallman
2003-01-21 18:18     ` Richard Stallman
2003-01-27 12:20       ` Kenichi Handa
2003-01-29  0:05         ` Richard Stallman

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=200301200152.KAA16258@etlken.m17n.org \
    --to=handa@m17n.org \
    --cc=emacs-devel@gnu.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.