anchor.diff:               (character-offset point 1)
                (when (end-line-p point)
                  (return)))
  -            ((syntax-test-match-p (syntax-region-end region) point 'region-side :end)
  +            ((syntax-test-match-p (syntax-region-end region) point)
                (line-add-property (point-line point)
                                   start-charpos (point-charpos point)
                                   :attribute (syntax-attribute region)
  
positive.code:   (etypecase syntax
      (syntax-region
       (let ((start-charpos (point-charpos point))
             (point (syntax-test-match-p (syntax-region-start syntax) point 'region-side :start)))
         (when point
           (syntax-scan-region syntax point start-charpos)
           point)))
  
negative.code:                  (or (not (syntax-test-word-p syntax-test))
                       (<= (length string) end)
                       (not (syntax-symbol-char-p (schar string end)))))
          (line-offset point 0 end)
          point))))
  
  (defun syntax-scan-region (region point start-charpos)
  