guile-devel
[Top][All Lists]
Advanced

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




reply via email to

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