Basic constructor macro for oct-escape-one structures.
(make-oct-escape-one [:digit <digit>])
This is the usual way to construct oct-escape-one structures. It simply conses together a structure with the specified fields.
This macro generates a new oct-escape-one structure from scratch. See also change-oct-escape-one, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-oct-escape-one (&rest args) (std::make-aggregate 'oct-escape-one args '((:digit)) 'make-oct-escape-one nil))
Function:
(defun oct-escape-one (digit) (declare (xargs :guard (oct-digit-char-p digit))) (declare (xargs :guard t)) (let ((__function__ 'oct-escape-one)) (declare (ignorable __function__)) (b* ((digit (mbe :logic (str::oct-digit-char-fix digit) :exec digit))) (cons :one (list digit)))))