comparison lisp/gdb-ui.el @ 53510:1c9b877f555d

(gdb-frame-handler): Handle word wrapping anywhere in output.
author Andreas Schwab <schwab@suse.de>
date Tue, 06 Jan 2004 20:38:53 +0000
parents 8597554d56e6
children a406177e7f26
comparison
equal deleted inserted replaced
53509:a48d12609a3e 53510:1c9b877f555d
2 2
3 ;; Author: Nick Roberts <nick@nick.uklinux.net> 3 ;; Author: Nick Roberts <nick@nick.uklinux.net>
4 ;; Maintainer: FSF 4 ;; Maintainer: FSF
5 ;; Keywords: unix, tools 5 ;; Keywords: unix, tools
6 6
7 ;; Copyright (C) 2002, 2003 Free Software Foundation, Inc. 7 ;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
8 8
9 ;; This file is part of GNU Emacs. 9 ;; This file is part of GNU Emacs.
10 10
11 ;; GNU Emacs is free software; you can redistribute it and/or modify 11 ;; GNU Emacs is free software; you can redistribute it and/or modify
12 ;; it under the terms of the GNU General Public License as published by 12 ;; it under the terms of the GNU General Public License as published by
1983 (gdb-set-pending-triggers 1983 (gdb-set-pending-triggers
1984 (delq 'gdb-get-current-frame (gdb-get-pending-triggers))) 1984 (delq 'gdb-get-current-frame (gdb-get-pending-triggers)))
1985 (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer) 1985 (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
1986 (goto-char (point-min)) 1986 (goto-char (point-min))
1987 (forward-line) 1987 (forward-line)
1988 (if (looking-at ".*= 0x\\(\\S-*\\) in \\(\\S-*\\)") 1988 (if (looking-at ".*=\\s-+0x\\(\\S-*\\)\\s-+in\\s-+\\(\\S-*\\)")
1989 (progn 1989 (progn
1990 (setq gdb-current-frame (match-string 2)) 1990 (setq gdb-current-frame (match-string 2))
1991 (let ((address (match-string 1))) 1991 (let ((address (match-string 1)))
1992 ;; remove leading 0s from output of info frame command. 1992 ;; remove leading 0s from output of info frame command.
1993 (if (string-match "^0+\\(.*\\)" address) 1993 (if (string-match "^0+\\(.*\\)" address)
1994 (setq gdb-current-address 1994 (setq gdb-current-address
1995 (concat "0x" (match-string 1 address))) 1995 (concat "0x" (match-string 1 address)))
1996 (setq gdb-current-address (concat "0x" address)))) 1996 (setq gdb-current-address (concat "0x" address))))
1997 (if (or (if (not (looking-at ".*(\\S-*:[0-9]*)")) 1997 (if (or (if (not (re-search-forward "(\\S-*:[0-9]*);" nil t))
1998 (progn (setq gdb-view-source nil) t)) 1998 (progn (setq gdb-view-source nil) t))
1999 (eq gdb-selected-view 'assembler)) 1999 (eq gdb-selected-view 'assembler))
2000 (progn 2000 (progn
2001 (set-window-buffer 2001 (set-window-buffer
2002 gdb-source-window 2002 gdb-source-window
2003 (gdb-get-create-buffer 'gdb-assembler-buffer)) 2003 (gdb-get-create-buffer 'gdb-assembler-buffer))
2004 ;;update with new frame for machine code if necessary 2004 ;;update with new frame for machine code if necessary
2005 (gdb-invalidate-assembler)))))) 2005 (gdb-invalidate-assembler))))))
2006 (forward-line) 2006 (if (re-search-forward " source language \\(\\S-*\\)\." nil t)
2007 (if (looking-at " source language \\(\\S-*\\)\.")
2008 (setq gdb-current-language (match-string 1)))) 2007 (setq gdb-current-language (match-string 1))))
2009 2008
2010 (provide 'gdb-ui) 2009 (provide 'gdb-ui)
2011 2010
2012 ;;; arch-tag: e9fb00c5-74ef-469f-a088-37384caae352 2011 ;;; arch-tag: e9fb00c5-74ef-469f-a088-37384caae352