From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nick Dokos Newsgroups: gmane.emacs.bugs Subject: bug#11473: 24.1.50; icalendar.el does not unescape commas in timezone specs Date: Mon, 14 May 2012 23:37:45 -0400 Organization: HPCS Message-ID: <5548.1337053065@alphaville> Reply-To: nicholas.dokos@hp.com NNTP-Posting-Host: plane.gmane.org X-Trace: dough.gmane.org 1337053152 796 80.91.229.3 (15 May 2012 03:39:12 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 15 May 2012 03:39:12 +0000 (UTC) Cc: nicholas.dokos@hp.com To: 11473@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue May 15 05:39:10 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SU8bN-0006rv-Kd for geb-bug-gnu-emacs@m.gmane.org; Tue, 15 May 2012 05:39:10 +0200 Original-Received: from localhost ([::1]:51310 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SU8bN-0005SU-2S for geb-bug-gnu-emacs@m.gmane.org; Mon, 14 May 2012 23:39:09 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:57173) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SU8bI-0005S4-Nr for bug-gnu-emacs@gnu.org; Mon, 14 May 2012 23:39:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SU8bF-0007cq-6e for bug-gnu-emacs@gnu.org; Mon, 14 May 2012 23:39:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:45530) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SU8bF-0007cm-23 for bug-gnu-emacs@gnu.org; Mon, 14 May 2012 23:39:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SU8bG-00041x-5S for bug-gnu-emacs@gnu.org; Mon, 14 May 2012 23:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Nick Dokos Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 15 May 2012 03:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 11473 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.133705309315433 (code B ref -1); Tue, 15 May 2012 03:39:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 15 May 2012 03:38:13 +0000 Original-Received: from localhost ([127.0.0.1]:55076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SU8aR-00040q-IA for submit@debbugs.gnu.org; Mon, 14 May 2012 23:38:13 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:49729) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SU8aN-00040c-Qp for submit@debbugs.gnu.org; Mon, 14 May 2012 23:38:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SU8aD-0007Zk-R1 for submit@debbugs.gnu.org; Mon, 14 May 2012 23:38:00 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:60803) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SU8aD-0007Ze-NQ for submit@debbugs.gnu.org; Mon, 14 May 2012 23:37:57 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:57076) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SU8aA-0005KU-8Q for bug-gnu-emacs@gnu.org; Mon, 14 May 2012 23:37:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SU8a5-0007Wj-TE for bug-gnu-emacs@gnu.org; Mon, 14 May 2012 23:37:53 -0400 Original-Received: from g4t0015.houston.hp.com ([15.201.24.18]:36643) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SU8a5-0007SZ-I4 for bug-gnu-emacs@gnu.org; Mon, 14 May 2012 23:37:49 -0400 Original-Received: from g4t0009.houston.hp.com (g4t0009.houston.hp.com [16.234.32.26]) by g4t0015.houston.hp.com (Postfix) with ESMTP id 2700980DF for ; Tue, 15 May 2012 03:37:47 +0000 (UTC) Original-Received: from ldl (ldl.usa.hp.com [16.125.112.222]) by g4t0009.houston.hp.com (Postfix) with ESMTP id 155B8CDDD; Tue, 15 May 2012 03:37:47 +0000 (UTC) Original-Received: from localhost (ldl.fc.hp.com [127.0.0.1]) by ldl (Postfix) with ESMTP id B488FCF0007; Mon, 14 May 2012 21:37:46 -0600 (MDT) Original-Received: from ldl ([127.0.0.1]) by localhost (ldl.fc.hp.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oxwkmzZ4axOf; Mon, 14 May 2012 21:37:46 -0600 (MDT) Original-Received: from alphaville.dokosmarshall.org (squirrel.fc.hp.com [15.11.146.57]) by ldl (Postfix) with ESMTP id 134B41A7E0D2; Mon, 14 May 2012 21:37:46 -0600 (MDT) Original-Received: by alphaville.dokosmarshall.org (Postfix, from userid 1000) id 68C1B42C17; Mon, 14 May 2012 23:37:45 -0400 (EDT) Original-Received: from alphaville (localhost [127.0.0.1]) by alphaville.dokosmarshall.org (Postfix) with ESMTP id 5B4C641AAD; Mon, 14 May 2012 23:37:45 -0400 (EDT) X-Mailer: MH-E 8.3.1; nmh 1.3; GNU Emacs 24.1.50 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:60016 Archived-At: M-x icalendar-import-file RET foo.txt RET diary RET where foo.txt contains the following (copied from a real appointment email I received with private details redacted): --8<---------------cut here---------------start------------->8--- BEGIN:VCALENDAR METHOD:REQUEST PRODID:Microsoft Exchange Server 2007 VERSION:2.0 BEGIN:VTIMEZONE TZID:(UTC+01:00) Amsterdam\, Berlin\, Bern\, Rome\, Stockholm\, Vienna BEGIN:STANDARD DTSTART:16010101T030000 TZOFFSETFROM:+0200 TZOFFSETTO:+0100 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10 END:STANDARD BEGIN:DAYLIGHT DTSTART:16010101T020000 TZOFFSETFROM:+0100 TZOFFSETTO:+0200 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3 END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT ORGANIZER;CN="A. Luser":MAILTO:a.luser@foo.com ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="Luser, Oth er":MAILTO:other.luser@foo.com DESCRIPTION;LANGUAGE=en-US:\nWhassup?\n\n SUMMARY;LANGUAGE=en-US:Query DTSTART;TZID="(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna" :20120515T150000 DTEND;TZID="(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna":2 0120515T153000 UID:040000008200E00074C5B7101A82E0080000000020FFAED0CFEFCC01000000000000000 010000000575268034ECDB649A15349B1BF240F15 RECURRENCE-ID;TZID="(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, V ienna":20120515T170000 CLASS:PUBLIC PRIORITY:5 DTSTAMP:20120514T153645Z TRANSP:OPAQUE STATUS:CONFIRMED SEQUENCE:15 LOCATION;LANGUAGE=en-US:phone X-MICROSOFT-CDO-APPT-SEQUENCE:15 X-MICROSOFT-CDO-OWNERAPPTID:1907632092 X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY X-MICROSOFT-CDO-ALLDAYEVENT:FALSE X-MICROSOFT-CDO-IMPORTANCE:1 X-MICROSOFT-CDO-INSTTYPE:3 BEGIN:VALARM ACTION:DISPLAY DESCRIPTION:REMINDER TRIGGER;RELATED=START:-PT15M END:VALARM END:VEVENT END:VCALENDAR --8<---------------cut here---------------end--------------->8--- and check the resulting diary file: the timezone translation has failed, so it contains the time of the sender, not the receiver. The reason for this is that the TZID spec in foo.txt contains escaped commas that the import fails to unescape, so timezone matching fails. Although icalendar.el contains a function to unescape commas on import and uses it in some places, it apparently neglects to do so for timezones. Hence the proposed fix is --8<---------------cut here---------------start------------->8--- diff --git a/icalendar.el b/icalendar.el index f1549ec..5d85b83 100644 --- a/icalendar.el +++ b/icalendar.el @@ -491,7 +491,7 @@ The strings are suitable for assembling into a TZ variable." (defun icalendar--parse-vtimezone (alist) "Turn a VTIMEZONE ALIST into a cons (ID . TZ-STRING). Return nil if timezone cannot be parsed." - (let* ((tz-id (icalendar--get-event-property alist 'TZID)) + (let* ((tz-id (icalendar--convert-string-for-import (icalendar--get-event-property alist 'TZID))) (daylight (cadr (cdar (icalendar--get-children alist 'DAYLIGHT)))) (day (and daylight (icalendar--convert-tz-offset daylight t))) (standard (cadr (cdar (icalendar--get-children alist 'STANDARD)))) --8<---------------cut here---------------end--------------->8--- There might be other places that need a similar treatment but I have not looked for them. The above fix is enough for my purposes. In GNU Emacs 24.1.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.4) of 2012-05-04 on alphaville Windowing system distributor `The X.Org Foundation', version 11.0.11001000 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: en_US.UTF-8 value of $XMODIFIERS: @im=SCIM locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Info Minor modes in effect: TeX-PDF-mode: t yas/global-mode: t diff-auto-refine-mode: t shell-dirtrack-mode: t display-time-mode: t tooltip-mode: t mouse-wheel-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 line-number-mode: t transient-mark-mode: t Recent input: C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n u C-p C-p C-p C-p u C-n C-n C-n C-n C-n C-n C-n C-e C-b C-b C-b C-b C-b C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-e C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b s b u g - g n u - e m a c s M-; C-g @ g n u . o r g i c a l e n d r a r . e l d SPC d o e s SPC n o t SPC u n e s c a p e SPC c o m m a s SPC w h e n SPC i m p o r t i n g SPC f r o m SPC s SPC i n SPC t i m z e e z o n e SPC s p e c s C-n C-n C-n C-n C-n C-n C-n C-n C-x o u C-n C-n C-n C-g M-x r e p o r t - e m a c s - b u g s Recent messages: Quit [2 times] Composing main Info directory...done Found `bugs' in Concept Index. (3 total; use `,' for next) Error: No running window found (Shell command succeeded with no output) [2 times] Quit Composing a message... Saving file /home/nick/Mail/drafts/830... Wrote /home/nick/Mail/drafts/830 Type M-x mh-send-letter to send message, C-c ? for help Quit Load-path shadows: /usr/share/emacs/site-lisp/noweb-mode hides /home/nick/src/emacs/ess/lisp/noweb-mode /home/nick/src/emacs/org/org-notify/org-notify hides /home/nick/elisp/org-mode/contrib/lisp/org-notify /usr/share/emacs/site-lisp/ipython hides /home/nick/elisp/ipython /home/nick/elisp/org-mode/contrib/lisp/htmlize hides /home/nick/elisp/htmlize /home/nick/elisp/org-mode/contrib/lisp/org-man hides /home/nick/elisp/org-man /home/nick/elisp/iimage hides /usr/local/share/emacs/24.1.50/lisp/iimage /usr/share/emacs/site-lisp/rst hides /usr/local/share/emacs/24.1.50/lisp/textmodes/rst /home/nick/elisp/remember hides /usr/local/share/emacs/24.1.50/lisp/textmodes/remember /home/nick/elisp/ruby-mode hides /usr/local/share/emacs/24.1.50/lisp/progmodes/ruby-mode /home/nick/elisp/org-mode/lisp/ob-eval hides /usr/local/share/emacs/24.1.50/lisp/org/ob-eval /home/nick/elisp/org-mode/lisp/org-bbdb hides /usr/local/share/emacs/24.1.50/lisp/org/org-bbdb /home/nick/elisp/org-mode/lisp/org-remember hides /usr/local/share/emacs/24.1.50/lisp/org/org-remember /home/nick/elisp/org-mode/lisp/org-jsinfo hides /usr/local/share/emacs/24.1.50/lisp/org/org-jsinfo /home/nick/elisp/org-mode/lisp/ob-calc hides /usr/local/share/emacs/24.1.50/lisp/org/ob-calc /home/nick/elisp/org-mode/lisp/org-pcomplete hides /usr/local/share/emacs/24.1.50/lisp/org/org-pcomplete /home/nick/elisp/org-mode/lisp/ob-org hides /usr/local/share/emacs/24.1.50/lisp/org/ob-org /home/nick/elisp/org-mode/lisp/org-colview hides /usr/local/share/emacs/24.1.50/lisp/org/org-colview /home/nick/elisp/org-mode/lisp/ob-maxima hides /usr/local/share/emacs/24.1.50/lisp/org/ob-maxima /home/nick/elisp/org-mode/lisp/ob-tangle hides /usr/local/share/emacs/24.1.50/lisp/org/ob-tangle /home/nick/elisp/org-mode/lisp/ob-R hides /usr/local/share/emacs/24.1.50/lisp/org/ob-R /home/nick/elisp/org-mode/lisp/org-attach hides /usr/local/share/emacs/24.1.50/lisp/org/org-attach /home/nick/elisp/org-mode/lisp/org-mks hides /usr/local/share/emacs/24.1.50/lisp/org/org-mks /home/nick/elisp/org-mode/lisp/org-gnus hides /usr/local/share/emacs/24.1.50/lisp/org/org-gnus /home/nick/elisp/org-mode/lisp/ob-java hides /usr/local/share/emacs/24.1.50/lisp/org/ob-java /home/nick/elisp/org-mode/lisp/org-entities hides /usr/local/share/emacs/24.1.50/lisp/org/org-entities /home/nick/elisp/org-mode/lisp/org-vm hides /usr/local/share/emacs/24.1.50/lisp/org/org-vm /home/nick/elisp/org-mode/lisp/ob-sh hides /usr/local/share/emacs/24.1.50/lisp/org/ob-sh /home/nick/elisp/org-mode/lisp/ob-python hides /usr/local/share/emacs/24.1.50/lisp/org/ob-python /home/nick/elisp/org-mode/lisp/org-habit hides /usr/local/share/emacs/24.1.50/lisp/org/org-habit /home/nick/elisp/org-mode/lisp/ob-clojure hides /usr/local/share/emacs/24.1.50/lisp/org/ob-clojure /home/nick/elisp/org-mode/lisp/ob-table hides /usr/local/share/emacs/24.1.50/lisp/org/ob-table /home/nick/elisp/org-mode/lisp/org-bibtex hides /usr/local/share/emacs/24.1.50/lisp/org/org-bibtex /home/nick/elisp/org-mode/lisp/ob-ocaml hides /usr/local/share/emacs/24.1.50/lisp/org/ob-ocaml /home/nick/elisp/org-mode/lisp/ob hides /usr/local/share/emacs/24.1.50/lisp/org/ob /home/nick/elisp/org-mode/lisp/org-plot hides /usr/local/share/emacs/24.1.50/lisp/org/org-plot /home/nick/elisp/org-mode/lisp/org-latex hides /usr/local/share/emacs/24.1.50/lisp/org/org-latex /home/nick/elisp/org-mode/lisp/org hides /usr/local/share/emacs/24.1.50/lisp/org/org /home/nick/elisp/org-mode/lisp/org-freemind hides /usr/local/share/emacs/24.1.50/lisp/org/org-freemind /home/nick/elisp/org-mode/lisp/org-feed hides /usr/local/share/emacs/24.1.50/lisp/org/org-feed /home/nick/elisp/org-mode/lisp/org-mhe hides /usr/local/share/emacs/24.1.50/lisp/org/org-mhe /home/nick/elisp/org-mode/lisp/org-html hides /usr/local/share/emacs/24.1.50/lisp/org/org-html /home/nick/elisp/org-mode/lisp/org-irc hides /usr/local/share/emacs/24.1.50/lisp/org/org-irc /home/nick/elisp/org-mode/lisp/org-taskjuggler hides /usr/local/share/emacs/24.1.50/lisp/org/org-taskjuggler /home/nick/elisp/org-mode/lisp/org-id hides /usr/local/share/emacs/24.1.50/lisp/org/org-id /home/nick/elisp/org-mode/lisp/ob-lob hides /usr/local/share/emacs/24.1.50/lisp/org/ob-lob /home/nick/elisp/org-mode/lisp/org-footnote hides /usr/local/share/emacs/24.1.50/lisp/org/org-footnote /home/nick/elisp/org-mode/lisp/ob-emacs-lisp hides /usr/local/share/emacs/24.1.50/lisp/org/ob-emacs-lisp /home/nick/elisp/org-mode/lisp/ob-ledger hides /usr/local/share/emacs/24.1.50/lisp/org/ob-ledger /home/nick/elisp/org-mode/lisp/ob-haskell hides /usr/local/share/emacs/24.1.50/lisp/org/ob-haskell /home/nick/elisp/org-mode/lisp/ob-comint hides /usr/local/share/emacs/24.1.50/lisp/org/ob-comint /home/nick/elisp/org-mode/lisp/ob-octave hides /usr/local/share/emacs/24.1.50/lisp/org/ob-octave /home/nick/elisp/org-mode/lisp/ob-ruby hides /usr/local/share/emacs/24.1.50/lisp/org/ob-ruby /home/nick/elisp/org-mode/lisp/ob-awk hides /usr/local/share/emacs/24.1.50/lisp/org/ob-awk /home/nick/elisp/org-mode/lisp/ob-mscgen hides /usr/local/share/emacs/24.1.50/lisp/org/ob-mscgen /home/nick/elisp/org-mode/lisp/org-crypt hides /usr/local/share/emacs/24.1.50/lisp/org/org-crypt /home/nick/elisp/org-mode/lisp/org-docview hides /usr/local/share/emacs/24.1.50/lisp/org/org-docview /home/nick/elisp/org-mode/lisp/org-inlinetask hides /usr/local/share/emacs/24.1.50/lisp/org/org-inlinetask /home/nick/elisp/org-mode/lisp/org-timer hides /usr/local/share/emacs/24.1.50/lisp/org/org-timer /home/nick/elisp/org-mode/lisp/org-lparse hides /usr/local/share/emacs/24.1.50/lisp/org/org-lparse /home/nick/elisp/org-mode/lisp/ob-screen hides /usr/local/share/emacs/24.1.50/lisp/org/ob-screen /home/nick/elisp/org-mode/lisp/ob-C hides /usr/local/share/emacs/24.1.50/lisp/org/ob-C /home/nick/elisp/org-mode/lisp/ob-gnuplot hides /usr/local/share/emacs/24.1.50/lisp/org/ob-gnuplot /home/nick/elisp/org-mode/lisp/ob-plantuml hides /usr/local/share/emacs/24.1.50/lisp/org/ob-plantuml /home/nick/elisp/org-mode/lisp/org-exp hides /usr/local/share/emacs/24.1.50/lisp/org/org-exp /home/nick/elisp/org-mode/lisp/org-capture hides /usr/local/share/emacs/24.1.50/lisp/org/org-capture /home/nick/elisp/org-mode/lisp/ob-perl hides /usr/local/share/emacs/24.1.50/lisp/org/ob-perl /home/nick/elisp/org-mode/lisp/org-beamer hides /usr/local/share/emacs/24.1.50/lisp/org/org-beamer /home/nick/elisp/org-mode/lisp/ob-css hides /usr/local/share/emacs/24.1.50/lisp/org/ob-css /home/nick/elisp/org-mode/lisp/org-clock hides /usr/local/share/emacs/24.1.50/lisp/org/org-clock /home/nick/elisp/org-mode/lisp/ob-exp hides /usr/local/share/emacs/24.1.50/lisp/org/ob-exp /home/nick/elisp/org-mode/lisp/ob-latex hides /usr/local/share/emacs/24.1.50/lisp/org/ob-latex /home/nick/elisp/org-mode/lisp/org-docbook hides /usr/local/share/emacs/24.1.50/lisp/org/org-docbook /home/nick/elisp/org-mode/lisp/ob-js hides /usr/local/share/emacs/24.1.50/lisp/org/ob-js /home/nick/elisp/org-mode/lisp/org-src hides /usr/local/share/emacs/24.1.50/lisp/org/org-src /home/nick/elisp/org-mode/lisp/org-indent hides /usr/local/share/emacs/24.1.50/lisp/org/org-indent /home/nick/elisp/org-mode/lisp/org-rmail hides /usr/local/share/emacs/24.1.50/lisp/org/org-rmail /home/nick/elisp/org-mode/lisp/ob-asymptote hides /usr/local/share/emacs/24.1.50/lisp/org/ob-asymptote /home/nick/elisp/org-mode/lisp/org-info hides /usr/local/share/emacs/24.1.50/lisp/org/org-info /home/nick/elisp/org-mode/lisp/ob-sqlite hides /usr/local/share/emacs/24.1.50/lisp/org/ob-sqlite /home/nick/elisp/org-mode/lisp/ob-scheme hides /usr/local/share/emacs/24.1.50/lisp/org/ob-scheme /home/nick/elisp/org-mode/lisp/org-publish hides /usr/local/share/emacs/24.1.50/lisp/org/org-publish /home/nick/elisp/org-mode/lisp/ob-sass hides /usr/local/share/emacs/24.1.50/lisp/org/ob-sass /home/nick/elisp/org-mode/lisp/ob-matlab hides /usr/local/share/emacs/24.1.50/lisp/org/ob-matlab /home/nick/elisp/org-mode/lisp/org-special-blocks hides /usr/local/share/emacs/24.1.50/lisp/org/org-special-blocks /home/nick/elisp/org-mode/lisp/ob-sql hides /usr/local/share/emacs/24.1.50/lisp/org/ob-sql /home/nick/elisp/org-mode/lisp/org-eshell hides /usr/local/share/emacs/24.1.50/lisp/org/org-eshell /home/nick/elisp/org-mode/lisp/ob-picolisp hides /usr/local/share/emacs/24.1.50/lisp/org/ob-picolisp /home/nick/elisp/org-mode/lisp/org-table hides /usr/local/share/emacs/24.1.50/lisp/org/org-table /home/nick/elisp/org-mode/lisp/org-w3m hides /usr/local/share/emacs/24.1.50/lisp/org/org-w3m /home/nick/elisp/org-mode/lisp/org-faces hides /usr/local/share/emacs/24.1.50/lisp/org/org-faces /home/nick/elisp/org-mode/lisp/ob-dot hides /usr/local/share/emacs/24.1.50/lisp/org/ob-dot /home/nick/elisp/org-mode/lisp/org-ctags hides /usr/local/share/emacs/24.1.50/lisp/org/org-ctags /home/nick/elisp/org-mode/lisp/org-xoxo hides /usr/local/share/emacs/24.1.50/lisp/org/org-xoxo /home/nick/elisp/org-mode/lisp/org-archive hides /usr/local/share/emacs/24.1.50/lisp/org/org-archive /home/nick/elisp/org-mode/lisp/org-ascii hides /usr/local/share/emacs/24.1.50/lisp/org/org-ascii /home/nick/elisp/org-mode/lisp/ob-shen hides /usr/local/share/emacs/24.1.50/lisp/org/ob-shen /home/nick/elisp/org-mode/lisp/org-wl hides /usr/local/share/emacs/24.1.50/lisp/org/org-wl /home/nick/elisp/org-mode/lisp/org-macs hides /usr/local/share/emacs/24.1.50/lisp/org/org-macs /home/nick/elisp/org-mode/lisp/org-mobile hides /usr/local/share/emacs/24.1.50/lisp/org/org-mobile /home/nick/elisp/org-mode/lisp/ob-lilypond hides /usr/local/share/emacs/24.1.50/lisp/org/ob-lilypond /home/nick/elisp/org-mode/lisp/org-mew hides /usr/local/share/emacs/24.1.50/lisp/org/org-mew /home/nick/elisp/org-mode/lisp/ob-ditaa hides /usr/local/share/emacs/24.1.50/lisp/org/ob-ditaa /home/nick/elisp/org-mode/lisp/org-icalendar hides /usr/local/share/emacs/24.1.50/lisp/org/org-icalendar /home/nick/elisp/org-mode/lisp/org-mouse hides /usr/local/share/emacs/24.1.50/lisp/org/org-mouse /home/nick/elisp/org-mode/lisp/ob-ref hides /usr/local/share/emacs/24.1.50/lisp/org/ob-ref /home/nick/elisp/org-mode/lisp/org-agenda hides /usr/local/share/emacs/24.1.50/lisp/org/org-agenda /home/nick/elisp/org-mode/lisp/org-datetree hides /usr/local/share/emacs/24.1.50/lisp/org/org-datetree /home/nick/elisp/org-mode/lisp/org-protocol hides /usr/local/share/emacs/24.1.50/lisp/org/org-protocol /home/nick/elisp/org-mode/lisp/ob-fortran hides /usr/local/share/emacs/24.1.50/lisp/org/ob-fortran /home/nick/elisp/org-mode/lisp/ob-keys hides /usr/local/share/emacs/24.1.50/lisp/org/ob-keys /home/nick/elisp/org-mode/lisp/org-mac-message hides /usr/local/share/emacs/24.1.50/lisp/org/org-mac-message /home/nick/elisp/org-mode/lisp/org-exp-blocks hides /usr/local/share/emacs/24.1.50/lisp/org/org-exp-blocks /home/nick/elisp/org-mode/lisp/ob-lisp hides /usr/local/share/emacs/24.1.50/lisp/org/ob-lisp /home/nick/elisp/org-mode/lisp/org-odt hides /usr/local/share/emacs/24.1.50/lisp/org/org-odt /home/nick/elisp/org-mode/lisp/org-compat hides /usr/local/share/emacs/24.1.50/lisp/org/org-compat /home/nick/elisp/org-mode/lisp/org-list hides /usr/local/share/emacs/24.1.50/lisp/org/org-list /home/nick/elisp/org-mode/.dir-locals hides /usr/local/share/emacs/24.1.50/lisp/gnus/.dir-locals /home/nick/elisp/cal-html hides /usr/local/share/emacs/24.1.50/lisp/calendar/cal-html Features: (shadow emacsbug newcomment bbdb-snarf mh-thread mh-identity mh-letter pp dired-aux multi-isearch face-remap debug cl-specs edebug help-mode view mule-util icalendar mh-search bbdb-gui mh-alias multi-prompt crm mh-funcs qp smiley w3m-form w3m doc-view jka-compr dired image-mode w3m-hist w3m-fb w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util mail-extr mh-mime server parse-time network-stream starttls url-http tls url-auth url-gw cal-iso autoinsert flyspell ispell mh-show goto-addr gnus-cite gnus-art mm-uu mml2015 epg-config gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-win gnus-range gnus gnus-ems nnheader wid-edit mh-seq mh-inc hl-line mh-tool-bar mh-xface mh-utils mh-folder which-func imenu ndk/utils status py-utils dates gnuplot-config htmlize lilypond-config python-config ipython python-mode info-look info ido xcscope-config preview prv-emacs latex tex-style tex-buf tex tex-site auto-loads boxquote-config message rfc822 gmm-utils mailheader boxquote rect diary-config bbdb-config bbdb-mhe mh-comp sendmail mh-scan mh-gnus mml mm-view mml-smime mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mh-e mh-compat mh-acros mh-buffers mh-loaddefs mail-utils bbdb-com mailabbrev bbdb-autoloads bbdb timezone yasnippet-config yasnippet dropdown-list R-config ess-toolbar ess-mouse mouseme compile thingatpt browse-url ess-menu speedbar sb-image ezimage dframe ess-swv ess-noweb noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a executable ess-arc-d ess-vst-d ess-xls-d ess-lsp-l ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d ess-sp5-d ess-sp3-d ess-r-d ess-r-args ess-s-l ess-inf ess-utils ess-mode noweb-mode ess ess-custom ess-compat ess-site octave-config google-maps-config org-location-google-maps google-maps google-maps-static edmacro kmacro google-maps-geocode google-maps-base json magit-config magit diff-mode log-edit pcvs-util add-log pandoc-config pandoc-mode derived org-config org-capture org-mks org-latex org-export-latex org-beamer footnote ob-gnuplot ob-ditaa ob-sql ob-sqlite ob-org ob-dot ob-latex ob-sh shell ob-ruby ob-python ob-octave ob-maxima ob-lilypond ob-R iimage image-file org-man org-publish org-export-generic org-generic assoc org-mouse org-notify cal-china lunar cal-bahai cal-islam cal-hebrew holidays hol-loaddefs vc-git org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-info org-gnus org-docview org-bibtex bibtex org-bbdb org-clock org-exp ob-exp org-exp-blocks org-agenda appt diary-lib diary-loaddefs url-config org-google-weather solar cal-dst google-weather xml url-cache url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source eieio gnus-util url-vars mm-util mail-prsvr mailcap org-export org-e-publish org-e-odt org-e-latex org-e-html table org-e-ascii org-element org byte-opt warnings bytecomp byte-compile cconv macroexp advice help-fns advice-preload 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 ansi-color ring org-list org-faces org-compat org-entities org-macs noutline outline easy-mmode format-spec find-func cal-menu easymenu calendar cal-loaddefs cl org-install constants-config time cus-start cus-load mh-e-config smime password-cache dig ldap experimental time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt 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 make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)