Function: radix-tree--lookup

radix-tree--lookup is a byte-compiled function defined in radix-tree.el.gz.

Signature

(radix-tree--lookup TREE STRING I)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/radix-tree.el.gz
(defun radix-tree--lookup (tree string i)
  (pcase tree
    (`((,prefix . ,ptree) . ,rtree)
     (let* ((ni (+ i (length prefix)))
            (cmp (compare-strings prefix nil nil string i ni)))
       (if (eq t cmp)
           (radix-tree--lookup ptree string ni)
         (let ((n (if (< cmp 0) (- -1 cmp) (- cmp 1))))
           (if (zerop n)
               (radix-tree--lookup rtree string i)
             (+ i n))))))
    (val
     (if (and val (equal (length string) i))
         (if (integerp val) `(t . ,val) val)
       i))))