From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: `write-region' writes different bytes than passed to it? Date: Mon, 11 Feb 2019 17:06:57 -0500 Message-ID: References: <83d0q8136v.fsf@gnu.org> <83wom7knm3.fsf@gnu.org> <83imxql1rd.fsf@gnu.org> <83bm3ikrfg.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="256422"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Feb 11 23:07:21 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gtJjT-0014Xj-6o for geh-help-gnu-emacs@m.gmane.org; Mon, 11 Feb 2019 23:07:19 +0100 Original-Received: from localhost ([127.0.0.1]:57006 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtJjS-0002ZB-5P for geh-help-gnu-emacs@m.gmane.org; Mon, 11 Feb 2019 17:07:18 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:47457) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtJjF-0002Yf-Qo for help-gnu-emacs@gnu.org; Mon, 11 Feb 2019 17:07:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gtJjF-0005SO-4N for help-gnu-emacs@gnu.org; Mon, 11 Feb 2019 17:07:05 -0500 Original-Received: from [195.159.176.226] (port=49702 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gtJjE-0005RA-QQ for help-gnu-emacs@gnu.org; Mon, 11 Feb 2019 17:07:04 -0500 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1gtJjD-0014IA-0a for help-gnu-emacs@gnu.org; Mon, 11 Feb 2019 23:07:03 +0100 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:kwG4u0EGF74XnZf9AergKyJovw0= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:119357 Archived-At: >> > Yes, in a better world, a better deity would be well advised to make >> > raw bytes unnecessary and non-existent. >> I think raw bytes are OK. The problem here is the encoding of a unibyte >> text (i.e. treating the unibyte text as holding chars rather than bytes). > If you have raw bytes inside otherwise legible text, encoding that > text will have to encode the bytes as well. But the "otherwise legible text" is multibyte text, so the semantics of encoding that text is perfectly clear (regardless if it contains raw bytes). What is not clear is the semantics of something like: (encode-coding-string (encode-coding-string STR CODING1) CODING2) > So as soon as you have the former, you need to deal with the latter. In your example, encoding is not applied to unibyte text, only to multibyte text. The raw-bytes there don't cause any trouble (they just do the job they were designed to do). Stefan