;;; -*- Mode:LISP; Package:HL; Readtable:CL; Base:10; Patch-file: T -*-

;(defun lisp:break (&optional format-string &rest args)
;  (when format-string
;    (apply #'format *error-output* format-string args))
;  (eh:debug))
;(defun breakpoint-in-code-style-checker (form)
;  (ignore form)
;  (compiler:warn 'breakpoint-in-code ':implausible "Breakpoint in code"))
;(EVAL-WHEN (EVAL LOAD COMPILE)
;  (zl:defprop lisp:break breakpoint-in-code-style-checker 'compiler:style-checker))


(defmacro with-whostate (whostate &body body)
  (let ((^old-whostate (compiler:gensymbol "OLD-WHOSTATE"))
	(^whostate (compiler:gensymbol "WHOSTATE")))
    `(let ((,^old-whostate (si:process-run-whostate si:current-process))
	   (,^whostate ,whostate))
       (unwind-protect
	   (progn
	     (setf (si:process-run-whostate si:current-process) ,whostate)
	     ,@body)
	 (setf (si:process-run-whostate si:current-process) ,^old-whostate)))))


(defmacro printing-package-names (&body body)
  `(let ((*package* nil))
     ,@body))
