From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Hendy Subject: Re: The Org Package Date: Sat, 12 Apr 2014 15:07:03 -0500 Message-ID: References: <86ob07e0r9.fsf@gmail.com> <86zjjrchmj.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56153) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WZ4Cg-0006AL-Ht for emacs-orgmode@gnu.org; Sat, 12 Apr 2014 16:07:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WZ4Ce-0001Re-Q1 for emacs-orgmode@gnu.org; Sat, 12 Apr 2014 16:07:06 -0400 Received: from mail-ob0-x235.google.com ([2607:f8b0:4003:c01::235]:62974) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WZ4Ce-0001RX-E9 for emacs-orgmode@gnu.org; Sat, 12 Apr 2014 16:07:04 -0400 Received: by mail-ob0-f181.google.com with SMTP id wp4so7354012obc.26 for ; Sat, 12 Apr 2014 13:07:03 -0700 (PDT) In-Reply-To: <86zjjrchmj.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: David Masterson Cc: emacs-orgmode On Fri, Apr 11, 2014 at 11:10 PM, David Masterson wrote: > 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]"? Sorry, I was lazy and didn't take time to look it up. Org has documented this very well. It's right on the main page: - http://orgmode.org/ That is: ~$ git clone git://orgmode.org/org-mode.git It's also in the instructions just a bit down on "Staying on the bleeding edge (Worg)": - http://orgmode.org/worg/org-faq.html#keeping-current-with-Org-mode-development That is: $ git clone git://orgmode.org/org-mode.git # standard repo $ git clone git://repo.or.cz/org-mode.git # alternate repo $ git clone http://orgmode.org/org-mode.git # if you can't use git:// (like me) $ git clone http://repo.or.cz/r/org-mode.git # alternate http > >> 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? Not sure exactly what you mean... lisp/ and contrib/lisp/ are simply, from what I know, where all the .el files for any emacs thingy reside. You need to tell emacs about the contents of both of those. lisp/ contains the "core" Org stuff, and there are contributed functions in contrib/lisp that are being evaluated or for whatever reason just not incorporated into Org yet (I want to say that this might house things that people who haven't signed FSF legal documents reside, or things that just aren't quite ready yet). > >> 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? Not that I know of, but I never really got a definitive answer (at least that sunk in my head as the "final verdict" on this thread: - https://lists.gnu.org/archive/html/emacs-orgmode/2013-09/msg00175.html Achim and I went back and forth a bit. My understanding from that time (and from just now re-skimming it) is that as long as `M-x org-version` shows what you'd expect (a git version) and you don't get any errors, you're [probably/almost certainly?] safe. My current output as an example: M-x org-version Org-mode version 8.2.5h (release_8.2.5h-881-g957177 @ /home/jwhendy/.elisp/org.git/lisp/) > >> 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. > Not being familiar with ELPA, I really can't comment on how this works. I will say that I really like the simplicity (or perceived simplicity!) I've experienced with just using org git. I know where everything is, I don't run `make install`, so I know that my system is not littered with files other than where I've cloned the repo, and to-date I've not had any issues with org setup stuff or alternate versions (except when I set up a fresh install or something and forget to add load paths, for example). Best regards, John > -- > David Masterson > >