this situation:
<a x="<b
and, in particular, not do this:
<a x="<b></b>
Looking into this a bit, it isnt' clear how to do this without actually
parsing the whole buffer, something that doesn't seem to be worth
the effort with the amount of use that the XML boxes seem to get
So, for now: closes PR 5440
remove stepper/private/lazy-highlighting.rkt
in stepper/private/macro-unwind.rkt:
- in fall-through, add lazy-proc to lazy #%app special case
in stepper/private/model.rkt
- in send-step, dont use highlight-table, just match top called fn in mark-list
instead
in tests/stepper/
- add lazy stepper tests for filter and fold
in stepper/private/macro-unwind.rkt
- in fall-through, add special #%app case for force
in stepper/private/reconstruct.rkt
- in recon-inner, in called app case, combine force case with other lazy fns
in tests/stepper/
- add test for lazy cond unwinding problem
- in recon-inner, in called app case
- add other force fns to force case (!!, !list, !!list)
- add other list fns
(list?, length, list-ref, etc)
in stepper/private/lazy-highlighting.rkt
- add various list fns (list?, length, list-ref, etc)
in stepper/private/macro-unwind.rkt
- in unwind-cond, disable check of user-source and user-position
in tests/stepper/
- add test for various list fns
- modify cond for stepper
- add support for multiple values in stepper
- add inspector to multiple-values struct
- hide split-values call in ~define-values
in tests/stepper/
- add tests for cond
in stepper/private/annotate.rkt
- in annotate/top-level, allow arbitrary top-level terms
(no error in else case), otherwise exprs like let throws error
in stepper/private/
reconstruct.rkt
lazy-highlighting.rkt
- add support for eq? eqv? equal? lazy fns
in stepper/private/marks.rkt
- in mark-binding-value, add exception handler to catch undefined vars, so
display-mark in break works with recursive fns
in /tests/stepper/automatic-tests.rkt
through-tests.rkt
- add inf list example from icfp paper
in stepper/private/model.rkt
- refactor send-step to use cond instead of unless
- in send-step, when highlight-stack = null and last-rhs != null (and lhs !=
last-rhs), send a step with lhs = last-rhs (previously skipped whenever
highlight-stack = null)
- basic filter example wasnt showing result without this
- in icfp inf list example, this shows some intermediate forcing states
- all other existing tests passed
- in recon-inner, called app case, add first fn to list of special lazy fns
- in recon-value, add handling of running promises not found by
recon-inner search
- add optional so-far param to recon-value
- add unknown-promises-table and add case in recon-value to handle
in stepper/private/lazy-highlighting.rkt
- add (first,0) pair
in stepper/private/model.rkt
- modify lazy fn "skipping" (from lazy-highlighting.rkt) to use the skips
only when last-rhs-exp = null; o.w. skipping is handled solely by
examining last-rhs-exp
in tests/stepper/
- add take example from icfp paper
- add tests for unknown promises
- in recon-value, add cases to handle list and cons
- in recon-inner, in app called case, add case to handle lazy list fns
that contain unannotated !'s (ie cadr, cdddr, second, third, etc)
in stepper/private/model.rkt
- add highlight-stack
- in send-step, add various skip conditions when lhs = ellipses
add file stepper/private/lazy-highlighting.rkt
in tests/stepper/through-tests.rkt
tests/stepper/automatic-tests.rkt
- add tests for list and cons fns
Also, update the message in existing files. Change the instructions to
use DrRacket or DrScheme version <previous-version>, and for really old
files (pre-v4), just use 4 for the version. Also just drop the second
paragraph in these files -- "Most likely, it was created by" is not
needed when for these files we know that this is true.