From 9a68868346bc4e3a385480140f60e7736ed7c364 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Tue, 16 Jul 2024 09:47:55 +0300 Subject: [fix] cloze: Update assertiong when editing cloze notes. --- gnosis.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnosis.el b/gnosis.el index cbc053b..768a05f 100644 --- a/gnosis.el +++ b/gnosis.el @@ -1874,6 +1874,10 @@ SUSPEND: Suspend note, 0 for unsuspend, 1 for suspend" (cl-assert (and (listp ef) (length= ef 3)) nil "ef must be a list of 3 floats") (cl-assert (or (stringp options) (listp options)) nil "Options must be a string, or a list for MCQ") (cl-assert (or (= suspend 0) (= suspend 1)) nil "Suspend must be either 0 or 1") + (when (string= (gnosis-get-type id) "cloze") + (cl-assert (or (listp options) (stringp options)) nil "Options must be a list or a string.") + (cl-assert (gnosis-cloze-check main answer) nil "Clozes are not part of the question (main).") + (cl-assert (>= (length answer) (length options)) nil "Hints (options) must be equal or less than clozes (answer).")) ;; Construct the update clause for the emacsql update statement. (cl-loop for (field . value) in `((main . ,main) (options . ,options) -- cgit v1.2.3