From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: [works on the comman line] (was: [a directory is also created]) Date: Mon, 21 Feb 2022 05:18:00 +0100 Message-ID: <87fsoczwcn.fsf@zoho.eu> References: <87pmnhlwnr.fsf@mat.ucm.es> <8735kdll43.fsf_-_@mat.ucm.es> <87wnhpk62t.fsf_-_@mat.ucm.es> Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23613"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:x6gV9TqkOkNlJ6ChHWsxT4Q8vdw= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Feb 21 05:18:41 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nM09o-0005xC-1G for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 21 Feb 2022 05:18:40 +0100 Original-Received: from localhost ([::1]:52094 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nM09m-0004vG-K5 for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 20 Feb 2022 23:18:38 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:45934) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nM09L-0004ut-Se for help-gnu-emacs@gnu.org; Sun, 20 Feb 2022 23:18:11 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:38042) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nM09K-0001Bd-85 for help-gnu-emacs@gnu.org; Sun, 20 Feb 2022 23:18:11 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1nM09I-0005Ho-51 for help-gnu-emacs@gnu.org; Mon, 21 Feb 2022 05:18:08 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:136098 Archived-At: Uwe Brauer and then Jean Louis wrote: > On the command line > zip -9 -j test.zip test.tex > > Works but emacs or dired adds a directory, who is here > the culprit? Actually, both are correct :) It is because of the relative path where you are when you run the command in the shell, OTOH in the Elisp code you give zip the path. See the man file for zip(1): By default, zip will store the full path (relative to the current directory). The option you are looking for is '--junk-path'. > You can do it in single function here: > > (defun rcd-zip-file () > "ZIP single file within Dired." > (interactive) > (let* ((file (car (dired-get-marked-files t))) > (zip-file (concat file ".zip"))) > (when file > (start-process "ZIP" "ZIP" "zip" "-9" zip-file file) > (revert-buffer)))) Yeah, but why have a specific function for a single file, if it is based on files first being marked anyway? If that's the method it is better to have a generic function and if one wants to zip a zingle file, just mark that and nothing else, if you want more, then instead you do that? Try this: (defun dired-zip-files () (interactive) (dolist (f (dired-get-marked-files)) (start-process "zip" nil "zip" "-9" "--junk-path" (concat f ".zip") f) (revert-buffer) )) -- underground experts united https://dataswamp.org/~incal