emacs-devel
[Top][All Lists]
Advanced

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

RE: Patch to allow texi2any for EMACS manual compilation


From: Vincent Belaïche
Subject: RE: Patch to allow texi2any for EMACS manual compilation
Date: Tue, 23 Sep 2014 22:54:06 +0200

Answers below...

----------------------------------------
> From: address@hidden
> To: address@hidden
> Subject: Re: Patch to allow texi2any for EMACS manual compilation
> Date: Mon, 22 Sep 2014 20:59:48 +0200
> CC: address@hidden; address@hidden; address@hidden; address@hidden
>
> Vincent Belaïche <address@hidden> writes:
>
> > === modified file 'configure.ac'
> > --- configure.ac 2014-09-15 00:20:21 +0000
> > +++ configure.ac 2014-09-22 17:36:48 +0000
> > @@ -1099,16 +1099,25 @@
> >
> > ## Need makeinfo >= 4.7 (?) to build the manuals.
> > if test "$MAKEINFO" != "no"; then
> > - if test "$MAKEINFO" = "${am_missing_run}makeinfo"; then
> > - MAKEINFO=makeinfo
> > + for MAKEINFO_IMPLEMENTATION in makeinfo texi2any; do
> > + if test "$MAKEINFO" = "${am_missing_run}${MAKEINFO_IMPLEMENTATION}"; then
> > + MAKEINFO=${MAKEINFO_IMPLEMENTATION}
> > + fi
> > + done
> > + MAKEINFO_VERSION=`($MAKEINFO --version) 2>/dev/null`;
> > + MAKEINFO_CHECK=no;
> > + for MAKEINFO_IMPLEMENTATION in makeinfo texi2any; do
> > + case $MAKEINFO_VERSION in
> > + "$MAKEINFO_IMPLEMENTATION (GNU texinfo) "4.[7-9]* | \
> > + "$MAKEINFO_IMPLEMENTATION (GNU texinfo) "4.[1-9][0-9]* | \
> > + "$MAKEINFO_IMPLEMENTATION (GNU texinfo) "[5-9]* | \
> > + "$MAKEINFO_IMPLEMENTATION (GNU texinfo) "[1-9][0-9]* )
> > + MAKEINFO_CHECK=yes;;
> > + esac
> > + done
> > + if [ $MAKEINFO_CHECK != yes ]; then
> > + MAKEINFO=no;
> > fi
> > - case `($MAKEINFO --version) 2>/dev/null` in
> > - 'makeinfo (GNU texinfo) '4.[[7-9]]* | \
> > - 'makeinfo (GNU texinfo) '4.[[1-9][0-9]]* | \
> > - 'makeinfo (GNU texinfo) '[[5-9]]* | \
> > - 'makeinfo (GNU texinfo) '[[1-9][0-9]]* ) ;;
>
> Why can't you just replace it with a wildcard? What's the point in
> matching the exact program name?
>

There is a version number checking. So we rely on the fact that texi2any
and makeinfo have both:

- consistent version numbers: C based makeinfo version does not go
  beyond 4.99 (AFAIK last version is 4.13), while texi2any starts at 5.0

- consistent command line, texi2any command line is a superset of that
  makeinfo.

Now, yes it would be possible to use a wildecard, given that it is quite
unlikely than there are other alternative to makeinfo than texi2any.

To make it slightly more restictive, wildcard could be ???????? instead
of * because makeinfo & texi2any both have 8 letters.

BTW, when I did the patch I initially thought that my problem was with
using a fake makeinfo that is indeed a skin of texi2any. But it came out
that this was not the only issue.  Current configure.ac uses that sort
of wildcard:

   [[7-9]]

with [...] encapsulation around `[7-9]'. This does not work for me and I
did not found any such thing in the manual:

http://www.gnu.org/software/bash/manual/bashref.html#pattern-matching

so I removed also that encapsulation as in the attached patch.

=== modified file 'configure.ac'
--- configure.ac        2014-09-15 00:20:21 +0000
+++ configure.ac        2014-09-23 20:42:43 +0000
@@ -1103,10 +1103,11 @@
     MAKEINFO=makeinfo
   fi
   case `($MAKEINFO --version) 2>/dev/null` in
-    'makeinfo (GNU texinfo) '4.[[7-9]]* | \
-    'makeinfo (GNU texinfo) '4.[[1-9][0-9]]* | \
-    'makeinfo (GNU texinfo) '[[5-9]]* | \
-    'makeinfo (GNU texinfo) '[[1-9][0-9]]* ) ;;
+  # ???????? matches both makeinfo & texi2any
+    ????????' (GNU texinfo) '4.[7-9]* | \
+    ????????' (GNU texinfo) '4.[1-9][0-9]* | \
+    ????????' (GNU texinfo) '[5-9]* | \
+    ????????' (GNU texinfo) '[1-9][0-9]* ) ;;
     *) MAKEINFO=no;;
   esac
 fi

If people agree with this patch I can do the change.

VBR,

   Vincent.

> Andreas.
>
> --
> Andreas Schwab, address@hidden
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
>

reply via email to

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