X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/62fb5e25f4a4c7da6fe6a06569b22a27998ae6bf..8510724d46951d651a78424e12b93ccee100c665:/src/.gdbinit diff --git a/src/.gdbinit b/src/.gdbinit index de35709f26..fc2ad81702 100644 --- a/src/.gdbinit +++ b/src/.gdbinit @@ -1,5 +1,6 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. # # This file is part of GNU Emacs. # @@ -754,7 +755,7 @@ define xchartable print (struct Lisp_Char_Table *) $ptr printf "Purpose: " xprintsym $->purpose - printf " %d extra slots", ($->size & 0x1ff) - 388 + printf " %d extra slots", ($->size & 0x1ff) - 68 echo \n end document xchartable @@ -992,13 +993,76 @@ document xprintsym Print argument as a symbol. end +define xcoding + set $tmp = (struct Lisp_Hash_Table *) ((Vcoding_system_hash_table & $valmask) | gdb_data_seg_bits) + set $tmp = (struct Lisp_Vector *) (($tmp->key_and_value & $valmask) | gdb_data_seg_bits) + set $name = $tmp->contents[$arg0 * 2] + print $name + pr + print $tmp->contents[$arg0 * 2 + 1] + pr +end +document xcoding + Print the name and attributes of coding system that has ID (argument). +end + +define xcharset + set $tmp = (struct Lisp_Hash_Table *) ((Vcharset_hash_table & $valmask) | gdb_data_seg_bits) + set $tmp = (struct Lisp_Vector *) (($tmp->key_and_value & $valmask) | gdb_data_seg_bits) + p $tmp->contents[$arg0->hash_index * 2] + pr +end +document xcharset + Print the name of charset that has ID (argument). +end + +define xfontset + xgetptr $ + set $tbl = (struct Lisp_Char_Table *) $ptr + print $tbl + xgetint $tbl->extras[0] + printf " ID:%d", $int + xgettype $tbl->extras[1] + xgetptr $tbl->extras[1] + if $type == Lisp_String + set $ptr = (struct Lisp_String *) $ptr + printf " Name:" + xprintstr $ptr + else + xgetptr $tbl->extras[2] + set $ptr = (struct Lisp_Char_Table *) $ptr + xgetptr $ptr->extras[1] + set $ptr = (struct Lisp_String *) $ptr + printf " Realized from:" + xprintstr $ptr + end + echo \n +end + +define xfont + xgetptr $ + set $size = (((struct Lisp_Vector *) $ptr)->size & 0x1FF) + if $size == FONT_SPEC_MAX + print (struct font_spec *) $ptr + else + if $size == FONT_ENTITY_MAX + print (struct font_entity *) $ptr + else + print (struct font *) $ptr + end + end +end +document xfont +Print $ assuming it is a list font (font-spec, font-entity, or font-object). +end + define xbacktrace set $bt = backtrace_list while $bt xgettype (*$bt->function) if $type == Lisp_Symbol xprintsym (*$bt->function) - printf " (0x%x)\n", *$bt->args + printf " (0x%x)\n", $bt->args else printf "0x%x ", *$bt->function if $type == Lisp_Vectorlike @@ -1087,7 +1151,6 @@ set print sevenbit-strings show environment DISPLAY show environment TERM -#set args -geometry 80x40+0+0 # People get bothered when they see messages about non-existent functions... xgetptr Vsystem_type