From 0d6ee386a138a17decda203e8d3ce533d46e5796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Reu=C3=9Fe?= Date: Sun, 11 Mar 2018 17:09:32 +0100 Subject: [PATCH] Fix alphabetic string matching operators * org.el (org-string<): Add. (org-op-to-function): Use it. (org-string> etc.): Use collated comparison. Cf. commit 551d2f1fe. --- lisp/org.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index ac1ad3c75..24923ad4f 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -14045,7 +14045,7 @@ When DOWNCASE is non-nil, expand downcased TAGS." "Turn an operator into the appropriate function." (setq op (cond - ((equal op "<" ) '(< string< org-time<)) + ((equal op "<" ) '(< org-string< org-time<)) ((equal op ">" ) '(> org-string> org-time>)) ((member op '("<=" "=<")) '(<= org-string<= org-time<=)) ((member op '(">=" "=>")) '(>= org-string>= org-time>=)) @@ -14054,9 +14054,10 @@ When DOWNCASE is non-nil, expand downcased TAGS." (nth (if (eq stringp 'time) 2 (if stringp 1 0)) op)) (defun org<> (a b) (not (= a b))) -(defun org-string<= (a b) (or (string= a b) (string< a b))) -(defun org-string>= (a b) (not (string< a b))) -(defun org-string> (a b) (and (not (string= a b)) (not (string< a b)))) +(defun org-string< (a b) (org-string-collate-lessp a b)) +(defun org-string<= (a b) (or (string= a b) (org-string-collate-lessp a b))) +(defun org-string>= (a b) (not (org-string-collate-lessp a b))) +(defun org-string> (a b) (and (not (string= a b)) (not (org-string-collate-lessp a b)))) (defun org-string<> (a b) (not (string= a b))) (defun org-time= (a b) (setq a (org-2ft a) b (org-2ft b)) (and (> a 0) (> b 0) (= a b))) (defun org-time< (a b) (setq a (org-2ft a) b (org-2ft b)) (and (> a 0) (> b 0) (< a b)))