[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5553: 23.1.92; Archives with wrong coding system
From: |
Juri Linkov |
Subject: |
bug#5553: 23.1.92; Archives with wrong coding system |
Date: |
Wed, 10 Feb 2010 00:19:35 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.92 (x86_64-pc-linux-gnu) |
> When `archive-mode' is enabled for an archive file with an unknown file
> extension, using the rule ("\\(PK00\\)?[P]K\003\004" . archive-mode)
> from `magic-fallback-mode-alist', visiting such a file fails with the
> args-out-of-range error.
>
> The following patch should fix this bug using the same regexp as in
> `magic-fallback-mode-alist' and the same coding system as for archive
> file extensions in `auto-coding-alist':
The same problem exists also for images. `magic-fallback-mode-alist' contains:
(image-type-auto-detected-p . image-mode)
but visiting an image file with a non-standard file extension
(i.e. not in `auto-mode-alist') doesn't display it as an image.
The following patch fixes this problem, but it seems duplicating
image regexps from `image-type-header-regexps' is too ugly?
=== modified file 'lisp/international/mule.el'
--- lisp/international/mule.el 2010-02-09 05:00:56 +0000
+++ lisp/international/mule.el 2010-02-09 22:16:28 +0000
@@ -1655,7 +1655,14 @@ (defcustom auto-coding-regexp-alist
("\\`\xEF\xBB\xBF" . utf-8-with-signature)
("\\`;ELC\024\0\0\0" . emacs-mule) ; Emacs 20-compiled
;; For `archive-mode' in `magic-fallback-mode-alist':
- ("\\(PK00\\)?[P]K\003\004" . no-conversion-multibyte)))
+ ("\\(PK00\\)?[P]K\003\004" . no-conversion-multibyte)
+ ;; For `image-mode' in `magic-fallback-mode-alist'
+ ;; (regexps duplicated from `image-type-header-regexps'):
+ ("\\`GIF8[79]a" . no-conversion) ; gif
+ ("\\`\x89PNG\r\n\x1a\n" . no-conversion) ; png
+ ("\\`\\(?:MM\0\\*\\|II\\*\0\\)" . no-conversion) ; tiff
+ ("\\`\xff\xd8" . no-conversion) ; jpeg
+ ))
"Alist of patterns vs corresponding coding systems.
Each element looks like (REGEXP . CODING-SYSTEM).
A file whose first bytes match REGEXP is decoded by CODING-SYSTEM on reading.
--
Juri Linkov
http://www.jurta.org/emacs/
bug#5553: 23.1.92; Archives with wrong coding system,
Juri Linkov <=