GNU bug report logs - #14129
24.3.50; gdb/gud: wrong-type-argument

Previous Next

Package: emacs;

Reported by: Miguel Guedes <miguel.a.guedes <at> gmail.com>

Date: Wed, 3 Apr 2013 13:52:02 UTC

Severity: normal

Found in version 24.3.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jean-Philippe Gravel <jpgravel <at> gmail.com>
To: 14129 <at> debbugs.gnu.org
Subject: bug#14129: 24.3.50; gdb/gud: wrong-type-argument
Date: Fri, 5 Apr 2013 00:07:36 -0400
Try the following patch.

The current buffer offset (gdbmi-bnf-offset) was incorrectly adjusted
when receiving incomplete responses from GDB.


=== modified file 'lisp/progmodes/gdb-mi.el'
*** lisp/progmodes/gdb-mi.el    2013-03-11 17:13:39 +0000
--- lisp/progmodes/gdb-mi.el    2013-04-05 03:47:08 +0000
***************
*** 2152,2167 ****
         (is-complete (not (null newline-pos)))
         result-str)

        ;; Update the gdbmi-bnf-offset only if the current chunk of data can
        ;; be processed by the class-command handler:
        (when (or is-complete is-progressive)
      (setq result-str
                (substring gud-marker-acc gdbmi-bnf-offset newline-pos))
-     (setq gdbmi-bnf-offset (+ 1 newline-pos)))

!       (if gdbmi-debug-mode
!           (message "gdbmi-bnf-incomplete-record-result: %s"
!                    (substring gud-marker-acc gdbmi-bnf-offset newline-pos)))

        ;; Update the parsing state before invoking the handler in class-command
        ;; to make sure it's not left in an invalid state if the handler was
--- 2152,2171 ----
         (is-complete (not (null newline-pos)))
         result-str)

+       (when gdbmi-debug-mode
+     (message "gdbmi-bnf-incomplete-record-result: %s"
+          (substring gud-marker-acc gdbmi-bnf-offset newline-pos)))
+
        ;; Update the gdbmi-bnf-offset only if the current chunk of data can
        ;; be processed by the class-command handler:
        (when (or is-complete is-progressive)
      (setq result-str
                (substring gud-marker-acc gdbmi-bnf-offset newline-pos))

!     ;; Move gdbmi-bnf-offset past the end of the chunk
!     (setq gdbmi-bnf-offset (+ gdbmi-bnf-offset (length result-str)))
!     (when newline-pos
!       (setq gdbmi-bnf-offset (1+ gdbmi-bnf-offset))))

        ;; Update the parsing state before invoking the handler in class-command
        ;; to make sure it's not left in an invalid state if the handler was




This bug report was last modified 12 years and 39 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.