Background information: That's one of the GDB/MI syntax inconsistencies coming up in this case. The problem is caused by a script being attached to `init_sys_modes` breakpoint in `.gdbinit`. When GDB/MI includes script information in `-break-info`, it violates its own syntax by wrapping script field value in curly braces (like for tuples) instead of brackets (like for lists, which should be the case for script listing), for example: script={"silent","xgetptr Vinitial_window_system","set $tem = ( struct Lisp_Symbol *) $ptr","xgetptr $tem->xname","set $tem = (struct Lisp_String *) $ptr","set $tem = (char *) $tem->data","if $tem[0] == 'x' && $tem[1] == '\0'","break x_error_quitter","end","continue"} Whereas according to GDB/MI Output Syntax tuples (enclosed in {}) may contain only variable=value pairs. As the result, the JSON parser used in gdb-mi.el chokes. We handle this nasty case by turning `script` value into what it's meant to be, which is a list, by replacing { -> [ and ] -> }. -- Happy Hacking. http://sphinx.net.ru む