From: "Andreas Röhler" <andreas.roehler@easy-emacs.de>
To: help-gnu-emacs@gnu.org
Subject: Re: odt file instant open
Date: Wed, 28 Jul 2010 16:32:59 +0200 [thread overview]
Message-ID: <4C503F9B.9020103@easy-emacs.de> (raw)
In-Reply-To: <i2pa82$ej4$1@dough.gmane.org>
Am 28.07.2010 15:10, schrieb Kevin Rodgers:
> Andreas Röhler wrote:
>> Am 27.07.2010 18:58, schrieb Eli Zaretskii:
>>>> Date: Tue, 27 Jul 2010 09:30:32 +0200
>>>> From: Andreas Röhler<andreas.roehler@easy-emacs.de>
>>>>
>>>> Am 26.07.2010 18:29, schrieb Olwe Melwasul:
>>>>> I'm trying to grok the open document format, so I took the first wild
>>>>> and crazy step of simply trying to open it in Emacs (23.2.1) -- and it
>>>>> opened up to a "Zip-Archive Narrow" view of all the files contained
>>>>> therein Poking around on the Internet, I found that Emacs
>>>>> automatically unpacks a .odt file, which is nothing more than a zip
>>>>> file. My question is this: How is Emacs doing this?
>>>>
>>>> by calling a shell-command resp. to the ending found.
>>>
>>> No. For most archive types, arc-mode.el (and tar-mode.el) can list
>>> the contents directly, just by reading the archive file itself.
>>> Extracting the individual files in the archive sometimes needs to run
>>> an external program.
>>
>> Hi,
>>
>> think you mistook the question.
>> As the OP wrote, he just opened the file without any precaution. The
>> surprise was: it worked.
>>
>> Ignoring so for how opening was done in detail --via find-file or from
>> dired probably--
>
> I think you misread the question, that is exactly what the OP asked about:
>
> How is Emacs doing this? What code is
> running (what .el is invoked) to make this happen?
>
>> arc-mode seems not involved, but auto-compression-mode from
>> jka-cmpr-hook.el etc.
>
> This entry from auto-mode-alist suggests otherwise:
>
> ("\\.\\(sx[dmicw]\\|od[fgpst]\\|oxt\\)\\'" . archive-mode)
>
You are right here, Eli too. So the mistake is mine in this point.
.odt is handled differently from other archives as
("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr)
("\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr)
("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr)
where I poked around some weeks ago...
Thanks
Andreas
>> BTW arc-mode too recurs to shell-commands AFAIS,
>> (apply 'call-process
>> in archive-*-extract for example
>
> Good point, which Eli made above as well. Here's what arc-mode.el says:
>
> ;; This code does not decode any files internally, although it does
> ;; understand the directory level of the archives.
>
next prev parent reply other threads:[~2010-07-28 14:32 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-26 16:29 odt file instant open Olwe Melwasul
2010-07-27 7:30 ` Andreas Röhler
2010-07-27 10:33 ` Thien-Thi Nguyen
2010-07-27 16:58 ` Eli Zaretskii
2010-07-27 17:34 ` Andreas Röhler
2010-07-28 13:10 ` Kevin Rodgers
2010-07-28 14:32 ` Andreas Röhler [this message]
[not found] ` <mailman.4.1280327317.17798.help-gnu-emacs@gnu.org>
2010-07-28 23:08 ` Stefan Monnier
[not found] ` <mailman.11.1280251781.6519.help-gnu-emacs@gnu.org>
2010-07-27 20:53 ` Stefan Monnier
2010-07-27 16:55 ` Eli Zaretskii
2010-09-25 3:03 ` Jason White
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C503F9B.9020103@easy-emacs.de \
--to=andreas.roehler@easy-emacs.de \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.