echo \n
output (($size & PSEUDOVECTOR_REST_MASK) >> PSEUDOVECTOR_SIZE_BITS)
else
- output ($size & ~ARRAY_MARK_FLAG)
+ output $size
end
echo \n
end
define xvector
xgetptr $
print (struct Lisp_Vector *) $ptr
- output ($->header.size > 50) ? 0 : ($->contents[0])@($->header.size & ~ARRAY_MARK_FLAG)
+ output ($->header.size > 50) ? 0 : ($->contents[0])@($->header.size)
echo \n
end
document xvector
define xprintstr
set $data = (char *) $arg0->data
- set $strsize = ($arg0->size_byte < 0) ? ($arg0->size & ~ARRAY_MARK_FLAG) : $arg0->size_byte
+ set $strsize = ($arg0->size_byte < 0) ? $arg0->size : $arg0->size_byte
# GDB doesn't like zero repetition counts
if $strsize == 0
output ""
if ($size & PSEUDOVECTOR_FLAG)
output (enum pvec_type) (($size & PVEC_TYPE_MASK) >> PSEUDOVECTOR_AREA_BITS)
else
- output $size & ~ARRAY_MARK_FLAG
+ output $size
end
else
printf "Lisp type %d", $type
define xprintbytestr
set $data = (char *) $arg0->data
- set $bstrsize = ($arg0->size_byte < 0) ? ($arg0->size & ~ARRAY_MARK_FLAG) : $arg0->size_byte
+ set $bstrsize = ($arg0->size_byte < 0) ? $arg0->size : $arg0->size_byte
printf "Bytecode: "
if $bstrsize > 0
output/u ($arg0->size > 1000) ? 0 : ($data[0])@($bvsize)