1391RE: [jasspa] mark, point, and active regions
- May 26, 2005For comparison purposes, Emacs' kill-region is aware when the mark is "active", as are all of it's region-based functions. Doing the same thing as described below, you get a nice "The mark is not active now" message instead of blowing away some piece of data, in some place you might not expect. Perhaps it's this "active mark" concept that is missing in ME.
For the record, I'm using ME on the console. In fact, my X environment consists of a single Xterm, running screen. I could unplug my mouse and not miss it. Also, the scenario below is created merely to illustrate the potential problem. I found this writing a "delete-char" macro the behaves like Emacs, that is, delete the character under the point and the characters in the region if it exists. For XEmacs users, I think that they call it "Pending Delete" mode.
Anyway, the point is, functions that operate on the region will do so, invariably, between the mark and the point. I know that sounds OK, but really its not. If I'm not actively telling the editor where the region is, then it shouldn't assume the region is between the last place I told it and where my cursor is now.
> -----Original Message-----
> From: firstname.lastname@example.org
> [mailto:email@example.com]On Behalf Of
> Jon Green
> Sent: Thursday, May 26, 2005 5:19 AM
> To: firstname.lastname@example.org
> Subject: Re: [jasspa] mark, point, and active regions
> Schofield, Bryan (GE Trans) wrote:
> > To the best that I can tell, once the first mark is set in a buffer,
> > a mark will always remain. Many macros operate on a region, that
> > magical area in the buffer between the mark and the point. But since
> > once the first mark is set, the buffer always has mark, then it
> > always has a region. This where things get a little wierd for me.
> > Let's say I have a buffer with some lines of text. I place
> the cursor
> > at the beginning of line 1 and call "set-mark" (C-space). I
> then move
> > the cursor down a few lines and I see the region
> highlighted from the
> > beginning of the first line to the cursors current
> position. I decide
> > I didn't mean to hit C-space, so I issue "abort-command" (C-g). The
> > highlighted region disappears. Now I issue "kill-region" (C-w) and
> > magically, the lines that had been previously highlight, but are not
> > currently, disappear.
> > MicroEmacs is doing something as a user I don't expect. To me, there
> > is no region. I "cancelled" it and editor *appeared* to comply by
> > removing the highlight from the "selected" lines of text. But
> > "kill-region" is operating under a different understanding. This
> > problem can get a lot worse. Let's assume I'm working a big file, I
> > select something at the top of the file, then C-g because I didn't
> > really want to select the text. I page down a few times and try to
> > put the cursor at the beginning of the line. I fat-finger
> C-e and hit
> > C-w too. My previously selected text poofs aways, my cursor goes to
> > the beginning of the line and I'm none-the-wiser. I save my file my
> > exit, happy with my masterpiece, only find out next week
> it's missing
> > a chunk at the beginning.
> I cannot say I have ever done this accidental deletion bit -
> I do not use the mouse and do not rely on the hilighting to tell me
> where point and mark are - but fair point. Could easily wrap
> C-w with a
> region check first which I think would resolve your problem.
> I cannot look at this at the moment as I'm upgrading my
> computer system
> to a nice shiny new one, but will do so when everything is
> moved to the
> new machine and set up.
> > Is there a way I can find out if a region *really* exists, that is
> > one is visibly highlighted, from inside a macro?
> > -- bryan
> For regions see osdmisc.emf, specifically search-get-region-text and
> hilight-region-text. Note the regions are very volatile (i.e.
> it is easy
> to loose them) unlike the 'mark'.
> This is an unmoderated list. JASSPA is not responsible for
> the content of
> any material posted to this list.
> To unsubscribe, send a mail message to
> or visit http://groups.yahoo.com/group/jasspa and
> modify your account settings manually.
> Yahoo! Groups Links
- << Previous post in topic Next post in topic >>