unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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: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

* 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

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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).