emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

debugger-make-xrefs patch.


From: Lute Kamstra
Subject: debugger-make-xrefs patch.
Date: Sun, 13 Mar 2005 22:09:05 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

debugger-make-xrefs in lisp/emacs-lisp/debug.el adds a cross reference
to the first symbol name of each line in the debugger's *Backtrace*
buffer (if that symbol name is the name of a function and the lisp
source file in which it was defined can be located).  Lines of frames
that are set to debug on exit are marked with a `*'.
debugger-make-xrefs considers this `*' the first symbol name on the
line and consequently does not add any cross reference.  What about
the following patch to fix this?

Lute.


Index: lisp/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.7091
diff -c -r1.7091 ChangeLog
*** lisp/ChangeLog      13 Mar 2005 20:54:14 -0000      1.7091
--- lisp/ChangeLog      13 Mar 2005 20:56:17 -0000
***************
*** 5,10 ****
--- 5,12 ----
        debug-on-exit and we don't have to do it manually.  Set an extra
        debug-on-exit for macro's.
        (debugger-setup-buffer): Don't mark the top frame manually.
+       (debugger-make-xrefs): Docstring fix.  Ignore a `*' at the
+       beginning of a line.
        
  2005-03-12  Lute Kamstra  <address@hidden>
  
Index: lisp/emacs-lisp/debug.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/debug.el,v
retrieving revision 1.76
diff -c -r1.76 debug.el
*** lisp/emacs-lisp/debug.el    13 Mar 2005 20:53:14 -0000      1.76
--- lisp/emacs-lisp/debug.el    13 Mar 2005 20:56:18 -0000
***************
*** 302,308 ****
    (debugger-make-xrefs))
  
  (defun debugger-make-xrefs (&optional buffer)
!   "Attach cross-references to symbol names in the `*Backtrace*' buffer."
    (interactive "b")
    (save-excursion
      (set-buffer (or buffer (current-buffer)))
--- 302,308 ----
    (debugger-make-xrefs))
  
  (defun debugger-make-xrefs (&optional buffer)
!   "Attach cross-references to function names in the `*Backtrace*' buffer."
    (interactive "b")
    (save-excursion
      (set-buffer (or buffer (current-buffer)))
***************
*** 353,358 ****
--- 353,359 ----
        ;; Scan the new part of the backtrace, inserting xrefs.
        (goto-char (point-min))
        (while (progn
+              (goto-char (+ (point) 2))
               (skip-syntax-forward "^w_")
               (not (eobp)))
        (let* ((beg (point))
***************
*** 364,371 ****
            (goto-char beg)
            ;; help-xref-button needs to operate on something matched
            ;; by a regexp, so set that up for it.
!           (re-search-forward "\\(\\(\\sw\\|\\s_\\)+\\)")
!           (help-xref-button 1 'help-function-def sym file)))
        (forward-line 1))
        (widen))
      (setq debugger-previous-backtrace (buffer-string))))
--- 365,372 ----
            (goto-char beg)
            ;; help-xref-button needs to operate on something matched
            ;; by a regexp, so set that up for it.
!           (re-search-forward "\\(\\sw\\|\\s_\\)+")
!           (help-xref-button 0 'help-function-def sym file)))
        (forward-line 1))
        (widen))
      (setq debugger-previous-backtrace (buffer-string))))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]