From 0ca6b880539ca0ebd2faa784e0bab9a928a91332 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 14 Jun 2019 06:38:54 -0700 Subject: replace-list: negatives in index-list follow convention. The index-list replacement isn't following the convention that negative index values reference from the end of the target sequence. Let's fix that. * lib.c (replace_list): Likewise. * txr.1: Documentation updated. --- txr.1 | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'txr.1') diff --git a/txr.1 b/txr.1 index dd5eb172..7e85020f 100644 --- a/txr.1 +++ b/txr.1 @@ -27017,6 +27017,11 @@ and .meta index-list are of different lengths, then the shorter of the two determines the maximum number of elements which are overwritten. +Whenever a negative value occurs in +.meta index-list +the length of +.meta sequence +is added to that value. Furthermore, similar restrictions apply on .meta index-list as under the @@ -27030,7 +27035,8 @@ furthermore, if is a list, then .meta index-list must -be monotonically increasing. +be monotonically increasing, after consideration of the +displacement of negative values. If .meta sequence @@ -27067,11 +27073,13 @@ arguments are converted to single range object, whereas an .meta index-list is passed as-is. -It is an error if a -.code to -argument is given, and +It is an error if the .code from -is a list; the situation is diagnosed. If either +argument is a sequence, indicating an +.metn index-list , +and a +.code to +argument is also given; the situation is diagnosed. If either .code from or .code to -- cgit v1.2.3