* Feature Request : autoload-form @ 2008-03-28 20:05 paul r 2008-03-29 4:20 ` Stefan Monnier 0 siblings, 1 reply; 21+ messages in thread From: paul r @ 2008-03-28 20:05 UTC (permalink / raw) To: Emacs Devel Dear list, autoload is a very convenient feature to pseudo-defun a function until it is called for real for the first time. I have been using it happily until today, when I came accross a need I can not suit with autoload. Here is why : There is a file B that does some (require ...) and some (load ...). In one of the loaded files, function F will be defined. There is a file A that changes the load-path, which is required before loading B. B does not depend on a predefined A file, therefore I can not put a (load A) in B. The only way I have to carry a proper load is to do (load A)(load B). After that, I'm sure F will be defined the way I want. I can really not do that with a single file. Hence my need : I think it would be convenient to have a variant of autoload, let's call it 'autoload-form'. Its look would be : (autoload-form function form &optional docstring interactive type) IOW, exactly the same as autoload, except that FILE becomes FORM. It is a kind a generalization of autoload, in which it is up to FORM to do what is needed to provide a side-effect of having FUNCTION defined. To make sure I am clear, the following two lines have the same effect (autoload foo "bar.el") (autoload-form foo (load-file "bar.el")) With that, I could do a (autoload-form F (load-file "A")(load-file "B")) Without, the only alternative I see is to write (load-file "A")(load-file "B") in a dummy file, then register it with autoload. I really want to do that myself, but autoload belongs to the C part of emacs, and I lack knowledge to change anything in it. I do not know how to do this in emacs lisp, whenever it is possible. I would like to know what you think about that. If you think I can do something clean in lisp, please give me some hints, I do not know where to start. Regards, -- Paul ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-28 20:05 Feature Request : autoload-form paul r @ 2008-03-29 4:20 ` Stefan Monnier 2008-03-29 9:49 ` paul r 2008-03-30 5:49 ` Richard Stallman 0 siblings, 2 replies; 21+ messages in thread From: Stefan Monnier @ 2008-03-29 4:20 UTC (permalink / raw) To: paul r; +Cc: Emacs Devel > (autoload foo "bar.el") > (autoload-form foo (load-file "bar.el")) You could just change autoload to do that. It's a pretty simple change in the C code. Stefan ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-29 4:20 ` Stefan Monnier @ 2008-03-29 9:49 ` paul r 2008-03-29 19:40 ` Stefan Monnier 2008-03-30 5:49 ` Richard Stallman 1 sibling, 1 reply; 21+ messages in thread From: paul r @ 2008-03-29 9:49 UTC (permalink / raw) To: Stefan Monnier; +Cc: Emacs Devel 2008/3/29, Stefan Monnier <monnier@iro.umontreal.ca>: > > (autoload foo "bar.el") > > (autoload-form foo (load-file "bar.el")) > > > You could just change autoload to do that. It's a pretty simple change > in the C code. > I'm totally unskilled when it comes to the C code. I admit it is not so-hard, but it will probably take me several hours to get it right. Having a clean solution to my problem is not worth several hours. So I'm willing to spend this time if you think it can bring something useful to emacs. What do you think ? ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-29 9:49 ` paul r @ 2008-03-29 19:40 ` Stefan Monnier 0 siblings, 0 replies; 21+ messages in thread From: Stefan Monnier @ 2008-03-29 19:40 UTC (permalink / raw) To: paul r; +Cc: Emacs Devel >> > (autoload foo "bar.el") >> > (autoload-form foo (load-file "bar.el")) >> You could just change autoload to do that. It's a pretty simple change >> in the C code. > I'm totally unskilled when it comes to the C code. I admit it is not > so-hard, but it will probably take me several hours to get it right. > Having a clean solution to my problem is not worth several hours. So > I'm willing to spend this time if you think it can bring something > useful to emacs. What do you think ? If it's done well, we could install it in the trunk (you'd probably have to sign copyright paperwork for that, of course). In any case, grep for `do_autoload' in the src/*.c files to see where the autoloading is done. That's probably the main part of the code you'll need to change. But change should be fairly small. Stefan ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-29 4:20 ` Stefan Monnier 2008-03-29 9:49 ` paul r @ 2008-03-30 5:49 ` Richard Stallman 2008-03-30 11:24 ` paul r 1 sibling, 1 reply; 21+ messages in thread From: Richard Stallman @ 2008-03-30 5:49 UTC (permalink / raw) To: Stefan Monnier; +Cc: paul.r.ml, emacs-devel > (autoload foo "bar.el") > (autoload-form foo (load-file "bar.el")) You could just change autoload to do that. It's a pretty simple change in the C code. I don't think we should install this in Emacs, though. Something like autoload should be kept simple and limited. If loading a certain file needs load-path to be set a certain way, the user should simply set load-path that way, perhaps in .emacs. It is a bad idea to have files that only work right if load-path is temporarily changed; rather than adding a new file to Emacs to cope with that situation, it would be better to redesign the Lisp code that appears to need it. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-30 5:49 ` Richard Stallman @ 2008-03-30 11:24 ` paul r 2008-03-30 15:03 ` Stefan Monnier ` (3 more replies) 0 siblings, 4 replies; 21+ messages in thread From: paul r @ 2008-03-30 11:24 UTC (permalink / raw) To: rms; +Cc: Stefan Monnier, emacs-devel 2008/3/30, Richard Stallman <rms@gnu.org>: > I don't think we should install this in Emacs, though. Something like > autoload should be kept simple and limited. I think of autoload as a particular case of the general need to "eval-on-event-then-call". Therefore, I do not see why evaluating a form is less simple than loading a file. Form evaluation is, indeed, less limited but I don't see why it should be a disadvantage here. > If loading a certain file needs load-path to be set a certain way, > the user should simply set load-path that way, perhaps in .emacs. > It is a bad idea to have files that only work right if load-path > is temporarily changed; rather than adding a new file to Emacs > to cope with that situation, it would be better to redesign the > Lisp code that appears to need it. You are understanding most of the problem I'm facing. I'll try to give you some more information in a manner as concise as possible. I wrote a system called TidyConfig for emacs. It is not a mode, it is a system. Its ultimate goal is to allow people to share effectively what usualy resides in .emacs. Some people want to do that, because they have very similar usage profiles, although not exactly the same. Users copies can be synced using a DVCS. The best example I see is people in my company, who all use TidyConfig and this way avoid duplicated efforts. To achieve that : - I got rid of the monolithic .emacs, so that bits of configuration go into dedicated "modules". There is a module for C-mode, one for Muse-mode etc. One module resides in one file. Modules are shared in your network of friends/colleagues ... anybody syncing with you, so they are "network-specific" but not "user-specific". - To allow fine-tuning, a user can use "module configuration file", which is an other file, with personal tweaking in it. Those conf files are not shared and are usually optional. They are user specific, and private. Exemple : the ERC module does a lot of configuration, but it can not set up username, password etc because this information is user-specific. Any module is optional, this is the whole point of this project. Each user simply choose in a list what modules he wants to use. He can chose to load them at startup time, or "later when needed". In this last case, I obviously use autoload. I could put, at beginning of *every* modules, a (load-file "thisModuleConfigurationFile" t). This is what I did before, but I do not find that elegant, nor fully satisfactory in many ways for the needs, so it now is to the TidyConfig system to carry proper loading of modules. Here we are. I currently have no option to do so, except putting the form I want to eval in a dummy file and registering this file with autoload. This is now what I do, and please believe I don't feel pround of that ugly hack :) If you want to visit my upstream TidyConfig repository, and why not give it a try, you can go to http://emacs.kekerekex.net:8008/tidyconfig-vanilla/summary . It is versionned through mercurial, so you can also do a "hg clone" of this url. It could maybe be used as a playground for people here to try and share some lisp before checking in into the trunk, and also to get hands on DVCS. There is an up to date documentation in english. Hope that was not too long ... Thanks. -- Paul ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-30 11:24 ` paul r @ 2008-03-30 15:03 ` Stefan Monnier 2008-03-30 22:28 ` paul r 2008-03-30 19:55 ` Richard Stallman ` (2 subsequent siblings) 3 siblings, 1 reply; 21+ messages in thread From: Stefan Monnier @ 2008-03-30 15:03 UTC (permalink / raw) To: paul r; +Cc: rms, emacs-devel > I think of autoload as a particular case of the general need to > "eval-on-event-then-call". Therefore, I do not see why evaluating a > form is less simple than loading a file. Form evaluation is, indeed, > less limited but I don't see why it should be a disadvantage here. By the way, instead of (autoload <fun> <exp> <doc>) you can do (defun <fun> (&rest args) <doc> <exp> (apply <fun> args)) -- Stefan ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-30 15:03 ` Stefan Monnier @ 2008-03-30 22:28 ` paul r 2008-03-31 7:58 ` Levin Du 0 siblings, 1 reply; 21+ messages in thread From: paul r @ 2008-03-30 22:28 UTC (permalink / raw) To: Stefan Monnier; +Cc: rms, emacs-devel 2008/3/30, Stefan Monnier <monnier@iro.umontreal.ca>: > > I think of autoload as a particular case of the general need to > > "eval-on-event-then-call". Therefore, I do not see why evaluating a > > form is less simple than loading a file. Form evaluation is, indeed, > > less limited but I don't see why it should be a disadvantage here. > > > By the way, instead of > > (autoload <fun> <exp> <doc>) > > you can do > > (defun <fun> (&rest args) > <doc> > <exp> > (apply <fun> args)) > I needed to do a macro for that, because <fun> name is known at runtime, but at the end it works. Thank you. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-30 22:28 ` paul r @ 2008-03-31 7:58 ` Levin Du 0 siblings, 0 replies; 21+ messages in thread From: Levin Du @ 2008-03-31 7:58 UTC (permalink / raw) To: paul r; +Cc: emacs-devel, Stefan Monnier, rms [-- Attachment #1: Type: text/plain, Size: 829 bytes --] We currenly have (eval-after-load file form), what about: (eval-before-load file form) to make things easier? 2008/3/31, paul r <paul.r.ml@gmail.com>: > > 2008/3/30, Stefan Monnier <monnier@iro.umontreal.ca>: > > > I think of autoload as a particular case of the general need to > > > "eval-on-event-then-call". Therefore, I do not see why evaluating a > > > form is less simple than loading a file. Form evaluation is, indeed, > > > less limited but I don't see why it should be a disadvantage here. > > > > > > By the way, instead of > > > > (autoload <fun> <exp> <doc>) > > > > you can do > > > > (defun <fun> (&rest args) > > <doc> > > <exp> > > (apply <fun> args)) > > > > I needed to do a macro for that, because <fun> name is known at > runtime, but at the end it works. > Thank you. -- Levin [-- Attachment #2: Type: text/html, Size: 1507 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-30 11:24 ` paul r 2008-03-30 15:03 ` Stefan Monnier @ 2008-03-30 19:55 ` Richard Stallman 2008-03-30 21:35 ` Mike Mattie 2008-03-31 16:24 ` Richard Stallman 3 siblings, 0 replies; 21+ messages in thread From: Richard Stallman @ 2008-03-30 19:55 UTC (permalink / raw) To: paul r; +Cc: monnier, emacs-devel I think of autoload as a particular case of the general need to "eval-on-event-then-call". Looking for the most general way to think of this is not a good practice. Please listen to my experience. Features like autoload should be kept as limited as possible. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-30 11:24 ` paul r 2008-03-30 15:03 ` Stefan Monnier 2008-03-30 19:55 ` Richard Stallman @ 2008-03-30 21:35 ` Mike Mattie 2008-03-31 16:24 ` Richard Stallman 3 siblings, 0 replies; 21+ messages in thread From: Mike Mattie @ 2008-03-30 21:35 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 4146 bytes --] On Sun, 30 Mar 2008 12:24:19 +0100 "paul r" <paul.r.ml@gmail.com> wrote: > 2008/3/30, Richard Stallman <rms@gnu.org>: > > > I don't think we should install this in Emacs, though. Something > > like autoload should be kept simple and limited. > > I think of autoload as a particular case of the general need to > "eval-on-event-then-call". Therefore, I do not see why evaluating a > form is less simple than loading a file. Form evaluation is, indeed, > less limited but I don't see why it should be a disadvantage here. > > > If loading a certain file needs load-path to be set a certain way, > > the user should simply set load-path that way, perhaps in .emacs. > > It is a bad idea to have files that only work right if load-path > > is temporarily changed; rather than adding a new file to Emacs > > to cope with that situation, it would be better to redesign the > > Lisp code that appears to need it. > > You are understanding most of the problem I'm facing. I'll try to give > you some more information in a manner as concise as possible. > I wrote a system called TidyConfig for emacs. It is not a mode, it is > a system. Its ultimate goal is to allow people to share effectively > what usualy resides in .emacs. Some people want to do that, because > they have very similar usage profiles, although not exactly the same. > Users copies can be synced using a DVCS. The best example I see is > people in my company, who all use TidyConfig and this way avoid > duplicated efforts. To achieve that : > - I got rid of the monolithic .emacs, so that bits of configuration > go into dedicated "modules". There is a module for C-mode, one for > Muse-mode etc. One module resides in one file. Modules are shared in > your network of friends/colleagues ... anybody syncing with you, so > they are "network-specific" but not "user-specific". > - To allow fine-tuning, a user can use "module configuration file", > which is an other file, with personal tweaking in it. Those conf files > are not shared and are usually optional. They are user specific, and > private. Exemple : the ERC module does a lot of configuration, but it > can not set up username, password etc because this information is > user-specific. > > Any module is optional, this is the whole point of this project. Each > user simply choose in a list what modules he wants to use. He can > chose to load them at startup time, or "later when needed". In this > last case, I obviously use autoload. > > I could put, at beginning of *every* modules, a (load-file > "thisModuleConfigurationFile" t). This is what I did before, but I do > not find that elegant, nor fully satisfactory in many ways for the > needs, so it now is to the TidyConfig system to carry proper loading > of modules. > > Here we are. I currently have no option to do so, except putting the > form I want to eval in a dummy file and registering this file with > autoload. This is now what I do, and please believe I don't feel > pround of that ugly hack :) > > If you want to visit my upstream TidyConfig repository, and why not > give it a try, you can go to > http://emacs.kekerekex.net:8008/tidyconfig-vanilla/summary . It is > versionned through mercurial, so you can also do a "hg clone" of this > url. It could maybe be used as a playground for people here to try and > share some lisp before checking in into the trunk, and also to get > hands on DVCS. There is an up to date documentation in english. > > Hope that was not too long ... Thanks. I wrote something very similar, but different on some design points. It boiled down to my "modules" having a three part form: [define meta-data & hooks ] [ load w/require ] [ setup ] I would define things like install hooks before the loading part. If anything went wrong with loading needed libraries, my load function could execute the install hooks, and re-evaluate the module. loading would be a bunch of require forms. The setup would configure and integrate the features. If you want to know more drop me a mail off-list. > -- Paul > > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-30 11:24 ` paul r ` (2 preceding siblings ...) 2008-03-30 21:35 ` Mike Mattie @ 2008-03-31 16:24 ` Richard Stallman 2008-03-31 17:36 ` paul r 2008-03-31 21:31 ` Mike Mattie 3 siblings, 2 replies; 21+ messages in thread From: Richard Stallman @ 2008-03-31 16:24 UTC (permalink / raw) To: paul r; +Cc: monnier, emacs-devel - I got rid of the monolithic .emacs, so that bits of configuration go into dedicated "modules". There is a module for C-mode, one for Muse-mode etc. One module resides in one file. Modules are shared in your network of friends/colleagues ... anybody syncing with you, so they are "network-specific" but not "user-specific". I think I understand what these do. I'm not completely sure why you want them, though. What job do these do, which you couldn't do by installing some Lisp libraries in the usual way? - To allow fine-tuning, a user can use "module configuration file", which is an other file, with personal tweaking in it. Those conf files are not shared and are usually optional. They are user specific, and private. Exemple : the ERC module does a lot of configuration, but it can not set up username, password etc because this information is user-specific. Why not put this stuff directly in .emacs? I could put, at beginning of *every* modules, a (load-file "thisModuleConfigurationFile" t). I don't see why you want to do that, rather than putting the "module configuration" expressions directly in .emacs. What do you gain? This is what I did before, but I do not find that elegant, nor fully satisfactory in many ways for the needs, so it now is to the TidyConfig system to carry proper loading of modules. I am confused. Are you talking about making a module load its module configuration expressions, or are you talking about how to load the module itself when it is needed? Those are two different issues, right? Some of your words seem to imply one, and some seem to imply the other. Here we are. I currently have no option to do so, except putting the form I want to eval in a dummy file and registering this file with autoload. I have lost you completely here. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-31 16:24 ` Richard Stallman @ 2008-03-31 17:36 ` paul r 2008-03-31 21:31 ` Mike Mattie 1 sibling, 0 replies; 21+ messages in thread From: paul r @ 2008-03-31 17:36 UTC (permalink / raw) To: rms; +Cc: monnier, emacs-devel 2008/3/31, Richard Stallman <rms@gnu.org>: I'll try to make things more clear below, but before reading the whole message, be warned : - it is long and unlikely to interest you, so you can safely skip it - I solved the original problem of this thread. > I think I understand what these do. I'm not completely sure why you > want them, though. What job do these do, which you couldn't do by > installing some Lisp libraries in the usual way? What usual way ? > > Why not put this stuff directly in .emacs? TidyConfig IS a .emacs splited into many files. Each file has a role. You may want to load some of them, and not some others. As an exemple, the upstream repository provides more than 20 modules, but usualy people use around 10 modules. For exemple, you can load 4 of them at startup time, then the 6 remaining dynamically when needed (thanks to autoload / automode etc). Any configuration should not be read -at all- if not needed yet. > I don't see why you want to do that, rather than putting the > "module configuration" expressions directly in .emacs. > What do you gain? Fine grained, per-feature, configuration "cherry-picking". But you are right that I could. > I am confused. Are you talking about making a module load its module > configuration expressions, or are you talking about how to load the > module itself when it is needed? Those are two different issues, right? > Some of your words seem to imply one, and some seem to imply the other. Sorry for not being clear. This system uses some conventions. Here is an exemple of a use case : - I sometime use latex-mode - I do not want it to be loaded at startup time because it would slow down for nothing - Some of the configuration should be shared with other users To do so : - I have some customization for this mode, that is shared by everybody in my company. This configuration is some lisp written in mod.latex.el. At the beginning of this file, there is (require 'latex) - I have personal preferences that are not shared, it goes to conf.latex.el - I need the actual latex mode librairy, so I download it from Auctex to my "modes" directory and name the directory "latex". - I register "metadata" which is a list of 3 elements '( module autoload-function automode-extension ), with following meaning : "load module on autoload-function call" and "call autoload-function on file matching automode-extension". Is this case, it will be basicaly '(latex latex-mode ".tex") And that's it. Nothing about latex will be loaded at emacs startup time, except "metadata". Then, when autoload-function is called for the first time, is does the "proper loading of module" that confused you, which is detailled below : 1 - load conf.latex.el (again, this is a per-user optional file) 2 - unless tidyconfig-avoid-local-mode has been set to 't in conf.latex.el, look for a directory in modes directory which name is "latex". If found, add it to load-path. 3 - load mod.latex.el. This module does (require 'latex), which in turn will define real latex-mode. 4 - call latex-mode The file mentionned above can be visited from [2]. So why do I have all this system ? Because, as strange as it can look at first glance, it provides strong consistency over how emacs config is managed as a whole, for me and for my "network". As well as easier portability over systems. I did not invente anything, 99% of the goodness is due to emacs clean design. I just did the last 1% to make it easier to access. I think it might be surprising mainly because it uses some conventions for loading process, while conventional lisp librairy explicitly express their dependencies through load-path settings, (require ...) (load ...) etc. Although I think the later is more robust, so is the right choice in most cases, I think the former is easier to maintain, for me, in the particular case of .emacs configuration. > I have lost you completely here. I'm sorry about that. If you have a web browser and want to give it a try, please go to [1], download a snapshot clicking on "zip" or "gz", extract in any directory, cd to this directory, and enter emacs -q -l tidyconfig.start.el Regards, -- Paul [1] http://emacs.kekerekex.net:8008/tidyconfig-vanilla/summary [2] http://emacs.kekerekex.net:8008/tidyconfig-vanilla/file ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-31 16:24 ` Richard Stallman 2008-03-31 17:36 ` paul r @ 2008-03-31 21:31 ` Mike Mattie 2008-04-02 2:53 ` Richard Stallman 1 sibling, 1 reply; 21+ messages in thread From: Mike Mattie @ 2008-03-31 21:31 UTC (permalink / raw) To: emacs-devel; +Cc: rms [-- Attachment #1: Type: text/plain, Size: 2849 bytes --] On Mon, 31 Mar 2008 12:24:45 -0400 Richard Stallman <rms@gnu.org> wrote: > - I got rid of the monolithic .emacs, so that bits of > configuration go into dedicated "modules". There is a module for > C-mode, one for Muse-mode etc. One module resides in one file. > Modules are shared in your network of friends/colleagues ... anybody > syncing with you, so they are "network-specific" but not > "user-specific". > > I think I understand what these do. I'm not completely sure why you > want them, though. What job do these do, which you couldn't do by > installing some Lisp libraries in the usual way? There isn't a usual way for installing elisp libraries, just whatever the user has slapped together out of necessity. The closest way to any usual way AFAICT is ELPA. The Emacs developers use trees of elisp source managed by CVS regularly, it is somewhat curious that a single .emacs file is considered adequate the user. In fact I think a single .emacs file discourages sharing emacs elisp because it contradicts directly the kind of modularity and organization essential to sharing. If I had not broken out of a single .emacs file long ago I never would have posted any elisp, because it was always a big hair-ball in a giant file. Something to consider at least. The rest of this line of thought is to off-topic for me to continue, but I will share ideas and code off-list. > - To allow fine-tuning, a user can use "module configuration > file", which is an other file, with personal tweaking in it. Those > conf files are not shared and are usually optional. They are user > specific, and private. Exemple : the ERC module does a lot of > configuration, but it can not set up username, password etc because > this information is user-specific. > > Why not put this stuff directly in .emacs? > > I could put, at beginning of *every* modules, a (load-file > "thisModuleConfigurationFile" t). > > I don't see why you want to do that, rather than putting the > "module configuration" expressions directly in .emacs. > What do you gain? > > This is what I did before, but I do > not find that elegant, nor fully satisfactory in many ways for the > needs, so it now is to the TidyConfig system to carry proper > loading of modules. > > I am confused. Are you talking about making a module load its module > configuration expressions, or are you talking about how to load the > module itself when it is needed? Those are two different issues, > right? Some of your words seem to imply one, and some seem to imply > the other. > > Here we are. I currently have no option to do so, except putting > the form I want to eval in a dummy file and registering this file with > autoload. > > I have lost you completely here. > > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-03-31 21:31 ` Mike Mattie @ 2008-04-02 2:53 ` Richard Stallman 2008-04-02 12:44 ` paul r 0 siblings, 1 reply; 21+ messages in thread From: Richard Stallman @ 2008-04-02 2:53 UTC (permalink / raw) To: Mike Mattie; +Cc: emacs-devel There isn't a usual way for installing elisp libraries, The standard way is to put them in the directories that Emacs looks in: /usr/local/share/emacs/VERSION/site-lisp and /usr/local/share/emacs/site-lisp. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-04-02 2:53 ` Richard Stallman @ 2008-04-02 12:44 ` paul r 2008-04-02 17:34 ` Richard Stallman 0 siblings, 1 reply; 21+ messages in thread From: paul r @ 2008-04-02 12:44 UTC (permalink / raw) To: rms; +Cc: Mike Mattie, emacs-devel 2008/4/2, Richard Stallman <rms@gnu.org>: > The standard way is to put them in the directories that Emacs looks in: > /usr/local/share/emacs/VERSION/site-lisp and > /usr/local/share/emacs/site-lisp. - It is not writable as a user - it is not user-specific - there is no standard repository where to get librairies from - there is no standard way to fetch them - there is no automatic mean to keep them up to date. Emacs need a packaging system to give satisfactory solution to all theses problems. I know it has already been discussed here, and I do not aim to restart the debate (yet). But the proper, and universal way, to distribute such a large piece of software, is through a packaging system. Be the repositories under full control of the FSF. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-04-02 12:44 ` paul r @ 2008-04-02 17:34 ` Richard Stallman 2008-04-02 19:06 ` paul r 0 siblings, 1 reply; 21+ messages in thread From: Richard Stallman @ 2008-04-02 17:34 UTC (permalink / raw) To: paul r; +Cc: codermattie, emacs-devel - It is not writable as a user - it is not user-specific It would be useful to set up conventional per-user libraries that go in load-path. - there is no standard repository where to get librairies from We do not want one. Anything that WE want to distribute, we put into Emacs. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-04-02 17:34 ` Richard Stallman @ 2008-04-02 19:06 ` paul r 2008-04-02 21:07 ` Don Armstrong 0 siblings, 1 reply; 21+ messages in thread From: paul r @ 2008-04-02 19:06 UTC (permalink / raw) To: rms; +Cc: codermattie, emacs-devel 2008/4/2, Richard Stallman <rms@gnu.org>: > It would be useful to set up conventional per-user libraries > that go in load-path. It could help, yes. > - there is no standard repository where to get librairies from > > We do not want one. Anything that WE want to distribute, > we put into Emacs. Are you planing to impose this ditribution policy for gNewSens / gobuntu as well ? For the whole GNU OS ? I guess you don't. If you think Gnu/Linux distribution requirements differ from Gnu Emacs distribution requirements, could you please explain me how ? At this time, I can only see numerous similarities. Thanks -- Paul ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-04-02 19:06 ` paul r @ 2008-04-02 21:07 ` Don Armstrong 2008-04-03 4:30 ` Stephen J. Turnbull 0 siblings, 1 reply; 21+ messages in thread From: Don Armstrong @ 2008-04-02 21:07 UTC (permalink / raw) To: emacs-devel On Wed, 02 Apr 2008, paul r wrote: > Are you planing to impose this ditribution policy for gNewSens / > gobuntu as well ? For the whole GNU OS ? I guess you don't. If you > think Gnu/Linux distribution requirements differ from Gnu Emacs > distribution requirements, could you please explain me how ? At this > time, I can only see numerous similarities. There are similarities, but the differences is wherein the problems lie. There's pretty much no sane way to handle distribution in something besides a tarball which does not get into the way of what distributions are doing. [And really, packaging for distribution is what the distributions are (or at least should be) best at.] The distribution of emacs and packages which are used for emacs but are not part of emacs have largely been solved by distributions already. See Debian's emacs policy, for example. Don Armstrong -- Mozart tells us what it's like to be human, Beethoven tells us what it's like to be Beethoven, and Bach tells us what it's like to be the universe. -- Douglas Adams http://www.donarmstrong.com http://rzlab.ucr.edu ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-04-02 21:07 ` Don Armstrong @ 2008-04-03 4:30 ` Stephen J. Turnbull 2008-04-03 5:01 ` Don Armstrong 0 siblings, 1 reply; 21+ messages in thread From: Stephen J. Turnbull @ 2008-04-03 4:30 UTC (permalink / raw) To: Don Armstrong; +Cc: emacs-devel Don Armstrong writes: > The distribution of emacs and packages which are used for emacs but > are not part of emacs have largely been solved by distributions > already. See Debian's emacs policy, for example. I have. Debian's emacs policy is a frequent source of annoyance to XEmacs. The policy of trying to use a single package to serve both Emacsen, especially when it's a package we provide but GNU does not, often results in buggy behavior. I don't know that it can be done better from Debian's point of view, but from XEmacs's point of view, "largely solved" is an overstatement. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Feature Request : autoload-form 2008-04-03 4:30 ` Stephen J. Turnbull @ 2008-04-03 5:01 ` Don Armstrong 0 siblings, 0 replies; 21+ messages in thread From: Don Armstrong @ 2008-04-03 5:01 UTC (permalink / raw) To: emacs-devel On Thu, 03 Apr 2008, Stephen J. Turnbull wrote: > Don Armstrong writes: > > The distribution of emacs and packages which are used for emacs > > but are not part of emacs have largely been solved by > > distributions already. See Debian's emacs policy, for example. > > I have. Debian's emacs policy is a frequent source of annoyance to > XEmacs. The policy of trying to use a single package to serve both > Emacsen, First off, we distribute at least four flavors of emacsen, sometimes even 6 or 8. > especially when it's a package we provide but GNU does not, often > results in buggy behavior. In the cases where the addon package should not be loaded in xemacs, this can indeed be done using the existing system. When it's not known that it shouldn't be used in a particular flavor, splitting it out won't help, as the default would still be to have it work on all flavors of emacs (but with 4-8 times as many packages). [Flavor specific code sections can also be done, of course.] > I don't know that it can be done better from Debian's point of view, > but from XEmacs's point of view, "largely solved" is an > overstatement. If there are particular things that are suboptimal, filing bugs is the best way to document them and hopefully get them fixed. [I personally don't use Xemacs, so I'm not in a position to file them.] Don Armstrong -- "There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence." -- Jeremy S. Anderson http://www.donarmstrong.com http://rzlab.ucr.edu ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2008-04-03 5:01 UTC | newest] Thread overview: 21+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-03-28 20:05 Feature Request : autoload-form paul r 2008-03-29 4:20 ` Stefan Monnier 2008-03-29 9:49 ` paul r 2008-03-29 19:40 ` Stefan Monnier 2008-03-30 5:49 ` Richard Stallman 2008-03-30 11:24 ` paul r 2008-03-30 15:03 ` Stefan Monnier 2008-03-30 22:28 ` paul r 2008-03-31 7:58 ` Levin Du 2008-03-30 19:55 ` Richard Stallman 2008-03-30 21:35 ` Mike Mattie 2008-03-31 16:24 ` Richard Stallman 2008-03-31 17:36 ` paul r 2008-03-31 21:31 ` Mike Mattie 2008-04-02 2:53 ` Richard Stallman 2008-04-02 12:44 ` paul r 2008-04-02 17:34 ` Richard Stallman 2008-04-02 19:06 ` paul r 2008-04-02 21:07 ` Don Armstrong 2008-04-03 4:30 ` Stephen J. Turnbull 2008-04-03 5:01 ` Don Armstrong
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).