octave-maintainers
[Top][All Lists]
Advanced

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

Re: Minimum Texinfo version for creating the documentation


From: Rik
Subject: Re: Minimum Texinfo version for creating the documentation
Date: Thu, 4 Jan 2018 22:03:08 -0800

On 01/04/2018 01:33 PM, address@hidden wrote:
Subject:
Re: Minimum Texinfo version for creating the documentation
From:
Daniel J Sebald <address@hidden>
Date:
01/04/2018 01:26 PM
To:
Mike Miller <address@hidden>, address@hidden
List-Post:
<mailto:address@hidden>
Content-Transfer-Encoding:
7bit
Precedence:
list
MIME-Version:
1.0
References:
<address@hidden> <address@hidden>
In-Reply-To:
<address@hidden>
Message-ID:
<address@hidden>
Content-Type:
text/plain; charset=utf-8; format=flowed
Message:
7

On 01/04/2018 01:48 PM, Mike Miller wrote:
On Thu, Jan 04, 2018 at 09:26:16 -0800, Rik wrote:
Currently the minimum Texinfo version required for creating the Octave
manual is something ancient like 4.13.  Recent changesets use features from
5.0 (Feb. 2013) and 6.1 (Feb. 2016).  These really improve the appearance
of the manual, but aren't necessarily available on ancient systems.  Given
that Octave creates the manual and distributes it in the tarball, is it
okay to bump up the required Texinfo to 6.1?  Developers on older systems
can use '--disable-docs' to concentrate on just the Octave core, or they
can compile and install newer versions of Texinfo.

It would be helpful to continue to support Texinfo 5.2 at a minimum for
now (Debian 8.0 and Ubuntu 14.04).

The easiest thing would be to put conditional statements around the command that controls the code

@ifWISHTHEREWEREVERSIONING
@codequoteundirected on
@end

and to define sortas() to be nothing

@ifWISHTHEREWEREVERSIONING
@macro sortas{param1}
@end macro
@end

https://www.gnu.org/software/texinfo/manual/texinfo/html_node/_0040ifset-_0040ifclear.html#g_t_0040ifset-_0040ifclear

https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Defining-Macros.html#Defining-Macros

and those using old Texinfo will simply lose out.  Unfortunately there doesn't seem to be a means of getting the Texinfo version internal to Texinfo itself (I was unfamiliar with Texinfo up until a week ago).

So, we could somehow create and inject some definitions into the Texinfo configuration at the "configure" stage.  That is, we can get version from

"
linux@ ~ $ texi2dvi --version
texi2dvi (GNU Texinfo 6.1) 6991

Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
"

and based on the version number somehow add

@set NO_SORTAS_SUPPORT
@set HAVE_CODEQUOTEUNDIRECTED

to one of the Texinfo files.  (Should be an easy thing to append to the end of some file via some shell script like "cat".)

Then if in the Texinfo macro file we condition with

@ifset HAVE_CODEQUOTEUNDIRECTED
@codequoteundirected on
@end

@ifset NO_SORTAS_SUPPORT
@macro sortas{param1}
@end macro
@end

that should be it.

Dan

Could certainly do this, but does it make sense that the Octave manual should appear differently from computer to computer?  While each computer might have different libraries installed and different features available, the Octave manual covers everything.  Imagine if Moby Dick started with "Call me Ishmael" in the U.S., but "Call me George" in the U.K.  It doesn't seem desirable to have that kind of variation.

But, maybe the answer is already in texinfo.tex as Mike suggests.  I did 'make dist-gzip' and then looked inside the resulting archive and there was definitely a texinfo.tex which included the sortas macro.

--Rik



reply via email to

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