Fix last commit for hv-alternating algorithm
fix module-code caching

Fixes a problem with c4508ad0d9, which disabled module-code
caching too often. A symptom of the disabled cache was that
running "math/scribblings/math.scrbl" would use twice
as much memory.
Fix PR14692
Revert "Fix PR14692"

This reverts commit 92d5408aa87043916644ec68d05b18cee2d21f69, because
it breaks the build due to recursive deps. (It also breaks if the core
is in the "racket" package.)
Fix typo in math/matrix docs.

Closes PR14721.
Couple of grammar fixes.
pict: throw out LaTeX back-end and simplify

The "texpict" interface as based by LaTeX is ancient, undocumented,
and unlikely to have been used since the previous millennium. Throw it
out and simplify the implementation (by discarding signatures and
units).
pict: make picts serializable
scribble/eval: change handling of serializable convertible results

When an evaluation result from a sandboxed computation is convertible
(so that it should be preserved for rendering) and serializable, then
serialize the value from transfer from the sandboxed environment to
the rendering environment.

This change complements the one that makes `pict`s serializable.
Serializing a pict result avoids retaining the sandboxed environment,
including its instance of the `pict` and `racket/draw` modules,
when a sandbox-created pict is part of the generated document.
For example, the memory use of the result of "math.scrbl" is about
20% smaller with this change.
racket/port: fix busy-wait bug in `make-limited-input-port`

As reported by Marc Burns on the mailing list
fix interaction of `alarm-evt` and `replace-evt`

With `replace-evt` the time that the system needs to wake up
to check the event can drift later, but scheduling state was
carried in a way that works only if the wake-up time drifts
earlier.

Unfortunately, I don't know how to write a test for this bug.
The usual stategy of using `system-idle-evt` to detect busy
waiting doesn't work here, because the business happens despite
the scheduler's conclusion that the system is idle.

As reported by Jan Dvořák on the mailing list.
minor cleanup on thread termination
make site: fix for SRC_CATALOG mode

In SRC_CATALOG mode, there's not a separate "native" directory.
ffi/unsafe win32: fix inefficiency in call-in-orig-thread mode

The problem made simultaneous rendering of "plot" and "math"
documentation about 10 times slower than it should be.
check result of mprotect()
try to fix module-caching test
win32: reduce allocation in the scheduler

It's not clear that the changes affect anything in practice,
but they avoid unnecessary allocation and quadratic behavior
in principle.
module caching: ensure consistency of directory paths

Use `path->directory-path` to normalize directory paths and
increase use of the cache.
treat OS page manager (especially Linux) more gently

Batch up mprotect() calls when cleaning up a place. Hopefully,
this will avoid ENOMEM errors from mprotect() on DrDr's build.
avoid compiler warnings