tags 344260 patch
thanks

In my last message I wrote:

I am not so certain.  Tar-mode works fine with coding-system utf-8, also
for gzipped tarballs.  What might be the culprit is the message

gzip: stdin: not in gzip format

that appears (hidden, due to narrowing) in the *.deb-DATA buffer.  This may
indicate that Emacs sends the data.tar.gz in the .deb file with
coding-conversion to gzip, which will fail then.

Now I inspected the issue closer, and the problem seems to be the
following: Although coding-system-for-read is bound to 'no-conversion in
the function deb-view-process, that is not sufficient, since the *.deb-DATA
buffer is created with

(call-process "ar" nil '(t t) nil "-p" debfile "data.tar.gz") and
(call-process-region (point-min) (point-max) "gzip" t t nil "-cd"))

and these functions use default-process-coding-system rather than
coding-system-for-read.  The former is set to '(mule-utf-8 . mule-utf-8) in
my setup, and that caused the problem.  So the solution is to bind
default-process-coding-system as well in deb-view-process, as in the
following patch:

---------------------------<-8------------------------------
diff -u deb-view.el~ deb-view.el
--- deb-view.el~        2005-10-25 01:02:32.000000000 +0200
+++ deb-view.el 2005-12-21 19:17:25.000000000 +0100
@@ -343,6 +343,7 @@
                              (get-buffer-create data-buffer-name)))
          (return-buffer (current-buffer))
         (coding-system-for-read 'no-conversion)
+        (default-process-coding-system '(no-conversion . no-conversion))
         file-buffer
          new-archive-format)
     (message "deb-view processing deb file %s..." deb-view-buffer-name)
---------------------------<-8------------------------------

That seems to solve the problem, I have tested it with both emacs21 and
emacs-snapshot.

Best regards,

Sven







--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to