;;; semantic-alias.el --- kludge for making aliases and autoloads work ;;; together on XEmacs ;;; Copyright (C) 2007 Mike Sperber ;; This file is not part of GNU Emacs. ;; Semantic is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; This software is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. (provide 'semantic-alias) ;;; Obsoleting various functions & variables ;; ;;;###autoloadimmediate (defalias 'semantic-compile-warn (eval-when-compile (if (fboundp 'byte-compile-warn) 'byte-compile-warn 'message))) ;;;###autoloadimmediate (defun semantic-overload-symbol-from-function (name) "Return the symbol for overload used by NAME, the defined symbol." (let ((sym-name (symbol-name name))) (if (string-match "^semantic-" sym-name) (intern (substring sym-name (match-end 0))) name))) ;;;###autoloadimmediate (defun semantic-alias-obsolete (oldfnalias newfn) "Make OLDFNALIAS an alias for NEWFN. Mark OLDFNALIAS as obsolete, such that the byte compiler will throw a warning when it encounters this symbol." (defalias oldfnalias newfn) (make-obsolete oldfnalias newfn) (when (and (function-overload-p newfn) (not (overload-obsoleted-by newfn)) ;; Only throw this warning when byte compiling things. (boundp 'byte-compile-current-file) byte-compile-current-file (not (string-match "cedet" byte-compile-current-file)) ) (make-obsolete-overload oldfnalias newfn) (semantic-compile-warn "%s: `%s' obsoletes overload `%s'" byte-compile-current-file newfn (semantic-overload-symbol-from-function oldfnalias)) )) ;;;###autoloadimmediate (defun semantic-varalias-obsolete (oldvaralias newvar) "Make OLDVARALIAS an alias for variable NEWVAR. Mark OLDVARALIAS as obsolete, such that the byte compiler will throw a warning when it encounters this symbol." (make-obsolete-variable oldvaralias newvar) (condition-case err (defvaralias oldvaralias newvar) (error ;; Only throw this warning when byte compiling things. (when (and (boundp 'byte-compile-current-file) byte-compile-current-file) (semantic-compile-warn "variable `%s' obsoletes, but isn't alias of `%s'" newvar oldvaralias) ))))