Mercurial > emacs
changeset 10203:c1f7894118f9
(gud-irixdbx-marker-filter): Changes for Irix dbx.
(dbx): gud-up, gud-down are now special cases for Irix.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 21 Dec 1994 19:42:59 +0000 |
parents | 4013c083162e |
children | 287ffc59d9f8 |
files | lisp/gud.el |
diffstat | 1 files changed, 23 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/gud.el Wed Dec 21 18:16:35 1994 +0000 +++ b/lisp/gud.el Wed Dec 21 19:42:59 1994 +0000 @@ -3,7 +3,6 @@ ;; Author: Eric S. Raymond <esr@snark.thyrsus.com> ;; Maintainer: FSF -;; Version: 1.3 ;; Keywords: unix, tools ;; Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. @@ -239,7 +238,7 @@ 'gud-gdb-marker-filter 'gud-gdb-find-file) (gud-def gud-break "break %f:%l" "\C-b" "Set breakpoint at current line.") - (gud-def gud-tbreak "tbreak %f:%l" "\C-t" "Set breakpoint at current line.") + (gud-def gud-tbreak "tbreak %f:%l" "\C-t" "Set temporary breakpoint at current line.") (gud-def gud-remove "clear %l" "\C-d" "Remove breakpoint at current line") (gud-def gud-step "step %p" "\C-s" "Step one source line with display.") (gud-def gud-stepi "stepi %p" "\C-i" "Step one instruction with display.") @@ -541,9 +540,20 @@ (defvar gud-irix-p (string-match "^mips-[^-]*-irix" system-configuration) "Non-nil to assume the interface appropriate for IRIX dbx. -This works in IRIX 4 and probably IRIX 5.") -;; (It's been tested in IRIX 4 and the output from dbx on IRIX 5 looks -;; the same.) +This works in IRIX 4, 5 and 6.") +;; [Irix dbx seems to be a moving target. The dbx output changed +;; subtly sometime between OS v4.0.5 and v5.2 so that, for instance, +;; the output from `up' is no longer spotted by gud (and it's probably +;; not distinctive enough to try to match it -- use C-<, C-> +;; exclusively) . For 5.3 and 6.0, the $curline variable changed to +;; `long long'(why?!), so the printf stuff needed changing. The line +;; number is cast to `long' as a compromise between the new `long +;; long' and the original `int'. The process filter is also somewhat +;; unreliable, sometimes not spotting the markers; I don't know +;; whether there's anything that can be done about that. It would be +;; much better if SGI could be persuaded to (re?)instate the MIPS +;; -emacs flag for gdb-like output (which ought to be possible as most +;; of the communication I've had over it has been from sgi.com).] ;; this filter is influenced by the xdb one rather than the gdb one (defun gud-irixdbx-marker-filter (string) @@ -625,6 +635,8 @@ (cond (gud-mips-p + (gud-def gud-up "up %p" "<" "Up (numeric arg) stack frames.") + (gud-def gud-down "down %p" ">" "Down (numeric arg) stack frames.") (gud-def gud-break "stop at \"%f\":%l" "\C-b" "Set breakpoint at current line.") (gud-def gud-finish "return" "\C-f" "Finish executing current function.")) @@ -632,10 +644,16 @@ (gud-def gud-break "stop at \"%d%f\":%l" "\C-b" "Set breakpoint at current line.") (gud-def gud-finish "return" "\C-f" "Finish executing current function.") + (gud-def gud-up "up %p; printf \"\032\032%1ld:\",(long)$curline;file\n" + "<" "Up (numeric arg) stack frames.") + (gud-def gud-down "down %p; printf \"\032\032%1ld:\",(long)$curline;file\n" + ">" "Down (numeric arg) stack frames.") ;; Make dbx give out the source location info that we need. (process-send-string (get-buffer-process gud-comint-buffer) "printf \"\032\032%1d:\",$curline;file\n")) (t + (gud-def gud-up "up %p" "<" "Up (numeric arg) stack frames.") + (gud-def gud-down "down %p" ">" "Down (numeric arg) stack frames.") (gud-def gud-break "file \"%d%f\"\nstop at %l" "\C-b" "Set breakpoint at current line."))) @@ -644,8 +662,6 @@ (gud-def gud-stepi "stepi %p" "\C-i" "Step one instruction with display.") (gud-def gud-next "next %p" "\C-n" "Step one line (skip functions).") (gud-def gud-cont "cont" "\C-r" "Continue with display.") - (gud-def gud-up "up %p" "<" "Up (numeric arg) stack frames.") - (gud-def gud-down "down %p" ">" "Down (numeric arg) stack frames.") (gud-def gud-print "print %e" "\C-p" "Evaluate C expression at point.") (setq comint-prompt-regexp "^[^)\n]*dbx) *")