Mercurial > emacs
annotate src/.gdbinit @ 20855:4ab361c28043
(GENERIC_FONT_PTR): Commented-out definition deleted.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 06 Feb 1998 08:46:39 +0000 |
parents | 0ef14112e9b3 |
children | 4379a41b6f2e |
rev | line source |
---|---|
13359
4c60f92bdaa6
Do `set main' to make gdb_valbits etc. available.
Richard M. Stallman <rms@gnu.org>
parents:
12278
diff
changeset
|
1 # Force loading of symbols, enough to give us gdb_valbits etc. |
4c60f92bdaa6
Do `set main' to make gdb_valbits etc. available.
Richard M. Stallman <rms@gnu.org>
parents:
12278
diff
changeset
|
2 set main |
4c60f92bdaa6
Do `set main' to make gdb_valbits etc. available.
Richard M. Stallman <rms@gnu.org>
parents:
12278
diff
changeset
|
3 |
15536 | 4 # Find lwlib source files too. |
5 dir ../lwlib | |
6 | |
20672 | 7 # Don't enter GDB when user types C-g to quit. |
8 # This has one unfortunate effect: you can't type C-c | |
9 # at the GDB to stop Emacs, when using X. | |
10 # However, C-z works just as well in that case. | |
11 handle 2 noprint pass | |
12 | |
13 # Set up a mask to use. | |
12278
6882fe187fa9
Use long, not EMACS_INT.
Richard M. Stallman <rms@gnu.org>
parents:
12248
diff
changeset
|
14 # This should be EMACS_INT, but in some cases that is a macro. |
6882fe187fa9
Use long, not EMACS_INT.
Richard M. Stallman <rms@gnu.org>
parents:
12248
diff
changeset
|
15 # long ought to work in all cases right now. |
6882fe187fa9
Use long, not EMACS_INT.
Richard M. Stallman <rms@gnu.org>
parents:
12248
diff
changeset
|
16 set $valmask = ((long)1 << gdb_valbits) - 1 |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
17 set $nonvalbits = gdb_emacs_intbits - gdb_valbits |
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
18 |
567 | 19 # Set up something to print out s-expressions. |
20 define pr | |
6534 | 21 set debug_print ($) |
567 | 22 end |
23 document pr | |
24 Print the emacs s-expression which is $. | |
25 Works only when an inferior emacs is executing. | |
26 end | |
27 | |
28 define xtype | |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
29 output (enum Lisp_Type) (($ >> gdb_valbits) & 0x7) |
10299
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
30 echo \n |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
31 output ((($ >> gdb_valbits) & 0x7) == Lisp_Misc ? (enum Lisp_Misc_Type) (((struct Lisp_Free *) (($ & $valmask) | gdb_data_seg_bits))->type) : (($ >> gdb_valbits) & 0x7) == Lisp_Vectorlike ? ($size = ((struct Lisp_Vector *) (($ & $valmask) | gdb_data_seg_bits))->size, (enum pvec_type) (($size & PVEC_FLAG) ? $size & PVEC_TYPE_MASK : 0)) : 0) |
999 | 32 echo \n |
567 | 33 end |
638 | 34 document xtype |
7962 | 35 Print the type of $, assuming it is an Emacs Lisp value. |
10299
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
36 If the first type printed is Lisp_Vector or Lisp_Misc, |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
37 the second line gives the more precise type. |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
38 Otherwise the second line doesn't mean anything. |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
39 end |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
40 |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
41 define xvectype |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
42 set $size = ((struct Lisp_Vector *) (($ & $valmask) | gdb_data_seg_bits))->size |
10299
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
43 output (enum pvec_type) (($size & PVEC_FLAG) ? $size & PVEC_TYPE_MASK : 0) |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
44 echo \n |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
45 end |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
46 document xvectype |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
47 Print the vector subtype of $, assuming it is a vector or pseudovector. |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
48 end |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
49 |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
50 define xmisctype |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
51 output (enum Lisp_Misc_Type) (((struct Lisp_Free *) (($ & $valmask) | gdb_data_seg_bits))->type) |
10299
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
52 echo \n |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
53 end |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
54 document xmisctype |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
55 Print the specific type of $, assuming it is some misc type. |
638 | 56 end |
567 | 57 |
58 define xint | |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
59 print (($ & $valmask) << $nonvalbits) >> $nonvalbits |
567 | 60 end |
638 | 61 document xint |
7962 | 62 Print $, assuming it is an Emacs Lisp integer. This gets the sign right. |
638 | 63 end |
567 | 64 |
65 define xptr | |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
66 print (void *) (($ & $valmask) | gdb_data_seg_bits) |
567 | 67 end |
638 | 68 document xptr |
7962 | 69 Print the pointer portion of $, assuming it is an Emacs Lisp value. |
638 | 70 end |
567 | 71 |
72 define xwindow | |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
73 print (struct window *) (($ & $valmask) | gdb_data_seg_bits) |
999 | 74 printf "%dx%d+%d+%d\n", $->width, $->height, $->left, $->top |
567 | 75 end |
638 | 76 document xwindow |
7962 | 77 Print $ as a window pointer, assuming it is an Emacs Lisp window value. |
999 | 78 Print the window's position as "WIDTHxHEIGHT+LEFT+TOP". |
638 | 79 end |
567 | 80 |
81 define xmarker | |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
82 print (struct Lisp_Marker *) (($ & $valmask) | gdb_data_seg_bits) |
567 | 83 end |
638 | 84 document xmarker |
7962 | 85 Print $ as a marker pointer, assuming it is an Emacs Lisp marker value. |
638 | 86 end |
567 | 87 |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
88 define xoverlay |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
89 print (struct Lisp_Overlay *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
90 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
91 document xoverlay |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
92 Print $ as a overlay pointer, assuming it is an Emacs Lisp overlay value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
93 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
94 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
95 define xmiscfree |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
96 print (struct Lisp_Free *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
97 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
98 document xmiscfree |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
99 Print $ as a misc free-cell pointer, assuming it is an Emacs Lisp Misc value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
100 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
101 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
102 define xintfwd |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
103 print (struct Lisp_Intfwd *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
104 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
105 document xintfwd |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
106 Print $ as an integer forwarding pointer, assuming it is an Emacs Lisp Misc value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
107 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
108 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
109 define xboolfwd |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
110 print (struct Lisp_Boolfwd *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
111 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
112 document xboolfwd |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
113 Print $ as a boolean forwarding pointer, assuming it is an Emacs Lisp Misc value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
114 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
115 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
116 define xobjfwd |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
117 print (struct Lisp_Objfwd *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
118 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
119 document xobjfwd |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
120 Print $ as an object forwarding pointer, assuming it is an Emacs Lisp Misc value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
121 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
122 |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
123 define xbufobjfwd |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
124 print (struct Lisp_Buffer_Objfwd *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
125 end |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
126 document xbufobjfwd |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
127 Print $ as a buffer-local object forwarding pointer, assuming it is an Emacs Lisp Misc value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
128 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
129 |
11006
2aa4135eee50
(xkbobjfwd): Renamed from xdispobjfwd.
Karl Heuer <kwzh@gnu.org>
parents:
10582
diff
changeset
|
130 define xkbobjfwd |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
131 print (struct Lisp_Kboard_Objfwd *) (($ & $valmask) | gdb_data_seg_bits) |
10582 | 132 end |
11006
2aa4135eee50
(xkbobjfwd): Renamed from xdispobjfwd.
Karl Heuer <kwzh@gnu.org>
parents:
10582
diff
changeset
|
133 document xkbobjfwd |
2aa4135eee50
(xkbobjfwd): Renamed from xdispobjfwd.
Karl Heuer <kwzh@gnu.org>
parents:
10582
diff
changeset
|
134 Print $ as a kboard-local object forwarding pointer, assuming it is an Emacs Lisp Misc value. |
10582 | 135 end |
136 | |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
137 define xbuflocal |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
138 print (struct Lisp_Buffer_Local_Value *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
139 end |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
140 document xbuflocal |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
141 Print $ as a buffer-local-value pointer, assuming it is an Emacs Lisp Misc value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
142 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
143 |
567 | 144 define xbuffer |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
145 print (struct buffer *) (($ & $valmask) | gdb_data_seg_bits) |
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
146 output &((struct Lisp_String *) ((($->name) & $valmask) | gdb_data_seg_bits))->data |
999 | 147 echo \n |
567 | 148 end |
638 | 149 document xbuffer |
7962 | 150 Set $ as a buffer pointer, assuming it is an Emacs Lisp buffer value. |
727 | 151 Print the name of the buffer. |
638 | 152 end |
567 | 153 |
154 define xsymbol | |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
155 print (struct Lisp_Symbol *) ((((int) $) & $valmask) | gdb_data_seg_bits) |
13551
4b9062f951a5
(xsymbol): Cast name explicitly to (char *).
Richard M. Stallman <rms@gnu.org>
parents:
13360
diff
changeset
|
156 output (char*)&$->name->data |
999 | 157 echo \n |
567 | 158 end |
638 | 159 document xsymbol |
160 Print the name and address of the symbol $. | |
7962 | 161 This command assumes that $ is an Emacs Lisp symbol value. |
638 | 162 end |
567 | 163 |
164 define xstring | |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
165 print (struct Lisp_String *) (($ & $valmask) | gdb_data_seg_bits) |
20582
3b630b1cb848
(xstring): Use size_byte.
Richard M. Stallman <rms@gnu.org>
parents:
18835
diff
changeset
|
166 output ($->size > 1000) ? 0 : ($->data[0])@($->size_byte) |
999 | 167 echo \n |
567 | 168 end |
169 document xstring | |
638 | 170 Print the contents and address of the string $. |
7962 | 171 This command assumes that $ is an Emacs Lisp string value. |
567 | 172 end |
173 | |
174 define xvector | |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
175 print (struct Lisp_Vector *) (($ & $valmask) | gdb_data_seg_bits) |
7961
f3e1a5c7bba1
(xsymbol): Cast $ to int.
Richard M. Stallman <rms@gnu.org>
parents:
6534
diff
changeset
|
176 output ($->size > 50) ? 0 : ($->contents[0])@($->size) |
999 | 177 echo \n |
567 | 178 end |
179 document xvector | |
638 | 180 Print the contents and address of the vector $. |
7962 | 181 This command assumes that $ is an Emacs Lisp vector value. |
567 | 182 end |
183 | |
1113 | 184 define xframe |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
185 print (struct frame *) (($ & $valmask) | gdb_data_seg_bits) |
567 | 186 end |
1113 | 187 document xframe |
7962 | 188 Print $ as a frame pointer, assuming it is an Emacs Lisp frame value. |
638 | 189 end |
567 | 190 |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
191 define xwinconfig |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
192 print (struct save_window_data *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
193 end |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
194 document xwinconfig |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
195 Print $ as a window configuration pointer, assuming it is an Emacs Lisp window configuration value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
196 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
197 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
198 define xcompiled |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
199 print (struct Lisp_Vector *) (($ & $valmask) | gdb_data_seg_bits) |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
200 output ($->contents[0])@($->size & 0xff) |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
201 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
202 document xcompiled |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
203 Print $ as a compiled function pointer, assuming it is an Emacs Lisp compiled value. |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
204 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
205 |
567 | 206 define xcons |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
207 print (struct Lisp_Cons *) (($ & $valmask) | gdb_data_seg_bits) |
18522
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
208 output/x *$ |
999 | 209 echo \n |
567 | 210 end |
638 | 211 document xcons |
7962 | 212 Print the contents of $, assuming it is an Emacs Lisp cons. |
638 | 213 end |
567 | 214 |
18522
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
215 define nextcons |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
216 p $.cdr |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
217 xcons |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
218 end |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
219 document nextcons |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
220 Print the contents of the next cell in a list. |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
221 This assumes that the last thing you printed was a cons cell contents |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
222 (type struct Lisp_Cons) or a pointer to one. |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
223 end |
567 | 224 define xcar |
18835
8b32c6fe8728
(xcar, xcdr): Print with /x.
Richard M. Stallman <rms@gnu.org>
parents:
18522
diff
changeset
|
225 print/x ((($ >> gdb_valbits) & 0xf) == Lisp_Cons ? ((struct Lisp_Cons *) (($ & $valmask) | gdb_data_seg_bits))->car : 0) |
567 | 226 end |
638 | 227 document xcar |
7962 | 228 Print the car of $, assuming it is an Emacs Lisp pair. |
638 | 229 end |
567 | 230 |
231 define xcdr | |
18835
8b32c6fe8728
(xcar, xcdr): Print with /x.
Richard M. Stallman <rms@gnu.org>
parents:
18522
diff
changeset
|
232 print/x ((($ >> gdb_valbits) & 0xf) == Lisp_Cons ? ((struct Lisp_Cons *) (($ & $valmask) | gdb_data_seg_bits))->cdr : 0) |
567 | 233 end |
638 | 234 document xcdr |
7962 | 235 Print the cdr of $, assuming it is an Emacs Lisp pair. |
638 | 236 end |
567 | 237 |
1113 | 238 define xsubr |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
239 print (struct Lisp_Subr *) (($ & $valmask) | gdb_data_seg_bits) |
1113 | 240 output *$ |
241 echo \n | |
242 end | |
243 document xsubr | |
244 Print the address of the subr which the Lisp_Object $ points to. | |
245 end | |
246 | |
1943
80482f2d54bf
* .gdbinit (xprocess): New command.
Jim Blandy <jimb@redhat.com>
parents:
1789
diff
changeset
|
247 define xprocess |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
248 print (struct Lisp_Process *) (($ & $valmask) | gdb_data_seg_bits) |
1943
80482f2d54bf
* .gdbinit (xprocess): New command.
Jim Blandy <jimb@redhat.com>
parents:
1789
diff
changeset
|
249 output *$ |
80482f2d54bf
* .gdbinit (xprocess): New command.
Jim Blandy <jimb@redhat.com>
parents:
1789
diff
changeset
|
250 echo \n |
80482f2d54bf
* .gdbinit (xprocess): New command.
Jim Blandy <jimb@redhat.com>
parents:
1789
diff
changeset
|
251 end |
80482f2d54bf
* .gdbinit (xprocess): New command.
Jim Blandy <jimb@redhat.com>
parents:
1789
diff
changeset
|
252 document xprocess |
80482f2d54bf
* .gdbinit (xprocess): New command.
Jim Blandy <jimb@redhat.com>
parents:
1789
diff
changeset
|
253 Print the address of the struct Lisp_process which the Lisp_Object $ points to. |
80482f2d54bf
* .gdbinit (xprocess): New command.
Jim Blandy <jimb@redhat.com>
parents:
1789
diff
changeset
|
254 end |
80482f2d54bf
* .gdbinit (xprocess): New command.
Jim Blandy <jimb@redhat.com>
parents:
1789
diff
changeset
|
255 |
4267 | 256 define xfloat |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
257 print ((struct Lisp_Float *) (($ & $valmask) | gdb_data_seg_bits))->data |
4267 | 258 end |
259 document xfloat | |
260 Print $ assuming it is a lisp floating-point number. | |
261 end | |
262 | |
1789
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
263 define xscrollbar |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
264 print (struct scrollbar *) (($ & $valmask) | gdb_data_seg_bits) |
1789
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
265 output *$ |
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
266 echo \n |
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
267 end |
4268
0795ced6013f
(xscrollbar): Fix typo specifying doc string.
Richard M. Stallman <rms@gnu.org>
parents:
4267
diff
changeset
|
268 document xscrollbar |
1789
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
269 Print $ as a scrollbar pointer. |
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
270 end |
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
271 |
638 | 272 set print pretty on |
4267 | 273 set print sevenbit-strings |
567 | 274 |
732 | 275 show environment DISPLAY |
4487 | 276 show environment TERM |
277 set args -geometry 80x40+0+0 | |
732 | 278 |
567 | 279 # Don't let abort actually run, as it will make |
2162 | 280 # stdio stop working and therefore the `pr' command above as well. |
567 | 281 break abort |
282 | |
283 # If we are running in synchronous mode, we want a chance to look around | |
284 # before Emacs exits. Perhaps we should put the break somewhere else | |
285 # instead... | |
8310
def3ab3a6f01
Set the breakpoint in x_error_quitter instead of _XPrintDefaultError.
Richard M. Stallman <rms@gnu.org>
parents:
7962
diff
changeset
|
286 break x_error_quitter |