summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-01-13 07:55:56 -0800
committerKaz Kylheku <kaz@kylheku.com>2022-01-13 07:55:56 -0800
commit20c0166b6b8e4b4ec9c17e354c7b33004149d5ae (patch)
tree306a31540a9d0d79bc6c7f793f8c47c5ae1273bb /txr.1
parent387834636fe55bbda0ad7061f7a63077869dfd2a (diff)
downloadtxr-20c0166b6b8e4b4ec9c17e354c7b33004149d5ae.tar.gz
txr-20c0166b6b8e4b4ec9c17e354c7b33004149d5ae.tar.bz2
txr-20c0166b6b8e4b4ec9c17e354c7b33004149d5ae.zip
cptr-int: allow full unsigned range.
The cptr-int function requries an address to be expressed as a signed integer, which is incovenient. E.g. -2147483648 to 2147483647 in a 32 bit address space. Let's fix it to accept an extended range. * lib.c (cptr_int): Convert the argument value to a ucnum if it is positive according to plusp, otherwise to cnum. Then either one to the mem_t * pointer. Thus we can accept either signed or unsigned values. * txr.1: Document the extended range of cptr-int.
Diffstat (limited to 'txr.1')
-rw-r--r--txr.115
1 files changed, 14 insertions, 1 deletions
diff --git a/txr.1 b/txr.1
index ef9f7f5e..6ef01d69 100644
--- a/txr.1
+++ b/txr.1
@@ -62058,13 +62058,26 @@ object.
The
.meta integer
-parameter must be an integer which is in range for a pointer value.
+argument must be an integer which is in range for a pointer value.
Note: this range is wider than the
.code fixnum
range; a portion of the range of
.code bignum
integers can denote pointers.
+An extended range of values is accepted. The entire addressable space may be
+expressed by non-negative values. A range of negative values also expresses a
+portion of the address space, in accordance with the platform's concept of a
+signed integer.
+
+For instance, on a system with 32 bit addresses, the values 0 to 4294967295
+express all of the addresses as a pure binary value. Furthermore, the values
+-2147483648 to -1 also express the upper part of this range, corresponding,
+respectively, to the addresses 2147483648 to 4294967295. On that platform,
+values of
+.meta integer
+outside of the range -2147483648 to 4294967295 are invalid.
+
The
.meta type-symbol
argument should be a symbol. If omitted, it defaults to