unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Robert Pluim <rpluim@gmail.com>
To: Hongyi Zhao <hongyi.zhao@gmail.com>
Cc: help-gnu-emacs <help-gnu-emacs@gnu.org>
Subject: Re: Delete multiple repositories programmatically from elisp by supplying `y' as the answer to an interactively called function.
Date: Tue, 07 Dec 2021 18:05:40 +0100	[thread overview]
Message-ID: <87sfv4l50b.fsf@gmail.com> (raw)
In-Reply-To: <CAGP6POJnO2bRXgOKOkZHXgrU6NDwYpva4-vvN6Y+r+8F_Hm16A@mail.gmail.com> (Hongyi Zhao's message of "Tue, 7 Dec 2021 21:16:00 +0800")

>>>>> On Tue, 7 Dec 2021 21:16:00 +0800, Hongyi Zhao <hongyi.zhao@gmail.com> said:

    Hongyi> The straight package manager [1] supplies the following interactive
    Hongyi> function, which can be used to delete the unused repositories:
    Hongyi> straight-remove-unused-repos. As we all know, the normal way to call
    Hongyi> this function is `M-x straight-remove-unused-repos RET package-name
    Hongyi> RET`. However, the above method can only delete one repository at a
    Hongyi> time. If I have many unused repositories that I want to clean up now,
    Hongyi> this method is very inefficient.

    Hongyi> In order to achieve a more efficient way, I want to loop over the
    Hongyi> following command programmatically from elisp, and supply `y' as the
    Hongyi> answer repeatedly:

    Hongyi> (call-interactively #'straight-remove-unused-repos)

    Hongyi> But I still can't figure out the code snippet for doing the above
    Hongyi> work. Any hints will be greatly appreciated.

    Hongyi> [1] https://github.com/raxod502/straight.el

That function takes a 'force' argument, so if you manage to supply any
prefix arg at all it will delete all the repos without prompting. One
way to do that is by using `current-prefix-arg':

(let ((current-prefix-arg '(4)))
  (call-interactively #'straight-remove-unused-repos))

Robert
-- 



  reply	other threads:[~2021-12-07 17:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-07 13:16 Delete multiple repositories programmatically from elisp by supplying `y' as the answer to an interactively called function Hongyi Zhao
2021-12-07 17:05 ` Robert Pluim [this message]
2021-12-07 19:14   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-12-08  9:41     ` Robert Pluim
2021-12-08 10:47       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-12-07 23:35   ` Hongyi Zhao
2021-12-08  2:56   ` Hongyi Zhao
2021-12-08  3:15     ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-12-08  3:45       ` Hongyi Zhao
2021-12-08  9:07     ` Robert Pluim
2021-12-08  9:13       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-12-07 22:20 ` Michael Heerdegen
2021-12-07 23:49   ` Hongyi Zhao

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sfv4l50b.fsf@gmail.com \
    --to=rpluim@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=hongyi.zhao@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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).