DrRacket is never going to be able to do everything as well as Emacs
(and DrRacket can do some things a lot better than Emacs), but a few
small conveniences that I'd like to see in DrRacket when I use it:
* Visually distinguish identifiers that start special syntax separate
from `#lang racket/base` (or whatever Scheme-like lang), so, when
reading code, you know whether some identifier you don't recognize JUST
CHANGED ALL THE RULES. See black bold variable names in screenshot:
http://www.neilvandyke.org/temporary/20171126-quack.png
* Visually distinguish identifiers that define top-level names
(variables, syntax extensions, unhygienic structs ahem, etc.). See blue
in screenshot. I often visually scan for these names, and making them
more prominent helps. (Non-top-level, such as in `let` forms, would
also be nice, though I don't have Quack doing that, and Quack just uses
regexp kludges for the top-level ones.)
* Have Emacs-like "filling" of paragraphs of text in comments, including
support for prefixed paragraphs like bulleted lists. I sometimes make a
lot of multiline TODO and code-explanatory comments, and as a compromise
with the simple text-file representation of source code, and considering
various 80-column tools and screen sizes that might be involved, I try
to keep most of the code within the historical 79 columns. So, after I
touch comments in DrRacket, I have to go to Emacs to re-fill them.
* Have a "tidy" feature like Quack's, which converts tabs&formfeeds to
spaces, removes extraneous whitespace (ends of lines, multiple blank
lines, beginning and end of file), and reindents the entire buffer.
(This doesn't do automatic comment-filling in Emacs, because sometimes
that requires human discretion or crafting, and can be a mess if the
code already wasn't written for filling (e.g., if it loses some other ad
hoc formatting, and ends up blending paragraphs together, destroying
tables and ASCII art, etc.)
* Emacs-like indenting of comments with 1-semicolon (i.e., indented to a
column independent of indent level and whether there is preceding code
on the line; the column position is either a fixed one (40), or, if the
preceding line has a 1-semicolon comment beyond that fixed column, then
the column of that preceding comment). This is an old Emacs
convention. I could live without this, but DrRacket's 1-semicolon
comments indenting to the code indent level means that they get messed
up when indenting in Emacs or DrRacket, or when doing Quack tidy.
Also, for experienced use of DrRacket (not for intro students), I'd like
to get rid of some of the clutter outside of the text widgets, such as
buttons and indicators that I don't need. And I wish that various
message subwindows that pop into the frame and then need their close
boxes to be clicked would go away automatically (see how Emacs uses the
message&minibuffer area, does isearch, etc.).