From 839567fd6c242ebd1f8093bf66544a5b83c2d608 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Wed, 28 Feb 2024 01:59:20 +0200 Subject: gnosis-cloze-replace-words: Update error handling If cloze given is not valid throw an error. Just having search-forward return error alone is confusing. --- gnosis.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnosis.el b/gnosis.el index 3487001..a819c9d 100644 --- a/gnosis.el +++ b/gnosis.el @@ -730,8 +730,12 @@ Works both with {} and {{}} to make easier to import anki notes." "In STRING replace only the first occurrence of each word in WORDS with NEW." (cl-assert (listp words)) (cl-loop for word in words - do (when (string-match (concat "\\<" word "\\>") string) - (setq string (replace-match new t t string)))) + do (if (string-match (concat "\\<" word "\\>") string) + (setq string (replace-match new t t string)) + ;; This error will be produced when user has edited a + ;; note to an invalid cloze. + (error "`%s' is an invalid cloze for question: `%s'." + word string ))) string) (defun gnosis-cloze-extract-answers (str) -- cgit v1.2.3