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

488Re: [jasspa] Easy way to get exact position in buffer? (Motivation: get region size?)

Expand Messages
  • thundt@slack.net
    Dec 5, 2001
      Ahh yes, problem with this is as SOON as the copy-region is done,
      its contents (or lack thereof) are stuck in the clipboard, and
      Exceed sees that and crashes, stupid thing. I would like to check
      it BEFORE the copy-region is done.

      Thanks for the explanation of fixed region.

      -Tom

      | How about:
      |
      | define-macro my-copy-region
      | copy-region
      | !if &seq @y ""
      | -1 yank
      | ml-write "Dooh!"
      | !endif
      | !emacro
      |
      | The only issue that may arise from this is if it happens to be the very
      | first copy-region the yank-buffer may be empty and so it may still crash but
      | how likely is that??
      |
      | Steve
      |
      | P.S. The show-region is visible but not fixed when you first set the mark
      | (set-mark), so when you move the cursor the region shown changes with it.
      | Once you use copy-region the region is 'fixed' and thats what 0x2 of the
      | region flag is telling you, clear as mud.
      | > -----Original Message-----
      | > From: thundt [mailto:thundt@...]
      | > Sent: 05 December 2001 21:34
      | > To: jasspa@yahoogroups.com
      | > Subject: [jasspa] Easy way to get exact position in buffer? (Motivation:
      | > get region size?)
      | >
      | >
      | > What's an easy way to get the cursor's exact position (char #) within
      | > a buffer?
      | >
      | > The hard and messy way is to use buffer-info and then parse the
      | > $result string to pull out the char number:
      | >
      | > Line 1845/3955 Col 0.0 Char 78267/167172 (46%) Win Line 99/48 Col/0/0
      | > char = 0xA
      | > here----^^^^^
      | >
      | > Or, how about an easy way to get the region's size?
      | > This is not reliable: (not even sure what it does -- 0x02 tells if
      | > the region is "fixed" -- what does that mean?)
      | > 0 show-region
      | > !if ¬ &band $result 0x02
      | > ml-write "[No region selected]"
      | > !bell
      | > !else
      | > [...]
      | >
      | >
      | > What I'm trying to do is write a safety wrapper around copy-region
      | > (and kill-region) to prevent them from copying empty regions (which
      | > crashes the Exceed X server application when it's set to auto-paste
      | > the clipboard -- yes, I believe it's a bug -- this is v6.2).
      | >
      | > Something along the lines of:
      | >
      | > define-macro my-copy-region
      | > set $x <get current location>
      | > exchange-point-and-mark
      | > set $y <get other location>
      | > !if &equal $x $y
      | > <complain and abort>
      | > !else
      | > copy-region
      | > !end
      | >
      | > Thanks for any ideas,
      | >
      | > -Tom Hundt
      |
      __________
      Thomas Hundt <thundt@...> +1-415-643-3595
    • Show all 4 messages in this topic