1385mark, point, and active regions
- May 25, 2005To 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.
Is there a way I can find out if a region *really* exists, that is one is visibly highlighted, from inside a macro?
- Next post in topic >>