+2008-11-04 Akim Demaille <demaille@gostai.com>
+
+ Fix output of copyright years.
+ * data/bison.m4 (b4_copyright): Fix the indentation of the
+ copyright year paragraph.
+ Use b4_copyright_years when no years are given.
+ * data/lalr1.cc, data/lalr1-fusion.cc, data/location.cc
+ (b4_copyright_years): New.
+ Use it.
+
2008-11-04 Akim Demaille <demaille@gostai.com>
Avoid the spurious initial empty line.
## Identification. ##
## ---------------- ##
-# b4_copyright(TITLE, YEARS)
-# --------------------------
+# b4_copyright(TITLE, [YEARS])
+# ----------------------------
+# If YEARS are not defined, use b4_copyright_years.
m4_define([b4_copyright],
[b4_comment([A Bison parser, made by GNU Bison b4_version.])
b4_comment([$1
-m4_text_wrap([Copyright (C) $2 Free Software Foundation, Inc.], [ ])
+]m4_dquote(m4_text_wrap([Copyright (C)
+]m4_ifval([$2], [[$2]], [m4_defn([b4_copyright_years])])[
+Free Software Foundation, Inc.]))[
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
])
+m4_pushdef([b4_copyright_years],
+ [2002, 2003, 2004, 2005, 2006, 2007, 2008])
+
m4_define([b4_parser_class_name],
[b4_percent_define_get([[parser_class_name]])])
m4_divert_push(0)dnl
b4_defines_if(
[@output(b4_spec_defines_file@)@
-b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++],
- [2002, 2003, 2004, 2005, 2006, 2007, 2008])
+b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++])
dnl FIXME: This is wrong, we want computed header guards.
[
/* C++ LALR(1) parser skeleton written by Akim Demaille. */
[#endif /* ! defined PARSER_HEADER_H */]
])dnl
@output(b4_parser_file_name@)@
-b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++],
- [2002, 2003, 2004, 2005, 2006, 2007, 2008])
+b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++])
b4_percent_code_get([[top]])[]dnl
m4_if(b4_prefix, [yy], [],
[
]b4_epilogue
dnl
@output(b4_dir_prefix[]stack.hh@)@
-b4_copyright([Stack handling for Bison parsers in C++],
- [2002, 2003, 2004, 2005, 2006, 2007, 2008])[
+b4_copyright([Stack handling for Bison parsers in C++])[
#ifndef BISON_STACK_HH
# define BISON_STACK_HH
#endif // not BISON_STACK_HH[]dnl
]
m4_divert_pop(0)
+m4_popdef([b4_copyright_years])dnl
m4_include(b4_pkgdatadir/[c++.m4])
+m4_pushdef([b4_copyright_years],
+ [2002, 2003, 2004, 2005, 2006, 2007, 2008])
+
# How the semantic value is extracted when using variants.
b4_variant_if([
# b4_symbol_value(VAL, [TYPE])
m4_divert_push(0)dnl
b4_defines_if(
[@output(b4_spec_defines_file@)
-b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++],
- [2002, 2003, 2004, 2005, 2006, 2007, 2008])
+b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++])
dnl FIXME: This is wrong, we want computed header guards.
[
/* C++ LALR(1) parser skeleton written by Akim Demaille. */
[#endif /* ! defined PARSER_HEADER_H */]
])dnl
@output(b4_parser_file_name@)
-b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++],
- [2002, 2003, 2004, 2005, 2006, 2007, 2008])
+b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++])
b4_percent_code_get([[top]])[]dnl
m4_if(b4_prefix, [yy], [],
[
]b4_epilogue
dnl
@output(b4_dir_prefix[]stack.hh@)
-b4_copyright([Stack handling for Bison parsers in C++],
- [2002, 2003, 2004, 2005, 2006, 2007, 2008])[
+b4_copyright([Stack handling for Bison parsers in C++])[
#ifndef BISON_STACK_HH
# define BISON_STACK_HH
#endif // not BISON_STACK_HH[]dnl
]
m4_divert_pop(0)
+m4_popdef([b4_copyright_years])dnl
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+m4_pushdef([b4_copyright_years],
+ [2002, 2003, 2004, 2005, 2006, 2007, 2008])
+
# We do want M4 expansion after # for CPP macros.
m4_changecom()
m4_divert_push(0)dnl
@output(b4_dir_prefix[]position.hh@)@
-b4_copyright([Positions for Bison parsers in C++],
- [2002, 2003, 2004, 2005, 2006, 2008])[
+b4_copyright([Positions for Bison parsers in C++])[
/**
** \file position.hh
]b4_namespace_close[
#endif // not BISON_POSITION_HH]
@output(b4_dir_prefix[]location.hh@)@
-b4_copyright([Locations for Bison parsers in C++],
- [2002, 2003, 2004, 2005, 2006, 2008])[
+b4_copyright([Locations for Bison parsers in C++])[
/**
** \file location.hh
#endif // not BISON_LOCATION_HH]
m4_divert_pop(0)
+m4_popdef([b4_copyright_years])dnl
m4_changecom([#])