dgnushack.el (define-obsolete-function-alias): Redefine for XEmacs
authorKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 6 Apr 2015 23:07:56 +0000 (23:07 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 6 Apr 2015 23:07:56 +0000 (23:07 +0000)
lisp/ChangeLog
lisp/dgnushack.el

index 4c2359b..ef12266 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-06  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * dgnushack.el (define-obsolete-function-alias): Add a compiler-marco
+       and a runtime function for it, of which the XEmacs version takes only
+       two arguments.
+
 2015-04-06  Paul Eggert  <eggert@cs.ucla.edu>
 
        Use American spelling for 'normalize'
index d65d24b..99b4f5b 100644 (file)
@@ -568,17 +568,26 @@ but which should be robust in the unexpected case that an error is signaled."
           (progn ,@body)
         (error (message "Error: %S" ,err) nil)))))
 
-;; XEmacs's `define-obsolete-variable-alias' takes only two arguments:
+;; `define-obsolete-function-alias' and `define-obsolete-variable-alias'
+;; take only two arguments in XEmacs:
+;; (define-obsolete-function-alias OLDFUN NEWFUN)
 ;; (define-obsolete-variable-alias OLDVAR NEWVAR)
 (condition-case nil
-    (progn
-      (defvar dgnushack-obsolete-name nil)
-      (defvar dgnushack-current-name nil)
-      (unwind-protect
-         (define-obsolete-variable-alias
-           'dgnushack-obsolete-name 'dgnushack-current-name "0")
-       (makunbound 'dgnushack-obsolete-name)
-       (makunbound 'dgnushack-current-name)))
+    (define-obsolete-function-alias
+      'dgnushack-obsolete-name 'dgnushack-current-name "0")
+  (wrong-number-of-arguments
+   (defadvice define-obsolete-function-alias (around ignore-rest-args
+                                                    (oldfun newfun &rest args)
+                                                    activate)
+     "Ignore arguments other than the 1st and the 2nd ones."
+     ad-do-it)
+   (put 'define-obsolete-function-alias 'byte-optimizer
+       (lambda (form)
+         (setcdr (nthcdr 2 form) nil)
+         form))))
+(condition-case nil
+    (define-obsolete-variable-alias
+      'dgnushack-obsolete-name 'dgnushack-current-name "0")
   (wrong-number-of-arguments
    (defadvice define-obsolete-variable-alias (around ignore-rest-args
                                                     (oldvar newvar &rest args)