From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: need: scm_from_{utf8,latin1}_{string,symbol,keyword} Date: Wed, 08 Sep 2010 14:11:25 +0200 Message-ID: <87aanso2oi.fsf@gnu.org> References: <877hiy3iwn.fsf@gnu.org> <231469.37791.qm@web37905.mail.mud.yahoo.com> <87zkvtv5qc.fsf@gnu.org> <124542.89753.qm@web37904.mail.mud.yahoo.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1283947906 9686 80.91.229.12 (8 Sep 2010 12:11:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 8 Sep 2010 12:11:46 +0000 (UTC) Cc: guile-devel@gnu.org To: Mike Gran Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Sep 08 14:11:44 2010 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OtJV4-0003sf-AG for guile-devel@m.gmane.org; Wed, 08 Sep 2010 14:11:41 +0200 Original-Received: from localhost ([127.0.0.1]:51180 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OtJUy-0006X4-Kd for guile-devel@m.gmane.org; Wed, 08 Sep 2010 08:11:32 -0400 Original-Received: from [140.186.70.92] (port=50709 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OtJUu-0006Wg-UM for guile-devel@gnu.org; Wed, 08 Sep 2010 08:11:30 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OtJUt-0008IY-HM for guile-devel@gnu.org; Wed, 08 Sep 2010 08:11:28 -0400 Original-Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:12875) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OtJUt-0008IH-Ct for guile-devel@gnu.org; Wed, 08 Sep 2010 08:11:27 -0400 X-IronPort-AV: E=Sophos;i="4.56,334,1280700000"; d="scan'208";a="58812859" Original-Received: from laptop-147-210-128-193.labri.fr (HELO nixey) ([147.210.128.193]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-SHA; 08 Sep 2010 14:11:26 +0200 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 Fructidor an 218 de la =?iso-8859-1?Q?R=E9volutio?= =?iso-8859-1?Q?n?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu In-Reply-To: <124542.89753.qm@web37904.mail.mud.yahoo.com> (Mike Gran's message of "Tue, 7 Sep 2010 20:26:06 -0700 (PDT)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:10893 Archived-At: Hi Mike, Mike Gran writes: >> From: Ludovic Court=C3=A8s > >> >> Besides, there=E2=80=99s the undocumented =E2=80=98scm_from_stringn= =E2=80=99 and the internal >> >> =E2=80=98scm_to_stringn=E2=80=99, which can convert from/to any enco= ding. I think they >> >> were initially kept internal because we weren=E2=80=99t quite sure a= bout the >> >> API. Mike? >> > >> > Also, I think we were trying to avoid compilation problems based on=20 >> > having to expose the libunistring's enum iconv_ilseq_handle to the wo= rld. >> > But later, we ended up creating the analogous >> > scm_t_string_failed_conversion_handler type to work around that prob= lem. >>=20 >> Right. So I guess they can now be made public & documented. Would you >> like to do it? :-) > > Perhaps something like the attached? Yes, excellent! > +@deftp {C type} scm_t_string_failed_conversion_handler Should be =E2=80=9CC Type=E2=80=9D... [...] > +@deftypefn {C function} char *scm_to_stringn (SCM str, size_t *lenp, con= st char *encoding, scm_t_string_failed_conversion_handler handler) ... and =E2=80=9CC Function=E2=80=9D. > +Returns a newly allocated C string from the Guile string @var{str}. The Should be =E2=80=9CReturn=E2=80=9D. [...] > +/* Macros */ > +#define scm_to_iso88591_stringn(s,lenp) \ > + scm_to_stringn ((s), (lenp), NULL, SCM_FAILED_CONVERSION_ERROR) > +#define scm_from_iso88591_stringn(s,len) \ > + scm_from_stringn ((s), (len), NULL, SCM_FAILED_CONVERSION_ERROR) Please make them functions so that the implementation can eventually be changed without breaking the ABI. Apart from that, if Andy agrees, you can go ahead and push. Thanks! Ludo=E2=80=99.