From e459dde441932d95d157648519fc2768262fd1e8 Mon Sep 17 00:00:00 2001 From: Achim Gratz Date: Wed, 19 Dec 2012 19:35:19 +0100 Subject: [PATCH] Backwards compatibility: don't defalias special forms * lisp/org-compat.el (org-condition-case-unless-debug): Do not use defalias for special forms, the Emacs 22 byte-compiler does not recognize them correctly when compiling macros. Use a macro instead and rely on macro expansion. That however makes the decision at compile time, which should be acceptable in this case since it only affects debugging. --- lisp/org-compat.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/org-compat.el b/lisp/org-compat.el index 1f330b1..292a777 100644 --- a/lisp/org-compat.el +++ b/lisp/org-compat.el @@ -438,12 +438,13 @@ (defun org-pop-to-buffer-same-window ;; `condition-case-unless-debug' has been introduced in Emacs 24.1 ;; `condition-case-no-debug' has been introduced in Emacs 23.1 -(defalias 'org-condition-case-unless-debug +(defmacro org-condition-case-unless-debug (var bodyform &rest handlers) + (declare (debug condition-case) (indent 2)) (or (and (fboundp 'condition-case-unless-debug) - 'condition-case-unless-debug) + `(condition-case-unless-debug ,var ,bodyform ,@handlers)) (and (fboundp 'condition-case-no-debug) - 'condition-case-no-debug) - 'condition-case)) + `(condition-case-no-debug ,var ,bodyform ,@handlers)) + `(condition-case ,var ,bodyform ,@handlers))) ;;;###autoload (defmacro org-check-version () -- 1.8.0.1