summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Blandy <jimb@red-bean.com>1999-05-09 09:13:20 +0000
committerJim Blandy <jimb@red-bean.com>1999-05-09 09:13:20 +0000
commite7d37b0a69a0caef857c4e81402111ed52906dd4 (patch)
tree623d34a92b2fc93ff38727aa5062457612dc0a51
parentb1349e463e5508fc9809d9e98d8ebf946c7c49ca (diff)
downloadguile-e7d37b0a69a0caef857c4e81402111ed52906dd4.tar.gz
*** empty log message ***
-rw-r--r--NEWS56
-rw-r--r--ice-9/ChangeLog2
-rw-r--r--libguile/ChangeLog14
3 files changed, 56 insertions, 16 deletions
diff --git a/NEWS b/NEWS
index 24fd01a9f..178be5031 100644
--- 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'.
diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog
index 076e4d736..4f32d8ed0 100644
--- a/ice-9/ChangeLog
+++ b/ice-9/ChangeLog
@@ -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>
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index c46937f69..6dcecee6e 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -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