*** empty log message ***
authorJim Blandy <jimb@red-bean.com>
Sun, 9 May 1999 09:13:20 +0000 (09:13 +0000)
committerJim Blandy <jimb@red-bean.com>
Sun, 9 May 1999 09:13:20 +0000 (09:13 +0000)
NEWS
ice-9/ChangeLog
libguile/ChangeLog

diff --git a/NEWS b/NEWS
index 24fd01a..178be50 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -478,26 +478,52 @@ Scheme->C 01nov91:
      parameters or modifiers)).
 
 
-** New module (ice-9 string-case), for upcasing, downcasing, and the like.
+** Changes to string-handling functions.
 
-(This code, and the documentation for it that appears here, was
-borrowed from SLIB, with minor adaptations for Guile.)
+These functions were added to support the (ice-9 format) module, above.
 
-This module exports seven functions:
+*** New function: string-upcase STRING
+*** New function: string-downcase STRING
 
- - Procedure: string-upcase STR
- - Procedure: string-downcase STR
- - Procedure: string-capitalize STR
-     The obvious string conversion routines.  These are non-destructive.
+These are non-destructive versions of the existing string-upcase! and
+string-downcase! functions.
 
- - Function: string-upcase! STR
- - Function: string-downcase! STR
- - Function: string-captialize! STR
-     The destructive versions of the functions above.
+*** New function: string-capitalize! STRING
+*** New function: string-capitalize STRING
+
+These functions convert the first letter of each word in the string to
+upper case.  Thus:
+
+      (string-capitalize "howdy there")
+      => "Howdy There"
+
+As with the other functions, string-capitalize! modifies the string in
+place, while string-capitalize returns a modified copy of its argument.
+
+*** New function: string-ci->symbol STRING
+
+Return a symbol whose name is STRING, but having the same case as if
+the symbol had be read by `read'.
+
+Guile can be configured to be sensitive or insensitive to case
+differences in Scheme identifiers.  If Guile is case-insensitive, all
+symbols are converted to lower case on input.  The `string-ci->symbol'
+function returns a symbol whose name in STRING, transformed as Guile
+would if STRING were input.
+
+*** New function: substring-move! STRING1 START END STRING2 START
+
+Copy the substring of STRING1 from START (inclusive) to END
+(exclusive) to STRING2 at START.  STRING1 and STRING2 may be the same
+string, and the source and destination areas may overlap; in all
+cases, the function behaves as if all the characters were copied
+simultanously.
+
+*** Extended functions: substring-move-left! substring-move-right! 
+
+These functions now correctly copy arbitrarily overlapping substrings;
+they are both synonyms for substring-move!.
 
- - Function: string-ci->symbol STR
-     Converts string STR to a symbol having the same case as if the
-     symbol had been `read'.
 
 ** New module (ice-9 getopt-long), with the function `getopt-long'.
 
index 076e4d7..4f32d8e 100644 (file)
@@ -2,6 +2,8 @@
 
        * string-case.scm: Removed; functions moved to libguile/strop.c
        (which could be dynamically linked in the future anyway).
+       * Makefile.am (ice9_sources): Don't list string-case.scm.
+       * Makefile.in: Regenerated.
        * format.scm: Don't bother importing (ice-9 string-case).
 
 1999-05-02  Jim Blandy  <jimb@savonarola.red-bean.com>
index c46937f..6dcecee 100644 (file)
@@ -1,5 +1,17 @@
 1999-05-09  Jim Blandy  <jimb@savonarola.red-bean.com>
 
+       * strop.c (scm_string_capitalize_x): Use the SCM object `s' in
+       error messages, not the uninitialized string `str'.  Love that
+       typechecking.
+
+       * strop.c (scm_substring_move_x): New function, which can handle
+       arbitrary overlapping substrings.
+       (substring-move-left!, substring-move-right!): These are
+       now just synonyms for substring-move!.
+       * strop.h (scm_substring_move_x): New prototype.
+       (scm_substring_move_left_x, scm_substring_move_right_x):
+       #define these as synonyms for scm_substring_move_x.
+
        Fixes, cleanups, and new functions from Greg Harvey.
 
        1999-05-03  Greg Harvey  <Greg.Harvey@thezone.net>
@@ -25,7 +37,7 @@
 
        * strop.h: fixed prototypes.
 
-*      * strop.c (scm_substring_move_left_x, scm_substring_move_right_x): 
+       * strop.c (scm_substring_move_left_x, scm_substring_move_right_x): 
        changed to have 5 required args, rather than 2 required, and 3 required
        rest args. Also modified to allow str1 & str2 to overlap.
        (scm_substring_fill_x): changed to 4 args, rather than 2 args and