comparison src/.dbxrc @ 440:8de8e3f6228a r21-2-28

Import from CVS: tag r21-2-28
author cvs
date Mon, 13 Aug 2007 11:33:38 +0200
parents 84b14dcb0985
children abe6d1db359e
comparison
equal deleted inserted replaced
439:357dd071b03c 440:8de8e3f6228a
37 # gdb sources the ./.gdbinit in _addition_ to ~/.gdbinit. 37 # gdb sources the ./.gdbinit in _addition_ to ~/.gdbinit.
38 # But dbx does _not_ source ~/.dbxrc if it found ./.dbxrc. 38 # But dbx does _not_ source ~/.dbxrc if it found ./.dbxrc.
39 # So we simulate the gdb algorithm by doing it ourselves here. 39 # So we simulate the gdb algorithm by doing it ourselves here.
40 if test -r $HOME/.dbxrc; then . $HOME/.dbxrc; fi 40 if test -r $HOME/.dbxrc; then . $HOME/.dbxrc; fi
41 41
42 dbxenv language_mode ansic
43
42 ignore POLL 44 ignore POLL
43 ignore IO 45 ignore IO
44 46
45 document lbt << 'end' 47 document lbt << 'end'
46 Usage: lbt 48 Usage: lbt
62 call debug_print ($1); 64 call debug_print ($1);
63 } 65 }
64 66
65 # A bug in dbx prevents string variables from having values beginning with `-'!! 67 # A bug in dbx prevents string variables from having values beginning with `-'!!
66 function XEmacsInit { 68 function XEmacsInit {
67 function ToInt { eval "$1=\$[(int) $1]"; } 69 function ToInt { eval "$1=\$[(int) \`alloc.c\`$1]"; }
68 ToInt dbg_USE_UNION_TYPE 70 ToInt dbg_USE_UNION_TYPE
69 ToInt Lisp_Type_Int 71 ToInt Lisp_Type_Int
70 ToInt Lisp_Type_Char 72 ToInt Lisp_Type_Char
71 ToInt Lisp_Type_Cons 73 ToInt Lisp_Type_Cons
72 ToInt Lisp_Type_String 74 ToInt Lisp_Type_String
73 ToInt Lisp_Type_Vector 75 ToInt Lisp_Type_Vector
74 ToInt Lisp_Type_Symbol 76 ToInt Lisp_Type_Symbol
75 ToInt Lisp_Type_Record 77 ToInt Lisp_Type_Record
76 ToInt dbg_valbits 78 ToInt dbg_valbits
77 ToInt dbg_gctypebits 79 ToInt dbg_gctypebits
78 function ToLong { eval "$1=\$[(unsigned long) $1]"; } 80 function ToLong { eval "$1=\$[(\`alloc.c\`unsigned long) \`alloc.c\`$1]"; }
79 ToLong dbg_valmask 81 ToLong dbg_valmask
80 ToLong dbg_typemask 82 ToLong dbg_typemask
81 xemacs_initted=yes 83 xemacs_initted=yes
82 } 84 }
83 85
96 if test -z "$xemacs_initted"; then XEmacsInit; fi; 98 if test -z "$xemacs_initted"; then XEmacsInit; fi;
97 if test $dbg_USE_UNION_TYPE = 1; then 99 if test $dbg_USE_UNION_TYPE = 1; then
98 # Repeat after me... dbx sux, dbx sux, dbx sux... 100 # Repeat after me... dbx sux, dbx sux, dbx sux...
99 # Allow both `pobj Qnil' and `pobj 0x82746834' to work 101 # Allow both `pobj Qnil' and `pobj 0x82746834' to work
100 case $(whatis $1) in 102 case $(whatis $1) in
101 *Lisp_Object*) obj="$[(unsigned long)(($1).i)]";; 103 *Lisp_Object*) obj="$[(`alloc.c`unsigned long)(($1).i)]";;
102 *) obj="$[(unsigned long)($1)]";; 104 *) obj="$[(`alloc.c`unsigned long)($1)]";;
103 esac 105 esac
104 else 106 else
105 obj="$[(unsigned long)($1)]"; 107 obj="$[(`alloc.c`unsigned long)($1)]";
106 fi 108 fi
107 if test $[(int)($obj & 1)] = 1; then 109 if test $[(int)($obj & 1)] = 1; then
108 # It's an int 110 # It's an int
109 val=$[(long)(((unsigned long long)$obj) >> 1)] 111 val=$[(long)(((unsigned long long)$obj) >> 1)]
110 type=$Lisp_Type_Int 112 type=$Lisp_Type_Int
119 fi 121 fi
120 fi 122 fi
121 123
122 if test $type = $Lisp_Type_Record; then 124 if test $type = $Lisp_Type_Record; then
123 typeset lheader="((struct lrecord_header *) $val)" 125 typeset lheader="((struct lrecord_header *) $val)"
124 imp=$[(void*)(lrecord_implementations_table[$lheader->type])] 126 imp=$[(void*)(`alloc.c`lrecord_implementations_table[$lheader->type])]
125 else 127 else
126 imp="0xdeadbeef" 128 imp="0xdeadbeef"
127 fi 129 fi
128 # printvar obj val type imp 130 # printvar obj val type imp
129 } 131 }