sod
2 years ago**/.gitignore: Fix for in-tree builds.
Mark Wooding [Wed, 1 Jun 2022 10:20:05 +0000 (11:20 +0100)]
**/.gitignore: Fix for in-tree builds.

I don't really recommend building in-tree, but there shouldn't be
unignored build debris lying about.

2 years agovars.am: Clean up old `.defs' files when building manpages.
Mark Wooding [Wed, 1 Jun 2022 10:17:58 +0000 (11:17 +0100)]
vars.am: Clean up old `.defs' files when building manpages.

2 years ago**/.gitignore: Generally spruce up.
Mark Wooding [Wed, 1 Jun 2022 09:02:39 +0000 (10:02 +0100)]
**/.gitignore: Generally spruce up.

2 years agoAdd '.ext/cfd/' from commit 'e370d22add00480a67fd028c0e7d3148737fe484'
Mark Wooding [Sun, 15 Aug 2021 08:22:37 +0000 (09:22 +0100)]
Add '.ext/cfd/' from commit 'e370d22add00480a67fd028c0e7d3148737fe484'

git-subtree-dir: .ext/cfd
git-subtree-mainline: 15ad30aaab6e48abcae0f1ecd1e2073cc1827b50
git-subtree-split: e370d22add00480a67fd028c0e7d3148737fe484

2 years ago@@@ yet more mess
Mark Wooding [Fri, 13 Aug 2021 18:49:55 +0000 (19:49 +0100)]
@@@ yet more mess

3 years ago@@@ mess!
Mark Wooding [Mon, 17 May 2021 22:22:11 +0000 (23:22 +0100)]
@@@ mess!

3 years ago@@@ progfmt wip
Mark Wooding [Tue, 23 Jun 2020 09:45:35 +0000 (10:45 +0100)]
@@@ progfmt wip

3 years agodoc/tut/greeter0/: Initial `greeter' example.
Mark Wooding [Tue, 23 Jun 2020 09:45:16 +0000 (10:45 +0100)]
doc/tut/greeter0/: Initial `greeter' example.

3 years agosrc/asdf-hack.lisp.in: Place our directory /before/ the defaults.
Mark Wooding [Tue, 28 Jul 2020 00:16:17 +0000 (01:16 +0100)]
src/asdf-hack.lisp.in: Place our directory /before/ the defaults.

Otherwise, if there's a system-provided copy of Sod, then ASDF finds
that by preference, which is certainly not what I want.

3 years agosrc/sod.asd.in: Find `auto.lisp' even if we're located via logical pathname.
Mark Wooding [Tue, 28 Jul 2020 00:14:02 +0000 (01:14 +0100)]
src/sod.asd.in: Find `auto.lisp' even if we're located via logical pathname.

Without this, `#p"auto.lisp"' looks like an /absolute/ pathname
according to the logical-pathname syntax rules, and it can't be found.
I admit to preferring to type `home:src;sod;..." than my actual home
directory.

3 years agosrc/codegen-proto.lisp (definst): Add a bunch of commentary.
Mark Wooding [Sun, 26 Jul 2020 00:48:02 +0000 (01:48 +0100)]
src/codegen-proto.lisp (definst): Add a bunch of commentary.

And some very light reformatting.

3 years agosrc/codegen-proto.lisp (definst): Indent `dolist' form correctly.
Mark Wooding [Sun, 26 Jul 2020 00:44:11 +0000 (01:44 +0100)]
src/codegen-proto.lisp (definst): Indent `dolist' form correctly.

Not really sure how this ended up wrong.  Oh, well.

3 years agosrc/codegen-proto.lisp (definst): Don't assume STREAMVAR is `stream'.
Mark Wooding [Sun, 26 Jul 2020 00:46:56 +0000 (01:46 +0100)]
src/codegen-proto.lisp (definst): Don't assume STREAMVAR is `stream'.

Apparently it always is anyway.  Oops.

3 years agodoc/tutorial.tex: Fix option-dash formatting.
Mark Wooding [Tue, 23 Jun 2020 09:34:52 +0000 (10:34 +0100)]
doc/tutorial.tex: Fix option-dash formatting.

3 years agodoc/: Minor cleanups, as a result of a spell-check pass.
Mark Wooding [Tue, 23 Jun 2020 09:33:49 +0000 (10:33 +0100)]
doc/: Minor cleanups, as a result of a spell-check pass.

Include the accumulated personal wordlist.

3 years agodoc/concepts.tex: Make use of the concept of `inconsistent lists'.
Mark Wooding [Tue, 23 Jun 2020 09:30:13 +0000 (10:30 +0100)]
doc/concepts.tex: Make use of the concept of `inconsistent lists'.

Also eliminate a pointless item.

3 years agodoc/concepts.tex: Emphasize a defining occurrence of `methods'.
Mark Wooding [Tue, 23 Jun 2020 09:29:08 +0000 (10:29 +0100)]
doc/concepts.tex: Emphasize a defining occurrence of `methods'.

3 years agodoc/misc.tex (aif): Spell out `alternative' in full.
Mark Wooding [Tue, 23 Jun 2020 09:27:20 +0000 (10:27 +0100)]
doc/misc.tex (aif): Spell out `alternative' in full.

3 years agodoc/concepts.tex: Add footnote compring Sod and CLOS initarg selection.
Mark Wooding [Tue, 23 Jun 2020 09:23:39 +0000 (10:23 +0100)]
doc/concepts.tex: Add footnote compring Sod and CLOS initarg selection.

Sod initializes a slot from the most specific initarg supplied; CLOS
instead choose the leftmost initarg in the argument list.

3 years agodoc/misc.tex: Describe a couple of default methods explicitly.
Mark Wooding [Tue, 23 Jun 2020 09:22:32 +0000 (10:22 +0100)]
doc/misc.tex: Describe a couple of default methods explicitly.

On `instance-initargs' and `copy-instance-using-class'.

3 years agosrc/utilities.lisp: Spell `locative' in full for the class and predicate.
Mark Wooding [Tue, 23 Jun 2020 09:20:57 +0000 (10:20 +0100)]
src/utilities.lisp: Spell `locative' in full for the class and predicate.

It turns out not to be a frequently used type.

3 years agodoc/sod.sty: Report errors for undeclared description categories.
Mark Wooding [Tue, 23 Jun 2020 09:18:04 +0000 (10:18 +0100)]
doc/sod.sty: Report errors for undeclared description categories.

3 years agodoc/concepts.tex: Apparently `aging' is predominantly a US spelling.
Mark Wooding [Tue, 23 Jun 2020 09:15:30 +0000 (10:15 +0100)]
doc/concepts.tex: Apparently `aging' is predominantly a US spelling.

3 years agodoc/clang.tex: Fix incorrect description category.
Mark Wooding [Tue, 23 Jun 2020 09:09:59 +0000 (10:09 +0100)]
doc/clang.tex: Fix incorrect description category.

3 years agolib/keyword.3.in, lib/sod-structs.3.in: Use `.VS' and `.VE'.
Mark Wooding [Tue, 23 Jun 2020 09:16:54 +0000 (10:16 +0100)]
lib/keyword.3.in, lib/sod-structs.3.in: Use `.VS' and `.VE'.

3 years agoman pages: Split out the common preamble and insert it at build time.
Mark Wooding [Tue, 23 Jun 2020 09:08:50 +0000 (10:08 +0100)]
man pages: Split out the common preamble and insert it at build time.

This machinery is taken from the TrIPE project.

3 years agosrc/Makefile.am: Build `sod' if we're just distributing.
Mark Wooding [Sun, 7 Jun 2020 23:54:39 +0000 (00:54 +0100)]
src/Makefile.am: Build `sod' if we're just distributing.

3 years agodoc/cutting-room-floor.tex: Add a diagram of Smalltalk's object braid.
Mark Wooding [Sun, 7 Jun 2020 23:51:05 +0000 (00:51 +0100)]
doc/cutting-room-floor.tex: Add a diagram of Smalltalk's object braid.

3 years agodoc/sod.sty: Adjust the default dash pattern.
Mark Wooding [Sun, 7 Jun 2020 23:49:49 +0000 (00:49 +0100)]
doc/sod.sty: Adjust the default dash pattern.

This is very finely adjusted to make a subsequent diagram come up right.

3 years agodoc/concepts.tex: Fix misformatting.
Mark Wooding [Sun, 7 Jun 2020 23:49:17 +0000 (00:49 +0100)]
doc/concepts.tex: Fix misformatting.

3 years agodoc/Makefile.am: Preserve `~' correctly in the version string.
Mark Wooding [Sun, 7 Jun 2020 23:48:54 +0000 (00:48 +0100)]
doc/Makefile.am: Preserve `~' correctly in the version string.

3 years agolib/sod-hosted.c (sod_makev): Use two statements rather than tricky expression. master
Mark Wooding [Sat, 20 Feb 2021 22:48:56 +0000 (22:48 +0000)]
lib/sod-hosted.c (sod_makev): Use two statements rather than tricky expression.

Comes out shorter too.

3 years agolib/sod.h (sod_sublassp): Fix function description.
Mark Wooding [Sat, 20 Feb 2021 22:48:01 +0000 (22:48 +0000)]
lib/sod.h (sod_sublassp): Fix function description.

The corresponding comment in the implementation file is already correct.

3 years agosrc/parser/floc-proto.lisp: Use correct function for constructing conditions.
Mark Wooding [Sat, 20 Feb 2021 22:47:33 +0000 (22:47 +0000)]
src/parser/floc-proto.lisp: Use correct function for constructing conditions.

3 years agobuild/autotest.am: Fix formatting of list initialization assignments.
Mark Wooding [Sun, 9 Aug 2020 13:00:59 +0000 (14:00 +0100)]
build/autotest.am: Fix formatting of list initialization assignments.

3 years agom4/: Reformat to match current m4/shell style.
Mark Wooding [Sun, 9 Aug 2020 11:54:10 +0000 (12:54 +0100)]
m4/: Reformat to match current m4/shell style.

3 years agom4/mdw-dir-texmf.m4: Nest and indent `mdw_DEFINE_PATHS' properly.
Mark Wooding [Sun, 9 Aug 2020 12:16:53 +0000 (13:16 +0100)]
m4/mdw-dir-texmf.m4: Nest and indent `mdw_DEFINE_PATHS' properly.

Not sure why this enclosed the `AC_MSG_RESULT' before.  Oh, well.

3 years agom4/mdw-dir-texmf.m4: Pull `texmf' path guesswork out of `AC_ARG_WITH'.
Mark Wooding [Sun, 9 Aug 2020 12:14:17 +0000 (13:14 +0100)]
m4/mdw-dir-texmf.m4: Pull `texmf' path guesswork out of `AC_ARG_WITH'.

Unfortunate tangling of responsibilities.  Instead, leave a flag so that
top-level code can decide to do the guesswork.

3 years agom4/mdw-manext.m4: Don't hardcode the manpage extension to `mLib'.
Mark Wooding [Sun, 9 Aug 2020 12:04:36 +0000 (13:04 +0100)]
m4/mdw-manext.m4: Don't hardcode the manpage extension to `mLib'.

Obviously this isn't used as widely as it ought to be!

3 years agom4/mdw-dir-texmf.m4, m4/mdw-manext.m4: Use `AS_HELP_STRING'.
Mark Wooding [Sun, 9 Aug 2020 12:02:32 +0000 (13:02 +0100)]
m4/mdw-dir-texmf.m4, m4/mdw-manext.m4: Use `AS_HELP_STRING'.

I think this didn't exist when I wrote these macros.

3 years agom4/mdw-define-paths.m4: Replace `$(eval echo ...)' nonsense.
Mark Wooding [Sun, 9 Aug 2020 11:50:15 +0000 (12:50 +0100)]
m4/mdw-define-paths.m4: Replace `$(eval echo ...)' nonsense.

No idea why I didn't do it this way before.

3 years agom4/mdw-define-paths.m4: Use `$(...)' for command substitution.
Mark Wooding [Sun, 9 Aug 2020 11:17:26 +0000 (12:17 +0100)]
m4/mdw-define-paths.m4: Use `$(...)' for command substitution.

It nests better than the old-fashioned ``...`' syntax.  Which is good,
because it's nested here.

3 years agom4/mdw-auto-version.m4: Don't try appending suffixes any more.
Mark Wooding [Sun, 9 Aug 2020 11:11:19 +0000 (12:11 +0100)]
m4/mdw-auto-version.m4: Don't try appending suffixes any more.

The old `auto-version.in' has gone for good.

3 years agom4/mdw-auto-version.m4: Delete the bizarre pre-definition.
Mark Wooding [Sun, 9 Aug 2020 11:07:11 +0000 (12:07 +0100)]
m4/mdw-auto-version.m4: Delete the bizarre pre-definition.

Not really sure what this was for, but this hack has always been there
in some form since the macro was introduced.  It doesn't seem necessary
now, certainly.

3 years agom4/: Reformat the Autoconf macros in `aclocal' style.
Mark Wooding [Sun, 9 Aug 2020 10:58:37 +0000 (11:58 +0100)]
m4/: Reformat the Autoconf macros in `aclocal' style.

Add a `LICENSE' section, and `# serial' markers.

3 years agoaclocal.glob, m4/: Split the monster into separate `aclocal'-ish files.
Mark Wooding [Sun, 9 Aug 2020 10:53:11 +0000 (11:53 +0100)]
aclocal.glob, m4/: Split the monster into separate `aclocal'-ish files.

Now these can be linked into a project's `m4/' directory in the usual
way.  Much better!

This has just redistributed the existing content: none of the code is
changed.

3 years agobuild/ scripts: Remove the version-number machinery.
Mark Wooding [Sun, 9 Aug 2020 10:46:49 +0000 (11:46 +0100)]
build/ scripts: Remove the version-number machinery.

Since these things are no longer installed anywhere outside of a
revision-controlled working tree, they don't need to know their version
numbers any more.

3 years agoScatter the useful files into subdirectories by theme.
Mark Wooding [Sun, 9 Aug 2020 10:39:55 +0000 (11:39 +0100)]
Scatter the useful files into subdirectories by theme.

This is maybe a little random, but better ideas seem thin on the ground.

  * `build/' is for build tools: scripts and build-tool fragments which
    are handy for building projects.

  * `doc/' is for documentation, and things which help with producing
    documentation, such as styles.

  * `licence/' contains licence documents.

  * `m4/' will be for Autoconf machinery, but it's not there yet:
    splitting up `aclocal.glob' will be a job for another commit.

  * `src/' contains source code which is shared among many projects.

This commit just moves the files about.  Some of the scripts have had
their `.in' suffix stripped because they should no longer be hacked by
Autoconf or anything similar, but none of the content is modified.

3 years agoDelete everything only needed for standalone building.
Mark Wooding [Sun, 9 Aug 2020 10:29:57 +0000 (11:29 +0100)]
Delete everything only needed for standalone building.

This is the start of an effort to change the way CFD is used by
projects.  Rather than being installed on developer systems as a thing
in its own right, it should be tucked away in a project, using `git
subtree' or similar.

Please don't use `git submodule' for this!

3 years agoauto-version.in: Fix typo in commentary.
Mark Wooding [Sun, 9 Aug 2020 10:45:55 +0000 (11:45 +0100)]
auto-version.in: Fix typo in commentary.

4 years agoRelease 1.4.0.
Mark Wooding [Fri, 8 May 2020 02:45:30 +0000 (03:45 +0100)]
Release 1.4.0.

4 years agomdwsetup.py: Turn off Python's usual `SIGINT' handler.
Mark Wooding [Mon, 13 Apr 2020 11:29:22 +0000 (12:29 +0100)]
mdwsetup.py: Turn off Python's usual `SIGINT' handler.

Without this, a buggy native-code extension can loop forever, and Emacs
can't easily be persuaded to kill it.

4 years agopysetup.mk: Handle the `DESTDIR' install variable usefully.
Mark Wooding [Mon, 25 Nov 2019 15:04:07 +0000 (15:04 +0000)]
pysetup.mk: Handle the `DESTDIR' install variable usefully.

4 years agopysetup.mk: Remove pointless explicit `make' step in `distcheck'.
Mark Wooding [Mon, 14 Oct 2019 10:29:44 +0000 (11:29 +0100)]
pysetup.mk: Remove pointless explicit `make' step in `distcheck'.

Now that `check/PYTHON' depends on `all/PYTHON', this just adds a
serialization point which we don't need or want.

4 years agomdwsetup.py: Add a command for running tests.
Mark Wooding [Wed, 9 Oct 2019 18:50:56 +0000 (19:50 +0100)]
mdwsetup.py: Add a command for running tests.

4 years agopysetup.mk: Pass `make' flags down to `distcheck' build rules.
Mark Wooding [Mon, 14 Oct 2019 10:26:46 +0000 (11:26 +0100)]
pysetup.mk: Pass `make' flags down to `distcheck' build rules.

This firstly means that Makefile variables such as `PYTHON' are honoured
properly, and secondly that flags requesting parallel building are
respected.

4 years agopysetup.mk: Run commands on multiple `python's, possibly in parallel.
Mark Wooding [Mon, 14 Oct 2019 10:22:16 +0000 (11:22 +0100)]
pysetup.mk: Run commands on multiple `python's, possibly in parallel.

Most targets delegated to `setup.py' are now run, in parallel, on
multiple Python versions listed in the new Makefile variable `PYTHONS'.
The exceptions are `gen' and `dist', which only make sense with a single
Python.

Targets which can run multiple Python versions now support per-version
options for targets: set the variable OPTS-TARGET/PYTHON (e.g.,
`OPTS-install/python3.5').

4 years agopysetup.mk: Add an explicit `gen' target, and make `all' depend on it.
Mark Wooding [Mon, 14 Oct 2019 10:37:41 +0000 (11:37 +0100)]
pysetup.mk: Add an explicit `gen' target, and make `all' depend on it.

I plan to add support for multiple `python' versions building in
parallel in the same working tree.  But generated files are shared
between `python' versions, and there will be a mess if things happen in
the wrong order.

4 years agomdwsetup.py: Insert a space before direct-superclass lists.
Mark Wooding [Wed, 9 Oct 2019 17:02:49 +0000 (18:02 +0100)]
mdwsetup.py: Insert a space before direct-superclass lists.

4 years agomdwsetup.py: Fixes for Python 3 compatibility.
Mark Wooding [Tue, 1 Oct 2019 22:57:28 +0000 (23:57 +0100)]
mdwsetup.py: Fixes for Python 3 compatibility.

  * Write parentheses around `print' operands.

  * Set `universal_newlines' on in `Popen' to force handling in text
    mode.

  * Use an unpleasant hack to inject the `CommandClass' metaclass,
    because the official syntax is so different between the two
    versions.

4 years agomdwsetup.py (progoutput): Only read one byte to decide whether there is more.
Mark Wooding [Fri, 4 Oct 2019 15:22:15 +0000 (16:22 +0100)]
mdwsetup.py (progoutput): Only read one byte to decide whether there is more.

There's no point in slurping the entire output now that we're closing
the pipe /before/ trying to waitpid(2): the child will hit `SIGPIPE' (or
`EPIPE') rather than blocking on output.

4 years agomdwsetup.py (progoutput): Explicitly close the `stdout' pipe.
Mark Wooding [Fri, 4 Oct 2019 15:10:50 +0000 (16:10 +0100)]
mdwsetup.py (progoutput): Explicitly close the `stdout' pipe.

4 years agomdwsetup.py (pkg_config): Check environment for settings.
Mark Wooding [Tue, 1 Oct 2019 21:57:40 +0000 (22:57 +0100)]
mdwsetup.py (pkg_config): Check environment for settings.

This can override or replace pkg-config(1), similar to the
`PKG_CHECK_MODULES' Autoconf macro.

4 years agomdwsetup.py (pkg_config): Change the token shown in error reports.
Mark Wooding [Tue, 1 Oct 2019 21:57:13 +0000 (22:57 +0100)]
mdwsetup.py (pkg_config): Change the token shown in error reports.

4 years agomdwsetup.py (pkg_config): Rearrange and reformat.
Mark Wooding [Tue, 1 Oct 2019 21:56:27 +0000 (22:56 +0100)]
mdwsetup.py (pkg_config): Rearrange and reformat.

4 years agomdwsetup.py: Don't use the ancient `raise' syntax.
Mark Wooding [Tue, 1 Oct 2019 21:54:45 +0000 (22:54 +0100)]
mdwsetup.py: Don't use the ancient `raise' syntax.

4 years agoauto-version.in: Prefix Git version with mangled `x.y.z~' Debian version.
Mark Wooding [Tue, 1 Oct 2019 11:01:27 +0000 (12:01 +0100)]
auto-version.in: Prefix Git version with mangled `x.y.z~' Debian version.

The mangling is necessary to placate `pkg-config', which doesn't
implement `rpmvercmp' properly.

4 years agoMerge branch '1.3.x'
Mark Wooding [Fri, 8 May 2020 11:29:24 +0000 (12:29 +0100)]
Merge branch '1.3.x'

* 1.3.x:
  Release 1.3.15.
  mdwsetup.py: Adjust exit status from `subprocess'.
  mdwsetup.py: Fix unbound variable reference in error case.
  mdwsetup.py: Add missing `OS.' qualifier on `W...' calls.
  texinice.tex: Cope with new names for page-dimension registers.
  Makefile.am:  Tweak `silent-rules' machinery.
  auto-version.in: Don't insist that `.git' is a directory.

4 years agoRelease 1.3.15.
Mark Wooding [Fri, 8 May 2020 02:00:35 +0000 (03:00 +0100)]
Release 1.3.15.

Release 1.3.16.

4 years agomdwsetup.py: Adjust exit status from `subprocess'.
Mark Wooding [Sat, 19 Oct 2019 16:08:28 +0000 (17:08 +0100)]
mdwsetup.py: Adjust exit status from `subprocess'.

It doesn't return the raw status from `wait', but some kind of
inconvenient cooked status.

4 years agomdwsetup.py: Fix unbound variable reference in error case.
Mark Wooding [Fri, 8 May 2020 11:24:18 +0000 (12:24 +0100)]
mdwsetup.py: Fix unbound variable reference in error case.

This is debris from f74ba2bb507cfeadd5518d5468c7ab7281b581b7 which
changed a function into a class, and the `source' argument into (a) a
list and (b) an instance variable.  Fix this reference which should have
changed along with the rest.

4 years agomdwsetup.py: Add missing `OS.' qualifier on `W...' calls.
Mark Wooding [Sat, 19 Oct 2019 16:07:52 +0000 (17:07 +0100)]
mdwsetup.py: Add missing `OS.' qualifier on `W...' calls.

Evidently this code hasn't been tested before.

4 years agotexinice.tex: Cope with new names for page-dimension registers.
Mark Wooding [Tue, 7 Apr 2020 19:14:44 +0000 (20:14 +0100)]
texinice.tex: Cope with new names for page-dimension registers.

Texinfo 6.2 apparently renamed `\pagewidth' to `\txipagewidth', and
similarly for `\pageheight', to avoid some conflict with LuaTeX.  Fix
`@afourpaper' to with these new names.

(cherry picked from commits 892a9f865ad8baed5c67ddf9d68301c916bfb0f1 and
0b5f869b689a085655df9e1a261eacf8c7facade)

4 years agoMakefile.am: Tweak `silent-rules' machinery.
Mark Wooding [Sat, 22 Jul 2017 10:43:11 +0000 (11:43 +0100)]
Makefile.am:  Tweak `silent-rules' machinery.

Since Automake 1.11, the advice for setting up custom silent-rules
recipes has changed, so use the new machinery.

Also, I'm no longer mainly working on wheezy, and Automake has made the
operation field two spaces wider while I wasn't looking, so make the
output line up properly.

This means that CFD now requires Automake 1.11.2 or later to build from
the Git tree.

(cherry picked from commit 262cdcea7d345a0e523957de46fceed547f2de44)

4 years agoauto-version.in: Don't insist that `.git' is a directory.
Mark Wooding [Sat, 22 Jul 2017 10:35:55 +0000 (11:35 +0100)]
auto-version.in: Don't insist that `.git' is a directory.

Nowadays, `git worktree' can cause this to be a regular file instead,
and it's a shame if we can't spot it properly.

(cherry picked from commit e3bf207c8bde1191c3850debd27ac604305bff31)

4 years agotexinice.tex: Fix bungled change.
Mark Wooding [Mon, 27 Apr 2020 09:19:01 +0000 (10:19 +0100)]
texinice.tex: Fix bungled change.

Alas, `@' is still magical, so comparing against `\@@undefined' is
inadvisable.

4 years agoMerge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/cfd
Mark Wooding [Mon, 27 Apr 2020 09:07:45 +0000 (10:07 +0100)]
Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/cfd

* 'master' of git.distorted.org.uk:~mdw/publish/public-git/cfd:
  texinice.tex: Cope with new names for page-dimension registers.

4 years agotexinice.tex: Cope with new names for page-dimension registers.
Mark Wooding [Tue, 7 Apr 2020 19:14:44 +0000 (20:14 +0100)]
texinice.tex: Cope with new names for page-dimension registers.

Texinfo 6.2 apparently renamed `\pagewidth' to `\txipagewidth', and
similarly for `\pageheight', to avoid some conflict with LuaTeX.  Fix
`@afourpaper' to with these new names.

4 years agodebian/rules: Don't pass `--without=...' to all Debhelper programs.
Mark Wooding [Sat, 22 Jul 2017 10:40:53 +0000 (11:40 +0100)]
debian/rules: Don't pass `--without=...' to all Debhelper programs.

4 years agoMakefile.am: Tweak `silent-rules' machinery.
Mark Wooding [Sat, 22 Jul 2017 10:43:11 +0000 (11:43 +0100)]
Makefile.am:  Tweak `silent-rules' machinery.

Since Automake 1.11, the advice for setting up custom silent-rules
recipes has changed, so use the new machinery.

Also, I'm no longer mainly working on wheezy, and Automake has made the
operation field two spaces wider while I wasn't looking, so make the
output line up properly.

This means that CFD now requires Automake 1.11.2 or later to build from
the Git tree.

4 years agoauto-version.in: Don't insist that `.git' is a directory.
Mark Wooding [Sat, 22 Jul 2017 10:35:55 +0000 (11:35 +0100)]
auto-version.in: Don't insist that `.git' is a directory.

Nowadays, `git worktree' can cause this to be a regular file instead,
and it's a shame if we can't spot it properly.

4 years agoconfigure.ac: Complicate ASDF version-number generation.
Mark Wooding [Mon, 7 Oct 2019 00:33:10 +0000 (01:33 +0100)]
configure.ac: Complicate ASDF version-number generation.

I've started prefixing a future-version-~ to development version
numbers, rather than maintenance pre-releases.  Adjust the ASDF version
synthesis to cope with this.

4 years agodebian/: Ship `symbols' file for better downstream dependency versioning.
Mark Wooding [Mon, 7 Oct 2019 00:13:57 +0000 (01:13 +0100)]
debian/: Ship `symbols' file for better downstream dependency versioning.

4 years agodebian/changelog: Prepare for next version.
Mark Wooding [Mon, 7 Oct 2019 00:06:25 +0000 (01:06 +0100)]
debian/changelog: Prepare for next version.

4 years agodebian/: Bump to Debhelper 10.
Mark Wooding [Mon, 7 Oct 2019 00:04:51 +0000 (01:04 +0100)]
debian/: Bump to Debhelper 10.

For some reason, the `compat' level and the `Build-Depends' bound were
inconsistent.  Oops.

4 years agoStatic instance support.
Mark Wooding [Sun, 6 Oct 2019 22:03:42 +0000 (23:03 +0100)]
Static instance support.

4 years agosrc/class-output.lisp: Leave `*instance-class*' unbound at top-level.
Mark Wooding [Sun, 6 Oct 2019 21:52:37 +0000 (22:52 +0100)]
src/class-output.lisp: Leave `*instance-class*' unbound at top-level.

4 years agosrc/class-make-{proto,impl}.lisp: Don't always add initializers to classes.
Mark Wooding [Sun, 6 Oct 2019 21:50:42 +0000 (22:50 +0100)]
src/class-make-{proto,impl}.lisp: Don't always add initializers to classes.

Add a switch `:add-to-class' to inhibit adding the new initializer
object to its class.

(The class is still necessary because it's in control of initializer
construction: otherwise I'd do this by passing a `nil' class.)

4 years agosrc/method-impl.lisp, etc.: Add a `readonly' message property.
Mark Wooding [Sun, 6 Oct 2019 21:41:42 +0000 (22:41 +0100)]
src/method-impl.lisp, etc.: Add a `readonly' message property.

If you have a `const' instance, it's useful to be able to send it
messages, so add a facility for marking messages as not modifying their
receivers.

4 years agosrc/method-{proto,impl}.lisp: Abstract out the receiver type.
Mark Wooding [Sun, 6 Oct 2019 21:35:47 +0000 (22:35 +0100)]
src/method-{proto,impl}.lisp: Abstract out the receiver type.

The code used to just assume that receiver (`me') arguments had type
`CLASS *'.  This is about to change...

4 years agoc-types-proto.lisp (canonify-qualifiers): Delete `nil' entries.
Mark Wooding [Sun, 6 Oct 2019 21:26:27 +0000 (22:26 +0100)]
c-types-proto.lisp (canonify-qualifiers): Delete `nil' entries.

Now you can decide whether to include a qualifier by saying `(and COND
:const)' or similar, and the `nil' if COND is false will be swept under
the rug.

4 years agodoc/list-exports: Use `documentation' to find more categories.
Mark Wooding [Sun, 6 Oct 2019 21:24:58 +0000 (22:24 +0100)]
doc/list-exports: Use `documentation' to find more categories.

4 years agodoc/check-docs (scansyms): Stop trying to parse at `Leaked slot names'.
Mark Wooding [Sun, 6 Oct 2019 21:24:13 +0000 (22:24 +0100)]
doc/check-docs (scansyms): Stop trying to parse at `Leaked slot names'.

4 years agodoc/output.tex: Add a missing member reference in vtable initializer.
Mark Wooding [Sun, 6 Oct 2019 23:17:59 +0000 (00:17 +0100)]
doc/output.tex: Add a missing member reference in vtable initializer.

4 years agodebian/: Bump to Debhelper 10.
Mark Wooding [Tue, 1 Oct 2019 20:28:06 +0000 (21:28 +0100)]
debian/: Bump to Debhelper 10.

4 years agodebian/changelog: Prepare for the next version.
Mark Wooding [Tue, 1 Oct 2019 11:01:08 +0000 (12:01 +0100)]
debian/changelog: Prepare for the next version.

4 years agodoc/: Switch to a manually maintained bibliography database.
Mark Wooding [Sat, 24 Aug 2019 23:12:46 +0000 (00:12 +0100)]
doc/: Switch to a manually maintained bibliography database.

Actually, the database is maintained mostly by Emacs's BibTeX mode.  In
particular, I (mostly) allow it to choose the citation keys, rather than
using Beebe's somewhat annoying key format, so hack up the document to
match.

4 years agoconfigure.ac, doc/Makefile.am: Ship the bibliography style.
Mark Wooding [Sat, 24 Aug 2019 23:41:27 +0000 (00:41 +0100)]
configure.ac, doc/Makefile.am: Ship the bibliography style.

Well, the machinery to generate one, anyway.

4 years agodebian/: Fix build-dependencies for building the manual.
Mark Wooding [Sat, 24 Aug 2019 20:58:59 +0000 (21:58 +0100)]
debian/: Fix build-dependencies for building the manual.

4 years agoconfigure.ac, doc/Makefile.am: Overhaul LaTeX building.
Mark Wooding [Sat, 24 Aug 2019 20:54:08 +0000 (21:54 +0100)]
configure.ac, doc/Makefile.am: Overhaul LaTeX building.

Check to see whether all of the things we need are available: don't try
to build the manual unless we have them.