Function: eglot--glob-compile
eglot--glob-compile is a byte-compiled function defined in
eglot.el.gz.
Signature
(eglot--glob-compile GLOB &optional BYTE-COMPILE NOERROR)
Documentation
Convert GLOB into Elisp function. Maybe BYTE-COMPILE it.
If NOERROR, return predicate, else erroring function.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
(defun eglot--glob-compile (glob &optional byte-compile noerror)
"Convert GLOB into Elisp function. Maybe BYTE-COMPILE it.
If NOERROR, return predicate, else erroring function."
(let* ((states (eglot--glob-parse glob))
(body `(with-current-buffer (get-buffer-create " *eglot-glob-matcher*")
(erase-buffer)
(save-excursion (insert string))
(cl-labels ,(cl-loop for (this that) on states
for (self emit text) = this
for next = (or (car that) 'eobp)
collect (funcall emit text self next))
(or (,(caar states))
(error "Glob done but more unmatched text: '%s'"
(buffer-substring (point) (point-max)))))))
(form `(lambda (string) ,(if noerror `(ignore-errors ,body) body))))
(if byte-compile (byte-compile form) form)))