[PATCH v1 02/36] Guile extension language: doc additions

Eli Zaretskii eliz@gnu.org
Sun Jan 19 18:10:00 GMT 2014


> Date: Sun, 19 Jan 2014 09:53:21 -0800
> From: Doug Evans <xdje42@gmail.com>
> Cc: Ludovic Courtès <ludo@gnu.org>, 
> 	"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
> 
> >   For C-like languages, a value is a string if it is a pointer to or an
> >   array of characters or ints of type @code{wchar_t}, @code{char16_t},
> >   or @code{char32_t}.  For other languages ... [say here how string
> >   values are distinguished in other languages].  If the string is
> >   terminated by a zero of the appropriate width, it will be converted up
> >   to that zero.  For strings that are not zero-terminated (which
> >   includes strings in non C-like languages), you must specify the length
> >   for conversion.
> 
> Even in C-like languages the user may wish to specify a length.
> 
> E.g., C++ strings have a length, but it's up to the library to specify how it's
> recorded.  Plus C++ programs can have multiple string implementations
> (not just std::string).  Not always ideal, but an app may have a specific
> performance issue for a specific part of it and thus provides its own
> string implementation for that part.  Thus in this (important) case there
> is no text I can provide here to answer the question you are asking.
> 
> Plus there's a maintenance issue of describing how each language
> defines a string.  We don't want to have to update this part for each
> new language.

Fair enough.  How about the following variant, which is entirely
agnostic to the language?

  Values are interpreted as strings according to the rules of the
  current language.  If the optional length argument is given, the
  string will be converted to that length.  Otherwise, for languages
  where the string is zero-terminated, the entire string will be
  converted.

If you want to say something about C-like languages, we can have a
"for example" sentence after the 1st one.  Something like

  For example, in C-like languages, a value is a string if it is a
  pointer to, or an array of, characters or ints of type ...

> Please can I keep the current text?

If you think it is better than what I suggested above.



More information about the Gdb-patches mailing list