anchor.diff:      (declare (type (unsigned-byte 8) next-byte1 next-byte2))
       (logior (ash next-byte1 8) next-byte2)))
   
  -(defun scsu-change-to-window (state window)
  -  (declare (type window-index window))
  -  (setf (scsu-state-active-window-index state) window))
  -
   (defun scsu-define-window (state window offset)
     (declare (type window-index window)
   	   (type unicode-code-point offset))
  -  (scsu-change-to-window state window)  
  +  (setf (scsu-state-active-window-index state) window)
     (setf (scsu-state-active-window-offset state) offset))
   
   (defun decode-define-window-extended (state read-func)
  
positive.code: 				(_ (1byte-encodable-p state next-code-point dwindow)))
  	   (locally (declare (type window-index dwindow))
  	     (setf (scsu-state-mode state) :single-byte-mode)
  	     (scsu-change-to-window state dwindow)
  	     (funcall write-func (+ +UC0+ dwindow))
  	     (encode-unit* state code-point next-code-point write-func))))
  	((alexandria:when-let* ((offsets (use-define-window-p state code-point next-code-point)) ; define window
  
negative.code:       ;; changes active window and mode if required
        (cond ((eq (scsu-state-mode state) :unicode-mode)
  	     (setf (scsu-state-mode state) :single-byte-mode)	     
  	     (setf (scsu-state-active-window-index state) 0)
  	     (put-byte +UC0+))
  	    ((/= 0 (scsu-state-active-window-index state))
  	     (setf (scsu-state-active-window-index state) 0)
  	     (put-byte +SC0+)))
        ;; clean object
        (scsu-state-reset state))
  