File mode-local.patch of Package xemacs-packages
--- packages/xemacs-packages/cedet-common/mode-local.el
+++ packages/xemacs-packages/cedet-common/mode-local.el 2009-12-02 14:28:01.979929810 +0000
@@ -49,7 +49,9 @@
;;
;;; Code:
-(eval-when-compile (require 'cl))
+(eval-when-compile
+ (autoload 'ad-add-advice "advice")
+ (require 'cl))
;;; Compatibility
;;
@@ -189,6 +191,7 @@ behaviors. Use the function `mode-local
"Return a new empty mode bindings symbol table."
(make-vector 13 0))
+;;;###autoload
(defun mode-local-bind (bindings &optional plist mode)
"Define BINDINGS in the specified environment.
BINDINGS is a list of (VARIABLE . VALUE).
@@ -455,6 +458,7 @@ in those bound in current `major-mode' a
(mode-local-symbol-value
(overload-obsoleted-by overload) nil 'override-flag))))
+;;;###autoload
(defun mode-local--override (name args body)
"Return the form that handles overloading of function NAME.
ARGS are the arguments to the function.
@@ -471,6 +475,7 @@ See also the function `define-overload'.
,@(or body `((,default ,@overargs)))))
))
+;;;###autoload
(defun mode-local--expand-overrides (name args body)
"Expand override forms that overload function NAME.
ARGS are the arguments to the function NAME.
@@ -494,6 +499,7 @@ See also the function `define-overload'.
forms (cdr forms)))
(if ditto body (nreverse xbody))))
+;;;###autoload
(defun mode-local--overload-body (name args body)
"Return the code that implements overloading of function NAME.
ARGS are the arguments to the function NAME.
@@ -504,6 +510,7 @@ See also the function `define-overload'.
(list (mode-local--override name args body))
result)))
+;;;###autoload
(defmacro define-overload (name args docstring &rest body)
"Define a new function, as with `defun' which can be overloaded.
NAME is the name of the function to create.