emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Adding use-package to core


From: Philip Kaludercic
Subject: Re: Adding use-package to core
Date: Tue, 15 Nov 2022 17:25:16 +0000

Philip Kaludercic <philipk@posteo.net> writes:

> Stefan Kangas <stefankangas@gmail.com> writes:
>
>> John Wiegley <johnw@gnu.org> writes:
>>
>>>>>>>> Payas Relekar <relekarpayas@gmail.com> writes:
>>>
>>>> I would personally like to see the package in core if at all possible, and
>>>> John has also expressed interest in that. Personally I'd prefer if
>>>> development continues in core after upstreaming, but it is upto John to
>>>> decide. I know that Modus-themes and Org both are developed out of tree, 
>>>> and
>>>> only merged in when the package version is bumped. Which means history is
>>>> lost, but clearly that hasn't been a problem and maintainers of those
>>>> packages prefer it.
>>>
>>> I'm entirely in support of the code and its development moving directly into
>>> core. Whichever best supports the Emacs developers and the needs of the
>>> community, since it is more than likely that future work will be carried out
>>> by others. I'm ready to hand it off in whatever way is desired by the team
>>> here.
>>
>> IMHO, for that to make sense, someone capable would have to volunteer to
>> maintain it on our side.  If we don't have such a volunteer, it makes
>> more sense to me to keep development external for now.
>>
>> If we see a need to move development fully into core in the future, we
>> can always do that, but the reverse is harder.
>
> I agree, a transitory stage where use-package is still maintained
> externally sounds like the safer bet for now.
>
>> (If we want to preserve history when making such a move at a later date,
>> we could just delete our existing copy of the file from emacs.git and
>> then merge the full git history, just as we did with eglot.el.)
>
> In that case, what is left is completing the .texi manual, or am I
> mistaken?  After that, I suppose that placing the right files in the
> right places in emacs.git will be less that a days work.

One thing I have noticed since use-package has appeared on ELPA, that
could also be tackled in time is that the package description (C-h P) is
very messy.  It starts like this:

--8<---------------cut here---------------start------------->8---
# `use-package`

[![Join the chat at 
https://gitter.im/use-package/Lobby](https://badges.gitter.im/use-package/Lobby.svg)](https://gitter.im/use-package/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build 
Status](https://github.com/jwiegley/use-package/actions/workflows/test.yml/badge.svg)](https://github.com/jwiegley/use-package/actions)
[![MELPA](https://melpa.org/packages/use-package-badge.svg)](https://melpa.org/#/use-package)
[![MELPA 
Stable](https://stable.melpa.org/packages/use-package-badge.svg)](https://stable.melpa.org/#/use-package)

The `use-package` macro allows you to isolate package configuration in your
`.emacs` file in a way that is both performance-oriented and, well, tidy.  I
created it because I have over 80 packages that I use in Emacs, and things
were getting difficult to manage.  Yet with this utility my total load time is
around 2 seconds, with no loss of functionality!

**NOTE**: `use-package` is **not** a package manager! Although `use-package`
does have the useful capability to interface with package managers (see
[below](#package-installation)), its primary purpose is for the configuration
and loading of packages.

Notes for users upgrading to 2.x are located [at the bottom](#upgrading-to-2x).

- [Installing use-package](#installing-use-package)
- [Getting started](#getting-started)
- [Key-binding](#key-binding)
        + [Binding to keymaps](#binding-to-keymaps)
        + [Binding within local keymaps](#binding-within-local-keymaps)
- [Modes and interpreters](#modes-and-interpreters)
- [Magic handlers](#magic-handlers)
- [Hooks](#hooks)
- [Package customization](#package-customization)
  + [Customizing variables](#customizing-variables)
  + [Customizing faces](#customizing-faces)
- [Notes about lazy loading](#notes-about-lazy-loading)
- [Information about package loads](#information-about-package-loads)
--8<---------------cut here---------------end--------------->8---

And is followed by the entire manual (from the README file).  I wonder
if it would be better to set :redeem in the package specification to
ignore, and instead just display the shorter commentary section:

--8<---------------cut here---------------start------------->8---
;; The `use-package' declaration macro allows you to isolate package
;; configuration in your ".emacs" in a way that is performance-oriented and,
;; well, just tidy.  I created it because I have over 80 packages that I use
;; in Emacs, and things were getting difficult to manage.  Yet with this
;; utility my total load time is just under 1 second, with no loss of
;; functionality!
;;
;; Please see README.md from the same repository for documentation.
--8<---------------cut here---------------end--------------->8---

Perhaps just with the reference to the README.md replaced with a
reference to the forthcoming manual.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]