From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/16693 Path: main.gmane.org!not-for-mail From: Hrvoje Niksic Newsgroups: gmane.emacs.gnus.general Subject: Re: decode-coding-region Date: 04 Sep 1998 14:09:20 +0200 Sender: owner-ding@hpc.uh.edu Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no X-Trace: main.gmane.org 1035155525 29361 80.91.224.250 (20 Oct 2002 23:12:05 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 23:12:05 +0000 (UTC) Return-Path: Original-Received: from gizmo.hpc.uh.edu (gizmo.hpc.uh.edu [129.7.102.31]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id IAA13492 for ; Fri, 4 Sep 1998 08:11:28 -0400 (EDT) Original-Received: from sina.hpc.uh.edu (sina.hpc.uh.edu [129.7.3.5]) by gizmo.hpc.uh.edu (8.7.6/8.7.3) with ESMTP id GAF10154; Fri, 4 Sep 1998 06:42:30 -0500 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Fri, 04 Sep 1998 07:09:47 -0500 (CDT) Original-Received: from sclp3.sclp.com (root@sclp3.sclp.com [209.195.19.139]) by sina.hpc.uh.edu (8.7.3/8.7.3) with ESMTP id HAA15934 for ; Fri, 4 Sep 1998 07:09:38 -0500 (CDT) Original-Received: from jagor.srce.hr (hniksic@jagor.srce.hr [161.53.2.130]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id IAA13485 for ; Fri, 4 Sep 1998 08:09:28 -0400 (EDT) Original-Received: (from hniksic@localhost) by jagor.srce.hr (8.9.0/8.9.0) id OAA07710; Fri, 4 Sep 1998 14:09:20 +0200 (MET DST) Original-To: ding@gnus.org X-Attribution: Hrvoje X-Face: Mie8:rOV<\c/~z{s.X4A{!?vY7{drJ([U]0O=W/xDi&N7XG KV^$k0m3Oe/)'e%3=$PCR&3ITUXH,cK>]bci&Ff%x_>1`T(+M2Gg/fgndU%k*ft [(7._6e0n-V%|%'[c|q:;}td$#INd+;?!-V=c8Pqf}3J In-Reply-To: Lars Magne Ingebrigtsen's message of "03 Sep 1998 22:44:31 +0200" Original-Lines: 46 X-Mailer: Pterodactyl Gnus v0.13/XEmacs 21.0 - "Danish Landrace" Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:16693 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:16693 Lars Magne Ingebrigtsen writes: > Hrvoje Niksic writes: > > > FYI, decode-coding-region and encode-coding-region also thrash the > > extents under XEmacs. If you need a workaround for that, please let > > me know. > > It would be nice to preserve the extents. You might want to try something like this until we fix the primitives: (defmacro gnus-xmas-preserve-extents (&rest body) (let ((extents (gensym "extents-"))) `(let (,extents) (map-extents (lambda (extent ignored) (push (list extent (extent-start-position extent) (extent-end-position extent)) ,extents) (detach-extent extent) nil) buffer start end) ,@body (dolist (extent ,extents) (set-extent-endpoints (first extent) (second extent) (third extent)))))) (defun gnus-xmas-decode-coding-region (start end coding-system &optional buffer) "Like decode-coding-region, but preserves extents." (gnus-xmas-preserve-extents (decode-coding-region start end coding-system buffer))) (defun gnus-xmas-encode-coding-region (start end coding-system &optional buffer) "Like encode-coding-region, but preserves extents." (gnus-xmas-preserve-extents (encode-coding-region start end coding-system buffer))) However, this will fail to work correctly when the decoding changes the number of characters, because the extent indices will not be preserved correctly. -- Hrvoje Niksic | Student at FER Zagreb, Croatia --------------------------------+-------------------------------- Thou Who might be our Father Who perhaps may be in Heaven... -- Roger Zelazny