CLIM mail archive

[Prev][Next][Index][Thread]

Bug in filling-output?



I'm using CLIM 1.1 with MCL 2.0 and Genera 8.1.

Filling-output dies if it's used inside another filling-output.
This restrcition is undocumented, and there is no specific error:
Under Genera, it results in a stack-overflow, under MCL the systems
waits until I break or abort (At least it doesn't crash the Mac!:-)

So I suspect this behavior quite buggy.

To answer the question why I want to call it recursively:
1. It is e.g. necessary to implement a general "quote-context" like LaTeX's

   \quote.
2. As indenting-output can't be used inside filling-output, I tried to
   emulate the indenting with the :after-line-break option of
filling-output. 
   And I need serveral nested indent-levels inside a filled output!
   (with-flaming (:excuse "Already took some hours of testing and working
around")
      In my eyes the restriction of using indenting-output and
filling-output
      togehter is a typical hacker-driven software-"design". The
      features of the software seem to be determined by the efforts of 
      implementing them, not by analysing the USER's needs! And if some
      function is restricted in use, it should be named properly. What do
      you think of a function "multiply", where the doc says "... but the 
      second argument must be a power of 2..."???)
      And it is by far not enough to simply state in the docs that 
      this and that is not possible --- without any motivation or
explanation
      how it could be emulated. )


Test-case:

(defvar *clim-root* (clim:open-root-window #+symbolics :sheet #+mcl :mcl))
(defvar *my-window* (clim:open-window-stream :parent *clim-root*))

(let ((stream *my-window*))
  (clim:window-clear stream)
  (clim:window-expose stream)
  (terpri stream)
  (clim:filling-output  (stream :fill-width '(20 :character))
    (terpri stream)
    (dotimes (i 15)
      (write-string "helo " stream))
    (terpri stream)
    
    (clim:filling-output  (stream :fill-width '(15 :character))
      (terpri stream)
      (dotimes (i 15)
        (write-string "oleh " stream)))
    ))


- Stefan Bernemann   (berni@iml.fhg.de)


0,,

Follow-Ups:

Main Index | Thread Index