emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] The Org Package


From: David Masterson
Subject: Re: [O] The Org Package
Date: Fri, 11 Apr 2014 21:10:44 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (cygwin)

John Hendy writes:

> On Fri, Apr 11, 2014 at 9:32 PM, David Masterson wrote:

>> I still need more understanding of the Emacs packaging system.
>> Something doesn't seem right and I'm sure I'm missing some key in
>> understanding how its supposed to work.  What I see right now seems like
>> something doesn't match up -- particularly with the Org package:
>>
>> 1. Most modern Emacs have Org pre-installed.
>> 2. Unfortunately, that Org is not up-to-date (24.3 has 7.9.3f).
>> 3. Therefore, installing the latest Org package seems natural.
>> 4. However, this does not uninstall the built-in Org package.
>> 5. Packages are not initialized until after .emacs is run.
>> 6. Therefore, any of the latest variables are not defined yet.
>> 7. Therefore, setting a hook may not do what you think.
>> 8. The documentation for Org suggests hooks (etc.) to set.
>> 9. I've run into times when org-version was still 7.9.3f.
>>
>> Do you see where I'm heading?  Does anyone else run into this
>> problem?  Or do most people ignore the Org package and install the
>> latest from GitHub in a more manual process (a la Bernt Hansen's
>> paper)?  Do we need more concrete documentation on setting up the Org
>> Package?

> I learned emacs /for/ Org-mode, so keep that in mind as I'm pretty
> ignorant of emacs in genera. I *think* that packages for emacs are
> sort of a recent thing, and since I was already using git, I've never
> bothered to switch my setup. I find git ridiculously easy and have
> never had a reason to do anything else.

Basically, I'm used to your style here, but let it not be said that I
didn't, at least, try to be more modern.  ;-)

> Once ever:
>
> #+begin_src sh
> mkdir ~/.elisp/
> cd ~/.elisp
> git clone [orgmode git path] org.git  # I like adding the .git so I
> know it's a git repo
> cd org.git
> make clean && make
> #+end_src

How do you find the value of "[orgmode git path]"?

> Then put in config:
>
> #+begin_src .emacs
> (add-to-list 'load-path "~/.elisp/org.git/lisp/")
> (add-to-list 'load-path "~/.elisp/org.git/contrib/lisp")
> #+end_src

Where does "/lisp" and "/contrib/lisp" come from?  What do they contain?

> That's it. Anywhere between once a week and once every three months, I
> do:
>
> #+begin_src sh
> cd ~/.elisp/org.git
> git pull
> make clean && make
> #+end_src

Do you run into any problems where something is picked up out of the
"built-in" Org because of overlapping requires?

> Is this more difficult than packages? What is the advantage of ELPA
> vs. this? I could see it if I had a lot of these sorts of things, but
> I really just use Org + ESS, so I'm not constantly
> updating/installing/removing emacs add-ons other than those two.

It's not more difficult and you could probably easily expand on this for
any number of packages by simply expanding your last shell to walk thru
all the interesting packages and pull the latest version in.

As far as I can see, ELPA's plus is the GUI for pulling in new versions
of packages, but its minus is that it moves the package setup *somewhat*
out of .emacs and into the after-init area.  For instance, I'm
installing org-toodledo which hasn't been packagized yet, so, when you
(require 'org-toodledo) in your .emacs, the org package is also pulled
in.  However, if you've updated the org package via ELPA, the wrong
version of org will be pulled in *unless* you (package-initialize) in
your .emacs.  If you follow the basic rules, things work, but the rules
aren't explicitly documented, so it can be confusing.

-- 
David Masterson




reply via email to

[Prev in Thread] Current Thread [Next in Thread]