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