~ chicken-core (chicken-5) e341d6dbc1cb52df4c2a5ed107b8755cbbef44d5


commit e341d6dbc1cb52df4c2a5ed107b8755cbbef44d5
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Mon Jun 28 10:26:07 2021 +0200
Commit:     Peter Bex <peter@more-magic.net>
CommitDate: Mon Jun 28 10:26:07 2021 +0200

    Update irregex docs to clarify behaviour with empty matches in fold (ported from upstream 7260235)

diff --git a/manual/Module (chicken irregex) b/manual/Module (chicken irregex)
index 2be9fd92..e1e77a47 100644
--- a/manual/Module (chicken irregex)	
+++ b/manual/Module (chicken irregex)	
@@ -276,7 +276,14 @@ The rationale for providing the {{<from-index>}} (which is not
 provided in the SCSH {{regexp-fold}} utility), is because this
 information is useful (e.g. for extracting the unmatched portion of
 the string before the current match, as needed in
-{{irregex-replace}}), and not otherwise directly accessible.
+{{irregex-replace/all}}), and not otherwise directly accessible.
+
+Note when the pattern matches an empty string, to avoid an infinite
+loop we continue from one char after the end of the match (as opposed
+to the end in the normal case).  The {{<from-index>}} passed to
+the subsequent \scheme{<kons>} or {{<finish>}} still refers to
+the original previous match end, however, so {{irregex-split}}
+and {{irregex-replace/all}}, etc. do the right thing.
 
 The optional {{<finish>}} takes two arguments:
 
Trap