[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