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

RE: [jasspa] general questions/problems

Expand Messages
  • Steven Phillips
    ... C-@ locks up my terminal, its one of those keys! Assuming you are using a termcap interface the problem is going to lie in the area of termcap and the
    Message 1 of 5 , Feb 20 11:49 PM
    • 0 Attachment
      >
      > FBSD4/latest ME.
      >
      > 1. how can you bind C-@?
      > i tried "\x00" "0x00" "C-@" "C- " "C-space"
      > etc, and none works ...

      C-@ locks up my terminal, its one of those keys! Assuming you are using a
      termcap interface the problem is going to lie in the area of termcap and the
      character sequence it generates for the key. See fairly recent replies on
      the news group for other key binding problems or the faq of the subject
      (search for $recent-keys).

      > 2. i think if OVERWRITE mode is ON, rectangle blocks
      > should "paste" OVER text ... as of now it appears
      > ME just "inserts" blocks regardless of OVERWRITE mode.

      This is not a common way of doing things (Emacs, MicroEMACS, Word etc) but
      could be implemented in a macro using @y. But there are issues when the yank
      buffer contains a new-line char ('\n'), typically these are inserted, if so
      what happens to any remaining chars on the original line?? etc.

      For example, given the following yank buffer:

      ---------
      "Hello
      World and all that"
      ---------

      And the following buffer with the cursor at the '^'

      ---------
      This is the ^ point of
      insertion
      ---------

      The following are all legitimate results from an overwrite yank:
      ---------
      This is the Hello
      World and all thatt of
      insertion
      ---------
      This is the Hello
      World and all that
      insertion
      ---------
      This is the Hello
      World and all that
      ---------

      So how this would behave is fair less well defined hence the standard of
      inserting blocks (I think I would favour the middle result but much prefer
      the simple insertion as I know what I'm going to get).

      > 3. is there a way to insert "literal" control chars?
      > ie, instead of ^B, i'd like a smilie face,
      > instead of ^F, i'd like to see a diamond.
      > normal PC charset.

      Use:

      set-char-mask "dp" "\CB\CF"

      >
      > 4. is there a limit on keybindings? i have over a 100
      > and although i haven't tracked the problem down
      > specifically, certain bindings seems to disappear
      > when i add more, and they come back when i reduce the
      > amount. there is no consistency in regards to the order
      > so it will take me a while to figure out what is going on.

      Yes there is a limit, 384, there are a 181 burnt in default ones, that goes
      up to 209 when me.emf is run and when I use ME a further 34 are added (due
      to the mouse and MSShift support etc - I only add 4 of my own bindings)
      getting the total to 243, leaving ~140 left.

      So the question has to be why are you using so many? With only 50 odd keys
      on a keyboard this is like adding 2 new prefixes and binding every key on
      the keyboard to it. It suggest to me that you are completely reconfiguring
      the key-bindings in which case you should unbind the ones you don't want
      first (use '-1 global-unbind-key "y"' to unbind the lot or use '0
      global-unbind-key "esc"' etc to get rid of the main prefix keys and all
      their bindings).

      > 5. is there a way to keep the *scratch* buffer from appearing?
      > if i want a scratch buffer, i can make one and it's kind of
      > annoying to always have "*scratch*" in my buffers when i
      > never wanted it or asked for one. it's just always
      > nagging to be deleted. i thought of using hooks, and
      > deleting "*scratch*" when a hook executes, but that seems
      > kinda dirty, since it will end up trying to delete "*scratch*"
      > even though it will be gone after the first delete.

      Or define a start-up macro to delete the initial *scratch* buffer (see docs
      on start-up) - ME must have at least one buffer so when you delete the last
      buffer the *scratch* buffer will be created again, I don't see a way around
      this.

      >
      > 6. is there a way to detect if a mark is set? i want to mark
      > an entire buffer if it is unset, and leave it set if it is.
      > ... for use in user-defined macros.

      Try:

      define-macro Test-mark
      !force exchange-point-and-mark
      !if $status
      exchange-point-and-mark
      ml-write "Mark is set"
      !else
      ml-write "Mark is not set"
      !endif
      !emacro

      I can't stop the 'not set' case from ringing the bell - not such a problem
      if you use quiet mode. I will fix this.

      > 7. i think this is a known bug - the rectangle highlighting
      > still highlights in line mode, not block mode. it is functional
      > in rectangle modes however, just not the marking. how about
      > a mark highlights rectangularly if the 1st key is left/right
      > and not if the 1st key after a set-mark is up/down?
      > or a rectangle "mode" as in wrap/overwrite/etc...

      I don't think that rectangle regions are used enough to warrant this, I
      certainly don't want to have to move the cursor down to get the normal
      region hilight. If the cursor moving region hilight does not do the
      rectangle region then the only time it would be used is on the
      yank-rectangle command and thats a lot of code for one minor feature. ME is
      a careful balance between power and size, we have added the ability to do
      rectangle regions but I don't think the hilighting of the region can be
      justified, sorry.

      > 8. "quote" should allow decimal/hex numbers, not just
      > literal keystrokes ... ? i'd like to be able to generate
      > any ascii char, not just typable ones.

      A simple macro could be written to do this.

      > 9. looking forward to a system() macro that throws ME into the
      > background allowing an interactive program to be used
      > (such as Ispell for example) on ME buffer data.

      The filter-buffer command should be able to do this as it uses system so
      there is nothing to stop the command being run from opening a window etc.

      >
      > great editor!

      Glad you like it,

      Steve
    • un_x
      ... these ... imply UNIX, ... Windows. ... ME. ... C-@? ... C-space ... Keyboard ... ? i am just using std stuff - just the default english setup. ... blocks
      Message 2 of 5 , Feb 21 2:07 AM
      • 0 Attachment
        > As a matter of interest what platform are you running on - some of
        these
        > questions are very platform specific. Your E-Mail address would
        imply UNIX,
        > but the C-@ binding problem would imply
        Windows.

        > FBSD4/latest
        ME.
        ^^^^^^^^^^^^^^^^^^

        > 1. how can you bind
        C-@?
        > i tried "\x00" "0x00" "C-@" "C- "
        "C-space"
        > etc, and none works
        ...

        > I think on Windows this key is not coming through correctly. What
        Keyboard
        > Locale/ Country are you using ? What platform are you on
        ?

        i am just using std stuff - just the default english
        setup.

        > 2. i think if OVERWRITE mode is ON, rectangle
        blocks
        > should "paste" OVER text ... as of now it
        appears
        > ME just "inserts" blocks regardless of OVERWRITE
        mode.

        > Need to try this
        out.

        > 3. is there a way to insert "literal" control
        chars?
        > ie, instead of ^B, i'd like a smilie
        face,
        > instead of ^F, i'd like to see a
        diamond.
        > normal PC
        charset.

        > Below 0x1f no unless the extended charset is removed. These are
        very
        > platform specific - charset.emf controls what is
        enabled.
        2 byte CTRL chars create problems with rectangular
        selections,
        as well as misaligned columns. maybe ^A can be an
        inverse
        or bold "A"? or hilight could be used to custom
        define
        the color of a CTRL char? 2 byte codes also force
        a
        user to scroll over the character to see if it is
        a
        real control char or merely the string
        "^A".

        > 4. is there a limit on keybindings? i have over a
        100
        > and although i haven't tracked the problem
        down
        > specifically, certain bindings seems to
        disappear
        > when i add more, and they come back when i reduce
        the
        > amount. there is no consistency in regards to the
        order
        > so it will take me a while to figure out what is going
        on.

        > Should be no
        limit.

        yes - the problem was that if "esc g" is bound to
        "abort",
        non-consecutive, seemingly random, bindings
        thereafter
        lose their definition. i removed the "esc g"
        binding,
        and all is
        well.

        > 5. is there a way to keep the *scratch* buffer from
        appearing?
        > if i want a scratch buffer, i can make one and it's kind
        of
        > annoying to always have "*scratch*" in my buffers when
        i
        > never wanted it or asked for one. it's just
        always
        > nagging to be deleted. i thought of using hooks,
        and
        > deleting "*scratch*" when a hook executes, but that
        seems
        > kinda dirty, since it will end up trying to delete
        "*scratch*"
        > even though it will be gone after the first
        delete.
        > Nope. You can delete *scratch*, but if there is no
        buffer
        > *scratch* will be created automatically
        because
        > you always need 1 buffer. In you start up you
        could
        > delete it provided you have another file loaded
        -
        > you can never have "NO
        BUFFER"

        from what i experience, my guess is "me.emf" is read before the
        scratch
        buffer is created. so deleting it from me.emf is useless. the
        problem with
        a hook is that it seems hooks require custom external macro files to
        be read.
        i would like to delete *scratch* without using more than "me" and
        "me.emf".
        is it
        possible?

        > 6. is there a way to detect if a mark is set? i want to
        mark
        > an entire buffer if it is unset, and leave it set if it
        is.
        > ... for use in user-defined
        macros.

        > Not sure - do not think so
        externally.

        this would be nice so that a region macro can select the whole buffer
        by
        default if no mark has been set. this is would be very
        handy.

        > 7. i think this is a known bug - the rectangle highlighting still
        highlights $
        > line mode, not block mode. it is functional in rectangle modes
        however, just
        > not the marking. how about a mark highlights rectangularly if the
        1st key is
        > left/right and not if the 1st key after a set-mark is up/down? or
        a
        > rectangle "mode" as in
        wrap/overwrite/etc...

        > Need to try
        this.


        > 8. "quote" should allow decimal/hex numbers, not
        just
        > literal keystrokes ... ? i'd like to be able to
        generate
        > any ascii char, not just typable
        ones.

        Fair
        point.

        > 9. looking forward to a system() macro that throws ME into
        the
        > background allowing an interactive program to be
        used
        > (such as Ispell for example) on ME buffer
        data.

        > I assume this is a background filter ?? There
        is
        > already the ipipe mechanism which will run a
        command
        > in the background. The filter does not do this
        in
        > the background - probably because we do not
        use
        > filters that often so no call reason to support
        it
        > to
        date.

        i am talking about the C "system()" call, where a
        parent
        can spawn a completely interactive process like
        "ispell"
        and resume operation when the child is exited. as far as i
        know,
        the current implementation will not all the spawning of
        interactive
        processes. "me" will merely dump stdout of a process into a
        buffer.

        > 10. i can't seem to left justify "email" that is indented with
        ">"
        > chars. is there anyway to reformat/justify a paragraph while
        maintaining
        > ">"
        "bullets"?

        > 11. HOME/END (bol/eol) doesn't work in termcap mode in an xterm.
        ?
        > HF <- that's what prints when i hit HOME/END in "me" in an
        xterm.

        > great editor!

        > This should keep me
        happy?

        i dunno :) i just know that JASSPA is the ONLY syntax
        highlighting,
        customizable termcap based editor out there of reasonable
        size.
        and i wouldn't know what to do without it
        :)
        i know i wouldn't be happy
        :)

        > Thanks for the feedback - you seem to be taking it
        apart.
      • un_x
        FBSD4/latest ME. ... ok, thanks. ... etc) but ... the yank ... inserted, if so ... Hello World and all that ... And the following buffer with the cursor at
        Message 3 of 5 , Feb 21 3:04 AM
        • 0 Attachment
          FBSD4/latest ME.

          > 1. how can you bind C-@?
          > i tried "\x00" "0x00" "C-@" "C- " "C-space"
          > etc, and none works ...

          > (search for $recent-keys).

          ok, thanks.

          > 2. i think if OVERWRITE mode is ON, rectangle blocks
          > should "paste" OVER text ... as of now it appears
          > ME just "inserts" blocks regardless of OVERWRITE mode.

          > This is not a common way of doing things (Emacs, MicroEMACS, Word
          etc) but
          > could be implemented in a macro using @y. But there are issues when
          the yank
          > buffer contains a new-line char ('\n'), typically these are
          inserted, if so
          > what happens to any remaining chars on the original line?? etc.

          For example, given the following yank buffer:

          ---------
          "Hello
          World and all that"
          ---------

          And the following buffer with the cursor at the '^'

          ---------
          This is the ^ point of
          insertion
          ---------

          The following are all legitimate results from an overwrite yank:

          ---------
          This is the Hello
          World and all thatt of
          insertion
          ---------
          This is the Hello
          World and all that
          insertion
          ---------
          This is the Hello
          World and all that
          ---------

          > So how this would behave is fair less well defined hence the
          standard of
          > inserting blocks (I think I would favour the middle result but much
          prefer
          > the simple insertion as I know what I'm going to get).

          i think it should end up as (as in Qedit 3.0 and Joe 2.8):

          ---------
          This is the Hello point of
          insertion World and all that
          ---------

          pastes after EOL's should have spaces inserted.
          rectangular selections should have all newlines stripped.
          it should be treated like a rectangle block
          being dropped into a grid.

          > 3. is there a way to insert "literal" control chars?
          > ie, instead of ^B, i'd like a smilie face,
          > instead of ^F, i'd like to see a diamond.
          > normal PC charset.

          > Use:
          > set-char-mask "dp" "\CB\CF"

          ok, i'll try it thanks.

          > 4. is there a limit on keybindings? i have over a 100
          > and although i haven't tracked the problem down
          > specifically, certain bindings seems to disappear
          > when i add more, and they come back when i reduce the
          > amount. there is no consistency in regards to the order
          > so it will take me a while to figure out what is going on.

          > Yes there is a limit, 384, there are a 181 burnt in default ones,
          that goes
          > up to 209 when me.emf is run and when I use ME a further 34 are
          added (due
          > to the mouse and MSShift support etc - I only add 4 of my own
          bindings)
          > getting the total to 243, leaving ~140 left.

          > So the question has to be why are you using so many? With only 50
          odd keys
          > on a keyboard this is like adding 2 new prefixes and binding every
          key on
          > the keyboard to it. It suggest to me that you are completely
          reconfiguring
          > the key-bindings in which case you should unbind the ones you don't
          want
          > first (use '-1 global-unbind-key "y"' to unbind the lot or use '0
          > global-unbind-key "esc"' etc to get rid of the main prefix keys and
          all
          > their bindings).

          i have that many bindings because like like to complement my CTRL
          bindings with ESC in case i am on a tty that "eats" some CTRL chars.
          i do unbind all initial bindings as described. the problem was
          with binding "esc g" to "abort" - that causes problems and i
          have a me.emf file that will prove it.

          > 5. is there a way to keep the *scratch* buffer from appearing?
          > if i want a scratch buffer, i can make one and it's kind of
          > annoying to always have "*scratch*" in my buffers when i
          > never wanted it or asked for one. it's just always
          > nagging to be deleted. i thought of using hooks, and
          > deleting "*scratch*" when a hook executes, but that seems
          > kinda dirty, since it will end up trying to delete "*scratch*"
          > even though it will be gone after the first delete.

          > Or define a start-up macro to delete the initial *scratch* buffer
          (see docs
          > on start-up) - ME must have at least one buffer so when you delete
          the last
          > buffer the *scratch* buffer will be created again, I don't see a way
          around
          > this.

          if no files are given as arguments, *scratch* pops up as the default
          buffer.
          otherwise it does not pop up ... that would seem like a nice way,
          IMHO.

          > 6. is there a way to detect if a mark is set? i want to mark
          > an entire buffer if it is unset, and leave it set if it is.
          > ... for use in user-defined macros.

          > Try:

          > define-macro Test-mark
          > !force exchange-point-and-mark
          > !if $status
          > exchange-point-and-mark
          > ml-write "Mark is set"
          > !else
          > ml-write "Mark is not set"
          > !endif
          > !emacro

          > I can't stop the 'not set' case from ringing the bell - not such a
          problem
          > if you use quiet mode. I will fix this.

          thanks :) i will try it :)

          > 7. i think this is a known bug - the rectangle highlighting
          > still highlights in line mode, not block mode. it is functional
          > in rectangle modes however, just not the marking. how about
          > a mark highlights rectangularly if the 1st key is left/right
          > and not if the 1st key after a set-mark is up/down?
          > or a rectangle "mode" as in wrap/overwrite/etc...

          > I don't think that rectangle regions are used enough to warrant
          this, I
          > certainly don't want to have to move the cursor down to get the
          normal
          > region hilight.

          left-to-right selections are the same in rectangle and line modes ...

          > If the cursor moving region hilight does not do the
          > rectangle region then the only time it would be used is on the
          > yank-rectangle command and thats a lot of code for one minor
          feature. ME is
          > a careful balance between power and size, we have added the ability
          to do
          > rectangle regions but I don't think the hilighting of the region can
          be
          > justified, sorry.

          ok :)

          > 8. "quote" should allow decimal/hex numbers, not just
          > literal keystrokes ... ? i'd like to be able to generate
          > any ascii char, not just typable ones.

          > A simple macro could be written to do this.

          ok :)

          > 9. looking forward to a system() macro that throws ME into the
          > background allowing an interactive program to be used
          > (such as Ispell for example) on ME buffer data.

          > The filter-buffer command should be able to do this as it uses
          system so
          > there is nothing to stop the command being run from opening a window
          etc.

          well - filter-buffer jsut dumps stdout to a buffer, i am askingF
          how to spawn an interactive program from "me". one requiring
          user input, one that doesn't dump stdout to a buffer, but
          merely spawns a process. and when the process exits,
          "me" returns to the foreground.

          > great editor!

          > Glad you like it,

          i don't just like it - it's really all there is.
          what else is there? vim? kinda big, kinda crazy.
          emacs? way too big. there simply is *NO* otherF
          editor with termcap based syntax highlighting
          of reasonable size (small enough to fit on a floppy).
        Your message has been successfully submitted and would be delivered to recipients shortly.