Commit Graph

274 Commits

Author SHA1 Message Date
Robby Findler
6b16c0fd6b rackety & add test suite 2016-07-24 04:02:42 -05:00
Robby Findler
feaff67418 fix bug in searching (start from the correct editor) 2016-07-24 04:02:41 -05:00
Leif Andersen
e293d24da7 Apparently find-graphical-system-path finds the correct gracketrc file 2016-07-23 13:09:01 -04:00
Robby Findler
52300ff032 highlight search hits in embedded editors 2016-07-23 09:18:17 -05:00
Robby Findler
28ca7c6d14 improve the situation for search results in nested editors
This doesn't quite fix all the problems, as the outer editor doesn't get callbacks
when the position changes in the inner editors (and the inner ones aren't propogating
the callbacks currently) so the "n/m matches" display doesn't update properly in that
case. Also, it doesn't (yet) try to draw the search bubbles for embedded editors

Still, progress has been made; at least the bar is not red anymore when there are
hits only in embedded editors

closes PR 12786
2016-07-23 03:00:00 -05:00
Leif Andersen
cb81e3768d Woops, racket/gui/interactive should load .gracketrc.
(Cannot use (find-system-path 'init-file) because it will always
evaluate to .racketrc, even in gracket (where it should be
.gracketrc).)
2016-07-23 02:27:40 -04:00
Leif Andersen
0ae02837e5 Add interactive file to be used by Racket core. 2016-07-23 00:33:46 -04:00
Robby Findler
66bda1c9c8 fix marshalling bug in syntax-browser
closes #35
2016-07-22 03:25:04 -05:00
Robby Findler
d73fc00749 protect DrRacket against bugs in snipclass marshalling code
I believe this applies only when DrRacket already trusts
the handler, so this is just a debugging aid, not true protection

closes racket/drracket#49
2016-07-22 03:09:48 -05:00
Robby Findler
6941a07998 fix the "Show Active Keybindings" menu item
for the case where one keybinding's keys is a prefix of anothers (and the keymaps are chained)
2016-07-21 22:13:55 -05:00
Robby Findler
943582763e correct error checking for keymaps 2016-07-21 21:42:17 -05:00
Robby Findler
8272f99035 adjust tabifying behavior to mess with blank lines less
Be more like Emacs: when indenting only change the whitespace
on a blank line when indenting just a single line (e.g. when
hitting return or when hitting tab with a selection that
doesn't span multiple lines)

closes racket/drracket#65
2016-07-07 11:06:25 -05:00
Robby Findler
b10086ed13 add info the docs about between methods that create separator items 2016-07-07 11:06:25 -05:00
Robby Findler
0b2be755e4 do even less work before queueing the callback in hopes it is guaranteed to get queued
closes PR 15317
2016-06-30 10:14:10 -05:00
Robby Findler
af33c70558 dont use get-keyword-type as the parameter name 2016-06-28 10:12:26 -05:00
Robby Findler
f629545c2d use pretty-write when printing in write mode 2016-06-25 09:41:52 -05:00
Robby Findler
c3322ca05d adjust indentation so that hyphens at the start of sexp causes subsequent
lines to not indent
2016-06-22 20:44:29 -05:00
Robby Findler
9f3635f399 adjust indentation so that a sequence of hyphens always moves to the start of the sexp 2016-06-22 20:41:17 -05:00
Matthew Flatt
e01e970722 fix a problem in WXME decoding
Thanks to Robby for the test case and for narrowing down the problem.
2016-06-06 09:20:47 -06:00
Robby Findler
7c857706d7 added an optional argument to compute-racket-amount-to-indent 2016-06-05 08:41:10 -05:00
Robby Findler
48d2de53d5 ispell (not aspell) doesn't seem to deal correctly with non-ASCII words
so just don't try to spell check them unless we know we have aspell
2016-05-29 20:02:47 -05:00
Robby Findler
c3f4b5dedd generalize set-interactive-write-handler & use it in text:ports-mixin
to avoid duplicate code between the drracket support for printing and
for write/display; also add a special case for 2htdp/image images
because they can be trusted across the boundary between DrRacket's
implementation and the user's program (as there is no way to embed
arbitrary code into a 2htdp/image image)
2016-05-28 18:34:52 -05:00
Matthew Flatt
399cfe9c5b add 'hide-hscroll and 'hide-vscroll for panel% 2016-05-18 15:30:33 -06:00
Matthew Flatt
3e6fcf18bb Cocoa: fix enable method of choice% 2016-05-18 14:33:16 -06:00
Robby Findler
10425033b8 fix marshalling of embedded editors 2016-05-15 16:02:01 -05:00
Robby Findler
0863437394 dont allow undoing of the color changes that IO uses to indicate which port is which
closes PR 15291
2016-04-20 12:37:09 -05:00
Matthew Flatt
f0d10e9cc8 OS X: disable reordering of tabs in the new tab-panel% widget
Fixes racket/drracket#52
2016-04-17 20:59:10 -06:00
Matthew Flatt
2fa9b94683 repair to work with ancient Gtk 2016-04-17 14:30:31 -06:00
Matthew Flatt
6de1e4310c fix disable of tab-panel% with 'no-border 2016-04-15 21:59:13 -06:00
Matthew Flatt
fc813b32ca cooperate with tethered-executable builds 2016-04-14 16:21:16 -06:00
Matthew Flatt
32f8bfd90e repairs to work with old Gtk 2016-04-14 06:06:34 -06:00
Robby Findler
eb8d060f84 fix short circuiting computation for line number drawing
closes #30

please include in the release
2016-04-11 18:06:43 -05:00
Matthew Flatt
9ef883a79f Cocoa, 64-bit, 10.10 and later: use MMTabBarView
On 10.11 in 64-bit mode, showing a frame with a PSMTabBarControl
instance somehow causes the event loop to become occupied on
mouse movements, so that moving the mouse in a `2htdp/universe`
program is slow when more than one tab is open in DrRacket. The
modern MMTabBarView widget doesn't have that problem. Also, the
MMTabBarView widget has a Yosemite look (to replace Aqua).
2016-04-07 13:12:30 -06:00
Matthew Flatt
30c8202656 fix focus for windows within a floating frame
Make the `focus` method shift focus to a floating frame. Also, shift
focus away from the floating frame when `focus` is used in an window
within the current main frame.
2016-03-28 17:25:22 -06:00
Matthew Flatt
9fdc917295 unbreak splash dialog
Bug fix is by Robby.
2016-03-27 17:38:54 -06:00
Robby Findler
c4b0dffcfa try to help the search window to have the right size
in the case that the font size has changed since it was last open

(this doesn't seem to be a problem with only one tab and
may actually be a bug in the way editor canvases with set-line-count
enabled handle font size changes, I'm not sure, but this seems
to fix a fairly annoying behavior I run into)
2016-03-27 17:40:22 -05:00
Robby Findler
3da682ebe1 add syntax-parameterize to tabbing rules 2016-03-27 16:16:19 -05:00
Robby Findler
0b8598e9d0 remove useless code 2016-03-27 16:15:38 -05:00
Robby Findler
9a9ecb72fb fix bug in keybinding table construction 2016-03-18 09:42:31 -05:00
Matthew Flatt
ac0442b990 framework preferences: add option for Control+Alt as AltGr 2016-03-17 17:01:36 -06:00
Matthew Flatt
282a22b8f0 add any-control+alt-is-altgr
Thanks to Bert De Ketelaere for helping to sort out this new
behavior.
2016-03-17 16:39:40 -06:00
Matthew Flatt
2c5b1480f4 fix mouse wheel for GTK+ 3
Closes PR 15271
2016-03-15 13:28:13 -06:00
Matthew Flatt
c4ef1829fc Gtk: adjust handling of composed input
Intended to fix #29
2016-03-10 13:10:37 -07:00
Robby Findler
cf2859049a add a preference to control the maximum reflow width 2016-03-08 09:29:48 -06:00
Robby Findler
28406b9a76 remove the restriction that new preferences can be registered only before a snapshot is grabbed
also improve the docs a little bit and some Rackety
2016-03-08 09:29:03 -06:00
Robby Findler
da7a258da8 bring down below 102 columns and fix a set! expression
to actually have an effect
2016-03-07 08:30:32 -06:00
Matthew Flatt
2ab1fb319a rearrange dc fields to avoid undefined-checking chaperone 2016-03-02 08:42:55 -07:00
Robby Findler
ab063326fe change indentation strategy for sequences whose head is a keyword
assume that these are part of some internal structure of something
that, in general looks like

  (#:x 1 #:y 2 #:z 3)

and so prefer to indent like this:

  (#:x 1
   #:y 2
   #:z 3)

instead of like this:

  (#:x 1
       #:y 2
       #:z 3)
2016-02-25 10:37:44 -06:00
Matthew Flatt
be30bf721d Cocoa: avoid backing-dc failure on zero-sized canvas
Closes https://github.com/racket/racket#1255
2016-02-22 05:05:35 -07:00
Robby Findler
c8c8ce64eb use the right font for sizing the line numbers invalidate region
closes #41
2016-02-19 09:03:39 -06:00
Robby Findler
d88ba8d2cd fix on-scroll-to callback method when an editor has multiple canvases
closes PR 15252
2016-02-17 08:58:09 -06:00
Robby Findler
8e81b5346a don't color parens when the colorer is stopped 2016-02-10 09:19:33 -06:00
Robby Findler
7d5144acba adjust switchable-button so that it can change its label 2016-02-09 18:16:36 -06:00
Robby Findler
e9e2940138 adjust indentation so that it treats only symbols as things with
special indentation

(this could only come about if the regexp specification in the prefernces
matched (the printed out) version of strings, so it wouldn't happen with
the default preferences)
2016-02-09 13:44:30 -06:00
Leif Andersen
9411eb44c4 Add with-* to the set of lambda like expressions. 2016-02-06 19:45:57 -05:00
Matthew Flatt
5736535b8a avoid spurious screen refresh on text-measure operations
The drawing layer now indicates whether drawing content was
changed as it releases a drawing handle.
2016-02-05 16:51:39 -07:00
Leif Andersen
f02fd8f338 Add link to weak reference. 2016-02-05 18:36:02 -05:00
Matthew Flatt
d28ab71058 fix -singleInstance for GTK+3
Closes PR 15240
2016-02-05 10:40:04 -07:00
Robby Findler
021f9a6a0a delay the creation of the information in the info text
this has the advantage of that the information is inserted when the
state of the text is set up so that font sizing works

it also means that if there is a syntax object with a syntax
object on its properties with another one like that etc etc etc
they will only be rendered when they are made visible which
theoretically could be a performance improvement for some people
2016-02-02 09:36:15 -06:00
Robby Findler
55e34bd6d4 make syntax snips inherit the style-list of the editors that contain them 2016-02-01 18:02:00 -06:00
Matthew Flatt
345a20c5e8 use NSOpenGLPFAAllowOfflineRenderers for GC bitmap
Try to tell Macs with two graphics cards that it's ok to
use the low-performance one for the GC bitmap (when
GL is used for that, which is OS X 10.11 and later).
2016-01-16 08:50:06 -07:00
Matthew Flatt
55d0d96dbe Gtk: fix handling of widget to extract text colors
With GTK+ 3 on Raspbian, at least, the old management of the
widget causes a crash.
2016-01-12 10:05:09 -07:00
Matthew Flatt
e206dab087 use #:runtime?-id for improved cross-build support 2016-01-09 09:47:28 -07:00
Matthew Flatt
4d5d08f07f fix back-end reference for cross-build 2016-01-08 16:45:16 -07:00
Matthew Flatt
6e7964b0b7 include icons needed by "gui-lib" in the package
The "plt-logo-48x48.png" file is a copy of "plt-48x48.png" from
"icons", but renamed to avoid conflicts.
2016-01-08 16:31:52 -07:00
Matthew Flatt
dbce2e2878 avoid an NSTableColumn warning 2016-01-08 07:58:53 -07:00
Matthew Flatt
0e344def40 Windows play-sound: remove extra delay after async 2016-01-05 07:31:01 -07:00
Matthew Flatt
8ae077c22a Windows play-sound: use the right custodian registration
Otherwise, a GC tends to terminate the sound.
2016-01-04 19:19:51 -07:00
Matthew Flatt
76c305852b Windows play-sound: avoid leaks and shutdown on custodian
Also, stop a synchronous sound on a break exception.
2016-01-04 18:10:23 -07:00
Matthew Flatt
edc56ee8de Windows: change play-sound to use MCI
Provided by Eli Barzilay.

This approach is better than a separate process, because creating
too many processes can overwhelm the OS. Also, MCI supports more
sound formats.
2016-01-04 17:41:53 -07:00
Matthew Flatt
41d4e9dd2d Cocoa: fix refresh and fullscreen problems
Add more agressive re-enabling of screen updates and explicit `update`
calls to avoid partially refreshed frames and never-updated titlebars
on El Capitan.

Also, use `close` instead of `orderOut` to hide a frame. That fixes
problems with closing windows that are in fullscreen mode.

Closes racket/drracket#33
2015-12-31 15:50:41 -07:00
Robby Findler
aeb2577715 make error message a little more informative 2015-12-29 21:25:28 -06:00
Matthew Flatt
196797b529 Windows: fix play-sound to return a boolean 2015-12-28 10:09:10 -06:00
Matthew Flatt
ca24d94cdc Cocoa: avoid screen sync for GC-blit GL context
Affects 10.11 and up
2015-12-28 09:42:23 -06:00
Matthew Flatt
87c2317cbc Windows: change play-sound to run an external program
Running a sound through a separate process allows multiple
sounds to be played at once.
2015-12-28 08:24:34 -07:00
Matthew Flatt
87e17a89da Windows: fix get-current-mouse-state for HiDPI 2015-12-23 08:31:38 -07:00
Matthew Flatt
d170a8ff31 editor<%>: request incremental GC on key & mouse events 2015-12-19 12:45:25 -07:00
Matthew Flatt
446df9e047 put on-to-scroll callbacks in a refresh sequence
Avoid flickering for the "#lang" line and documentation
wedge in DrRacket, for example.
2015-12-19 07:54:30 -07:00
Matthew Flatt
1944cd8dbd regsiter-collecting-blit: support background bitmap in El Capitan
The GC blit implementation used on Mc OS X 10.11 assumed that
the no-GC bitmap is blank. Make it use the given no-GC bitmap.

Also, repair the left-to-right flipping(!) of the GC bitmap,
and repair a backing-scale mismatch that could leave a thin
border around a GC blit.
2015-12-18 16:05:48 -07:00
Robby Findler
7c43e6d876 fix contract-related errors in framework/splash 2015-12-18 11:21:04 -06:00
Robby Findler
3af5db35be fix bugs in support and docs for the snip flag HANDLES-BETWEEN-EVENTS
(the previous commit was pushed too soon; it is completely broken. Apologies)
2015-12-17 22:24:59 -06:00
Robby Findler
759d89443f add support and docs for the snip flag HANDLES-BETWEEN-EVENTS 2015-12-17 16:18:46 -06:00
Robby Findler
6fd5459211 fix add-splash-icon contract 2015-12-15 17:41:09 -06:00
Robby Findler
debd229668 guard call 2015-12-15 14:20:12 -06:00
Robby Findler
46eb5ae3aa add contracts and fix some (theoretical) threading bugs 2015-12-15 14:20:12 -06:00
Jay McCarthy
c1cddc538c Casting flag-x-error-handler in this case too. Necessary for getting GL working on my Linux/Nvidia box to test pict3d 2015-12-14 08:55:36 -05:00
Matthew Flatt
c4793a218f Windows: avoid refresh on no-op canvas show-scrollbars 2015-12-03 05:36:42 -07:00
Matthew Flatt
d3f212b98c fix copy-on-scroll for non-integer scroll offset 2015-12-02 20:50:21 -07:00
Robby Findler
be9cd36922 added editor:font-size-message% 2015-11-27 10:41:57 -06:00
Robby Findler
fe77bb34d4 more on scroll-by-copy
make it per-editor customizable, add callbacks, and use
them to make the special first line mixin work properly
when it is enabled
2015-11-26 13:11:47 -06:00
Matthew Flatt
79128627d2 avoid scrolling too far for scroll-via-copy
But scroll-via-copy is still not enabled.
2015-11-25 16:14:54 -07:00
Matthew Flatt
4358d22a0a disable scroll via copy
Sometimes doesn't work right, as illustrated by PR 15186
2015-11-25 08:46:37 -07:00
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