[plt-scheme] after-insert works differently than after insert

From: Robby Findler (robby at cs.uchicago.edu)
Date: Mon Aug 9 18:34:01 EDT 2004

The position of the snip doesn't change, when I run your code. I get
this output:

  236.5 236.5
  236.5 259.5

which indicates that the size of the snip is changing. Probably the
snip hasn't yet computed its size.

In fact, if you were to override get-extent in the snip, you'll see
that it's called in between the two printouts. Ie, use (make-object s%)
below where you have (make-object string-snip% "One") with this:

(define s%
  (class string-snip%
    (rename [super-get-extent get-extent])
    (define/override (get-extent . args)
      (printf "get-extent\n")
      (super-get-extent . args))
    (super-make-object "One")))

and you'll see this as output:

  236.5 236.5
  get-extent
  236.5 259.5

Robby


Posted on the users mailing list.