From: "Saulius Menkevičius" <saulius.menkevicius@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: alan@idiocy.org, emacs-devel@gnu.org, kaushal.modi@gmail.com
Subject: Re: extracting a zip archive via elisp (with no external executables)
Date: Sun, 9 Jul 2017 23:16:40 +0300 [thread overview]
Message-ID: <18CC88F7-DD26-43C0-A137-039F5DDF422B@gmail.com> (raw)
In-Reply-To: <8360f1jrtl.fsf@gnu.org>
> Am 09.07.2017 um 23:09 schrieb Eli Zaretskii <eliz@gnu.org>:
>
>> From: Saulius Menkevičius <saulius.menkevicius@gmail.com>
>> Date: Sun, 9 Jul 2017 22:49:50 +0300
>> Cc: kaushal.modi@gmail.com,
>> alan@idiocy.org,
>> emacs-devel@gnu.org
>>
>>> (w32-shell-execute "open" "FILENAME.zip")
>>> or
>>> (w32-shell-execute "explore" "FILENAME.zip")
>>>
>>> (replace FILENAME.zip with the actual file name). This will open the
>>> Windows Explorer showing the contents of the zip archive, and you
>>> should tell your users to click "File->Extract all" to extract the
>>> files into the directory of their choosing.
>>>
>>>> Instructing the user to install 7-zip or something else manually kind of
>>>> invalidates the purpose of automatic installation.
>>>
>>> Please never suggest to install 7z, it's not Free Software on Windows
>>> (and on Unix it's less capable to make it Free Software). If someone
>>> needs 7z capabilities, the best Free Software alternative is bsdtar
>>> from the libarchive project.
>>
>> My questions is still, is it possible to avoid involving user in this procedure?
>
> But the user is already involved -- they started the installation to
> begin with, didn't they? So why do you want so hard to avoid them
> clicking one more button?
But then they probably need to specify target directory or do other things with
the UI that pops out. And they leave emacs (even if for a moment). Ideally I
would want to make this procedure slick and low profile… Which it is on
LInux/macOS..
>
>> Or do I need to roll out my own zip parser + extractor in elisp to do so :(
>> Which is probably slightly complicated thing to do.. Compared to what I
>> am trying to achieve.
>
> Maybe somebody knows how to tell the Explorer to extract the files
> without user interaction. I don't.
I was looking for this a bit too, and yeah, people propose the same thing,
i.e. invoke „rundll32 zipfldr.dll,RouteTheCall file.zip“ but I have not found yet
any exports that do extract the file automatically..
Thanks for your thoughts! I think I will come to some kind of solution
eventually. Hopefully this will avoid writing a homemade zip file parser.
-BR,
Saulius
next prev parent reply other threads:[~2017-07-09 20:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-09 12:26 extracting a zip archive via elisp (with no external executables) Saulius Menkevičius
2017-07-09 18:51 ` Alan Third
2017-07-09 18:58 ` Saulius Menkevičius
2017-07-09 19:15 ` Kaushal Modi
2017-07-09 19:26 ` Saulius Menkevičius
2017-07-09 19:45 ` Eli Zaretskii
2017-07-09 19:49 ` Saulius Menkevičius
2017-07-09 20:09 ` Eli Zaretskii
2017-07-09 20:16 ` Saulius Menkevičius [this message]
2017-07-10 2:26 ` Eli Zaretskii
2017-07-10 7:25 ` Fabrice Popineau
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=18CC88F7-DD26-43C0-A137-039F5DDF422B@gmail.com \
--to=saulius.menkevicius@gmail.com \
--cc=alan@idiocy.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=kaushal.modi@gmail.com \
/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.