From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18833 invoked by alias); 18 Jan 2014 21:57:31 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 18820 invoked by uid 89); 18 Jan 2014 21:57:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wi0-f171.google.com Received: from mail-wi0-f171.google.com (HELO mail-wi0-f171.google.com) (209.85.212.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sat, 18 Jan 2014 21:57:29 +0000 Received: by mail-wi0-f171.google.com with SMTP id cc10so2007434wib.10 for ; Sat, 18 Jan 2014 13:57:26 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.180.19.165 with SMTP id g5mr3804122wie.31.1390082246695; Sat, 18 Jan 2014 13:57:26 -0800 (PST) Received: by 10.194.17.104 with HTTP; Sat, 18 Jan 2014 13:57:26 -0800 (PST) In-Reply-To: <8761phqaws.fsf@gnu.org> References: <52b9da59.64ab440a.0b0b.7e1c@mx.google.com> <83ha9w68av.fsf@gnu.org> <87sit4kb1t.fsf@gnu.org> <8761phqaws.fsf@gnu.org> Date: Sat, 18 Jan 2014 21:57:00 -0000 Message-ID: Subject: Re: [PATCH v1 02/36] Guile extension language: doc additions From: Doug Evans To: =?ISO-8859-1?Q?Ludovic_Court=E8s?= Cc: Eli Zaretskii , "gdb-patches@sourceware.org" Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2014-01/txt/msg00707.txt.bz2 On Sat, Jan 18, 2014 at 12:42 PM, Ludovic Court=E8s wrote: > Doug Evans skribis: > >> On Fri, Jan 3, 2014 at 1:30 PM, Ludovic Court=E8s wrote: >>>>> +The optional @var{errors} argument is either @code{"strict"} >>>>> +or @code{"replace"}. A value of @code{"strict"} corresponds to >>>>> +Guile's @code{SCM_FAILED_CONVERSION_ERROR} and a value of @code{"rep= lace"} >>>>> +corresponds to Guile's @code{SCM_FAILED_CONVERSION_QUESTION_MARK}. >>>> >>>> Suggest a cross-reference to Guile documentation here. >>> >>> Agreed. Also, Guile talks of =93conversion strategy=94 and =93conversi= on >>> error handler=94, with values =91error=92, =91substitute=92, and =91esc= ape=92 (at the >>> Scheme level), and I=92d recommend sticking to those names and terminol= ogy. >> >> The values chosen were to be consistent with the python support. >> OTOH I *do* like being more consistent with the particular extension >> language at hand. >> I've tentatively changes things to use "error" and "substitute". >> Question: How about exporting the SCM_FAILED_CONVERSION_* constants >> and using those instead? >> >> E.g, (value->string foo #:errors SCM_FAILED_CONVERSION_ERROR) ? > > I=92d rather use a symbol: Yeah, I thought of that, but the encoding is a string, so it'd be "#:encoding string #:errors symbol". I don't have a strong preference, but using a symbol here while feeling Schemey feels too weird. It's not a strong preference though. [I do have a strong preference that the encoding not be a symbol, not all encodings could be valid Scheme symbols. OTOH, support could be added for both strings and symbols for both #:encoding and #:errors in a later patch if a compelling case for it was presented.] > (value->string foo #:conversion-strategy 'error) > > So that has to be converted in C but I think that=92s OK. #:conversion-strategy is more to type than #:errors but I'm happy to change it if you want. Though this is a case where I would not want to support both #:conversion-strategy and #:errors so whatever we pick is it. We can create a 'error symbol at start up and just use scm_eq so the comparison is easy enough. > (I just noticed that Guile=92s =91pointer->string=92, which is similar, l= acks > this argument.)