bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fix for string>? error message problem


From: Martin Grabmueller
Subject: Fix for string>? error message problem
Date: Wed, 24 Jan 2001 17:37:30 +0100

Hello developers,

here is the fix for the error message problem in `string>?' and others
I promised.

Regards,
  'Martin
-- 
Martin Grabmueller              address@hidden
http://www.pintus.de/mgrabmue/  address@hidden on EFnet

===File ~/cvs/guile-core/libguile/strorder-diff=============
Index: strorder.c
===================================================================
RCS file: /cvs/guile/guile-core/libguile/strorder.c,v
retrieving revision 1.20
diff -c -r1.20 strorder.c
*** strorder.c  2000/11/22 11:20:03     1.20
--- strorder.c  2001/01/24 16:35:52
***************
*** 123,141 ****
  }
  #undef FUNC_NAME
  
! 
! SCM_DEFINE1 (scm_string_less_p, "string<?", scm_tc7_rpsubr,
!              (SCM s1, SCM s2),
!            "Lexicographic ordering predicate; returns @t{#t} if @var{s1}\n"
!            "is lexicographically less than @var{s2}.  (r5rs)")
! #define FUNC_NAME s_scm_string_less_p
  {
    scm_sizet i, length1, length2, lengthm;
    unsigned char *c1, *c2;
  
-   SCM_VALIDATE_STRING (1, s1);
-   SCM_VALIDATE_STRING (2, s2);
- 
    length1 = SCM_STRING_LENGTH (s1);
    length2 = SCM_STRING_LENGTH (s2);
    lengthm = min (length1, length2);
--- 123,137 ----
  }
  #undef FUNC_NAME
  
! /* Internal helper function for the lexicographic ordering predicates.
!    This function is only intended to be used internally, because it
!    does not perform any argument checking.  */
! static SCM
! scm_i_string_less_p (SCM s1, SCM s2)
  {
    scm_sizet i, length1, length2, lengthm;
    unsigned char *c1, *c2;
  
    length1 = SCM_STRING_LENGTH (s1);
    length2 = SCM_STRING_LENGTH (s2);
    lengthm = min (length1, length2);
***************
*** 150,155 ****
--- 146,163 ----
  
    return SCM_BOOL (length1 < length2);
  }
+ 
+ SCM_DEFINE1 (scm_string_less_p, "string<?", scm_tc7_rpsubr,
+              (SCM s1, SCM s2),
+            "Lexicographic ordering predicate; returns @t{#t} if @var{s1}\n"
+            "is lexicographically less than @var{s2}.  (r5rs)")
+ #define FUNC_NAME s_scm_string_less_p
+ {
+   SCM_VALIDATE_STRING (1, s1);
+   SCM_VALIDATE_STRING (2, s2);
+ 
+   return scm_i_string_less_p (s1, s2);
+ }
  #undef FUNC_NAME
  
  
***************
*** 159,165 ****
             "is lexicographically less than or equal to @var{s2}.  (r5rs)")
  #define FUNC_NAME s_scm_string_leq_p
  {
!   return SCM_BOOL_NOT (scm_string_less_p (s2, s1));
  }
  #undef FUNC_NAME
  
--- 167,176 ----
             "is lexicographically less than or equal to @var{s2}.  (r5rs)")
  #define FUNC_NAME s_scm_string_leq_p
  {
!   SCM_VALIDATE_STRING (1, s1);
!   SCM_VALIDATE_STRING (2, s2);
! 
!   return SCM_BOOL_NOT (scm_i_string_less_p (s2, s1));
  }
  #undef FUNC_NAME
  
***************
*** 170,176 ****
             "is lexicographically greater than @var{s2}.  (r5rs)")
  #define FUNC_NAME s_scm_string_gr_p
  {
!   return scm_string_less_p (s2, s1);
  }
  #undef FUNC_NAME
  
--- 181,190 ----
             "is lexicographically greater than @var{s2}.  (r5rs)")
  #define FUNC_NAME s_scm_string_gr_p
  {
!   SCM_VALIDATE_STRING (1, s1);
!   SCM_VALIDATE_STRING (2, s2);
! 
!   return scm_i_string_less_p (s2, s1);
  }
  #undef FUNC_NAME
  
***************
*** 181,204 ****
             "is lexicographically greater than or equal to @var{s2}.  (r5rs)")
  #define FUNC_NAME s_scm_string_geq_p
  {
!   return SCM_BOOL_NOT (scm_string_less_p (s1, s2));
  }
  #undef FUNC_NAME
  
  
! SCM_DEFINE1 (scm_string_ci_less_p, "string-ci<?", scm_tc7_rpsubr,
!              (SCM s1, SCM s2),
!            "Case insensitive lexicographic ordering predicate; \n"
!            "returns @t{#t} if @var{s1} is lexicographically less than\n"
!            "@var{s2} regardless of case.  (r5rs)")
! #define FUNC_NAME s_scm_string_ci_less_p
  {
    scm_sizet i, length1, length2, lengthm;
    unsigned char *c1, *c2;
  
-   SCM_VALIDATE_STRING (1, s1);
-   SCM_VALIDATE_STRING (2, s2);
- 
    length1 = SCM_STRING_LENGTH (s1);
    length2 = SCM_STRING_LENGTH (s2);
    lengthm = min (length1, length2);
--- 195,217 ----
             "is lexicographically greater than or equal to @var{s2}.  (r5rs)")
  #define FUNC_NAME s_scm_string_geq_p
  {
!   SCM_VALIDATE_STRING (1, s1);
!   SCM_VALIDATE_STRING (2, s2);
! 
!   return SCM_BOOL_NOT (scm_i_string_less_p (s1, s2));
  }
  #undef FUNC_NAME
  
  
! /* Internal helper function for the case-insensitive lexicographic
!    ordering predicates.  This function is only intended to be used
!    internally, because it does not perform any argument checking.  */
! static SCM
! scm_i_string_ci_less_p (SCM s1, SCM s2)
  {
    scm_sizet i, length1, length2, lengthm;
    unsigned char *c1, *c2;
  
    length1 = SCM_STRING_LENGTH (s1);
    length2 = SCM_STRING_LENGTH (s2);
    lengthm = min (length1, length2);
***************
*** 213,218 ****
--- 226,244 ----
  
    return SCM_BOOL (length1 < length2);
  }
+ 
+ SCM_DEFINE1 (scm_string_ci_less_p, "string-ci<?", scm_tc7_rpsubr,
+              (SCM s1, SCM s2),
+            "Case insensitive lexicographic ordering predicate; \n"
+            "returns @t{#t} if @var{s1} is lexicographically less than\n"
+            "@var{s2} regardless of case.  (r5rs)")
+ #define FUNC_NAME s_scm_string_ci_less_p
+ {
+   SCM_VALIDATE_STRING (1, s1);
+   SCM_VALIDATE_STRING (2, s2);
+ 
+   return scm_i_string_ci_less_p (s1, s2);
+ }
  #undef FUNC_NAME
  
  
***************
*** 223,229 ****
             "or equal to @var{s2} regardless of case.  (r5rs)")
  #define FUNC_NAME s_scm_string_ci_leq_p
  {
!   return SCM_BOOL_NOT (scm_string_ci_less_p (s2, s1));
  }
  #undef FUNC_NAME
  
--- 249,258 ----
             "or equal to @var{s2} regardless of case.  (r5rs)")
  #define FUNC_NAME s_scm_string_ci_leq_p
  {
!   SCM_VALIDATE_STRING (1, s1);
!   SCM_VALIDATE_STRING (2, s2);
! 
!   return SCM_BOOL_NOT (scm_i_string_ci_less_p (s2, s1));
  }
  #undef FUNC_NAME
  
***************
*** 235,241 ****
             "@var{s2} regardless of case.  (r5rs)")
  #define FUNC_NAME s_scm_string_ci_gr_p
  {
!   return scm_string_ci_less_p (s2, s1);
  }
  #undef FUNC_NAME
  
--- 264,273 ----
             "@var{s2} regardless of case.  (r5rs)")
  #define FUNC_NAME s_scm_string_ci_gr_p
  {
!   SCM_VALIDATE_STRING (1, s1);
!   SCM_VALIDATE_STRING (2, s2);
! 
!   return scm_i_string_ci_less_p (s2, s1);
  }
  #undef FUNC_NAME
  
***************
*** 247,253 ****
             "or equal to @var{s2} regardless of case.  (r5rs)")
  #define FUNC_NAME s_scm_string_ci_geq_p
  {
!   return SCM_BOOL_NOT (scm_string_ci_less_p (s1, s2));
  }
  #undef FUNC_NAME
  
--- 279,288 ----
             "or equal to @var{s2} regardless of case.  (r5rs)")
  #define FUNC_NAME s_scm_string_ci_geq_p
  {
!   SCM_VALIDATE_STRING (1, s1);
!   SCM_VALIDATE_STRING (2, s2);
! 
!   return SCM_BOOL_NOT (scm_i_string_ci_less_p (s1, s2));
  }
  #undef FUNC_NAME
  
============================================================



reply via email to

[Prev in Thread] Current Thread [Next in Thread]