diff options
Diffstat (limited to 'src/ellinika/elmorph.scm4')
-rw-r--r-- | src/ellinika/elmorph.scm4 | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/ellinika/elmorph.scm4 b/src/ellinika/elmorph.scm4 index e3ed4b5..f916d1c 100644 --- a/src/ellinika/elmorph.scm4 +++ b/src/ellinika/elmorph.scm4 @@ -23,16 +23,22 @@ (define-public (elstr-trim word n) - (cond - ((> n 0) - (elstr-slice word n (- (elstr-length word) n))) - ((< n 0) - (elstr-slice word 0 (+ (elstr-length word) n))) - (else - word))) + (let ((word (if (string? word) + (string->elstr word) + word))) + (cond + ((> n 0) + (elstr-slice word n (- (elstr-length word) n))) + ((< n 0) + (elstr-slice word 0 (+ (elstr-length word) n))) + (else + word)))) (define-public (elstr-trim! word n) - (cond - ((> n 0) - (elstr-slice! word n (- (elstr-length word) n))) - ((< n 0) - (elstr-slice! word 0 (+ (elstr-length word) n))))) + (let ((word (if (string? word) + (string->elstr word) + word))) + (cond + ((> n 0) + (elstr-slice! word n (- (elstr-length word) n))) + ((< n 0) + (elstr-slice! word 0 (+ (elstr-length word) n)))))) |