* Re: how to activate region [not found] <mailman.7100.1242253215.31690.help-gnu-emacs@gnu.org> @ 2009-05-14 4:59 ` Barry Margolin 2009-05-14 8:24 ` Andreas Röhler 2009-05-15 1:46 ` Barry Margolin 1 sibling, 1 reply; 12+ messages in thread From: Barry Margolin @ 2009-05-14 4:59 UTC (permalink / raw) To: help-gnu-emacs In article <mailman.7100.1242253215.31690.help-gnu-emacs@gnu.org>, Samuel Wales <samologist@gmail.com> wrote: > When transient-mark-mode is off, there must be a way to activate the > existing region for commands that require it to be active. Anybody > know what it is? The manual and apropos have yielded nothing so far. > > Thanks. C-x C-x. This has the side effect of swapping the point and mark, so you can type it again to get back where you were. I don't think there's a standard command that does nothing but activate the region. It should be trivial to write one, though. -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me *** *** PLEASE don't copy me on replies, I'll read them in the group *** ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region 2009-05-14 4:59 ` how to activate region Barry Margolin @ 2009-05-14 8:24 ` Andreas Röhler 0 siblings, 0 replies; 12+ messages in thread From: Andreas Röhler @ 2009-05-14 8:24 UTC (permalink / raw) To: Barry Margolin; +Cc: help-gnu-emacs Barry Margolin wrote: > In article <mailman.7100.1242253215.31690.help-gnu-emacs@gnu.org>, > Samuel Wales <samologist@gmail.com> wrote: > > >> When transient-mark-mode is off, there must be a way to activate the >> existing region for commands that require it to be active. Anybody >> know what it is? The manual and apropos have yielded nothing so far. >> >> Thanks. >> > > C-x C-x. This has the side effect of swapping the point and mark, so > you can type it again to get back where you were. > > I don't think there's a standard command that does nothing but activate > the region. It should be trivial to write one, though. > > The question seems too, what "active region" means. AFAIU we have three different states to deal with: - the mark is set - the mark is set and exists at different location from point, i.e. region has an extent - region has an extent and is visible (transient-mark-mode on) Presently region-active-p is defined in simple.el ,---- | (defun region-active-p () | "Return t if Transient Mark mode is enabled and the mark is active. | | Most commands that act on the region if it is active and | Transient Mark mode is enabled, and on the text near point | otherwise, should use `use-region-p' instead. That function | checks the value of `use-empty-active-region' as well." | (and transient-mark-mode mark-active)) `---- i.e. AFAIU it does not require an extent. IMO if the mark is set, a region is active basically. I use (defsubst region-exists-p () "(not (null (mark)))" (not (null (mark)))) Cheers Andreas Röhler ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region [not found] <mailman.7100.1242253215.31690.help-gnu-emacs@gnu.org> 2009-05-14 4:59 ` how to activate region Barry Margolin @ 2009-05-15 1:46 ` Barry Margolin 2009-05-15 20:16 ` Samuel Wales 1 sibling, 1 reply; 12+ messages in thread From: Barry Margolin @ 2009-05-15 1:46 UTC (permalink / raw) To: help-gnu-emacs In article <mailman.7100.1242253215.31690.help-gnu-emacs@gnu.org>, Samuel Wales <samologist@gmail.com> wrote: > When transient-mark-mode is off, there must be a way to activate the > existing region for commands that require it to be active. Anybody > know what it is? The manual and apropos have yielded nothing so far. I just noticed that you said "when transient-mark-mode is off". That changes my answer. When transient-mark-mode is off, the commands that require the region should always succeed as long as you've set the mark. Are you talking about commands that change their behavior depending on whether the region is active? Like M-x replace-string, which operates on the region if it's active, or the rest of the buffer otherwise. That's the point of this feature of C-x C-x: With prefix arg, `transient-mark-mode' is enabled temporarily. So type C-u C-x C-x, then M-x replace-string, and it should do what you want. -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me *** *** PLEASE don't copy me on replies, I'll read them in the group *** ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region 2009-05-15 1:46 ` Barry Margolin @ 2009-05-15 20:16 ` Samuel Wales 2009-05-15 20:43 ` Samuel Wales 0 siblings, 1 reply; 12+ messages in thread From: Samuel Wales @ 2009-05-15 20:16 UTC (permalink / raw) To: Barry Margolin; +Cc: help-gnu-emacs I did try the above solutions before posting. They were the most obvious things to try. They do not work. When transient-mark-mode is off, you can temporarily activate it with c-spc c-spc /and then moving point/. That is not a solution because I want to convert the /existing/ non-active region into an active one. Remember that a region is just point and mark. An /active/ region is different. Some commands require the region to be active. As I mentioned, c-spc c-spc has the side effect of setting the mark. You will notice that when you set the mark, point equals mark. When point equals mark, there is no useful region. Therefore c-x c-x does nothing useful when you do that. Suppose I have a region already. Perhaps you are thinking that c-x c-x will activate it? No, remember that transient-mark-mode is off. That does not work. So you see, c-x c-x is useless for making the existing region active, and c-spc c-spc is useless for making the existing region active. My original question remains unanswered. --------------- When transient-mark-mode is off, there must be a way to activate the existing region for commands that require it to be active. Anybody know what it is? The manual and apropos have yielded nothing so far. Thanks. --------------- Am I mistaken? Was my question answered? It seems to me that there were a lot of answers to questions that I did not ask. Perhaps we get a lot of /those/ questions on the list and it seemed like mine was similar? Thanks. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region 2009-05-15 20:16 ` Samuel Wales @ 2009-05-15 20:43 ` Samuel Wales 0 siblings, 0 replies; 12+ messages in thread From: Samuel Wales @ 2009-05-15 20:43 UTC (permalink / raw) To: help-gnu-emacs Apologies for the noise. I noticed that the solution was pointed to in the thread. (Thank you.) Somehow I missed it. Here is the solution to overload c-x c-x to do what I want. (Although I would use defadvice if possible.) ;;i would use defadvice, which would be much better, but i don't ;;know how to call the original again with an argument (setf transient-mark-mode nil) (substitute-key-definition 'exchange-point-and-mark 'alpha-exchange-point-and-mark global-map) (defun alpha-exchange-point-and-mark () "same as original, but activate region" (interactive) ;;why this has to be done twice, i don't know; it fails to ;;exchange when t (exchange-point-and-mark) (exchange-point-and-mark t)) ^ permalink raw reply [flat|nested] 12+ messages in thread
* how to activate region @ 2009-05-13 22:19 Samuel Wales 2009-05-13 23:16 ` Leo 0 siblings, 1 reply; 12+ messages in thread From: Samuel Wales @ 2009-05-13 22:19 UTC (permalink / raw) To: help-gnu-emacs When transient-mark-mode is off, there must be a way to activate the existing region for commands that require it to be active. Anybody know what it is? The manual and apropos have yielded nothing so far. Thanks. -- Myalgic encephalomyelitis denialism is causing death and severe suffering worse than MS. Conflicts of interest are destroying research. /You/ can get the disease at any time permanently. Do science and justice matter to you? Posters: http://www.mefreeforall.org/fileadmin/PDFs/ME_Awareness_Posters_2009.pdf Overview: http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region 2009-05-13 22:19 Samuel Wales @ 2009-05-13 23:16 ` Leo 2009-05-14 4:32 ` Samuel Wales 0 siblings, 1 reply; 12+ messages in thread From: Leo @ 2009-05-13 23:16 UTC (permalink / raw) To: help-gnu-emacs On 2009-05-13 23:19 +0100, Samuel Wales wrote: > When transient-mark-mode is off, there must be a way to activate the > existing region for commands that require it to be active. Anybody > know what it is? The manual and apropos have yielded nothing so far. > > Thanks. C-SPC twice. -- .: Leo :. [ sdl.web AT gmail.com ] .: I use Emacs :. www.git-scm.com git - the one true version control system ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region 2009-05-13 23:16 ` Leo @ 2009-05-14 4:32 ` Samuel Wales 2009-05-14 4:33 ` Samuel Wales ` (2 more replies) 0 siblings, 3 replies; 12+ messages in thread From: Samuel Wales @ 2009-05-14 4:32 UTC (permalink / raw) To: Leo; +Cc: help-gnu-emacs On Wed, May 13, 2009 at 16:16, Leo <sdl.web@gmail.com> wrote: > C-SPC twice. That, unfortunately, has the side effect of setting mark. -- Myalgic encephalomyelitis denialism is causing death and severe suffering worse than MS. Conflicts of interest are destroying research. /You/ can get the disease at any time permanently. Do science and justice matter to you? Posters: http://www.mefreeforall.org/fileadmin/PDFs/ME_Awareness_Posters_2009.pdf Overview: http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region 2009-05-14 4:32 ` Samuel Wales @ 2009-05-14 4:33 ` Samuel Wales 2009-05-14 6:04 ` Andreas Röhler 2009-05-14 4:55 ` Kevin Rodgers [not found] ` <mailman.7129.1242276989.31690.help-gnu-emacs@gnu.org> 2 siblings, 1 reply; 12+ messages in thread From: Samuel Wales @ 2009-05-14 4:33 UTC (permalink / raw) To: Leo; +Cc: help-gnu-emacs What I want is the existing region. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region 2009-05-14 4:33 ` Samuel Wales @ 2009-05-14 6:04 ` Andreas Röhler 0 siblings, 0 replies; 12+ messages in thread From: Andreas Röhler @ 2009-05-14 6:04 UTC (permalink / raw) To: Samuel Wales; +Cc: help-gnu-emacs Samuel Wales wrote: > What I want is the existing region. > > > > AFAIK editing commands dealing with region quite often require transient-mark-mode, avoiding unnoticed edits. Maybe tell what command you want to use. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: how to activate region 2009-05-14 4:32 ` Samuel Wales 2009-05-14 4:33 ` Samuel Wales @ 2009-05-14 4:55 ` Kevin Rodgers [not found] ` <mailman.7129.1242276989.31690.help-gnu-emacs@gnu.org> 2 siblings, 0 replies; 12+ messages in thread From: Kevin Rodgers @ 2009-05-14 4:55 UTC (permalink / raw) To: help-gnu-emacs Samuel Wales wrote: > On Wed, May 13, 2009 at 16:16, Leo <sdl.web@gmail.com> wrote: >> C-SPC twice. > > That, unfortunately, has the side effect of setting mark. ,----[ C-h k C-x C-x ] | C-x C-x runs the command exchange-point-and-mark | which is an interactive compiled Lisp function in `simple.el'. | It is bound to C-x C-x. | (exchange-point-and-mark &optional arg) | | Put the mark where point is now, and point where the mark is now. | This command works even when the mark is not active, | and it reactivates the mark. | With prefix arg, `transient-mark-mode' is enabled temporarily. | | [back] `---- -- Kevin Rodgers Denver, Colorado, USA ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <mailman.7129.1242276989.31690.help-gnu-emacs@gnu.org>]
* Re: how to activate region [not found] ` <mailman.7129.1242276989.31690.help-gnu-emacs@gnu.org> @ 2009-05-14 5:12 ` Barry Margolin 0 siblings, 0 replies; 12+ messages in thread From: Barry Margolin @ 2009-05-14 5:12 UTC (permalink / raw) To: help-gnu-emacs In article <mailman.7129.1242276989.31690.help-gnu-emacs@gnu.org>, Kevin Rodgers <kevin.d.rodgers@gmail.com> wrote: > Samuel Wales wrote: > > On Wed, May 13, 2009 at 16:16, Leo <sdl.web@gmail.com> wrote: > >> C-SPC twice. > > > > That, unfortunately, has the side effect of setting mark. > > ,----[ C-h k C-x C-x ] > | C-x C-x runs the command exchange-point-and-mark > | which is an interactive compiled Lisp function in `simple.el'. > | It is bound to C-x C-x. > | (exchange-point-and-mark &optional arg) > | > | Put the mark where point is now, and point where the mark is now. > | This command works even when the mark is not active, > | and it reactivates the mark. > | With prefix arg, `transient-mark-mode' is enabled temporarily. > | > | [back] > `---- Perhaps if transient-mark-mode is already enabled, the prefix arg *should* do what the OP wants, which is to just activate the mark without moving point. -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me *** *** PLEASE don't copy me on replies, I'll read them in the group *** ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-05-15 20:43 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <mailman.7100.1242253215.31690.help-gnu-emacs@gnu.org> 2009-05-14 4:59 ` how to activate region Barry Margolin 2009-05-14 8:24 ` Andreas Röhler 2009-05-15 1:46 ` Barry Margolin 2009-05-15 20:16 ` Samuel Wales 2009-05-15 20:43 ` Samuel Wales 2009-05-13 22:19 Samuel Wales 2009-05-13 23:16 ` Leo 2009-05-14 4:32 ` Samuel Wales 2009-05-14 4:33 ` Samuel Wales 2009-05-14 6:04 ` Andreas Röhler 2009-05-14 4:55 ` Kevin Rodgers [not found] ` <mailman.7129.1242276989.31690.help-gnu-emacs@gnu.org> 2009-05-14 5:12 ` Barry Margolin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).