diff options
author | Daniel Llorens <lloda@sarc.name> | 2020-02-03 13:24:03 +0100 |
---|---|---|
committer | Daniel Llorens <lloda@sarc.name> | 2020-04-09 16:59:39 +0200 |
commit | 6c97c8108ede1f5be191c688ae1c670d3c6a6155 (patch) | |
tree | fecf52ddd1ad07c009e0f87b8bcdef01e39b0218 | |
parent | 996bbb47f20d9459d259a9a1a4a820a0b2960ca8 (diff) | |
download | guile-6c97c8108ede1f5be191c688ae1c670d3c6a6155.tar.gz |
Remove the unused argument from scm_array_p
* libguile/generalized-arrays.h:
* libguile/generalized-arrays.c: As stated.
* doc/ref/api-data.texi: Fix documentation.
* NEWS-array-fixes.txt: Document branch changes.
-rw-r--r-- | NEWS-array-fixes.txt | 28 | ||||
-rw-r--r-- | doc/ref/api-data.texi | 6 | ||||
-rw-r--r-- | libguile/generalized-arrays.c | 13 | ||||
-rw-r--r-- | libguile/generalized-arrays.h | 5 |
4 files changed, 33 insertions, 19 deletions
diff --git a/NEWS-array-fixes.txt b/NEWS-array-fixes.txt new file mode 100644 index 000000000..6d97a526f --- /dev/null +++ b/NEWS-array-fixes.txt @@ -0,0 +1,28 @@ + +TBA to NEWS for this branch. + +* Forward incompatible changes + +Applying these changes will make your program work with this version of +Guile and continue working with older versions. + +** vector->list and vector-copy require a true vector argument. + +Use array->list and array-copy (from (ice-9 arrays)) on general arrays. + +** scm_vector_elements / scm_vector_writable_elements require a true vector argument. + +Use scm_array_get_handle and scm_array_handle_elements / +scm_array_handle_writable_elements on general arrays. + +* Backward incompatible changes + +Applying these changes will make your program work with this version of +Guile and STOP working with older versions. + +** scm_array_p takes a single argument. + +This function used to take a second unused argument for the sake of +compatibility with older versions of Guile. Just remove this argument from your +calls. + diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi index 750f71195..c70e3e28c 100644 --- a/doc/ref/api-data.texi +++ b/doc/ref/api-data.texi @@ -7327,13 +7327,9 @@ values, one for each dimension. @deffn {Scheme Procedure} array? obj -@deffnx {C Function} scm_array_p (obj, unused) +@deffnx {C Function} scm_array_p (obj) Return @code{#t} if the @var{obj} is an array, and @code{#f} if not. - -The second argument to scm_array_p is there for historical reasons, -but it is not used. You should always pass @code{SCM_UNDEFINED} as -its value. @end deffn @deffn {Scheme Procedure} typed-array? obj type diff --git a/libguile/generalized-arrays.c b/libguile/generalized-arrays.c index 28ca6b3c7..a48012f4b 100644 --- a/libguile/generalized-arrays.c +++ b/libguile/generalized-arrays.c @@ -62,25 +62,16 @@ scm_is_array (SCM obj) } } -SCM_DEFINE (scm_array_p_2, "array?", 1, 0, 0, +SCM_DEFINE (scm_array_p, "array?", 1, 0, 0, (SCM obj), "Return @code{#t} if the @var{obj} is an array, and @code{#f} if\n" "not.") -#define FUNC_NAME s_scm_array_p_2 +#define FUNC_NAME s_scm_array_p { return scm_from_bool (scm_is_array (obj)); } #undef FUNC_NAME -/* The array type predicate, with an extra argument kept for backward - compatibility. Note that we can't use `SCM_DEFINE' directly because there - would be an argument count mismatch that would be caught by - `snarf-check-and-output-texi.scm'. */ -SCM -scm_array_p (SCM obj, SCM unused) -{ - return scm_array_p_2 (obj); -} int scm_is_typed_array (SCM obj, SCM type) diff --git a/libguile/generalized-arrays.h b/libguile/generalized-arrays.h index 130807b29..5e7e9812c 100644 --- a/libguile/generalized-arrays.h +++ b/libguile/generalized-arrays.h @@ -35,7 +35,7 @@ #define SCM_VALIDATE_ARRAY(pos, v) \ do { \ SCM_ASSERT (SCM_HEAP_OBJECT_P (v) \ - && scm_is_true (scm_array_p (v, SCM_UNDEFINED)), \ + && scm_is_true (scm_array_p (v)), \ v, pos, FUNC_NAME); \ } while (0) @@ -43,8 +43,7 @@ /** Arrays */ SCM_API int scm_is_array (SCM obj); -SCM_API SCM scm_array_p (SCM v, SCM unused); -SCM_INTERNAL SCM scm_array_p_2 (SCM); +SCM_API SCM scm_array_p (SCM v); SCM_API int scm_is_typed_array (SCM obj, SCM type); SCM_API SCM scm_typed_array_p (SCM v, SCM type); |