From: Jorgen Schaefer <forcer@forcix.cx>
To: emacs-devel@gnu.org
Cc: Stefan Monnier <monnier@iro.umontreal.ca>
Subject: Re: over-engineered (and under-standardized) inferior interfaces
Date: Thu, 21 Aug 2014 23:21:58 +0200 [thread overview]
Message-ID: <20140821232158.3d0aea56@forcix> (raw)
In-Reply-To: <jwvvbpld20s.fsf-monnier+emacs@gnu.org>
On Thu, 21 Aug 2014 16:29:35 -0400
Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> prog-proc-mode
First of all, this is an excellent initiative. Thank you.
> (define-key map [?\C-c ?\C-l] 'prog-proc-load-file)
> (define-key map [?\C-c ?\C-c] 'prog-proc-compile)
> (define-key map [?\C-c ?\C-z] 'prog-proc-switch-to)
> (define-key map [?\C-c ?\C-r] 'prog-proc-send-region)
> (define-key map [?\C-c ?\C-b] 'prog-proc-send-buffer)
> ;; FIXME: Add
> ;; (define-key map [?\M-C-x] 'prog-proc-send-defun)
> ;; (define-key map [?\C-x ?\C-e] 'prog-proc-send-last-sexp)
Just some comments on the default bindings. I understand these are the
historically-available ones, but I do feel that if we create a new mode
like this, it might be worthwhile to rethink them.
With the availability of an "active region", I think it would be nice
to consolidate send-buffer and send-region to a single binding. If
there is an active region, send the region; if not, send the buffer.
Using a nice binding like C-c C-c for a somewhat less-common command
like "compile the current file in the REPL" (as opposed to using M-x
(re)compile) seems like a waste.
So I'd suggest using C-c C-c for a new prog-proc-send-region-or-buffer.
I'm also unsure about using up too many C-c C-X bindings in this minor
mode; the major mode that activates it won't be able to easily override
those bindings locally, so it might be a good idea to be a bit more
conservative with the default bindings, providing the commands but not
the bindings for the less common use cases (load, compile, region,
buffer).
That would leave us with a default set of C-c C-c
(send-region-or-buffer) and C-c C-z (switch to repl, starting it if
necessary) (*) which seems like a nice default set to me that modes can
extend with options that make sense for them.
(*) And C-M-x, which I think is a nice addition for most modes and also
does not conflict with other mode bindings and uses.
Regards,
Jorgen
next prev parent reply other threads:[~2014-08-21 21:21 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-21 19:20 over-engineered (and under-standardized) inferior interfaces Sam Steingold
2014-08-21 20:29 ` Stefan Monnier
2014-08-21 21:21 ` Jorgen Schaefer [this message]
2014-08-21 22:00 ` Dmitry
2014-08-21 22:10 ` Eric S. Raymond
2014-08-22 3:45 ` Stefan Monnier
2014-08-22 5:57 ` Andreas Röhler
2014-08-22 10:55 ` Phillip Lord
2014-08-22 11:41 ` Jorgen Schaefer
2014-08-22 21:29 ` Sam Steingold
2014-08-31 16:30 ` Elias Mårtenson
2014-08-31 20:01 ` Stefan Monnier
2014-08-21 20:43 ` Andreas Schwab
2014-08-21 21:06 ` Sam Steingold
2014-08-22 5:56 ` Andreas Schwab
2014-08-22 6:17 ` Michael Albinus
2014-08-22 21:25 ` Sam Steingold
2014-08-23 15:16 ` Michael Albinus
2014-08-25 17:05 ` Sam Steingold
2014-08-27 6:57 ` Michael Albinus
2014-08-27 10:46 ` Sam Steingold
2014-08-27 11:29 ` Michael Albinus
2014-08-27 12:32 ` Sam Steingold
2014-08-27 12:51 ` Michael Albinus
2014-08-27 13:00 ` Sam Steingold
2014-08-27 13:16 ` Michael Albinus
2014-08-27 13:52 ` Sam Steingold
2014-08-27 13:57 ` Sam Steingold
2014-08-27 18:17 ` Michael Albinus
2014-08-28 1:01 ` Sam Steingold
2014-08-28 8:48 ` Michael Albinus
2014-08-28 16:02 ` Sam Steingold
2014-08-28 18:35 ` Michael Albinus
2014-08-28 19:22 ` Sam Steingold
2014-08-28 19:44 ` Michael Albinus
2014-08-28 19:54 ` Sam Steingold
2014-08-28 20:04 ` Michael Albinus
2014-08-29 15:00 ` Sam Steingold
2014-09-05 14:19 ` Michael Albinus
2014-09-08 13:17 ` Sam Steingold
2014-09-08 14:15 ` Michael Albinus
2014-09-08 14:38 ` Sam Steingold
2014-09-08 14:47 ` Michael Albinus
2014-08-27 14:05 ` Tassilo Horn
2014-08-27 18:13 ` Michael Albinus
2014-08-25 9:23 ` Michael Mattie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140821232158.3d0aea56@forcix \
--to=forcer@forcix.cx \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.