GNU bug report logs - #12351
24.1; parse-colon-path turns empty paths into nil

Previous Next

Package: emacs;

Reported by: Dave Abrahams <dave <at> boostpro.com>

Date: Tue, 4 Sep 2012 19:06:01 UTC

Severity: normal

Found in version 24.1

Done: Chong Yidong <cyd <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 12351 in the body.
You can then email your comments to 12351 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Tue, 04 Sep 2012 19:06:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dave Abrahams <dave <at> boostpro.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 04 Sep 2012 19:06:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.1; parse-colon-path turns empty paths into nil
Date: Tue, 04 Sep 2012 11:58:53 -0700
Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

(parse-colon-path ":") yields (nil nil) but there's nothing in the
docstring to indicate that empty path entries will get turned into nil.
Either the docstring needs to be updated, or parse-colon-path should
return (delq nil cd-list).



In GNU Emacs 24.1.1 (x86_64-apple-darwin11.4.0, Carbon Version 1.6.0 AppKit 1138.47)
 of 2012-06-27 on pluto.luannocracy.com
Windowing system distributor `Apple Inc.', version 10.7.4
Configured using:
 `configure '--prefix=/opt/local' '--without-x' '--without-dbus'
 '--without-gconf' '--without-libotf' '--without-m17n-flt'
 '--without-gpm' '--infodir' '/opt/local/share/info/emacs24-macport'
 '--with-mac'
 '--enable-mac-app=/opt/local/var/macports/build/_Users_dave_Public_MacPorts_Portfiles_editors_emacs24-macport/emacs24-macport/work/destroot/Applications/MacPorts'
 'CC=/usr/bin/clang' 'CFLAGS=-pipe -O2 -arch x86_64'
 'LDFLAGS=-L/opt/local/lib -Wl,-no_pie -arch x86_64'
 'CPPFLAGS=-I/opt/local/include''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-1-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  recentf-mode: t
  highlight-changes-visible-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  pretty-control-l-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  workgroups-mode: t
  eproject-mode: t
  me-minor-mode: t
  which-function-mode: t
  show-paren-mode: t
  server-mode: t
  ido-everywhere: t
  global-ede-mode: t
  ede-minor-mode: t
  global-auto-revert-mode: t
  display-time-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  mac-mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-a C-p C-p C-p C-k C-k C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-a <return> C-y C-p <tab> 
C-n C-k C-n C-e C-n C-p <return> ; ; SPC R e p l a 
c e SPC t h e SPC v e r i s o n <backspace> <backspace> 
<backspace> <backspace> s i o n SPC i n SPC o s x - 
p l i s t SPC w i t h SPC o n e SPC t h a t SPC r e 
s p e c t s SPC p a t h <M-backspace> t h e SPC o r 
d e r i n g SPC o f SPC P A T H C-, # <S-backspace> 
$ M-q C-n C-p C-p C-. SPC o f SPC o s x - p l i s t 
- u p M-/ M-q C-SPC C-. C-. C-. <backspace> C-a C-. 
C-. C-. C-SPC C-, i m p l e m e n t a t i o n M-q C-n 
C-e SPC p r i m a r i l y , SPC a n d SPC e d n <backspace> 
<backspace> <backspace> a p p e n d s SPC m i s s i 
n g SPC e l e m e n t s SPC f r o m SPC t h e SPC e 
x i s t i n g SPC e x e c - p a t h M-q C-n C-n C-n 
C-p C-n C-, C-, C-, C-s C-w C-. C-, C-b ( d e l q SPC 
n i l SPC ( p a r s e M-/ SPC C-e ) M-x r e p <tab> 
o <tab> r t - e m <tab> <return>

Recent messages:
Mark set
Error during redisplay: (wrong-type-argument arrayp nil) [89 times]
Auto-saving...done
Error during redisplay: (wrong-type-argument arrayp nil) [39 times]
Mark saved where search started
Error during redisplay: (wrong-type-argument arrayp nil) [15 times]
Making completion list...
Error during redisplay: (wrong-type-argument arrayp nil) [2 times]
Making completion list...
Error during redisplay: (wrong-type-argument arrayp nil) [20 times]

Load-path shadows:
/Users/dave/.emacs.d/el-get/package/elpa/xml-rpc-1.6.7/xml-rpc hides /Users/dave/.emacs.d/el-get/xml-rpc-el/xml-rpc
/Users/dave/.emacs.d/el-get/package/elpa/weblogger-1.4.3/weblogger hides /Users/dave/.emacs.d/el-get/weblogger-el/weblogger
/Users/dave/.emacs.d/el-get/wl-gravatar/gravatar hides /Users/dave/.emacs.d/el-get/nognus/lisp/gravatar
/Users/dave/.emacs.d/el-get/org-mode/.dir-locals hides /Users/dave/.emacs.d/el-get/nognus/lisp/.dir-locals
/Users/dave/.emacs.d/el-get/org-mode/.dir-locals hides /Users/dave/.emacs.d/el-get/magit/.dir-locals
/Users/dave/.emacs.d/el-get/wl-gravatar/gravatar hides /Users/dave/.emacs.d/el-get/gravatar/gravatar
/Users/dave/.emacs.d/el-get/auto-complete/fuzzy hides /Users/dave/.emacs.d/el-get/fuzzy/fuzzy
/Users/dave/.emacs.d/el-get/auto-complete/popup hides /Users/dave/.emacs.d/el-get/popup/popup
/Users/dave/.emacs.d/el-get/wanderlust/utils/wl-mailto hides /Users/dave/.emacs.d/el-get/wanderlust/site-lisp/wl/wl-mailto
/Users/dave/.emacs.d/el-get/wanderlust/utils/wl-complete hides /Users/dave/.emacs.d/el-get/wanderlust/site-lisp/wl/wl-complete
/Users/dave/.emacs.d/el-get/wanderlust/utils/wl-addrbook hides /Users/dave/.emacs.d/el-get/wanderlust/site-lisp/wl/wl-addrbook
/Users/dave/.emacs.d/el-get/nognus/lisp/utf7 hides /Users/dave/.emacs.d/el-get/wanderlust/site-lisp/wl/utf7
/Users/dave/.emacs.d/el-get/wanderlust/utils/ssl hides /Users/dave/.emacs.d/el-get/wanderlust/site-lisp/wl/ssl
/Users/dave/.emacs.d/el-get/wanderlust/utils/rfc2368 hides /Users/dave/.emacs.d/el-get/wanderlust/site-lisp/wl/rfc2368
/Users/dave/.emacs.d/el-get/wanderlust/utils/im-wl hides /Users/dave/.emacs.d/el-get/wanderlust/site-lisp/wl/im-wl
/Users/dave/.emacs.d/el-get/nognus/lisp/smime hides /Users/dave/.emacs.d/el-get/semi/site-lisp/semi/smime
/Users/dave/.emacs.d/el-get/nognus/lisp/sha1 hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/sha1
/Users/dave/.emacs.d/el-get/nognus/lisp/sasl hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/sasl
/Users/dave/.emacs.d/el-get/nognus/lisp/sasl-ntlm hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/sasl-ntlm
/Users/dave/.emacs.d/el-get/nognus/lisp/sasl-digest hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/sasl-digest
/Users/dave/.emacs.d/el-get/nognus/lisp/sasl-cram hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/sasl-cram
/Users/dave/.emacs.d/el-get/nognus/lisp/ntlm hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/ntlm
/Users/dave/.emacs.d/el-get/nognus/lisp/md4 hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/md4
/Users/dave/.emacs.d/el-get/nognus/lisp/hmac-md5 hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/hmac-md5
/Users/dave/.emacs.d/el-get/nognus/lisp/hmac-def hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/hmac-def
/Users/dave/.emacs.d/el-get/nognus/lisp/hex-util hides /Users/dave/.emacs.d/el-get/flim/site-lisp/flim/hex-util
/Users/dave/.emacs.d/el-get/org-mode/.dir-locals hides /Users/dave/.emacs.d/el-get/el-get/.dir-locals
/Users/dave/.emacs.d/el-get/xcscope/xcscope hides /opt/local/share/emacs/site-lisp/xcscope
/Users/dave/.emacs.d/el-get/cmake-mode/cmake-mode hides /opt/local/share/emacs/site-lisp/cmake-mode
/Users/dave/.emacs.d/el-get/nognus/lisp/password-cache hides /opt/local/share/emacs/24.1/lisp/password-cache
/Users/dave/.emacs.d/el-get/nognus/lisp/md4 hides /opt/local/share/emacs/24.1/lisp/md4
/Users/dave/.emacs.d/el-get/nognus/lisp/hex-util hides /opt/local/share/emacs/24.1/lisp/hex-util
/Users/dave/.emacs.d/el-get/nognus/lisp/format-spec hides /opt/local/share/emacs/24.1/lisp/format-spec
/Users/dave/.emacs.d/el-get/nognus/lisp/color hides /opt/local/share/emacs/24.1/lisp/color
/Users/dave/.emacs.d/el-get/dwamacs/site-lisp/ediff-util hides /opt/local/share/emacs/24.1/lisp/vc/ediff-util
/Users/dave/.emacs.d/el-get/nognus/lisp/dns-mode hides /opt/local/share/emacs/24.1/lisp/textmodes/dns-mode
/Users/dave/.emacs.d/el-get/dwamacs/site-lisp/compile hides /opt/local/share/emacs/24.1/lisp/progmodes/compile
/Users/dave/.emacs.d/el-get/org-mode/lisp/org hides /opt/local/share/emacs/24.1/lisp/org/org
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-xoxo hides /opt/local/share/emacs/24.1/lisp/org/org-xoxo
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-wl hides /opt/local/share/emacs/24.1/lisp/org/org-wl
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-w3m hides /opt/local/share/emacs/24.1/lisp/org/org-w3m
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-vm hides /opt/local/share/emacs/24.1/lisp/org/org-vm
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-timer hides /opt/local/share/emacs/24.1/lisp/org/org-timer
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-taskjuggler hides /opt/local/share/emacs/24.1/lisp/org/org-taskjuggler
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-table hides /opt/local/share/emacs/24.1/lisp/org/org-table
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-src hides /opt/local/share/emacs/24.1/lisp/org/org-src
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-special-blocks hides /opt/local/share/emacs/24.1/lisp/org/org-special-blocks
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-rmail hides /opt/local/share/emacs/24.1/lisp/org/org-rmail
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-remember hides /opt/local/share/emacs/24.1/lisp/org/org-remember
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-publish hides /opt/local/share/emacs/24.1/lisp/org/org-publish
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-protocol hides /opt/local/share/emacs/24.1/lisp/org/org-protocol
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-plot hides /opt/local/share/emacs/24.1/lisp/org/org-plot
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-pcomplete hides /opt/local/share/emacs/24.1/lisp/org/org-pcomplete
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-odt hides /opt/local/share/emacs/24.1/lisp/org/org-odt
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-mouse hides /opt/local/share/emacs/24.1/lisp/org/org-mouse
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-mobile hides /opt/local/share/emacs/24.1/lisp/org/org-mobile
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-mks hides /opt/local/share/emacs/24.1/lisp/org/org-mks
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-mhe hides /opt/local/share/emacs/24.1/lisp/org/org-mhe
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-mew hides /opt/local/share/emacs/24.1/lisp/org/org-mew
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-macs hides /opt/local/share/emacs/24.1/lisp/org/org-macs
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-mac-message hides /opt/local/share/emacs/24.1/lisp/org/org-mac-message
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-lparse hides /opt/local/share/emacs/24.1/lisp/org/org-lparse
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-list hides /opt/local/share/emacs/24.1/lisp/org/org-list
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-latex hides /opt/local/share/emacs/24.1/lisp/org/org-latex
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-jsinfo hides /opt/local/share/emacs/24.1/lisp/org/org-jsinfo
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-irc hides /opt/local/share/emacs/24.1/lisp/org/org-irc
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-install hides /opt/local/share/emacs/24.1/lisp/org/org-install
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-inlinetask hides /opt/local/share/emacs/24.1/lisp/org/org-inlinetask
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-info hides /opt/local/share/emacs/24.1/lisp/org/org-info
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-indent hides /opt/local/share/emacs/24.1/lisp/org/org-indent
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-id hides /opt/local/share/emacs/24.1/lisp/org/org-id
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-icalendar hides /opt/local/share/emacs/24.1/lisp/org/org-icalendar
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-html hides /opt/local/share/emacs/24.1/lisp/org/org-html
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-habit hides /opt/local/share/emacs/24.1/lisp/org/org-habit
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-gnus hides /opt/local/share/emacs/24.1/lisp/org/org-gnus
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-freemind hides /opt/local/share/emacs/24.1/lisp/org/org-freemind
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-footnote hides /opt/local/share/emacs/24.1/lisp/org/org-footnote
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-feed hides /opt/local/share/emacs/24.1/lisp/org/org-feed
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-faces hides /opt/local/share/emacs/24.1/lisp/org/org-faces
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-exp hides /opt/local/share/emacs/24.1/lisp/org/org-exp
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-exp-blocks hides /opt/local/share/emacs/24.1/lisp/org/org-exp-blocks
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-eshell hides /opt/local/share/emacs/24.1/lisp/org/org-eshell
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-entities hides /opt/local/share/emacs/24.1/lisp/org/org-entities
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-docview hides /opt/local/share/emacs/24.1/lisp/org/org-docview
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-docbook hides /opt/local/share/emacs/24.1/lisp/org/org-docbook
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-datetree hides /opt/local/share/emacs/24.1/lisp/org/org-datetree
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-ctags hides /opt/local/share/emacs/24.1/lisp/org/org-ctags
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-crypt hides /opt/local/share/emacs/24.1/lisp/org/org-crypt
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-compat hides /opt/local/share/emacs/24.1/lisp/org/org-compat
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-colview hides /opt/local/share/emacs/24.1/lisp/org/org-colview
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-clock hides /opt/local/share/emacs/24.1/lisp/org/org-clock
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-capture hides /opt/local/share/emacs/24.1/lisp/org/org-capture
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-bibtex hides /opt/local/share/emacs/24.1/lisp/org/org-bibtex
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-beamer hides /opt/local/share/emacs/24.1/lisp/org/org-beamer
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-bbdb hides /opt/local/share/emacs/24.1/lisp/org/org-bbdb
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-attach hides /opt/local/share/emacs/24.1/lisp/org/org-attach
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-ascii hides /opt/local/share/emacs/24.1/lisp/org/org-ascii
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-archive hides /opt/local/share/emacs/24.1/lisp/org/org-archive
/Users/dave/.emacs.d/el-get/org-mode/lisp/org-agenda hides /opt/local/share/emacs/24.1/lisp/org/org-agenda
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob hides /opt/local/share/emacs/24.1/lisp/org/ob
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-tangle hides /opt/local/share/emacs/24.1/lisp/org/ob-tangle
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-table hides /opt/local/share/emacs/24.1/lisp/org/ob-table
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-sqlite hides /opt/local/share/emacs/24.1/lisp/org/ob-sqlite
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-sql hides /opt/local/share/emacs/24.1/lisp/org/ob-sql
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-shen hides /opt/local/share/emacs/24.1/lisp/org/ob-shen
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-sh hides /opt/local/share/emacs/24.1/lisp/org/ob-sh
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-screen hides /opt/local/share/emacs/24.1/lisp/org/ob-screen
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-scheme hides /opt/local/share/emacs/24.1/lisp/org/ob-scheme
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-sass hides /opt/local/share/emacs/24.1/lisp/org/ob-sass
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-ruby hides /opt/local/share/emacs/24.1/lisp/org/ob-ruby
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-ref hides /opt/local/share/emacs/24.1/lisp/org/ob-ref
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-R hides /opt/local/share/emacs/24.1/lisp/org/ob-R
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-python hides /opt/local/share/emacs/24.1/lisp/org/ob-python
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-plantuml hides /opt/local/share/emacs/24.1/lisp/org/ob-plantuml
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-picolisp hides /opt/local/share/emacs/24.1/lisp/org/ob-picolisp
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-perl hides /opt/local/share/emacs/24.1/lisp/org/ob-perl
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-org hides /opt/local/share/emacs/24.1/lisp/org/ob-org
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-octave hides /opt/local/share/emacs/24.1/lisp/org/ob-octave
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-ocaml hides /opt/local/share/emacs/24.1/lisp/org/ob-ocaml
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-mscgen hides /opt/local/share/emacs/24.1/lisp/org/ob-mscgen
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-maxima hides /opt/local/share/emacs/24.1/lisp/org/ob-maxima
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-matlab hides /opt/local/share/emacs/24.1/lisp/org/ob-matlab
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-lob hides /opt/local/share/emacs/24.1/lisp/org/ob-lob
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-lisp hides /opt/local/share/emacs/24.1/lisp/org/ob-lisp
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-lilypond hides /opt/local/share/emacs/24.1/lisp/org/ob-lilypond
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-ledger hides /opt/local/share/emacs/24.1/lisp/org/ob-ledger
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-latex hides /opt/local/share/emacs/24.1/lisp/org/ob-latex
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-keys hides /opt/local/share/emacs/24.1/lisp/org/ob-keys
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-js hides /opt/local/share/emacs/24.1/lisp/org/ob-js
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-java hides /opt/local/share/emacs/24.1/lisp/org/ob-java
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-haskell hides /opt/local/share/emacs/24.1/lisp/org/ob-haskell
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-gnuplot hides /opt/local/share/emacs/24.1/lisp/org/ob-gnuplot
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-fortran hides /opt/local/share/emacs/24.1/lisp/org/ob-fortran
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-exp hides /opt/local/share/emacs/24.1/lisp/org/ob-exp
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-eval hides /opt/local/share/emacs/24.1/lisp/org/ob-eval
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-emacs-lisp hides /opt/local/share/emacs/24.1/lisp/org/ob-emacs-lisp
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-dot hides /opt/local/share/emacs/24.1/lisp/org/ob-dot
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-ditaa hides /opt/local/share/emacs/24.1/lisp/org/ob-ditaa
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-css hides /opt/local/share/emacs/24.1/lisp/org/ob-css
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-comint hides /opt/local/share/emacs/24.1/lisp/org/ob-comint
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-clojure hides /opt/local/share/emacs/24.1/lisp/org/ob-clojure
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-calc hides /opt/local/share/emacs/24.1/lisp/org/ob-calc
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-C hides /opt/local/share/emacs/24.1/lisp/org/ob-C
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-awk hides /opt/local/share/emacs/24.1/lisp/org/ob-awk
/Users/dave/.emacs.d/el-get/org-mode/lisp/ob-asymptote hides /opt/local/share/emacs/24.1/lisp/org/ob-asymptote
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/trampver hides /opt/local/share/emacs/24.1/lisp/net/trampver
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp hides /opt/local/share/emacs/24.1/lisp/net/tramp
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-uu hides /opt/local/share/emacs/24.1/lisp/net/tramp-uu
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-smb hides /opt/local/share/emacs/24.1/lisp/net/tramp-smb
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-sh hides /opt/local/share/emacs/24.1/lisp/net/tramp-sh
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-loaddefs hides /opt/local/share/emacs/24.1/lisp/net/tramp-loaddefs
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-gw hides /opt/local/share/emacs/24.1/lisp/net/tramp-gw
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-ftp hides /opt/local/share/emacs/24.1/lisp/net/tramp-ftp
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-compat hides /opt/local/share/emacs/24.1/lisp/net/tramp-compat
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-cmds hides /opt/local/share/emacs/24.1/lisp/net/tramp-cmds
/Users/dave/.emacs.d/el-get/tramp/share/emacs/site-lisp/tramp-cache hides /opt/local/share/emacs/24.1/lisp/net/tramp-cache
/Users/dave/.emacs.d/el-get/nognus/lisp/tls hides /opt/local/share/emacs/24.1/lisp/net/tls
/Users/dave/.emacs.d/el-get/nognus/lisp/sasl hides /opt/local/share/emacs/24.1/lisp/net/sasl
/Users/dave/.emacs.d/el-get/nognus/lisp/sasl-ntlm hides /opt/local/share/emacs/24.1/lisp/net/sasl-ntlm
/Users/dave/.emacs.d/el-get/nognus/lisp/sasl-digest hides /opt/local/share/emacs/24.1/lisp/net/sasl-digest
/Users/dave/.emacs.d/el-get/nognus/lisp/sasl-cram hides /opt/local/share/emacs/24.1/lisp/net/sasl-cram
/Users/dave/.emacs.d/el-get/nognus/lisp/ntlm hides /opt/local/share/emacs/24.1/lisp/net/ntlm
/Users/dave/.emacs.d/el-get/nognus/lisp/netrc hides /opt/local/share/emacs/24.1/lisp/net/netrc
/Users/dave/.emacs.d/el-get/nognus/lisp/hmac-md5 hides /opt/local/share/emacs/24.1/lisp/net/hmac-md5
/Users/dave/.emacs.d/el-get/nognus/lisp/hmac-def hides /opt/local/share/emacs/24.1/lisp/net/hmac-def
/Users/dave/.emacs.d/el-get/nognus/lisp/dns hides /opt/local/share/emacs/24.1/lisp/net/dns
/Users/dave/.emacs.d/el-get/nognus/lisp/dig hides /opt/local/share/emacs/24.1/lisp/net/dig
/Users/dave/.emacs.d/el-get/nognus/lisp/uudecode hides /opt/local/share/emacs/24.1/lisp/mail/uudecode
/Users/dave/.emacs.d/el-get/wanderlust/utils/rfc2368 hides /opt/local/share/emacs/24.1/lisp/mail/rfc2368
/Users/dave/.emacs.d/el-get/nognus/lisp/hashcash hides /opt/local/share/emacs/24.1/lisp/mail/hashcash
/Users/dave/.emacs.d/el-get/nognus/lisp/binhex hides /opt/local/share/emacs/24.1/lisp/mail/binhex
/Users/dave/.emacs.d/el-get/nognus/lisp/yenc hides /opt/local/share/emacs/24.1/lisp/gnus/yenc
/Users/dave/.emacs.d/el-get/nognus/lisp/utf7 hides /opt/local/share/emacs/24.1/lisp/gnus/utf7
/Users/dave/.emacs.d/el-get/nognus/lisp/starttls hides /opt/local/share/emacs/24.1/lisp/gnus/starttls
/Users/dave/.emacs.d/el-get/nognus/lisp/spam hides /opt/local/share/emacs/24.1/lisp/gnus/spam
/Users/dave/.emacs.d/el-get/nognus/lisp/spam-wash hides /opt/local/share/emacs/24.1/lisp/gnus/spam-wash
/Users/dave/.emacs.d/el-get/nognus/lisp/spam-stat hides /opt/local/share/emacs/24.1/lisp/gnus/spam-stat
/Users/dave/.emacs.d/el-get/nognus/lisp/spam-report hides /opt/local/share/emacs/24.1/lisp/gnus/spam-report
/Users/dave/.emacs.d/el-get/nognus/lisp/smime hides /opt/local/share/emacs/24.1/lisp/gnus/smime
/Users/dave/.emacs.d/el-get/nognus/lisp/smiley hides /opt/local/share/emacs/24.1/lisp/gnus/smiley
/Users/dave/.emacs.d/el-get/nognus/lisp/sieve hides /opt/local/share/emacs/24.1/lisp/gnus/sieve
/Users/dave/.emacs.d/el-get/nognus/lisp/sieve-mode hides /opt/local/share/emacs/24.1/lisp/gnus/sieve-mode
/Users/dave/.emacs.d/el-get/nognus/lisp/sieve-manage hides /opt/local/share/emacs/24.1/lisp/gnus/sieve-manage
/Users/dave/.emacs.d/el-get/nognus/lisp/shr hides /opt/local/share/emacs/24.1/lisp/gnus/shr
/Users/dave/.emacs.d/el-get/nognus/lisp/shr-color hides /opt/local/share/emacs/24.1/lisp/gnus/shr-color
/Users/dave/.emacs.d/el-get/nognus/lisp/score-mode hides /opt/local/share/emacs/24.1/lisp/gnus/score-mode
/Users/dave/.emacs.d/el-get/nognus/lisp/rtree hides /opt/local/share/emacs/24.1/lisp/gnus/rtree
/Users/dave/.emacs.d/el-get/nognus/lisp/rfc2231 hides /opt/local/share/emacs/24.1/lisp/gnus/rfc2231
/Users/dave/.emacs.d/el-get/nognus/lisp/rfc2104 hides /opt/local/share/emacs/24.1/lisp/gnus/rfc2104
/Users/dave/.emacs.d/el-get/nognus/lisp/rfc2047 hides /opt/local/share/emacs/24.1/lisp/gnus/rfc2047
/Users/dave/.emacs.d/el-get/nognus/lisp/rfc2045 hides /opt/local/share/emacs/24.1/lisp/gnus/rfc2045
/Users/dave/.emacs.d/el-get/nognus/lisp/rfc1843 hides /opt/local/share/emacs/24.1/lisp/gnus/rfc1843
/Users/dave/.emacs.d/el-get/nognus/lisp/registry hides /opt/local/share/emacs/24.1/lisp/gnus/registry
/Users/dave/.emacs.d/el-get/nognus/lisp/qp hides /opt/local/share/emacs/24.1/lisp/gnus/qp
/Users/dave/.emacs.d/el-get/nognus/lisp/pop3 hides /opt/local/share/emacs/24.1/lisp/gnus/pop3
/Users/dave/.emacs.d/el-get/nognus/lisp/plstore hides /opt/local/share/emacs/24.1/lisp/gnus/plstore
/Users/dave/.emacs.d/el-get/nognus/lisp/nnweb hides /opt/local/share/emacs/24.1/lisp/gnus/nnweb
/Users/dave/.emacs.d/el-get/nognus/lisp/nnvirtual hides /opt/local/share/emacs/24.1/lisp/gnus/nnvirtual
/Users/dave/.emacs.d/el-get/nognus/lisp/nntp hides /opt/local/share/emacs/24.1/lisp/gnus/nntp
/Users/dave/.emacs.d/el-get/nognus/lisp/nnspool hides /opt/local/share/emacs/24.1/lisp/gnus/nnspool
/Users/dave/.emacs.d/el-get/nognus/lisp/nnrss hides /opt/local/share/emacs/24.1/lisp/gnus/nnrss
/Users/dave/.emacs.d/el-get/nognus/lisp/nnregistry hides /opt/local/share/emacs/24.1/lisp/gnus/nnregistry
/Users/dave/.emacs.d/el-get/nognus/lisp/nnoo hides /opt/local/share/emacs/24.1/lisp/gnus/nnoo
/Users/dave/.emacs.d/el-get/nognus/lisp/nnnil hides /opt/local/share/emacs/24.1/lisp/gnus/nnnil
/Users/dave/.emacs.d/el-get/nognus/lisp/nnml hides /opt/local/share/emacs/24.1/lisp/gnus/nnml
/Users/dave/.emacs.d/el-get/nognus/lisp/nnmh hides /opt/local/share/emacs/24.1/lisp/gnus/nnmh
/Users/dave/.emacs.d/el-get/nognus/lisp/nnmbox hides /opt/local/share/emacs/24.1/lisp/gnus/nnmbox
/Users/dave/.emacs.d/el-get/nognus/lisp/nnmairix hides /opt/local/share/emacs/24.1/lisp/gnus/nnmairix
/Users/dave/.emacs.d/el-get/nognus/lisp/nnmaildir hides /opt/local/share/emacs/24.1/lisp/gnus/nnmaildir
/Users/dave/.emacs.d/el-get/nognus/lisp/nnmail hides /opt/local/share/emacs/24.1/lisp/gnus/nnmail
/Users/dave/.emacs.d/el-get/nognus/lisp/nnir hides /opt/local/share/emacs/24.1/lisp/gnus/nnir
/Users/dave/.emacs.d/el-get/nognus/lisp/nnimap hides /opt/local/share/emacs/24.1/lisp/gnus/nnimap
/Users/dave/.emacs.d/el-get/nognus/lisp/nnheader hides /opt/local/share/emacs/24.1/lisp/gnus/nnheader
/Users/dave/.emacs.d/el-get/nognus/lisp/nngateway hides /opt/local/share/emacs/24.1/lisp/gnus/nngateway
/Users/dave/.emacs.d/el-get/nognus/lisp/nnfolder hides /opt/local/share/emacs/24.1/lisp/gnus/nnfolder
/Users/dave/.emacs.d/el-get/nognus/lisp/nneething hides /opt/local/share/emacs/24.1/lisp/gnus/nneething
/Users/dave/.emacs.d/el-get/nognus/lisp/nndraft hides /opt/local/share/emacs/24.1/lisp/gnus/nndraft
/Users/dave/.emacs.d/el-get/nognus/lisp/nndoc hides /opt/local/share/emacs/24.1/lisp/gnus/nndoc
/Users/dave/.emacs.d/el-get/nognus/lisp/nndir hides /opt/local/share/emacs/24.1/lisp/gnus/nndir
/Users/dave/.emacs.d/el-get/nognus/lisp/nndiary hides /opt/local/share/emacs/24.1/lisp/gnus/nndiary
/Users/dave/.emacs.d/el-get/nognus/lisp/nnbabyl hides /opt/local/share/emacs/24.1/lisp/gnus/nnbabyl
/Users/dave/.emacs.d/el-get/nognus/lisp/nnagent hides /opt/local/share/emacs/24.1/lisp/gnus/nnagent
/Users/dave/.emacs.d/el-get/nognus/lisp/mml2015 hides /opt/local/share/emacs/24.1/lisp/gnus/mml2015
/Users/dave/.emacs.d/el-get/nognus/lisp/mml1991 hides /opt/local/share/emacs/24.1/lisp/gnus/mml1991
/Users/dave/.emacs.d/el-get/nognus/lisp/mml hides /opt/local/share/emacs/24.1/lisp/gnus/mml
/Users/dave/.emacs.d/el-get/nognus/lisp/mml-smime hides /opt/local/share/emacs/24.1/lisp/gnus/mml-smime
/Users/dave/.emacs.d/el-get/nognus/lisp/mml-sec hides /opt/local/share/emacs/24.1/lisp/gnus/mml-sec
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-view hides /opt/local/share/emacs/24.1/lisp/gnus/mm-view
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-uu hides /opt/local/share/emacs/24.1/lisp/gnus/mm-uu
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-util hides /opt/local/share/emacs/24.1/lisp/gnus/mm-util
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-url hides /opt/local/share/emacs/24.1/lisp/gnus/mm-url
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-partial hides /opt/local/share/emacs/24.1/lisp/gnus/mm-partial
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-extern hides /opt/local/share/emacs/24.1/lisp/gnus/mm-extern
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-encode hides /opt/local/share/emacs/24.1/lisp/gnus/mm-encode
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-decode hides /opt/local/share/emacs/24.1/lisp/gnus/mm-decode
/Users/dave/.emacs.d/el-get/nognus/lisp/mm-bodies hides /opt/local/share/emacs/24.1/lisp/gnus/mm-bodies
/Users/dave/.emacs.d/el-get/nognus/lisp/messcompat hides /opt/local/share/emacs/24.1/lisp/gnus/messcompat
/Users/dave/.emacs.d/el-get/nognus/lisp/message hides /opt/local/share/emacs/24.1/lisp/gnus/message
/Users/dave/.emacs.d/el-get/nognus/lisp/mailcap hides /opt/local/share/emacs/24.1/lisp/gnus/mailcap
/Users/dave/.emacs.d/el-get/nognus/lisp/mail-source hides /opt/local/share/emacs/24.1/lisp/gnus/mail-source
/Users/dave/.emacs.d/el-get/nognus/lisp/mail-prsvr hides /opt/local/share/emacs/24.1/lisp/gnus/mail-prsvr
/Users/dave/.emacs.d/el-get/nognus/lisp/mail-parse hides /opt/local/share/emacs/24.1/lisp/gnus/mail-parse
/Users/dave/.emacs.d/el-get/nognus/lisp/legacy-gnus-agent hides /opt/local/share/emacs/24.1/lisp/gnus/legacy-gnus-agent
/Users/dave/.emacs.d/el-get/nognus/lisp/ietf-drums hides /opt/local/share/emacs/24.1/lisp/gnus/ietf-drums
/Users/dave/.emacs.d/el-get/nognus/lisp/html2text hides /opt/local/share/emacs/24.1/lisp/gnus/html2text
/Users/dave/.emacs.d/el-get/nognus/lisp/gssapi hides /opt/local/share/emacs/24.1/lisp/gnus/gssapi
/Users/dave/.emacs.d/el-get/wl-gravatar/gravatar hides /opt/local/share/emacs/24.1/lisp/gnus/gravatar
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus hides /opt/local/share/emacs/24.1/lisp/gnus/gnus
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-win hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-win
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-vm hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-vm
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-uu hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-uu
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-util hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-util
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-undo hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-undo
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-topic hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-topic
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-sync hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-sync
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-sum hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-sum
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-start hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-start
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-srvr hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-srvr
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-spec hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-spec
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-sieve hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-sieve
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-setup hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-setup
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-score hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-score
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-salt hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-salt
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-registry hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-registry
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-range hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-range
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-picon hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-picon
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-msg hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-msg
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-mlspl hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-mlspl
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-ml hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-ml
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-mh hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-mh
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-logic hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-logic
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-kill hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-kill
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-int hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-int
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-html hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-html
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-group hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-group
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-gravatar hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-gravatar
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-fun hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-fun
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-ems hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-ems
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-eform hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-eform
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-dup hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-dup
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-draft hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-draft
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-dired hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-dired
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-diary hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-diary
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-demon hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-demon
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-delay hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-delay
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-cus hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-cus
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-cite hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-cite
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-cache hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-cache
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-bookmark hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-bookmark
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-bcklg hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-bcklg
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-async hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-async
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-art hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-art
/Users/dave/.emacs.d/el-get/nognus/lisp/gnus-agent hides /opt/local/share/emacs/24.1/lisp/gnus/gnus-agent
/Users/dave/.emacs.d/el-get/nognus/lisp/gmm-utils hides /opt/local/share/emacs/24.1/lisp/gnus/gmm-utils
/Users/dave/.emacs.d/el-get/nognus/lisp/flow-fill hides /opt/local/share/emacs/24.1/lisp/gnus/flow-fill
/Users/dave/.emacs.d/el-get/nognus/lisp/ecomplete hides /opt/local/share/emacs/24.1/lisp/gnus/ecomplete
/Users/dave/.emacs.d/el-get/nognus/lisp/deuglify hides /opt/local/share/emacs/24.1/lisp/gnus/deuglify
/Users/dave/.emacs.d/el-get/nognus/lisp/compface hides /opt/local/share/emacs/24.1/lisp/gnus/compface
/Users/dave/.emacs.d/el-get/nognus/lisp/canlock hides /opt/local/share/emacs/24.1/lisp/gnus/canlock
/Users/dave/.emacs.d/el-get/nognus/lisp/auth-source hides /opt/local/share/emacs/24.1/lisp/gnus/auth-source
/Users/dave/.emacs.d/el-get/org-mode/.dir-locals hides /opt/local/share/emacs/24.1/lisp/gnus/.dir-locals
/Users/dave/.emacs.d/el-get/dwamacs/site-lisp/ert hides /opt/local/share/emacs/24.1/lisp/emacs-lisp/ert
/Users/dave/.emacs.d/el-get/dwamacs/site-lisp/ert-x hides /opt/local/share/emacs/24.1/lisp/emacs-lisp/ert-x
/Users/dave/.emacs.d/el-get/nognus/lisp/time-date hides /opt/local/share/emacs/24.1/lisp/calendar/time-date
/Users/dave/.emacs.d/el-get/nognus/lisp/parse-time hides /opt/local/share/emacs/24.1/lisp/calendar/parse-time
/Users/dave/.emacs.d/el-get/semi/site-lisp/semi/pgg hides /opt/local/share/emacs/24.1/lisp/obsolete/pgg
/Users/dave/.emacs.d/el-get/semi/site-lisp/semi/pgg-pgp5 hides /opt/local/share/emacs/24.1/lisp/obsolete/pgg-pgp5
/Users/dave/.emacs.d/el-get/semi/site-lisp/semi/pgg-pgp hides /opt/local/share/emacs/24.1/lisp/obsolete/pgg-pgp
/Users/dave/.emacs.d/el-get/semi/site-lisp/semi/pgg-parse hides /opt/local/share/emacs/24.1/lisp/obsolete/pgg-parse
/Users/dave/.emacs.d/el-get/semi/site-lisp/semi/pgg-gpg hides /opt/local/share/emacs/24.1/lisp/obsolete/pgg-gpg
/Users/dave/.emacs.d/el-get/semi/site-lisp/semi/pgg-def hides /opt/local/share/emacs/24.1/lisp/obsolete/pgg-def

Features:
(shadow emacsbug sh-script executable code-settings debug dired-aux
dabbrev magit-bisect magit-key-mode magit log-edit pcvs-util shr-color
color nnfolder newcomment recentf tree-widget hl-line find-dired grep+
grep-ed hilit-chg grep compile+ compile compile- multi-isearch diff-mode
vc-git dot-org-el org-checklist ob-python ob-R ox-redmine ox-org org-x
ox-plugin org-devonthink org-habit org-agenda org-info org-id ob-sh
shell org ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote
org-src ob-comint ob-keys ob ob-eval org-pcomplete pcomplete comint
org-list org-faces org-compat org-entities org-macs noutline outline
cal-menu calendar cal-loaddefs ede/dired unsafep gnus-dired shr
browse-url mule-util url-http url-auth url-gw sort smiley ansi-color
flow-fill qp mm-archive gnus-async gnus-bcklg gnus-salt gnus-dup gnus-ml
gnus-topic nndraft nnmh utf-7 epa-file epa epg gnutls network-stream
nnimap parse-time tls utf7 netrc gnus-agent gnus-srvr gnus-score
score-mode nnvirtual nntp gnus-cache dot-gnus-el mail-settings gnus-cite
w3m-load spam spam-stat gnus-uu yenc gnus-msg gnus-gravatar mail-extr
gravatar url-cache gnus-registry registry gnus-art mm-uu mml2015
epg-config mm-view mml-smime smime dig gnus-sum nnoo gnus-group
gnus-undo nnmail mail-source gnus-start gnus-spec gnus-win gnus-int
gnus-range pgg pgg-parse mel path-util mime-def mcharset mcs-20 mcs-e20
pces pces-e20 pces-20 pcustom pccl pccl-20 ccl broken poe pgg-def luna
calist alist pym static apel-ver product starttls gnus-harvest message
idna format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader mailalias sendmail
rfc2047 rfc2045 ietf-drums gnus gnus-ems gnus-compat url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-util
url-parse auth-source password-cache url-vars mailcap nnheader gnus-util
mail-utils mm-util mail-prsvr company-autoloads weblogger-autoloads
xml-rpc-autoloads maxframe per-window-point page-ext disp-table pp-c-l
ws-trim ffap session-settings session info+ fit-frame strings misc-fns
thingatpt+ system-type-darwin-theme osx-plist xml dot-passwd-el
.loaddefs xcscope workgroups shime php-mode add-log etags cc-langs
org-install gnus-load mo-git-blame eproject-extras ibuf-macs ibuf-ext
ibuffer iswitchb eproject ring esh-var esh-io esh-cmd esh-ext esh-proc
esh-arg eldoc esh-groups eshell esh-module esh-mode esh-util edg modal
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs yasnippet dropdown-list derived edmacro kmacro initsplit
warnings advice advice-preload cus-edit find-func diminish cmake-mode
thingatpt el-get el-get-autoloads el-get-list-packages el-get-notify
help-mode view el-get-dependencies el-get-build el-get-status pp
el-get-recipes el-get-byte-compile el-get-methods el-get-fossil
el-get-svn el-get-pacman el-get-github-zip el-get-github-tar
el-get-http-zip el-get-http-tar el-get-hg el-get-git-svn el-get-fink
el-get-emacswiki el-get-http el-get-emacsmirror el-get-github el-get-git
el-get-elpa package tabulated-list el-get-darcs el-get-cvs el-get-bzr
el-get-brew el-get-builtin el-get-apt-get el-get-custom el-get-core
autoload help-fns cl dired-x dired regexp-opt easy-mmode jka-compr info
ede/linux ede/emacs ede/cpp-root which-func imenu paren server ido
ede/speedbar ede/files ede ede/base ede/auto ede/source eieio-base
eieio-speedbar speedbar sb-image ezimage dframe easymenu assoc
eieio-custom wid-edit eieio byte-opt bytecomp byte-compile cconv
macroexp cedet autorevert time delsel cus-start cus-load elhome
time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel mac-win
tool-bar dnd fontset image fringe 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 files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote mac
multi-tty make-network-process emacs)

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Sun, 16 Sep 2012 16:00:02 GMT) Full text and rfc822 format available.

Message #8 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Chong Yidong <cyd <at> gnu.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Sun, 16 Sep 2012 23:57:48 +0800
Dave Abrahams <dave <at> boostpro.com> writes:

> (parse-colon-path ":") yields (nil nil) but there's nothing in the
> docstring to indicate that empty path entries will get turned into nil.
> Either the docstring needs to be updated, or parse-colon-path should
> return (delq nil cd-list).

Fixed in trunk, thanks.




bug closed, send any further explanations to 12351 <at> debbugs.gnu.org and Dave Abrahams <dave <at> boostpro.com> Request was from Chong Yidong <cyd <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 16 Sep 2012 16:00:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 15 Oct 2012 11:24:03 GMT) Full text and rfc822 format available.

bug unarchived. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 30 Dec 2012 18:49:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Sun, 30 Dec 2012 18:54:01 GMT) Full text and rfc822 format available.

Message #17 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Sun, 30 Dec 2012 13:52:11 -0500
Dave Abrahams wrote:

> (parse-colon-path ":") yields (nil nil) but there's nothing in the
> docstring to indicate that empty path entries will get turned into nil.
> Either the docstring needs to be updated, or parse-colon-path should
> return (delq nil cd-list).

Making a change equivalent to the latter has caused

http://debbugs.gnu.org/13296

Obviously we need the nils to remain, so I will put them back and just
mention that empty elements return nil. It's not worth handling the
minor aesthetic annoyance of (nil nil) specially.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Sun, 30 Dec 2012 19:55:02 GMT) Full text and rfc822 format available.

Message #20 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 12351 <at> debbugs.gnu.org
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Sun, 30 Dec 2012 14:53:44 -0500
on Sun Dec 30 2012, Glenn Morris <rgm-AT-gnu.org> wrote:

> Dave Abrahams wrote:
>
>> (parse-colon-path ":") yields (nil nil) but there's nothing in the
>> docstring to indicate that empty path entries will get turned into nil.
>> Either the docstring needs to be updated, or parse-colon-path should
>> return (delq nil cd-list).
>
> Making a change equivalent to the latter has caused
>
> http://debbugs.gnu.org/13296
>
> Obviously we need the nils to remain, so I will put them back and just
> mention that empty elements return nil. It's not worth handling the
> minor aesthetic annoyance of (nil nil) specially.

FWIW, I disagree. IMO you should at least consider fixing eshell and any
other things that break because of this change.  This discontinuity in
behavior is not merely aesthetic; it makes parse-colon-path difficult to
use correctly and leads to hard-to-find bugs in any code that fails to
account for the possible nils.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Sun, 30 Dec 2012 20:24:01 GMT) Full text and rfc822 format available.

Message #23 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: rgm <at> gnu.org, 12351 <at> debbugs.gnu.org
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Sun, 30 Dec 2012 22:22:09 +0200
> From: Dave Abrahams <dave <at> boostpro.com>
> Date: Sun, 30 Dec 2012 14:53:44 -0500
> Cc: 12351 <at> debbugs.gnu.org
> 
> > Obviously we need the nils to remain, so I will put them back and just
> > mention that empty elements return nil. It's not worth handling the
> > minor aesthetic annoyance of (nil nil) specially.
> 
> FWIW, I disagree. IMO you should at least consider fixing eshell and any
> other things that break because of this change.  This discontinuity in
> behavior is not merely aesthetic; it makes parse-colon-path difficult to
> use correctly and leads to hard-to-find bugs in any code that fails to
> account for the possible nils.

This whole discussion is rather futile, unless the opinions are also
backed up by real-life use cases.  Can you tell why the previous
behavior made parse-colon-path difficult to use, and in what
situations?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Sun, 30 Dec 2012 20:39:01 GMT) Full text and rfc822 format available.

Message #26 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: rgm <at> gnu.org, 12351 <at> debbugs.gnu.org
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Sun, 30 Dec 2012 15:37:16 -0500
on Sun Dec 30 2012, Eli Zaretskii <eliz-AT-gnu.org> wrote:

>> From: Dave Abrahams <dave <at> boostpro.com>
>> Date: Sun, 30 Dec 2012 14:53:44 -0500
>> Cc: 12351 <at> debbugs.gnu.org
>> 
>> > Obviously we need the nils to remain, so I will put them back and just
>> > mention that empty elements return nil. It's not worth handling the
>> > minor aesthetic annoyance of (nil nil) specially.
>> 
>> FWIW, I disagree. IMO you should at least consider fixing eshell and any
>> other things that break because of this change.  This discontinuity in
>> behavior is not merely aesthetic; it makes parse-colon-path difficult to
>> use correctly and leads to hard-to-find bugs in any code that fails to
>> account for the possible nils.
>
> This whole discussion is rather futile, unless the opinions are also
> backed up by real-life use cases.  Can you tell why the previous
> behavior made parse-colon-path difficult to use, and in what
> situations?

Instead of recording that complex situation when I encountered the bug I
helpfully (!) recorded a reduced reproducible example that stripped away
the use case, which I didn't remember... but I even went the extra mile
to reconstruct it.  For example, look at 

http://edward.oconnor.cx/elisp/osx-plist.el

The following function is buggy because of the original bug:

--8<---------------cut here---------------start------------->8---
(defun osx-plist-update-exec-path ()
  "Update `exec-path' from the PATH environment variable."
  (let ((path (getenv "PATH")))
    (mapc (lambda (dir)
            (add-to-list 'exec-path dir))
          (parse-colon-path path)))
  exec-path)
--8<---------------cut here---------------end--------------->8---

I had to replace it in my local installation as follows:

--8<---------------cut here---------------start------------->8---
  (defun osx-plist-update-exec-path ()
    "Update `exec-path' from the PATH environment variable."
    (let ((path (delq nil (parse-colon-path (getenv "PATH")))))
      (setq exec-path
            (dolist (dir exec-path path)
              (add-to-list 'path (file-name-as-directory dir) :append)))))
--8<---------------cut here---------------end--------------->8---

If you go looking for instances of parse-colon-path I'm sure you'll find
hundreds of other places where the use was tailored to the documented
behavior of parse-colon-path rather than the specific oddball behavior
that was actually implemented.  I found at least one in my own code just
now.

IMO, though, you should actually be able to understand this one without
any examples.  Any discontinuity in behavior means the client needs to
write special-case code to handle that special-case behavior.  For one
or two clients it may be that the special-case behavior matches just
what they need, but in general that's highly unlikely.  Combine this
with the fact that the uniform behavior has been documented for years,
and that the inputs that trigger the non-uniformity are rare, and you
can be pretty confident that more code has been written to the uniform
specification.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Sun, 30 Dec 2012 22:10:02 GMT) Full text and rfc822 format available.

Message #29 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Sun, 30 Dec 2012 23:08:08 +0100
Dave Abrahams <dave <at> boostpro.com> writes:

> The following function is buggy because of the original bug:
>
> (defun osx-plist-update-exec-path ()
>   "Update `exec-path' from the PATH environment variable."
>   (let ((path (getenv "PATH")))
>     (mapc (lambda (dir)
>             (add-to-list 'exec-path dir))
>           (parse-colon-path path)))
>   exec-path)

In which way is this buggy, apart from the fact that it reverses the
path (which has nothing to do with the behaviour of parse-colon-path)?

Andreas.

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 01:45:02 GMT) Full text and rfc822 format available.

Message #32 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 02:40:21 +0100
On Sun, Dec 30 2012, Dave Abrahams wrote:

> The following function is buggy because of the original bug:
>
> (defun osx-plist-update-exec-path ()
>   "Update `exec-path' from the PATH environment variable."
>   (let ((path (getenv "PATH")))
>     (mapc (lambda (dir)
>             (add-to-list 'exec-path dir))
>           (parse-colon-path path)))
>   exec-path)
>
> I had to replace it in my local installation as follows:
>
>   (defun osx-plist-update-exec-path ()
>     "Update `exec-path' from the PATH environment variable."
>     (let ((path (delq nil (parse-colon-path (getenv "PATH")))))
>       (setq exec-path
>             (dolist (dir exec-path path)
>               (add-to-list 'path (file-name-as-directory dir) :append)))))

But the first function exhibited a bug only with an empty component in
the path.  So I'd guess that nil ought to be replaced by "." instead of
being deleted from the list.  If the second function gives the correct
result that means that exec-path already contained "." before the call.

And in any case, wouldn't the trivial patch (relative to trunk) below do
the right thing here?

Confused,

Wolfgang

=== modified file 'lisp/files.el'
--- lisp/files.el	2012-12-17 15:51:49 +0000
+++ lisp/files.el	2012-12-31 01:00:47 +0000
@@ -664,7 +664,7 @@
   (when (stringp search-path)
     (mapcar (lambda (f)
 	      (substitute-in-file-name (file-name-as-directory f)))
-	    (split-string search-path path-separator t))))
+	    (split-string search-path path-separator))))
 
 (defun cd-absolute (dir)
   "Change current directory to given absolute file name DIR."





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 03:11:02 GMT) Full text and rfc822 format available.

Message #35 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: 12351 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Sun, 30 Dec 2012 22:08:57 -0500
on Sun Dec 30 2012, Andreas Schwab <schwab-AT-linux-m68k.org> wrote:

> Dave Abrahams <dave <at> boostpro.com> writes:
>
>> The following function is buggy because of the original bug:
>>
>> (defun osx-plist-update-exec-path ()
>>   "Update `exec-path' from the PATH environment variable."
>>   (let ((path (getenv "PATH")))
>>     (mapc (lambda (dir)
>>             (add-to-list 'exec-path dir))
>>           (parse-colon-path path)))
>>   exec-path)
>
> In which way is this buggy, apart from the fact that it reverses the
> path (which has nothing to do with the behaviour of parse-colon-path)?

It puts nils in exec-path when PATH contains empty elements.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 03:13:02 GMT) Full text and rfc822 format available.

Message #38 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: Wolfgang Jenkner <wjenkner <at> inode.at>
Cc: 12351 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Sun, 30 Dec 2012 22:11:19 -0500
on Sun Dec 30 2012, Wolfgang Jenkner <wjenkner-AT-inode.at> wrote:

> On Sun, Dec 30 2012, Dave Abrahams wrote:
>
>> The following function is buggy because of the original bug:
>>
>> (defun osx-plist-update-exec-path ()
>>   "Update `exec-path' from the PATH environment variable."
>>   (let ((path (getenv "PATH")))
>>     (mapc (lambda (dir)
>>             (add-to-list 'exec-path dir))
>>           (parse-colon-path path)))
>>   exec-path)
>>
>> I had to replace it in my local installation as follows:
>>
>>   (defun osx-plist-update-exec-path ()
>>     "Update `exec-path' from the PATH environment variable."
>>     (let ((path (delq nil (parse-colon-path (getenv "PATH")))))
>>       (setq exec-path
>>             (dolist (dir exec-path path)
>>               (add-to-list 'path (file-name-as-directory dir) :append)))))
>
> But the first function exhibited a bug only with an empty component in
> the path.  So I'd guess that nil ought to be replaced by "." instead of
> being deleted from the list.  

No, that would be wrong.  Every OS I know of treats empty elements in
"colon paths" (semicolon paths on Windows) differently from elements
that are "."

> If the second function gives the correct result that means that
> exec-path already contained "." before the call.
>
> And in any case, wouldn't the trivial patch (relative to trunk) below do
> the right thing here?
>
> Confused,
>
> Wolfgang
>
> === modified file 'lisp/files.el'
> --- lisp/files.el	2012-12-17 15:51:49 +0000
> +++ lisp/files.el	2012-12-31 01:00:47 +0000
> @@ -664,7 +664,7 @@
>    (when (stringp search-path)
>      (mapcar (lambda (f)
>  	      (substitute-in-file-name (file-name-as-directory f)))
> -	    (split-string search-path path-separator t))))
> +	    (split-string search-path path-separator))))
>
>  (defun cd-absolute (dir)
>    "Change current directory to given absolute file name DIR."

It depends whether you think the "right thing" is the old behavior or
the documented behavior or something else.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 06:58:02 GMT) Full text and rfc822 format available.

Message #41 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org, Wolfgang Jenkner <wjenkner <at> inode.at>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 01:56:17 -0500
Dave Abrahams wrote:

> Every OS I know of treats empty elements in "colon paths" (semicolon
> paths on Windows) differently from elements that are "."

So why do you want to just unconditionally delete them from the result
of parse-colon-path? What should they be represented by, if not nil?

load-path, exec-path both are documented to accept nil for
default-directory. cd-path works the same way.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 07:09:01 GMT) Full text and rfc822 format available.

Message #44 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org, Wolfgang Jenkner <wjenkner <at> inode.at>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 02:07:15 -0500
PS parse-colon-path is explicitly documented to return nils:

 -- Function: parse-colon-path path
     This function takes a search path string such as the value of the
     `PATH' environment variable, and splits it at the separators,
     returning a list of directory names.  `nil' in this list means the
     current directory.  Although the function's name says "colon", it
     actually uses the value of `path-separator'.

          (parse-colon-path ":/foo:/bar")
               => (nil "/foo/" "/bar/")

The only use of parse-colon-path in "core" Emacs is in setting cd-path,
which needs the nil, as we have seen.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 07:16:02 GMT) Full text and rfc822 format available.

Message #47 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org, Andreas Schwab <schwab <at> linux-m68k.org>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 02:14:18 -0500
Dave Abrahams wrote:

> It puts nils in exec-path when PATH contains empty elements.

man bash:

  A zero-length (null) directory name in the value of PATH indicates the
  current directory.

C-h v exec-path

  nil [means] (try default directory).


So this all seems totally consistent to me.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 10:10:01 GMT) Full text and rfc822 format available.

Message #50 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 11:07:48 +0100
Dave Abrahams <dave <at> boostpro.com> writes:

> It puts nils in exec-path when PATH contains empty elements.

Which is exactly what you want.

Andreas.

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 13:00:02 GMT) Full text and rfc822 format available.

Message #53 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 12351 <at> debbugs.gnu.org, Wolfgang Jenkner <wjenkner <at> inode.at>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 07:58:27 -0500
on Mon Dec 31 2012, Glenn Morris <rgm-AT-gnu.org> wrote:

> PS parse-colon-path is explicitly documented to return nils:
>
>  -- Function: parse-colon-path path
>      This function takes a search path string such as the value of the
>      `PATH' environment variable, and splits it at the separators,
>      returning a list of directory names.  `nil' in this list means the
>      current directory.  Although the function's name says "colon", it
>      actually uses the value of `path-separator'.
>
>           (parse-colon-path ":/foo:/bar")
>                => (nil "/foo/" "/bar/")
>
> The only use of parse-colon-path in "core" Emacs is in setting cd-path,
> which needs the nil, as we have seen.

OK, the docstring doesn't match the manual.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 13:01:02 GMT) Full text and rfc822 format available.

Message #56 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 12351 <at> debbugs.gnu.org, Andreas Schwab <schwab <at> linux-m68k.org>
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 07:59:11 -0500
on Mon Dec 31 2012, Glenn Morris <rgm-AT-gnu.org> wrote:

> Dave Abrahams wrote:
>
>> It puts nils in exec-path when PATH contains empty elements.
>
> man bash:
>
>   A zero-length (null) directory name in the value of PATH indicates the
>   current directory.
>
> C-h v exec-path
>
>   nil [means] (try default directory).
>
> So this all seems totally consistent to me.

I stand corrected.  Please fix the docstring, but otherwise I have no
argument to make here.

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12351; Package emacs. (Mon, 31 Dec 2012 16:12:01 GMT) Full text and rfc822 format available.

Message #59 received at 12351 <at> debbugs.gnu.org (full text, mbox):

From: Wolfgang Jenkner <wjenkner <at> inode.at>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 12351 <at> debbugs.gnu.org
Subject: Re: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 17:10:42 +0100
On Mon, Dec 31 2012, Dave Abrahams wrote:

> No, that would be wrong.  Every OS I know of treats empty elements in
> "colon paths" (semicolon paths on Windows) differently from elements
> that are "."

But not in the PATH environment variable, I'd think in the light of

http://pubs.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap08.html#tag_08_03

Wolfgang




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 29 Jan 2013 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 91 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.