Subject: bug#12524: 24.2.50; package-delete errors if directory doesn't exist

From: Ivan Andrus <[email-masked]>
Date: Wed, 26 Sep 2012 21:57:57 +0200

If a directory for a package does not exist (say it was deleted outside
of emacs), then package-delete errors, which causes further packages to
not be deleted.

I have included a patch to fix the problem in a way that I think is
satisfactory.  It simply emits a message that it's not ignoring deletion
of the package because it could not find the directory.  Please critique
and/or apply as you see fit.  Also, if the patch should be in a
different format, should be an attachment, etc., don't hesitate to tell
me.  I did read [1], but may have missed something.  I don't know if
this is a change that needs a changelog entry, but I thought I would add
one just in case.

FWIW, I now have copyright papers on file with the FSF.

-Ivan

[1] http://www.gnu.org/software/emacs/manual/html_node/emacs/Sending-Patches.html

=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2012-09-26 15:19:10 +0000
+++ lisp/ChangeLog	2012-09-26 19:45:55 +0000
@@ -1,3 +1,8 @@
+2012-09-26  Ivan Andrus  <[email-masked]>
+
+	* emacs-lisp/package.el (package-delete): Don't error if package
+	directory is missing.
+
2012-09-26  Tomohiro Matsuyama  <[email-masked]>
             Stefan Monnier  <[email-masked]>

=== modified file 'lisp/emacs-lisp/package.el'
--- lisp/emacs-lisp/package.el	2012-09-24 16:36:42 +0000
+++ lisp/emacs-lisp/package.el	2012-09-26 08:27:22 +0000
@@ -1072,15 +1072,19 @@

(defun package-delete (name version)
   (let ((dir (package--dir name version)))
-    (if (string-equal (file-name-directory dir)
-		      (file-name-as-directory
-		       (expand-file-name package-user-dir)))
-	(progn
-	  (delete-directory dir t t)
-	  (message "Package `%s-%s' deleted." name version))
-      ;; Don't delete "system" packages
-      (error "Package `%s-%s' is a system package, not deleting"
-	     name version))))
+    (cond ((null dir)
+	   (message "Directory for `%s-%s' is already deleted, ignoring"
+		    name version))
+	  ((string-equal (file-name-directory dir)
+			 (file-name-as-directory
+			  (expand-file-name package-user-dir)))
+	   (progn
+	     (delete-directory dir t t)
+	     (message "Package `%s-%s' deleted." name version)))
+	  (t
+	   ;; Don't delete "system" packages
+	   (error "Package `%s-%s' is a system package, not deleting"
+		  name version)))))

(defun package-archive-base (name)
   "Return the archive containing the package NAME."

In GNU Emacs 24.2.50.1 (i386-apple-darwin10.8.0, NS apple-appkit-1038.36)
of 2012-09-26 on oroszlan.local
Bzr revision: 110206 [email-masked]
Windowing system distributor `Apple', version 10.3.1038
Configured using:
`configure '--with-ns' 'CC=gcc -std=gnu99' 'CFLAGS=-g3 -O2' 'LDFLAGS='
'CPPFLAGS=''

Important settings:
  locale-coding-system: nil
  default enable-multibyte-characters: t

Major mode: VC dir

Minor modes in effect:
  diff-auto-refine-mode: t
  which-function-mode: t
  show-paren-mode: t
  recentf-mode: t
  msb-mode: t
  minibuffer-depth-indicate-mode: t
  global-hl-line-mode: t
  delete-selection-mode: t
  auto-image-file-mode: t
  auto-insert-mode: t
  yas/global-mode: t
  yas/minor-mode: t
  shell-dirtrack-mode: t
  ido-everywhere: t
  global-visible-mark-mode: t
  visible-mark-mode: t
  gvol-mode: t
  drag-stuff-global-mode: t
  drag-stuff-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-w M-w M-w M-w M-w C-x 1 M-w <down-mouse-1> <mouse-1>
C-x C-f C-g M-x C-g C-x C-f v c <return> <return> <return>
<return> p a <backspace> <backspace> <return> p a c
C-s <return> C-x v = M-n M-p M-n M-p M-p <C-tab> C-x
v = M-n C-/ C-/ <C-tab> C-/ C-x v = <C-tab> <C-tab>
<C-tab> C-x C-f <backspace> <backspace> . b <return>
C-g C-h l <down-mouse-1> <mouse-1> <down> <down> <up>
<down> <down> <C-tab> C-h k C-x v = C-x v = <menu-bar>
<Diff> <Create Change Log entries> D o n ' t SPC e
r r o r SPC i f SPC <C-backspace> <C-backspace> <C-backspace>
D o n ' t SPC e r r o r SPC i f SPC p a c g <backspace>
k a g e SPC d i r e c t o r y SPC i s SPC m i s s i
n g C-a C-e C-x C-s M-w <C-tab> <C-tab> C-x v d <backspace>
<backspace> <return> n n m n m = n n p n <menu-bar>
<Diff> <Unified -> Context> <wheel-up> <double-wheel-up>
<triple-wheel-up> <C-tab> = n C-3 C-a C-M-SPC C-3 C-e
C-w <C-tab> M-x r e p <return>

Recent messages:
vc-emacs now compiling locally
Current project is vc-emacs: /Users/gvol/vcs/emacs/local/
Auto-saving...done
Saving file /Users/gvol/vcs/emacs/local/lisp/ChangeLog...
Wrote /Users/gvol/vcs/emacs/local/lisp/ChangeLog
/Users/gvol/vcs/emacs/local/lisp/ChangeLog
Finding changes in /Users/gvol/vcs/emacs/local/lisp/ChangeLog /Users/gvol/vcs/emacs/local/lisp/emacs-lisp/package.el...done
byte-code: Beginning of buffer
Finding changes in /Users/gvol/vcs/emacs/local/lisp/ChangeLog /Users/gvol/vcs/emacs/local/lisp/emacs-lisp/package.el...done
Mark set
byte-code: Buffer is read-only: #<buffer *vc-diff*>

Load-path shadows:
/Users/gvol/vcs/gap-mode/gap-process hides /Users/gvol/.emacs.d/elpa/gap-mode-20120912.2301/gap-process
/Users/gvol/vcs/gap-mode/gap-mode hides /Users/gvol/.emacs.d/elpa/gap-mode-20120912.2301/gap-mode
/Users/gvol/.emacs.d/elpa/parenface-20091203.1917/parenface hides ~/.emacs.d/local/parenface
/Users/gvol/.emacs.d/elpa/linum-relative-20120905.1503/linum-relative hides ~/.emacs.d/local/linum-relative
/Users/gvol/.emacs.d/elpa/hl-sexp-20101130.1343/hl-sexp hides ~/.emacs.d/local/hl-sexp
/Users/gvol/.emacs.d/elpa/highlight-indentation-20120129.357/highlight-indentation hides ~/.emacs.d/local/highlight-indentation
/Users/gvol/.emacs.d/elpa/command-frequency-1.1/command-frequency hides ~/.emacs.d/local/command-frequency
/Users/gvol/.emacs.d/elpa/org-20120925/org hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org
/Users/gvol/.emacs.d/elpa/org-20120925/org-xoxo hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-xoxo
/Users/gvol/.emacs.d/elpa/org-20120925/org-wl hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-wl
/Users/gvol/.emacs.d/elpa/org-20120925/org-w3m hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-w3m
/Users/gvol/.emacs.d/elpa/org-20120925/org-vm hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-vm
/Users/gvol/.emacs.d/elpa/org-20120925/org-timer hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-timer
/Users/gvol/.emacs.d/elpa/org-20120925/org-taskjuggler hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-taskjuggler
/Users/gvol/.emacs.d/elpa/org-20120925/org-table hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-table
/Users/gvol/.emacs.d/elpa/org-20120925/org-src hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-src
/Users/gvol/.emacs.d/elpa/org-20120925/org-special-blocks hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-special-blocks
/Users/gvol/.emacs.d/elpa/org-20120925/org-rmail hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-rmail
/Users/gvol/.emacs.d/elpa/org-20120925/org-remember hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-remember
/Users/gvol/.emacs.d/elpa/org-20120925/org-publish hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-publish
/Users/gvol/.emacs.d/elpa/org-20120925/org-protocol hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-protocol
/Users/gvol/.emacs.d/elpa/org-20120925/org-plot hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-plot
/Users/gvol/.emacs.d/elpa/org-20120925/org-pcomplete hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-pcomplete
/Users/gvol/.emacs.d/elpa/org-20120925/org-odt hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-odt
/Users/gvol/.emacs.d/elpa/org-20120925/org-mouse hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mouse
/Users/gvol/.emacs.d/elpa/org-20120925/org-mobile hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mobile
/Users/gvol/.emacs.d/elpa/org-20120925/org-mks hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mks
/Users/gvol/.emacs.d/elpa/org-20120925/org-mhe hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mhe
/Users/gvol/.emacs.d/elpa/org-20120925/org-mew hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mew
/Users/gvol/.emacs.d/elpa/org-20120925/org-macs hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-macs
/Users/gvol/.emacs.d/elpa/org-20120925/org-mac-message hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mac-message
/Users/gvol/.emacs.d/elpa/org-20120925/org-lparse hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-lparse
/Users/gvol/.emacs.d/elpa/org-20120925/org-list hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-list
/Users/gvol/.emacs.d/elpa/org-20120925/org-latex hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-latex
/Users/gvol/.emacs.d/elpa/org-20120925/org-jsinfo hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-jsinfo
/Users/gvol/.emacs.d/elpa/org-20120925/org-irc hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-irc
/Users/gvol/.emacs.d/elpa/org-20120925/org-install hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-install
/Users/gvol/.emacs.d/elpa/org-20120925/org-inlinetask hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-inlinetask
/Users/gvol/.emacs.d/elpa/org-20120925/org-info hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-info
/Users/gvol/.emacs.d/elpa/org-20120925/org-indent hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-indent
/Users/gvol/.emacs.d/elpa/org-20120925/org-id hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-id
/Users/gvol/.emacs.d/elpa/org-20120925/org-icalendar hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-icalendar
/Users/gvol/.emacs.d/elpa/org-20120925/org-html hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-html
/Users/gvol/.emacs.d/elpa/org-20120925/org-habit hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-habit
/Users/gvol/.emacs.d/elpa/org-20120925/org-gnus hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-gnus
/Users/gvol/.emacs.d/elpa/org-20120925/org-freemind hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-freemind
/Users/gvol/.emacs.d/elpa/org-20120925/org-footnote hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-footnote
/Users/gvol/.emacs.d/elpa/org-20120925/org-feed hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-feed
/Users/gvol/.emacs.d/elpa/org-20120925/org-faces hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-faces
/Users/gvol/.emacs.d/elpa/org-20120925/org-exp hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-exp
/Users/gvol/.emacs.d/elpa/org-20120925/org-exp-blocks hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-exp-blocks
/Users/gvol/.emacs.d/elpa/org-20120925/org-eshell hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-eshell
/Users/gvol/.emacs.d/elpa/org-20120925/org-entities hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-entities
/Users/gvol/.emacs.d/elpa/org-20120925/org-docview hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-docview
/Users/gvol/.emacs.d/elpa/org-20120925/org-docbook hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-docbook
/Users/gvol/.emacs.d/elpa/org-20120925/org-datetree hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-datetree
/Users/gvol/.emacs.d/elpa/org-20120925/org-ctags hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-ctags
/Users/gvol/.emacs.d/elpa/org-20120925/org-crypt hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-crypt
/Users/gvol/.emacs.d/elpa/org-20120925/org-compat hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-compat
/Users/gvol/.emacs.d/elpa/org-20120925/org-colview hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-colview
/Users/gvol/.emacs.d/elpa/org-20120925/org-clock hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-clock
/Users/gvol/.emacs.d/elpa/org-20120925/org-capture hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-capture
/Users/gvol/.emacs.d/elpa/org-20120925/org-bibtex hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-bibtex
/Users/gvol/.emacs.d/elpa/org-20120925/org-beamer hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-beamer
/Users/gvol/.emacs.d/elpa/org-20120925/org-bbdb hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-bbdb
/Users/gvol/.emacs.d/elpa/org-20120925/org-attach hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-attach
/Users/gvol/.emacs.d/elpa/org-20120925/org-ascii hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-ascii
/Users/gvol/.emacs.d/elpa/org-20120925/org-archive hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-archive
/Users/gvol/.emacs.d/elpa/org-20120925/org-agenda hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/org-agenda
/Users/gvol/.emacs.d/elpa/org-20120925/ob hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob
/Users/gvol/.emacs.d/elpa/org-20120925/ob-tangle hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-tangle
/Users/gvol/.emacs.d/elpa/org-20120925/ob-table hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-table
/Users/gvol/.emacs.d/elpa/org-20120925/ob-sqlite hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sqlite
/Users/gvol/.emacs.d/elpa/org-20120925/ob-sql hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sql
/Users/gvol/.emacs.d/elpa/org-20120925/ob-shen hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-shen
/Users/gvol/.emacs.d/elpa/org-20120925/ob-sh hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sh
/Users/gvol/.emacs.d/elpa/org-20120925/ob-screen hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-screen
/Users/gvol/.emacs.d/elpa/org-20120925/ob-scheme hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-scheme
/Users/gvol/.emacs.d/elpa/org-20120925/ob-sass hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sass
/Users/gvol/.emacs.d/elpa/org-20120925/ob-ruby hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ruby
/Users/gvol/.emacs.d/elpa/org-20120925/ob-ref hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ref
/Users/gvol/.emacs.d/elpa/org-20120925/ob-R hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-R
/Users/gvol/.emacs.d/elpa/org-20120925/ob-python hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-python
/Users/gvol/.emacs.d/elpa/org-20120925/ob-plantuml hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-plantuml
/Users/gvol/.emacs.d/elpa/org-20120925/ob-picolisp hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-picolisp
/Users/gvol/.emacs.d/elpa/org-20120925/ob-perl hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-perl
/Users/gvol/.emacs.d/elpa/org-20120925/ob-org hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-org
/Users/gvol/.emacs.d/elpa/org-20120925/ob-octave hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-octave
/Users/gvol/.emacs.d/elpa/org-20120925/ob-ocaml hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ocaml
/Users/gvol/.emacs.d/elpa/org-20120925/ob-mscgen hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-mscgen
/Users/gvol/.emacs.d/elpa/org-20120925/ob-maxima hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-maxima
/Users/gvol/.emacs.d/elpa/org-20120925/ob-matlab hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-matlab
/Users/gvol/.emacs.d/elpa/org-20120925/ob-lob hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lob
/Users/gvol/.emacs.d/elpa/org-20120925/ob-lisp hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lisp
/Users/gvol/.emacs.d/elpa/org-20120925/ob-lilypond hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lilypond
/Users/gvol/.emacs.d/elpa/org-20120925/ob-ledger hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ledger
/Users/gvol/.emacs.d/elpa/org-20120925/ob-latex hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-latex
/Users/gvol/.emacs.d/elpa/org-20120925/ob-keys hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-keys
/Users/gvol/.emacs.d/elpa/org-20120925/ob-js hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-js
/Users/gvol/.emacs.d/elpa/org-20120925/ob-java hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-java
/Users/gvol/.emacs.d/elpa/org-20120925/ob-haskell hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-haskell
/Users/gvol/.emacs.d/elpa/org-20120925/ob-gnuplot hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot
/Users/gvol/.emacs.d/elpa/org-20120925/ob-fortran hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-fortran
/Users/gvol/.emacs.d/elpa/org-20120925/ob-exp hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-exp
/Users/gvol/.emacs.d/elpa/org-20120925/ob-eval hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-eval
/Users/gvol/.emacs.d/elpa/org-20120925/ob-emacs-lisp hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp
/Users/gvol/.emacs.d/elpa/org-20120925/ob-dot hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-dot
/Users/gvol/.emacs.d/elpa/org-20120925/ob-ditaa hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ditaa
/Users/gvol/.emacs.d/elpa/org-20120925/ob-css hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-css
/Users/gvol/.emacs.d/elpa/org-20120925/ob-comint hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-comint
/Users/gvol/.emacs.d/elpa/org-20120925/ob-clojure hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-clojure
/Users/gvol/.emacs.d/elpa/org-20120925/ob-calc hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-calc
/Users/gvol/.emacs.d/elpa/org-20120925/ob-C hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-C
/Users/gvol/.emacs.d/elpa/org-20120925/ob-awk hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-awk
/Users/gvol/.emacs.d/elpa/org-20120925/ob-asymptote hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-asymptote
/Users/gvol/vcs/sage-mode/emacs/.dir-locals hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/gnus/.dir-locals
~/.emacs.d/local/lisp-mnt hides /Users/gvol/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/lisp/emacs-lisp/lisp-mnt

Features:
(shadow sort mail-extr subword emacsbug message rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils vc-git vc-svn
vc-cvs vc-dir ewoc executable bug-reference smerge-mode disp-table
whitespace diff-mode elide-head vc-bzr ffap url-parse url-vars eldoc
highlight-parentheses greedy-delete hl-sexp highlight-symbol hi-lock
thingatpt gvol-light-theme time jka-compr saveplace uniquify which-func
imenu paren recentf tree-widget wid-edit msb mb-depth icomplete hl-line
delsel image-file cus-start cus-load diary-lib diary-loaddefs cal-menu
calendar cal-loaddefs warnings autoinsert yasnippet dropdown-list
derived help-mode tramp tramp-compat auth-source eieio byte-opt bytecomp
byte-compile cconv gnus-util mm-util mail-prsvr password-cache
tramp-loaddefs cl-macs gv shell pcomplete format-spec edmacro kmacro
smex ido visible-mark parenface fold cl cl-lib commit-patch-buffer
log-edit pcvs-util add-log vc vc-dispatcher sage rx sage-load xml
flymake compile comint ansi-color ring desktop drag-stuff
browse-kill-ring backtr server easy-mmode assoc windmove
ac-slime-autoloads ace-jump-mode-autoloads ack-and-a-half-autoloads
adaptive-wrap-autoloads applescript-mode-autoloads auctex-autoloads
tex-site browse-kill-ring-autoloads buffer-move-autoloads
c-eldoc-autoloads columnify-autoloads command-frequency-autoloads
company-autoloads debbugs-autoloads diff-hl-autoloads dired+-autoloads
drag-stuff-autoloads durendal-autoloads ein-autoloads emstar-autoloads
feature-mode-autoloads gap-mode-autoloads goto-last-change-autoloads
graphviz-dot-mode-autoloads highlight-indentation-autoloads
highlight-parentheses-autoloads highlight-symbol-autoloads
hl-sexp-autoloads info+-autoloads jump-char-autoloads keyfreq-autoloads
linum-relative-autoloads mark-multiple-autoloads
markdown-mode+-autoloads markdown-mode-autoloads
multiple-cursors-autoloads nrepl-autoloads org-autoloads info easymenu
paredit-autoloads parenface-autoloads python-mode-autoloads
rainbow-delimiters-autoloads redo+-autoloads rw-hunspell-autoloads
scpaste-autoloads htmlize-autoloads scss-mode-autoloads
slime-clj-autoloads slime-fuzzy-autoloads slime-ritz-autoloads
smarter-compile-autoloads smartrep-autoloads smex-autoloads
speck-autoloads swank-clojure-autoloads advice help-fns advice-preload
clojure-mode-autoloads slime-repl-autoloads slime-autoloads
undo-tree-autoloads unicode-whitespace-autoloads ucs-utils-autoloads
persistent-soft-autoloads pcache-autoloads finder-inf
vala-mode-autoloads websocket-autoloads wgrep-autoloads
xml-rpc-autoloads package time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process ns multi-tty emacs)