all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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


  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.