Loading ...
Sorry, an error occurred while loading the content.

1389Re: [jasspa] mark, point, and active regions

Expand Messages
  • Jon Green
    May 26, 2005
      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 - conversely
      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'.

      Jon.
    • Show all 10 messages in this topic