[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Guile-commits] GNU Guile branch, string_abstraction2, updated. fc50
From: |
Ludovic Courtès |
Subject: |
Re: [Guile-commits] GNU Guile branch, string_abstraction2, updated. fc50695e8d6a5cc0cebc3a8fcd0833ec1ff316a2 |
Date: |
Fri, 05 Jun 2009 16:10:55 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux) |
Hi Mike,
A few random thoughts:
"Michael Gran" <address@hidden> writes:
> - buf = scm_to_locale_stringn (scm_c_substring (str, start, end), &len);
> + buf = scm_to_encoded_stringn (scm_c_substring (str, start, end), &len,
> + pt->encoding, pt->ilseq_handler);
I'd call that `scm_to_stringn ()' since it's the most generic form (and
a string is always "encoded", anyway).
> +SCM_DEFINE (scm_setencoding, "setencoding", 1, 1, 0,
> + (SCM enc, SCM port),
How about `set-port-encoding!' (for consistency with other procedure
names), with PORT being a required argument?
> "Sets the character encoding that will be used to interpret all\n"
> - "port I/O. Normally, one would set this using @code{setlocale},\n"
> + "port I/O. Normally, a new port would inherit the encoding\n"
> + "set by using @code{setlocale},\n"
It would seem simpler to me if a port's encoding defaulted to ASCII,
instead of the current locale's encoding. That would make semantics
clearer and easier to follow. What do you think?
> +SCM_DEFINE (scm_setbinary, "setbinary", 0, 1, 0,
> + (SCM port),
Likewise, `set-port-binary-mode!' or some such.
> +char *
> +scm_scan_for_encoding (SCM port)
Since it's `SCM_INTERNAL', I'd suggest `scm_i_scan_for_encoding()'.
In addition, from a memory management viewpoint, it might be easier to
have it return an `SCM'.
> -SCM_DEFINE (scm_set_conversion_error_behavior_x,
> "set-conversion-error-behavior!",
I'm wondering whether this should be a per-port (eventually,
per-transcoder) setting. What's your opinion?
Thanks,
Ludo'.
- Re: [Guile-commits] GNU Guile branch, string_abstraction2, updated. fc50695e8d6a5cc0cebc3a8fcd0833ec1ff316a2,
Ludovic Courtès <=