bug-texinfo
[Top][All Lists]
Advanced

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

Re: [bug #43122] texi2dvi does not compile enough times to get toc


From: Vincent Belaïche
Subject: Re: [bug #43122] texi2dvi does not compile enough times to get toc
Date: Wed, 16 Sep 2015 00:05:17 +0200



Le 15/09/2015 23:29, Gavin Smith a écrit :
> On 15 September 2015 at 18:15, Vincent Belaïche
> <address@hidden> wrote:
>> No, these lines are bogous because
>>
>>     $EGREP -iv 'cygwin|mingw|djgpp'
>>
>> will always fail. As a result path_sep is always set to `:'.
>>
>> ORing is done with \| no | for egrep, | is used by grep. See info nodes
>> `(grep) Fundamental Structure' for grep, and `(grep) Basic vs Extended'.
>
> I believe you have it completely back-to-front:
>

Sorry, that happens to do such things, I confess mea culpa maxima, but
you will see why and maybe forgive me...

> 3.6 Basic vs Extended Regular Expressions
> =========================================
>
> In basic regular expressions the meta-characters `?', `+', `{', `|',
> `(', and `)' lose their special meaning; instead use the backslashed
> versions `\?', `\+', `\{', `\|', `\(', and `\)'.
>
> egrep uses the extended versions, grep the basic version.

Let us be pragmatical, in fact I must admit that I did some test like
that:

$ if echo -n mingw | egrep -iv 'cygwin|mingw|djgpp' >/dev/null; then echo ";;; 
OK ;;;;;"; else echo ":: failed ::"; fi
:: failed ::

I saw that it failed, and then I infered --- too quickly --- that the
meaning of the documentation was misunderstood.

However, if I just did this:

if echo -n gavin | egrep -iv 'cygwin|mingw|djgpp' >/dev/null; then echo ";;; OK 
;;;;;"; else echo ":: failed ::"; fi
;;; OK ;;;;;

Funny! You are getting path_sep = ; under Linux (admitting that gavin is
some famous linux kernel) ! So I would not be surprised that texi2dvi
would fail in some special cases (like the .t2d directory not in a
subdirectory)

In fact info node `(grep) Exit Status' tells that the exit status is 0
if a line is selected. As the -v option means that invert match (select
other lines), so when uname contains mingw, there is one match, so no
other line is matched, so exit status is 1, so we go to else
branch. When uname is gavin, no line is match, so other line (ie gaving)
is selected, so exit status is 0 and we go to then branch.


   Vincent



---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel 
antivirus Avast.
http://www.avast.com




reply via email to

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