From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: How to create a derived encoding? Date: Tue, 12 Oct 2004 17:27:42 +0200 Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1097594908 16430 80.91.229.6 (12 Oct 2004 15:28:28 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 12 Oct 2004 15:28:28 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 12 17:28:16 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CHOZT-0004lg-00 for ; Tue, 12 Oct 2004 17:28:16 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CHOgT-0001NU-Dq for ged-emacs-devel@m.gmane.org; Tue, 12 Oct 2004 11:35:29 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CHOgJ-0001NH-Jj for emacs-devel@gnu.org; Tue, 12 Oct 2004 11:35:19 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CHOgI-0001Mr-Lq for emacs-devel@gnu.org; Tue, 12 Oct 2004 11:35:18 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CHOgI-0001Mo-Fw for emacs-devel@gnu.org; Tue, 12 Oct 2004 11:35:18 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CHOYy-00085D-Uu for emacs-devel@gnu.org; Tue, 12 Oct 2004 11:27:45 -0400 Original-Received: from localhost ([127.0.0.1] helo=lola.goethe.zz) by fencepost.gnu.org with esmtp (Exim 4.34) id 1CHOYx-00075j-WB; Tue, 12 Oct 2004 11:27:44 -0400 Original-To: Stefan Monnier In-Reply-To: (Stefan Monnier's message of "Tue, 12 Oct 2004 11:09:11 -0400") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:28309 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:28309 Stefan Monnier writes: >> So if there was a tolerably working way to derive a special encoding >> (which will be used as a process output encoding) that reconverts >> control sequences like the above before composing unicode characters >> from the resulting utf-8 stream, this would appear to be by far the >> fastest and convenient way to go about this problem. > > I'm not sure what you've tried and what are the constraints under which > you're coding, but I'd have assumed that you can do: > > 1 - assume the raw TeX output with its funny quoted bytes is in the > current temp buffer. The buffer is in unibyte mode. No good. We are talking about process output that is accumulating in a buffer. We can't just let everything trickle in in raw mode since the buffer may be interactive and so we need to have more or less accurate stuff at each point of time. > 2 - do a search&replace of ^^NN to the corresponding byte. Dead slow if we have to do this with search-and-replace in the filter routine of the process. > 3 - call decode-coding-region with the appropriate coding system. > 4 - set the buffer to multibyte. The buffer comes into being incrementally. > If the step number 2 is too slow, you can most likely implement a > CCL program that does it faster. Well, that was what I was asking about. And how to let this CCL program run prefixed to the normal process output decoding program. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum