diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-12-27 10:58:29 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-12-27 19:45:24 +0100 |
commit | 34e9aae4407aceb54c7b6bc4c9b4e3e10ec62314 (patch) | |
tree | 46c4a2d4a78293b5c03ac60a9d8a56c73b01b0e3 /lisp/emacs-lisp/comp-cstr.el | |
parent | ee53560c8cb1236bb60304157882abe8e7cddaff (diff) | |
download | emacs-34e9aae4407aceb54c7b6bc4c9b4e3e10ec62314.tar.gz emacs-34e9aae4407aceb54c7b6bc4c9b4e3e10ec62314.tar.bz2 emacs-34e9aae4407aceb54c7b6bc4c9b4e3e10ec62314.zip |
* Add comp-cstr-greatest-in-range comp-cstr-smallest-in-range
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-smallest-in-range)
(comp-cstr-greatest-in-range): New function.
(comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): Make use of.
Diffstat (limited to 'lisp/emacs-lisp/comp-cstr.el')
-rw-r--r-- | lisp/emacs-lisp/comp-cstr.el | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/comp-cstr.el b/lisp/emacs-lisp/comp-cstr.el index 1927207db63..62e3c47ce3a 100644 --- a/lisp/emacs-lisp/comp-cstr.el +++ b/lisp/emacs-lisp/comp-cstr.el @@ -288,6 +288,14 @@ Return them as multiple value." ((eq y '-) nil) (t (< x y)))) +(defsubst comp-cstr-smallest-in-range (range) + "Smallest entry in RANGE." + (caar range)) + +(defsubst comp-cstr-greatest-in-range (range) + "Greater entry in RANGE." + (cdar (last range))) + (defun comp-range-union (&rest ranges) "Combine integer intervals RANGES by union set operation." (cl-loop @@ -687,7 +695,7 @@ SRC can be either a comp-cstr or an integer." (if (integerp src) `((,(1+ src) . +)) (when-let* ((range (range src)) - (low (cdar (last range))) + (low (comp-cstr-greatest-in-range range)) (okay (integerp low))) `((,(1+ low) . +)))))) (comp-cstr-set-cmp-range dst old-dst ext-range)))) @@ -700,7 +708,7 @@ SRC can be either a comp-cstr or an integer." (if (integerp src) `((,src . +)) (when-let* ((range (range src)) - (low (cdar (last range))) + (low (comp-cstr-greatest-in-range range)) (okay (integerp low))) `((,low . +)))))) (comp-cstr-set-cmp-range dst old-dst ext-range)))) @@ -713,7 +721,7 @@ SRC can be either a comp-cstr or an integer." (if (integerp src) `((- . ,(1- src))) (when-let* ((range (range src)) - (low (caar (last range))) + (low (comp-cstr-smallest-in-range range)) (okay (integerp low))) `((- . ,(1- low))))))) (comp-cstr-set-cmp-range dst old-dst ext-range)))) @@ -726,7 +734,7 @@ SRC can be either a comp-cstr or an integer." (if (integerp src) `((- . ,src)) (when-let* ((range (range src)) - (low (caar (last range))) + (low (comp-cstr-smallest-in-range range)) (okay (integerp low))) `((- . ,low)))))) (comp-cstr-set-cmp-range dst old-dst ext-range)))) |