[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
minor cleanups
From: |
Eric Blake |
Subject: |
minor cleanups |
Date: |
Fri, 15 Aug 2008 23:12:20 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Three patches for branch-1.4. One borrowed shamelessly from coreutils [1].
The next I noticed the first from one of Tom Christensen's logs in response to
testing 1.4.11 snapshots (doesn't affect branch-1.6). Finally, doc cleanups
noticed from comparing the manual with branch-1.6.
[1] http://lists.gnu.org/archive/html/bug-coreutils/2008-08/msg00060.html
>From 4e263cf79a9785c62831de04cb951b47698daae5 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Fri, 15 Aug 2008 16:40:52 -0600
Subject: [PATCH] Improve 'git diff' of manual source.
* .gitattributes (*.texi*): Add diff attribute.
* bootstrap: Tell git how to use it.
Inspired by Jim Meyering's similar patch for coreutils.
Signed-off-by: Eric Blake <address@hidden>
---
.gitattributes | 3 +++
ChangeLog | 7 +++++++
bootstrap | 8 +++++++-
3 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/.gitattributes b/.gitattributes
index e8495d5..68d2d12 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,4 @@
+# See ./bootstrap for some helpful ~/.gitconfig or .git/config settings
+# needed for using these attributes effectively.
ChangeLog merge=merge-changelog
+*.texi* diff=texinfo
diff --git a/ChangeLog b/ChangeLog
index 431d637..7ca8027 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-08-15 Eric Blake <address@hidden>
+
+ Improve 'git diff' of manual source.
+ * .gitattributes (*.texi*): Add diff attribute.
+ * bootstrap: Tell git how to use it.
+ Inspired by Jim Meyering's similar patch for coreutils.
+
2008-08-11 Eric Blake <address@hidden>
Avoid triggering OS/2 bug in testsuite.
diff --git a/bootstrap b/bootstrap
index 064e23f..4816972 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
#! /bin/sh
-# bootstrap (GNU M4) version 2008-03-25
+# bootstrap (GNU M4) version 2008-08-15
# Written by Gary V. Vaughan <address@hidden>
# Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation,
@@ -242,6 +242,12 @@ if test -d .git && (git --version) >/dev/null
2>/dev/null ; then
else
func_echo "consider installing git-merge-changelog from gnulib"
fi
+ if git config diff.texinfo.funcname >/dev/null ; then
+ :
+ else
+ func_echo "initializing git texinfo diff driver"
+ git config diff.texinfo.funcname 'address@hidden \t][ \t]*\\([^,][^,]*\\)'
+ fi
fi
## ---------------------------- ##
--
1.5.6.4
>From 949dc46078ba05c58a73b16bb2cca7b4a014c796 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Fri, 15 Aug 2008 15:35:32 -0600
Subject: [PATCH] Avoid compiler warning.
* src/builtin.c (m4_ifelse): Avoid unused variable.
* THANKS: Update.
Reported by Tom G. Christensen.
Signed-off-by: Eric Blake <address@hidden>
---
ChangeLog | 5 +++++
THANKS | 1 +
src/builtin.c | 7 +++----
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7ca8027..cc92fcf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2008-08-15 Eric Blake <address@hidden>
+ Avoid compiler warning.
+ * src/builtin.c (m4_ifelse): Avoid unused variable.
+ * THANKS: Update.
+ Reported by Tom G. Christensen.
+
Improve 'git diff' of manual source.
* .gitattributes (*.texi*): Add diff attribute.
* bootstrap: Tell git how to use it.
diff --git a/THANKS b/THANKS
index 6a048b9..45cad18 100644
--- a/THANKS
+++ b/THANKS
diff --git a/src/builtin.c b/src/builtin.c
index c38ed5f..450b725 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -646,18 +646,17 @@ static void
m4_ifelse (struct obstack *obs, int argc, token_data **argv)
{
const char *result;
- token_data *argv0;
+ token_data *me = argv[0];
if (argc == 2)
return;
- if (bad_argc (argv[0], argc, 4, -1))
+ if (bad_argc (me, argc, 4, -1))
return;
else
/* Diagnose excess arguments if 5, 8, 11, etc., actual arguments. */
- bad_argc (argv[0], (argc + 2) % 3, -1, 1);
+ bad_argc (me, (argc + 2) % 3, -1, 1);
- argv0 = argv[0];
argv++;
argc--;
--
1.5.6.4
>From e100e4e2146fe6baa1d10c7fa2321987fa2bf9c5 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Fri, 15 Aug 2008 16:24:01 -0600
Subject: [PATCH] Documentation updates.
* doc/m4.texinfo (History): Mention 1.4.12.
(Builtin): Enhance regression tests.
(Debug Levels): Mention effect of -l. Enhance regression tests.
(Incompatibilities): Fix typo, and mention trace output.
(Improved capitalize): Simplify example.
Signed-off-by: Eric Blake <address@hidden>
---
ChangeLog | 7 +++++
doc/m4.texinfo | 68 ++++++++++++++++++++++++++++++++++++++++++-------------
2 files changed, 59 insertions(+), 16 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index cc92fcf..758e610 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2008-08-15 Eric Blake <address@hidden>
+ Documentation updates.
+ * doc/m4.texinfo (History): Mention 1.4.12.
+ (Builtin): Enhance regression tests.
+ (Debug Levels): Mention effect of -l. Enhance regression tests.
+ (Incompatibilities): Fix typo, and mention trace output.
+ (Improved capitalize): Simplify example.
+
Avoid compiler warning.
* src/builtin.c (m4_ifelse): Avoid unused variable.
* THANKS: Update.
diff --git a/doc/m4.texinfo b/doc/m4.texinfo
index 1166ff8..d232c36 100644
--- a/doc/m4.texinfo
+++ b/doc/m4.texinfo
@@ -392,9 +392,9 @@ History
2005, Gary V. Vaughan collected together the many patches to
@acronym{GNU} @code{m4} 1.4 that were floating around the net and
released 1.4.3 and 1.4.4. And in 2006, Eric Blake joined the team and
-prepared patches for the release of 1.4.5, 1.4.6, 1.4.7, and 1.4.8. The
-1.4.x series remains open for bug fixes, including releases 1.4.9,
-1.4.10, and 1.4.11 in 2007.
+prepared patches for the release of 1.4.5, 1.4.6, 1.4.7, and 1.4.8.
+More bug fixes were incorporated in 2007, with releases 1.4.9 and
+1.4.10, closing the series with 1.4.11 and 1.4.12 in 2008.
Meanwhile, development has continued on new features for @code{m4}, such
as dynamic module loading and additional builtins. When complete,
@@ -2530,6 +2530,14 @@ Builtin
builtin(`builtin',)
@error{}m4:stdin:4: undefined builtin `'
@result{}
+builtin(`builtin', ``'
+')
address@hidden:stdin:5: undefined builtin ``'
address@hidden'
address@hidden
+indir(`index')
address@hidden:stdin:7: Warning: too few arguments to builtin `index'
address@hidden
@end example
@ignore
@@ -3598,7 +3606,8 @@ Trace
@end example
@xref{Debug Levels}, for information on controlling the details of the
-display.
+display. The format of the trace output is not specified by
address@hidden, and varies between implementations of @code{m4}.
@ignore
@comment not worth including in the manual, but this tests a trace code
@@ -3639,7 +3648,8 @@ Debug Levels
In trace output, show the actual arguments that were collected before
invoking the macro. This applies to all macro calls if the @samp{t}
flag is used, otherwise only the macros covered by calls of
address@hidden
address@hidden Arguments are subject to length truncation specified by
+the command line option @option{--arglength} (or @option{-l}).
@item c
In trace output, show several trace lines for each macro call. A line
@@ -3650,7 +3660,9 @@ Debug Levels
@item e
In trace output, show the expansion of each macro call, if it is not
void. This applies to all macro calls if the @samp{t} flag is used,
-otherwise only the macros covered by calls of @code{traceon}.
+otherwise only the macros covered by calls of @code{traceon}. The
+expansion is subject to length truncation specified by the command line
+option @option{--arglength} (or @option{-l}).
@item f
In debug and trace output, include the name of the current input file in
@@ -4124,6 +4136,13 @@ Changequote
@error{}m4:stdin:2: ERROR: end of file in string
@end example
address@hidden status: 1
address@hidden
+ifelse(`dangling quote
+^D
address@hidden:stdin:1: ERROR: end of file in string
address@hidden example
+
@node Changecom
@section Changing the comment delimiters
@@ -6753,6 +6772,22 @@ Using frozen files
@c Make sure freezing is successful.
address@hidden
+ifdef(`__unix__', ,
+ `errprint(` skipping: syscmd does not have unix semantics
+')m4exit(`77')')dnl
+changequote(`[', `]')dnl
+syscmd([echo 'changequote([,])pushdef([divnum],[hi])dnl' \
+ | ]__program__[ -F in.m4f \
+ && echo 'divnum popdef([divnum])divnum' \
+ | ]__program__[ -R in.m4f \
+ && rm in.m4f])status sysval
address@hidden 0
address@hidden 0
address@hidden example
+
address@hidden Detect inability to freeze.
+
@comment options: -F /none/such
@comment status: 1
@example
@@ -7015,7 +7050,7 @@ Incompatibilities
@acronym{POSIX} requires @code{m4wrap} (@pxref{M4wrap}) to act in FIFO
(first-in, first-out) order, but @acronym{GNU} @code{m4} currently uses
LIFO order. Furthermore, @acronym{POSIX} states that only the first
-argument to @code{m4wrap} is saved for later evaluation, bug
+argument to @code{m4wrap} is saved for later evaluation, but
@acronym{GNU} @code{m4} saves and processes all arguments, with output
separated by spaces.
@@ -7100,6 +7135,13 @@ Incompatibilities
the command line or @code{traceon(`foo')} in the input, is an attribute
that is preserved even if the macro is currently undefined.
+Additionally, while @acronym{POSIX} requires trace output, it makes no
+demands on the formatting of that output. Parsing trace output is not
+guaranteed to be reliable, even between different releases of
address@hidden M4; however, the intent is that any future changes in
+trace output will only occur under the direction of additional
address@hidden flags (@pxref{Debug Levels}).
+
@item
@acronym{POSIX} requires @code{eval} (@pxref{Eval}) to treat all
operators with the same precedence as address@hidden However, earlier
versions of
@@ -7279,7 +7321,7 @@ Improved forloop
@comment examples
@example
-$ @kbd{m4 -I examples}
+$ @kbd{m4 -d -I examples}
undivert(`forloop2.m4')dnl
@result{}divert(`-1')
@result{}# forloop(var, from, to, stmt) - improved version:
@@ -7960,14 +8002,8 @@ Improved capitalize
define(`Active', `Act2, Ive')dnl
define(`ACTIVE', `ACT3, IVE')dnl
define(`A', `OOPS')dnl
-capitalize(active)
address@hidden,Ive
-capitalize(`active')
address@hidden, Ive
-capitalize(``active'')
address@hidden
-capitalize(```actIVE''')
address@hidden'
+capitalize(active; `active'; ``active''; ```actIVE''')
address@hidden,Ive; Act2, Ive; Active; `Active'
undivert(`capitalize2.m4')dnl
@result{}divert(`-1')
@result{}# upcase(text)
--
1.5.6.4
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- minor cleanups,
Eric Blake <=