1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 21:40:33 +02:00

*** empty log message ***

This commit is contained in:
Jim Blandy 1999-05-09 09:13:20 +00:00
parent b1349e463e
commit e7d37b0a69
3 changed files with 56 additions and 16 deletions

56
NEWS
View file

@ -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'.

View 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>

View 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