anchor.diff:          (rotatef (first line) (second line))
           (push (first line) *local-vars*))
         (cond ((x:starts-with "QObject::connect" qt-line)
  +             ;; qconnect
                (let ((line* (mapcar (lambda (x) (string-trim " " x)) (x:split qt-line #\,))))
  -               (format nil "~%    (qconnect ~A \"~A\" ~A \"~A\")"
  +               (format nil "~%      (qconnect ~A \"~A\" ~A \"~A\")"
                          (var-name (subseq (first line*) 17))
                          (subseq (second line*) 7 (- (length (second line*)) 1))
                          (var-name (third line*))
                          (subseq (fourth line*) 5 (- (length (fourth line*)) 3)))))
  -            ((x:starts-with "const bool" qt-line)       ; TODO
  -             (show-warning line))
  -            ((x:starts-with "QListWidgetItem" qt-line)  ; TODO
  -             (show-warning line))
  +            ((x:when-it (position "=" line :test 'string=)
  +               ;; special case: helper variables
  +               (let ((name (trim (nth (1- x:it) line))))
  +                 (push name *let-vars*)
  +                 (format nil "~%      (setf ~A (qfun ~A \"~A\"~{ ~A~}))"
  +                         (var-name name)
  +                         (var-name (nth (1+ x:it) line))
  +                         (nth (+ 3 x:it) line)
  +                         (prepare-args (nthcdr (+ 4 x:it) line))))))
               ((x:starts-with "<< QApplication::translate" qt-line)
  -             (format nil "~%      (tr ~A)" (fourth line)))
  +             ;; single string of string-list
  +             (format nil "~%        (tr ~A)" (fourth line)))
               ((string= ");" qt-line)
  -             (format nil "~%    ))"))
  +             ;; end string-list
  +             (format nil "~%      ))"))
               ((eql :dot (special-fun))
  +             ;; multiple functions
                (let ((line* (remove "(qfun" line :test 'string=)))
                  (if (= 5 (length line*))
  -                   (format nil "~%    (qfun ~A \"~A\" (qfun (qfun ~A \"~A\") \"~A\"))"
  +                   (format nil "~%      (qfun ~A \"~A\" (qfun (qfun ~A \"~A\") \"~A\"))"
                              (var-name (first line*))
                              (resolve-ambiguous (second line*))
                              (var-name (third line*))
  
positive.code:                            (list (format nil "(tr ~A)" (x:if-it (sixth line) x:it "\"\"")))
                             (let ((args (prepare-args (nthcdr (if (eql :fun type) 3 2) line))))
                               (if string-list-p
                                   (append (nbutlast args 1) (list "(list"))
                                   args)))
                         (make-string (- (count "(qfun" line :test 'string=) (if string-list-p 1 0))
                                      :initial-element #\) ))))
              ((eql :fun-static type)
               (let ((p (search "::" (first line))))
                 (format nil "~%    (qfun \"~A\" \"~A\"~{ ~A~})"
                         (subseq (first line) 0 p)
                         (resolve-ambiguous (subseq (first line) (+ 2 p)))
                         (prepare-args (nthcdr (if (eql :fun type) 2 1) line)))))
              ((find type '(:new :new-local))
               (format nil "~%    (setf ~A (qnew \"~A~A\"~{ ~A~}))"
                       (var-name (first line))
                       (second line)
                       (if (third line) (constructor-arg (second line)) "")
                       (prepare-args (nthcdr 2 line))))
              ((eql :new-item type)
               (format nil "~%    (qnew \"~A~A\"~{ ~A~})"
                       (first line)
                       (if (second line) (constructor-arg (first line)) "")
                       (prepare-args (rest line))))
  
negative.code:                              (setf (gethash *main-var* *global-vars*) *main-class*)
                               (setf section :ini))
                              ((x:starts-with "void retranslateUi" line)
                               (push (format nil "~%      ;; texts") *code*)
                               (setf section :tr))
                              ((x:starts-with "}" line)
                               (setf section :end))
  