Function: rng-data-deriv
rng-data-deriv is a byte-compiled function defined in rng-match.el.gz.
Signature
(rng-data-deriv IPATTERN VALUE)
Source Code
;; Defined in /usr/src/emacs/lisp/nxml/rng-match.el.gz
(defun rng-data-deriv (ipattern value)
(or (rng-memo-map-get value
(rng--ipattern-memo-map-data-deriv ipattern))
(and (rng-memo-map-get
(cons value (rng-namespace-context-get-no-trace))
(rng--ipattern-memo-map-data-deriv ipattern))
(rng-memo-map-get
(cons value (apply (car rng-dt-namespace-context-getter)
(cdr rng-dt-namespace-context-getter)))
(rng--ipattern-memo-map-data-deriv ipattern)))
(let* ((used-context (vector nil))
(rng-dt-namespace-context-getter
(cons 'rng-namespace-context-tracer
(cons used-context
rng-dt-namespace-context-getter)))
(deriv (rng-compute-data-deriv ipattern value)))
(rng-ipattern-memo-data-deriv ipattern
value
(aref used-context 0)
deriv))))