aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2005-02-26 05:28:24 +0000
committerStefan Monnier2005-02-26 05:28:24 +0000
commit78d54deee70eb5c220561427a465a90edea82b6b (patch)
tree1a49f7a2686b4cf3047224c26e96acb07df549c2
parentc6f4488cfd5bdbdda68710ed93b0c9d5c88b65dc (diff)
downloademacs-78d54deee70eb5c220561427a465a90edea82b6b.tar.gz
emacs-78d54deee70eb5c220561427a465a90edea82b6b.zip
(debug): Hide the buffer if it's not killed.
Remove unused and inexistent var `inhibit-trace'. (debugger-mode): Use run-mode-hooks. (debugger-list-functions): Add buttons; setup xref stack.
-rw-r--r--lisp/ChangeLog41
-rw-r--r--lisp/emacs-lisp/debug.el93
2 files changed, 70 insertions, 64 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 26d615c239e..51e13988a81 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -13,8 +13,8 @@
13 13
142005-02-24 Ulf Jasper <ulf.jasper@web.de> 142005-02-24 Ulf Jasper <ulf.jasper@web.de>
15 15
16 * calendar/icalendar.el (icalendar--decode-isodatetime): New 16 * calendar/icalendar.el (icalendar--decode-isodatetime):
17 optional argument DAY-SHIFT. 17 New optional argument DAY-SHIFT.
18 (icalendar-export-region): Fix coding-system-for-write. 18 (icalendar-export-region): Fix coding-system-for-write.
19 (icalendar--convert-ical-to-diary): Shift end-day of all-day 19 (icalendar--convert-ical-to-diary): Shift end-day of all-day
20 events by one. 20 events by one.
@@ -29,6 +29,13 @@
29 during redisplay. Call force-window-update after read-event 29 during redisplay. Call force-window-update after read-event
30 and delete-region to signal that window is not accurate. 30 and delete-region to signal that window is not accurate.
31 31
322005-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
33
34 * emacs-lisp/debug.el (debug): Hide the buffer if it's not killed.
35 Remove unused and inexistent var `inhibit-trace'.
36 (debugger-mode): Use run-mode-hooks.
37 (debugger-list-functions): Add buttons; setup xref stack.
38
322005-02-23 Richard M. Stallman <rms@gnu.org> 392005-02-23 Richard M. Stallman <rms@gnu.org>
33 40
34 * calendar/appt.el (appt-time-msg-list): 3rd elt of each 41 * calendar/appt.el (appt-time-msg-list): 3rd elt of each
@@ -161,8 +168,8 @@
161 * viper-util.el (viper-glob-unix-files): Fix shell status check. 168 * viper-util.el (viper-glob-unix-files): Fix shell status check.
162 (viper-file-remote-p): Make equivalent to file-remote-p. 169 (viper-file-remote-p): Make equivalent to file-remote-p.
163 170
164 * viper.el (viper-major-mode-modifier-list): Use 171 * viper.el (viper-major-mode-modifier-list):
165 viper-gnus-modifier-map. 172 Use viper-gnus-modifier-map.
166 173
1672005-02-19 David Kastrup <dak@gnu.org> 1742005-02-19 David Kastrup <dak@gnu.org>
168 175
@@ -172,7 +179,7 @@
1722005-02-19 Jay Belanger <belanger@truman.edu> 1792005-02-19 Jay Belanger <belanger@truman.edu>
173 180
174 * calc/calc-math.el (calc-arctan, calc-tanh, calc-arctanh): 181 * calc/calc-math.el (calc-arctan, calc-tanh, calc-arctanh):
175 Removed extra definitions. 182 Remove extra definitions.
176 (calc-coth): New function. 183 (calc-coth): New function.
177 (calcFunc-cot): Fix `let'. 184 (calcFunc-cot): Fix `let'.
178 185
@@ -189,8 +196,8 @@
189 query-replace-from-history-variable to handle the case of an empty 196 query-replace-from-history-variable to handle the case of an empty
190 string entered to accept the suggested default. 197 string entered to accept the suggested default.
191 198
192 * net/tramp.el (tramp-file-name-for-operation): Use 199 * net/tramp.el (tramp-file-name-for-operation):
193 dired-call-process instead of dired-call-process-command. 200 Use dired-call-process instead of dired-call-process-command.
194 201
1952005-02-19 Jay Belanger <belanger@truman.edu> 2022005-02-19 Jay Belanger <belanger@truman.edu>
196 203
@@ -211,22 +218,22 @@
211 218
2122005-02-19 Michael Kifer <kifer@cs.stonybrook.edu> 2192005-02-19 Michael Kifer <kifer@cs.stonybrook.edu>
213 220
214 * ediff.el (ediff-set-diff-overlays-in-one-buffer, 221 * ediff.el (ediff-set-diff-overlays-in-one-buffer)
215 ediff-set-fine-overlays-in-one-buffer,ediff-goto-word) make sure 222 (ediff-set-fine-overlays-in-one-buffer,ediff-goto-word): Make sure
216 we use the syntax table of the correct buffer. 223 we use the syntax table of the correct buffer.
217 (ediff-same-file-contents,ediff-same-contents): enhancements thanks to 224 (ediff-same-file-contents,ediff-same-contents): Enhancements thanks to
218 Felix Gatzemeier. 225 Felix Gatzemeier.
219 226
220 * ediff-init.el (ediff-hide-face): checks for definedness of functions. 227 * ediff-init.el (ediff-hide-face): Check for definedness of functions.
221 (ediff-file-remote-p): make synonymous with file-remote-p. 228 (ediff-file-remote-p): Make synonymous with file-remote-p.
222 In all deffaces ediff-*-face-*, use min-colors. 229 In all deffaces ediff-*-face-*, use min-colors.
223 230
224 * ediff-mult.el (ediff-meta-mark-equal-files): make use of 231 * ediff-mult.el (ediff-meta-mark-equal-files): Make use of
225 ediff-recurse-to-subdirectories. 232 ediff-recurse-to-subdirectories.
226 (ediff-mark-if-equal): check that the arguments are strings, use 233 (ediff-mark-if-equal): Check that the arguments are strings, use
227 ediff-same-contents (after to Felix Gatzemeier). 234 ediff-same-contents (after to Felix Gatzemeier).
228 235
229 * ediff.el (ediff-merge-on-startup): don't set buffer-modified-p to 236 * ediff.el (ediff-merge-on-startup): Don't set buffer-modified-p to
230 nil. 237 nil.
231 238
2322005-02-18 Stefan Monnier <monnier@iro.umontreal.ca> 2392005-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -296,7 +303,7 @@
2962005-02-15 Jay Belanger <belanger@truman.edu> 3032005-02-15 Jay Belanger <belanger@truman.edu>
297 304
298 * calc/calc-alg.el: Add simplification rules for calcFunc-sec, 305 * calc/calc-alg.el: Add simplification rules for calcFunc-sec,
299 calcFunc-csc, calcFunc-cot, calcFunc-sech, calcFunc-csch and 306 calcFunc-csc, calcFunc-cot, calcFunc-sech, calcFunc-csch, and
300 calcFunc-coth. 307 calcFunc-coth.
301 (math-simplify-sqrt): Add simplifications. 308 (math-simplify-sqrt): Add simplifications.
302 309
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index a84a7aca52c..58616ff3076 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -1,6 +1,7 @@
1;;; debug.el --- debuggers and related commands for Emacs 1;;; debug.el --- debuggers and related commands for Emacs
2 2
3;; Copyright (C) 1985, 1986, 1994, 2001, 2003 Free Software Foundation, Inc. 3;; Copyright (C) 1985, 1986, 1994, 2001, 2003, 2005
4;; Free Software Foundation, Inc.
4 5
5;; Maintainer: FSF 6;; Maintainer: FSF
6;; Keywords: lisp, tools, maint 7;; Keywords: lisp, tools, maint
@@ -188,8 +189,7 @@ first will be printed into the backtrace buffer."
188 (backtrace-debug 3 t)) 189 (backtrace-debug 3 t))
189 (debugger-reenable) 190 (debugger-reenable)
190 (message "") 191 (message "")
191 (let ((inhibit-trace t) 192 (let ((standard-output nil)
192 (standard-output nil)
193 (buffer-read-only t)) 193 (buffer-read-only t))
194 (message "") 194 (message "")
195 ;; Make sure we unbind buffer-read-only in the right buffer. 195 ;; Make sure we unbind buffer-read-only in the right buffer.
@@ -197,15 +197,16 @@ first will be printed into the backtrace buffer."
197 (recursive-edit))))) 197 (recursive-edit)))))
198 ;; Kill or at least neuter the backtrace buffer, so that users 198 ;; Kill or at least neuter the backtrace buffer, so that users
199 ;; don't try to execute debugger commands in an invalid context. 199 ;; don't try to execute debugger commands in an invalid context.
200 (if (get-buffer-window debugger-buffer 'visible) 200 (if (get-buffer-window debugger-buffer 0)
201 ;; Still visible despite the save-window-excursion? Maybe it 201 ;; Still visible despite the save-window-excursion? Maybe it
202 ;; it's in a pop-up frame. It would be annoying to delete and 202 ;; it's in a pop-up frame. It would be annoying to delete and
203 ;; recreate it every time the debugger stops, so instead we'll 203 ;; recreate it every time the debugger stops, so instead we'll
204 ;; erase it but leave it visible. 204 ;; erase it and hide it but keep it alive.
205 (save-excursion 205 (with-current-buffer debugger-buffer
206 (set-buffer debugger-buffer)
207 (erase-buffer) 206 (erase-buffer)
208 (fundamental-mode)) 207 (fundamental-mode)
208 (with-selected-window (get-buffer-window debugger-buffer 0)
209 (bury-buffer)))
209 (kill-buffer debugger-buffer)) 210 (kill-buffer debugger-buffer))
210 (set-match-data debugger-outer-match-data))) 211 (set-match-data debugger-outer-match-data)))
211 ;; Put into effect the modified values of these variables 212 ;; Put into effect the modified values of these variables
@@ -543,29 +544,26 @@ Applies to the frame whose line point is on in the backtrace."
543 'read-expression-history))) 544 'read-expression-history)))
544 (debugger-env-macro (eval-expression exp))) 545 (debugger-env-macro (eval-expression exp)))
545 546
546(defvar debugger-mode-map nil) 547(defvar debugger-mode-map
547(unless debugger-mode-map 548 (let ((map (make-keymap)))
548 (let ((loop ? )) 549 (set-keymap-parent map button-buffer-map)
549 (setq debugger-mode-map (make-keymap)) 550 (suppress-keymap map)
550 (set-keymap-parent debugger-mode-map button-buffer-map) 551 (define-key map "-" 'negative-argument)
551 (suppress-keymap debugger-mode-map) 552 (define-key map "b" 'debugger-frame)
552 (define-key debugger-mode-map "-" 'negative-argument) 553 (define-key map "c" 'debugger-continue)
553 (define-key debugger-mode-map "b" 'debugger-frame) 554 (define-key map "j" 'debugger-jump)
554 (define-key debugger-mode-map "c" 'debugger-continue) 555 (define-key map "r" 'debugger-return-value)
555 (define-key debugger-mode-map "j" 'debugger-jump) 556 (define-key map "u" 'debugger-frame-clear)
556 (define-key debugger-mode-map "r" 'debugger-return-value) 557 (define-key map "d" 'debugger-step-through)
557 (define-key debugger-mode-map "u" 'debugger-frame-clear) 558 (define-key map "l" 'debugger-list-functions)
558 (define-key debugger-mode-map "d" 'debugger-step-through) 559 (define-key map "h" 'describe-mode)
559 (define-key debugger-mode-map "l" 'debugger-list-functions) 560 (define-key map "q" 'top-level)
560 (define-key debugger-mode-map "h" 'describe-mode) 561 (define-key map "e" 'debugger-eval-expression)
561 (define-key debugger-mode-map "q" 'top-level) 562 (define-key map " " 'next-line)
562 (define-key debugger-mode-map "e" 'debugger-eval-expression) 563 (define-key map "R" 'debugger-record-expression)
563 (define-key debugger-mode-map " " 'next-line) 564 (define-key map "\C-m" 'help-follow)
564 (define-key debugger-mode-map "R" 'debugger-record-expression) 565 (define-key map [mouse-2] 'push-button)
565 (define-key debugger-mode-map "\C-m" 'help-follow) 566 map))
566 (define-key debugger-mode-map [mouse-2] 'push-button)
567 ))
568
569 567
570(defcustom debugger-record-buffer "*Debugger-record*" 568(defcustom debugger-record-buffer "*Debugger-record*"
571 "*Buffer name for expression values, for \\[debugger-record-expression]." 569 "*Buffer name for expression values, for \\[debugger-record-expression]."
@@ -616,7 +614,7 @@ Complete list of commands:
616 (setq truncate-lines t) 614 (setq truncate-lines t)
617 (set-syntax-table emacs-lisp-mode-syntax-table) 615 (set-syntax-table emacs-lisp-mode-syntax-table)
618 (use-local-map debugger-mode-map) 616 (use-local-map debugger-mode-map)
619 (run-hooks 'debugger-mode-hook)) 617 (run-mode-hooks 'debugger-mode-hook))
620 618
621;;;###autoload 619;;;###autoload
622(defun debug-on-entry (function) 620(defun debug-on-entry (function)
@@ -716,22 +714,23 @@ If argument is nil or an empty string, cancel for all functions."
716(defun debugger-list-functions () 714(defun debugger-list-functions ()
717 "Display a list of all the functions now set to debug on entry." 715 "Display a list of all the functions now set to debug on entry."
718 (interactive) 716 (interactive)
719 (with-output-to-temp-buffer "*Help*" 717 (require 'help-mode)
720 (if (null debug-function-list) 718 (help-setup-xref '(debugger-list-functions) (interactive-p))
721 (princ "No debug-on-entry functions now\n") 719 (with-output-to-temp-buffer (help-buffer)
722 (princ "Functions set to debug on entry:\n\n") 720 (with-current-buffer standard-output
723 (let ((list debug-function-list)) 721 (if (null debug-function-list)
724 (while list 722 (princ "No debug-on-entry functions now\n")
725 (prin1 (car list)) 723 (princ "Functions set to debug on entry:\n\n")
726 (terpri) 724 (dolist (fun debug-function-list)
727 (setq list (cdr list)))) 725 (make-text-button (point) (progn (prin1 fun) (point))
728 (princ "Note: if you have redefined a function, then it may no longer\n") 726 'type 'help-function
729 (princ "be set to debug on entry, even if it is in the list.")) 727 'help-args (list fun))
730 (save-excursion 728 (terpri))
731 (set-buffer standard-output) 729 (terpri)
732 (help-mode)))) 730 (princ "Note: if you have redefined a function, then it may no longer\n")
731 (princ "be set to debug on entry, even if it is in the list.")))))
733 732
734(provide 'debug) 733(provide 'debug)
735 734
736;;; arch-tag: b6ec7047-f801-4103-9c63-d69322db9d3b 735;; arch-tag: b6ec7047-f801-4103-9c63-d69322db9d3b
737;;; debug.el ends here 736;;; debug.el ends here