unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#13777: [patch] Add toolbars for Edebug and debugger-mode
@ 2013-02-21 10:49 Xue Fuqiao
  2013-05-08  7:50 ` Glenn Morris
  2016-02-25  0:26 ` Xue Fuqiao
  0 siblings, 2 replies; 6+ messages in thread
From: Xue Fuqiao @ 2013-02-21 10:49 UTC (permalink / raw)
  To: 13777

The following patch adds toolbars for Edebug and debugger-mode:

*** trunk/etc/TODO.orig	2013-02-10 19:50:32.740492000 +0800
--- trunk/etc/TODO	2013-02-21 18:37:30.696132043 +0800
*************** not have one at the moment and probably
*** 52,60 ****
  
  ** Check if all items on the mode-line have a suitable tooltip for
all modes. 
- ** edebug and debugger-mode should have a toolbar.
- It can use the same icons as gud.
- 
  ** Check what minor modes don't use define-minor-mode and convert them
  to use it.
  
--- 52,57 ----


*** trunk/lisp/emacs-lisp/edebug.el.orig	2013-02-03
09:46:50.383143000 +0800
--- trunk/lisp/emacs-lisp/edebug.el	2013-02-21
18:10:30.220096536 +0800 *************** be installed in
`emacs-lisp-mode-map'.") *** 3727,3732 ****
--- 3727,3745 ----
      (define-key map "\C-c\C-l" 'edebug-where)
      map))
  
+ (defvar edebug-tool-bar-map
+   (let ((map (make-sparse-keymap)))
+     (dolist (x '((edebug-set-breakpoint . "gud/break")
+ 		 (edebug-unset-breakpoint . "gud/remove")
+ 		 (edebug-go-mode . "gud/go")
+ 		 (edebug-stop . "gud/stop")
+ 		 (edebug-continue-mode . "gud/cont")
+ 		 (edebug-next-mode . "gud/next")
+ 		 (edebug-step-mode . "gud/step"))
+ 	       map)
+       (tool-bar-local-item-from-menu
+        (car x) (cdr x) map edebug-mode-map))))
+ 
  ;; Autoloading these global bindings doesn't make sense because
  ;; they cannot be used anyway unless Edebug is already loaded and
active. 
*************** Options:
*** 3811,3817 ****
    ;; exit to top level, because the edebug command loop can't usefully
    ;; continue running in such a case.
    (add-hook 'kill-buffer-hook 'edebug-kill-buffer nil t)
!   (use-local-map edebug-mode-map))
  
  (defun edebug-kill-buffer ()
    "Used on `kill-buffer-hook' when Edebug is operating in a buffer of
Lisp code."
--- 3824,3831 ----
    ;; exit to top level, because the edebug command loop can't usefully
    ;; continue running in such a case.
    (add-hook 'kill-buffer-hook 'edebug-kill-buffer nil t)
!   (use-local-map edebug-mode-map)
!   (set (make-local-variable 'tool-bar-map) edebug-tool-bar-map))
  
  (defun edebug-kill-buffer ()
    "Used on `kill-buffer-hook' when Edebug is operating in a buffer of
Lisp code."


*** trunk/lisp/emacs-lisp/debug.el.orig	2013-02-21
18:46:46.462887964 +0800
--- trunk/lisp/emacs-lisp/debug.el	2013-02-21 18:32:39.786689513
+0800 *************** Applies to the frame whose line point is
*** 702,707 ****
--- 702,715 ----
  	:help "Proceed, stepping through subexpressions of this
expression")) map))
  
+ (defvar debugger-tool-bar-map
+   (let ((map (make-sparse-keymap)))
+     (dolist (x '((debugger-continue . "gud/cont")
+ 		 (debugger-step-through . "gud/step"))
+ 	       map)
+       (tool-bar-local-item-from-menu
+        (car x) (cdr x) map debugger-mode-map))))
+ 
  (put 'debugger-mode 'mode-class 'special)
  
  (defun debugger-mode ()
*************** Complete list of commands:
*** 725,730 ****
--- 733,739 ----
    (setq truncate-lines t)
    (set-syntax-table emacs-lisp-mode-syntax-table)
    (use-local-map debugger-mode-map)
+   (set (make-local-variable 'tool-bar-map) debugger-tool-bar-map)
    (run-mode-hooks 'debugger-mode-hook))
  \f
  (defcustom debugger-record-buffer "*Debugger-record*"



*** trunk/lisp/ChangeLog.orig	2013-02-17 22:42:17.309803000 +0800
--- trunk/lisp/ChangeLog	2013-02-21 18:36:47.851919598 +0800
***************
*** 1,3 ****
--- 1,9 ----
+ 2013-02-21  Xue Fuqiao  <xfq.free@gmail.com>
+ 
+ 	* emacs-lisp/debug.el: Add a toolbar for debugger-mode.
+ 
+ 	* emacs-lisp/edebug.el (edebug-mode): Add a toolbar.
+ 
  2013-02-17  Glenn Morris  <rgm@gnu.org>
  
  	* menu-bar.el (menu-bar-tools-menu): Fix case of EDE entry.

-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#13777: [patch] Add toolbars for Edebug and debugger-mode
  2013-02-21 10:49 bug#13777: [patch] Add toolbars for Edebug and debugger-mode Xue Fuqiao
@ 2013-05-08  7:50 ` Glenn Morris
  2013-05-08  9:39   ` Xue Fuqiao
  2016-02-25  0:26 ` Xue Fuqiao
  1 sibling, 1 reply; 6+ messages in thread
From: Glenn Morris @ 2013-05-08  7:50 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: 13777


Thanks for the patches.

Xue Fuqiao wrote:

> *** trunk/lisp/emacs-lisp/edebug.el.orig 2013-02-03
> 09:46:50.383143000 +0800
> --- trunk/lisp/emacs-lisp/edebug.el 2013-02-21
> 18:10:30.220096536 +0800 *************** be installed in
> `emacs-lisp-mode-map'.") *** 3727,3732 ****
> --- 3727,3745 ----

(These patches seem mangled somehow?)

> + (defvar edebug-tool-bar-map
> +   (let ((map (make-sparse-keymap)))
> +     (dolist (x '((edebug-set-breakpoint . "gud/break")
> + 		 (edebug-unset-breakpoint . "gud/remove")
> + 		 (edebug-go-mode . "gud/go")
> + 		 (edebug-stop . "gud/stop")
> + 		 (edebug-continue-mode . "gud/cont")
> + 		 (edebug-next-mode . "gud/next")
> + 		 (edebug-step-mode . "gud/step"))
> + 	       map)
> +       (tool-bar-local-item-from-menu
> +        (car x) (cdr x) map edebug-mode-map))))

Looks alright but:

i) I think this needs to be moved after the easy-menu-define call.

ii) You need to find a way to restore the normal tool-bar after edebug
exits (for whatever reason).

> + (defvar debugger-tool-bar-map
> +   (let ((map (make-sparse-keymap)))
> +     (dolist (x '((debugger-continue . "gud/cont")
> + 		 (debugger-step-through . "gud/step"))
> + 	       map)
> +       (tool-bar-local-item-from-menu
> +        (car x) (cdr x) map debugger-mode-map))))

Looks ok, but it's a very sparse tool-bar. Is there nothing more that
can go in it? It looks a bit silly with just 2 items...
Maybe keep some of the standard ones?





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#13777: [patch] Add toolbars for Edebug and debugger-mode
  2013-05-08  7:50 ` Glenn Morris
@ 2013-05-08  9:39   ` Xue Fuqiao
  2013-05-08 15:07     ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Xue Fuqiao @ 2013-05-08  9:39 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 13777

On Wed, May 8, 2013 at 3:50 PM, Glenn Morris <rgm@gnu.org> wrote:
>> + (defvar edebug-tool-bar-map
>> +   (let ((map (make-sparse-keymap)))
>> +     (dolist (x '((edebug-set-breakpoint . "gud/break")
>> +              (edebug-unset-breakpoint . "gud/remove")
>> +              (edebug-go-mode . "gud/go")
>> +              (edebug-stop . "gud/stop")
>> +              (edebug-continue-mode . "gud/cont")
>> +              (edebug-next-mode . "gud/next")
>> +              (edebug-step-mode . "gud/step"))
>> +            map)
>> +       (tool-bar-local-item-from-menu
>> +        (car x) (cdr x) map edebug-mode-map))))
>
> Looks alright but:
>
> i) I think this needs to be moved after the easy-menu-define call.
>
> ii) You need to find a way to restore the normal tool-bar after edebug
> exits (for whatever reason).

Agreed.

>> + (defvar debugger-tool-bar-map
>> +   (let ((map (make-sparse-keymap)))
>> +     (dolist (x '((debugger-continue . "gud/cont")
>> +              (debugger-step-through . "gud/step"))
>> +            map)
>> +       (tool-bar-local-item-from-menu
>> +        (car x) (cdr x) map debugger-mode-map))))
>
> Looks ok, but it's a very sparse tool-bar. Is there nothing more that
> can go in it?

There are some candidates, such as `backtrace', `cancel-debug-on-entry'.
But I haven't found suitable icons for them yet.

> It looks a bit silly with just 2 items...  Maybe keep some of the
> standard ones?

Sounds like a good compromise.

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#13777: [patch] Add toolbars for Edebug and debugger-mode
  2013-05-08  9:39   ` Xue Fuqiao
@ 2013-05-08 15:07     ` Stefan Monnier
  2016-02-24  5:45       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2013-05-08 15:07 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: 13777

>> ii) You need to find a way to restore the normal tool-bar after edebug
>> exits (for whatever reason).
> Agreed.

The code on trunk has changed, made edebug-mode into a "proper" minor
mode, and includes the necessary infrastructure to restore the old value
(it uses it for buffer-read-only).


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#13777: [patch] Add toolbars for Edebug and debugger-mode
  2013-05-08 15:07     ` Stefan Monnier
@ 2016-02-24  5:45       ` Lars Ingebrigtsen
  0 siblings, 0 replies; 6+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-24  5:45 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Xue Fuqiao, 13777

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> ii) You need to find a way to restore the normal tool-bar after edebug
>>> exits (for whatever reason).
>> Agreed.
>
> The code on trunk has changed, made edebug-mode into a "proper" minor
> mode, and includes the necessary infrastructure to restore the old value
> (it uses it for buffer-read-only).

Xue, could you respin the toolbar patches for the Emacs trunk?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#13777: [patch] Add toolbars for Edebug and debugger-mode
  2013-02-21 10:49 bug#13777: [patch] Add toolbars for Edebug and debugger-mode Xue Fuqiao
  2013-05-08  7:50 ` Glenn Morris
@ 2016-02-25  0:26 ` Xue Fuqiao
  1 sibling, 0 replies; 6+ messages in thread
From: Xue Fuqiao @ 2016-02-25  0:26 UTC (permalink / raw)
  To: 13777-done

On Wed, Feb 24, 2016 at 1:45 PM, Lars Ingebrigtsen <larsi@gnus.org> wrote:

> Xue, could you respin the toolbar patches for the Emacs trunk?

Sorry, I've been too busy these days.  I'll close this bug for now.  I
will submit a new bug report or reopen this bug when I have time.

Thanks for working on these old bugs, Lars!





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-02-25  0:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-21 10:49 bug#13777: [patch] Add toolbars for Edebug and debugger-mode Xue Fuqiao
2013-05-08  7:50 ` Glenn Morris
2013-05-08  9:39   ` Xue Fuqiao
2013-05-08 15:07     ` Stefan Monnier
2016-02-24  5:45       ` Lars Ingebrigtsen
2016-02-25  0:26 ` Xue Fuqiao

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).