all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: phillip.lord@russet.org.uk (Phillip Lord)
To: "João Távora" <joaotavora@gmail.com>
Cc: Pedro Silva <psilva@pedrosilva.pt>, emacs-devel@gnu.org
Subject: Re: use-package.el -> Emacs core
Date: Tue, 10 Nov 2015 17:36:59 +0000	[thread overview]
Message-ID: <874mgtoix0.fsf@russet.org.uk> (raw)
In-Reply-To: <jjbk2pqht55.fsf@gmail.com> ("João Távora"'s message of "Tue, 10 Nov 2015 13:37:58 +0000")

João Távora <joaotavora@gmail.com> writes:

> phillip.lord@russet.org.uk (Phillip Lord) writes:
>
>> use-package introduces a single (documented) form. So, it's easy to
>> re-eval everything, and keeps all your code in one place. Trivial as
>> this sounds, this is actually pretty useful.
>>
>> In your examples, you need to "progn" everything to achieve the same.
>
> Or use `eval-region'. Or eval the whole .emacs while you're at it.

The first is error prone, the second assumes your entire .emacs is
idempotent.


> So, unless I'm missing something, your example is misrepresenting the
> alternative: when I asked about a fair comparison, I didn't mean a mere
> macroexpansion of the `use-package' form.

The point is that the two forms have quite different expansions, despite
containing quite overlapping arguments.


>>           (message "%s...done" "Loading package foo"))))))
>
> By the way, for the pretty logging functionality, why not add something
> more atomic like a `timing' macro? It could be used as your `progn'
> replacement
>
>    (with-timing "Loading bla"
>      ... configure bla ...)
>
> As well as anything else not related to packages
>
>    (with-timing "Frankinboging fretzels" ...)
>
> I prefer reusable components to big obscure, hard-to-debug black magic
> spells.

That would be nice, yes, and would be a valuable change, as the
with-timing could be turned on and off in a uniform way.

> As another drawback, if a user messes up a line in use-package (still
> totally possible right?) it's much easier to catch that error in a
> backtrace, or a byte-compilation log, when *not* using the syntactic
> sugar.

Yes. Although, the ability to turn lazy loading (with defer) on and off
is a big help in debugging .emacs files. Still use-package now has some
nice error handling. You can't use invalid keyword any more. I've also
found the clean mechanism for disabling all configuration for a package
at once to be helpful.


> The problem could be slightly reduced if use-package came with an edebug
> spec. I don't think it does.

That would be useful, but only so useful. In practice, edebug is not, in
my experience, enormously useful in debugging .emacs files.


>> A useful system for working out why your .emacs is so slow to load.
>>
>> *shrugs*. I really like it, and it's made my .emacs cleaner.
>
> If *you* like it and in your opinion it's cleaner then *you* really
> should use it :-)

I do.


> My argument is that, by adding it to Emacs, especially to the core,
> you're effectively supporting another official package configuration
> method, thus burdening every package maintainer with a different opinion
> with the need to learn a new DSL when reading user's bug
> reports. Perhaps every other package maintainer has converted already,
> but at least I haven't, not yet.

Yes, I agree. On the flip-side, you are removing the burden of bootstrap
problem that use-package has. I use it to ensure that all the packages I
use are installed, but I have to install it with a different technique
(I call package directly). I think that the bootstrap burden is a
sensible justification for keeping use-package in core.

Phil




  parent reply	other threads:[~2015-11-10 17:36 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-10  0:02 use-package.el -> Emacs core John Wiegley
2015-11-10  0:14 ` Dmitry Gutov
2015-11-10  0:31   ` John Wiegley
2015-11-10  0:40     ` Dmitry Gutov
2015-11-10  7:55     ` Oleh Krehel
2015-11-10 11:52       ` Juanma Barranquero
2015-11-10 12:10         ` Oleh Krehel
2015-11-10 12:23           ` Juanma Barranquero
2015-11-10 12:40             ` Oleh Krehel
2015-11-10 12:47               ` Juanma Barranquero
2015-11-10 15:15                 ` John Wiegley
2015-11-10 15:42                   ` Juanma Barranquero
2015-11-10 15:56                     ` Dmitry Gutov
2015-11-11  0:37                     ` Stephen Leake
2015-11-11  0:56                       ` Juanma Barranquero
2015-11-10 15:55                   ` João Távora
2015-11-10 16:08                     ` John Wiegley
2015-11-10 16:23                   ` Drew Adams
2015-11-10 14:03               ` David Kastrup
2015-11-10 14:15                 ` Oleh Krehel
2015-11-10 14:22                 ` João Távora
2015-11-10 15:17                   ` John Wiegley
2015-11-10 15:46                     ` João Távora
2015-11-10 18:15                       ` John Wiegley
2015-11-10 19:32                         ` João Távora
2015-11-10 19:47                           ` John Wiegley
2015-11-10 21:00                             ` João Távora
2015-11-10 15:56                     ` Kaushal Modi
2015-11-10 18:20                       ` John Wiegley
2015-11-10 18:32                         ` Drew Adams
2015-11-10 18:38                           ` John Wiegley
2015-11-10 18:52                             ` Kaushal Modi
2015-11-10 18:55                               ` John Wiegley
2015-11-10 19:24                             ` Drew Adams
2015-11-10 19:35                               ` John Wiegley
2015-11-10 20:42                                 ` Drew Adams
2015-11-10 12:42             ` Kaushal Modi
2015-11-10 12:46           ` David Kastrup
2015-11-10 13:06             ` Oleh Krehel
2015-11-10 18:15               ` Evgeny Panasyuk
2015-11-10 18:31                 ` Alan Mackenzie
2015-11-10 13:32             ` Wolfgang Jenkner
2015-11-10 15:08               ` Customize is only for newbies? [was: use-package.el -> Emacs core] Drew Adams
2015-11-11  0:01                 ` Wolfgang Jenkner
2015-11-10 14:58           ` Drew Adams
2015-11-10 15:42             ` John Wiegley
2015-11-10  8:49     ` use-package.el -> Emacs core João Távora
2015-11-10  8:57       ` Pedro Silva
2015-11-10  9:45         ` João Távora
2015-11-10 12:01           ` Phillip Lord
2015-11-10 13:37             ` João Távora
2015-11-10 14:07               ` Oleh Krehel
2015-11-10 14:39               ` Nicolas Richard
2015-11-10 14:48                 ` João Távora
2015-11-10 15:40                   ` John Wiegley
2015-11-12 12:43                   ` Nicolas Richard
2015-11-10 17:36               ` Phillip Lord [this message]
2015-11-10  0:44 ` Artur Malabarba
2015-11-10  1:05   ` John Wiegley
2015-11-10  1:24     ` Artur Malabarba
2015-11-10  1:37       ` John Wiegley
2015-11-10  3:20         ` Artur Malabarba
2015-11-10  5:37           ` Kaushal Modi
2015-11-10  6:07             ` John Wiegley
2015-11-10 23:27             ` Stephen Leake
2015-11-10 23:32               ` John Wiegley
2015-11-11  9:29                 ` Oleh Krehel
2015-11-11 16:48                   ` John Wiegley
2015-11-11 20:04                     ` Kaushal Modi
2015-11-11 20:10                       ` John Wiegley
2015-11-12  2:11                       ` Copyright assignments in Gnu Elpa (was: use-package.el -> Emacs core) Michael Heerdegen
2015-11-12  2:19                         ` Copyright assignments in Gnu Elpa John Wiegley
2015-11-12  3:50                         ` Artur Malabarba
2015-11-12 22:31                         ` Copyright assignments in Gnu Elpa (was: use-package.el -> Emacs core) Richard Stallman
2015-11-15 14:51                           ` Copyright assignments in Gnu Elpa Andreas Röhler
2015-11-16 19:30                             ` Richard Stallman
2015-11-10  1:37 ` use-package.el -> Emacs core Ted Zlatanov
2015-11-10  8:24 ` joakim
2015-11-11  0:29   ` Stephen Leake
2015-11-11  0:45     ` Dmitry Gutov
2015-11-11  9:30       ` Stephen Leake
2015-11-11 10:04         ` Xue Fuqiao
2015-11-11 10:20         ` Artur Malabarba
2015-11-10  8:44 ` Andreas Röhler
2015-11-10  9:29 ` Nicolas Petton
2015-11-11  0:32   ` Stephen Leake
2015-11-11  0:37     ` John Wiegley
2015-11-10 18:21 ` Stephen Leake
2015-11-10 18:34   ` John Wiegley
2015-11-10 19:54     ` Dmitry Gutov
2015-11-10 20:09       ` Kaushal Modi
2015-11-10 20:27         ` John Wiegley
2015-11-11  0:04     ` Stephen Leake
  -- strict thread matches above, loose matches on Subject: below --
2017-02-15 19:49 Toon Claes
2017-02-15 19:51 ` John Wiegley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=874mgtoix0.fsf@russet.org.uk \
    --to=phillip.lord@russet.org.uk \
    --cc=emacs-devel@gnu.org \
    --cc=joaotavora@gmail.com \
    --cc=psilva@pedrosilva.pt \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.