help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: utf8 does not appear to work for function documentation strings gene


From: Mike Miller
Subject: Re: utf8 does not appear to work for function documentation strings generated with texinfo
Date: Wed, 26 Mar 2014 14:03:59 -0400

On Wed, Mar 26, 2014 at 09:32:11 -0700, Alan W. Irwin wrote:
> Do you get untruncated help results with this simple example there for
> your version of octave or is there some problem with how this simple
> example is implemented?

I get the same as you, and with some simple use of Octave's debugger
you can easily tell that this is Octave's fault, not a Texinfo
problem. By using dbstop and dbnext you can step through the help
function to find where the text is transformed incorrectly.

  dbstop help
  help test_utf8
  dbstep
  dbstep
  ... ## step until get_help_text is called
  text
  dbstep
  ...

In the __makeinfo__ function, the texinfo string is written to a
temporary file which is passed to the makeinfo program, see

  
http://hg.savannah.gnu.org/hgweb/octave/file/75467145096f/scripts/help/__makeinfo__.m#l120

In writing to this file, it looks like all non-ASCII bytes are set to
zero by Octave. This is then sent to makeinfo, and that's why the
string is truncated at that point when it is printed by the help
command, because the first zero is seen as a null string terminator.

Feel free to report this as a bug, but this shows that the underlying
cause is the behavior of fwrite with a char matrix argument. And note
that Octave does not natively support wide characters in the "char"
type yet, so there may not be a nice way to get this working until
full wide character support is added.

HTH,

-- 
mike



reply via email to

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