Mercurial > hg > xemacs-beta
changeset 4425:bfb8a26de3cb
Move autoload operator definitions to xemacs-base.
2008-02-16 Michael Sperber <mike@xemacs.org>
* autoload.el (autoload-make-autoload-operators,
autoload-make-autoload-complex-operators): Move autoload operator
definitons to autoload-operators.el in xemacs-base package.
Continue to work with older packages.
author | Mike Sperber <sperber@deinprogramm.de> |
---|---|
date | Sat, 23 Feb 2008 14:32:19 +0100 |
parents | 42711a251efd |
children | 515b91f904c1 |
files | lisp/ChangeLog lisp/autoload.el |
diffstat | 2 files changed, 40 insertions(+), 49 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Fri Feb 15 13:11:56 2008 +0100 +++ b/lisp/ChangeLog Sat Feb 23 14:32:19 2008 +0100 @@ -1,3 +1,10 @@ +2008-02-16 Michael Sperber <mike@xemacs.org> + + * autoload.el (autoload-make-autoload-operators, + autoload-make-autoload-complex-operators): Move autoload operator + definitons to autoload-operators.el in xemacs-base package. + Continue to work with older packages. + 2008-02-03 Aidan Kehoe <kehoea@parhasard.net> * iso8859-1.el (ascii-case-table):
--- a/lisp/autoload.el Fri Feb 15 13:11:56 2008 +0100 +++ b/lisp/autoload.el Sat Feb 23 14:32:19 2008 +0100 @@ -226,19 +226,40 @@ ;; Parsing the source file text. ;; Autoloads in C source differ from those in Lisp source. -;; #### Eventually operators like defclass and defmethod (defined in an -;; external package, EIEIO) may be factored out. Don't add operators here -;; without discussing whether and how to do that on the developers' channel. -(defvar autoload-make-autoload-operators - '(defun define-skeleton defmacro define-derived-mode define-generic-mode - easy-mmode-define-minor-mode easy-mmode-define-global-mode - define-minor-mode defun* defmacro* defclass defmethod) - "`defun'-like operators that use `autoload' to load the library.") +; Add operator definitions to autoload-operators.el in the xemacs-base +; package. +(ignore-errors (require 'autoload-operators)) -(defvar autoload-make-autoload-complex-operators - '(easy-mmode-define-minor-mode easy-mmode-define-global-mode - define-minor-mode) - "`defun'-like operators to macroexpand before using `autoload'.") +; As autoload-operators is new, provide stopgap measure for a while. +(if (not (boundp 'autoload-make-autoload-operators)) + (progn + (defvar autoload-make-autoload-operators + '(defun define-skeleton defmacro define-derived-mode define-generic-mode + easy-mmode-define-minor-mode easy-mmode-define-global-mode + define-minor-mode defun* defmacro*) + "`defun'-like operators that use `autoload' to load the library.") + + (defvar autoload-make-autoload-complex-operators + '(easy-mmode-define-minor-mode easy-mmode-define-global-mode + define-minor-mode) + "`defun'-like operators to macroexpand before using `autoload'.") + + (put 'autoload 'doc-string-elt 3) + (put 'defun 'doc-string-elt 3) + (put 'defun* 'doc-string-elt 3) + (put 'defvar 'doc-string-elt 3) + (put 'defcustom 'doc-string-elt 3) + (put 'defconst 'doc-string-elt 3) + (put 'defmacro 'doc-string-elt 3) + (put 'defmacro* 'doc-string-elt 3) + (put 'defsubst 'doc-string-elt 3) + (put 'define-skeleton 'doc-string-elt 2) + (put 'define-derived-mode 'doc-string-elt 4) + (put 'easy-mmode-define-minor-mode 'doc-string-elt 2) + (put 'define-minor-mode 'doc-string-elt 2) + (put 'define-generic-mode 'doc-string-elt 7) + ;; defin-global-mode has no explicit docstring. + (put 'easy-mmode-define-global-mode 'doc-string-elt 1000))) (defun make-autoload (form file) "Turn FORM into an autoload or defvar for source file FILE. @@ -780,43 +801,6 @@ (insert "\\^L"))) (goto-char p2)))))))) -;;; Forms which have doc-strings which should be printed specially. -;;; A doc-string-elt property of ELT says that (nth ELT FORM) is -;;; the doc-string in FORM. -;;; -;;; There used to be the following note here: -;;; ;;; Note: defconst and defvar should NOT be marked in this way. -;;; ;;; We don't want to produce defconsts and defvars that -;;; ;;; make-docfile can grok, because then it would grok them twice, -;;; ;;; once in foo.el (where they are given with ;;;###autoload) and -;;; ;;; once in loaddefs.el. -;;; -;;; Counter-note: Yes, they should be marked in this way. -;;; make-docfile only processes those files that are loaded into the -;;; dumped Emacs, and those files should never have anything -;;; autoloaded here. The above-feared problem only occurs with files -;;; which have autoloaded entries *and* are processed by make-docfile; -;;; there should be no such files. - -(put 'autoload 'doc-string-elt 3) -(put 'defun 'doc-string-elt 3) -(put 'defun* 'doc-string-elt 3) -(put 'defvar 'doc-string-elt 3) -(put 'defcustom 'doc-string-elt 3) -(put 'defconst 'doc-string-elt 3) -(put 'defmacro 'doc-string-elt 3) -(put 'defmacro* 'doc-string-elt 3) -(put 'defsubst 'doc-string-elt 3) -(put 'define-skeleton 'doc-string-elt 2) -(put 'define-derived-mode 'doc-string-elt 4) -(put 'easy-mmode-define-minor-mode 'doc-string-elt 2) -(put 'define-minor-mode 'doc-string-elt 2) -(put 'define-generic-mode 'doc-string-elt 7) -(put 'defclass 'doc-string-elt 4) -(put 'defmethod 'doc-string-elt 3) -;; defin-global-mode has no explicit docstring. -(put 'easy-mmode-define-global-mode 'doc-string-elt 1000) - (defun autoload-trim-file-name (file) "Returns relative pathname of FILE including the last directory.