From: Alan Mackenzie <acm@muc.de>
To: Drew Adams <drew.adams@oracle.com>
Cc: Emacs-Devel <emacs-devel@gnu.org>
Subject: Re: recenter-top-bottom
Date: Sun, 11 Nov 2007 08:27:39 +0000 [thread overview]
Message-ID: <20071111082739.GA1038@muc.de> (raw)
In-Reply-To: <DHEEKFAFJEFOJHLCFPFDIEDJCCAA.drew.adams@oracle.com>
Hi, Drew!
A couple more technical points:
On Tue, Nov 06, 2007 at 08:53:39AM -0800, Drew Adams wrote:
> Any interest in this or something like it? I bind it to `C-l' in place
> of `recenter'. If there is interest, then perhaps `recenter' itself
> could have this behavior (but the frame redisplay behavior might need
> to be taken into account).
> With a prefix arg, it's the same as `recenter'. Otherwise, it
> alternately moves the current line to the center, top, and bottom of
> the window. In this, it's a bit like `C-M-l'. It's a trivial change,
> but I find it useful - I have no need for repeated `C-l' to keep doing
> the same thing.
`recenter' already has two functions: C-l means "redraw screen, scrolling
point to centre" and C-u C-l means "scroll point to centre,
flicker-free". Having thought about it, I very rarely use a bare C-l.
I reassert my view that any further functionality on C-l should be
optional.
> (defun recenter-top-bottom (&optional arg)
> "Move current line to window center, top, and bottom, alternately.
> With prefix ARG, move current line to window-line ARG."
> (interactive "P")
> (cond ((and (eq this-command last-command) (not arg))
> (setq this-command 'recenter-top-bottom-1) <===============
PLEASE DON'T DO THIS!!!! This is an abuse of `\(this\|last\)-command',
and will surely cause some other emacs function, present or future, to
fail. In particular, the contents of these variables have always been
executable commands. Surely you can defyourownvar for this.
> (recenter 0))
> ((and (eq 'recenter-top-bottom-1 last-command) (not arg))
> (setq this-command 'recenter-top-bottom-2) <================
> (recenter -1))
> (t
> (recenter arg))))
--
Alan Mackenzie (Ittersbach, Germany).
next prev parent reply other threads:[~2007-11-11 8:27 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-06 16:53 recenter-top-bottom Drew Adams
2007-11-06 17:02 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-07 7:55 ` recenter-top-bottom Richard Stallman
2007-11-07 9:25 ` recenter-top-bottom Tassilo Horn
2007-11-08 0:41 ` recenter-top-bottom Juri Linkov
2007-11-11 8:27 ` Alan Mackenzie [this message]
2007-11-11 23:54 ` recenter-top-bottom Richard Stallman
-- strict thread matches above, loose matches on Subject: below --
2007-11-07 13:16 recenter-top-bottom Alan Mackenzie_JWA
2007-11-07 14:09 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-08 4:42 ` recenter-top-bottom Richard Stallman
2007-11-11 20:16 ` recenter-top-bottom Drew Adams
2007-11-11 21:47 ` recenter-top-bottom Juri Linkov
2007-11-11 22:38 ` recenter-top-bottom Drew Adams
2007-11-11 22:59 ` recenter-top-bottom Juri Linkov
2007-11-11 23:06 ` recenter-top-bottom Drew Adams
2007-11-12 0:12 ` recenter-top-bottom Bastien
2007-11-11 23:56 ` recenter-top-bottom Drew Adams
2007-11-12 4:56 ` recenter-top-bottom Bastien
2007-11-12 8:33 ` recenter-top-bottom Drew Adams
2007-11-12 13:01 ` recenter-top-bottom Bastien
2007-11-12 13:06 ` recenter-top-bottom Bastien
2007-11-12 12:06 ` recenter-top-bottom Robert J. Chassell
2007-11-12 13:05 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-12 5:59 ` recenter-top-bottom Richard Stallman
2007-11-12 7:17 ` recenter-top-bottom Bastien
2007-11-12 8:34 ` recenter-top-bottom Drew Adams
2007-11-12 8:50 ` recenter-top-bottom Drew Adams
2007-11-12 13:15 ` recenter-top-bottom Bastien
2007-11-12 21:57 ` recenter-top-bottom Juri Linkov
2007-11-12 23:00 ` recenter-top-bottom Drew Adams
2007-11-13 13:35 ` recenter-top-bottom Bastien
2007-11-13 5:10 ` recenter-top-bottom Richard Stallman
2007-11-14 21:57 ` recenter-top-bottom Drew Adams
2007-11-14 22:07 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-14 22:51 ` recenter-top-bottom Bastien
2007-11-14 23:51 ` recenter-top-bottom Juri Linkov
2007-11-15 0:23 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-15 0:58 ` recenter-top-bottom Drew Adams
2007-11-15 8:36 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-15 13:07 ` recenter-top-bottom Richard Stallman
2007-11-15 15:16 ` recenter-top-bottom Stefan Monnier
2007-11-15 15:52 ` recenter-top-bottom Drew Adams
2007-11-16 4:29 ` recenter-top-bottom Richard Stallman
2007-11-16 18:51 ` recenter-top-bottom Stefan Monnier
2007-12-01 13:55 ` recenter-top-bottom Johan Bockgård
2007-12-01 14:28 ` recenter-top-bottom Leo
2007-12-01 15:48 ` recenter-top-bottom Eli Zaretskii
2007-12-01 18:33 ` recenter-top-bottom Leo
2007-12-01 21:07 ` recenter-top-bottom Eli Zaretskii
2007-12-01 23:41 ` recenter-top-bottom Richard Stallman
2007-12-01 16:22 ` recenter-top-bottom Drew Adams
2007-12-01 23:41 ` recenter-top-bottom Richard Stallman
2007-12-02 0:47 ` recenter-top-bottom Johan Bockgård
2007-12-02 4:53 ` recenter-top-bottom Drew Adams
[not found] <OF7E920891.667E3D64-ONC125738C.0058D24D-C125738C.00587C7B@philips.com>
2007-11-07 17:24 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-07 20:44 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-07 21:54 ` recenter-top-bottom Lennart Borgman (gmail)
2007-11-08 17:39 ` recenter-top-bottom Richard Stallman
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=20071111082739.GA1038@muc.de \
--to=acm@muc.de \
--cc=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
/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.