* Moving regions up and down by lines
@ 2007-06-30 17:25 Dave Benjamin
0 siblings, 0 replies; 4+ messages in thread
From: Dave Benjamin @ 2007-06-30 17:25 UTC (permalink / raw)
To: help-gnu-emacs
Greetings,
I have these two functions defined, which allow me to move the region up
and down by one or more lines, displacing the text around it. This works
pretty well, but after the call to yank, the region is no longer
selected (I use transient-mark-mode). I've tried calling
exchange-point-and-mark after the yank, but it has no effect. Does
anyone know how to accomplish this?
(defun move-region-up (arg)
(interactive "p")
(kill-region (region-beginning) (region-end))
(unwind-protect
(previous-line arg)
(yank)))
(defun move-region-down (arg)
(interactive "p")
(kill-region (region-beginning) (region-end))
(unwind-protect
(next-line arg)
(yank)))
Thanks,
Dave
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Moving regions up and down by lines
@ 2007-06-30 21:32 martin rudalics
0 siblings, 0 replies; 4+ messages in thread
From: martin rudalics @ 2007-06-30 21:32 UTC (permalink / raw)
To: ramen; +Cc: help-gnu-emacs
You should use `transpose-regions'. Have a look at the attachment of
http://lists.gnu.org/archive/html/emacs-devel/2007-03/msg01230.html
for a treatment of this.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Moving regions up and down by lines
[not found] <mailman.2886.1183239069.32220.help-gnu-emacs@gnu.org>
@ 2007-07-01 6:48 ` Dave Benjamin
0 siblings, 0 replies; 4+ messages in thread
From: Dave Benjamin @ 2007-07-01 6:48 UTC (permalink / raw)
To: help-gnu-emacs
martin rudalics wrote:
> You should use `transpose-regions'. Have a look at the attachment of
>
> http://lists.gnu.org/archive/html/emacs-devel/2007-03/msg01230.html
>
> for a treatment of this.
Thanks for the pointers! A call to (setq deactivate-mark nil) at the end
of each function is all I needed. I like your idea of dragging the
current line if the mark is not active.
Are you planning on releasing m&d somewhere? It looks like quite an
ambitious effort.
Dave
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Moving regions up and down by lines
@ 2007-07-01 12:05 martin rudalics
0 siblings, 0 replies; 4+ messages in thread
From: martin rudalics @ 2007-07-01 12:05 UTC (permalink / raw)
To: ramen; +Cc: help-gnu-emacs
> Thanks for the pointers! A call to (setq deactivate-mark nil) at the end
> of each function is all I needed.
Though a kill and a subsequent yank is an overkill. `transpose-regions'
is now working reliably, you should use it.
> Are you planning on releasing m&d somewhere? It looks like quite an
> ambitious effort.
Earlier versions worked well with text-mode and broke with programming
languages. Currently, it doesn't work nicely with interpunctuation in
text modes. I'd have to fix that eventually.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-07-01 12:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <mailman.2886.1183239069.32220.help-gnu-emacs@gnu.org>
2007-07-01 6:48 ` Moving regions up and down by lines Dave Benjamin
2007-07-01 12:05 martin rudalics
-- strict thread matches above, loose matches on Subject: below --
2007-06-30 21:32 martin rudalics
2007-06-30 17:25 Dave Benjamin
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.