Changeset 14116
- Timestamp:
- 08/18/12 10:36:44 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compile-file.lisp
r14111 r14116 42 42 (defvar *toplevel-functions*) 43 43 (defvar *toplevel-macros*) 44 (defvar *toplevel-exports*) 44 45 45 46 … … 281 282 (eval form))) 282 283 nil) 284 285 (declaim (ftype (function (t t t) t) process-toplevel-export)) 286 (defun process-toplevel-export (form stream compile-time-too) 287 (when (eq (car (second form)) 'QUOTE) ;; constant export list 288 (let ((sym-or-syms (second (second form)))) 289 (setf *toplevel-exports* 290 (append *toplevel-exports* (if (listp sym-or-syms) 291 sym-or-syms 292 (list sym-or-syms)))))) 293 (precompile-toplevel-form form stream compile-time-too)) 283 294 284 295 (declaim (ftype (function (t t t) t) process-toplevel-mop.ensure-method)) … … 562 573 (DEFVAR process-toplevel-defvar/defparameter) 563 574 (EVAL-WHEN process-toplevel-eval-when) 564 (EXPORT pr ecompile-toplevel-form)575 (EXPORT process-toplevel-export) 565 576 (IMPORT process-toplevel-import) 566 577 (IN-PACKAGE process-toplevel-defpackage/in-package) … … 698 709 (defun compile-from-stream (in output-file temp-file temp-file2 699 710 extract-toplevel-funcs-and-macros 700 functions-file macros-file )711 functions-file macros-file exports-file) 701 712 (let* ((*compile-file-pathname* (make-pathname :defaults (pathname in) 702 713 :version nil)) … … 777 788 :if-exists :supersede) 778 789 (let ((*package* (find-package :keyword))) 779 (write *toplevel-macros* :stream m-out))))) 790 (write *toplevel-macros* :stream m-out)))) 791 (setf *toplevel-exports* 792 (remove-if-not (lambda (sym) 793 (if (symbolp sym) 794 (symbol-package sym) 795 T)) 796 (remove-duplicates *toplevel-exports*))) 797 (when *toplevel-exports* 798 (with-open-file (e-out exports-file 799 :direction :output 800 :if-does-not-exist :create 801 :if-exists :supersede) 802 (let ((*package* (find-package :keyword))) 803 (write *toplevel-exports* :stream e-out))))) 780 804 (with-open-file (in temp-file :direction :input) 781 805 (with-open-file (out temp-file2 :direction :output … … 864 888 (functions-file (pathname-with-type output-file "funcs")) 865 889 (macros-file (pathname-with-type output-file "macs")) 890 (exports-file (pathname-with-type output-file "exps")) 866 891 *toplevel-functions* 867 892 *toplevel-macros* 893 *toplevel-exports* 868 894 (warnings-p nil) 869 895 (failure-p nil)) … … 871 897 (compile-from-stream in output-file temp-file temp-file2 872 898 extract-toplevel-funcs-and-macros 873 functions-file macros-file ))899 functions-file macros-file exports-file)) 874 900 (values (truename output-file) warnings-p failure-p)))) 875 901
Note: See TracChangeset
for help on using the changeset viewer.