anchor.diff:  (defmethod draw-label* ((pane labelled-gadget-mixin) x1 y1 x2 y2
                           &key (ink +foreground-ink+))
     (with-slots (align-x align-y label) pane
  -    (let ((as (text-style-ascent (pane-text-style pane) pane))
  -          (ds (text-style-descent (pane-text-style pane) pane))
  -          (w  (text-size pane label :text-style (pane-text-style pane))))
  +    (let* ((text-style (pane-text-style pane))
  +           (as (text-style-ascent text-style pane))
  +           (ds (text-style-descent text-style pane))
  +           (w  (text-size pane label :text-style text-style)))
         (draw-text* pane label
                     (case align-x
                       ((:left) x1)
  
positive.code:                     ((:bottom) (- y2 ds))
                      (otherwise (/ (+ y1 y2 (- as ds)) 2))) ;defensive programming
                    ;; Giving the text-style here shouldn't be neccessary --GB
                    :text-style (pane-text-style pane)
                    :ink ink))))
  
  ;;; 3D-ish Look
  
negative.code: 
  ;;; 30.4.6 The abstract radio-box and check-box Gadgets
  
  ;; The only real difference between a RADIO-BOX and a CHECK-BOX is the
  ;; number of allowed selections.
  
  (defclass radio-box (value-gadget oriented-gadget-mixin)
    ()
    (:documentation "The value is a button")
    (:default-initargs
     :value nil))
  
  ;; RADIO-BOX-CURRENT-SELECTION is just a synonym for GADGET-VALUE:
  
  