Commit Graph

21411 Commits

Author SHA1 Message Date
Matthew Flatt
e05e549021 streamline `vectorof' contact implementation
Saves about 10% in a benchmark that applies a
`vectorof' contract frequently.
2012-04-03 18:36:27 -06:00
Robby Findler
5dad811a5d rackety 2012-04-03 17:08:00 -05:00
Robby Findler
404b4da138 avoid allocation for 'paren' structs 2012-04-03 17:08:00 -05:00
Stevie Strickland
f37ff698b4 Rewrite hash-keys so that only keys, not values, are accessed.
This distinction is important after the introduction of chaperones and
impersonators, since accessing a key and accessing its corresponding value
may have different effects, and hash-keys should only trigger the former.
2012-04-03 12:52:03 -04:00
Matthew Flatt
d635b93644 slideshow/pict: sync text' size limit with font%' 2012-04-02 16:45:37 -06:00
Matthew Flatt
3bf5389237 racket/gui: fix `slider%' range checking
Closes PR 12669
2012-04-02 15:25:47 -06:00
Matthew Flatt
cb7200295e ffi/unsafe/com: fix custodian and multi-instance problems 2012-04-02 14:36:23 -06:00
Robby Findler
f5449f38e8 adjust url-exception so it recognizes the same exceptions it used to 2012-04-01 22:16:35 -05:00
Matthew Flatt
2bf05a8df3 ffi/unsafe/com repairs 2012-04-01 12:58:16 -06:00
Asumu Takikawa
4c022046d5 Fix contract on set-argb-pixels 2012-04-01 01:54:33 -04:00
Robby Findler
4360e62c22 improve the gui for specifying the submodules to run 2012-03-31 22:46:44 -05:00
Robby Findler
033536e746 select the contents of the search string in the 'search in files' dialog
closes PR 12667
2012-03-31 12:12:50 -05:00
Asumu Takikawa
f13d9a56d2 Update racket/draw contracts. 2012-03-31 11:46:04 -04:00
Asumu Takikawa
94a837fcc8 Remove dynamic checks from racket/draw.
Now that this code has contracts, these checks are
redundant. The contracts are at least as precise as the
checks are.
2012-03-31 11:46:04 -04:00
Asumu Takikawa
c758f65a0b Uncomment & fix racket/draw contracts
Use dummy values (see also racket/snip) to avoid cycles.
2012-03-31 11:46:04 -04:00
Matthew Flatt
c83df32440 try to improve docs for `make-keyword-procedure' 2012-03-31 07:45:53 -06:00
Mike Sperber
cb438298cd Synch German string constants with latest. 2012-03-31 14:06:08 +02:00
Jay McCarthy
1d19a844f4 Moving tests re: Sam 2012-03-30 23:54:42 -06:00
Asumu Takikawa
0f5f611f12 Fix docs for get-selected-text-color method. 2012-03-31 00:43:43 -04:00
Asumu Takikawa
5340309080 Make has-alpha-channel? return a boolean.
This method used to violate the documented contract.
2012-03-30 23:34:35 -04:00
Asumu Takikawa
2e1d59f7b2 Class contracts for racket/snip. 2012-03-30 23:34:35 -04:00
Asumu Takikawa
303110583b Class contracts for racket/draw. 2012-03-30 23:34:35 -04:00
Asumu Takikawa
d7fefc848b Fix requires to avoid circular dependencies. 2012-03-30 23:34:34 -04:00
Robby Findler
8e35fd01a5 forgot the result contract 2012-03-30 20:57:53 -05:00
Robby Findler
4b57482298 adjust DrRacket submodule-running options so the user
has more control over which ones get run
2012-03-30 16:42:34 -05:00
Robby Findler
92e8740105 add the #:validate argument to get-text-from-user 2012-03-30 16:42:34 -05:00
Kevin Tew
f777020eef [Distributed Places] Renamed uses of vm to node, removed export of coercion functions 2012-03-30 11:58:39 -06:00
Robby Findler
97b76d474e some cleanups, thanks to Eli 2012-03-30 10:44:42 -05:00
Robby Findler
7e86c04847 update module language part of language-test.rkt for submodules 2012-03-30 10:44:42 -05:00
Matthew Flatt
2785f9cf9a fix priority of refresh for SGL example
While it looks this example was always broken in a sense, the
`racket/gui' make the problem more prominent.

Closes PR 12662
2012-03-30 07:56:43 -06:00
Robby Findler
5c7a299c04 make DrRacket run test submodules (in the module language) by default.
Add an option in the language dialog to disable that behavior
2012-03-29 22:12:14 -05:00
Jay McCarthy
1ce1277d1e Set the name statically re: Robby 2012-03-29 18:51:02 -06:00
Robby Findler
86572cc8c3 adjust the contract on string->url so that it actually catches all of
the errors that would be signalled by the body. also, remove
url-regexp from the exports (it was only recently added)

I believe this eliminates two of Eli's concerns:

  - the contract is no longer so painful to read

  - the performance is more reasonable.

Specifically, for the performance, here are the times I see to call
string->url on "http://www.racket-lang.org":

no contract: any/c
cpu time: 564 real time: 566 gc time: 3

weak contract: (-> (or/c string? bytes?) url?)
cpu time: 590 real time: 590 gc time: 3

strong, regexp-based contract:
(-> (or/c (not/c #rx"^([^:/?#]*):") #rx"^[a-zA-Z][a-zA-Z0-9+.-]*:") url?)
cpu time: 632 real time: 633 gc time: 5

This appears to be about a 10% slowdown for the regexp-based contract
over the weaker contract.

related to PR 12652
2012-03-29 19:31:32 -05:00
Jay McCarthy
1fd8865e23 Fixing PR12658 2012-03-29 16:06:32 -06:00
Jay McCarthy
13e36fbec4 Autobib errors with no authors or dates on a bib entry. Test included. 2012-03-29 15:44:27 -06:00
Matthew Flatt
d67997293d switch places tests to raco test' instead of racket -tm' protocol 2012-03-29 14:55:14 -06:00
Matthew Flatt
63a4414863 make --run-if-absent' the default mode for raco test'
This convention makes it easier to deal with a set
of ".rkt" files that implement tests, while a `test'
module implements a `main'-like split for some of the
files.
2012-03-29 14:55:14 -06:00
Matthew Flatt
96e4fa0d13 promote raco test'; demote raco unpack' 2012-03-29 14:55:14 -06:00
Matthew Flatt
738cac3d24 generalize `malloc' to allow a 0-sized request
Past experience suggests that this is generally better than adding
`zero?' tests at various places that might otherwise call `malloc'.
2012-03-29 14:55:14 -06:00
Siddharth Agarwal
a73b9bb788 ffi: extend _list and _vector to support zero-length output 2012-03-29 14:55:14 -06:00
Danny Yoo
0cfb3f1d39 fix flush for `make-pipe-with-specials'
Closes PR 12659
2012-03-29 14:55:13 -06:00
Matthew Flatt
f301838511 fix a syntax-object problem related to module bindings
The immediate symptom was that `(provide (all-defined-out))'
didn't work in a `module+'-based submodule, but there were
also non-submodule ways to expose the problem.
2012-03-29 14:55:13 -06:00
Vincent St-Amour
69899c33fc Fix type of expt.
Closes PR 12660.
2012-03-29 15:39:24 -04:00
Vincent St-Amour
054f4d9b56 Fix optimization of first, rest, etc. 2012-03-29 15:39:24 -04:00
John Clements
fd6dddb8d0 deleted test-docs-complete.rkt 2012-03-29 10:10:01 -07:00
Matthew Flatt
dfca7d89d9 documentation clarification 2012-03-29 06:46:58 -06:00
Matthew Flatt
140a50d04e fix a problem with submodule expansion 2012-03-29 06:46:58 -06:00
Robby Findler
cd576ffb3c adjust the easter egg test suite so it can be loaded by Sam's lib
to run all kinds of days.

also fix a bug so that it properly resets the prefs back to the
defaults (and thus has to explicitly set the language)
2012-03-29 07:32:18 -05:00
Kevin Tew
7fde2894d1 Distributed place cleanup due to feedback from Matthew
Removed use of (get-current-module-path)
Removed /2s
Removed use of vm and compute adjetives
2012-03-28 18:53:37 -06:00
Kevin Tew
bba967144b quote-module-name and quote-module-path now take an optional submodule path
(quote-module-name "..")
(quote-module-path ".." 'A 'B)
2012-03-28 18:52:02 -06:00
Jay McCarthy
f6b2913b26 Moving the place where formlet tech links go from the technical description to the tutorial 2012-03-28 14:37:40 -06:00
Robby Findler
a90d48975a use regexp-match? instead of regexp-match in regexp-based contracts 2012-03-28 10:59:31 -05:00
Matthew Flatt
6e5cf70c95 draw picts in DrRacket with 'aligned smoothing 2012-03-28 06:41:00 -06:00
Matthew Flatt
e7f286b87d fix `make-handle-brush' to retain original pointer
In case there's a finalizer attached to the pointer object.
2012-03-28 06:26:58 -06:00
Matthew Flatt
4b36e708a3 fix `record-dc%' problem with regions
Closes PR 12655
2012-03-28 06:26:58 -06:00
Robby Findler
a1446a037b be a bit more systematic with tabbing and magic square-bracket-ing for 'for's
also, add in for/sum and for/product
2012-03-28 07:21:09 -05:00
Jay McCarthy
86c1504c19 Removing an error message from dropping HTTP connections 2012-03-27 22:46:38 -06:00
Matthew Flatt
4f197f4ba9 racket/draw: add get-handle' to bitmap%'; add `make-handle-brush'
The `get-handle' method provides the underlying Cairo surface for
a bitmap, while the unsafe `make-handle-brush' function supports the
use of a Cairo surface as a `brush%'.

Also, add `racket/draw/unsafe/cairo-lib', which simplifies access
Cairo from external libraries. Documenting `racket/draw/unsafe/cairo'
might be better, but that's a lot more work.
2012-03-27 18:14:26 -06:00
Matthew Flatt
4735666cd9 scribble: for Latex/PDF output, use \makebox for precise pict widths
Otherwise, the width of a pict is implicitly rounded up, since
the PDF bounding box is an integer.
2012-03-27 13:14:54 -06:00
Robby Findler
676f744c1d add 'match-pattern?' 2012-03-27 12:21:17 -05:00
Robby Findler
fdf3fa6492 apply Andy's diff (and adjust the documentation correspondingly)
closes PR 12652
2012-03-27 12:21:17 -05:00
Matthew Flatt
b3002cfab0 add hinting configuration to `font%'
The default is that hiniting is enabled, which causes some text
metrics (notably width) to be rounded to integer values, which makes
spacing more consistent. This default is backward-compatible. The
non-default 'unaligned mode refrains from rounding, which makes metric
information scale correctly and improves output for PS/PDF (such as
Redex output).

The `text' function from `slideshow/pict' defaults to
disabling hinting --- which is consistent with its default to combine
text instead of drawing character-by-character -- so slides and Redex
inherit the improvement.
2012-03-27 11:16:27 -06:00
Sam Tobin-Hochstadt
2eeff9d1fc Revise `Path-String' wording. Thanks Robby. 2012-03-27 12:27:30 -04:00
Sam Tobin-Hochstadt
8968979422 Document relation between Path-String' and path-string?'. 2012-03-27 10:35:37 -04:00
Matthias Felleisen
1711ab96ba added vector->list 2012-03-27 10:19:52 -04:00
Robby Findler
e777796a74 fix recently introduced bug in drracket test suites 2012-03-26 17:13:42 -05:00
Robby Findler
617df05ef7 added a test suite for DrRacket that checks to make sure the Dear Dr
starts up on all of the days that have easter eggs (well, except 7/2,
since that one is hard to interpose on and hasn't changed in a long
time)
2012-03-26 15:43:56 -05:00
Robby Findler
b640b6b41c fix splash screen error handling code 2012-03-26 15:43:55 -05:00
Eli Barzilay
8203cf3769 v5.2.1 re-built installer sizes 2012-03-26 15:51:22 -04:00
Robby Findler
bef9e11272 re-unbreak DrRacket 2012-03-26 07:51:57 -05:00
Matthew Flatt
704c320131 unbreak DrRacket 2012-03-26 06:33:37 -06:00
Matthew Flatt
9143c1c7df fix `syntax/loc' to preserve properties 2012-03-25 19:25:35 -06:00
Matthew Flatt
2d87d48ebd make HTML rednering work when a `part' has not tags 2012-03-25 19:25:35 -06:00
Matthew Flatt
6c1e1635ab add missing "jfp.css" 2012-03-25 19:25:35 -06:00
Eli Barzilay
cffed0fab4 Test suite for `known-module', should have been included in the xrepl change. 2012-03-25 21:01:57 -04:00
Eli Barzilay
592d23f5b5 Minor improvement: use `make-rename-transformer' instead of a macro. 2012-03-25 20:57:53 -04:00
Eli Barzilay
cd4121548e Improve intro to the concept of phases, fix some scribble typos, reformat. 2012-03-25 20:57:52 -04:00
Eli Barzilay
89dee6f6c1 Xrepl improvements, mainly around the treatment of module names.
* Get rid of the concept of `modspec': `getarg' now has `require' for
  require specs and `module' for a module name (the latter is what all
  previous uses of 'modspec except for ,require really needed); command
  descriptions use "<require-spec>" and "<module>", documentation
  adjusted as well.

* `module-name?' etc turn to `known-module' and `known-module-name',
  with a saner behavior, and tests to keep it sane.

* This cleans up a lot of things.  Two specific points: ,switch works
  better with toplevel-defined modules (see the corresponding change in
  the test suite), and also fixes PR 12148.

* Ensure that ,sh commands return void.

* Add tests for ,r with non-atomic require spec, and for use of $F in
  ,sh commands.

* Improved the test suite, including uses of `module+' so each file can
  be run by itself to perform a subset of the tests.
2012-03-25 20:57:52 -04:00
Robby Findler
5280ef1517 clear the interactions text's undos from the drracket thread, not from the user thread 2012-03-25 17:25:48 -05:00
Robby Findler
0d6b825377 add a preference to control whether or not there is an extra
pixel of space in between lines in DrRacket.

This change is based on Matthew's experience having a look
at the font setup on the three platforms.

He writes:
>  * Mac OS X: the convention seems to be to add space between lines.
>   TextEdit, for example, looks like DrRacket: the maze has spaces.
>
>   (I can't find a font that makes the maze look right, actually, even
>   if I adjust the line spacing.)
>
>  * Windows: the convention seems to be that space is built into the
>   font. DrRacket (and SirMail) draw lines more sparsely than Notepad.
>
>   Perhaps consistent with the differing conventions, the height of
>   "Courier New" at 11-pixel size is 14 on Windows, 13 on Mac OS X.
>
>  * Unix: the convention seems to be to add space. DrRacket looks like
>   the default Terminal and Text Editor programs on Ubuntu.
>
>   The maze nevertheless looks right everywhere, because the glyphs
>   extend an extra pixel above the declared bounding box!
2012-03-24 20:20:05 -05:00
Sam Tobin-Hochstadt
c5e30d8af5 Use the correct #%app for applications of `local' bound identifiers in the student languages. 2012-03-24 16:04:08 -04:00
Sam Tobin-Hochstadt
a39001911c Improve filter for `path-string?'. 2012-03-24 16:04:08 -04:00
Matthew Flatt
ed05c385e8 coerce picts to PS/PDF in 'smoothed mode 2012-03-24 11:04:17 -06:00
Matthew Flatt
0b783f80b7 fix problem with measuring text and font substitutions 2012-03-23 15:55:35 -06:00
Jay McCarthy
dfb4bc112d Removing the thread previously introduced which is now no longer necessary given the real problem 2012-03-23 10:47:56 -06:00
Jay McCarthy
9b579d8c2a Fixing the error message from PR12443 2012-03-23 10:44:43 -06:00
Jay McCarthy
99f1cc44df redex-match violates its documented contract
This patch fixes the problem that the hole matcher may return an empty
list rather than a #f that gets sent to the caller of redex-match. I
re-ran the Redex tests and found no violations. However, I am not
confident that there isn't a more correct place to put this '() -> #f
replacement.

I will be immediately forwarding this push email to Robby to have him
check it.
2012-03-23 06:39:14 -06:00
Matthew Flatt
523ccff762 minor doc improvements 2012-03-22 19:19:33 -06:00
Matthew Flatt
ae89e210fb allow (submod "..")' as a shorthand for (submod "." "..")'
Also, `(submod ".")' is allowed as a module path; it's not useful,
but it makes the grammar slightly more regular.
2012-03-22 18:43:11 -06:00
Matthew Flatt
876bc6f02b doc corrections and improvements related to submodules
In particular, add `module+' to the Guide.
2012-03-22 15:12:55 -06:00
Kevin Tew
d4d5ca70fb Hold reference to original thread during BEGIN_ESCAPABLE in place-channel sync
Fixes several bugs related to killed threads that were in the middle of
syncing on place-channels.
2012-03-22 14:52:48 -06:00
Matthew Flatt
c1dbaff6b8 revise phases section in small ways to match the guide's style 2012-03-22 12:41:55 -06:00
Matthew Flatt
5cb3422ea9 semi-export ability to extract multiple images from gif 2012-03-21 19:37:46 -06:00
Robby Findler
1b0df5d48d fix rotate so that it can accept non-integral arguments
closes PR 12632
2012-03-21 19:45:45 -05:00
Ryan Culpepper
74ca931f5a more template improvements
- loosen pattern variable depth rules (now compatible with syntax)
- generalize ?? form to head-templates
- doc improvements
- propagate paren-shape property
2012-03-21 17:48:10 -06:00
Ryan Culpepper
df265ddc67 syntax/parse: eliminate old minimatch struct syntaxes 2012-03-21 17:33:08 -06:00
Ryan Culpepper
6c369f2563 updates to syntax/parse/experimental/template
- changed substitute to use closure-compilation
- added stress/perf test for templates
- updated minimatch with vector patterns
- split substitute into separate file, minimize dependencies
- do ellipsis optimization dynamically
- validate guides: check var indexes
2012-03-21 17:33:08 -06:00
Robby Findler
f77467311a specify 'angle's range 2012-03-21 16:59:53 -05:00
Jon Rafkind
a606f6614b [honu] add two more tests 2012-03-20 11:32:46 -06:00
Jon Rafkind
918c87e96b [honu] return the current expression when a semicolon is parsed 2012-03-20 11:32:46 -06:00