Function: ht-get*--inliner

ht-get*--inliner is a function defined in ht.el.

Signature

(ht-get*--inliner INLINE--FORM TABLE &rest KEYS)

Source Code

;; Defined in ~/.emacs.d/elpa/ht-20230703.558/ht.el
;; Closure converted to defun by helpful.
(defun ht-get*--inliner
    (inline--form table &rest keys)
  (ignore inline--form)
  (catch 'inline--just-use
    (let*
	((exp table)
	 (table
	  (if
	      (macroexp-copyable-p exp)
	      exp
	    (make-symbol "table")))
	 (body
	  (let*
	      ((exp keys)
	       (keys
		(if
		    (macroexp-copyable-p exp)
		    exp
		  (make-symbol "keys")))
	       (body
		(list 'progn
		      (list 'while keys
			    (list 'setf table
				  (list 'ht-get table
					(list 'pop keys))))
		      table)))
	    (if
		(eq keys exp)
		body
	      (macroexp-let*
	       (list
		(list keys exp))
	       body)))))
      (if
	  (eq table exp)
	  body
	(macroexp-let*
	 (list
	  (list table exp))
	 body)))))