unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ted Zlatanov <tzz@lifelogs.com>
To: emacs-devel@gnu.org
Subject: Re: user-controlled load-path extension: load-dir
Date: Tue, 08 Mar 2011 15:38:02 -0600	[thread overview]
Message-ID: <874o7ds37p.fsf@lifelogs.com> (raw)
In-Reply-To: jwv8vwpe3s9.fsf-monnier+emacs@gnu.org

On Tue, 08 Mar 2011 15:59:51 -0500 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: 

>>>> I think this proposal is really about code snippets that people would
>>>> otherwise just cut and paste into their .emacs file.  The average
>>>> user's .emacs often winds up containing mostly code they found
>>>> somewhere and use without really understanding it.  Dropping each
>>>> snippit in its own file would be a big help if the user ever did need
>>>> to debug some problem with his init, or if he decided one day to
>>>> actually learn elisp.

SM> I'm far from convinced it's better for people to drop random chunks of
SM> configuration into separate files rather than all in the .emacs file.

>> It's not "better," it's what people already do.

SM> I must be missing something.  I see two different things on the web:
SM> packages on the one hand and Elisp configuration chunks on the other.
SM> The first come in files you can download, the other comes in
SM> <pre>...</pre> elements in HTML pages which you can copy&paste.
SM> My claim is that the first can be better handled by package.el or themes
SM> and the other works just fine in .emacs.

There is a third class: streams (or snippets) of code I don't want to
keep inside my .emacs because I don't like to make it big.  There are
some users who will use and enjoy this functionality, even if other
users won't.  As I proposed it, it will be off by default so it only
benefits those who enable it and won't harm those who don't.

This kind of modularization doesn't make it to the web as much because
it's usually specific to the user's needs.  Here are some examples:

http://www.emacswiki.org/emacs/JoelAdamson#toc5
http://www.io.com/~jimm/emacs_tips.html#my-dot-emacs
http://www.emacswiki.org/emacs/DotEmacsModular
https://github.com/technomancy/emacs-starter-kit
http://www.emacswiki.org/emacs/InitSplit
http://stackoverflow.com/questions/2079095/how-to-modularize-an-emacs-configuration

It's a common need as you can see.

In the Emacs core it will be easier to enable it, that's all.  Otherwise
the instructions have to be "install package load-dir, THEN do the rest"
which is a bit more work, requires a network connection, etc.

>> want to load them modularly.  So I put them in the load-dir.  Do I have
>> to make 8 packages?  And every time I update one of those files, do I
>> have to repackage it with a new version?  That seems workable but
>> tedious compared to the code proposed by Ben Key and Evans Winner.

SM> If you're really talking about configuration code rather than packages,
SM> then I tend to assume that people whose .emacs is so large as to need
SM> modularization can figure out which kind of modularization they want and
SM> implement (or copy&paste) the corresponding loop to load the various files.

Yes, but you're assuming managing configuration modules in monolithic
Emacs Lisp is the best way.  Give us something simple and easy to manage
the loop at the filesystem level, so we don't have to write it
ourselves.

SM> I'm not even sure why you'd want to "modularize" in this way: my .emacs
SM> was fairly large but splitting it into separate files never seemed like
SM> a good way to help, since I'd then have to figure out how to make C-s
SM> and M-/ find matches in neighboring files.  Instead I "split" it with
SM> outline-minor-mode.

For me it works better.  I like small files; outline-minor-mode and
folding-mode don't work for me.  I suspect I'm not the only one.  See
the URLs above for a list of similar needs.

>> If you're against including the load-dir in the core and enabling it by
>> default, how about making it a GNU ELPA package so it's easily
>> installable?

SM> Such a package would be perfectly acceptable, yes.

I'll work with Ben Key to do this in a package if you and Chong Yidong
reject this functionality from the Emacs core.

Ted




  reply	other threads:[~2011-03-08 21:38 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-01 20:32 user-controlled load-path extension: load-dir Ted Zlatanov
2011-03-03 21:07 ` Dimitri Fontaine
2011-03-04  9:55   ` Julien Danjou
2011-03-04 17:18     ` Tom Tromey
2011-03-04 18:04       ` Ted Zlatanov
2011-03-04 18:37       ` Dimitri Fontaine
2011-03-04 19:35         ` Tom Tromey
2011-03-04 19:45           ` Dimitri Fontaine
2011-03-04 19:54             ` Ted Zlatanov
2011-03-04 20:21               ` Dimitri Fontaine
2011-03-04 20:25               ` Chad Brown
2011-03-04 20:46                 ` Ted Zlatanov
2011-03-05 19:24                   ` Chad Brown
2011-03-04 20:26               ` Chad Brown
2011-03-04 20:08             ` Tom Tromey
2011-03-04 20:24               ` Dimitri Fontaine
2011-03-04 21:17                 ` Tom Tromey
2011-03-04 21:33                   ` Dimitri Fontaine
2011-03-04 21:37                     ` Tom Tromey
2011-03-05  3:18                     ` Ted Zlatanov
2011-03-05 19:11                       ` Chad Brown
2011-03-06  7:21                       ` Mike Mattie
2011-03-07 16:24                         ` Ted Zlatanov
2011-03-07 17:18                           ` Chad Brown
2011-03-07 17:59                             ` Ted Zlatanov
2011-03-08 17:36                             ` Dimitri Fontaine
2011-03-08 18:30                               ` Chad Brown
2011-03-07 17:52                           ` Stefan Monnier
2011-03-07 20:39                             ` PJ Weisberg
2011-03-08  2:46                               ` Stefan Monnier
2011-03-08 10:26                                 ` Ted Zlatanov
2011-03-08 17:14                                   ` Chong Yidong
2011-03-08 18:47                                     ` Ted Zlatanov
2011-03-08 19:23                                       ` Julien Danjou
2011-03-09  2:54                                         ` Stefan Monnier
2011-03-09 19:57                                           ` Chong Yidong
2011-03-08 20:59                                   ` Stefan Monnier
2011-03-08 21:38                                     ` Ted Zlatanov [this message]
2011-03-09  7:06                                       ` Jan D.
2011-03-09  7:17                                         ` Christoph Scholtes
2011-03-09 10:01                                           ` Jan Djärv
2011-03-09 15:42                                             ` `custom-file' and init-file [was: user-controlled load-path extension: load-dir] Drew Adams
2011-03-09 17:54                                               ` `custom-file' and init-file Stephen J. Turnbull
2011-03-09 21:19                                               ` `custom-file' and init-file [was: user-controlled load-path extension: load-dir] Evans Winner
2011-03-09 21:39                                                 ` `custom-file' and init-file [was: user-controlled load-pathextension: load-dir] Drew Adams
2011-03-10  2:52                                                 ` `custom-file' and init-file [was: user-controlled load-path extension: load-dir] Stephen J. Turnbull
2011-03-09 17:29                                             ` user-controlled load-path extension: load-dir Stephen J. Turnbull
2011-03-09 18:18                                               ` Ted Zlatanov
2011-03-09 19:33                                                 ` Stephen J. Turnbull
2011-03-09 19:57                                                   ` Ted Zlatanov
2011-03-10  3:20                                                     ` Stephen J. Turnbull
2011-03-10  5:01                                                       ` Ted Zlatanov
2011-03-10  7:08                                                         ` Stephen J. Turnbull
2011-03-10 13:15                                                           ` Ted Zlatanov
2011-03-11  2:10                                                             ` Stephen J. Turnbull
2011-03-09 21:57                                         ` Mike Mattie
2011-03-10  7:08                                           ` Jan Djärv
2011-03-09  6:03                                   ` Mike Mattie
2011-03-09  7:20                                     ` Jan D.
2011-03-09 23:44                                       ` Mike Mattie
2011-03-08  0:47                           ` Mike Mattie
2011-03-08 10:37                             ` Ted Zlatanov
2011-03-09  6:26                               ` Mike Mattie
2011-03-09 11:26                                 ` Ted Zlatanov
  -- strict thread matches above, loose matches on Subject: below --
2011-03-08  7:14 Ben Key
2011-03-08  9:58 ` Evans Winner
2011-03-08 18:49   ` PJ Weisberg
     [not found] <AANLkTin1zXJQo2vsju7kpa31Nw568m_eNZS+gJ6g2tQO@mail.gmail.com>
2011-03-08 18:49 ` Ben Key
2011-03-08 20:01   ` Dimitri Fontaine
2011-03-08 20:25     ` Chad Brown
2011-03-08 20:38       ` Dimitri Fontaine
2011-03-08 22:40         ` Chad Brown
2011-03-09  9:36           ` Dimitri Fontaine
2011-03-09 11:52             ` Ted Zlatanov
2011-03-08 22:57     ` Ben Key
2011-03-09  3:28       ` Ben Key
2011-03-09  6:50         ` Ben Key
2011-03-09  7:29           ` Jan D.
2011-03-09 16:00             ` Ben Key
2011-03-09 11:39           ` Ted Zlatanov
2011-03-09 19:51       ` Chong Yidong
2011-03-09 20:08         ` Ben Key
2011-03-09 20:18         ` Ted Zlatanov
2011-03-09 20:32           ` Chong Yidong
2011-03-09 20:44             ` Ted Zlatanov
2011-03-10 11:30             ` Dimitri Fontaine
2011-03-10 14:27               ` Tom Tromey
2011-03-10 17:23                 ` Dimitri Fontaine
2011-03-10 18:33                   ` Tom Tromey
2011-03-10 18:56                     ` Chong Yidong
2011-03-10 19:32                       ` Eli Zaretskii
2011-03-10 20:30                       ` Dimitri Fontaine
2011-03-10 21:54                         ` Chong Yidong
2011-03-11  8:43                           ` Dimitri Fontaine
2011-03-10 19:36                     ` Jambunathan K
2011-03-11 15:00               ` chad
2011-03-11 17:41                 ` Dimitri Fontaine
2011-03-12  5:51                   ` chad
2011-03-12 10:09                     ` Jan Djärv
2011-03-11 18:51                 ` Ted Zlatanov
2011-03-16 14:16             ` Ted Zlatanov
2011-03-16 15:43               ` Stefan Monnier
2011-03-16 20:08                 ` Ted Zlatanov
2011-03-17  2:13                   ` Stefan Monnier
2011-03-17  3:34                     ` Ted Zlatanov
2011-03-17  4:42                       ` PJ Weisberg
2011-03-16 20:11               ` Evans Winner
2011-03-16 20:23                 ` Ted Zlatanov
2011-03-10  2:21         ` Stefan Monnier
2011-03-17  4:22 Ben Key
2011-03-17  6:31 ` Evans Winner
2011-03-17 10:55 ` Ted Zlatanov
2011-03-17 20:11   ` Stefan Monnier
2011-03-17 21:01     ` Ted Zlatanov
2011-03-17 21:05       ` Tom Tromey
2011-03-17 21:23         ` Ted Zlatanov
2011-03-17 22:50           ` Glenn Morris
2011-03-18  2:46             ` Ted Zlatanov
2011-03-18 10:56               ` Dimitri Fontaine
2011-03-18 13:07                 ` Ted Zlatanov
2011-03-18  2:21       ` Stefan Monnier
2011-03-19  4:10 Ben Key
2011-03-19 13:29 ` Juanma Barranquero
2011-03-19 16:07   ` Ben Key
2011-03-19 14:15 ` Ted Zlatanov
2011-03-20  2:58 ` Stefan Monnier
2011-03-20 12:05   ` Ted Zlatanov
2011-03-23 15:32     ` Ted Zlatanov
2011-03-23 20:33       ` Stefan Monnier
2011-03-24  0:03 Ben Key
2011-03-24 14:38 ` Stefan Monnier
2011-03-26 11:37   ` Ted Zlatanov
2011-04-02 18:35     ` Chong Yidong
2011-04-04  9:54       ` Ted Zlatanov

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=874o7ds37p.fsf@lifelogs.com \
    --to=tzz@lifelogs.com \
    --cc=emacs-devel@gnu.org \
    /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 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).