#22: keyword parameters by same name as global variable ------------------------+--------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: component1 | Version: Keywords: | ------------------------+--------------------------------------------------- Don Cohen writes that the code below is problematic. Especially because of the DEFVAR form.
==== /tmp/build1 (in-package :cl-user) (defpackage "AP5" (:use "CL") (:nicknames "ap5")) (in-package :ap5) (load "/tmp/compile.lsp" :print t) (setf source-default-path "/backup/shuttle/home/don/ap5-2006/foo.lsp" bin-default-path "/tmp/build-ap5/foo.fas") (ensure-directories-exist bin-default-path)
(COMPILE-AP5 :recompile t) ;;(compile-ap5 :ask t)
==== /tmp/compile.lsp (in-package "AP5")
(defvar info nil) (defvar ask nil) (defvar recompile nil) (defvar nevercompile nil) (defvar *changed* nil) (defvar startfile nil) (defvar stopfile t) (defvar *start-time* 0)
(defun compile-ap5 (&key recompile nevercompile info ask (break-at-end #+symbolics t) startfile (stopfile t) &aux *changed* (*start-time* (get-universal-time)) #+(or symbolics ti) (global:inhibit-fdefine- warnings t)) ; (compile-load "sys-depend") (declare (special generator-cost-record record-expensive-and-costs)) )