From: "Sebastien Vauban" <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org>
To: emacs-orgmode-mXXj517/zsQ@public.gmane.org
Subject: defadvice and Emacs 24.3.1 / 24.3.50.1: who understands?
Date: Mon, 24 Jun 2013 12:24:06 +0200 [thread overview]
Message-ID: <86hagnvmbd.fsf@somewhere.org> (raw)
Hello,
I've finally found the cause of a long lasting problem between Org and the dev
version of Emacs 24.4. Though, I don't understand it... Anyone?
When opening Org from my Emacs 24.3.1, everything's OK.
Same .emacs file, same everything, but latest version of Emacs: bang!
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument symbolp (autoload "org-agenda" "Activate appointments found in `org-agenda-files'.
With a \\[universal-argument] prefix, refresh the list of
appointments.
If FILTER is t, interactively prompt the user for a regular
expression, and filter out entries that don't match it.
If FILTER is a string, use this string as a regular expression
for filtering entries out.
If FILTER is a function, filter out entries against which
calling the function returns nil. This function takes one
argument: an entry from `org-agenda-get-day-entries'.
FILTER can also be an alist with the car of each cell being
either 'headline or 'category. For example:
'((headline \"IMPORTANT\")
(category \"Work\"))
will only add headlines containing IMPORTANT or headlines
belonging to the \"Work\" category.
ARGS are symbols indicating what kind of entries to consider.
By default `org-agenda-to-appt' will use :deadline*, :scheduled*
(i.e., deadlines and scheduled items with a hh:mm specification)
and :timestamp entries. See the docstring of `org-diary' for
details and examples.
If an entry has a APPT_WARNTIME property, its value will be used
to override `appt-message-warning-time'.
(fn &optional REFRESH FILTER &rest ARGS)" t nil))
interactive-form((autoload "org-agenda" "Activate appointments found in `org-agenda-files'.\nWith a \\[universal-argument] prefix, refresh the list of\nappointments.\n\nIf FILTER is t, interactively prompt the user for a regular\nexpression, and filter out entries that don't match it.\n\nIf FILTER is a string, use this string as a regular expression\nfor filtering entries out.\n\nIf FILTER is a function, filter out entries against which\ncalling the function returns nil. This function takes one\nargument: an entry from `org-agenda-get-day-entries'.\n\nFILTER can also be an alist with the car of each cell being\neither 'headline or 'category. For example:\n\n '((headline \"IMPORTANT\")\n (category \"Work\"))\n\nwill only add headlines containing IMPORTANT or headlines\nbelonging to the \"Work\" category.\n\nARGS are symbols indicating what kind of entries to consider.\nBy default `org-agenda-to-appt' will use :deadline*, :scheduled*\n(i.e., deadlines and scheduled items with a hh:mm specification)\nand :timestamp entries. See the docstring of `org-diary' for\ndetails and examples.\n\nIf an entry has a APPT_WARNTIME property, its value will be used\nto override `appt-message-warning-time'.\n\n(fn &optional REFRESH FILTER &rest ARGS)" t nil))
advice--make-interactive-form(ad-Advice-org-agenda-to-appt (autoload "org-agenda" "Activate appointments found in `org-agenda-files'.\nWith a \\[universal-argument] prefix, refresh the list of\nappointments.\n\nIf FILTER is t, interactively prompt the user for a regular\nexpression, and filter out entries that don't match it.\n\nIf FILTER is a string, use this string as a regular expression\nfor filtering entries out.\n\nIf FILTER is a function, filter out entries against which\ncalling the function returns nil. This function takes one\nargument: an entry from `org-agenda-get-day-entries'.\n\nFILTER can also be an alist with the car of each cell being\neither 'headline or 'category. For example:\n\n '((headline \"IMPORTANT\")\n (category \"Work\"))\n\nwill only add headlines containing IMPORTANT or headlines\nbelonging to the \"Work\" category.\n\nARGS are symbols indicating what kind of entries to consider.\nBy default `org-agenda-to-appt' will use :deadline*, :scheduled*\n(i.e., deadlines and scheduled items with a hh:mm specification)\nand :timestamp entries. See the docstring of `org-diary' for\ndetails and examples.\n\nIf an entry has a APPT_WARNTIME property, its value will be used\nto override `appt-message-warning-time'.\n\n(fn &optional REFRESH FILTER &rest ARGS)" t nil))
advice--tweak(#[128 "\300\301\302#\207" [apply ad-Advice-org-agenda-to-appt nil nil] 5 #("Advised function" 0 16 (dynamic-docstring-function advice--make-docstring))] ...
advice--subst-main(...
advice--defalias-fset(...
load-with-code-conversion("d:/Users/sva/Public/Repositories/org-mode/lisp/org-loaddefs.el" "d:/Users/sva/Public/Repositories/org-mode/lisp/org-loaddefs.el" t t)
funcall(#<subr load> "org-loaddefs.el" t t t nil)
--8<---------------cut here---------------end--------------->8---
The culprit: the following chunk of code in my .emacs file...
#+begin_src emacs-lisp
;; keep your appointment list clean: if you delete an appointment from
;; your Org agenda file, delete the corresponding alert
(defadvice org-agenda-to-appt (before wickedcool activate)
"Clear the existing appt-time-msg-list."
(setq appt-time-msg-list nil))
#+end_src
With it, Emacs 24.3 correctly loads Org, Emacs 24.4 DOES NOT.
Without it, both are loading Org correctly...
Though, I don't understand the impact of my advice on the loading process.
BTW, another weirdness:
M-x load-library RET org-loaddefs RET
did work in Emacs 24.4 (with the advice enabled).
That's
M-x load-file RET ~/Public/Repositories/org-mode/lisp/org-loaddefs.el RET
which did NOT. Mystery...?
Best regards,
Seb
--
Sebastien Vauban
reply other threads:[~2013-06-24 10:24 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86hagnvmbd.fsf@somewhere.org \
--to=sva-news-d0wtavr13harg/idocfnwg@public.gmane.org \
--cc=emacs-orgmode-mXXj517/zsQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).