* Progress on merging use-package? @ 2022-09-24 12:56 Payas Relekar 2022-09-24 14:08 ` Philip Kaludercic 0 siblings, 1 reply; 17+ messages in thread From: Payas Relekar @ 2022-09-24 12:56 UTC (permalink / raw) To: emacs-devel; +Cc: jwiegley Hello! Recent progress with eglot has kindled my hopes, so here goes another shot. I understand John Wiegley(Author and maintainer of use-package, cc'd) always intended to submit use-package[0] to emacs core, and would like to ask what the remaining blockers are, and what could be done to improve the status quo. The Github issue[1] tracking copyright assignments appear to be nearly at completion, with last contributor remaining having difficulties getting the confirmation (or something). I understand John has been very occupied with $LIFE, but if it is possible to take this further with any outside help, I'm sure there are volunteers here :) Thanks, Payas [0]: https://github.com/jwiegley/use-package [1]: https://github.com/jwiegley/use-package/issues/282 -- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-24 12:56 Progress on merging use-package? Payas Relekar @ 2022-09-24 14:08 ` Philip Kaludercic 2022-09-24 14:22 ` Payas Relekar 2022-09-24 15:42 ` Progress on merging use-package? Stefan Monnier 0 siblings, 2 replies; 17+ messages in thread From: Philip Kaludercic @ 2022-09-24 14:08 UTC (permalink / raw) To: Payas Relekar; +Cc: emacs-devel, jwiegley Payas Relekar <relekarpayas@gmail.com> writes: > Hello! > > Recent progress with eglot has kindled my hopes, so here goes another > shot. > > I understand John Wiegley(Author and maintainer of use-package, cc'd) > always intended to submit use-package[0] to > emacs core, and would like to ask what the remaining blockers are, and > what could be done to improve the status quo. > > The Github issue[1] tracking copyright assignments appear to be nearly > at completion, with last contributor remaining having difficulties > getting the confirmation (or something). > > I understand John has been very occupied with $LIFE, but if it is > possible to take this further with any outside help, I'm sure there are > volunteers here :) FYI there was a thread on exactly this topic earlier this year (https://yhetil.org/emacs-devel/87y21ri7px.fsf@posteo.net/), that slightly diverged towards the end. John mentioned the following: I would definitely like to see it move to core, and would be happy to work with others to make this happen. I feel it still needs enough effort -- mostly in terms of documentation -- that this is why it hasn't happened yet. I still argue that adding it to GNU ELPA would be a good fist step, just like how Eglot was part of GNU ELPA for a while before the merge started. > Thanks, > Payas > > [0]: https://github.com/jwiegley/use-package > [1]: https://github.com/jwiegley/use-package/issues/282 > > -- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-24 14:08 ` Philip Kaludercic @ 2022-09-24 14:22 ` Payas Relekar 2022-09-24 14:35 ` Philip Kaludercic 2022-09-24 15:42 ` Progress on merging use-package? Stefan Monnier 1 sibling, 1 reply; 17+ messages in thread From: Payas Relekar @ 2022-09-24 14:22 UTC (permalink / raw) To: Philip Kaludercic; +Cc: emacs-devel, jwiegley Philip Kaludercic <philipk@posteo.net> writes: > FYI there was a thread on exactly this topic earlier this year > (https://yhetil.org/emacs-devel/87y21ri7px.fsf@posteo.net/), that > slightly diverged towards the end. John mentioned the following: > > I would definitely like to see it move to core, and would be > happy to work with others to make this happen. I feel it still > needs enough effort -- mostly in terms of documentation -- that > this is why it hasn't happened yet. > > I still argue that adding it to GNU ELPA would be a good fist step, just > like how Eglot was part of GNU ELPA for a while before the merge started. Thanks for pointing this out! Perhaps 6 months is fair amount of time to resurface the discussion, but if John thinks thats too much pestering, we can stop here. Thanks, Payas -- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-24 14:22 ` Payas Relekar @ 2022-09-24 14:35 ` Philip Kaludercic 2022-09-24 14:36 ` Payas Relekar 0 siblings, 1 reply; 17+ messages in thread From: Philip Kaludercic @ 2022-09-24 14:35 UTC (permalink / raw) To: Payas Relekar; +Cc: emacs-devel, jwiegley Payas Relekar <relekarpayas@gmail.com> writes: > Philip Kaludercic <philipk@posteo.net> writes: > >> FYI there was a thread on exactly this topic earlier this year >> (https://yhetil.org/emacs-devel/87y21ri7px.fsf@posteo.net/), that >> slightly diverged towards the end. John mentioned the following: >> >> I would definitely like to see it move to core, and would be >> happy to work with others to make this happen. I feel it still >> needs enough effort -- mostly in terms of documentation -- that >> this is why it hasn't happened yet. >> >> I still argue that adding it to GNU ELPA would be a good fist step, just >> like how Eglot was part of GNU ELPA for a while before the merge started. > > Thanks for pointing this out! Perhaps 6 months is fair amount of time to > resurface the discussion, but if John thinks thats too much pestering, > we can stop here. I don't think so, after all the issue is that someone has to be found to do that last bit of janitorial work required to merge use-package. > Thanks, > Payas > > -- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-24 14:35 ` Philip Kaludercic @ 2022-09-24 14:36 ` Payas Relekar 2022-09-24 15:51 ` Philip Kaludercic 2022-09-24 20:24 ` John Wiegley 0 siblings, 2 replies; 17+ messages in thread From: Payas Relekar @ 2022-09-24 14:36 UTC (permalink / raw) To: Philip Kaludercic; +Cc: emacs-devel, jwiegley Philip Kaludercic <philipk@posteo.net> writes: > I don't think so, after all the issue is that someone has to be found to > do that last bit of janitorial work required to merge use-package. Pardon me if for not getting obvious, but by janitorial work, do you mean pushing to ELPA? Or the documentation change that John mentioned? Or something else? If it is anything like Eglot work (preparing repo, git munging, copyright checks), I am happy to lend a hand. Anything related to actual code will unfortunately be with John or someone else with codebase understanding. I would like to volunteer for documentation work as well, but a primer on what needs to be done is missing from the other thread. Thanks, Payas -- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-24 14:36 ` Payas Relekar @ 2022-09-24 15:51 ` Philip Kaludercic 2022-09-24 20:24 ` John Wiegley 1 sibling, 0 replies; 17+ messages in thread From: Philip Kaludercic @ 2022-09-24 15:51 UTC (permalink / raw) To: Payas Relekar; +Cc: emacs-devel, jwiegley Payas Relekar <relekarpayas@gmail.com> writes: > Philip Kaludercic <philipk@posteo.net> writes: > >> I don't think so, after all the issue is that someone has to be found to >> do that last bit of janitorial work required to merge use-package. > > Pardon me if for not getting obvious, but by janitorial work, do you > mean pushing to ELPA? Or the documentation change that John mentioned? > Or something else? If it is anything like Eglot work (preparing repo, > git munging, copyright checks), I am happy to lend a hand. (If I am not clear, that is almost always my mistake. It is a bad habit of mine.) The janitorial work meant adding use-package to the core, ELPA could be done almost immediately (tough there is no rush), as I have provided and tested the patch to do so. > Anything related to actual code will unfortunately be with John or > someone else with codebase understanding. > > I would like to volunteer for documentation work as well, but a primer > on what needs to be done is missing from the other thread. I agree that having a road-map would be a good first step. The current overview I have is 1. Complete the documentation 2. Prepare the documentation in texinfo 3. Add all relevant files to emacs.git 4. Ensure everything is prepared and loaded correctly > Thanks, > Payas > > -- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-24 14:36 ` Payas Relekar 2022-09-24 15:51 ` Philip Kaludercic @ 2022-09-24 20:24 ` John Wiegley 2022-09-25 2:34 ` Payas Relekar 1 sibling, 1 reply; 17+ messages in thread From: John Wiegley @ 2022-09-24 20:24 UTC (permalink / raw) To: Payas Relekar; +Cc: Philip Kaludercic, emacs-devel >>>>> "PR" == Payas Relekar <relekarpayas@gmail.com> writes: PR> Anything related to actual code will unfortunately be with John or someone PR> else with codebase understanding. PR> I would like to volunteer for documentation work as well, but a primer on PR> what needs to be done is missing from the other thread. I'd be happy to serve as supporting developer if someone else is willing to spearhead this effort on the docs and integration side. If you run into any issues, e-mail me directly and I'll be happy to help, but if it waits on me to get the documentation and proper build infrastructure together, I'm afraid it won't happen. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-24 20:24 ` John Wiegley @ 2022-09-25 2:34 ` Payas Relekar 2022-09-25 2:45 ` Payas Relekar 2022-09-25 8:39 ` Philip Kaludercic 0 siblings, 2 replies; 17+ messages in thread From: Payas Relekar @ 2022-09-25 2:34 UTC (permalink / raw) To: John Wiegley; +Cc: Philip Kaludercic, emacs-devel Thank you John! John Wiegley <jwiegley@gmail.com> writes: > I'd be happy to serve as supporting developer if someone else is willing to > spearhead this effort on the docs and integration side. If you run into any > issues, e-mail me directly and I'll be happy to help, but if it waits on me to > get the documentation and proper build infrastructure together, I'm afraid it > won't happen. Alright, I'll try my hand. It will be slow going, for I am but a noob, and most likely not happen before 29 branch is cut, but thats the plan. Combining Philip's steps here, the plan is: 1. Get use-package in ELPA Philip already has a patch ready to be reviewed 2. Complete all documentation Not sure what it means to 'complete', but I'll go through it, try to make it in more tutorial-esque. 3. Prepare documentation in texinfo Will cross that bridge when 2 is done. 4. Add all relevant files to emacs.git TBD when 3 is done. 5. Ensure everything loads properly TBD when 4 is done. This part will probably need testing from wider community, but its out enough in the future that I don't want to think about it right now. Philip, would you have any pointer to get started on #2? Thanks, Payas -- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-25 2:34 ` Payas Relekar @ 2022-09-25 2:45 ` Payas Relekar 2022-09-25 8:09 ` Philip Kaludercic 2022-09-25 8:39 ` Philip Kaludercic 1 sibling, 1 reply; 17+ messages in thread From: Payas Relekar @ 2022-09-25 2:45 UTC (permalink / raw) To: John Wiegley; +Cc: Philip Kaludercic, emacs-devel Correction, Stefan has a patch for ELPA :) Payas Relekar <relekarpayas@gmail.com> writes: > Thank you John! > > John Wiegley <jwiegley@gmail.com> writes: > >> I'd be happy to serve as supporting developer if someone else is willing to >> spearhead this effort on the docs and integration side. If you run into any >> issues, e-mail me directly and I'll be happy to help, but if it waits on me to >> get the documentation and proper build infrastructure together, I'm afraid it >> won't happen. > > Alright, I'll try my hand. It will be slow going, for I am but a noob, > and most likely not happen before 29 branch is cut, but thats the plan. > > Combining Philip's steps here, the plan is: > > 1. Get use-package in ELPA > Philip already has a patch ready to be reviewed > 2. Complete all documentation > Not sure what it means to 'complete', but I'll go through it, try > to make it in more tutorial-esque. > 3. Prepare documentation in texinfo > Will cross that bridge when 2 is done. > 4. Add all relevant files to emacs.git > TBD when 3 is done. > 5. Ensure everything loads properly > TBD when 4 is done. This part will probably need testing from wider > community, but its out enough in the future that I don't want to > think about it right now. > > Philip, would you have any pointer to get started on #2? > > Thanks, > Payas -- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-25 2:45 ` Payas Relekar @ 2022-09-25 8:09 ` Philip Kaludercic 0 siblings, 0 replies; 17+ messages in thread From: Philip Kaludercic @ 2022-09-25 8:09 UTC (permalink / raw) To: Payas Relekar; +Cc: John Wiegley, emacs-devel [-- Attachment #1: Type: text/plain, Size: 261 bytes --] Payas Relekar <relekarpayas@gmail.com> writes: > Correction, Stefan has a patch for ELPA :) To avoid confusion, there are two patches. The one Stefan prepared to apply to the use-package repository, and mine to apply to elpa.git. I'll be reposting it here: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 2-0001-elpa-packages-use-package-bind-key-New-packages.patch --] [-- Type: text/x-patch, Size: 1224 bytes --] From 7492166c278e17b40ddc524d244b588e46be63cf Mon Sep 17 00:00:00 2001 From: Philip Kaludercic <philipk@posteo.net> Date: Thu, 3 Mar 2022 11:08:40 +0100 Subject: [PATCH] * elpa-packages (use-package, bind-key): New packages --- elpa-packages | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/elpa-packages b/elpa-packages index cfbf18b8a6..588c2fe161 100644 --- a/elpa-packages +++ b/elpa-packages @@ -60,6 +60,8 @@ :lisp-dir "lisp" :doc "doc/bbdb.texi") ("beacon" :url "https://github.com/Malabarba/beacon") + ("bind-key" :url "https://github.com/jwiegley/use-package" + :ignored-files ("doc" "Makefile*" "bind-chords.el" "use-package*")) ("blist" :url "https://gitlab.com/mmemmew/blist" :doc "blist.texinfo" :readme "README.org" @@ -571,6 +573,9 @@ :readme "README.md") ("uniquify-files" :url nil) ("url-http-ntlm" :url nil) + ("use-package" :url "https://github.com/jwiegley/use-package" + :ignored-files ("doc" "Makefile*" "bind-*" "use-package-chords.el") + :doc "use-package.texi") ("validate" :url "https://github.com/Malabarba/validate.el") ("valign" :url "https://github.com/casouri/valign") ("vc-got" :url "https://git.omarpolo.com/vc-got" -- 2.30.2 [-- Attachment #3: Type: text/plain, Size: 1364 bytes --] > Payas Relekar <relekarpayas@gmail.com> writes: > >> Thank you John! >> >> John Wiegley <jwiegley@gmail.com> writes: >> >>> I'd be happy to serve as supporting developer if someone else is willing to >>> spearhead this effort on the docs and integration side. If you run into any >>> issues, e-mail me directly and I'll be happy to help, but if it waits on me to >>> get the documentation and proper build infrastructure together, I'm afraid it >>> won't happen. >> >> Alright, I'll try my hand. It will be slow going, for I am but a noob, >> and most likely not happen before 29 branch is cut, but thats the plan. >> >> Combining Philip's steps here, the plan is: >> >> 1. Get use-package in ELPA >> Philip already has a patch ready to be reviewed >> 2. Complete all documentation >> Not sure what it means to 'complete', but I'll go through it, try >> to make it in more tutorial-esque. >> 3. Prepare documentation in texinfo >> Will cross that bridge when 2 is done. >> 4. Add all relevant files to emacs.git >> TBD when 3 is done. >> 5. Ensure everything loads properly >> TBD when 4 is done. This part will probably need testing from wider >> community, but its out enough in the future that I don't want to >> think about it right now. >> >> Philip, would you have any pointer to get started on #2? >> >> Thanks, >> Payas > > > -- ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-25 2:34 ` Payas Relekar 2022-09-25 2:45 ` Payas Relekar @ 2022-09-25 8:39 ` Philip Kaludercic 2022-09-28 22:57 ` chad 1 sibling, 1 reply; 17+ messages in thread From: Philip Kaludercic @ 2022-09-25 8:39 UTC (permalink / raw) To: Payas Relekar; +Cc: John Wiegley, emacs-devel Payas Relekar <relekarpayas@gmail.com> writes: > Philip, would you have any pointer to get started on #2? Take a look at use-package.texi in the use-package repository. There are currently two TODO that ought to be addressed. And as the file is generated, the texinfo markup is probably not as idiomatic as it ought to be. There are at least a few instances where @code is used instead of @kbd, @key or @var. @ref where @xref/@pxref might be better. Content-wise a few sections such as how to install the package will be outdated, and I'd rephrase the sections that mention MELPA to use ELPA examples. I also notice that the spacing is inconsistent, and one should try to keep ensure that each full stop is followed by two spaces. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-25 8:39 ` Philip Kaludercic @ 2022-09-28 22:57 ` chad 2022-09-29 8:20 ` Eli Zaretskii 0 siblings, 1 reply; 17+ messages in thread From: chad @ 2022-09-28 22:57 UTC (permalink / raw) To: EMACS development team, Lars Ingebrigtsen, Eli Zaretskii Cc: Payas Relekar, John Wiegley, Philip Kaludercic [-- Attachment #1: Type: text/plain, Size: 829 bytes --] Eli & Lars, as a point of clarification: what would you want to see in terms of integration into core for use-package to make the late-November cut for emacs 29.1? My understanding is that the copyright concerns are cleared, but John (Weigley, for anyone looking at this later) believes that some documentation work needs to be done. He doesn't have time to do it himself, but there do seem to be some potential volunteers (tentatively including myself). I expect that _eventually_ relatively deep documentation changes would be wanted if it were included in core (both to use-package and to emacs's existing documentation), but that it might be ok to include the package (with correct documentation) in 29.1 without necessarily pushing it throughout all of emacs' own documentation. Does that sound reasonable? Thanks, ~Chad [-- Attachment #2: Type: text/html, Size: 954 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-28 22:57 ` chad @ 2022-09-29 8:20 ` Eli Zaretskii 2022-09-29 8:36 ` Philip Kaludercic 0 siblings, 1 reply; 17+ messages in thread From: Eli Zaretskii @ 2022-09-29 8:20 UTC (permalink / raw) To: chad; +Cc: emacs-devel, larsi, relekarpayas, jwiegley, philipk > From: chad <yandros@gmail.com> > Date: Wed, 28 Sep 2022 18:57:26 -0400 > Cc: Payas Relekar <relekarpayas@gmail.com>, John Wiegley <jwiegley@gmail.com>, > Philip Kaludercic <philipk@posteo.net> > > Eli & Lars, as a point of clarification: what would you want to see in terms of integration into core for > use-package to make the late-November cut for emacs 29.1? > > My understanding is that the copyright concerns are cleared, but John (Weigley, for anyone looking at this > later) believes that some documentation work needs to be done. He doesn't have time to do it himself, but > there do seem to be some potential volunteers (tentatively including myself). > > I expect that _eventually_ relatively deep documentation changes would be wanted if it were included in core > (both to use-package and to emacs's existing documentation), but that it might be ok to include the package > (with correct documentation) in 29.1 without necessarily pushing it throughout all of emacs' own > documentation. Does that sound reasonable? I have difficulty answering these questions. I think we should hear from John first, because he knows best what has to be done. Having a separate manual for use-package is fine if this is supposed to be an optional package, not something used by core. But I admit that I have no clear idea of the purpose of bundling use-package with Emacs, so maybe what I say makes no sense. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-29 8:20 ` Eli Zaretskii @ 2022-09-29 8:36 ` Philip Kaludercic 2022-10-07 22:47 ` What does use-package do? Richard Stallman 0 siblings, 1 reply; 17+ messages in thread From: Philip Kaludercic @ 2022-09-29 8:36 UTC (permalink / raw) To: Eli Zaretskii; +Cc: chad, emacs-devel, larsi, relekarpayas, jwiegley Eli Zaretskii <eliz@gnu.org> writes: >> From: chad <yandros@gmail.com> >> Date: Wed, 28 Sep 2022 18:57:26 -0400 >> Cc: Payas Relekar <relekarpayas@gmail.com>, John Wiegley <jwiegley@gmail.com>, >> Philip Kaludercic <philipk@posteo.net> >> >> Eli & Lars, as a point of clarification: what would you want to see in terms of integration into core for >> use-package to make the late-November cut for emacs 29.1? >> >> My understanding is that the copyright concerns are cleared, but John (Weigley, for anyone looking at this >> later) believes that some documentation work needs to be done. He doesn't have time to do it himself, but >> there do seem to be some potential volunteers (tentatively including myself). >> >> I expect that _eventually_ relatively deep documentation changes would be wanted if it were included in core >> (both to use-package and to emacs's existing documentation), but that it might be ok to include the package >> (with correct documentation) in 29.1 without necessarily pushing it throughout all of emacs' own >> documentation. Does that sound reasonable? > > I have difficulty answering these questions. I think we should hear > from John first, because he knows best what has to be done. I believe that Payas (<877d1scgyv.fsf@gmail.com>) gave a good summary of what is to be done: 1. Get use-package in ELPA Philip already has a patch ready to be reviewed 2. Complete all documentation Not sure what it means to 'complete', but I'll go through it, try to make it in more tutorial-esque. 3. Prepare documentation in texinfo Will cross that bridge when 2 is done. 4. Add all relevant files to emacs.git TBD when 3 is done. 5. Ensure everything loads properly TBD when 4 is done. This part will probably need testing from wider community, but its out enough in the future that I don't want to think about it right now. Step 1 has already been prepared, as Stefan has pushed a (disabled) package specification that can be enabled whenever it is decided to do so. As to step 2, I don't use use-package myself so it is difficult for me to say what is missing in the documentation, but apparently there are unfinished sections that need writing. Step 3 should be pretty easy, especially since the use-package repository already contains an auto-generated file that has to be cleaned up since the automatic translation from .org to .texi is known to be less than perfect (see <87o7v37sqh.fsf@posteo.net>). > Having a separate manual for use-package is fine if this is supposed > to be an optional package, not something used by core. But I admit > that I have no clear idea of the purpose of bundling use-package with > Emacs, so maybe what I say makes no sense. It is common to use `use-package' in such a way that a configuration can bootstrap itself. That is to say that when installing Emacs on a new device, all you need to do is to place your init.el in the right spot, and when Emacs is started the first time everything is installed and configured "automatically". Having `use-package' available OOTB (or at least on ELPA) would make this easier to do because you wouldn't have to add and configure MELPA. In my estimate, "use-package" is still one of the most popular packages that is not available from either GNU ELPA or NonGNU ELPA, so this move might help more people to be satisfied by the ELPAs. This in turn could help promote package stability, as more people move away from rolling release packages. ^ permalink raw reply [flat|nested] 17+ messages in thread
* What does use-package do? 2022-09-29 8:36 ` Philip Kaludercic @ 2022-10-07 22:47 ` Richard Stallman 2022-10-08 4:50 ` John Wiegley 0 siblings, 1 reply; 17+ messages in thread From: Richard Stallman @ 2022-10-07 22:47 UTC (permalink / raw) To: Philip Kaludercic Cc: eliz, yandros, emacs-devel, larsi, relekarpayas, jwiegley [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Can someone send me a self-contained description of the job use-package does, from a user's perspective? I'm not asking about how it does that job, or how it works. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: What does use-package do? 2022-10-07 22:47 ` What does use-package do? Richard Stallman @ 2022-10-08 4:50 ` John Wiegley 0 siblings, 0 replies; 17+ messages in thread From: John Wiegley @ 2022-10-08 4:50 UTC (permalink / raw) To: Richard Stallman, Philip Kaludercic Cc: Eli Zaretskii, yandros, emacs-devel, larsi, relekarpayas It allows the user to declaratively configure a required package. There are several “best practices” when writing startup config that will load quickly and efficiently, and use-package effectively abstracts these practices for the user. I originally wrote it to eliminate a lot of boilerplate and duplication in my own high efficiency unit.el file (with hundreds of packages configured, but less than one second Emacs load time). John On Fri, Oct 7, 2022, at 6:47 PM, Richard Stallman wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > Can someone send me a self-contained description of the job > use-package does, from a user's perspective? > > I'm not asking about how it does that job, or how it works. > > -- > Dr Richard Stallman (https://stallman.org) > Chief GNUisance of the GNU Project (https://gnu.org) > Founder, Free Software Foundation (https://fsf.org) > Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Progress on merging use-package? 2022-09-24 14:08 ` Philip Kaludercic 2022-09-24 14:22 ` Payas Relekar @ 2022-09-24 15:42 ` Stefan Monnier 1 sibling, 0 replies; 17+ messages in thread From: Stefan Monnier @ 2022-09-24 15:42 UTC (permalink / raw) To: Philip Kaludercic; +Cc: Payas Relekar, emacs-devel, jwiegley [-- Attachment #1: Type: text/plain, Size: 444 bytes --] > I still argue that adding it to GNU ELPA would be a good fist step, just Indeed. Last I heard, the copyright situation was cleared. I understand the desire is to add it to core, but seeing how it hasn't happened, I'm strongly in favor of adding it to GNU ELPA. Doing that would not make it harder to move it into core, in any case. For good measure, I include a patch with my current cosmetic changes to use-package :-) Stefan [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: use-package.patch --] [-- Type: text/x-diff, Size: 22223 bytes --] diff --git a/.gitignore b/.gitignore index c0749c9a3b..a406c44fa5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ *~ /*-autoloads.el -/*.elc +*.elc /*.html /*.info /*.pdf @@ -10,3 +10,5 @@ /doc/content/* /stats/ /use-package/ +/use-package-pkg.el +/bind-key-pkg.el diff --git a/bind-key.el b/bind-key.el index 17e161cd72..cdb1cc35b5 100644 --- a/bind-key.el +++ b/bind-key.el @@ -109,20 +109,17 @@ (defcustom bind-key-column-widths '(18 . 40) "Width of columns in `describe-personal-keybindings'." - :type '(cons integer integer) - :group 'bind-key) + :type '(cons integer integer)) (defcustom bind-key-segregation-regexp "\\`\\(\\(C-[chx] \\|M-[gso] \\)\\([CM]-\\)?\\|.+-\\)" "Regular expression used to divide key sets in the output from \\[describe-personal-keybindings]." - :type 'regexp - :group 'bind-key) + :type 'regexp) (defcustom bind-key-describe-special-forms nil "If non-nil, extract docstrings from lambdas, closures and keymaps if possible." - :type 'boolean - :group 'bind-key) + :type 'boolean) ;; Create override-global-mode to force key remappings diff --git a/doc/setup-ox-hugo.el b/doc/setup-ox-hugo.el index 7b6d521b95..dc2cc827a6 100644 --- a/doc/setup-ox-hugo.el +++ b/doc/setup-ox-hugo.el @@ -1,10 +1,13 @@ - -*- lexical-binding: t; -*- +;; -*- lexical-binding: t; -*- ;; Time-stamp: <2017-12-19 16:49:24 kmodi> ;; Setup to export Org files to Hugo-compatible Markdown using ;; `ox-hugo' in an "emacs -Q" environment. +;; FIXME: Merely loading a file should never have such side effects; +;; Those settings should be moved to a function. + ;; Some sane settings (setq-default require-final-newline t) (setq-default indent-tabs-mode nil) @@ -166,7 +169,8 @@ Emacs installation. If Emacs is installed using --prefix=\"${PREFIX_DIR}\" this value would typically be \"${PREFIX_DIR}/share/emacs/<VERSION>/lisp/\".")) (when ox-hugo-test-setup-verbose - (message "ox-hugo-default-lisp-directory: %S" ox-hugo-default-lisp-directory)) + (message "ox-hugo-default-lisp-directory: %S" + ox-hugo-default-lisp-directory)) (with-eval-after-load 'package ;; Remove Org that ships with Emacs from the `load-path'. @@ -196,15 +200,14 @@ Emacs installation. If Emacs is installed using ;; Prevent prompts like: ;; Non-existent agenda file - (defun org-check-agenda-file (file)) + (defun org-check-agenda-file (_file) nil) - (let (ob-lang-alist) - (add-to-list 'ob-lang-alist '(emacs-lisp . t)) - (add-to-list 'ob-lang-alist '(org . t)) + (let ((ob-lang-alist '((org . t) + (emacs-lisp . t)))) (org-babel-do-load-languages 'org-babel-load-languages ob-lang-alist)) (with-eval-after-load 'ob-core - (defun ox-hugo-org-confirm-babel-evaluate-fn (lang body) + (defun ox-hugo-org-confirm-babel-evaluate-fn (lang _body) "Mark `org' as a safe language for ox-hugo tests and docs." (let* ((ob-enabled-langs '("org")) (ob-enabled-langs-re (regexp-opt ob-enabled-langs 'words)) diff --git a/use-package-bind-key.el b/use-package-bind-key.el index 9642f31175..b9a0dde10c 100644 --- a/use-package-bind-key.el +++ b/use-package-bind-key.el @@ -120,18 +120,18 @@ deferred until the prefix key sequence is pressed." ;;;; :bind, :bind* ;;;###autoload -(defalias 'use-package-normalize/:bind 'use-package-normalize-binder) +(defalias 'use-package-normalize/:bind #'use-package-normalize-binder) ;;;###autoload -(defalias 'use-package-normalize/:bind* 'use-package-normalize-binder) +(defalias 'use-package-normalize/:bind* #'use-package-normalize-binder) ;; jww (2017-12-07): This is too simplistic. It will fail to determine ;; autoloads in this situation: ;; (use-package foo ;; :bind (:map foo-map (("C-a" . func)))) ;;;###autoload -(defalias 'use-package-autoloads/:bind 'use-package-autoloads-mode) +(defalias 'use-package-autoloads/:bind #'use-package-autoloads-mode) ;;;###autoload -(defalias 'use-package-autoloads/:bind* 'use-package-autoloads-mode) +(defalias 'use-package-autoloads/:bind* #'use-package-autoloads-mode) ;;;###autoload (defun use-package-handler/:bind @@ -150,9 +150,9 @@ deferred until the prefix key sequence is pressed." ;;;; :bind-keymap, :bind-keymap* ;;;###autoload -(defalias 'use-package-normalize/:bind-keymap 'use-package-normalize-binder) +(defalias 'use-package-normalize/:bind-keymap #'use-package-normalize-binder) ;;;###autoload -(defalias 'use-package-normalize/:bind-keymap* 'use-package-normalize-binder) +(defalias 'use-package-normalize/:bind-keymap* #'use-package-normalize-binder) ;;;###autoload (defun use-package-handler/:bind-keymap diff --git a/use-package-chords.el b/use-package-chords.el index cf390dbe59..d388a92941 100644 --- a/use-package-chords.el +++ b/use-package-chords.el @@ -24,10 +24,10 @@ (require 'bind-chord) ;;;###autoload -(defalias 'use-package-autoloads/:chords 'use-package-autoloads-mode) +(defalias 'use-package-autoloads/:chords #'use-package-autoloads-mode) ;;;###autoload -(defalias 'use-package-normalize/:chords 'use-package-normalize-binder) +(defalias 'use-package-normalize/:chords #'use-package-normalize-binder) ;;;###autoload (defun use-package-handler/:chords (name _keyword arg rest state) diff --git a/use-package-core.el b/use-package-core.el index dc9b77bc5b..f5e267c7bd 100644 --- a/use-package-core.el +++ b/use-package-core.el @@ -113,8 +113,7 @@ changing where you had inserted a new keyword earlier. Note that `:disabled' is special in this list, as it causes nothing at all to happen, even if the rest of the use-package declaration is incorrect." - :type '(repeat symbol) - :group 'use-package) + :type '(repeat symbol)) (defcustom use-package-deferring-keywords '(:bind-keymap @@ -126,22 +125,19 @@ they only imply deferred loading if they reference actual function symbols that can be autoloaded from the module; whereas the default keywords provided here always defer loading unless otherwise requested." - :type '(repeat symbol) - :group 'use-package) + :type '(repeat symbol)) (defcustom use-package-ignore-unknown-keywords nil "If non-nil, issue warning instead of error when unknown keyword is encountered. The unknown keyword and its associated arguments will be ignored in the `use-package' expansion." - :type 'boolean - :group 'use-package) + :type 'boolean) (defcustom use-package-use-theme t "If non-nil, use a custom theme to avoid saving :custom variables twice (once in the Custom file, once in the use-package call)." - :type 'boolean - :group 'use-package) + :type 'boolean) (defcustom use-package-verbose nil "Whether to report about loading and configuration details. @@ -152,26 +148,22 @@ then the expanded macros do their job silently." :type '(choice (const :tag "Quiet, without catching errors" errors) (const :tag "Quiet" nil) (const :tag "Verbose" t) - (const :tag "Debug" debug)) - :group 'use-package) + (const :tag "Debug" debug))) (defcustom use-package-check-before-init nil "If non-nil, check that package exists before executing its `:init' block. This check is performed by calling `locate-library'." - :type 'boolean - :group 'use-package) + :type 'boolean) (defcustom use-package-always-defer nil "If non-nil, assume `:defer t' unless `:demand' is used. See also `use-package-defaults', which uses this value." - :type 'boolean - :group 'use-package) + :type 'boolean) (defcustom use-package-always-demand nil "If non-nil, assume `:demand t' unless `:defer' is used. See also `use-package-defaults', which uses this value." - :type 'boolean - :group 'use-package) + :type 'boolean) (defcustom use-package-defaults '(;; this '(t) has special meaning; see `use-package-handler/:config' @@ -214,8 +206,7 @@ attempted." ,@(mapcar #'(lambda (k) (list 'const k)) use-package-keywords)) (choice :tag "Default value" sexp function) - (choice :tag "Enable if non-nil" sexp function))) - :group 'use-package) + (choice :tag "Enable if non-nil" sexp function)))) (defcustom use-package-merge-key-alist '((:if . (lambda (new old) `(and ,new ,old))) @@ -238,22 +229,19 @@ handler is called only once." ,@(mapcar #'(lambda (k) (list 'const k)) use-package-keywords) (const :tag "Any" t)) - function)) - :group 'use-package) + function))) (defcustom use-package-hook-name-suffix "-hook" "Text append to the name of hooks mentioned by :hook. Set to nil if you don't want this to happen; it's only a convenience." - :type '(choice string (const :tag "No suffix" nil)) - :group 'use-package) + :type '(choice string (const :tag "No suffix" nil))) (defcustom use-package-minimum-reported-time 0.1 "Minimal load time that will be reported. Note that `use-package-verbose' has to be set to a non-nil value for anything to be reported at all." - :type 'number - :group 'use-package) + :type 'number) (defcustom use-package-inject-hooks nil "If non-nil, add hooks to the `:init' and `:config' sections. @@ -278,8 +266,7 @@ NOTE: If the `pre-init' hook return a nil value, that block's user-supplied configuration is not evaluated, so be certain to return t if you only wish to add behavior to what the user had specified." - :type 'boolean - :group 'use-package) + :type 'boolean) (defcustom use-package-expand-minimally nil "If non-nil, make the expanded code as minimal as possible. @@ -293,8 +280,7 @@ The main advantage to this variable is that, if you know your configuration works, it will make the byte-compiled file as minimal as possible. It can also help with reading macro-expanded definitions, to understand the main intent of what's happening." - :type 'boolean - :group 'use-package) + :type 'boolean) (defcustom use-package-form-regexp-eval `(concat ,(eval-when-compile @@ -306,8 +292,7 @@ definitions, to understand the main intent of what's happening." "Sexp providing regexp for finding use-package forms in user files. This is used by `use-package-jump-to-package-form' and `use-package-enable-imenu-support'." - :type 'sexp - :group 'use-package) + :type 'sexp) (defcustom use-package-enable-imenu-support nil "If non-nil, cause imenu to see `use-package' declarations. @@ -325,8 +310,7 @@ Must be set before loading use-package." `(setq lisp-imenu-generic-expression (remove (list "Packages" ,use-package-form-regexp-eval 2) lisp-imenu-generic-expression)))) - (set-default sym value)) - :group 'use-package) + (set-default sym value))) (defconst use-package-font-lock-keywords '(("(\\(use-package\\)\\_>[ \t']*\\(\\(?:\\sw\\|\\s_\\)+\\)?" @@ -341,8 +325,7 @@ View the statistical report using `use-package-report'. Note that if this option is enabled, you must require `use-package' in your user init file at loadup time, or you will see errors concerning undefined variables." - :type 'boolean - :group 'use-package) + :type 'boolean) (defvar use-package-statistics (make-hash-table)) @@ -382,7 +365,7 @@ convert it to a string and return that." (defun use-package-normalize-regex (re) "Given some regexp-like thing in RE, resolve to a regular expression." (cond - ((and (listp re) (eq (car re) 'rx)) (eval re)) + ((and (listp re) (eq (car re) 'rx)) (eval re t)) ((stringp re) re) (t (error "Not recognized as regular expression: %s" re)))) @@ -619,13 +602,13 @@ extending any keys already present." (when (let ((func (nth 2 spec))) (if (and func (functionp func)) (funcall func name args) - (eval func))) + (eval func t))) (setq args (use-package-plist-maybe-put args (nth 0 spec) (let ((func (nth 1 spec))) (if (and func (functionp func)) (funcall func name args) - (eval func))))))) + (eval func t))))))) ;; Determine any autoloads implied by the keywords used. (let ((iargs args) @@ -845,7 +828,7 @@ The argument LABEL is ignored." (cond ((and arg (or (use-package-non-nil-symbolp arg) (functionp arg))) (let ((value (use-package-normalize-value label arg))) - (use-package-normalize-paths label (eval value)))) + (use-package-normalize-paths label (eval value t)))) ((stringp arg) (let ((path (if (file-name-absolute-p arg) arg @@ -853,7 +836,8 @@ The argument LABEL is ignored." (list path))) ((and (not recursed) (listp arg) (listp (cdr arg))) (mapcar #'(lambda (x) - (car (use-package-normalize-paths label x t))) arg)) + (car (use-package-normalize-paths label x t))) + arg)) (t (use-package-error (concat label " wants a directory path, or list of paths"))))) @@ -1115,17 +1099,17 @@ meaning: (use-package-only-one (symbol-name keyword) args #'use-package-normalize-value)) -(defalias 'use-package-normalize/:if 'use-package-normalize-test) +(defalias 'use-package-normalize/:if #'use-package-normalize-test) (defun use-package-handler/:if (name _keyword pred rest state) (let ((body (use-package-process-keywords name rest state))) `((when ,pred ,@body)))) -(defalias 'use-package-normalize/:when 'use-package-normalize-test) +(defalias 'use-package-normalize/:when #'use-package-normalize-test) -(defalias 'use-package-handler/:when 'use-package-handler/:if) +(defalias 'use-package-handler/:when #'use-package-handler/:if) -(defalias 'use-package-normalize/:unless 'use-package-normalize-test) +(defalias 'use-package-normalize/:unless #'use-package-normalize-test) (defun use-package-handler/:unless (name _keyword pred rest state) (let ((body (use-package-process-keywords name rest state))) @@ -1133,7 +1117,7 @@ meaning: ;;;; :requires -(defalias 'use-package-normalize/:requires 'use-package-normalize-symlist) +(defalias 'use-package-normalize/:requires #'use-package-normalize-symlist) (defun use-package-handler/:requires (name _keyword requires rest state) (let ((body (use-package-process-keywords name rest state))) @@ -1160,28 +1144,28 @@ meaning: ;;;; :no-require -(defalias 'use-package-normalize/:no-require 'use-package-normalize-predicate) +(defalias 'use-package-normalize/:no-require #'use-package-normalize-predicate) (defun use-package-handler/:no-require (name _keyword _arg rest state) (use-package-process-keywords name rest state)) ;;;; :defines -(defalias 'use-package-normalize/:defines 'use-package-normalize-symlist) +(defalias 'use-package-normalize/:defines #'use-package-normalize-symlist) (defun use-package-handler/:defines (name _keyword _arg rest state) (use-package-process-keywords name rest state)) ;;;; :functions -(defalias 'use-package-normalize/:functions 'use-package-normalize-symlist) +(defalias 'use-package-normalize/:functions #'use-package-normalize-symlist) (defun use-package-handler/:functions (name _keyword _arg rest state) (use-package-process-keywords name rest state)) ;;;; :preface -(defalias 'use-package-normalize/:preface 'use-package-normalize-forms) +(defalias 'use-package-normalize/:preface #'use-package-normalize-forms) (defun use-package-handler/:preface (name _keyword arg rest state) (let ((body (use-package-process-keywords name rest state))) @@ -1245,32 +1229,32 @@ meaning: ;;;; :interpreter -(defalias 'use-package-normalize/:interpreter 'use-package-normalize-mode) -(defalias 'use-package-autoloads/:interpreter 'use-package-autoloads-mode) +(defalias 'use-package-normalize/:interpreter #'use-package-normalize-mode) +(defalias 'use-package-autoloads/:interpreter #'use-package-autoloads-mode) (defun use-package-handler/:interpreter (name _keyword arg rest state) (use-package-handle-mode name 'interpreter-mode-alist arg rest state)) ;;;; :mode -(defalias 'use-package-normalize/:mode 'use-package-normalize-mode) -(defalias 'use-package-autoloads/:mode 'use-package-autoloads-mode) +(defalias 'use-package-normalize/:mode #'use-package-normalize-mode) +(defalias 'use-package-autoloads/:mode #'use-package-autoloads-mode) (defun use-package-handler/:mode (name _keyword arg rest state) (use-package-handle-mode name 'auto-mode-alist arg rest state)) ;;;; :magic -(defalias 'use-package-normalize/:magic 'use-package-normalize-mode) -(defalias 'use-package-autoloads/:magic 'use-package-autoloads-mode) +(defalias 'use-package-normalize/:magic #'use-package-normalize-mode) +(defalias 'use-package-autoloads/:magic #'use-package-autoloads-mode) (defun use-package-handler/:magic (name _keyword arg rest state) (use-package-handle-mode name 'magic-mode-alist arg rest state)) ;;;; :magic-fallback -(defalias 'use-package-normalize/:magic-fallback 'use-package-normalize-mode) -(defalias 'use-package-autoloads/:magic-fallback 'use-package-autoloads-mode) +(defalias 'use-package-normalize/:magic-fallback #'use-package-normalize-mode) +(defalias 'use-package-autoloads/:magic-fallback #'use-package-autoloads-mode) (defun use-package-handler/:magic-fallback (name _keyword arg rest state) (use-package-handle-mode name 'magic-fallback-mode-alist arg rest state)) @@ -1300,7 +1284,7 @@ meaning: (intern (concat (symbol-name name) "-mode"))) label arg)))) -(defalias 'use-package-autoloads/:hook 'use-package-autoloads-mode) +(defalias 'use-package-autoloads/:hook #'use-package-autoloads-mode) (defun use-package-handler/:hook (name _keyword args rest state) "Generate use-package custom keyword code." @@ -1327,7 +1311,7 @@ meaning: ;;;; :commands -(defalias 'use-package-normalize/:commands 'use-package-normalize-symlist) +(defalias 'use-package-normalize/:commands #'use-package-normalize-symlist) (defun use-package-handler/:commands (name _keyword arg rest state) (use-package-concat @@ -1349,7 +1333,7 @@ meaning: ;;;; :defer -(defalias 'use-package-normalize/:defer 'use-package-normalize-predicate) +(defalias 'use-package-normalize/:defer #'use-package-normalize-predicate) (defun use-package-handler/:defer (name _keyword arg rest state) (let ((body (use-package-process-keywords name rest state))) @@ -1420,7 +1404,7 @@ no keyword implies `:all'." ;;;; :demand -(defalias 'use-package-normalize/:demand 'use-package-normalize-predicate) +(defalias 'use-package-normalize/:demand #'use-package-normalize-predicate) (defun use-package-handler/:demand (name _keyword _arg rest state) (use-package-process-keywords name rest state)) @@ -1499,7 +1483,7 @@ no keyword implies `:all'." ;;;; :init -(defalias 'use-package-normalize/:init 'use-package-normalize-forms) +(defalias 'use-package-normalize/:init #'use-package-normalize-forms) (defun use-package-handler/:init (name _keyword arg rest state) (use-package-concat @@ -1534,7 +1518,7 @@ no keyword implies `:all'." ;;;; :config -(defalias 'use-package-normalize/:config 'use-package-normalize-forms) +(defalias 'use-package-normalize/:config #'use-package-normalize-forms) (defun use-package-handler/:config (name _keyword arg rest state) (let* ((body (use-package-process-keywords name rest state)) diff --git a/use-package-ensure.el b/use-package-ensure.el index cb31b4b7dd..4c12ff4346 100644 --- a/use-package-ensure.el +++ b/use-package-ensure.el @@ -47,14 +47,12 @@ (defcustom use-package-always-ensure nil "Treat every package as though it had specified using `:ensure SEXP'. See also `use-package-defaults', which uses this value." - :type 'sexp - :group 'use-package-ensure) + :type 'sexp) (defcustom use-package-always-pin nil "Treat every package as though it had specified using `:pin SYM'. See also `use-package-defaults', which uses this value." - :type 'symbol - :group 'use-package-ensure) + :type 'symbol) (defcustom use-package-ensure-function 'use-package-ensure-elpa "Function that ensures a package is installed. @@ -71,8 +69,7 @@ This function should return non-nil if the package is installed. The default value uses package.el to install the package." :type '(choice (const :tag "package.el" use-package-ensure-elpa) - (function :tag "Custom")) - :group 'use-package-ensure) + (function :tag "Custom"))) ;;;; :pin @@ -124,7 +121,7 @@ manually updated package." ;; Pinning should occur just before ensuring ;; See `use-package-handler/:ensure'. (if (bound-and-true-p byte-compile-current-file) - (eval pin-form) ; Eval when byte-compiling, + (eval pin-form t) ; Eval when byte-compiling, (push pin-form body)) ; or else wait until runtime. body)) diff --git a/use-package-jump.el b/use-package-jump.el index 4044ad1656..186aeb4e46 100644 --- a/use-package-jump.el +++ b/use-package-jump.el @@ -68,7 +68,7 @@ instead." (goto-char (point-min)) (setq location (re-search-forward - (format (eval use-package-form-regexp-eval) package) nil t))) + (format (eval use-package-form-regexp-eval t) package) nil t))) (if (null location) (message "No use-package form found.") (goto-char location) diff --git a/use-package-lint.el b/use-package-lint.el index c6e7c3c0ce..dde9b8f7c9 100644 --- a/use-package-lint.el +++ b/use-package-lint.el @@ -69,7 +69,7 @@ with the specified `:load-path' the module cannot be found." (interactive) (save-excursion (goto-char (point-min)) - (let ((re (eval use-package-form-regexp-eval))) + (let ((re (eval use-package-form-regexp-eval t))) (while (re-search-forward re nil t) (goto-char (match-beginning 0)) (let ((decl (read (current-buffer)))) ^ permalink raw reply related [flat|nested] 17+ messages in thread
end of thread, other threads:[~2022-10-08 4:50 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-09-24 12:56 Progress on merging use-package? Payas Relekar 2022-09-24 14:08 ` Philip Kaludercic 2022-09-24 14:22 ` Payas Relekar 2022-09-24 14:35 ` Philip Kaludercic 2022-09-24 14:36 ` Payas Relekar 2022-09-24 15:51 ` Philip Kaludercic 2022-09-24 20:24 ` John Wiegley 2022-09-25 2:34 ` Payas Relekar 2022-09-25 2:45 ` Payas Relekar 2022-09-25 8:09 ` Philip Kaludercic 2022-09-25 8:39 ` Philip Kaludercic 2022-09-28 22:57 ` chad 2022-09-29 8:20 ` Eli Zaretskii 2022-09-29 8:36 ` Philip Kaludercic 2022-10-07 22:47 ` What does use-package do? Richard Stallman 2022-10-08 4:50 ` John Wiegley 2022-09-24 15:42 ` Progress on merging use-package? Stefan Monnier
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.