From: Bob R. <ro...@rg...> - 2002-01-12 01:55:37
|
FWIW, here's another fix I've been meaning to send for ages. It saves me a lot of trouble tracking down spurious warnings about inter-file forward references. -- Bob Rogers ESS Technology, Inc. http://rgrjr.dyndns.org/icancad/ ------------------------------------------------------------------------ *** defsystem.lisp.~2~ Mon Dec 3 13:10:16 2001 --- defsystem.lisp Fri Dec 14 16:56:57 2001 *************** *** 3137,3143 **** (minimal-load *minimal-load*)) (unwind-protect ;; Protect the undribble. ! (progn (when *reset-full-pathname-table* (clear-full-pathname-tables)) (when dribble (dribble dribble)) (when test (setq verbose t)) --- 3137,3146 ---- (minimal-load *minimal-load*)) (unwind-protect ;; Protect the undribble. ! ;; [changed progn to with-compilation-unit, for lisps that can handle it. ! ;; -- bo...@rg..., 12-Oct-00.] ! (#+:cltl2 with-compilation-unit #+:cltl2 () ! #-:cltl2 progn (when *reset-full-pathname-table* (clear-full-pathname-tables)) (when dribble (dribble dribble)) (when test (setq verbose t)) |
From: Bob R. <ro...@rg...> - 2002-01-12 01:57:58
|
FWIW, here's another fix I've been meaning to send for ages. It saves me a lot of trouble tracking down spurious warnings about inter-file forward references. -- Bob Rogers ESS Technology, Inc. http://rgrjr.dyndns.org/icancad/ P.S. I'm sending this to your cs.nyu.edu address because cons.org said "User unknown" just now. ------------------------------------------------------------------------ *** defsystem.lisp.~2~ Mon Dec 3 13:10:16 2001 --- defsystem.lisp Fri Dec 14 16:56:57 2001 *************** *** 3137,3143 **** (minimal-load *minimal-load*)) (unwind-protect ;; Protect the undribble. ! (progn (when *reset-full-pathname-table* (clear-full-pathname-tables)) (when dribble (dribble dribble)) (when test (setq verbose t)) --- 3137,3146 ---- (minimal-load *minimal-load*)) (unwind-protect ;; Protect the undribble. ! ;; [changed progn to with-compilation-unit, for lisps that can handle it. ! ;; -- bo...@rg..., 12-Oct-00.] ! (#+:cltl2 with-compilation-unit #+:cltl2 () ! #-:cltl2 progn (when *reset-full-pathname-table* (clear-full-pathname-tables)) (when dribble (dribble dribble)) (when test (setq verbose t)) |
From: Sam S. <sd...@gn...> - 2002-01-12 16:21:32
|
> * In message <154...@rg...> > * On the subject of "with-compilation-unit in mk-defsystem" > * Sent on Fri, 11 Jan 2002 20:57:55 -0500 > * Honorable Bob Rogers <ro...@rg...> writes: > > ------------------------------------------------------------------------ > *** defsystem.lisp.~2~ Mon Dec 3 13:10:16 2001 > --- defsystem.lisp Fri Dec 14 16:56:57 2001 > *************** > *** 3137,3143 **** > (minimal-load *minimal-load*)) > (unwind-protect > ;; Protect the undribble. > ! (progn > (when *reset-full-pathname-table* (clear-full-pathname-tables)) > (when dribble (dribble dribble)) > (when test (setq verbose t)) > --- 3137,3146 ---- > (minimal-load *minimal-load*)) > (unwind-protect > ;; Protect the undribble. > ! ;; [changed progn to with-compilation-unit, for lisps that can handle it. > ! ;; -- bo...@rg..., 12-Oct-00.] > ! (#+:cltl2 with-compilation-unit #+:cltl2 () > ! #-:cltl2 progn > (when *reset-full-pathname-table* (clear-full-pathname-tables)) > (when dribble (dribble dribble)) > (when test (setq verbose t)) Please check for ANSI-CL and not for CLTL2. WITH-COMPILATION-UNIT is an ANSI CL feature. (CLISP has ANSI-CL and not CLTL2 - they are not compatible, i.e., strictly speaking, they may not be both present). -- Sam Steingold (http://www.podval.org/~sds) Keep Jerusalem united! <http://www.onejerusalem.org/Petition.asp> Read, think and remember! <http://www.iris.org.il> <http://www.memri.org/> Isn't "Microsoft Works" an advertisement lie? |
From: Bob R. <ro...@rg...> - 2002-01-13 03:08:43
|
From: Sam Steingold <sd...@gn...> Date: 12 Jan 2002 11:20:55 -0500 Please check for ANSI-CL and not for CLTL2. WITH-COMPILATION-UNIT is an ANSI CL feature. (CLISP has ANSI-CL and not CLTL2 - they are not compatible, i.e., strictly speaking, they may not be both present). That is true, come to think of it. Hmm. Since with-compilation-unit is described on p.683 of CLtL2, I chose "#+:cltl2", thinking it would be more inclusive. This works as intended on recent ACL and CMU-CL releases (but not, I now note with amusement, on Genera 8.5). I was unaware that CLISP does not define this; thanks for pointing it out. A revised patch follows. -- Bob ------------------------------------------------------------------------ *** defsystem.lisp.~2~ Mon Dec 3 13:10:16 2001 --- defsystem.lisp Sat Jan 12 21:57:32 2002 *************** *** 3137,3143 **** (minimal-load *minimal-load*)) (unwind-protect ;; Protect the undribble. ! (progn (when *reset-full-pathname-table* (clear-full-pathname-tables)) (when dribble (dribble dribble)) (when test (setq verbose t)) --- 3137,3146 ---- (minimal-load *minimal-load*)) (unwind-protect ;; Protect the undribble. ! ;; [changed progn to with-compilation-unit, for lisps that can handle it. ! ;; -- bo...@rg..., 12-Oct-00.] ! (#+(or :cltl2 :ansi-cl) with-compilation-unit #+(or :cltl2 :ansi-cl) () ! #-(or :cltl2 :ansi-cl) progn (when *reset-full-pathname-table* (clear-full-pathname-tables)) (when dribble (dribble dribble)) (when test (setq verbose t)) |
From: Marco A. <ma...@cs...> - 2002-01-14 13:58:38
|
Thanks the WITH-COMPILATION-UNIT suggestion is excellent. However, it should be conditionalized on ANSI (instead of CLtL2) and maybe it should bu passed a :overrdide t. Cheers -- Marco Antoniotti ======================================================== NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 719 Broadway 12th Floor fax +1 - 212 - 995 4122 New York, NY 10003, USA http://bioinformatics.cat.nyu.edu "Hello New York! We'll do what we can!" Bill Murray in `Ghostbusters'. |
From: Bob R. <ro...@rg...> - 2002-01-15 14:42:52
|
From: Marco Antoniotti <ma...@cs...> Date: Mon, 14 Jan 2002 08:58:33 -0500 Thanks the WITH-COMPILATION-UNIT suggestion is excellent. Thank you. However, it should be conditionalized on ANSI (instead of CLtL2) and maybe it should bu passed a :overrdide t. I've adapted Sam Steingold's suggestion on reader conditionalization. On the :override option, I notice that operating on systems that contain system modules appear to call operate-on-system recursively. So specifying ":override t" should force each system module to be self-contained in terms of deferred compiler warnings, correct? That sounds like a good thing, so I've worked this change into the revised patch below; thanks for the suggestion. (In the process, I took the liberty of adding an :override-compilation-unit parameter that defaults to T, in case some caller thinks they know better. But I admit I've been unable to think of a reasonable case where this would be useful.) Please note that I can't fully test this patch, as I do not have any sufficiently elaborate test cases handy. If anybody finds any problems with it, please let me know. -- Bob ------------------------------------------------------------------------ *** defsystem.lisp.~2~ Mon Dec 3 13:10:16 2001 --- defsystem.lisp Tue Jan 15 09:13:15 2002 *************** *** 3134,3143 **** *bother-user-if-no-binary*) (compile-during-load *compile-during-load*) dribble ! (minimal-load *minimal-load*)) (unwind-protect ;; Protect the undribble. ! (progn (when *reset-full-pathname-table* (clear-full-pathname-tables)) (when dribble (dribble dribble)) (when test (setq verbose t)) --- 3134,3149 ---- *bother-user-if-no-binary*) (compile-during-load *compile-during-load*) dribble ! (minimal-load *minimal-load*) ! (override-compilation-unit t)) ! (declare #-(or :cltl2 :ansi-cl) (ignore override-compilation-unit)) (unwind-protect ;; Protect the undribble. ! ;; [changed progn to with-compilation-unit, for lisps that can handle it. ! ;; -- bo...@rg..., 12-Oct-00.] ! (#+(or :cltl2 :ansi-cl) with-compilation-unit ! #+(or :cltl2 :ansi-cl) (:override override-compilation-unit) ! #-(or :cltl2 :ansi-cl) progn (when *reset-full-pathname-table* (clear-full-pathname-tables)) (when dribble (dribble dribble)) (when test (setq verbose t)) |