[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Error on package redefinition?
- To: clisp-list@ma2s2.mathematik.uni-karlsruhe.de
- Subject: Re: Error on package redefinition?
- From: Roger Kehr <kehr@iti.informatik.th-darmstadt.de>
- Date: Sun, 2 Jun 1996 12:18:39 +0200 (MESZ)
- In-reply-to: <31ADC0CE.134F@cs.tu-berlin.de> from "Mark Mueller" at May 30, 96 06:38:02 pm
Hi,
Ich benutze f"ur solche F"alle eine tempor"are Bindung von
*error-output* an einen string-stream.
(defparameter *internal-error-output* (make-string-output-stream))
#| can be visited and flushed by calling
(get-output-stream-string *internal-error-output* )
|#
...
(let ((name (stringify name)))
`(LET ((*ERROR-OUTPUT* *INTERNAL-ERROR-OUTPUT*))
(CLOS:DEFMETHOD
,(intern (string-upcase (concatenate 'string name "-open"))
'markup)
,signature ,@declare ,@open ,@body)
(CLOS:DEFMETHOD
,(intern (string-upcase (concatenate 'string name "-close"))
'markup)
,signature ,@declare ,@close ,@body))))
Hier binde ich f"ur die Definition von Methoden, die mir potentielle
Redefinitions-Warnungen melden, kurzerhand einen internen
string-stream *internal-error-output* und die Fehlerealdungen landen
in diesem Stream. Der Vorteil ist, da"s man die Meldungen sp"ater noch
nachbearbeiten kann (siehe get-output-stream-string).
Dieses ist zumindest ein portables Verfahren und sollte auf allen
CL-Implementationen funktionieren. Falls zu diesem Thema noch andere
Vorschl"age kommen, kannst du mir sie ja mal weiterleiten.
Ciao
--
----------------------------------------------------------------------
Roger Kehr kehr@iti.informatik.th-darmstadt.de
----------------------------------------------------------------------