unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* understanding emacs packages
@ 2007-10-03 12:14 knubee
  2007-10-03 13:46 ` Joel J. Adamson
  0 siblings, 1 reply; 12+ messages in thread
From: knubee @ 2007-10-03 12:14 UTC (permalink / raw)
  To: help-gnu-emacs

This seems like it may be a faq, but I could not find the answer.

When I upgrade my gnu/linux distribution and re-install various emacs
applications, it is not always clear to me what is the cause of an
error when I run an emacs application. As an example, there may be
some oddness inserting dates in org-mode. No errors, but failure to do
things.

This could be because the gnu/linux distro is still in beta (e.g.,
ubuntu gutsy), it could be because I have  not installed all the
necessary emacs packages, or it could be because there non-emacs code/
application that is necessary.

So that is my question: how do different approaches to installing
emacs packages interact with packages in the existing emacs
distribution -- and interact with non-elisp applications?

Example: in the synaptic package manager, there is a "planner" package
and a "planner-el" package. When I select "planner-el" for
installation and "planner" is not required/suggested.

- Does this mean that "planner-el" is an elisp implementation of
"planner"?

- If so, are there cases where there is a "foo-el" package that relies
on a "foo" (non-elisp) application. In other words, can a situation
arise when I am using an application in emacs and it exhibits odd
behavior  because a non-emacs  application needs to be installed? If
so, is it always obvious?

And is there a straightforward way to tell if some package is already
part of the emacs distribution I am using (so that I do  not attempt
to download/install it myself)?

thanks for any help/pointers.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-03 12:14 understanding emacs packages knubee
@ 2007-10-03 13:46 ` Joel J. Adamson
  2007-10-03 14:05   ` knubee
  0 siblings, 1 reply; 12+ messages in thread
From: Joel J. Adamson @ 2007-10-03 13:46 UTC (permalink / raw)
  To: help-gnu-emacs

knubee <knubee@gmail.com> writes:

> When I upgrade my gnu/linux distribution and re-install various emacs
> applications, it is not always clear to me what is the cause of an
> error when I run an emacs application. As an example, there may be
> some oddness inserting dates in org-mode. No errors, but failure to do
> things.

Why are you re-installing lisp packages?  They should all still be
there in your site-packages directory.  On Slackware 12.0 with Emacs
23, under /usr/share/emacs I have
  /usr/share/emacs:
  total used in directory 10 available 1010628
  drwxr-xr-x   7 root root  176 2007-09-23 00:05 .
  drwxr-xr-x 193 root root 5200 2006-03-25 19:29 ..
  drwxr-xr-x   5 root root  120 2007-09-24 10:24 21.4
  drwxr-xr-x   3 root root   72 2007-09-24 10:59 22.1
  drwxr-xr-x   6 root root  152 2007-09-23 00:05 23.0.0
  drwxr-xr-x   3 root root   72 2007-05-03 16:01 etc
  drwxr-xr-x   6 root root 4608 2007-09-23 00:05 site-lisp

I should get rid of the 21.4 and 22.1 directories...all the
"third-party" packages are in site-lisp.  No reinstalling necessary.

> This could be because the gnu/linux distro is still in beta (e.g.,
> ubuntu gutsy), it could be because I have  not installed all the
> necessary emacs packages, or it could be because there non-emacs code/
> application that is necessary.

What feature of your Linux distro would interact with Emacs packages?


[...]


> - Does this mean that "planner-el" is an elisp implementation of
> "planner"?

Is there another possible  implementation of planner?

> - If so, are there cases where there is a "foo-el" package that relies
> on a "foo" (non-elisp) application. In other words, can a situation
> arise when I am using an application in emacs and it exhibits odd
> behavior  because a non-emacs  application needs to be installed? If
> so, is it always obvious?

Sometimes ... emacs-w3m depends on w3m, which needs the gc garbage
collector.  AUCTeX requires a TeX system.

> And is there a straightforward way to tell if some package is already
> part of the emacs distribution I am using (so that I do  not attempt
> to download/install it myself)?

Look in the version-specific directories and the site-lisp directory
for the elisp files.  Or use slocate: "slocate planner.el"

My suggestion is install from source, then your know exactly where
everything is going, but I understand that is a difference of opinion
with potentially religious implications.

Joel
-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-03 13:46 ` Joel J. Adamson
@ 2007-10-03 14:05   ` knubee
  2007-10-03 15:40     ` Joel J. Adamson
                       ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: knubee @ 2007-10-03 14:05 UTC (permalink / raw)
  To: help-gnu-emacs

> Why are you re-installing lisp packages?

I recently upgraded from emacs 21.4 to 22. Some of the packages I used
were not part of the earlier distribution. I am trying to learn about
ways to check what is actually included in a distribution. Are slocate
or manual inspection of site-lisp the two main options?

> What feature of your Linux distro would interact with Emacs packages?

I ask because I do not know.

> > - Does this mean that "planner-el" is an elisp implementation of
> > "planner"?
>
> Is there another possible  implementation of planner?

Um. let me rephrase my question: is planner-el a *replacement* for
"planner" -- or does it *rely* on it?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-03 14:05   ` knubee
@ 2007-10-03 15:40     ` Joel J. Adamson
  2007-10-03 23:23       ` knubee
  2007-10-03 18:36     ` Seweryn Kokot
  2007-10-04  9:35     ` Tim X
  2 siblings, 1 reply; 12+ messages in thread
From: Joel J. Adamson @ 2007-10-03 15:40 UTC (permalink / raw)
  To: help-gnu-emacs

knubee <knubee@gmail.com> writes:

>> Why are you re-installing lisp packages?
>
> I recently upgraded from emacs 21.4 to 22. Some of the packages I used
> were not part of the earlier distribution. I am trying to learn about
> ways to check what is actually included in a distribution. Are slocate
> or manual inspection of site-lisp the two main options?

Those would be the *best* options: "manual inspection" is spelled "M-x dired
RET /usr/share/emacs/site-lisp RET C-s planner" to find planner.el.
It's not terribly "manual" ;)

Slocate is just "slocate planner.el" and as long as the database is up
to date, it should find it in seconds.

On my machine, if they are part of the Emacs distribution (e.g.,
Gnus), then they are in the directory corresponding to the version
number (23 in my case).  If they are not, then they are in site-lisp.
Most are single .el files, some with matching .elc files.  Some are
directories that include .el and .elc files.

>> What feature of your Linux distro would interact with Emacs packages?
>
> I ask because I do not know.

Sorry to be so didactic: what I meant was I'm not aware of anything
system wide that would affect the installation of Emacs packages.  But
then again, I stopped using package managers a while ago.  There may
very well be something in Ubuntu that puts the packages somewhere else.

>> > - Does this mean that "planner-el" is an elisp implementation of
>> > "planner"?
>>
>> Is there another possible  implementation of planner?
>
> Um. let me rephrase my question: is planner-el a *replacement* for
> "planner" -- or does it *rely* on it?

What files are contained in this "planner-el" package?  Sounds like it
may be the same thing and just have two different names.

Joel

-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-03 14:05   ` knubee
  2007-10-03 15:40     ` Joel J. Adamson
@ 2007-10-03 18:36     ` Seweryn Kokot
  2007-10-04  9:35     ` Tim X
  2 siblings, 0 replies; 12+ messages in thread
From: Seweryn Kokot @ 2007-10-03 18:36 UTC (permalink / raw)
  To: help-gnu-emacs

knubee <knubee@gmail.com> writes:

>> Why are you re-installing lisp packages?
>
> I recently upgraded from emacs 21.4 to 22. Some of the packages I used
> were not part of the earlier distribution. I am trying to learn about
> ways to check what is actually included in a distribution. Are slocate
> or manual inspection of site-lisp the two main options?
>
>> What feature of your Linux distro would interact with Emacs packages?
>
> I ask because I do not know.
>
>> > - Does this mean that "planner-el" is an elisp implementation of
>> > "planner"?
>>
>> Is there another possible  implementation of planner?
>
> Um. let me rephrase my question: is planner-el a *replacement* for
> "planner" -- or does it *rely* on it?

No, they are two different pieces of software.

planner package is a project management application
see: http://live.gnome.org/Planner

and planner-el is well described on emacs wiki
http://www.emacswiki.org/cgi-bin/wiki/PlannerMode

regards,
-- 
Seweryn Kokot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-03 15:40     ` Joel J. Adamson
@ 2007-10-03 23:23       ` knubee
  0 siblings, 0 replies; 12+ messages in thread
From: knubee @ 2007-10-03 23:23 UTC (permalink / raw)
  To: help-gnu-emacs

> "manual inspection" is spelled "M-x dired
> RET /usr/share/emacs/site-lisp RET C-s planner" to find planner.el.

:-)

> On my machine, if they are part of the Emacs distribution (e.g.,
> Gnus), then they are in the directory corresponding to the version
> number (23 in my case).  If they are not, then they are in site-lisp.

Ok. I was just wondering if there was a more general mechanism for
identifying a) the list of all emacs packages installed, and b)
"where" they are (i.e., part of the distribution or personal install
in site-lisp).

By analogy, if I install applications with a gnu/linux package
installer such as aptitude, I can use that package manager to see all
the packages installed (by that package manager). This breaks down, of
course, if I use another package manager to install some of them (or
download and install .deb files without using a package manager).

In that scenario, the emacs distribution is somewhat analogous to the
package manager in terms of installing things (especially if we
install/update it from cvs). I was just wondering if emacs provided
something analogous to the "list all installed emacs packages."

I realize this is non-trivial for a lot of different reasons, but it
would be nice if it was possible to get a list of the intersection of
a) the list the packages which have been accepted into the
distribution , and b) those which are still present in our
installation of that distribution (ie, in the distribution's canonic
locations).

> I'm not aware of anything
> system wide that would affect the installation of Emacs packages.  But
> then again, I stopped using package managers a while ago.  There may
> very well be something in Ubuntu that puts the packages somewhere else.

No, it seems to install them in the right places. There are just some
minor issues with the behavior of a couple of emacs applications when
I boot into the new version of the OS. They do not throw actual
errors, so I am just trying to narrow down the possible sources.

thanks.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-03 14:05   ` knubee
  2007-10-03 15:40     ` Joel J. Adamson
  2007-10-03 18:36     ` Seweryn Kokot
@ 2007-10-04  9:35     ` Tim X
  2007-10-07  4:38       ` knubee
  2 siblings, 1 reply; 12+ messages in thread
From: Tim X @ 2007-10-04  9:35 UTC (permalink / raw)
  To: help-gnu-emacs

knubee <knubee@gmail.com> writes:

>> Why are you re-installing lisp packages?
>
> I recently upgraded from emacs 21.4 to 22. Some of the packages I used
> were not part of the earlier distribution. I am trying to learn about
> ways to check what is actually included in a distribution. Are slocate
> or manual inspection of site-lisp the two main options?
>
,----[ C-h k  control h p  ]
|  control h p  runs the command finder-by-keyword
|   which is an interactive autoloaded Lisp function in `finder'.
| It is bound to  control h p ,  <f1> p ,  <help> p ,  <menu-bar> <help-menu> <finder-by-keyword> .
| (finder-by-keyword)
| 
| Find packages matching a given keyword.
| 
| [back]
`----

-- 
tcross (at) rapttech dot com dot au

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-04  9:35     ` Tim X
@ 2007-10-07  4:38       ` knubee
  2007-10-07 19:21         ` Eli Zaretskii
                           ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: knubee @ 2007-10-07  4:38 UTC (permalink / raw)
  To: help-gnu-emacs

> ,----[ C-h k  control h p  ]
> |  control h p  runs the command finder-by-keyword
> |   which is an interactive autoloaded Lisp function in `finder'.
> | It is bound to  control h p ,  <f1> p ,  <help> p ,  <menu-bar> <help-menu> <finder-by-keyword> .
> | (finder-by-keyword)
> |
> | Find packages matching a given keyword.

Interesting. Just out of curiosity, what is a use scenario for this
function?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-07  4:38       ` knubee
@ 2007-10-07 19:21         ` Eli Zaretskii
       [not found]         ` <mailman.1808.1191784883.18990.help-gnu-emacs@gnu.org>
  2007-10-08  3:01         ` Tim X
  2 siblings, 0 replies; 12+ messages in thread
From: Eli Zaretskii @ 2007-10-07 19:21 UTC (permalink / raw)
  To: help-gnu-emacs

> From: knubee <knubee@gmail.com>
> Date: Sun, 07 Oct 2007 04:38:53 -0000
> 
> > ,----[ C-h k  control h p  ]
> > |  control h p  runs the command finder-by-keyword
> > |   which is an interactive autoloaded Lisp function in `finder'.
> > | It is bound to  control h p ,  <f1> p ,  <help> p ,  <menu-bar> <help-menu> <finder-by-keyword> .
> > | (finder-by-keyword)
> > |
> > | Find packages matching a given keyword.
> 
> Interesting. Just out of curiosity, what is a use scenario for this
> function?

When you want to find Emacs packages by a keyword.  For example, all
packages related to multimedia are marked with the "multimedia"
keyword.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
       [not found]         ` <mailman.1808.1191784883.18990.help-gnu-emacs@gnu.org>
@ 2007-10-07 21:48           ` knubee
  2007-10-08  3:18             ` Tim X
  0 siblings, 1 reply; 12+ messages in thread
From: knubee @ 2007-10-07 21:48 UTC (permalink / raw)
  To: help-gnu-emacs

> > what is a use scenario for this function?
>
> When you want to find Emacs packages by a keyword.  For example, all
> packages related to multimedia are marked with the "multimedia"
> keyword.

Yes, but for those of you who actually use this function, when do you
find it helpful?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-07  4:38       ` knubee
  2007-10-07 19:21         ` Eli Zaretskii
       [not found]         ` <mailman.1808.1191784883.18990.help-gnu-emacs@gnu.org>
@ 2007-10-08  3:01         ` Tim X
  2 siblings, 0 replies; 12+ messages in thread
From: Tim X @ 2007-10-08  3:01 UTC (permalink / raw)
  To: help-gnu-emacs

knubee <knubee@gmail.com> writes:

>> ,----[ C-h k  control h p  ]
>> |  control h p  runs the command finder-by-keyword
>> |   which is an interactive autoloaded Lisp function in `finder'.
>> | It is bound to  control h p ,  <f1> p ,  <help> p ,  <menu-bar> <help-menu> <finder-by-keyword> .
>> | (finder-by-keyword)
>> |
>> | Find packages matching a given keyword.
>
> Interesting. Just out of curiosity, what is a use scenario for this
> function?
>

1. It provides an easy way to get an overview of the package categories
available on your system.

2. It provides a convenient way to find all the elisp packages relating to
a particular category.

For example, When I run this on my system, I see -

,----
| emacspeak     Audio Desktop
| abbrev        abbreviation handling, typing shortcuts, macros
| bib           code related to the `bib' bibliography processor
| c             support for the C language and related languages
| calendar      calendar and time management support
| comm          communications, networking, remote access to files
| convenience   convenience features for faster editing
| data          support for editing files of data
| docs          support for Emacs documentation
`----

plus a lot of others (this is just a partial listing). If I then go to one
of the items and hit enter, for example the 'c' item, I see

,----
| The following packages match the keyword `c':
| 
| emacspeak-c.el  Speech enable CC-mode and friends -- supports C, C++, Java
| emacspeak-c.el  Speech enable CC-mode and friends -- supports C, C++, Java
| emacspeak-c.el  Speech enable CC-mode and friends -- supports C, C++, Java
| find-file.el    find a file corresponding to this one given a pattern
| tooltip.el      show tooltip windows
| cc-align.el     custom indentation functions for CC Mode
| cc-bytecomp.el  compile time setup for proper compilation
| cc-cmds.el      user level commands for CC Mode
| cc-compat.el    cc-mode compatibility with c-mode.el confusion
| cc-defs.el      compile time definitions for CC Mode
| cc-engine.el    core syntax guessing engine for CC mode
| cc-fonts.el     font lock support for CC Mode
| cc-langs.el     language specific settings for CC Mode
| cc-menus.el     imenu support for CC Mode
| cc-mode.el      major mode for editing C and similar languages
| cc-styles.el    support for styles in CC Mode
`----

again, this is just a partial listing. If I then select one of the files
and hit enter, I get (for example  cc-mode.el)

,----
| Commentary:
| NOTE: Read the commentary below for the right way to submit bug reports!
| NOTE: See the accompanying texinfo manual for details on using this mode!
| Note: The version string is in cc-defs.
| 
| This package provides GNU Emacs major modes for editing C, C++,
| Objective-C, Java, CORBA's IDL, Pike and AWK code.  As of the
| latest Emacs and XEmacs releases, it is the default package for
| editing these languages.  This package is called "CC Mode", and
| should be spelled exactly this way.
| 
| CC Mode supports K&R and ANSI C, ANSI C++, Objective-C, Java,
| CORBA's IDL, Pike and AWK with a consistent indentation model
| across all modes.  This indentation model is intuitive and very
| flexible, so that almost any desired style of indentation can be
| supported.  Installation, usage, and programming details are
| contained in an accompanying texinfo manual.
| 
| CC Mode's immediate ancestors were, c++-mode.el, cplus-md.el, and
| cplus-md1.el..
| 
| To submit bug reports, type "C-c C-b".  These will be sent to
| bug-gnu-emacs@gnu.org (mirrored as the Usenet newsgroup
| gnu.emacs.bug) as well as bug-cc-mode@gnu.org, which directly
| contacts the CC Mode maintainers.  Questions can sent to
| help-gnu-emacs@gnu.org (mirrored as gnu.emacs.help) and/or
| bug-cc-mode@gnu.org.  Please do not send bugs or questions to our
| personal accounts; we reserve the right to ignore such email!
| 
| Many, many thanks go out to all the folks on the beta test list.
| Without their patience, testing, insight, code contributions, and
| encouragement CC Mode would be a far inferior package.
| 
| You can get the latest version of CC Mode, including PostScript
| documentation and separate individual files from:
| 
|     http://cc-mode.sourceforge.net/
| 
| You can join a moderated CC Mode announcement-only mailing list by
| visiting
| 
|    http://lists.sourceforge.net/mailman/listinfo/cc-mode-announce
`----

which is the commentry section from the elisp file. 

So, C-h p can be a useful tool to explore your emacs environment. When you
see a package category that looks interesting, you can hit enter and find
all the elisp files that correspond to that category. When you see a file
that looks interesting, you can hit enter to see the commentry section from
the file, which generally gives you an overview of what functionality that
file provides, where to get more information and what you may need to do to
take advantage of the functions it offers. 

In short, C-h p is yet another of the comprehensive help tools available in
emacs that can assist you to discover some of the (sometimes non-obvious)
features and power available in the editor. Being done in elisp, it also
has the nice property that it gets updated automatically as you add
additional packages (i.e. its not just limited to what is bundled in
emacs).

Tim

-- 
tcross (at) rapttech dot com dot au

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: understanding emacs packages
  2007-10-07 21:48           ` knubee
@ 2007-10-08  3:18             ` Tim X
  0 siblings, 0 replies; 12+ messages in thread
From: Tim X @ 2007-10-08  3:18 UTC (permalink / raw)
  To: help-gnu-emacs

knubee <knubee@gmail.com> writes:

>> > what is a use scenario for this function?
>>
>> When you want to find Emacs packages by a keyword.  For example, all
>> packages related to multimedia are marked with the "multimedia"
>> keyword.
>
> Yes, but for those of you who actually use this function, when do you
> find it helpful?
>

For example, lets say I've been doing some programming and there are a
couple of things I'd like to modify in my working environment. In
particular, 

1. I'd like to be able to hide parts of a program source that I'm not
interested in
2. I'm working in a specific problem domain and there are lots of similar
constructs I need to code in most programs I write. I'd like to have some
sort of template system that would automate this
3. I'd like to have better integration between my editor and the version
control system we are using
4. I'd like my source files to be automatically updated with a last edited
time stamp when I save them
5. I'm wondering what other tools emacs may have which I could find
useful. 

I do C-h p and look through the list of categories. I spot one called
tools, which apparently consist of programming tools. That looks
promising. I enter that category and see a list of different tools. I'm not
familiar with all of them. While some are obvious from the name of the
source file, others are more cryptic. I hit enter on the ones which I'm not
sure about and get the summary from the commentary section. From this, I
can usually tell if I need to look at this package further or if I can just
ignore it and move on. 

I'm lucky - I find existing emacs support for all the things I was hoping
to find, plus I find out about something called imenu, which looks like it
could be very useful. I can now start using much of what I've found, spend
a bit of time learning about some of the others and maybe even schedule
some time to look at other potentially interesting items I noticed in the
listing. I now know there is no need for me to spend hours writing elisp to
make the editor do what I want - the wheel has already been invented and
all I need to do is learn how to use it!

Tim
-- 
tcross (at) rapttech dot com dot au

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-10-08  3:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-03 12:14 understanding emacs packages knubee
2007-10-03 13:46 ` Joel J. Adamson
2007-10-03 14:05   ` knubee
2007-10-03 15:40     ` Joel J. Adamson
2007-10-03 23:23       ` knubee
2007-10-03 18:36     ` Seweryn Kokot
2007-10-04  9:35     ` Tim X
2007-10-07  4:38       ` knubee
2007-10-07 19:21         ` Eli Zaretskii
     [not found]         ` <mailman.1808.1191784883.18990.help-gnu-emacs@gnu.org>
2007-10-07 21:48           ` knubee
2007-10-08  3:18             ` Tim X
2007-10-08  3:01         ` Tim X

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