bug-texinfo
[Top][All Lists]
Advanced

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

Re: Fwd: [PATCH] different approach to --split html


From: Eli Zaretskii
Subject: Re: Fwd: [PATCH] different approach to --split html
Date: Wed, 8 Nov 2000 13:52:26 +0200 (IST)

On 8 Nov 2000 address@hidden wrote:

> It seems that Karl is not very on-line, I haven't yet had a response
> from him

They have elections and other public holidays in the US, so I wouldn't be 
surprised.  Posting here is The Right Thing, anyway...

> Have you by chance taken over texinfo maintenance?

No.

> Therefore, I've looked at html splitting for makeinfo, and found that
> quite some code was already in place.

It is incomplete and buggy.  Its development was stopped halfway through 
the pretest of Texinfo 4.0, so all the latest changes added since then 
made it very broken.

> I decided to take a quick look at a more simplistic approach: mapping
> nodenames to filenames, simply by substituting or removing unwanted
> characters.

This is probably what we would like to do.  However, for this approach to 
work well, you need to solve the problem of several different documents 
which have nodes with identical names.  A typical example is "Running" or 
"Index", which you can find in almost every GNU manual.

Therefore, it will probably be necessary to put each document's parts 
into a special directory, while leaving the file with master menu in the 
common directory.

There's also a problem with cross-references from other HTML documents: 
when makeinfo generates HTML output of a document which contains 
references to other documents, it cannot possibly know whether those 
other documents are split or not.  So it doesn't know whether to 
generate a link which will work with a split file or one which will work 
with an unsplit file.  This issue needs to be solved somehow, presumably 
with a command-line option that places the responsibility on the user.

> The patch has some rough edges, eg, you can't link to anchors within
> other nodes.

Can you explain what exactly is this limitation, and why?

> +      if (strchr (" !#$%&'", *p)
> +       || (int)*p < 32 || (int)*p > 127)
> +     *p = '-';
> +      else if (strchr ("()", *p))
> +     memmove (p, p+1, strlen (p));

The list of the characters we want to replace should be longer.  For 
example, DOS/Windows systems don't allow qoutes and wildcard and 
redirection characters in file names, so "\"*?<|>" should also be 
replaced.  Slashes and backslashes should also be replaced, otherwise you 
will have grave problems.

In fact, I'd suggest to leave alone only the Posix characters 
[-0-9a-zA-Z_.] and replace all the others.

Btw, how does the index work with the split files?  I didn't see anything 
in your patches that would handle this; did I miss something?



reply via email to

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