diff options
author | Nick Roberts <nickrob@snap.net.nz> | 2010-03-26 21:58:41 +1300 |
---|---|---|
committer | Nick Roberts <nickrob@snap.net.nz> | 2010-03-26 21:58:41 +1300 |
commit | eca16aa79a024a7fd5f0c98889773964f089d714 (patch) | |
tree | cdbc89a71d116ac945273daacd53d1024f903756 | |
parent | ef7b27ef14161df98ee199ace01258fc54aea013 (diff) | |
download | emacs-eca16aa79a024a7fd5f0c98889773964f089d714.tar.gz |
(gdb-apple-test): New function.
(gdb-init-1): Use it.
-rw-r--r-- | lisp/ChangeLog | 6 | ||||
-rw-r--r-- | lisp/progmodes/gdb-ui.el | 15 |
2 files changed, 21 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 37605ea3bdb..1d31f31a20b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2010-03-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + Nick Roberts <nickrob@snap.net.nz> + + * progmodes/gdb-ui.el (gdb-apple-test): New function. + (gdb-init-1): Use it. + 2010-02-10 Dan Nicolaescu <dann@ics.uci.edu> * vc.el (vc-root-diff): Doc fix. diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 9c4f8b4dd58..aa4cfab1bad 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -705,6 +705,9 @@ otherwise do not." (if gdb-use-separate-io-buffer (gdb-clear-inferior-io)) + (if (eq system-type 'darwin) + (gdb-enqueue-input (list "server show version\n" 'gdb-apple-test))) + ;; Hack to see test for GDB 6.4+ (-stack-info-frame was implemented in 6.4) (gdb-enqueue-input (list "server interpreter mi -stack-info-frame\n" 'gdb-get-version))) @@ -736,6 +739,18 @@ otherwise do not." (gdb-enqueue-input (list "server list MAIN__\n" 'ignore)) (gdb-enqueue-input (list "server info source\n" 'gdb-source-info))) +;; Workaround for some Apple versions of GDB that add ^M at EOL +;; after the command "server interpreter mi -stack-info-frame". +(defun gdb-apple-test () + (goto-char (point-min)) + (if (re-search-forward "(Apple version " nil t) + (let* ((process (get-buffer-process gud-comint-buffer)) + (coding-systems (process-coding-system process))) + (set-process-coding-system process + (coding-system-change-eol-conversion + (car coding-systems) 'dos) + (cdr coding-systems))))) + (defun gdb-get-version () (goto-char (point-min)) (if (re-search-forward "Undefined\\( mi\\)* command:" nil t) |