From b82bfebecd829f78ab151c12336500003c32c72d Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Mon, 4 Mar 2024 09:21:14 +0200 Subject: Refactor gnosis-compare-strings Adjust for when gnosis-string-difference is >= answer length --- gnosis.el | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnosis.el b/gnosis.el index a0bf469..bb7b6d6 100644 --- a/gnosis.el +++ b/gnosis.el @@ -788,9 +788,13 @@ Valid cloze formats include: "Compare STR1 and STR2. Compare 2 strings, ignoring case and whitespace." - (<= (string-distance (downcase (replace-regexp-in-string "\\s-" "" str1)) - (downcase (replace-regexp-in-string "\\s-" "" str2))) - gnosis-string-difference)) + (let ((string-compare-func (if (or (>= (length str1) gnosis-string-difference) + (>= (length str2) gnosis-string-difference)) + #'(lambda (str1 str2) (<= (string-distance str1 str2) gnosis-string-difference)) + #'string=))) + (funcall string-compare-func + (downcase (replace-regexp-in-string "\\s-" "" str1)) + (downcase (replace-regexp-in-string "\\s-" "" str2))))) (defun gnosis-directory-files (&optional dir regex) -- cgit v1.2.3