Split images/icons/misc into images/icons/symbol and images/icons/misc
Updated tests
Fixed Gtk assertion failure in Macro Stepper (came from "about" dialog being created before the stepper window was shown; fixed by creating it on demand)
Changed Stepper similarly (though there was no assertion failure)
Put a quote in the Macro Stepper logo
Portable recycle-icon
Removed recycle unicode from the docs (was causing PDF build to fail)
Internal API fixes
Please merge into release
(cherry picked from commit ea68677d2f)
Added lambda icon, foot icon, search forward/back icons
Doc fixes
Stepper: icons on buttons, logo and about dialog
Macro stepper: icons on buttons, logo and about dialog
Please merge into release
(cherry picked from commit 4a09c04581)
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.
The real function name is longer, of course.
discovered quite a number of strange old errors. Also fixed an
error on setting current-directory when the tab has no directory,
no infrastructure for testing this automatically.
Requires are now handled correctly, except that required bindings aren't treated
as top-level (that is, their reductions are skipped). Should be an easy fix...
in lazy/lazy.rkt
- add 'lazy-op stepper-syntax-property to op in lazy #%app
in stepper/private/annotate.rkt
- in varref-abstraction, check for 'lazy-op operator for toplevel vars, and use
varref-break-wrap if property = #t
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/stepper-tool.rkt
- in simple-module-based-language-convert-value, add print and trad-write case
in stepper/private/macro-unwind.rkt
- in fall-through, add to procedure-extract-target case
in drracket/tool-lib.rkt
- in contract for drracket:language:simple-settings-printing-style, add
'trad-write
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 macro-unwind.rkt:
- in unwind-mz-let, last line, ",label" should just be "label" (no unquote)
in reconstruct.rkt
- in reconstruct-completed-define, last line, arg to attach-info should be a
quasisyntax (#`), not syntax (#')
- 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