[developers] [spr30362] bug using climxm
Stephan Oepen
oe at ifi.uio.no
Mon Mar 31 12:07:30 CEST 2008
hi andreas,
> The patch for this issue and several others has been released. The
> patch name is "clim.001".
many thanks for the update. i installed the patch (and all others as
of thursday last week), and international character support now seems
to work fine for me. also, i now longer get `operation on background
stream' errors. thanks for moving things forward!
however, i get a new error in CLIM, for code that used to work okay:
Error: Row or column in table does not contain any cells
see the file attached below for further information. it seems to be in
the scope of our function lkb::draw-discriminants-window(), which looks
like this:
(defun draw-discriminants-window (frame stream &rest rest)
(declare (ignore rest))
;;
;; in case we are displaying the window with an uninitialized frame
;;
(when (null (compare-frame-edges frame))
(return-from draw-discriminants-window))
(let ((discriminants (compare-frame-discriminants frame)))
(clim:with-text-style (stream (comparison-discriminant-font))
(clim:formatting-table (stream :x-spacing "X")
(loop
for item in discriminants
for record = (discriminant-record item)
when record do (clim:clear-output-record record)
unless (discriminant-hidep item) do
(clim:formatting-row (stream)
(setf (discriminant-record item)
(clim:with-new-output-record (stream)
(clim:with-output-recording-options (stream :record t)
(clim:with-output-as-presentation
(stream item 'discriminant)
(clim:updating-output
(stream :cache-value (discriminant-state item))
(clim:formatting-cell
(stream :align-x :center :min-width "+")
(write-string
(discriminant-state-as-string item) stream)))
(clim:updating-output
(stream :cache-value (discriminant-toggle item))
(clim:formatting-cell
(stream :align-x :center :min-width "+")
(write-string
(discriminant-toggle-as-string item) stream)))
(clim:formatting-cell (stream :align-x :left)
(format stream "~a" (discriminant-key item)))
(clim:formatting-cell (stream :align-x :left)
(format
stream
"~@[~a~]" (discriminant-value item))))))))
;;
;; _fix_me_
;; there ought to be a way of drawing things in the intended
;; colour right from the start; apparently, neither rob nor i
;; could work that out quickly; CLIM can be a pain :-(.
;; (9-oct-02; oe)
(let ((record (discriminant-record item)))
(when (discriminant-gold item)
(recolor-record record (if (update-match-p frame)
clim:+magenta+
clim:+blue+))
(clim:replay record stream))))))))
i imagine there may be something wrong in this code, and that the newer
CLIM is more sensitive to this error? i can continue from the error(),
using `Retry displaying pane', incidentally, and then everything works
fine. so maybe a timing error or something?
can you easily spot the nature of this problem (be it in my code or the
latest CLIM patches)? unfortunately, this is pretty urgent: without a
quick fix, i would need to be instructed on how to revert the patch.
many thanks in advance - oe
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++ Universitetet i Oslo (IFI); Boks 1080 Blindern; 0316 Oslo; (+47) 2284 0125
+++ CSLI Stanford; Ventura Hall; Stanford, CA 94305; (+1 650) 723 0515
+++ --- oe at ifi.uio.no; oe at csli.stanford.edu; stephan at oepen.net ---
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clim.log
Type: application/octet-stream
Size: 19442 bytes
Desc: not available
URL: <http://lists.delph-in.net/archives/developers/attachments/20080331/2d80d9d9/attachment.obj>
More information about the developers
mailing list