Mask off gdb_array_mark_flag from vector sizes.
This commit is contained in:
parent
3fba6ca915
commit
fc80da24a9
2 changed files with 11 additions and 6 deletions
12
src/.gdbinit
12
src/.gdbinit
|
@ -81,7 +81,7 @@ end
|
|||
define xvectype
|
||||
xgetptr $
|
||||
set $size = ((struct Lisp_Vector *) $ptr)->size
|
||||
output ($size & PVEC_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size
|
||||
output ($size & PVEC_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size & ~gdb_array_mark_flag
|
||||
echo \n
|
||||
end
|
||||
document xvectype
|
||||
|
@ -199,7 +199,7 @@ end
|
|||
define xstring
|
||||
xgetptr $
|
||||
print (struct Lisp_String *) $ptr
|
||||
output ($->size > 1000) ? 0 : ($->data[0])@($->size_byte < 0 ? $->size : $->size_byte)
|
||||
output ($->size > 1000) ? 0 : ($->data[0])@($->size_byte < 0 ? $->size & ~gdb_array_mark_flag : $->size_byte)
|
||||
echo \n
|
||||
end
|
||||
document xstring
|
||||
|
@ -210,7 +210,7 @@ end
|
|||
define xvector
|
||||
xgetptr $
|
||||
print (struct Lisp_Vector *) $ptr
|
||||
output ($->size > 50) ? 0 : ($->contents[0])@($->size)
|
||||
output ($->size > 50) ? 0 : ($->contents[0])@($->size & ~gdb_array_mark_flag)
|
||||
echo \n
|
||||
end
|
||||
document xvector
|
||||
|
@ -289,7 +289,7 @@ end
|
|||
define xboolvector
|
||||
xgetptr $
|
||||
print (struct Lisp_Bool_Vector *) $ptr
|
||||
output ($->size > 256) ? 0 : ($->data[0])@(($->size + 7)/ 8)
|
||||
output ($->size > 256) ? 0 : ($->data[0])@((($->size & ~gdb_array_mark_flag) + 7)/ 8)
|
||||
echo \n
|
||||
end
|
||||
document xboolvector
|
||||
|
@ -377,7 +377,7 @@ define xprintsym
|
|||
set $sym = (struct Lisp_Symbol *) $ptr
|
||||
xgetptr $sym->xname
|
||||
set $sym_name = (struct Lisp_String *) $ptr
|
||||
output ($sym_name->data[0])@($sym_name->size_byte < 0 ? $sym_name->size : $sym_name->size_byte)
|
||||
output ($sym_name->data[0])@($sym_name->size_byte < 0 ? $sym_name->size & ~gdb_array_mark_flag : $sym_name->size_byte)
|
||||
end
|
||||
document xprintsym
|
||||
Print argument as a symbol.
|
||||
|
@ -395,7 +395,7 @@ define xbacktrace
|
|||
if $type == Lisp_Vectorlike
|
||||
xgetptr (*$bt->function)
|
||||
set $size = ((struct Lisp_Vector *) $ptr)->size
|
||||
output ($size & PVEC_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size
|
||||
output ($size & PVEC_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size & ~gdb_array_mark_flag
|
||||
else
|
||||
printf "Lisp type %d", $type
|
||||
end
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2004-05-15 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* emacs.c (gdb_array_mark_flag): Define.
|
||||
* .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
|
||||
|
||||
2004-05-15 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
|
||||
|
|
Loading…
Add table
Reference in a new issue