From 185191df527b51ce521084f8c32030e87dabb5e9 Mon Sep 17 00:00:00 2001 From: jao Date: Sun, 26 Apr 2026 19:50:45 +0100 Subject: new attempt at fixing #74 It all seems to boil down to ansi-color-filter not recognising the format used by guile-colorized, and leaving behind some control characters that we're cleaning manually after the fact. This is not a great solution, as it applies a guile bandage to all implementations: we should define an implementation-dependent filter for input coming from a remote repl, but the fact that it has also to be applied to connections complicates matters. --- elisp/geiser-base.el | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'elisp/geiser-base.el') diff --git a/elisp/geiser-base.el b/elisp/geiser-base.el index 4194da5..71aa8b4 100644 --- a/elisp/geiser-base.el +++ b/elisp/geiser-base.el @@ -41,9 +41,14 @@ ;;; Utilities: +(require 'ansi-color) + (defsubst geiser--chomp (str) (if (string-match-p ".*\n$" str) (substring str 0 -1) str)) +(defsubst geiser--strip-ansi (s) + (replace-regexp-in-string "" "" (ansi-color-filter-apply s))) + (defun geiser--shorten-str (str len &optional sep) (let ((str-len (length str))) (if (<= str-len len) -- cgit v1.2.3