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

Re: [jasspa] Client-Server Problems with find-file, goto-line

Expand Messages
  • Detlef Groth
    Hi Steven, I think the only thing I really would like to do is opening a file or reusing an existing buffer and optional going to a certain line number if line
    Message 1 of 10 , Apr 9, 2008
    • 0 Attachment
      Hi Steven,

      I think the only thing I really would like to do is opening a file or reusing an existing buffer and optional going to a certain line number if line number is not null. As can be seen in the example macro. The reason for this, that is that I want to implement a tree control in Tcl/Tk which keeps track of my files and Tcl-classes and Tcl-Procs. Klicking on file should visit the appropiate buffer, clicking on a class-method or a file should open the file and jump to the appropiate line. Similar to a Tcl-proc. See the sample.gif

      Such feature which are common to eclipse and komodo for instance. Our me- toolbar is quite handy but with many projects and files it becomes to difficult to use.

      regards,
      Detlef

      -------- Original-Nachricht --------
      > Datum: Wed, 09 Apr 2008 13:44:40 +0100
      > Von: Steven Phillips <bill@...>
      > An: jasspa@yahoogroups.com
      > Betreff: Re: [jasspa] Client-Server Problems with find-file, goto-line

      > The server interface has deliberately been restricted to avoid the user
      > accidentally breaking things (consider doing a large macro based
      > operation to modify the current buffer when the server interface changes
      > the current buffer half way through - the confusion this will create is
      > going to hurt). But if you are convinced that this really is what you
      > want (and you give up your right to sue when you corrupt your files :-))
      > then I'll look into how to do this...
      >
      > Dr. Detlef Groth wrote:
      > >
      > > Hello all,
      > >
      > > I would like to run a pipeline like:
      > >
      > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:find-file c:/path/to/
      > > Makefile'
      > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:goto-line 18'
      > >
      > > unfortunatly does not work. Sometimes the *server* window popups
      > > instead of the desired file argument and the file even if it popups
      > > does not have a focus
      > >
      > > cmds like
      > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:delete-other-windows'
      > >
      > > are simply ignored.
      > >
      > > A macro like:
      > >
      > > define-macro find-file-line
      > > find-file @1
      > > !if ¬ &equal 0 @2
      > > goto-line @2
      > > !endif
      > > !emacro
      > >
      > > works if tested inside emacs but the invoked file-window does not get
      > > the focus if invoked from the commandline.
      > >
      > > Keeping short. I would like to invoke me with two arguments the file-
      > > name and a line number. The server should show at the end just one
      > > window with the right file at the right line.
      > >
      > > any suggestions ?
      > >
      > > regards,
      > > Detlef
      > >
      > >
      >
      >
      > ------------------------------------
      >
      > __________________________________________________________________________
      >
      > This is an unmoderated list, but new members are moderated to ensure that
      > there are no spam users. JASSPA is not responsible for the content of
      > any material posted to this list.
      >
      > To un-subscribe, send a mail message to
      >
      > mailto:jasspa-unsubscribe@yahoogroups.com
      >
      > or visit http://groups.yahoo.com/group/jasspa and
      > modify your account settings manually.
      >
      >
      > Yahoo! Groups Links
      >
      >
      >
      --
      Dr.Detlef Groth
      Neue Scheune 5
      14548 Ferch
      Germany
    • Steven Phillips
      Detlef, I ve worked out the best way to do this, you need 2 macros - the first is the one directly called by the client/server interface, this stores the
      Message 2 of 10 , Apr 9, 2008
      • 0 Attachment
        Detlef,

        I've worked out the best way to do this, you need 2 macros - the first
        is the one directly called by the client/server interface, this stores
        the information. The second is the one that actually does the work, it
        is executed via the callback mechanism from the first macro so it will
        not run until ME is idle and is reasonably safe to do so. Below are the
        2 macros, however I did hit a problem with the meserver.emf macro code,
        below is a fix, 2 lines need to be removed.

        Steve

        0 define-macro server-find-file-callback
        find-file .server-find-file.f
        delete-other-windows
        !if &gre .server-find-file.l 0
        !force goto-line .server-find-file.l
        !endif
        screen-update
        !emacro

        define-macro server-find-file
        !force set-variable .f @1
        !if $status
        !force set-variable .l @2
        !if ¬ $status
        set-variable .l 0
        !endif
        1 create-callback server-find-file-callback
        !endif
        !emacro

        *** meserver.emf 4 Oct 2006 20:07:08 -0000 2.10
        --- meserver.emf 9 Apr 2008 20:53:03 -0000
        ***************
        *** 30,40 ****
        !force 0 find-buffer #l4
        !endif
        !force execute-line #l3
        - !if ¬ &seq $buffer-bname #l4
        set-variable #l4 $buffer-bname
        popup-window #l1
        set-variable &ind &spr ":%s-buffer" #l2 #l4
        - !endif
        !elif &seq @wc "M"
        set-variable #l2 &lget &rig @wl 1 1
        set-variable #l3 &rig @wl &add 3 &len #l2
        --- 30,38 ----


        Detlef Groth wrote:
        >
        > Hi Steven,
        >
        > I think the only thing I really would like to do is opening a file or
        > reusing an existing buffer and optional going to a certain line number
        > if line number is not null. As can be seen in the example macro. The
        > reason for this, that is that I want to implement a tree control in
        > Tcl/Tk which keeps track of my files and Tcl-classes and Tcl-Procs.
        > Klicking on file should visit the appropiate buffer, clicking on a
        > class-method or a file should open the file and jump to the appropiate
        > line. Similar to a Tcl-proc. See the sample.gif
        >
        > Such feature which are common to eclipse and komodo for instance. Our
        > me- toolbar is quite handy but with many projects and files it becomes
        > to difficult to use.
        >
        > regards,
        > Detlef
        >
        > -------- Original-Nachricht --------
        > > Datum: Wed, 09 Apr 2008 13:44:40 +0100
        > > Von: Steven Phillips <bill@... <mailto:bill%40jasspa.com>>
        > > An: jasspa@yahoogroups.com <mailto:jasspa%40yahoogroups.com>
        > > Betreff: Re: [jasspa] Client-Server Problems with find-file, goto-line
        >
        > > The server interface has deliberately been restricted to avoid the user
        > > accidentally breaking things (consider doing a large macro based
        > > operation to modify the current buffer when the server interface
        > changes
        > > the current buffer half way through - the confusion this will create is
        > > going to hurt). But if you are convinced that this really is what you
        > > want (and you give up your right to sue when you corrupt your files
        > :-))
        > > then I'll look into how to do this...
        > >
        > > Dr. Detlef Groth wrote:
        > > >
        > > > Hello all,
        > > >
        > > > I would like to run a pipeline like:
        > > >
        > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:find-file c:/path/to/
        > > > Makefile'
        > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:goto-line 18'
        > > >
        > > > unfortunatly does not work. Sometimes the *server* window popups
        > > > instead of the desired file argument and the file even if it popups
        > > > does not have a focus
        > > >
        > > > cmds like
        > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:delete-other-windows'
        > > >
        > > > are simply ignored.
        > > >
        > > > A macro like:
        > > >
        > > > define-macro find-file-line
        > > > find-file @1
        > > > !if ¬ &equal 0 @2
        > > > goto-line @2
        > > > !endif
        > > > !emacro
        > > >
        > > > works if tested inside emacs but the invoked file-window does not get
        > > > the focus if invoked from the commandline.
        > > >
        > > > Keeping short. I would like to invoke me with two arguments the file-
        > > > name and a line number. The server should show at the end just one
        > > > window with the right file at the right line.
        > > >
        > > > any suggestions ?
        > > >
        > > > regards,
        > > > Detlef
        > > >
        > > >
        > >
        > >
        > > ------------------------------------
        > >
        > > __________________________________________________________
        > >
        > > This is an unmoderated list, but new members are moderated to ensure
        > that
        > > there are no spam users. JASSPA is not responsible for the content of
        > > any material posted to this list.
        > >
        > > To un-subscribe, send a mail message to
        > >
        > > mailto:jasspa-unsubscribe@yahoogroups.com
        > <mailto:jasspa-unsubscribe%40yahoogroups.com>
        > >
        > > or visit http://groups.yahoo.com/group/jasspa
        > <http://groups.yahoo.com/group/jasspa> and
        > > modify your account settings manually.
        > >
        > >
        > > Yahoo! Groups Links
        > >
        > >
        > >
        > --
        > Dr.Detlef Groth
        > Neue Scheune 5
        > 14548 Ferch
        > Germany
        >
        >
        > ------------------------------------------------------------------------
        >
      • Detlef Groth
        Thanks Steven, works like a charm: $ /c/Programme/jasspa/me32.exe -m C:ME:server-find-file c:/home/dgroth/mycvs/mytcl/goblet1/conf/goblet.cfg 2 $
        Message 3 of 10 , Apr 9, 2008
        • 0 Attachment
          Thanks Steven,

          works like a charm:

          $ /c/Programme/jasspa/me32.exe -m 'C:ME:server-find-file c:/home/dgroth/mycvs/mytcl/goblet1/conf/goblet.cfg 2'

          $ /c/Programme/jasspa/me32.exe -m 'C:ME:server-find-file c:/home/dgroth/mycvs/mytcl/goblet1/Makefile 13'

          now does indeed what it should.

          Just for curious, is it possible to invoke the client that way that the server just returns the actual value of a variable ($buffer-bname or $buffer-fname) as an example.

          This would be the last step to do such external me-extensions enabling auto-update of the source-tree for instance. We can invoke a client at regular intervals. Of course a socket communication would make this less heavy. It might be as well possible to alter save-file that it writes important variables into a communication file.

          regards,
          Detlef
          regards,
          Detlef
          -------- Original-Nachricht --------
          > Datum: Wed, 09 Apr 2008 22:14:06 +0100
          > Von: Steven Phillips <bill@...>
          > An: jasspa@yahoogroups.com
          > Betreff: Re: [jasspa] Client-Server Problems with find-file, goto-line

          > Detlef,
          >
          > I've worked out the best way to do this, you need 2 macros - the first
          > is the one directly called by the client/server interface, this stores
          > the information. The second is the one that actually does the work, it
          > is executed via the callback mechanism from the first macro so it will
          > not run until ME is idle and is reasonably safe to do so. Below are the
          > 2 macros, however I did hit a problem with the meserver.emf macro code,
          > below is a fix, 2 lines need to be removed.
          >
          > Steve
          >
          > 0 define-macro server-find-file-callback
          > find-file .server-find-file.f
          > delete-other-windows
          > !if &gre .server-find-file.l 0
          > !force goto-line .server-find-file.l
          > !endif
          > screen-update
          > !emacro
          >
          > define-macro server-find-file
          > !force set-variable .f @1
          > !if $status
          > !force set-variable .l @2
          > !if ¬ $status
          > set-variable .l 0
          > !endif
          > 1 create-callback server-find-file-callback
          > !endif
          > !emacro
          >
          > *** meserver.emf 4 Oct 2006 20:07:08 -0000 2.10
          > --- meserver.emf 9 Apr 2008 20:53:03 -0000
          > ***************
          > *** 30,40 ****
          > !force 0 find-buffer #l4
          > !endif
          > !force execute-line #l3
          > - !if ¬ &seq $buffer-bname #l4
          > set-variable #l4 $buffer-bname
          > popup-window #l1
          > set-variable &ind &spr ":%s-buffer" #l2 #l4
          > - !endif
          > !elif &seq @wc "M"
          > set-variable #l2 &lget &rig @wl 1 1
          > set-variable #l3 &rig @wl &add 3 &len #l2
          > --- 30,38 ----
          >
          >
          > Detlef Groth wrote:
          > >
          > > Hi Steven,
          > >
          > > I think the only thing I really would like to do is opening a file or
          > > reusing an existing buffer and optional going to a certain line number
          > > if line number is not null. As can be seen in the example macro. The
          > > reason for this, that is that I want to implement a tree control in
          > > Tcl/Tk which keeps track of my files and Tcl-classes and Tcl-Procs.
          > > Klicking on file should visit the appropiate buffer, clicking on a
          > > class-method or a file should open the file and jump to the appropiate
          > > line. Similar to a Tcl-proc. See the sample.gif
          > >
          > > Such feature which are common to eclipse and komodo for instance. Our
          > > me- toolbar is quite handy but with many projects and files it becomes
          > > to difficult to use.
          > >
          > > regards,
          > > Detlef
          > >
          > > -------- Original-Nachricht --------
          > > > Datum: Wed, 09 Apr 2008 13:44:40 +0100
          > > > Von: Steven Phillips <bill@... <mailto:bill%40jasspa.com>>
          > > > An: jasspa@yahoogroups.com <mailto:jasspa%40yahoogroups.com>
          > > > Betreff: Re: [jasspa] Client-Server Problems with find-file, goto-line
          > >
          > > > The server interface has deliberately been restricted to avoid the
          > user
          > > > accidentally breaking things (consider doing a large macro based
          > > > operation to modify the current buffer when the server interface
          > > changes
          > > > the current buffer half way through - the confusion this will create
          > is
          > > > going to hurt). But if you are convinced that this really is what you
          > > > want (and you give up your right to sue when you corrupt your files
          > > :-))
          > > > then I'll look into how to do this...
          > > >
          > > > Dr. Detlef Groth wrote:
          > > > >
          > > > > Hello all,
          > > > >
          > > > > I would like to run a pipeline like:
          > > > >
          > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:find-file c:/path/to/
          > > > > Makefile'
          > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:goto-line 18'
          > > > >
          > > > > unfortunatly does not work. Sometimes the *server* window popups
          > > > > instead of the desired file argument and the file even if it popups
          > > > > does not have a focus
          > > > >
          > > > > cmds like
          > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:delete-other-windows'
          > > > >
          > > > > are simply ignored.
          > > > >
          > > > > A macro like:
          > > > >
          > > > > define-macro find-file-line
          > > > > find-file @1
          > > > > !if ¬ &equal 0 @2
          > > > > goto-line @2
          > > > > !endif
          > > > > !emacro
          > > > >
          > > > > works if tested inside emacs but the invoked file-window does not
          > get
          > > > > the focus if invoked from the commandline.
          > > > >
          > > > > Keeping short. I would like to invoke me with two arguments the
          > file-
          > > > > name and a line number. The server should show at the end just one
          > > > > window with the right file at the right line.
          > > > >
          > > > > any suggestions ?
          > > > >
          > > > > regards,
          > > > > Detlef
          > > > >
          > > > >
          > > >
          > > >
          > > > ------------------------------------
          > > >
          > > > __________________________________________________________
          > > >
          > > > This is an unmoderated list, but new members are moderated to ensure
          > > that
          > > > there are no spam users. JASSPA is not responsible for the content of
          > > > any material posted to this list.
          > > >
          > > > To un-subscribe, send a mail message to
          > > >
          > > > mailto:jasspa-unsubscribe@yahoogroups.com
          > > <mailto:jasspa-unsubscribe%40yahoogroups.com>
          > > >
          > > > or visit http://groups.yahoo.com/group/jasspa
          > > <http://groups.yahoo.com/group/jasspa> and
          > > > modify your account settings manually.
          > > >
          > > >
          > > > Yahoo! Groups Links
          > > >
          > > >
          > > >
          > > --
          > > Dr.Detlef Groth
          > > Neue Scheune 5
          > > 14548 Ferch
          > > Germany
          > >
          > >
          > > ------------------------------------------------------------------------
          > >
          >
          >
          > ------------------------------------
          >
          > __________________________________________________________________________
          >
          > This is an unmoderated list, but new members are moderated to ensure that
          > there are no spam users. JASSPA is not responsible for the content of
          > any material posted to this list.
          >
          > To un-subscribe, send a mail message to
          >
          > mailto:jasspa-unsubscribe@yahoogroups.com
          >
          > or visit http://groups.yahoo.com/group/jasspa and
          > modify your account settings manually.
          >
          >
          > Yahoo! Groups Links
          >
          >
          >
          --
          Dr.Detlef Groth
          Neue Scheune 5
          14548 Ferch
          Germany
        • Bryan Schofield
          Detlef - Once apon a time I integrated a TCL interpreter with MicroEmacs that provided a new ME command tcl some tcl statement and one new TCL command emf
          Message 4 of 10 , Apr 10, 2008
          • 0 Attachment
            Detlef -

            Once apon a time I integrated a TCL interpreter with MicroEmacs that
            provided a new ME command "tcl some tcl statement" and one new TCL
            command "emf some-me-macro" With just a little bit of macros and TCL
            procs it was very easy to get tight integration. It looks like you
            going down an ME based TCL IDE road, so this may be an option to
            consider.

            cheers

            -- bryan
          • Detlef Groth
            Hi Brian, sounds very interesting, do you have still some code around for the Tcl integration ? regards, Detlef ... -- Dr.Detlef Groth Neue Scheune 5 14548
            Message 5 of 10 , Apr 10, 2008
            • 0 Attachment
              Hi Brian,

              sounds very interesting,
              do you have still some code around for the Tcl integration ?


              regards,
              Detlef
              -------- Original-Nachricht --------
              > Datum: Thu, 10 Apr 2008 08:40:37 -0400
              > Von: "Bryan Schofield" <schofield.bryan@...>
              > An: MicroEmacs <jasspa@yahoogroups.com>
              > Betreff: RE: [jasspa] Client-Server Problems with find-file, goto-line

              > Detlef -
              >
              > Once apon a time I integrated a TCL interpreter with MicroEmacs that
              > provided a new ME command "tcl some tcl statement" and one new TCL
              > command "emf some-me-macro" With just a little bit of macros and TCL
              > procs it was very easy to get tight integration. It looks like you
              > going down an ME based TCL IDE road, so this may be an option to
              > consider.
              >
              > cheers
              >
              > -- bryan
              >
              > ------------------------------------
              >
              > __________________________________________________________________________
              >
              > This is an unmoderated list, but new members are moderated to ensure that
              > there are no spam users. JASSPA is not responsible for the content of
              > any material posted to this list.
              >
              > To un-subscribe, send a mail message to
              >
              > mailto:jasspa-unsubscribe@yahoogroups.com
              >
              > or visit http://groups.yahoo.com/group/jasspa and
              > modify your account settings manually.
              >
              >
              > Yahoo! Groups Links
              >
              >
              >
              --
              Dr.Detlef Groth
              Neue Scheune 5
              14548 Ferch
              Germany
            • Bryan Schofield
              I m afraid I can t find it, but I remember the changes were pretty simple. A couple of C files. This would have been 3 years or so ago... I can t search the
              Message 6 of 10 , Apr 10, 2008
              • 0 Attachment
                I'm afraid I can't find it, but I remember the changes were pretty
                simple. A couple of C files. This would have been 3 years or so ago...
                I can't search the Yahoo Groups archives (blocked by corporate web
                proxy) but I know I posted something, whether it was code or not I
                can't remember.

                On Thu, Apr 10, 2008 at 9:59 AM, Detlef Groth <dgroth@...> wrote:
                >
                >
                >
                >
                >
                >
                > Hi Brian,
                >
                > sounds very interesting,
                > do you have still some code around for the Tcl integration ?
                >
                > regards,
                > Detlef
                > -------- Original-Nachricht --------
                > > Datum: Thu, 10 Apr 2008 08:40:37 -0400
                > > Von: "Bryan Schofield" <schofield.bryan@...>
                > > An: MicroEmacs <jasspa@yahoogroups.com>
                > > Betreff: RE: [jasspa] Client-Server Problems with find-file, goto-line
                >
                >
                >
                > > Detlef -
                > >
                > > Once apon a time I integrated a TCL interpreter with MicroEmacs that
                > > provided a new ME command "tcl some tcl statement" and one new TCL
                > > command "emf some-me-macro" With just a little bit of macros and TCL
                > > procs it was very easy to get tight integration. It looks like you
                > > going down an ME based TCL IDE road, so this may be an option to
                > > consider.
                > >
                > > cheers
                > >
                > > -- bryan
                > >
                > > ------------------------------------
                > >
                > > __________________________________________________________
                > >
                > > This is an unmoderated list, but new members are moderated to ensure that
                > > there are no spam users. JASSPA is not responsible for the content of
                > > any material posted to this list.
                > >
                > > To un-subscribe, send a mail message to
                > >
                > > mailto:jasspa-unsubscribe@yahoogroups.com
                > >
                > > or visit http://groups.yahoo.com/group/jasspa and
                > > modify your account settings manually.
                > >
                > >
                > > Yahoo! Groups Links
                > >
                > >
                > >
                > --
                > Dr.Detlef Groth
                > Neue Scheune 5
                > 14548 Ferch
                > Germany
                >
                >
              • Dr. Detlef Groth
                Hi all, I finally found the time to interact with the ME-Server from an Tcl-Tree showing my project files see: http://www.dgroth.de/downloads/me-no-ide.png
                Message 7 of 10 , Jun 20, 2008
                • 0 Attachment
                  Hi all,

                  I finally found the time to interact with the ME-Server from an
                  Tcl-Tree showing my project files see:
                  http://www.dgroth.de/downloads/me-no-ide.png

                  What disturbs me is that me opens a popup-window for the running
                  me-server. If I have just one window I would rather see after clicking
                  in the tree just again one window. This is especially true for the
                  second feature goto-line where I would like to jum to a certain method
                  of a class definition for example.

                  I tried to comment out popup-window invokations inside meserver.emf
                  but this does not work. Any idea ?

                  regards,
                  Detlef


                  --- In jasspa@yahoogroups.com, Steven Phillips <bill@...> wrote:
                  >
                  > Detlef,
                  >
                  > I've worked out the best way to do this, you need 2 macros - the first
                  > is the one directly called by the client/server interface, this stores
                  > the information. The second is the one that actually does the work, it
                  > is executed via the callback mechanism from the first macro so it will
                  > not run until ME is idle and is reasonably safe to do so. Below are the
                  > 2 macros, however I did hit a problem with the meserver.emf macro code,
                  > below is a fix, 2 lines need to be removed.
                  >
                  > Steve
                  >
                  > 0 define-macro server-find-file-callback
                  > find-file .server-find-file.f
                  > delete-other-windows
                  > !if &gre .server-find-file.l 0
                  > !force goto-line .server-find-file.l
                  > !endif
                  > screen-update
                  > !emacro
                  >
                  > define-macro server-find-file
                  > !force set-variable .f @1
                  > !if $status
                  > !force set-variable .l @2
                  > !if ¬ $status
                  > set-variable .l 0
                  > !endif
                  > 1 create-callback server-find-file-callback
                  > !endif
                  > !emacro
                  >
                  > *** meserver.emf 4 Oct 2006 20:07:08 -0000 2.10
                  > --- meserver.emf 9 Apr 2008 20:53:03 -0000
                  > ***************
                  > *** 30,40 ****
                  > !force 0 find-buffer #l4
                  > !endif
                  > !force execute-line #l3
                  > - !if ¬ &seq $buffer-bname #l4
                  > set-variable #l4 $buffer-bname
                  > popup-window #l1
                  > set-variable &ind &spr ":%s-buffer" #l2 #l4
                  > - !endif
                  > !elif &seq @wc "M"
                  > set-variable #l2 &lget &rig @wl 1 1
                  > set-variable #l3 &rig @wl &add 3 &len #l2
                  > --- 30,38 ----
                  >
                  >
                  > Detlef Groth wrote:
                  > >
                  > > Hi Steven,
                  > >
                  > > I think the only thing I really would like to do is opening a file or
                  > > reusing an existing buffer and optional going to a certain line
                  number
                  > > if line number is not null. As can be seen in the example macro. The
                  > > reason for this, that is that I want to implement a tree control in
                  > > Tcl/Tk which keeps track of my files and Tcl-classes and Tcl-Procs.
                  > > Klicking on file should visit the appropiate buffer, clicking on a
                  > > class-method or a file should open the file and jump to the
                  appropiate
                  > > line. Similar to a Tcl-proc. See the sample.gif
                  > >
                  > > Such feature which are common to eclipse and komodo for instance. Our
                  > > me- toolbar is quite handy but with many projects and files it
                  becomes
                  > > to difficult to use.
                  > >
                  > > regards,
                  > > Detlef
                  > >
                  > > -------- Original-Nachricht --------
                  > > > Datum: Wed, 09 Apr 2008 13:44:40 +0100
                  > > > Von: Steven Phillips <bill@... <mailto:bill%40jasspa.com>>
                  > > > An: jasspa@yahoogroups.com <mailto:jasspa%40yahoogroups.com>
                  > > > Betreff: Re: [jasspa] Client-Server Problems with find-file,
                  goto-line
                  > >
                  > > > The server interface has deliberately been restricted to avoid
                  the user
                  > > > accidentally breaking things (consider doing a large macro based
                  > > > operation to modify the current buffer when the server interface
                  > > changes
                  > > > the current buffer half way through - the confusion this will
                  create is
                  > > > going to hurt). But if you are convinced that this really is
                  what you
                  > > > want (and you give up your right to sue when you corrupt your files
                  > > :-))
                  > > > then I'll look into how to do this...
                  > > >
                  > > > Dr. Detlef Groth wrote:
                  > > > >
                  > > > > Hello all,
                  > > > >
                  > > > > I would like to run a pipeline like:
                  > > > >
                  > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:find-file c:/path/to/
                  > > > > Makefile'
                  > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:goto-line 18'
                  > > > >
                  > > > > unfortunatly does not work. Sometimes the *server* window popups
                  > > > > instead of the desired file argument and the file even if it
                  popups
                  > > > > does not have a focus
                  > > > >
                  > > > > cmds like
                  > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:delete-other-windows'
                  > > > >
                  > > > > are simply ignored.
                  > > > >
                  > > > > A macro like:
                  > > > >
                  > > > > define-macro find-file-line
                  > > > > find-file @1
                  > > > > !if ¬ &equal 0 @2
                  > > > > goto-line @2
                  > > > > !endif
                  > > > > !emacro
                  > > > >
                  > > > > works if tested inside emacs but the invoked file-window does
                  not get
                  > > > > the focus if invoked from the commandline.
                  > > > >
                  > > > > Keeping short. I would like to invoke me with two arguments
                  the file-
                  > > > > name and a line number. The server should show at the end just one
                  > > > > window with the right file at the right line.
                  > > > >
                  > > > > any suggestions ?
                  > > > >
                  > > > > regards,
                  > > > > Detlef
                  > > > >
                  > > > >
                  > > >
                  > > >
                  > > > ------------------------------------
                  > > >
                  > > > __________________________________________________________
                  > > >
                  > > > This is an unmoderated list, but new members are moderated to
                  ensure
                  > > that
                  > > > there are no spam users. JASSPA is not responsible for the
                  content of
                  > > > any material posted to this list.
                  > > >
                  > > > To un-subscribe, send a mail message to
                  > > >
                  > > > mailto:jasspa-unsubscribe@yahoogroups.com
                  > > <mailto:jasspa-unsubscribe%40yahoogroups.com>
                  > > >
                  > > > or visit http://groups.yahoo.com/group/jasspa
                  > > <http://groups.yahoo.com/group/jasspa> and
                  > > > modify your account settings manually.
                  > > >
                  > > >
                  > > > Yahoo! Groups Links
                  > > >
                  > > >
                  > > >
                  > > --
                  > > Dr.Detlef Groth
                  > > Neue Scheune 5
                  > > 14548 Ferch
                  > > Germany
                  > >
                  > >
                  > >
                  ------------------------------------------------------------------------
                  > >
                  >
                • Dr. Detlef Groth
                  Hi. sorry, but I found the solution myself. Of course I have to use just the server-find-file command from below instead of find-file: The Tcl-command is: exec
                  Message 8 of 10 , Jun 20, 2008
                  • 0 Attachment
                    Hi.

                    sorry, but I found the solution myself. Of course I have to use just
                    the server-find-file command from below instead of find-file:

                    The Tcl-command is:
                    exec $me -m "C:ME:server-find-file $path" &

                    regards,
                    Detlef
                    --- In jasspa@yahoogroups.com, "Dr. Detlef Groth" <dgroth@...> wrote:
                    >
                    > Hi all,
                    >
                    > I finally found the time to interact with the ME-Server from an
                    > Tcl-Tree showing my project files see:
                    > http://www.dgroth.de/downloads/me-no-ide.png
                    >
                    > What disturbs me is that me opens a popup-window for the running
                    > me-server. If I have just one window I would rather see after clicking
                    > in the tree just again one window. This is especially true for the
                    > second feature goto-line where I would like to jum to a certain method
                    > of a class definition for example.
                    >
                    > I tried to comment out popup-window invokations inside meserver.emf
                    > but this does not work. Any idea ?
                    >
                    > regards,
                    > Detlef
                    >
                    >
                    > --- In jasspa@yahoogroups.com, Steven Phillips <bill@> wrote:
                    > >
                    > > Detlef,
                    > >
                    > > I've worked out the best way to do this, you need 2 macros - the
                    first
                    > > is the one directly called by the client/server interface, this
                    stores
                    > > the information. The second is the one that actually does the
                    work, it
                    > > is executed via the callback mechanism from the first macro so it
                    will
                    > > not run until ME is idle and is reasonably safe to do so. Below
                    are the
                    > > 2 macros, however I did hit a problem with the meserver.emf macro
                    code,
                    > > below is a fix, 2 lines need to be removed.
                    > >
                    > > Steve
                    > >
                    > > 0 define-macro server-find-file-callback
                    > > find-file .server-find-file.f
                    > > delete-other-windows
                    > > !if &gre .server-find-file.l 0
                    > > !force goto-line .server-find-file.l
                    > > !endif
                    > > screen-update
                    > > !emacro
                    > >
                    > > define-macro server-find-file
                    > > !force set-variable .f @1
                    > > !if $status
                    > > !force set-variable .l @2
                    > > !if ¬ $status
                    > > set-variable .l 0
                    > > !endif
                    > > 1 create-callback server-find-file-callback
                    > > !endif
                    > > !emacro
                    > >
                    > > *** meserver.emf 4 Oct 2006 20:07:08 -0000 2.10
                    > > --- meserver.emf 9 Apr 2008 20:53:03 -0000
                    > > ***************
                    > > *** 30,40 ****
                    > > !force 0 find-buffer #l4
                    > > !endif
                    > > !force execute-line #l3
                    > > - !if ¬ &seq $buffer-bname #l4
                    > > set-variable #l4 $buffer-bname
                    > > popup-window #l1
                    > > set-variable &ind &spr ":%s-buffer" #l2 #l4
                    > > - !endif
                    > > !elif &seq @wc "M"
                    > > set-variable #l2 &lget &rig @wl 1 1
                    > > set-variable #l3 &rig @wl &add 3 &len #l2
                    > > --- 30,38 ----
                    > >
                    > >
                    > > Detlef Groth wrote:
                    > > >
                    > > > Hi Steven,
                    > > >
                    > > > I think the only thing I really would like to do is opening a
                    file or
                    > > > reusing an existing buffer and optional going to a certain line
                    > number
                    > > > if line number is not null. As can be seen in the example macro.
                    The
                    > > > reason for this, that is that I want to implement a tree control in
                    > > > Tcl/Tk which keeps track of my files and Tcl-classes and Tcl-Procs.
                    > > > Klicking on file should visit the appropiate buffer, clicking on a
                    > > > class-method or a file should open the file and jump to the
                    > appropiate
                    > > > line. Similar to a Tcl-proc. See the sample.gif
                    > > >
                    > > > Such feature which are common to eclipse and komodo for
                    instance. Our
                    > > > me- toolbar is quite handy but with many projects and files it
                    > becomes
                    > > > to difficult to use.
                    > > >
                    > > > regards,
                    > > > Detlef
                    > > >
                    > > > -------- Original-Nachricht --------
                    > > > > Datum: Wed, 09 Apr 2008 13:44:40 +0100
                    > > > > Von: Steven Phillips <bill@ <mailto:bill%40jasspa.com>>
                    > > > > An: jasspa@yahoogroups.com <mailto:jasspa%40yahoogroups.com>
                    > > > > Betreff: Re: [jasspa] Client-Server Problems with find-file,
                    > goto-line
                    > > >
                    > > > > The server interface has deliberately been restricted to avoid
                    > the user
                    > > > > accidentally breaking things (consider doing a large macro based
                    > > > > operation to modify the current buffer when the server interface
                    > > > changes
                    > > > > the current buffer half way through - the confusion this will
                    > create is
                    > > > > going to hurt). But if you are convinced that this really is
                    > what you
                    > > > > want (and you give up your right to sue when you corrupt your
                    files
                    > > > :-))
                    > > > > then I'll look into how to do this...
                    > > > >
                    > > > > Dr. Detlef Groth wrote:
                    > > > > >
                    > > > > > Hello all,
                    > > > > >
                    > > > > > I would like to run a pipeline like:
                    > > > > >
                    > > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:find-file c:/path/to/
                    > > > > > Makefile'
                    > > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:goto-line 18'
                    > > > > >
                    > > > > > unfortunatly does not work. Sometimes the *server* window popups
                    > > > > > instead of the desired file argument and the file even if it
                    > popups
                    > > > > > does not have a focus
                    > > > > >
                    > > > > > cmds like
                    > > > > > $ /c/Programme/jasspa/me32.exe -m 'C:ME:delete-other-windows'
                    > > > > >
                    > > > > > are simply ignored.
                    > > > > >
                    > > > > > A macro like:
                    > > > > >
                    > > > > > define-macro find-file-line
                    > > > > > find-file @1
                    > > > > > !if ¬ &equal 0 @2
                    > > > > > goto-line @2
                    > > > > > !endif
                    > > > > > !emacro
                    > > > > >
                    > > > > > works if tested inside emacs but the invoked file-window does
                    > not get
                    > > > > > the focus if invoked from the commandline.
                    > > > > >
                    > > > > > Keeping short. I would like to invoke me with two arguments
                    > the file-
                    > > > > > name and a line number. The server should show at the end
                    just one
                    > > > > > window with the right file at the right line.
                    > > > > >
                    > > > > > any suggestions ?
                    > > > > >
                    > > > > > regards,
                    > > > > > Detlef
                    > > > > >
                    > > > > >
                    > > > >
                    > > > >
                    > > > > ------------------------------------
                    > > > >
                    > > > > __________________________________________________________
                    > > > >
                    > > > > This is an unmoderated list, but new members are moderated to
                    > ensure
                    > > > that
                    > > > > there are no spam users. JASSPA is not responsible for the
                    > content of
                    > > > > any material posted to this list.
                    > > > >
                    > > > > To un-subscribe, send a mail message to
                    > > > >
                    > > > > mailto:jasspa-unsubscribe@yahoogroups.com
                    > > > <mailto:jasspa-unsubscribe%40yahoogroups.com>
                    > > > >
                    > > > > or visit http://groups.yahoo.com/group/jasspa
                    > > > <http://groups.yahoo.com/group/jasspa> and
                    > > > > modify your account settings manually.
                    > > > >
                    > > > >
                    > > > > Yahoo! Groups Links
                    > > > >
                    > > > >
                    > > > >
                    > > > --
                    > > > Dr.Detlef Groth
                    > > > Neue Scheune 5
                    > > > 14548 Ferch
                    > > > Germany
                    > > >
                    > > >
                    > > >
                    > ------------------------------------------------------------------------
                    > > >
                    > >
                    >
                  Your message has been successfully submitted and would be delivered to recipients shortly.