[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Changes to make in elpa-packages file for nongnu elpa
From: |
No Wayman |
Subject: |
Re: Changes to make in elpa-packages file for nongnu elpa |
Date: |
Wed, 09 Aug 2023 17:55:09 -0400 |
User-agent: |
mu4e 1.11.12; emacs 30.0.50 |
Thierry Volpiatto <thievol@posteo.net> writes:
It is used specially for reproducing bugs in a clean
environment, see it
(It might be interesting to provide something like this for
package.el, to test packages in a generic way.)
Yes, this would be interesting, it would be something like this:
Emacs -Q
M-x <A command that run a package alone, isolated from other
packages nuisances>
I've written various macros that do as much.
See:
- straight.el's straight-bug-report macro
https://github.com/radian-software/straight.el/blob/ff63b154bef1ef8d92c141bd189001bff74f6982/straight.el#L7049
- Elpaca's elpaca-test macro
https://github.com/progfolio/elpaca/blob/master/elpaca-test.el
- yodel
https://github.com/progfolio/yodel
All three are variations on the idea that it's useful to have a
declarative form that can be shared to install packages in a clean
environment, perform some testing, and report the results. Test
environments can be run interactively or in batch mode.
e.g.
(elpaca-test
:init
(elpaca helm
(require 'helm)
(do-something-with-helm))
(elpaca-wait))
Yodel was my attempt at providing something that could be
package-manager agnostic and can be made to easily reformat the
output of the report. Evaluating the following test:
(yodel :packages* helm
:formatter yodel-format-as-mailing-list-message
:post*
(require 'helm)
(message "good bye"))
Produces the following report:
Yodel[1] Report 2023-08-09 20:25:25
===================================
--8<---------------cut here---------------start------------->8---
(yodel
:packages*
helm
:formatter yodel-format-as-mailing-list-message
:post*
(require 'helm) (message "good bye"))
--8<---------------cut here---------------end--------------->8---
STDOUT
======
INFO Scraping files for loaddefs...
INFO Scraping files for loaddefs...done
GEN ../elpaca-autoloads.el
Cloning into '/tmp/yodel-KSS7te/elpaca/repos/elpaca'...
Your branch is up to date with 'origin/master'.
Checking /tmp/yodel-KSS7te/elpaca/repos/elpaca...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-info.el...
Compiling /tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-log.el...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-manager.el...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-menu-elpa.el...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-menu-melpa.el...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-menu-org.el...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-process.el...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-test.el...
Compiling /tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca-ui.el...
Compiling /tmp/yodel-KSS7te/elpaca/repos/elpaca/elpaca.el...
Checking /tmp/yodel-KSS7te/elpaca/repos/elpaca/doc...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/doc/early-init.el...
Compiling /tmp/yodel-KSS7te/elpaca/repos/elpaca/doc/init.el...
Checking /tmp/yodel-KSS7te/elpaca/repos/elpaca/extensions...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/extensions/elpaca-use-package.el...
Checking /tmp/yodel-KSS7te/elpaca/repos/elpaca/images...
Checking /tmp/yodel-KSS7te/elpaca/repos/elpaca/test...
Compiling
/tmp/yodel-KSS7te/elpaca/repos/elpaca/test/elpaca-test.el...
Done (Total of 11 files compiled, 3 skipped in 4 directories)
Downloading MELPA recipes...
Downloading MELPA recipes...100%
Downloading NonGNU-devel ELPA...
Downloading GNU-devel ELPA...
Downloading NonGNU ELPA...
Downloading GNU ELPA...
good bye
Environment
===========
- emacs version: GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu,
GTK+ Version 3.24.38, cairo version 1.17.8)
of 2023-08-09
- system type: gnu/linux
Packages
========
- async
https://github.com/jwiegley/emacs-async/commit/bb0509060ddc9c94bc7db7bddb12995acb3b53e4
- elpaca
https://github.com/progfolio/elpaca/commit/48da538b084870ef2126ca607af521eeee890fa7
- helm
https://github.com/emacs-helm/helm/commit/a968b9bdd243f9d8d9d572656268421cb1ea8b39
- helm-core
https://github.com/emacs-helm/helm/commit/a968b9bdd243f9d8d9d572656268421cb1ea8b39
- popup
https://github.com/auto-complete/popup-el/commit/707bb336c6eb25743f1516b6a2165b40659a9d02
- wfnames
https://github.com/thierryvolpiatto/wfnames/commit/e4d60978921b8a52693aebae988717261c89ed38
[1] https://www.github.com/progfolio/yodel
I pitched the idea a couple years ago on a bug report. The
following message gives more of the rationale for the package:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=50842#35
Eli and Lars didn't seem too impressed at the time, but it clearly
inspired "erts-mode", which Lars implemented shortly after. That's
a step in the right direction, but not enough.
Having a declarative testing macro has saved me many hours in
debugging and confirming elisp bugs across packages I maintain.
- Re: Changes to make in elpa-packages file for nongnu elpa, (continued)
- Re: Changes to make in elpa-packages file for nongnu elpa, Michael Albinus, 2023/08/08
- Re: Changes to make in elpa-packages file for nongnu elpa, Philip Kaludercic, 2023/08/08
- Re: Changes to make in elpa-packages file for nongnu elpa, Michael Albinus, 2023/08/08
- Re: Changes to make in elpa-packages file for nongnu elpa, Philip Kaludercic, 2023/08/09
- Re: Changes to make in elpa-packages file for nongnu elpa, Eli Zaretskii, 2023/08/09
- Re: Changes to make in elpa-packages file for nongnu elpa, Philip Kaludercic, 2023/08/09
- Re: Changes to make in elpa-packages file for nongnu elpa, Eli Zaretskii, 2023/08/09
- Re: Changes to make in elpa-packages file for nongnu elpa, Philip Kaludercic, 2023/08/09
- Re: Changes to make in elpa-packages file for nongnu elpa, Eli Zaretskii, 2023/08/09
Re: Changes to make in elpa-packages file for nongnu elpa, Richard Stallman, 2023/08/08
Re: Changes to make in elpa-packages file for nongnu elpa,
No Wayman <=