1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-27 02:10:52 -08:00

; Revert inadvertent premature commit.

This commit is contained in:
Eli Zaretskii 2015-09-30 22:42:59 +03:00
parent 5c9304ea86
commit 80a86074a8

View file

@ -2315,35 +2315,6 @@ the end of the current result or async record is reached."
; list ==>
; "[]" | "[" value ( "," value )* "]" | "[" result ( "," result )* "]"
;; The idea of the following function was suggested
;; by Kenichi Handa <handa@gnu.org>.
;;
;; FIXME: This is fragile: it relies on the assumption that all the
;; non-ASCII strings output by GDB, including names of the source
;; files, values of string variables in the inferior, etc., are all
;; encoded in the same encoding. It also assumes that the \nnn
;; sequences are not split between chunks of GDB process output due to
;; buffering, and arrive together. When/if GDB acquires the ability
;; to not escape-protect non-ASCII characters in its MI output, this
;; kludge should be removed.
(defun gdb-mi-decode (string)
"Decode octal escapes in MI output STRING into multibyte text."
(let ((coding
(with-current-buffer
(gdb-get-buffer-create 'gdb-partial-output-buffer)
buffer-file-coding-system)))
(with-temp-buffer
(set-buffer-multibyte nil)
(insert (gdb-mi-quote string))
(goto-char (point-min))
;; gdb-mi-quote quotes the octal escapes as well, which
;; interferes with their interpretation by 'read' below. Remove
;; the extra backslashes to countermand that.
(while (re-search-forward "\\\\\\(\\\\[2-3][0-7][0-7]\\)" nil t)
(replace-match "\\1" nil nil))
(goto-char (point-min))
(decode-coding-string (read (current-buffer)) coding))))
(defun gud-gdbmi-marker-filter (string)
"Filter GDB/MI output."