Commit Graph

232 Commits

Author SHA1 Message Date
Matthew Flatt
bdac2da540 enable scoll via copy 2015-11-25 05:07:44 -07:00
Matthew Flatt
33395ae1cf Cocoa: canvas DC copy improvement 2015-11-24 15:01:25 -07:00
Matthew Flatt
3873064c80 Cocoa: avoid over-eager refresh on OS X 10.11
A relatively late correction to refresh handling for El Capitan
(commit 9bf18505d5) causes a canvas to be refreshed too often
in some cases. Delay the refresh to restore the old timing
without the old bug.
2015-11-23 20:45:25 -07:00
Matthew Flatt
facc07e123 Cocoa: make copy method work for canvas DC
Also correct problems with disabled scrolling via `copy`.
2015-11-23 12:13:48 -07:00
Matthew Flatt
b29a7ae399 Gtk+ 3: open library in "global" mode to support the printer dialog
Opening a shared object in global mode risks conflicts with
other shared objects, but opening only one library that way
will hopefully not create conflicts.
2015-11-19 12:03:18 -07:00
Robby Findler
c0bbc70194 fix newline insertion position calculation
closes #21
2015-11-14 09:53:26 -06:00
Thomas Hilliker
acab3f14e1 added length parameter to call of snip insert 2015-11-11 16:54:05 -06:00
Matthew Flatt
9bf18505d5 fix refresh on El Capitan
When restoring autodisplay, need to check whether a display was
lost since display was suspended.
2015-11-07 06:45:34 -07:00
Matthew Flatt
746956a6ae skip clean-up of bitmap that isn't there
Backing-bitmap allocation might fail for a too-large window?
2015-10-29 07:43:45 -04:00
Robby Findler
35a288da6a allow meta-q for re-indent under unix 2015-10-25 21:14:26 -05:00
Matthew Flatt
172b7d5a56 implement GL screen sync for Windows canvases 2015-10-18 18:15:03 -06:00
Matthew Flatt
5a1d5557c4 implement GL screen sync for X11 canvases 2015-10-18 18:08:05 -06:00
Matthew Flatt
4daafb2357 implement GL screen sync for Cocoa canvases 2015-10-18 17:49:32 -06:00
Vincent St-Amour
8bfd1bb25e Add missing history annotations.
Please merge to 6.3.
2015-10-12 14:16:16 -05:00
Matthew Flatt
1d3a308532 Windows: fix WM_GESTURE handling
Broken boolean expression treated `next-scroll-is-change?` backward.
2015-10-06 21:31:34 -06:00
Matthew Flatt
a35b0e4831 another Mac OS X 10.11 refresh repair
Avoid frames that start out unpainted and end up with a too-dark
titlebar.
2015-10-06 21:24:10 -06:00
Matthew Flatt
216798a08c don't overpaint for clearing a canvas
Just in case clipping is not in place, since we have the right
rectangle handy anyway.
2015-10-06 09:42:28 -06:00
Brian Mastenbrook
d393e1a5bf Per http://msdn.microsoft.com/en-us/library/windows/desktop/dd562171(v=vs.85).aspx - adds support for SB_THUMBPOSITION events. Improves touchpad scrolling on Surface Pro 3, but not touch scrolling. 2015-10-05 06:35:20 -06:00
Matthew Flatt
b842b1feec Mac OS X 10.11: register control font to make it Pango-accessible
The new system control font is (intentially) not associated with a
font family, so it's inaccessible via Pango. A patch to Pango lets
us synthesize and register new families, so the control font can
be made accessible.
2015-10-04 20:36:17 -06:00
Matthew Flatt
cdc992ccb9 fix problems and consistency with fullscreen in frame%
The `fullscreen` method implied `show` on Mac OS X and Windows, but
not on Gtk, and a frae shown that was was not properly registered
as shown (e.g., the application could exit). For consistency, adjust
`fullscreen` to not imply `show`. Also, shift to a remaining frame
on Mac OS X when a fullscreen frame is closed.
2015-10-04 14:19:00 -06:00
Matthew Flatt
ea576d3177 Mac OS X 10.11: disable auto-update for suspended-flush windows
Previous versions of OS X seem to have automatically disabled
update for a window when flushing is disabled, but now we have to
do it ourselves, otherwise text editors can flicker a lot. (The
system change is probably related to the removal of the
`isFlushWindowDisabled` method of `NSWindow` (which was
deprecated in 10.10).
2015-10-04 12:11:21 -06:00
Matthew Flatt
52ac3da7bd allow 0 as initial value for manual scrollbars
Broken by 4ad47927.
2015-10-04 10:36:27 -06:00
Matthew Flatt
a948c8a2f0 avoid showing GC icon for a frame that is not shown
Commit ac2d39e0e1 has the side effect of showing the window when its
parent is still hidden.
2015-10-03 13:20:59 -06:00
Matthew Flatt
5f63b8c95b fix get-color-from-user on Mac OS X
Closes PR 15121

A better solution would be to implement the dialog, but given
how long it's been broken, maybe no one cares enough for that
to be worthwhile.
2015-10-02 15:56:42 -06:00
Matthew Flatt
ac2d39e0e1 fix GC blit for Mac OS X 10.11
The old strategy of switching a transparent window to solid and back
doesn't work on 10.11; it appears that queued messages must be handled
for the window to become visible, but that's not allowed during a GC.
The strategy for 10.11 and up create an OpenGL canvas, which acts as a
direct-to-screen drawing area that a GC callback can affect without
Racket-level allocation.
2015-10-01 22:02:37 -06:00
Robby Findler
1dca74da1d add earlier check to help suss out bad mixin compositions 2015-09-16 10:44:56 -05:00
Vincent St-Amour
1b8b9b94fe Use option contracts from racket/contract/option. 2015-09-14 14:33:32 -05:00
Robby Findler
e5cb582ed5 change the preferences defaults so that the default for bold in the color
schemes isn't "turn it off" but instead "defer to the default"
2015-09-14 09:43:19 -05:00
Vincent St-Amour
2423c91319 Add snip canvases to mrlib, from unstable/gui/snip. 2015-09-11 17:19:40 -05:00
Vincent St-Amour
231f8ad6a9 Use 2d instead of unstable/2d. 2015-09-07 18:40:58 -05:00
Robby Findler
5d815a0345 add the framework:standard-style-list:weight preference 2015-09-05 17:35:15 -05:00
Matthew Flatt
580e49f520 cocoa: fix placement of the file dialog as a sheet 2015-09-04 07:54:34 -06:00
Matthew Flatt
79a3a9ebf8 use cross-system-type for the mred installer 2015-08-27 20:59:33 -06:00
Matthew Flatt
73065a3ba6 fix propagation of 'deleted flag for low-level editor-canvas% 2015-08-27 20:52:34 -06:00
Matthew Flatt
cb8f2ef3fd GTK+ 3: fix auto-resize of message% 2015-08-27 15:28:09 -06:00
Matthew Flatt
b06ee46854 GTK+ 3: fix client->global in a frame with a menu bar
It seems that the right answer was produced in GTK+ 2 due to a
client-location callback, but change the code to use the intended
approach of tracking the menu height.
2015-08-21 16:19:47 -06:00
Matthew Flatt
3be6a90ec7 GTK+3: fix scrolling panels
Use a GtkLayout instead of GtkFixed for the outer widget,
so that it isn't forced to a large allocation by its
children.
2015-08-21 11:50:46 -06:00
Matthew Flatt
91a1ab52c3 GTK 3: try yet again to make panels work right
To enable mouse events to a panel, go back to using a
GtkEventBox for a panel, but make it non-visible so that
it doesn't interfere with the parent's background color.
The extra layers added in the previous commit are still
important to avoid turning that into a native window
(which can completely breaks background drawing). Finally,
add an extra layer just around tab panels so that events
get delivered to the tabs. (It's possible that the extra
layer will make the background wrong just around the tabs,
if the tabs don't fill the area above the panel; too bad.)
2015-08-21 08:31:48 -06:00
Matthew Flatt
2c6848f3c9 GTK 3: try to make panels work right 2015-08-19 15:59:11 -06:00
Matthew Flatt
f91e549e59 Cocoa: no child-window workaround in 10.10 (to avoid different bug)
A GC-icon display is implemented with a child window on OS X. In some
OS X version prior to 10.10 (not sure which ones), screen
reconfigurations did not move child windows properly relative to
parent windows, so all child windows were reset after a screen change.
In 10.10, meanwhile, Mission Control can cause screen-change
notifications, and adding a child window to a Mission
Control-minimized fullscreened window will goes terribly wrong.
Fortunately, 10.10 seems to update child-window locations correctly on
screen reconfigurations, in which case the old workaround that hits
the new bug can be skipped.
2015-08-19 12:05:47 -06:00
Matthew Flatt
999c603ba0 Cocoa: avoid showing GC blits when canvas is hidden 2015-08-19 12:05:24 -06:00
Matthew Flatt
4f3216f55a fix GC blit resizing
Conversion of a bitmap to the specified size was broken and made more
broken by recent changes.
2015-08-19 11:59:29 -06:00
Matthew Flatt
4453642e52 GTK+ 3: make panel's event box invisible
Making the event box invisible prevents painting a gray
background when placed over a different background (such
as a table panel that is given a different background by
its theme).
2015-08-19 10:35:14 -06:00
Matthew Flatt
312456d1bb GTK+ 3: treat combo-field% canvas like transparent canvases
The canvas part of a `combo-field%` needs to be non-native
(in the GdkWindow sense), so treat it like a transparent
canvas.
2015-08-19 08:18:20 -06:00
Matthew Flatt
0fc8ef6492 GTK+ 3: fix flicker with transparent canvases
Restore the use of freeze & thaw on transparent canvases, but
ensure that the implementation underlying the GDK window won't
change while a freeze is in effect.
2015-08-18 17:34:24 -06:00
Vincent St-Amour
8d8eaf0a41 Move prefs:get/set from unstable/gui/prefs to framework/preferences. 2015-08-18 16:41:25 -05:00
Vincent St-Amour
75aed14d55 Move framework/notify docs from unstable docs. 2015-08-18 16:41:25 -05:00
Vincent St-Amour
c83a1cbd4d Export using framework naming conventions. 2015-08-18 16:41:25 -05:00
Vincent St-Amour
52e94b1c9e Fix pointers. 2015-08-18 16:41:25 -05:00
Vincent St-Amour
77f58c1e3a Move unstable/gui/notify to framework/notify. 2015-08-18 16:41:25 -05:00
Matthew Flatt
55c4eb22e4 GTK: fix field use before definition
Fix the ordering of a field definition due to recent changes for
GTK+ 3. Also, limit the new behavior to GTK+ 3.
2015-08-18 15:11:45 -06:00
Matthew Flatt
d1736765b6 add get-gl-client-size to canvas%
GL scaling in a canvas depends on a combination of the `gl-config%`
setting and the platform, so `get-gl-client-size` takes into account
both.
2015-08-18 15:10:02 -06:00
Matthew Flatt
018dbd6add fix get-unscaled-client-size docs and Win32/GTK implementations
Fix `get-unscaled-client-size` for Win32 and GTK scaling, and make the
docs more generally sensible.
2015-08-18 15:10:02 -06:00
Matthew Flatt
92842cd195 unbreak windows 2015-08-18 15:10:02 -06:00
Matthew Flatt
e67865a8ba remove unnecessary finalization (GTK+ 3)
Essentially the same as the GTK+ 2 repair.
2015-08-18 10:58:13 -06:00
Matthew Flatt
1c65d669f3 remove unnecessary finalization (GTK+ 2)
Remove a misguided attempt to improve finaliation while
making GTK+ 3 changes, although this change affected only
GTK+ 2.
2015-08-18 10:28:44 -06:00
Matthew Flatt
ef07121b9f recognize GTK+ 3 scroll events 2015-08-18 09:35:32 -06:00
Matthew Flatt
9058a148f8 another try at fixing graphics for GTK+ 3
The `gdk_window_ensure_native` call for window freeze and thaw
really is needed, but since it is incompatible with transparent
canvases, don't use freeze and thaw at all for those.

Meanwhile, repair the backing bitmap for both GTK+ 2 and 3
for a transparent canvas when a scale is in effect. And go
back to using X11 bitmaps for backing a canvas on GTK+ 3;
I'm not sure that's the right choice, but probably putting
the bitmap data on the X server instead of client is the
right thing.

Finally, restore GL bitmap support (partly by using X11 bitmaps
to back a canvas).

GL rendering to a canvas with a backing scale is not yet right,
either for GTK+ 2 or 3.
2015-08-18 09:01:28 -06:00
Matthew Flatt
8ee481840c fix transparent canvases on GTK+ 3
For GTK+ 2, we used `gdk_window_ensure_native` to make sure
that freeze and thaw work. For GTK+ 3, `gdk_window_ensure_native`
seems not to be needed and prevents a canvas from drawing over
its background.
2015-08-17 20:11:40 -06:00
Matthew Flatt
63a62b0832 fixup for old versions of GTK+ 2
Restore support for Debian Lenny, at least.
2015-08-16 20:55:39 -06:00
Matthew Flatt
3f4302e948 hide editor-canvas%'s => blink timer expires
Ensure that a blink timer for a canvas stops running
if the canvas becomes hidden. Otherwise, though a race
condition, it's possible for a GUI program to never
terminate if a "focus-out" event gets lost.
2015-08-16 20:55:35 -06:00
Matthew Flatt
f42356da3f Support and prefer GTK+ 3 on Unix/X
The main advantage of GTK+ 3 is better support for HiDPI
displays. If GTK+ 3 libraries are not available or if the
`PLT_GTK2` environment variable is defined, GTK+ 2 is used
as before.
2015-08-16 20:55:35 -06:00
Robby Findler
204c0b6694 fix bug in spell checker refactoring from 3dcecc00 2015-08-14 05:48:29 -05:00
Matthew Flatt
9a1d8f7215 unbreak framework 2015-08-13 10:51:46 -06:00
Robby Findler
3dcecc00ae refactor to do some random testing 2015-08-13 09:11:09 -05:00
Matthew Flatt
bf79fb427c ignore system scaling factor if it's not a positive rational 2015-08-04 15:45:30 -06:00
Matthew Flatt
54de09f30e add PLT_DISPLAY_BACKING_SCALE
Also, fix conversion of @2x bitmaps to pixbufs at 2.0 scale.
2015-08-03 20:44:29 -06:00
Alexis King
63b27a8eeb Use a regular expression to indent for loops in framework 2015-08-02 22:08:52 -05:00
Matthew Flatt
e7399f2bcc another repair
(Mangled the previous commit.)
2015-08-01 19:14:05 -06:00
Matthew Flatt
84a5dfb367 fix HiDPI detection
Work (in unscaled mode) on systems where the relevant
setting is not available.
2015-08-01 19:08:50 -06:00
Matthew Flatt
5b7bf69a13 HiDPI support on Unix (Gtk2)
Support GUI scaling in much the same way as on Windows, where
the OS setting ("org.gnome.desktop.interface.scaling-factor"
times "...text-scaling-factor") determines the scale that is
used for both graphics and GUI sizing.

As I understand it, a complete solution requires porting to
Gtk3. With Gtk2, the graphical part of a widget doesn't scale.
Text and image labels should scale correctly, though.
2015-08-01 18:06:12 -06:00
Sam Tobin-Hochstadt
60410356cc Pass strings to raise-type-error.
Closes PR 13178.
2015-07-30 14:35:18 -07:00
Robby Findler
f91ec3df28 fix all-string-snips? predicate 2015-07-25 16:44:22 -05:00
Robby Findler
2d654de678 use the proper preferences panel 2015-07-22 12:18:32 -05:00
Robby Findler
b528e0e682 limit font sizes to exact integers in [0,255] 2015-06-26 10:47:12 -05:00
Robby Findler
a5d55ff817 add the close-when-hidden? argument to in-terminal 2015-06-08 22:36:28 -05:00
Robby Findler
91dd69ba8d a hack that tries to make it so that the open-recent menu
item is wrong less often
2015-06-05 09:37:23 -05:00
Robby Findler
1db898cd00 fix indentation for datum-case 2015-06-05 09:37:12 -05:00
Robby Findler
0d3ad12362 guard the result of start-skip-spaces better
closes PR 15087
2015-06-03 18:00:54 -05:00
Matthew Flatt
6ed4157c51 fix boundary case for responding to horizontal scroll request 2015-05-21 08:52:01 -06:00
Matthew Flatt
12612670f6 editor-canvas%: fix scroll refresh when scroll bars are hidden 2015-05-21 08:52:01 -06:00
Jay McCarthy
6fa420d947 add get-scaled-client-size 2015-05-20 12:59:51 -04:00
Matthew Flatt
b882281b33 canvas% on-scroll: call in non-atomic mode
Add a missing exit from atomic mode on the way to an overidden
`on-scroll` method.

Closes PR 15068
2015-05-19 14:01:07 -06:00
Jay McCarthy
bc87ded206 adding version requirement for hires-mode 2015-05-19 14:59:33 -04:00
Matthew Flatt
030a02a53c add {get,set}-area-selctable to pasetboard% 2015-05-16 09:05:22 -06:00
Robby Findler
6dcdb9744f use the info-frame's idea of which editor is important for the
goto-line shortcut
2015-05-12 11:24:54 -05:00
Robby Findler
d1e3a991cd disable overwrite mode when the overwrite keybindings are disabled 2015-05-12 09:02:53 -05:00
Robby Findler
ab998c9f53 add all-string-snips<%> and all-string-snips-mixin
This is pulled out of DrRacket, mostly just to be able to add test cases
2015-05-09 11:17:54 -05:00
Robby Findler
d9fd94f608 fix handling of snip%s that don't have a snipclass 2015-05-04 18:01:47 -05:00
gfbee
860f14b7ed Typo 2015-05-04 10:29:21 -05:00
Jay McCarthy
be6bd0160c supporting opengl hires mode 2015-05-03 08:13:22 -04:00
Robby Findler
2517366ea3 bump version number for snip-special change 2015-05-02 17:50:28 -05:00
Robby Findler
469add8d57 add 'snip-special's to text:ports<%> in the framework
related to PR 15049
2015-05-02 17:49:19 -05:00
Jay Kominek
f71f1c3ccb win32 support for frame% fullscreen and is-fullscreened? 2015-05-01 12:39:55 -06:00
Jay Kominek
eb2b279712 gtk support for frame% fullscreen and is-fullscreened? 2015-05-01 12:39:33 -06:00
Robby Findler
955eb9755c remove problematic and unecessary syncronization 2015-04-30 09:01:46 -05:00
Robby Findler
c33027cfea refactor to separate the two modes of flushing into their own separate pieces of code 2015-04-30 08:57:53 -05:00
Robby Findler
42f50a7c08 only set the extension to .rkt if it looks like it isn't set to anything useful already 2015-04-19 07:22:45 -05:00
Robby Findler
cb651731d0 refactor to introduce compute-amount-to-indent 2015-04-17 11:37:09 -05:00
Robby Findler
20520bf88e small tweaks to scribble indentation
- try to avoid special-casing blank lines as much
- when there are close curley braces all alone on a line,
  count the line as outside for the purposes of identing
2015-04-17 11:36:06 -05:00
Robby Findler
e4e164ff82 bump version number so drracket can depend on changes in 134144a and 6ddf433 2015-04-10 17:11:42 -05:00
Robby Findler
134144a4ce generalize coroutines so the pause function optionally takes
into account the amount of cpu time used
2015-04-09 21:16:55 -05:00
Robby Findler
6ddf433c3e add missing identifiers to color:text<%> 2015-04-09 21:14:39 -05:00
Neil Toronto
7541838b78 Check for X errors as well as NULL contexts to work around broken graphics drivers
From the ARB_create_context_profile standard:

  On failure glXCreateContextAttribsARB returns NULL and generates an
  X error with extended error information.

Some NVIDIA drivers on Linux won't return a core profile. When they don't,
they're supposed to return NULL as well as generate an X error, but they
only generate an X error and return a non-NULL, garbage context. This is
not only nonstandard behavior, but lame. It's a major pain to check for X
errors. But whatever, NVIDIA, you big old gorilla.

This may or may not fix segfaults some people are having with Pict3D. If
it does, they won't have to use (current-pict3d-legacy? #t) anymore.
2015-03-16 10:53:10 -04:00
Robby Findler
724d8d7bda add a test case for capitalize word 2015-03-14 13:05:27 -05:00
Robby Findler
ce926b4692 pull the keybindings code out of the framework compound unit structure 2015-03-14 13:05:27 -05:00
Sam Tobin-Hochstadt
9cc25592c3 Use object-or-false=? on snip admins.
Fixes PR 15002.
2015-03-10 19:57:57 -04:00
Max New
63038285e5 Delete trailing whitespace on return 2015-03-10 09:28:04 -05:00
Daniel Feltey
93a21dd7cd Use object=? instead of eq? to handle equality for contracted objects 2015-03-05 14:10:47 -07:00
Asumu Takikawa
b3457212d2 Fix write-gif function in mrlib
Broke in API changes from commit
5066731b25
2015-02-25 17:03:35 -05:00
Robby Findler
cf6a3d6ecb change backspace in overwrite mode to be more what one
might expect it to be
2015-02-12 15:31:08 -06:00
Matthew Flatt
ff6b409f28 Cocoa: avoid atomic-mode problems in clipboard
Get data from a clipboard client before going into atomic mode. This
correction can avoid an "about to suspend in atomic mode" failure,
particularly if a snip fails to copy correctly.
2015-02-05 10:33:47 +01:00
Robby Findler
7a3c102d1c add pulled-point to 2htdp/image's core 2015-02-01 14:39:37 -06:00
Gustavo Massaccesi
5a126f552e Change color in editor: Grey -> Gray 2015-01-30 13:27:08 -07:00
Robby Findler
d8f090957f fix definitely-same-image? for the image-snip case
closes PR 14951
2015-01-28 21:39:47 -06:00
Robby Findler
5df277c2d6 adjust size limitation when building bitmaps for 2htdp/image images
so that it limits the total size of the bitmap, instead
of limiting based on the width and height independently
2015-01-24 14:43:09 -06:00
Matthew Flatt
99a04d5f52 cocoa: get file-dialog results atomically
Otherwise, the NSURL object that is returned from the dialog can
be relased before we get the result.
2015-01-23 15:37:37 -07:00
Robby Findler
027ce3bdc2 fix drawing bug in line-numbers and special-first-line support
This drawing bug was that the DC's state wasn't being
initialized all of the way. In particular, the text-mode
wasn't being set and so, in rare occasions, other drawing
code would (legally) leave it in 'solid mode with a non-white
background color also set. Which would cause those two things
to draw incorrectly.
2015-01-15 16:31:26 -06:00
Matthew Flatt
1185faa590 cocoa: adjust key events for empty Ctl- combos and special Option
In particular, restore key handling that makes Ctl-Space produce an
event with a Space character. Also, restore `special-option-key`
support, while correcting the documentation to say what
`special-option-key` and `special-control-key` actually do.

Closes PR 14934
2015-01-14 14:08:28 -07:00
Matthew Flatt
60611bc081 cocoa: fix focus method
Don't confuse "should the Tab key advance the focus to this window?"
with "can this window have the focus?".
2015-01-11 11:05:36 -07:00
Robby Findler
d0561137b5 extend curves in 2htdp/image so they can be filled 2015-01-10 19:43:13 -06:00
Matthew Flatt
31231a6a8d narrow dependencies on Carbon
(reduced Carbon footprint?)
2015-01-09 08:37:38 -07:00
Jens Axel Søgaard
4dc47ef413 Compute other-key-codes
Use UCKeyTranslate to compute and store other-key-codes in the key-event.
2015-01-09 08:11:02 -07:00
Jens Axel Søgaard
fb0356d2fb Bindings for UCKeyTranslate
Bindings for UCKeyTranslate.
UCKeyTranslate converts a combination of a key-code, a modifier key state, keyboard layout and dead key state to a unicode string.
2015-01-09 08:11:01 -07:00
Matthew Flatt
de783c8378 avoid crashing via GCed racket/gui instance 2015-01-06 19:54:52 -07:00
Robby Findler
927289cd8e make the search/replace button actually finish
all the internal work before returning from the button callback

closes PR 14906
2014-12-30 11:59:30 -06:00
Robby Findler
83eb701b2b add definitely-same-image? to mrlib/image-core 2014-12-30 10:35:13 -06:00
AlexKnauth
237a24261d fix typo (open-input-string) -> (open-output-string) 2014-12-26 01:30:07 -06:00
Robby Findler
c494bf367e protect against errors while loading color schemes
closes PR 14884
2014-12-13 14:37:18 -06:00
Robby Findler
9551380791 add after-set-port-unsaved-name and set-port-unsaved-name 2014-12-11 21:33:42 -06:00
Robby Findler
df7cccdb43 fix queue manipulations in text:ports-mixin
closes PR 14871

test case included in drracket repo
2014-12-08 13:24:57 -06:00
Sam Tobin-Hochstadt
135e357a37 Remove extra directories. 2014-12-02 02:33:07 -05:00