Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gpp for openSUSE:Factory checked in at 2023-10-10 20:59:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gpp (Old) and /work/SRC/openSUSE:Factory/.gpp.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpp" Tue Oct 10 20:59:44 2023 rev:4 rq:1116436 version:2.28 Changes: -------- --- /work/SRC/openSUSE:Factory/gpp/gpp.changes 2020-08-12 10:28:41.103973712 +0200 +++ /work/SRC/openSUSE:Factory/.gpp.new.28202/gpp.changes 2023-10-10 21:00:20.414169386 +0200 @@ -1,0 +2,9 @@ +Mon Oct 09 07:45:37 UTC 2023 - psychon...@nothingisreal.com + +- update to GPP 2.28 + * Fixed typos in documentation (Issues #57 and #61) + * Added #sinclude meta-macro for silent includes (Issue #63) + * requested inclusion in Leap 15.4 and 15.5; see + https://bugzilla.suse.com/show_bug.cgi?id=1108673 + +------------------------------------------------------------------- @@ -18 +27,2 @@ - * Avoided possibility of stack overflow during parsing (Issue #26) + * Avoided possibility of stack overflow during parsing (Issue #26; + CVE-2018-17076) Old: ---- gpp-2.27.tar.bz2 gpp-2.27.tar.bz2.sig New: ---- gpp-2.28.tar.bz2 gpp-2.28.tar.bz2.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gpp.spec ++++++ --- /var/tmp/diff_new_pack.DF2Fao/_old 2023-10-10 21:00:21.822220446 +0200 +++ /var/tmp/diff_new_pack.DF2Fao/_new 2023-10-10 21:00:21.822220446 +0200 @@ -2,7 +2,7 @@ # spec file for package gpp # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (c) 2017, 2020 Tristan Miller <psychon...@nothingisreal.com> +# Copyright (c) 2017-2023 Tristan Miller <psychon...@nothingisreal.com> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ Name: gpp -Version: 2.27 +Version: 2.28 Release: 0 Summary: Generic Preprocessor License: LGPL-3.0+ ++++++ gpp-2.27.tar.bz2 -> gpp-2.28.tar.bz2 ++++++ ++++ 6270 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/ChangeLog new/gpp-2.28/ChangeLog --- old/gpp-2.27/ChangeLog 2020-07-27 09:45:14.000000000 +0200 +++ new/gpp-2.28/ChangeLog 2023-09-26 15:55:25.000000000 +0200 @@ -1,3 +1,28 @@ +2023-09-26 Tristan Miller <psychon...@nothingisreal.com> + + Bump version number for new release + + Add #sinclude meta-macro. Fixes #63. + + Fix typos in documentation. Fixes #61. + +2022-06-13 Tristan Miller <psychon...@nothingisreal.com> + + Merge pull request #57 from ekarayel/master + Fix wrong link + +2022-06-13 Emin Karayel <m...@eminkarayel.de> + + Update README.md + The previous link was pointing to the paper: "Predicting the Humorousness of Tweets Using Gaussian Process Preference Learning" + The new link points to the paper mentioned in the text from the Journal of OSS. + +2020-07-29 Tristan Miller <psychon...@nothingisreal.com> + + Add CVE ID to NEWS + + Add citation for GPP + 2020-07-27 Tristan Miller <psychon...@nothingisreal.com> Bump version number for new release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/INSTALL new/gpp-2.28/INSTALL --- old/gpp-2.27/INSTALL 2020-05-30 18:11:13.000000000 +0200 +++ new/gpp-2.28/INSTALL 2023-08-12 15:24:25.000000000 +0200 @@ -1,8 +1,8 @@ Installation Instructions ************************* - Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software -Foundation, Inc. + Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free +Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -225,7 +225,7 @@ and if that doesn't work, install pre-built binaries of GCC for HP-UX. - HP-UX 'make' updates targets which have the same time stamps as their + HP-UX 'make' updates targets which have the same timestamps as their prerequisites, which makes it generally unusable when shipped generated files such as 'configure' are involved. Use GNU 'make' instead. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/NEWS new/gpp-2.28/NEWS --- old/gpp-2.27/NEWS 2020-07-27 09:43:15.000000000 +0200 +++ new/gpp-2.28/NEWS 2023-09-26 15:54:40.000000000 +0200 @@ -3,6 +3,11 @@ See the end of this file for copying conditions. +Version 2.28 + + * Fixed typos in documentation (Issues #57 and #61) + * Added #sinclude meta-macro for silent includes (Issue #63) + Version 2.27 * --help and --version now print to stdout, not stderr (Issue #47) @@ -16,7 +21,8 @@ * Various minor fixes and revisions to the documentation * Added autoconf checks for popen() and pclose() * Moved the openSUSE-specific RPM spec file to a separate repository - * Avoided possibility of stack overflow during parsing (Issue #26) + * Avoided possibility of stack overflow during parsing (Issue #26; + CVE-2018-17076) Version 2.25 @@ -131,7 +137,7 @@ Copyright information: Copyright (C) 2001 Denis Auroux. -Copyright (C) 2003, 2004 Tristan Miller. +Copyright (C) 2003-2023 Tristan Miller. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/README new/gpp-2.28/README --- old/gpp-2.27/README 2020-07-27 09:45:14.000000000 +0200 +++ new/gpp-2.28/README 2023-09-26 15:55:04.000000000 +0200 @@ -69,6 +69,14 @@ to manually generate the documentation: `gpp -H /path/to/gpp.pp` +Citing GPP +---------- + +To refer to GPP in a publication, please use the following citation: + +> Tristan Miller and Denis Auroux. [GPP, the generic preprocessor](https://dx.doi.org/10.21105/joss.02400). _[Journal of Open Source Software](https://joss.theoj.org/)_, 5(51), July 2020. ISSN 2475-9066. DOI: [10.21105/joss.02400](https://dx.doi.org/10.21105/joss.02400). + + Contributing ------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/README.md new/gpp-2.28/README.md --- old/gpp-2.27/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/gpp-2.28/README.md 2023-09-26 15:54:40.000000000 +0200 @@ -0,0 +1,88 @@ +GPP +=== + +**[GPP](https://logological.org/gpp)** is a general-purpose +preprocessor with customizable syntax, suitable for a wide range of +preprocessing tasks. Its independence from any one programming +language makes it much more versatile than the C preprocessor (cpp), +while its syntax is lighter and more flexible than that of +[GNU m4](https://www.gnu.org/software/m4/). There are built-in macros +for use with C/C++, LaTeX, HTML, XHTML, and Prolog files. + +GPP is [Free Software](https://www.gnu.org/philosophy/free-sw.html). It +is distributed under the terms of the [GNU Lesser General Public +Licence](https://www.gnu.org/copyleft/lgpl.html). + + +Obtaining GPP +------------- + +You can download portable source packages (as `.tar.bz2` files) for +the current and previous releases on +[GitHub](https://github.com/logological/gpp/releases) or +[nothingisreal.com](https://files.nothingisreal.com/software/gpp/). + +Alternatively, you can [browse, download, or clone the development +version on GitHub](https://github.com/logological/gpp/), though note +that if you do this you will need to manually set up the build system +using the GNU Autotools rather than using the end-user installation +instructions described below. + + +Installation +------------ + +To configure, build, and install from the portable source packages, +see the included `INSTALL` file. (In brief, `./configure && make && +make install` should work in most cases, provided you have `make` and +a C compiler installed.) + +For other systems, including Microsoft Windows, you may be able to +follow the `INSTALL` instructions with the help of a Unix-like +environment such as [Cygwin](http://cygwin.com/) +or [MSYS](http://www.mingw.org/wiki/msys). Failing that, copy the +file `config.h.in` to `src/config.h`. Open the file and follow the +instructions inside to modify it based on your system's capabilities. +Then use a C compiler to compile the `gpp.c` file in the `src` +subdirectory with the macro `HAVE_CONFIG_H` defined. On Microsoft +Windows systems, you may need to also define the macro `WIN_NT` if +your compiler does not already define it by default. + +Links to binary packages for various operating systems are available +on the [GPP home page](https://logological.org/gpp). + + +Documentation +------------- + +Extensive documentation, including usage examples, is included in the +portable source package and should get installed automatically as a +man page and an HTML file. The HTML version is also available online +on the [GPP home page](https://logological.org/gpp). + +Note that the documentation itself is generated by GPP using an input +file ([`gpp.pp`](doc/gpp.pp)) with macros that can automatically +produce HTML, LaTeX, or troff (man page) output. Studying this file +should prove instructive, and manually running it through GPP can +serve as a basic test of the program's functionality. Once you have +installed GPP, you can invoke it as follows to get instructions on how +to manually generate the documentation: `gpp -H /path/to/gpp.pp` + + +Citing GPP +---------- + +To refer to GPP in a publication, please use the following citation: + +> Tristan Miller and Denis Auroux. [GPP, the generic preprocessor](https://dx.doi.org/10.21105/joss.02400). _[Journal of Open Source Software](https://joss.theoj.org/)_, 5(51), July 2020. ISSN 2475-9066. DOI: [10.21105/joss.02400](https://dx.doi.org/10.21105/joss.02400). + + +Contributing +------------ + +Contributions are welcome. Please post bug reports, feature requests, +and support requests on the [issue +tracker](https://github.com/logological/gpp/issues). Feel free to +fork the project and send [pull +requests](https://help.github.com/articles/using-pull-requests/) for +integration into the main distribution. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/compile new/gpp-2.28/compile --- old/gpp-2.27/compile 2020-05-30 18:11:13.000000000 +0200 +++ new/gpp-2.28/compile 2023-08-12 15:24:25.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/config.h.in new/gpp-2.28/config.h.in --- old/gpp-2.27/config.h.in 2020-07-27 09:45:12.000000000 +0200 +++ new/gpp-2.28/config.h.in 2023-09-26 15:55:03.000000000 +0200 @@ -6,9 +6,6 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the `pclose' function. */ #undef HAVE_PCLOSE @@ -18,6 +15,9 @@ /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -69,7 +69,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Version number of package */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/configure.ac new/gpp-2.28/configure.ac --- old/gpp-2.27/configure.ac 2020-07-27 09:43:48.000000000 +0200 +++ new/gpp-2.28/configure.ac 2023-09-26 15:54:40.000000000 +0200 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) -AC_INIT([GPP], [2.27], [tris...@logological.org], [gpp]) +AC_INIT([GPP], [2.28], [tris...@logological.org], [gpp]) AM_INIT_AUTOMAKE([]) AC_CONFIG_SRCDIR([src/gpp.c]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/doc/gpp.1 new/gpp-2.28/doc/gpp.1 --- old/gpp-2.27/doc/gpp.1 2020-07-27 09:45:14.000000000 +0200 +++ new/gpp-2.28/doc/gpp.1 2023-09-26 15:55:17.000000000 +0200 @@ -21,7 +21,8 @@ gpp \-\-help -gpp \-\-version.in -.25i +gpp \-\-version +.in -.25i .fi @@ -734,6 +735,11 @@ automatically switch to the cpp compatibility mode upon including a file whose name ends with either `.c' or `.h'. .TP +.BI "#sinclude " "file" +This is a "silent" version of the \fI#include\fP meta-macro that does +not emit an error in the event that the specified file does not exist or +cannot be opened. +.TP .BI "#exec " "command" This causes GPP to execute the specified command line and include its standard output in the current output. Note that, for security reasons, this meta-macro @@ -1504,7 +1510,7 @@ .SH COPYRIGHT Copyright (C)\ 1996-2001 Denis Auroux. .P -Copyright (C)\ 2003-2020 Tristan Miller. +Copyright (C)\ 2003-2023 Tristan Miller. .P Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/doc/gpp.html new/gpp-2.28/doc/gpp.html --- old/gpp-2.27/doc/gpp.html 2020-07-27 09:45:14.000000000 +0200 +++ new/gpp-2.28/doc/gpp.html 2023-09-26 15:55:17.000000000 +0200 @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html lang="en"><head><title>GPP 2.27 — Generic Preprocessor</title> +<html lang="en"><head><title>GPP 2.28 — Generic Preprocessor</title> <meta charset="utf-8" /> <meta name="author" content="Denis Auroux, Tristan Miller"> <style> @@ -10,7 +10,7 @@ li:not(:last-child) { margin-bottom: 2ex; } </style> </head><body> -<h1>GPP 2.27 — Generic Preprocessor</h1> +<h1>GPP 2.28 — Generic Preprocessor</h1> <p>N.B. — The latest version of GPP and this manual are available from the <strong><a href="https://logological.org/gpp/">GPP home page</a></strong>.</p> <p><hr><h2>DESCRIPTION</h2> @@ -55,7 +55,8 @@ gpp --help -gpp --version</pre> +gpp --version +</pre> <p><hr><h2>OPTIONS</h2> <p> @@ -646,6 +647,11 @@ automatically switch to the cpp compatibility mode upon including a file whose name ends with either `.c' or `.h'. <li> +<b>#sinclude </b>file<br> +This is a <q>silent</q> version of the <i>#include</i> meta-macro that does +not emit an error in the event that the specified file does not exist or +cannot be opened. +<li> <b>#exec </b>command<br> This causes GPP to execute the specified command line and include its standard output in the current output. Note that, for security reasons, this meta-macro @@ -1257,7 +1263,7 @@ <tris...@logological.org>. <p><hr><h2>COPYRIGHT</h2> Copyright © 1996–2001 Denis Auroux.<br> -Copyright © 2003–2020 Tristan Miller.<p> +Copyright © 2003–2023 Tristan Miller.<p> Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and this permission notice are preserved, thus giving diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/doc/gpp.pp new/gpp-2.28/doc/gpp.pp --- old/gpp-2.27/doc/gpp.pp 2020-07-27 09:43:27.000000000 +0200 +++ new/gpp-2.28/doc/gpp.pp 2023-09-26 15:54:40.000000000 +0200 @@ -3,7 +3,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% GPP documentation source file %%%% %%%% (C) 2001 Denis Auroux %%%% -%%%% (C) 2003-2020 Tristan Miller %%%% +%%%% (C) 2003-2023 Tristan Miller %%%% %%%% %%%% %%%% To get the man page, run: %%%% %%%% gpp -H -Dman gpp.pp -o gpp.1 %%%% @@ -29,6 +29,7 @@ $define{l}{<}$ $define{g}{>}$ $define{d}{-}$ +$define{dp}{-}$ $define{b}{\}$ $define{pre}{<pre>}$ $define{nopre}{</pre>}$ @@ -72,6 +73,7 @@ $define{l}{<}$ $define{g}{>}$ $define{d}{\-}$ +$define{dp}{\-}$ $define{b}{\\}$ $define{pre}{ .in +.25i @@ -121,6 +123,7 @@ $define{l}{$isverb{<}{$<$}$}$ $define{g}{$isverb{>}{$>$}$}$ $define{d}{-{}}$ +$define{dp}{-}$ $define{b}{$isverb{\}{$\backslash$}$}$ $define{pre}{$define{inverb}$ \indent\begin{Verbatim}[xleftmargin=3ex]}$ @@ -172,21 +175,22 @@ $endif$ $endif$ %%%%%%%%%%%%%%%%% some headers %%%%%%%%%%%%%%%%%%% -$define{version}{2.27}$ +$define{version}{2.28}$ $define{SYNTAX}{ $pre$ -gpp [$d$$bra$o$pipe$O$ket$ $I{outfile}$] [$d$I$I{/include/path}$ ...] - [$d$D$I{name=val}$ ...] [$d$z$pipe$+z] [$d$x] [$d$m] - [$d$C$pipe$$d$T$pipe$$d$H$pipe$$d$X$pipe$$d$P$pipe$$d$U ... [$d$M ...]] - [$d$n$pipe$+n] [+c$I{$l$n$g$}$ $I{str1}$ $I{str2}$] [+s$I{$l$n$g$}$ $I{str1}$ $I{str2}$ $I{c}$] - [$d$c $I{str1}$] [$d$$d$nostdinc] [$d$$d$nocurinc] - [$d$$d$curdirinclast] [$d$$d$warninglevel $I{n}$] - [$d$$d$includemarker $I{str}$] [$d$$d$include $I{file}$] +gpp [$dp$$bra$o$pipe$O$ket$ $I{outfile}$] [$dp$I$I{/include/path}$ ...] + [$dp$D$I{name=val}$ ...] [$dp$z$pipe$+z] [$dp$x] [$dp$m] + [$dp$C$pipe$$dp$T$pipe$$dp$H$pipe$$dp$X$pipe$$dp$P$pipe$$dp$U ... [$dp$M ...]] + [$dp$n$pipe$+n] [+c$I{$l$n$g$}$ $I{str1}$ $I{str2}$] [+s$I{$l$n$g$}$ $I{str1}$ $I{str2}$ $I{c}$] + [$dp$c $I{str1}$] [$dp$$dp$nostdinc] [$dp$$dp$nocurinc] + [$dp$$dp$curdirinclast] [$dp$$dp$warninglevel $I{n}$] + [$dp$$dp$includemarker $I{str}$] [$dp$$dp$include $I{file}$] [$I{infile}$] -gpp $d$$d$help +gpp $dp$$dp$help -gpp $d$$d$version$nopre$ +gpp $dp$$dp$version +$nopre$ }$ $ifdef{html}$ <!DOCTYPE html> @@ -855,6 +859,11 @@ automatically switch to the cpp compatibility mode upon including a file whose name ends with either `.c' or `.h'. $li$ +$BI{$dz$sinclude }{file}$ +This is a $Q{silent}$ version of the $I{$dz$include}$ meta-macro that does +not emit an error in the event that the specified file does not exist or +cannot be opened. +$li$ $BI{$dz$exec }{command}$ This causes GPP to execute the specified command line and include its standard output in the current output. Note that, for security reasons, this meta-macro @@ -1474,7 +1483,7 @@ $l$tris...@logological.org$g$. $S{COPYRIGHT}$ Copyright $copy$$nbsp$1996$ndash$2001 Denis Auroux.$BR$ -Copyright $copy$$nbsp$2003$ndash$2020 Tristan Miller.$P$ +Copyright $copy$$nbsp$2003$ndash$2023 Tristan Miller.$P$ Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and this permission notice are preserved, thus giving diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/missing new/gpp-2.28/missing --- old/gpp-2.27/missing 2020-05-30 18:11:13.000000000 +0200 +++ new/gpp-2.28/missing 2023-08-12 15:24:25.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gpp-2.27/src/gpp.c new/gpp-2.28/src/gpp.c --- old/gpp-2.27/src/gpp.c 2020-07-25 16:12:51.000000000 +0200 +++ new/gpp-2.28/src/gpp.c 2023-09-26 15:54:40.000000000 +0200 @@ -3,7 +3,7 @@ ** Contact: tris...@logological.org ** ** Copyright (C) 1996, 1999, 2001 Denis Auroux -** Copyright (C) 2003-2020 Tristan Miller +** Copyright (C) 2003-2023 Tristan Miller ** ** This program is free software: you can redistribute it and/or ** modify it under the terms of the GNU Lesser General Public License as @@ -239,7 +239,7 @@ void construct_include_directive_marker(char **include_directive_marker, const char *includemarker_input); void escape_backslashes(const char *instr, char **outstr); -static void DoInclude(char *file_name); +static void DoInclude(char *file_name, int ignore_nonexistent); /* ** strdup() and my_strcasecmp() are not ANSI C, so here we define our own @@ -2333,7 +2333,7 @@ free(s); } -static void DoInclude(char *file_name) { +static void DoInclude(char *file_name, int ignore_nonexistent) { struct INPUTCONTEXT *N; char *incfile_name = NULL; FILE *f = NULL; @@ -2369,9 +2369,13 @@ f = openInCurrentDir(file_name); } - if (f == NULL ) + if (f == NULL) { + if (ignore_nonexistent) + return; + else bug("Requested include file not found"); - + } + N = C; C = malloc(sizeof *C); C->in = f; @@ -2485,6 +2489,9 @@ } else if (idequal(C->buf + cklen, nameend - cklen, "date")) { id = 20; expparams = 1; + } else if (idequal(C->buf + cklen, nameend - cklen, "sinclude")) { + id = 21; + expparams = 1; } else return -1; @@ -2645,7 +2652,7 @@ incfile_name[i] = getChar(p1start + i); incfile_name[p1end - p1start] = 0; - DoInclude(incfile_name); + DoInclude(incfile_name, 0); } else replace_directive_with_blank_line(C->out->f); break; @@ -2864,6 +2871,33 @@ } break; + case 21: /* SINCLUDE */ + if (!commented[iflevel]) { + char *incfile_name; + + if (nparam == 2 && WarningLevel > 0) + warning("Extra argument to #sinclude ignored"); + if (!whiteout(&p1start, &p1end)) + bug("Missing file name in #sinclude"); + /* user may put "" or <> */ + if (((getChar(p1start) == '\"') && (getChar(p1end - 1) == '\"')) + || ((getChar(p1start) == '<') && (getChar(p1end - 1) == '>'))) { + p1start++; + p1end--; + } + if (p1start >= p1end) + bug("Missing file name in #sinclude"); + incfile_name = malloc(p1end - p1start + 1); + /* extract the orig include filename */ + for (i = 0; i < p1end - p1start; i++) + incfile_name[i] = getChar(p1start + i); + incfile_name[p1end - p1start] = 0; + + DoInclude(incfile_name, 1); + } else + replace_directive_with_blank_line(C->out->f); + break; + default: bug("Internal meta-macro identification error"); } @@ -3223,7 +3257,7 @@ initthings(argc, argv); /* The include marker at the top of the file */ if (IncludeFile) - DoInclude(IncludeFile); + DoInclude(IncludeFile, 0); IncludeFile = NULL; write_include_marker(C->out->f, 1, C->filename, ""); ProcessContext();