aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/emacs-lisp/cl.el118
2 files changed, 44 insertions, 83 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 807f51f3c89..be7ee598371 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,14 @@
12007-06-27 Stefan Monnier <monnier@iro.umontreal.ca> 12007-06-27 Stefan Monnier <monnier@iro.umontreal.ca>
2 2
3 * emacs-lisp/cl.el: Use cl-loaddefs.el rather than manual autoloads.
4
5 * emacs-lisp/cl-extra.el:
6 * emacs-lisp/cl-seq.el:
7 * emacs-lisp/cl-macs.el: Set generated-autoload-file to cl-loaddefs.el.
8 Add autoload cookies on all defs autoloaded manually in cl.el.
9
10 * emacs-lisp/cl-loaddefs.el: New file.
11
3 * textmodes/texinfmt.el (texinfo-raisesections-alist) 12 * textmodes/texinfmt.el (texinfo-raisesections-alist)
4 (texinfo-lowersections-alist): Merge definition and declaration. 13 (texinfo-lowersections-alist): Merge definition and declaration.
5 (texinfo-start-of-header, texinfo-end-of-header): Remove. 14 (texinfo-start-of-header, texinfo-end-of-header): Remove.
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el
index 83dffb41b2d..41dc4432b3f 100644
--- a/lisp/emacs-lisp/cl.el
+++ b/lisp/emacs-lisp/cl.el
@@ -585,96 +585,48 @@ If ALIST is non-nil, the new pairs are prepended to it."
585 585
586;;; Miscellaneous. 586;;; Miscellaneous.
587 587
588(defvar cl-fake-autoloads nil
589 "Non-nil means don't make CL functions autoload.")
590
591;;; Autoload the other portions of the package. 588;;; Autoload the other portions of the package.
592;; We want to replace the basic versions of dolist, dotimes, declare below. 589;; We want to replace the basic versions of dolist, dotimes, declare below.
593(fmakunbound 'dolist) 590(fmakunbound 'dolist)
594(fmakunbound 'dotimes) 591(fmakunbound 'dotimes)
595(fmakunbound 'declare) 592(fmakunbound 'declare)
596(mapcar (function 593(load "cl-loaddefs")
597 (lambda (set)
598 (let ((file (if cl-fake-autoloads "<none>" (car set))))
599 (mapcar (function
600 (lambda (func)
601 (autoload func (car set) nil nil (nth 1 set))))
602 (cddr set)))))
603 '(("cl-extra" nil
604 coerce equalp cl-map-keymap maplist mapc mapl mapcan mapcon
605 cl-map-keymap cl-map-keymap-recursively cl-map-intervals
606 cl-map-overlays cl-set-frame-visible-p cl-float-limits
607 gcd lcm isqrt floor* ceiling* truncate* round*
608 mod* rem* signum random* make-random-state random-state-p
609 subseq concatenate cl-mapcar-many map some every notany
610 notevery revappend nreconc list-length tailp copy-tree get* getf
611 cl-set-getf cl-do-remf remprop cl-make-hash-table cl-hash-lookup
612 cl-gethash cl-puthash cl-remhash cl-clrhash cl-maphash cl-hash-table-p
613 cl-hash-table-count cl-progv-before cl-prettyexpand
614 cl-macroexpand-all)
615 ("cl-seq" nil
616 reduce fill replace remove* remove-if remove-if-not
617 delete* delete-if delete-if-not remove-duplicates
618 delete-duplicates substitute substitute-if substitute-if-not
619 nsubstitute nsubstitute-if nsubstitute-if-not find find-if
620 find-if-not position position-if position-if-not count count-if
621 count-if-not mismatch search sort* stable-sort merge member*
622 member-if member-if-not cl-adjoin assoc* assoc-if assoc-if-not
623 rassoc* rassoc-if rassoc-if-not union nunion intersection
624 nintersection set-difference nset-difference set-exclusive-or
625 nset-exclusive-or subsetp subst-if subst-if-not nsubst nsubst-if
626 nsubst-if-not sublis nsublis tree-equal)
627 ("cl-macs" nil
628 gensym gentemp typep cl-do-pop get-setf-method
629 cl-struct-setf-expander compiler-macroexpand cl-compile-time-init)
630 ("cl-macs" t
631 defun* defmacro* function* destructuring-bind eval-when
632 load-time-value case ecase typecase etypecase
633 block return return-from loop do do* dolist dotimes do-symbols
634 do-all-symbols psetq progv flet labels macrolet symbol-macrolet
635 lexical-let lexical-let* multiple-value-bind multiple-value-setq
636 locally the declare define-setf-method defsetf define-modify-macro
637 setf psetf remf shiftf rotatef letf letf* callf callf2 defstruct
638 check-type assert ignore-errors define-compiler-macro)))
639 594
640;;; Define data for indentation and edebug. 595;;; Define data for indentation and edebug.
641(mapcar (function 596(dolist (entry
642 (lambda (entry) 597 '(((defun* defmacro*) 2)
643 (mapcar (function 598 ((function*) nil
644 (lambda (func) 599 (&or symbolp ([&optional 'macro] 'lambda (&rest sexp) &rest form)))
645 (put func 'lisp-indent-function (nth 1 entry)) 600 ((eval-when) 1 (sexp &rest form))
646 (put func 'lisp-indent-hook (nth 1 entry)) 601 ((declare) nil (&rest sexp))
647 (or (get func 'edebug-form-spec) 602 ((the) 1 (sexp &rest form))
648 (put func 'edebug-form-spec (nth 2 entry))))) 603 ((case ecase typecase etypecase) 1 (form &rest (sexp &rest form)))
649 (car entry)))) 604 ((block return-from) 1 (sexp &rest form))
650 '(((defun* defmacro*) 2) 605 ((return) nil (&optional form))
651 ((function*) nil 606 ((do do*) 2 ((&rest &or symbolp (symbolp &optional form form))
652 (&or symbolp ([&optional 'macro] 'lambda (&rest sexp) &rest form))) 607 (form &rest form)
653 ((eval-when) 1 (sexp &rest form)) 608 &rest form))
654 ((declare) nil (&rest sexp)) 609 ((do-symbols) 1 ((symbolp form &optional form form) &rest form))
655 ((the) 1 (sexp &rest form)) 610 ((do-all-symbols) 1 ((symbolp form &optional form) &rest form))
656 ((case ecase typecase etypecase) 1 (form &rest (sexp &rest form))) 611 ((psetq setf psetf) nil edebug-setq-form)
657 ((block return-from) 1 (sexp &rest form)) 612 ((progv) 2 (&rest form))
658 ((return) nil (&optional form)) 613 ((flet labels macrolet) 1
659 ((do do*) 2 ((&rest &or symbolp (symbolp &optional form form)) 614 ((&rest (sexp sexp &rest form)) &rest form))
660 (form &rest form) 615 ((symbol-macrolet lexical-let lexical-let*) 1
661 &rest form)) 616 ((&rest &or symbolp (symbolp form)) &rest form))
662 ((do-symbols) 1 ((symbolp form &optional form form) &rest form)) 617 ((multiple-value-bind) 2 ((&rest symbolp) &rest form))
663 ((do-all-symbols) 1 ((symbolp form &optional form) &rest form)) 618 ((multiple-value-setq) 1 ((&rest symbolp) &rest form))
664 ((psetq setf psetf) nil edebug-setq-form) 619 ((incf decf remf pushnew shiftf rotatef) nil (&rest form))
665 ((progv) 2 (&rest form)) 620 ((letf letf*) 1 ((&rest (&rest form)) &rest form))
666 ((flet labels macrolet) 1 621 ((callf destructuring-bind) 2 (sexp form &rest form))
667 ((&rest (sexp sexp &rest form)) &rest form)) 622 ((callf2) 3 (sexp form form &rest form))
668 ((symbol-macrolet lexical-let lexical-let*) 1 623 ((loop) nil (&rest &or symbolp form))
669 ((&rest &or symbolp (symbolp form)) &rest form)) 624 ((ignore-errors) 0 (&rest form))))
670 ((multiple-value-bind) 2 ((&rest symbolp) &rest form)) 625 (dolist (func (car entry))
671 ((multiple-value-setq) 1 ((&rest symbolp) &rest form)) 626 (put func 'lisp-indent-function (nth 1 entry))
672 ((incf decf remf pushnew shiftf rotatef) nil (&rest form)) 627 (put func 'lisp-indent-hook (nth 1 entry))
673 ((letf letf*) 1 ((&rest (&rest form)) &rest form)) 628 (or (get func 'edebug-form-spec)
674 ((callf destructuring-bind) 2 (sexp form &rest form)) 629 (put func 'edebug-form-spec (nth 2 entry)))))
675 ((callf2) 3 (sexp form form &rest form))
676 ((loop) nil (&rest &or symbolp form))
677 ((ignore-errors) 0 (&rest form))))
678 630
679 631
680;;; This goes here so that cl-macs can find it if it loads right now. 632;;; This goes here so that cl-macs can find it if it loads right now.