* 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.