New function for gdb-ui.el?

classic Classic list List threaded Threaded
40 messages Options
12
Reply | Threaded
Open this post in threaded view
|

New function for gdb-ui.el?

Nick Roberts

Is it a good idea to add the function below to gdb-ui.el now/ever?

Nick
 

(defun gdb-mouse-until (event)
  "Execute source lines by dragging the overlay arrow (fringe) with the mouse."
  (interactive "e")
  (let ((startpos (posn-point (event-start event)))
        (endline (line-number-at-pos (posn-point (event-end event)))))
    (if (equal startpos (marker-position gud-overlay-arrow-position))
        (gud-call
         (concat "until " buffer-file-name ":" (number-to-string endline))))))

(define-key gud-minor-mode-map [left-fringe drag-mouse-1]
    'gdb-mouse-until)


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Eli Zaretskii
> From: Nick Roberts <[hidden email]>
> Date: Sun, 23 Oct 2005 22:14:46 +1300
>
> Is it a good idea to add the function below to gdb-ui.el now/ever?

FWIW, I think it's a good idea.

Perhaps it would also be a good idea to run `until' by simply clicking
in the fringe.


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Nick Roberts
 > > Is it a good idea to add the function below to gdb-ui.el now/ever?
 >
 > FWIW, I think it's a good idea.
 >
 > Perhaps it would also be a good idea to run `until' by simply clicking
 > in the fringe.

At the moment gud-until is on the tool-bar (execution continues to point) but
clicking with mouse-1 in the fringe sets/clears a breakpoint.  In the display
margin, mouse-3 toggles an existing breakpoint.  I would like to do that in
the fringe too, but currently I dont think you can give bitmaps properties
in Emacs (I use text properties for the breakpoint icons in the margin).

In the implementation that I gave, I required the drag to start from the
overlay because I thought it was a potentially dangerous feature but I could
relax that I guess and just look at where the drag finishes.

Nick


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Frank Schmitt
In reply to this post by Eli Zaretskii
Eli Zaretskii <[hidden email]> writes:

>> From: Nick Roberts <[hidden email]>
>> Date: Sun, 23 Oct 2005 22:14:46 +1300
>>
>> Is it a good idea to add the function below to gdb-ui.el now/ever?
>
> FWIW, I think it's a good idea.
>
> Perhaps it would also be a good idea to run `until' by simply clicking
> in the fringe.

Yes, I would like this.

--
Did you ever realize how much text fits in eighty columns? If you now consider
that a signature usually consists of up to four lines, this gives you enough
space to spread a tremendous amount of information with your messages. So seize
this opportunity and don't waste your signature with bullshit nobody will read.



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Kim Storm
In reply to this post by Nick Roberts
Nick Roberts <[hidden email]> writes:

> Is it a good idea to add the function below to gdb-ui.el now/ever?


If it works, it's a brilliant idea IMO.


--
Kim F. Storm <[hidden email]> http://www.cua.dk



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Kim Storm
In reply to this post by Nick Roberts
Nick Roberts <[hidden email]> writes:

>  > > Is it a good idea to add the function below to gdb-ui.el now/ever?
>  >
>  > FWIW, I think it's a good idea.
>  >
>  > Perhaps it would also be a good idea to run `until' by simply clicking
>  > in the fringe.
>
> At the moment gud-until is on the tool-bar (execution continues to point) but
> clicking with mouse-1 in the fringe sets/clears a breakpoint.  In the display
> margin, mouse-3 toggles an existing breakpoint.  I would like to do that in
> the fringe too, but currently I dont think you can give bitmaps properties
> in Emacs (I use text properties for the breakpoint icons in the margin).

Can't you put the property on the "invisible" character that you add
to show the bitmap?

> In the implementation that I gave, I required the drag to start from the
> overlay because I thought it was a potentially dangerous feature but I could
> relax that I guess and just look at where the drag finishes.

I think it is a good design to require that you start the drag with the
current overlay arrow -- of course, you can refine it by also defining
a drag-mouse-1 event which does mouse tracking and moves the overlay arrow
as you drag the mouse...

--
Kim F. Storm <[hidden email]> http://www.cua.dk



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Nick Roberts
 > > At the moment gud-until is on the tool-bar (execution continues to point)
 > > but clicking with mouse-1 in the fringe sets/clears a breakpoint.  In the
 > > display margin, mouse-3 toggles an existing breakpoint.  I would like to
 > > do that in the fringe too, but currently I dont think you can give
 > > bitmaps properties in Emacs (I use text properties for the breakpoint
 > > icons in the margin).
 >
 > Can't you put the property on the "invisible" character that you add
 > to show the bitmap?

I don't think there is an "invisible" character in the fringe.  I discussed
this briefly with you at the start of the year (Fringe/margin issues).  
(posn-string posn) always returns nil in the fringe.

 > > In the implementation that I gave, I required the drag to start from the
 > > overlay because I thought it was a potentially dangerous feature but I
 > > could relax that I guess and just look at where the drag finishes.
 >
 > I think it is a good design to require that you start the drag with the
 > current overlay arrow -- of course, you can refine it by also defining
 > a drag-mouse-1 event which does mouse tracking and moves the overlay arrow
 > as you drag the mouse...

It would also help if the buffer scrolled when you drag past the mode line
while in the fringe, just as it does in the text area.

Nick


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Nick Roberts
In reply to this post by Frank Schmitt
 > > Perhaps it would also be a good idea to run `until' by simply clicking
 > > in the fringe.
 >
 > Yes, I would like this.

It could go on mouse-2 which has some kind of goto idiom.  Do you think it
should it be restricted to the buffer with the overlay arrow or work on any
file which is part of the source code of the GDB session.

Nick


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Frank Schmitt
Nick Roberts <[hidden email]> writes:

>  > > Perhaps it would also be a good idea to run `until' by simply clicking
>  > > in the fringe.
>  >
>  > Yes, I would like this.
>
> It could go on mouse-2 which has some kind of goto idiom.  Do you think it
> should it be restricted to the buffer with the overlay arrow or work on any
> file which is part of the source code of the GDB session.

I'd restrict it to the former.

--
Did you ever realize how much text fits in eighty columns? If you now consider
that a signature usually consists of up to four lines, this gives you enough
space to spread a tremendous amount of information with your messages. So seize
this opportunity and don't waste your signature with bullshit nobody will read.



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Kim Storm
In reply to this post by Nick Roberts
Nick Roberts <[hidden email]> writes:

>  > > At the moment gud-until is on the tool-bar (execution continues to point)
>  > > but clicking with mouse-1 in the fringe sets/clears a breakpoint.  In the
>  > > display margin, mouse-3 toggles an existing breakpoint.  I would like to
>  > > do that in the fringe too, but currently I dont think you can give
>  > > bitmaps properties in Emacs (I use text properties for the breakpoint
>  > > icons in the margin).
>  >
>  > Can't you put the property on the "invisible" character that you add
>  > to show the bitmap?
>
> I don't think there is an "invisible" character in the fringe.  I discussed
> this briefly with you at the start of the year (Fringe/margin issues).  
> (posn-string posn) always returns nil in the fringe.
>

See the patch below which uses the invisible character in the buffer...


> It would also help if the buffer scrolled when you drag past the mode line
> while in the fringe, just as it does in the text area.

Sure!  But if people agree that a mouse-2 click in the left fringe is the
way to do this, it is not necessary...


*** gdb-ui.el 24 Oct 2005 11:18:01 +0200 1.98
--- gdb-ui.el 24 Oct 2005 13:40:24 +0200
***************
*** 350,359 ****
    (define-key gud-minor-mode-map [left-fringe mouse-1]
      'gdb-mouse-set-clear-breakpoint)
    (define-key gud-minor-mode-map [left-margin mouse-3]
!     'gdb-mouse-toggle-breakpoint)
! ;  Currently only works in margin.
! ;  (define-key gud-minor-mode-map [left-fringe mouse-3]
! ;    'gdb-mouse-toggle-breakpoint)
 
    (setq comint-input-sender 'gdb-send)
    ;;
--- 350,358 ----
    (define-key gud-minor-mode-map [left-fringe mouse-1]
      'gdb-mouse-set-clear-breakpoint)
    (define-key gud-minor-mode-map [left-margin mouse-3]
!     'gdb-mouse-toggle-breakpoint-margin)
!   (define-key gud-minor-mode-map [left-fringe mouse-3]
!     'gdb-mouse-toggle-breakpoint-fringe)
 
    (setq comint-input-sender 'gdb-send)
    ;;
***************
*** 1400,1407 ****
  (gud-remove nil)
       (gud-break nil)))))))
 
! (defun gdb-mouse-toggle-breakpoint (event)
!   "Enable/disable breakpoint in left fringe/margin with mouse click."
    (interactive "e")
    (mouse-minibuffer-check event)
    (let ((posn (event-end event)))
--- 1399,1406 ----
  (gud-remove nil)
       (gud-break nil)))))))
 
! (defun gdb-mouse-toggle-breakpoint-margin (event)
!   "Enable/disable breakpoint in left margin with mouse click."
    (interactive "e")
    (mouse-minibuffer-check event)
    (let ((posn (event-end event)))
***************
*** 1419,1425 ****
  0 'gdb-enabled (car (posn-string posn)))
  "disable "
       "enable ")
!    bptno "\n")) 'ignore))))))))
 
  (defun gdb-breakpoints-buffer-name ()
    (with-current-buffer gud-comint-buffer
--- 1418,1450 ----
  0 'gdb-enabled (car (posn-string posn)))
  "disable "
       "enable ")
!    bptno "\n"))
!  'ignore))))))))
!
! (defun gdb-mouse-toggle-breakpoint-fringe (event)
!   "Enable/disable breakpoint in left fringe with mouse click."
!   (interactive "e")
!   (mouse-minibuffer-check event)
!   (let* ((posn (event-end event))
! (pos (posn-point posn))
! obj)
!     (when (numberp pos)
!       (with-selected-window (posn-window posn)
! (save-excursion
!  (set-buffer (window-buffer (selected-window)))
!  (goto-char pos)
!  (dolist (overlay (overlays-in pos pos))
!    (when (overlay-get overlay 'put-break)
!      (setq obj (overlay-get overlay 'before-string))))
!  (when (stringp obj)
!    (gdb-enqueue-input
!     (list
!      (concat
!       (if (get-text-property 0 'gdb-enabled obj)
!   "disable "
! "enable ")
!       (get-text-property 0 'gdb-bptno obj) "\n")
!      'ignore))))))))
 
  (defun gdb-breakpoints-buffer-name ()
    (with-current-buffer gud-comint-buffer
***************
*** 2456,2462 ****
  (error (setq gdb-find-file-unhook t)))))
 
  ;;from put-image
! (defun gdb-put-string (putstring pos &optional dprop)
    "Put string PUTSTRING in front of POS in the current buffer.
  PUTSTRING is displayed by putting an overlay into the current buffer with a
  `before-string' string that has a `display' property whose value is
--- 2481,2487 ----
  (error (setq gdb-find-file-unhook t)))))
 
  ;;from put-image
! (defun gdb-put-string (putstring pos &optional dprop &rest sprops)
    "Put string PUTSTRING in front of POS in the current buffer.
  PUTSTRING is displayed by putting an overlay into the current buffer with a
  `before-string' string that has a `display' property whose value is
***************
*** 2467,2473 ****
      (let ((overlay (make-overlay pos pos buffer))
   (prop (or dprop
     (list (list 'margin 'left-margin) putstring))))
!       (put-text-property 0 (length string) 'display prop string)
        (overlay-put overlay 'put-break t)
        (overlay-put overlay 'before-string string))))
 
--- 2492,2500 ----
      (let ((overlay (make-overlay pos pos buffer))
   (prop (or dprop
     (list (list 'margin 'left-margin) putstring))))
!       (put-text-property 0 1 'display prop string)
!       (if sprops
!  (add-text-properties 0 1 sprops string))
        (overlay-put overlay 'put-break t)
        (overlay-put overlay 'before-string string))))
 
***************
*** 2490,2510 ****
      (add-text-properties
       0 1 '(help-echo "mouse-1: set/clear bkpt, mouse-3: enable/disable bkpt")
       putstring)
!     (if enabled (add-text-properties
! 0 1 `(gdb-bptno ,bptno gdb-enabled t) putstring)
        (add-text-properties
         0 1 `(gdb-bptno ,bptno gdb-enabled nil) putstring))
      (gdb-remove-breakpoint-icons start end)
      (if (display-images-p)
  (if (>= (or left-fringe-width
!   (if source-window (car (window-fringes source-window)))
!   gdb-buffer-fringe-width) 8)
     (gdb-put-string
      nil (1+ start)
      `(left-fringe breakpoint
    ,(if enabled
  'breakpoint-enabled
!      'breakpoint-disabled)))
   (when (< left-margin-width 2)
     (save-current-buffer
       (setq left-margin-width 2)
--- 2517,2540 ----
      (add-text-properties
       0 1 '(help-echo "mouse-1: set/clear bkpt, mouse-3: enable/disable bkpt")
       putstring)
!     (if enabled
! (add-text-properties
! 0 1 `(gdb-bptno ,bptno gdb-enabled t) putstring)
        (add-text-properties
         0 1 `(gdb-bptno ,bptno gdb-enabled nil) putstring))
      (gdb-remove-breakpoint-icons start end)
      (if (display-images-p)
  (if (>= (or left-fringe-width
!    (if source-window (car (window-fringes source-window)))
!    gdb-buffer-fringe-width) 8)
     (gdb-put-string
      nil (1+ start)
      `(left-fringe breakpoint
    ,(if enabled
  'breakpoint-enabled
!      'breakpoint-disabled))
!     'gdb-bptno bptno
!     'gdb-enabled enabled)
   (when (< left-margin-width 2)
     (save-current-buffer
       (setq left-margin-width 2)



--
Kim F. Storm <[hidden email]> http://www.cua.dk



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Richard Stallman
In reply to this post by Frank Schmitt
    > It could go on mouse-2 which has some kind of goto idiom.  Do you think it
    > should it be restricted to the buffer with the overlay arrow or work on any
    > file which is part of the source code of the GDB session.

    I'd restrict it to the former.

To move to another file usually means moving to another frame, and
that's not the job of `until'.   This command should refuse
to move to another frame.

But there is an exception: when a function in one file is inlined in
another.  In that case, shouldn't this command work?



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Nick Roberts
 >     > It could go on mouse-2 which has some kind of goto idiom.  Do you
 >     > think it should it be restricted to the buffer with the overlay arrow
 >     > or work on any file which is part of the source code of the GDB
 >     > session.
 >
 >     I'd restrict it to the former.
 >
 > To move to another file usually means moving to another frame, and
 > that's not the job of `until'.   This command should refuse
 > to move to another frame.

Yes, you're right.  I hadn't tried it and just used the fact that it takes
the same kind of argument as break.

 > But there is an exception: when a function in one file is inlined in
 > another.  In that case, shouldn't this command work?

If I try it, it doesn't seem to work.  Even if it, I'm not sure how we would
make use of it.

Nick


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Kim Storm
In reply to this post by Kim Storm
[hidden email] (Kim F. Storm) writes:

>> I don't think there is an "invisible" character in the fringe.  I discussed
>> this briefly with you at the start of the year (Fringe/margin issues).  
>> (posn-string posn) always returns nil in the fringe.
>
> See the patch below which uses the invisible character in the buffer...

I installed my patch, so now mouse-3 on a fringe breakpoint bitmap
enables/disables the breakpoint...

--
Kim F. Storm <[hidden email]> http://www.cua.dk



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Nick Roberts
 > >> I don't think there is an "invisible" character in the fringe.  I
 > >> discussed this briefly with you at the start of the year (Fringe/margin
 > >> issues).  (posn-string posn) always returns nil in the fringe.
 > >
 > > See the patch below which uses the invisible character in the buffer...
 >
 > I installed my patch, so now mouse-3 on a fringe breakpoint bitmap
 > enables/disables the breakpoint...

Thanks.  I wasn't ignoring it, but trying to understand it.  It certainly
works!

Nick


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Nick Roberts
In reply to this post by Kim Storm
 > I installed my patch, so now mouse-3 on a fringe breakpoint bitmap
 > enables/disables the breakpoint...

I tried to follow this to add a help-echo (and a hand pointer) to the icon in
the fringe (to copy whats already implemented for the margin).  This change in
gdb-put-string didn't work for the help-echo:

(if sprops
    (add-text-properties
     0 1
     (append
      '(help-echo "mouse-1: clear bkpt, mouse-3: enable/disable bkpt")
      sprops) string))

Is it possible?

Nick


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Eli Zaretskii
In reply to this post by Richard Stallman
> From: "Richard M. Stallman" <[hidden email]>
> Date: Mon, 24 Oct 2005 12:27:41 -0400
> Cc: [hidden email]
>
>     > It could go on mouse-2 which has some kind of goto idiom.  Do you think it
>     > should it be restricted to the buffer with the overlay arrow or work on any
>     > file which is part of the source code of the GDB session.
>
>     I'd restrict it to the former.
>
> To move to another file usually means moving to another frame, and
> that's not the job of `until'.   This command should refuse
> to move to another frame.

If by ``this command'' you mean the gdb-ui.el command (as opposed to
the GDB command invoked by gdb-ui.el), then I disagree, for the
reasons explained below.

> But there is an exception: when a function in one file is inlined in
> another.

That's not the only exception; there's also the case of another file
being #include'd in the current frame's source file.  And then there's
the case of a macro defined on another file.  And what about code that
jmp's to another function without building a new stack frame?

In general, I don't think it's gdb-ui's job to enforce such
restrictions on the user, even if these situations are rare.  GDB
already deals with them, so gdb-ui shouldn't bother, since it will
never know enough to DTRT.

Also note that latest versions of GDB have the `advance' command,
which works like `until', but does stop in frames that are inner to
the one where the `advance' command was invoked.  Thus, if the other
source file's function is called by the code in the current frame,
`advance' _will_ stop there.


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Kim Storm
In reply to this post by Nick Roberts
Nick Roberts <[hidden email]> writes:

>  > I installed my patch, so now mouse-3 on a fringe breakpoint bitmap
>  > enables/disables the breakpoint...
>
> I tried to follow this to add a help-echo (and a hand pointer) to the icon in
> the fringe (to copy whats already implemented for the margin).  This change in
> gdb-put-string didn't work for the help-echo:
>
> (if sprops
>     (add-text-properties
>      0 1
>      (append
>       '(help-echo "mouse-1: clear bkpt, mouse-3: enable/disable bkpt")
>       sprops) string))
>
> Is it possible?

Currently, no.

Problem is that the redisplay engine does not check whether mouse is
over a fringe bitmap, and consequently, it does not try to find the
origin of that bitmap (the overlay string), so it doesn't know where
to find the help-echo string either.  It would be a good thing to
fix this, but it is not trivial.

In any case, I would put the help-echo property into the arglist to the
place where you call gdb-put-string so you avoid the append here.

Like this:
            (gdb-put-string
             ...
             'gdb-bptno bptno
             'gdb-enabled enabled
             'help-echo "...")

--
Kim F. Storm <[hidden email]> http://www.cua.dk



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Richard Stallman
In reply to this post by Nick Roberts
     > To move to another file usually means moving to another frame, and
     > that's not the job of `until'.   This command should refuse
     > to move to another frame.

    Yes, you're right.

Actually, now I am not sure what I said is true.  Maybe `until' just
sets a temporary breakpoint and continues.  If so, it would actually
"work" even if you specify a line in a different function.

     > But there is an exception: when a function in one file is inlined in
     > another.  In that case, shouldn't this command work?

    If I try it, it doesn't seem to work.  Even if it, I'm not sure how we would
    make use of it.

If it doesn't work, maybe that is a flaw in GDB.  It OUGHT to be
possible to proceed to a specific line in the code another function
that was inlined into this function.

Would you like to raise that is with bug-gdb and cc me?



_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Nick Roberts
 >      > To move to another file usually means moving to another frame, and
 >      > that's not the job of `until'.   This command should refuse
 >      > to move to another frame.
 >
 >     Yes, you're right.
 >
 > Actually, now I am not sure what I said is true.  Maybe `until' just
 > sets a temporary breakpoint and continues.  If so, it would actually
 > "work" even if you specify a line in a different function.

The manual says:

GDB> Continue running your program until either the specified location
GDB> is reached, or the current stack frame returns.

(actually, it should say *selected* stack frame returns)

As Eli says, there is now another command called "advance".  I think this has
the behaviour you are talking about:

GDB> ...the target location doesn't have to be in the same frame as the
GDB> current one.

 >      > But there is an exception: when a function in one file is inlined in
 >      > another.  In that case, shouldn't this command work?
 >
 >     If I try it, it doesn't seem to work.  Even if it, I'm not sure how we
 >     would make use of it.
 >
 > If it doesn't work, maybe that is a flaw in GDB.  It OUGHT to be
 > possible to proceed to a specific line in the code another function
 > that was inlined into this function.
 >
 > Would you like to raise that is with bug-gdb and cc me?

The problem is that the documentation just talks about being able to skip over
recursive functions and doesn't mention inline functions.  So I'm not sure
that they would see it as a bug.

Nick


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
Reply | Threaded
Open this post in threaded view
|

Re: New function for gdb-ui.el?

Eli Zaretskii
In reply to this post by Richard Stallman
> From: "Richard M. Stallman" <[hidden email]>
> Date: Tue, 25 Oct 2005 16:27:06 -0400
> Cc: [hidden email], [hidden email]
>
>      > To move to another file usually means moving to another frame, and
>      > that's not the job of `until'.   This command should refuse
>      > to move to another frame.
>
>     Yes, you're right.
>
> Actually, now I am not sure what I said is true.  Maybe `until' just
> sets a temporary breakpoint and continues.  If so, it would actually
> "work" even if you specify a line in a different function.

If you give `until' an argument, it does set a temporary breakpoint,
but when it breaks, GDB checks that it is in the same frame as where
the `until' command was given, and if it isn't, it doesn't stop the
program.


_______________________________________________
Emacs-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/emacs-devel
12