Skip to content

Commit

Permalink
threads doc: add DRM links for "block" and minor edits (#1631)
Browse files Browse the repository at this point in the history
  • Loading branch information
cgay authored Nov 22, 2024
2 parents 549aeb2 + eb9825b commit 70bdb8a
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions documentation/source/library-reference/dylan/threads.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ The dynamic environment
-----------------------

Dylan has an implicit notion of a *dynamic environment*, corresponding
to language constructs with *dynamic extent*. For example, the *block*
construct can introduce *cleanup-clauses*, and the *body* of the block
to language constructs with *dynamic extent*. For example, the :drm:`block`
construct can introduce *cleanup-clauses*, and the *body* of the :drm:`block`
is executed in a dynamic environment in which those cleanup-clauses are
active. *Handlers* and *exit procedures* are other examples of language
features related to the dynamic environment.
Expand Down Expand Up @@ -197,7 +197,7 @@ a property of the dynamic environment.
Thread variables can have new dynamic bindings created for them with the
macro :macro:`dynamic-bind`. Thread variables inherently have
thread-local bindings, so it is possible to re-bind a thread variable
dynamically using the Dylan construct ``*block* ... *cleanup*``. The
dynamically using the Dylan construct ``block ... cleanup``. The
:macro:`dynamic-bind` macro can be implemented in this way.

The thread-local nature of dynamically bindable variables may not be
Expand Down Expand Up @@ -769,7 +769,7 @@ Locks
let the-lock = *lock*;
if (wait-for(the-lock, *keys ...*))
block ()
*body*...
...*body*...
cleanup
release(the-lock)
end block
Expand Down Expand Up @@ -1820,13 +1820,13 @@ feature.

.. code-block:: dylan
*name* (*arg* 1, ... *arg* n)
*name* (*arg1*, ... *argn*)
The macro expands into this call:

.. code-block:: dylan
*name* -conditional-updater(*new-value*, *local-name*, *arg* 1, ... *arg* n)
*name* -conditional-updater(*new-value*, *local-name*, *arg1*, ... *argn*)
If the result of this function call is :drm:`#f`, the conditional update is
deemed to have failed.

0 comments on commit 70bdb8a

Please sign in to comment.