Mostly working. The testsuite remains to be done.
In particular, windows/deps/mkoctfile64 is modified to print its version number
on stdout instead of stderr. This is what the standard mkoctfile does, and it
allows easier capture of the output from Meson.
The “more off” command is incompatible with MATLAB Online.
Moreover, output pagination is disabled by default on MATLAB and on
Octave (since version 4 for the latter), so in most cases that command would do
nothing.
Incidentally, this allows users to enable output pagination should they want
to.
[skip ci]
It is now supported by the MATLAB editor (as of R2022a).
The old ASCII notation is left in some files that we copy as-is from other
sources (e.g. in the contrib/ and m4/ subdirectories).
The particles submodule is not updated at this point, because it is in an
inconsistent state.
[skip ci]
– preprocessor binary renamed to dynare-preprocessor
— the preprocessor binary is now installed under a preprocessor/ top-level directory
— a backward-compatibility symlink is still provided under
matlab/preprocessor64/dynare_m
— the make install rule now install PDF and HTML documentation when those have
been built
Closes: #1728
Under GNU/Linux and macOS, double-quote arguments before passing them to the
shell. In particular, this allows passing single-quotes within those arguments.
We therefore have to escape the four characters that are interpreted within
double-quoted strings in POSIX shells: \, ", $ and `
On Windows, also systematically escape the backslashes.
Also move display of arguments before escaping, so that it remains readable.
Ref. #1696
closes#1696
includes preprocessor changes
- Removed prefixing of doubles between -1 and 1 with 0.
- Fixed bug introduced in 985d742.
- macro processor: simplify handling of `@#define`
The nopathchange is still not supported in this context, so document it.
Also recommend the whitespace-separated syntax instead of the comma-separated
syntax, since the latter is inconsistent with the way options are passed on the
command-line.
Closes: #1667
previously, `nopathchange` and `nopreprocessoroutput` were set even if they were values instead of option names.
`nopathchange` would further remove all options that contained `'nopathchange'`
e.g. `dynare example1.mod savemacro=nopathchange` would erroneously set `nopathchange` to true and would delete the `savemacro` option altogether
In the fix, just check that the match starts in position 1 as, if the argument passed is longer than the matching pattern (e.g. nopathchangee), the preprocessor will stop processing with a usage error
The option had been broken by 0e77815ece.
This option cannot be entirely handled at the preprocessor level, since the
main log file is created at the MATLAB/Octave level. Handle it via a dedicated
regular expression.
Distinguish between a minimal version required (from a source code perspective,
applicable on all platforms) and an exact version requirement (from a binary
package perspective, in practice used only for our Windows package).