Mercurial > emacs
annotate src/.gdbinit @ 70511:cd1e2cf9f28c
* xresmini.texi (GTK resources): Inserted GTK description.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Sun, 07 May 2006 19:39:28 +0000 |
parents | d481556dd1b5 |
children | 9f75a05018ea 1321f6cfb389 146cd8369025 |
rev | line source |
---|---|
68651
3bd95f4f2941
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
68297
diff
changeset
|
1 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, |
3bd95f4f2941
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
68297
diff
changeset
|
2 # 2004, 2005, 2006 Free Software Foundation, Inc. |
36219 | 3 # |
4 # This file is part of GNU Emacs. | |
5 # | |
6 # GNU Emacs is free software; you can redistribute it and/or modify | |
7 # it under the terms of the GNU General Public License as published by | |
8 # the Free Software Foundation; either version 2, or (at your option) | |
9 # any later version. | |
10 # | |
11 # GNU Emacs is distributed in the hope that it will be useful, | |
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 # GNU General Public License for more details. | |
15 # | |
16 # You should have received a copy of the GNU General Public License | |
17 # along with GNU Emacs; see the file COPYING. If not, write to the | |
64084 | 18 # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
19 # Boston, MA 02110-1301, USA. | |
36219 | 20 |
13359
4c60f92bdaa6
Do `set main' to make gdb_valbits etc. available.
Richard M. Stallman <rms@gnu.org>
parents:
12278
diff
changeset
|
21 # 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
|
22 set main |
4c60f92bdaa6
Do `set main' to make gdb_valbits etc. available.
Richard M. Stallman <rms@gnu.org>
parents:
12278
diff
changeset
|
23 |
15536 | 24 # Find lwlib source files too. |
25 dir ../lwlib | |
34876
8dbc92d11de2
Comment out the line pointing to the Lesstif source
Gerd Moellmann <gerd@gnu.org>
parents:
32812
diff
changeset
|
26 #dir /gd/gnu/lesstif-0.89.9/lib/Xm |
15536 | 27 |
20672 | 28 # Don't enter GDB when user types C-g to quit. |
29 # This has one unfortunate effect: you can't type C-c | |
30 # at the GDB to stop Emacs, when using X. | |
31 # However, C-z works just as well in that case. | |
67027 | 32 handle 2 noprint pass |
20672 | 33 |
66903
4689a51b18f9
Make SIGTSTP work like SIGINT normally does.
Nick Roberts <nickrob@snap.net.nz>
parents:
66817
diff
changeset
|
34 # Make it work like SIGINT normally does. |
4689a51b18f9
Make SIGTSTP work like SIGINT normally does.
Nick Roberts <nickrob@snap.net.nz>
parents:
66817
diff
changeset
|
35 handle SIGTSTP nopass |
4689a51b18f9
Make SIGTSTP work like SIGINT normally does.
Nick Roberts <nickrob@snap.net.nz>
parents:
66817
diff
changeset
|
36 |
30636 | 37 # Don't pass SIGALRM to Emacs. This makes problems when |
38 # debugging. | |
39 handle SIGALRM ignore | |
40 | |
59660
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
41 # $valmask and $tagmask are mask values set up by the xreload macro below. |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
42 |
59660
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
43 # Use $bugfix so that the value isn't a constant. |
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
44 # Using a constant runs into GDB bugs sometimes. |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
45 define xgetptr |
59660
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
46 set $bugfix = $arg0 |
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
47 set $ptr = (gdb_use_union ? $bugfix.u.val : $bugfix & $valmask) | gdb_data_seg_bits |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
48 end |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
49 |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
50 define xgetint |
59660
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
51 set $bugfix = $arg0 |
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
52 set $int = gdb_use_union ? $bugfix.s.val : (gdb_use_lsb ? $bugfix : $bugfix << gdb_gctypebits) >> gdb_gctypebits |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
53 end |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
54 |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
55 define xgettype |
59660
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
56 set $bugfix = $arg0 |
5ee7eaad2958
(xgetptr, xgetint, xgettype): Copy $arg0 into a temp variable.
Richard M. Stallman <rms@gnu.org>
parents:
57911
diff
changeset
|
57 set $type = gdb_use_union ? $bugfix.s.type : (enum Lisp_Type) (gdb_use_lsb ? $bugfix & $tagmask : $bugfix >> gdb_valbits) |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
58 end |
11872
a28bd38b2ff3
gdb_lisp_params to get storage layout info.
Karl Heuer <kwzh@gnu.org>
parents:
11006
diff
changeset
|
59 |
567 | 60 # Set up something to print out s-expressions. |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
61 # We save and restore print_output_debug_flag to prevent the w32 port |
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
62 # from calling OutputDebugString, which causes GDB to display each |
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
63 # character twice (yuk!). |
567 | 64 define pr |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
65 set $output_debug = print_output_debug_flag |
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
66 set print_output_debug_flag = 0 |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
67 set debug_print ($) |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
68 set print_output_debug_flag = $output_debug |
567 | 69 end |
70 document pr | |
71 Print the emacs s-expression which is $. | |
72 Works only when an inferior emacs is executing. | |
73 end | |
74 | |
57306
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
75 # Print out s-expressions |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
76 define pp |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
77 set $tmp = $arg0 |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
78 set $output_debug = print_output_debug_flag |
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
79 set print_output_debug_flag = 0 |
66776
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
80 set safe_debug_print ($tmp) |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
81 set print_output_debug_flag = $output_debug |
57306
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
82 end |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
83 document pp |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
84 Print the argument as an emacs s-expression |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
85 Works only when an inferior emacs is executing. |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
86 end |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
87 |
66772
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
88 # Print out s-expressions from tool bar |
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
89 define pp1 |
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
90 set $tmp = $arg0 |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
91 set $output_debug = print_output_debug_flag |
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
92 set print_output_debug_flag = 0 |
66776
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
93 set safe_debug_print ($tmp) |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
94 set print_output_debug_flag = $output_debug |
66772
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
95 end |
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
96 document pp1 |
70247
039ae41bde1a
(pp1, pv1): Only print value as expression is now printed out by gud-print.
Nick Roberts <nickrob@snap.net.nz>
parents:
69679
diff
changeset
|
97 Print the argument as an emacs s-expression. |
66772
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
98 Works only when an inferior emacs is executing. |
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
99 For use on tool bar when debugging in Emacs |
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
100 where the variable name would not otherwise |
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
101 be recorded in the GUD buffer. |
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
102 end |
f14bee895419
(pp1): New user-defined function.
Nick Roberts <nickrob@snap.net.nz>
parents:
64321
diff
changeset
|
103 |
66776
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
104 # Print value of lisp variable |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
105 define pv |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
106 set $tmp = "$arg0" |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
107 set $output_debug = print_output_debug_flag |
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
108 set print_output_debug_flag = 0 |
66776
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
109 set safe_debug_print ( find_symbol_value (intern ($tmp))) |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
110 set print_output_debug_flag = $output_debug |
66776
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
111 end |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
112 document pv |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
113 Print the value of the lisp variable given as argument. |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
114 Works only when an inferior emacs is executing. |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
115 end |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
116 |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
117 # Print value of lisp variable |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
118 define pv1 |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
119 set $tmp = "$arg0" |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
120 set $output_debug = print_output_debug_flag |
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
121 set print_output_debug_flag = 0 |
66776
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
122 set safe_debug_print (find_symbol_value (intern ($tmp))) |
69679
7a7755ff46ed
(pr, pp, pp1, pv, pv1): Force print_output_debug_flag to zero
Eli Zaretskii <eliz@gnu.org>
parents:
68857
diff
changeset
|
123 set print_output_debug_flag = $output_debug |
66776
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
124 end |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
125 document pv1 |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
126 Print the value of the lisp variable given as argument. |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
127 Works only when an inferior emacs is executing. |
70247
039ae41bde1a
(pp1, pv1): Only print value as expression is now printed out by gud-print.
Nick Roberts <nickrob@snap.net.nz>
parents:
69679
diff
changeset
|
128 For use when debugging in Emacs where the variable |
039ae41bde1a
(pp1, pv1): Only print value as expression is now printed out by gud-print.
Nick Roberts <nickrob@snap.net.nz>
parents:
69679
diff
changeset
|
129 name would not otherwise be recorded in the GUD buffer. |
66776
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
130 end |
2acb0afcc57a
(pp, pp1): Use safe_debug_print.
Kim F. Storm <storm@cua.dk>
parents:
66772
diff
changeset
|
131 |
57911 | 132 # Print out current buffer point and boundaries |
133 define ppt | |
134 set $b = current_buffer | |
135 set $t = $b->text | |
136 printf "BUF PT: %d", $b->pt | |
137 if ($b->pt != $b->pt_byte) | |
138 printf "[%d]", $b->pt_byte | |
139 end | |
140 printf " of 1..%d", $t->z | |
141 if ($t->z != $t->z_byte) | |
142 printf "[%d]", $t->z_byte | |
143 end | |
144 if ($b->begv != 1 || $b->zv != $t->z) | |
145 printf " NARROW=%d..%d", $b->begv, $b->zv | |
146 if ($b->begv != $b->begv_byte || $b->zv != $b->zv_byte) | |
147 printf " [%d..%d]", $b->begv_byte, $b->zv_byte | |
148 end | |
149 end | |
150 printf " GAP: %d", $t->gpt | |
151 if ($t->gpt != $t->gpt_byte) | |
152 printf "[%d]", $t->gpt_byte | |
153 end | |
154 printf " SZ=%d\n", $t->gap_size | |
155 end | |
156 document ppt | |
157 Print point, beg, end, narrow, and gap for current buffer. | |
158 end | |
159 | |
60148
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
160 # Print out iterator given as first arg |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
161 define pitx |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
162 set $it = $arg0 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
163 printf "cur=%d", $it->current.pos.charpos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
164 if ($it->current.pos.charpos != $it->current.pos.bytepos) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
165 printf "[%d]", $it->current.pos.bytepos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
166 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
167 printf " start=%d", $it->start.pos.charpos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
168 if ($it->start.pos.charpos != $it->start.pos.bytepos) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
169 printf "[%d]", $it->start.pos.bytepos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
170 end |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
171 printf " end=%d", $it->end_charpos |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
172 printf " stop=%d", $it->stop_charpos |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
173 printf " face=%d", $it->face_id |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
174 if ($it->multibyte_p) |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
175 printf " MB" |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
176 end |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
177 if ($it->header_line_p) |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
178 printf " HL" |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
179 end |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
180 if ($it->n_overlay_strings > 0) |
66817
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
181 printf " nov=%d", $it->n_overlay_strings |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
182 end |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
183 if ($it->sp != 0) |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
184 printf " sp=%d", $it->sp |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
185 end |
60148
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
186 if ($it->what == IT_CHARACTER) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
187 if ($it->len == 1 && $it->c >= ' ' && it->c < 255) |
64321
18dde5f76662
(pitx): Fix output format. Print string charpos.
Kim F. Storm <storm@cua.dk>
parents:
64084
diff
changeset
|
188 printf " ch='%c'", $it->c |
60148
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
189 else |
64321
18dde5f76662
(pitx): Fix output format. Print string charpos.
Kim F. Storm <storm@cua.dk>
parents:
64084
diff
changeset
|
190 printf " ch=[%d,%d]", $it->c, $it->len |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
191 end |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
192 else |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
193 if ($it->what == IT_IMAGE) |
64321
18dde5f76662
(pitx): Fix output format. Print string charpos.
Kim F. Storm <storm@cua.dk>
parents:
64084
diff
changeset
|
194 printf " IMAGE=%d", $it->image_id |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
195 else |
64321
18dde5f76662
(pitx): Fix output format. Print string charpos.
Kim F. Storm <storm@cua.dk>
parents:
64084
diff
changeset
|
196 printf " " |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
197 output $it->what |
60148
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
198 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
199 end |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
200 if ($it->method != GET_FROM_BUFFER) |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
201 printf " next=" |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
202 output $it->method |
64321
18dde5f76662
(pitx): Fix output format. Print string charpos.
Kim F. Storm <storm@cua.dk>
parents:
64084
diff
changeset
|
203 if ($it->method == GET_FROM_STRING) |
18dde5f76662
(pitx): Fix output format. Print string charpos.
Kim F. Storm <storm@cua.dk>
parents:
64084
diff
changeset
|
204 printf "[%d]", $it->current.string_pos.charpos |
18dde5f76662
(pitx): Fix output format. Print string charpos.
Kim F. Storm <storm@cua.dk>
parents:
64084
diff
changeset
|
205 end |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
206 end |
60148
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
207 printf "\n" |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
208 if ($it->region_beg_charpos >= 0) |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
209 printf "reg=%d-%d ", $it->region_beg_charpos, $it->region_end_charpos |
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
210 end |
60148
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
211 printf "vpos=%d hpos=%d", $it->vpos, $it->hpos, |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
212 printf " y=%d lvy=%d", $it->current_y, $it->last_visible_y |
62416
123211374403
(pitx): Print more info about iterator.
Kim F. Storm <storm@cua.dk>
parents:
60148
diff
changeset
|
213 printf " x=%d vx=%d-%d", $it->current_x, $it->first_visible_x, $it->last_visible_x |
70425 | 214 printf " w=%d", $it->pixel_width |
60148
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
215 printf " a+d=%d+%d=%d", $it->ascent, $it->descent, $it->ascent+$it->descent |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
216 printf " max=%d+%d=%d", $it->max_ascent, $it->max_descent, $it->max_ascent+$it->max_descent |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
217 printf "\n" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
218 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
219 document pitx |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
220 Pretty print a display iterator. |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
221 Take one arg, an iterator object or pointer. |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
222 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
223 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
224 define pit |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
225 pitx it |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
226 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
227 document pit |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
228 Pretty print the display iterator it. |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
229 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
230 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
231 define prowx |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
232 set $row = $arg0 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
233 printf "y=%d x=%d pwid=%d", $row->y, $row->x, $row->pixel_width |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
234 printf " a+d=%d+%d=%d", $row->ascent, $row->height-$row->ascent, $row->height |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
235 printf " phys=%d+%d=%d", $row->phys_ascent, $row->phys_height-$row->phys_ascent, $row->phys_height |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
236 printf " vis=%d", $row->visible_height |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
237 printf " L=%d T=%d R=%d", $row->used[0], $row->used[1], $row->used[2] |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
238 printf "\n" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
239 printf "start=%d end=%d", $row->start.pos.charpos, $row->end.pos.charpos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
240 if ($row->enabled_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
241 printf " ENA" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
242 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
243 if ($row->displays_text_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
244 printf " DISP" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
245 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
246 if ($row->mode_line_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
247 printf " MODEL" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
248 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
249 if ($row->continued_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
250 printf " CONT" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
251 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
252 if ($row-> truncated_on_left_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
253 printf " TRUNC:L" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
254 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
255 if ($row-> truncated_on_right_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
256 printf " TRUNC:R" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
257 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
258 if ($row->starts_in_middle_of_char_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
259 printf " STARTMID" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
260 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
261 if ($row->ends_in_middle_of_char_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
262 printf " ENDMID" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
263 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
264 if ($row->ends_in_newline_from_string_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
265 printf " ENDNLFS" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
266 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
267 if ($row->ends_at_zv_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
268 printf " ENDZV" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
269 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
270 if ($row->overlapped_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
271 printf " OLAPD" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
272 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
273 if ($row->overlapping_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
274 printf " OLAPNG" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
275 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
276 printf "\n" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
277 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
278 document prowx |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
279 Pretty print information about glyph_row. |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
280 Takes one argument, a row object or pointer. |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
281 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
282 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
283 define prow |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
284 prowx row |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
285 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
286 document prow |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
287 Pretty print information about glyph_row in row. |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
288 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
289 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
290 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
291 define pcursorx |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
292 set $cp = $arg0 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
293 printf "y=%d x=%d vpos=%d hpos=%d", $cp->y, $cp->x, $cp->vpos, $cp->hpos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
294 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
295 document pcursorx |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
296 Pretty print a window cursor |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
297 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
298 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
299 define pcursor |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
300 printf "output: " |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
301 pcursorx output_cursor |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
302 printf "\n" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
303 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
304 document pcursor |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
305 Pretty print the output_cursor |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
306 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
307 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
308 define pwinx |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
309 set $w = $arg0 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
310 xgetint $w->sequence_number |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
311 if ($w->mini_p != Qnil) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
312 printf "Mini " |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
313 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
314 printf "Window %d ", $int |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
315 xgetptr $w->buffer |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
316 set $tem = (struct buffer *) $ptr |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
317 xgetptr $tem->name |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
318 printf "%s", ((struct Lisp_String *) $ptr)->data |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
319 printf "\n" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
320 xgetptr $w->start |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
321 set $tem = (struct Lisp_Marker *) $ptr |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
322 printf "start=%d end:", $tem->charpos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
323 if ($w->window_end_valid != Qnil) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
324 xgetint $w->window_end_pos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
325 printf "pos=%d", $int |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
326 xgetint $w->window_end_vpos |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
327 printf " vpos=%d", $int |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
328 else |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
329 printf "invalid" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
330 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
331 printf " vscroll=%d", $w->vscroll |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
332 if ($w->force_start != Qnil) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
333 printf " FORCE_START" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
334 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
335 if ($w->must_be_updated_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
336 printf " MUST_UPD" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
337 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
338 printf "\n" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
339 printf "cursor: " |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
340 pcursorx $w->cursor |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
341 printf " phys: " |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
342 pcursorx $w->phys_cursor |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
343 if ($w->phys_cursor_on_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
344 printf " ON" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
345 else |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
346 printf " OFF" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
347 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
348 printf " blk=" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
349 if ($w->last_cursor_off_p != $w->cursor_off_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
350 if ($w->last_cursor_off_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
351 printf "ON->" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
352 else |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
353 printf "OFF->" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
354 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
355 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
356 if ($w->cursor_off_p) |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
357 printf "ON" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
358 else |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
359 printf "OFF" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
360 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
361 printf "\n" |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
362 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
363 document pwinx |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
364 Pretty print a window structure. |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
365 Takes one argument, a pointer to a window structure |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
366 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
367 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
368 define pwin |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
369 pwinx w |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
370 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
371 document pwin |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
372 Pretty print window structure w. |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
373 end |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
374 |
28b65d07edde
(pitx, pit): Pretty print display iterator.
Kim F. Storm <storm@cua.dk>
parents:
59660
diff
changeset
|
375 |
567 | 376 define xtype |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
377 xgettype $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
378 output $type |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
379 echo \n |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
380 if $type == Lisp_Misc |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
381 xmisctype |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
382 else |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
383 if $type == Lisp_Vectorlike |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
384 xvectype |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
385 end |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
386 end |
567 | 387 end |
638 | 388 document xtype |
7962 | 389 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
|
390 If the first type printed is Lisp_Vector or Lisp_Misc, |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
391 a second line gives the more precise type. |
10299
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
392 end |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
393 |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
394 define xvectype |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
395 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
396 set $size = ((struct Lisp_Vector *) $ptr)->size |
55609
253acecd37f9
Mask off gdb_array_mark_flag from vector sizes.
Andreas Schwab <schwab@suse.de>
parents:
54690
diff
changeset
|
397 output ($size & PVEC_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size & ~gdb_array_mark_flag |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
398 echo \n |
10299
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
399 end |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
400 document xvectype |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
401 Print the size or vector subtype of $, assuming it is a vector or pseudovector. |
10299
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
402 end |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
403 |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
404 define xmisctype |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
405 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
406 output (enum Lisp_Misc_Type) (((struct Lisp_Free *) $ptr)->type) |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
407 echo \n |
10299
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
408 end |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
409 document xmisctype |
0de933eb95a2
Adapt to new Lisp_Object format.
Richard M. Stallman <rms@gnu.org>
parents:
8310
diff
changeset
|
410 Print the specific type of $, assuming it is some misc type. |
638 | 411 end |
567 | 412 |
413 define xint | |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
414 xgetint $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
415 print $int |
567 | 416 end |
638 | 417 document xint |
7962 | 418 Print $, assuming it is an Emacs Lisp integer. This gets the sign right. |
638 | 419 end |
567 | 420 |
421 define xptr | |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
422 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
423 print (void *) $ptr |
567 | 424 end |
638 | 425 document xptr |
7962 | 426 Print the pointer portion of $, assuming it is an Emacs Lisp value. |
638 | 427 end |
567 | 428 |
429 define xmarker | |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
430 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
431 print (struct Lisp_Marker *) $ptr |
567 | 432 end |
638 | 433 document xmarker |
7962 | 434 Print $ as a marker pointer, assuming it is an Emacs Lisp marker value. |
638 | 435 end |
567 | 436 |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
437 define xoverlay |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
438 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
439 print (struct Lisp_Overlay *) $ptr |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
440 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
441 document xoverlay |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
442 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
|
443 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
444 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
445 define xmiscfree |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
446 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
447 print (struct Lisp_Free *) $ptr |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
448 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
449 document xmiscfree |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
450 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
|
451 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
452 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
453 define xintfwd |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
454 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
455 print (struct Lisp_Intfwd *) $ptr |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
456 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
457 document xintfwd |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
458 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
|
459 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
460 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
461 define xboolfwd |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
462 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
463 print (struct Lisp_Boolfwd *) $ptr |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
464 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
465 document xboolfwd |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
466 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
|
467 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
468 |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
469 define xobjfwd |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
470 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
471 print (struct Lisp_Objfwd *) $ptr |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
472 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
473 document xobjfwd |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
474 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
|
475 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
476 |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
477 define xbufobjfwd |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
478 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
479 print (struct Lisp_Buffer_Objfwd *) $ptr |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
480 end |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
481 document xbufobjfwd |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
482 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
|
483 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
484 |
11006
2aa4135eee50
(xkbobjfwd): Renamed from xdispobjfwd.
Karl Heuer <kwzh@gnu.org>
parents:
10582
diff
changeset
|
485 define xkbobjfwd |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
486 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
487 print (struct Lisp_Kboard_Objfwd *) $ptr |
10582 | 488 end |
11006
2aa4135eee50
(xkbobjfwd): Renamed from xdispobjfwd.
Karl Heuer <kwzh@gnu.org>
parents:
10582
diff
changeset
|
489 document xkbobjfwd |
2aa4135eee50
(xkbobjfwd): Renamed from xdispobjfwd.
Karl Heuer <kwzh@gnu.org>
parents:
10582
diff
changeset
|
490 Print $ as a kboard-local object forwarding pointer, assuming it is an Emacs Lisp Misc value. |
10582 | 491 end |
492 | |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
493 define xbuflocal |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
494 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
495 print (struct Lisp_Buffer_Local_Value *) $ptr |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
496 end |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
497 document xbuflocal |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
498 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
|
499 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
500 |
567 | 501 define xsymbol |
55686 | 502 set $sym = $ |
503 xgetptr $sym | |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
504 print (struct Lisp_Symbol *) $ptr |
55686 | 505 xprintsym $sym |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
506 echo \n |
567 | 507 end |
638 | 508 document xsymbol |
509 Print the name and address of the symbol $. | |
7962 | 510 This command assumes that $ is an Emacs Lisp symbol value. |
638 | 511 end |
567 | 512 |
513 define xstring | |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
514 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
515 print (struct Lisp_String *) $ptr |
55681
91c18484e1a2
(xprintstr): New fun.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
55609
diff
changeset
|
516 xprintstr $ |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
517 echo \n |
567 | 518 end |
519 document xstring | |
638 | 520 Print the contents and address of the string $. |
7962 | 521 This command assumes that $ is an Emacs Lisp string value. |
567 | 522 end |
523 | |
524 define xvector | |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
525 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
526 print (struct Lisp_Vector *) $ptr |
55609
253acecd37f9
Mask off gdb_array_mark_flag from vector sizes.
Andreas Schwab <schwab@suse.de>
parents:
54690
diff
changeset
|
527 output ($->size > 50) ? 0 : ($->contents[0])@($->size & ~gdb_array_mark_flag) |
999 | 528 echo \n |
567 | 529 end |
530 document xvector | |
638 | 531 Print the contents and address of the vector $. |
7962 | 532 This command assumes that $ is an Emacs Lisp vector value. |
567 | 533 end |
534 | |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
535 define xprocess |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
536 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
537 print (struct Lisp_Process *) $ptr |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
538 output *$ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
539 echo \n |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
540 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
541 document xprocess |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
542 Print the address of the struct Lisp_process which the Lisp_Object $ points to. |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
543 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
544 |
1113 | 545 define xframe |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
546 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
547 print (struct frame *) $ptr |
70425 | 548 xgetptr $->name |
549 set $ptr = (struct Lisp_String *) $ptr | |
550 xprintstr $ptr | |
551 echo \n | |
567 | 552 end |
1113 | 553 document xframe |
7962 | 554 Print $ as a frame pointer, assuming it is an Emacs Lisp frame value. |
638 | 555 end |
567 | 556 |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
557 define xcompiled |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
558 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
559 print (struct Lisp_Vector *) $ptr |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
560 output ($->contents[0])@($->size & 0xff) |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
561 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
562 document xcompiled |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
563 Print $ as a compiled function pointer, assuming it is an Emacs Lisp compiled value. |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
564 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
565 |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
566 define xwindow |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
567 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
568 print (struct window *) $ptr |
68857
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
569 set $window = (struct window *) $ptr |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
570 xgetint $window->total_cols |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
571 set $width=$int |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
572 xgetint $window->total_lines |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
573 set $height=$int |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
574 xgetint $window->left_col |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
575 set $left=$int |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
576 xgetint $window->top_line |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
577 set $top=$int |
faf10626ffee
(xwindow): Update the code to show the window box.
Richard M. Stallman <rms@gnu.org>
parents:
68651
diff
changeset
|
578 printf "%dx%d+%d+%d\n", $width, $height, $left, $top |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
579 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
580 document xwindow |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
581 Print $ as a window pointer, assuming it is an Emacs Lisp window value. |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
582 Print the window's position as "WIDTHxHEIGHT+LEFT+TOP". |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
583 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
584 |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
585 define xwinconfig |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
586 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
587 print (struct save_window_data *) $ptr |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
588 end |
10495
70bd087c47a9
(xbufobjfwd, xbuflocal, xwinconfig):
Karl Heuer <kwzh@gnu.org>
parents:
10483
diff
changeset
|
589 document xwinconfig |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
590 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
|
591 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
592 |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
593 define xsubr |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
594 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
595 print (struct Lisp_Subr *) $ptr |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
596 output *$ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
597 echo \n |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
598 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
599 document xsubr |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
600 Print the address of the subr which the Lisp_Object $ points to. |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
601 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
602 |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
603 define xchartable |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
604 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
605 print (struct Lisp_Char_Table *) $ptr |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
606 printf "Purpose: " |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
607 xprintsym $->purpose |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
608 printf " %d extra slots", ($->size & 0x1ff) - 388 |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
609 echo \n |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
610 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
611 document xchartable |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
612 Print the address of the char-table $, and its purpose. |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
613 This command assumes that $ is an Emacs Lisp char-table value. |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
614 end |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
615 |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
616 define xboolvector |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
617 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
618 print (struct Lisp_Bool_Vector *) $ptr |
55609
253acecd37f9
Mask off gdb_array_mark_flag from vector sizes.
Andreas Schwab <schwab@suse.de>
parents:
54690
diff
changeset
|
619 output ($->size > 256) ? 0 : ($->data[0])@((($->size & ~gdb_array_mark_flag) + 7)/ 8) |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
620 echo \n |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
621 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
622 document xboolvector |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
623 Print the contents and address of the bool-vector $. |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
624 This command assumes that $ is an Emacs Lisp bool-vector value. |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
625 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
626 |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
627 define xbuffer |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
628 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
629 print (struct buffer *) $ptr |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
630 xgetptr $->name |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
631 output ((struct Lisp_String *) $ptr)->data |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
632 echo \n |
22012
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
633 end |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
634 document xbuffer |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
635 Set $ as a buffer pointer, assuming it is an Emacs Lisp buffer value. |
4379a41b6f2e
(xstring): Handle unibyte strings.
Richard M. Stallman <rms@gnu.org>
parents:
20672
diff
changeset
|
636 Print the name of the buffer. |
10483
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
637 end |
727cd2061e2a
(xboolfwd, xbuffer_local_value, xbuffer_objfwd, xcompiled, xintfwd, xmiscfree,
Karl Heuer <kwzh@gnu.org>
parents:
10337
diff
changeset
|
638 |
30636 | 639 define xhashtable |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
640 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
641 print (struct Lisp_Hash_Table *) $ptr |
30636 | 642 end |
643 document xhashtable | |
644 Set $ as a hash table pointer, assuming it is an Emacs Lisp hash table value. | |
645 end | |
646 | |
567 | 647 define xcons |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
648 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
649 print (struct Lisp_Cons *) $ptr |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
650 output/x *$ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
651 echo \n |
567 | 652 end |
638 | 653 document xcons |
7962 | 654 Print the contents of $, assuming it is an Emacs Lisp cons. |
638 | 655 end |
567 | 656 |
18522
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
657 define nextcons |
67020
2385088bbb84
(nextcons, xcdr, xfloat): Update for changes in
Andreas Schwab <schwab@suse.de>
parents:
66903
diff
changeset
|
658 p $.u.cdr |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
659 xcons |
18522
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
660 end |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
661 document nextcons |
c572c073c982
(xcons): Print car and cdr in hex.
Richard M. Stallman <rms@gnu.org>
parents:
15536
diff
changeset
|
662 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
|
663 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
|
664 (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
|
665 end |
567 | 666 define xcar |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
667 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
668 xgettype $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
669 print/x ($type == Lisp_Cons ? ((struct Lisp_Cons *) $ptr)->car : 0) |
567 | 670 end |
638 | 671 document xcar |
7962 | 672 Print the car of $, assuming it is an Emacs Lisp pair. |
638 | 673 end |
567 | 674 |
675 define xcdr | |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
676 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
677 xgettype $ |
67020
2385088bbb84
(nextcons, xcdr, xfloat): Update for changes in
Andreas Schwab <schwab@suse.de>
parents:
66903
diff
changeset
|
678 print/x ($type == Lisp_Cons ? ((struct Lisp_Cons *) $ptr)->u.cdr : 0) |
567 | 679 end |
638 | 680 document xcdr |
7962 | 681 Print the cdr of $, assuming it is an Emacs Lisp pair. |
638 | 682 end |
567 | 683 |
70425 | 684 define xlist |
685 xgetptr $ | |
686 set $cons = (struct Lisp_Cons *) $ptr | |
687 xgetptr Qnil | |
688 set $nil = $ptr | |
689 set $i = 0 | |
690 while $cons != $nil && $i < 10 | |
691 p/x $cons->car | |
692 xpr | |
693 xgetptr $cons->u.cdr | |
694 set $cons = (struct Lisp_Cons *) $ptr | |
695 set $i = $i + 1 | |
696 printf "---\n" | |
697 end | |
698 if $cons == $nil | |
699 printf "nil\n" | |
700 else | |
701 printf "...\n" | |
702 p $ptr | |
703 end | |
704 end | |
705 document xlist | |
706 Print $ assuming it is a list. | |
707 end | |
708 | |
4267 | 709 define xfloat |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
710 xgetptr $ |
67020
2385088bbb84
(nextcons, xcdr, xfloat): Update for changes in
Andreas Schwab <schwab@suse.de>
parents:
66903
diff
changeset
|
711 print ((struct Lisp_Float *) $ptr)->u.data |
4267 | 712 end |
713 document xfloat | |
714 Print $ assuming it is a lisp floating-point number. | |
715 end | |
716 | |
1789
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
717 define xscrollbar |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
718 xgetptr $ |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
719 print (struct scrollbar *) $ptr |
1789
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
720 output *$ |
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
721 echo \n |
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
722 end |
4268
0795ced6013f
(xscrollbar): Fix typo specifying doc string.
Richard M. Stallman <rms@gnu.org>
parents:
4267
diff
changeset
|
723 document xscrollbar |
1789
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
724 Print $ as a scrollbar pointer. |
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
725 end |
2c65d1a8af09
* .gdbinit: Add "-geometry +0+0" to default args.
Jim Blandy <jimb@redhat.com>
parents:
1551
diff
changeset
|
726 |
70425 | 727 define xpr |
728 xtype | |
729 if $type == Lisp_Int | |
730 xint | |
731 end | |
732 if $type == Lisp_Symbol | |
733 xsymbol | |
734 end | |
735 if $type == Lisp_String | |
736 xstring | |
737 end | |
738 if $type == Lisp_Cons | |
739 xcons | |
740 end | |
741 if $type == Lisp_Float | |
742 xfloat | |
743 end | |
744 if $type == Lisp_Misc | |
745 set $misc = (enum Lisp_Misc_Type) (((struct Lisp_Free *) $ptr)->type) | |
746 if $misc == Lisp_Misc_Free | |
747 xmiscfree | |
748 end | |
749 if $misc == Lisp_Misc_Boolfwd | |
750 xboolfwd | |
751 end | |
752 if $misc == Lisp_Misc_Marker | |
753 xmarker | |
754 end | |
755 if $misc == Lisp_Misc_Intfwd | |
756 xintfwd | |
757 end | |
758 if $misc == Lisp_Misc_Boolfwd | |
759 xboolfwd | |
760 end | |
761 if $misc == Lisp_Misc_Objfwd | |
762 xobjfwd | |
763 end | |
764 if $misc == Lisp_Misc_Buffer_Objfwd | |
765 xbufobjfwd | |
766 end | |
767 if $misc == Lisp_Misc_Buffer_Local_Value | |
768 xbuflocal | |
769 end | |
770 # if $misc == Lisp_Misc_Some_Buffer_Local_Value | |
771 # xvalue | |
772 # end | |
773 if $misc == Lisp_Misc_Overlay | |
774 xoverlay | |
775 end | |
776 if $misc == Lisp_Misc_Kboard_Objfwd | |
777 xkbobjfwd | |
778 end | |
779 # if $misc == Lisp_Misc_Save_Value | |
780 # xsavevalue | |
781 # end | |
782 end | |
783 if $type == Lisp_Vectorlike | |
784 set $size = ((struct Lisp_Vector *) $ptr)->size | |
785 if ($size & PVEC_FLAG) | |
786 set $vec = (enum pvec_type) ($size & PVEC_TYPE_MASK) | |
787 if $vec == PVEC_NORMAL_VECTOR | |
788 xvector | |
789 end | |
790 if $vec == PVEC_PROCESS | |
791 xprocess | |
792 end | |
793 if $vec == PVEC_FRAME | |
794 xframe | |
795 end | |
796 if $vec == PVEC_COMPILED | |
797 xcompiled | |
798 end | |
799 if $vec == PVEC_WINDOW | |
800 xwindow | |
801 end | |
802 if $vec == PVEC_WINDOW_CONFIGURATION | |
803 xwinconfig | |
804 end | |
805 if $vec == PVEC_SUBR | |
806 xsubr | |
807 end | |
808 if $vec == PVEC_CHAR_TABLE | |
809 xchartable | |
810 end | |
811 if $vec == PVEC_BOOL_VECTOR | |
812 xboolvector | |
813 end | |
814 if $vec == PVEC_BUFFER | |
815 xbuffer | |
816 end | |
817 if $vec == PVEC_HASH_TABLE | |
818 xhashtable | |
819 end | |
820 else | |
821 xvector | |
822 end | |
823 end | |
824 end | |
825 document xpr | |
826 Print $ as a lisp object of any type. | |
827 end | |
828 | |
55681
91c18484e1a2
(xprintstr): New fun.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
55609
diff
changeset
|
829 define xprintstr |
91c18484e1a2
(xprintstr): New fun.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
55609
diff
changeset
|
830 set $data = $arg0->data |
91c18484e1a2
(xprintstr): New fun.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
55609
diff
changeset
|
831 output ($arg0->size > 1000) ? 0 : ($data[0])@($arg0->size_byte < 0 ? $arg0->size & ~gdb_array_mark_flag : $arg0->size_byte) |
91c18484e1a2
(xprintstr): New fun.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
55609
diff
changeset
|
832 end |
91c18484e1a2
(xprintstr): New fun.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
55609
diff
changeset
|
833 |
27290 | 834 define xprintsym |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
835 xgetptr $arg0 |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
836 set $sym = (struct Lisp_Symbol *) $ptr |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
837 xgetptr $sym->xname |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
838 set $sym_name = (struct Lisp_String *) $ptr |
55681
91c18484e1a2
(xprintstr): New fun.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
55609
diff
changeset
|
839 xprintstr $sym_name |
27290 | 840 end |
841 document xprintsym | |
842 Print argument as a symbol. | |
843 end | |
844 | |
845 define xbacktrace | |
846 set $bt = backtrace_list | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45966
diff
changeset
|
847 while $bt |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
848 xgettype (*$bt->function) |
32812
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
849 if $type == Lisp_Symbol |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
850 xprintsym (*$bt->function) |
70425 | 851 printf " (0x%x)\n", *$bt->args |
32812
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
852 else |
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
853 printf "0x%x ", *$bt->function |
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
854 if $type == Lisp_Vectorlike |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
855 xgetptr (*$bt->function) |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
856 set $size = ((struct Lisp_Vector *) $ptr)->size |
55609
253acecd37f9
Mask off gdb_array_mark_flag from vector sizes.
Andreas Schwab <schwab@suse.de>
parents:
54690
diff
changeset
|
857 output ($size & PVEC_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size & ~gdb_array_mark_flag |
32812
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
858 else |
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
859 printf "Lisp type %d", $type |
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
860 end |
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
861 echo \n |
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
862 end |
27290 | 863 set $bt = $bt->next |
864 end | |
865 end | |
866 document xbacktrace | |
867 Print a backtrace of Lisp function calls from backtrace_list. | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45966
diff
changeset
|
868 Set a breakpoint at Fsignal and call this to see from where |
32812
c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
Gerd Moellmann <gerd@gnu.org>
parents:
31960
diff
changeset
|
869 an error was signaled. |
27290 | 870 end |
871 | |
70425 | 872 define which |
873 set debug_print (which_symbols ($arg0)) | |
874 end | |
875 document which | |
876 Print symbols which references a given lisp object, | |
877 either as its symbol value or symbol function. | |
878 end | |
879 | |
880 define xbytecode | |
881 set $bt = byte_stack_list | |
882 while $bt | |
883 xgettype ($bt->byte_string) | |
884 printf "0x%x => ", $bt->byte_string | |
885 which $bt->byte_string | |
886 set $bt = $bt->next | |
887 end | |
888 end | |
889 document xbytecode | |
890 Print a backtrace of the byte code stack. | |
891 end | |
892 | |
66817
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
893 # Show Lisp backtrace after normal backtrace. |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
894 define hookpost-backtrace |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
895 set $bt = backtrace_list |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
896 if $bt |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
897 echo \n |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
898 echo Lisp Backtrace:\n |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
899 xbacktrace |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
900 end |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
901 end |
98ff41842c94
(pitx): Fix output format if n_overlay_strings > 0.
Kim F. Storm <storm@cua.dk>
parents:
66776
diff
changeset
|
902 |
27290 | 903 define xreload |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
904 set $tagmask = (((long)1 << gdb_gctypebits) - 1) |
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
905 set $valmask = gdb_use_lsb ? ~($tagmask) : ((long)1 << gdb_valbits) - 1 |
27290 | 906 end |
907 document xreload | |
908 When starting Emacs a second time in the same gdb session under | |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
909 FreeBSD 2.2.5, gdb 4.13, $valmask have lost |
35792
9ec1e59890a2
(hook-run): Define to run xreload.
Dave Love <fx@gnu.org>
parents:
34876
diff
changeset
|
910 their values. (The same happens on current (2000) versions of GNU/Linux |
9ec1e59890a2
(hook-run): Define to run xreload.
Dave Love <fx@gnu.org>
parents:
34876
diff
changeset
|
911 with gdb 5.0.) |
31960
eb2d3d3a8eb5
(xreload): Note its need on GNU/Linux.
Dave Love <fx@gnu.org>
parents:
30636
diff
changeset
|
912 This function reloads them. |
27290 | 913 end |
54690
f9c48c0105bd
Make it work for USE_LSB_TAG and !NO_LISP_UNION.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52401
diff
changeset
|
914 xreload |
27290 | 915 |
57306
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
916 # Flush display (X only) |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
917 define ff |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
918 set x_flush (0) |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
919 end |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
920 document ff |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
921 Flush pending X window display updates to screen. |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
922 Works only when an inferior emacs is executing. |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
923 end |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
924 |
aca7edaa93d4
(pp): Shorthand for p ARG + pr.
Kim F. Storm <storm@cua.dk>
parents:
55686
diff
changeset
|
925 |
35792
9ec1e59890a2
(hook-run): Define to run xreload.
Dave Love <fx@gnu.org>
parents:
34876
diff
changeset
|
926 define hook-run |
9ec1e59890a2
(hook-run): Define to run xreload.
Dave Love <fx@gnu.org>
parents:
34876
diff
changeset
|
927 xreload |
9ec1e59890a2
(hook-run): Define to run xreload.
Dave Love <fx@gnu.org>
parents:
34876
diff
changeset
|
928 end |
9ec1e59890a2
(hook-run): Define to run xreload.
Dave Love <fx@gnu.org>
parents:
34876
diff
changeset
|
929 |
42907
1865230232b7
(hookpost-run): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
42682
diff
changeset
|
930 # Call xreload if a new Emacs executable is loaded. |
1865230232b7
(hookpost-run): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
42682
diff
changeset
|
931 define hookpost-run |
1865230232b7
(hookpost-run): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
42682
diff
changeset
|
932 xreload |
1865230232b7
(hookpost-run): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
42682
diff
changeset
|
933 end |
1865230232b7
(hookpost-run): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
42682
diff
changeset
|
934 |
638 | 935 set print pretty on |
4267 | 936 set print sevenbit-strings |
567 | 937 |
732 | 938 show environment DISPLAY |
4487 | 939 show environment TERM |
67027 | 940 set args -geometry 80x40+0+0 |
732 | 941 |
67925
477140fdc860
Tell users not to worry about GDB warnings that some functions do not
Eli Zaretskii <eliz@gnu.org>
parents:
67633
diff
changeset
|
942 # People get bothered when they see messages about non-existent functions... |
68007
0b578812ab24
Undo last change. Instead, look at Vsystem_type to
Kim F. Storm <storm@cua.dk>
parents:
67925
diff
changeset
|
943 xgetptr Vsystem_type |
68297
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
944 # $ptr is NULL in temacs |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
945 if ($ptr != 0) |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
946 set $tem = (struct Lisp_Symbol *) $ptr |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
947 xgetptr $tem->xname |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
948 set $tem = (struct Lisp_String *) $ptr |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
949 set $tem = (char *) $tem->data |
67925
477140fdc860
Tell users not to worry about GDB warnings that some functions do not
Eli Zaretskii <eliz@gnu.org>
parents:
67633
diff
changeset
|
950 |
68297
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
951 # Don't let abort actually run, as it will make stdio stop working and |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
952 # therefore the `pr' command above as well. |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
953 if $tem[0] == 'w' && $tem[1] == 'i' && $tem[2] == 'n' && $tem[3] == 'd' |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
954 # The windows-nt build replaces abort with its own function. |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
955 break w32_abort |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
956 else |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
957 break abort |
9b3bace59343
Don't dereference Vsystem_type's Lisp_Symbol pointer if it is NULL.
Eli Zaretskii <eliz@gnu.org>
parents:
68074
diff
changeset
|
958 end |
68047 | 959 end |
567 | 960 |
68047 | 961 # x_error_quitter is defined only on X. But window-system is set up |
962 # only at run time, during Emacs startup, so we need to defer setting | |
963 # the breakpoint. init_sys_modes is the first function called on | |
964 # every platform after init_display, where window-system is set. | |
965 tbreak init_sys_modes | |
966 commands | |
967 silent | |
68024
75f9e1ee6fa6
Avoid a warning message when x_error_quitter is not compiled in.
Eli Zaretskii <eliz@gnu.org>
parents:
68007
diff
changeset
|
968 xgetptr Vwindow_system |
75f9e1ee6fa6
Avoid a warning message when x_error_quitter is not compiled in.
Eli Zaretskii <eliz@gnu.org>
parents:
68007
diff
changeset
|
969 set $tem = (struct Lisp_Symbol *) $ptr |
75f9e1ee6fa6
Avoid a warning message when x_error_quitter is not compiled in.
Eli Zaretskii <eliz@gnu.org>
parents:
68007
diff
changeset
|
970 xgetptr $tem->xname |
75f9e1ee6fa6
Avoid a warning message when x_error_quitter is not compiled in.
Eli Zaretskii <eliz@gnu.org>
parents:
68007
diff
changeset
|
971 set $tem = (struct Lisp_String *) $ptr |
75f9e1ee6fa6
Avoid a warning message when x_error_quitter is not compiled in.
Eli Zaretskii <eliz@gnu.org>
parents:
68007
diff
changeset
|
972 set $tem = (char *) $tem->data |
68047 | 973 # If we are running in synchronous mode, we want a chance to look |
974 # around before Emacs exits. Perhaps we should put the break | |
975 # somewhere else instead... | |
68024
75f9e1ee6fa6
Avoid a warning message when x_error_quitter is not compiled in.
Eli Zaretskii <eliz@gnu.org>
parents:
68007
diff
changeset
|
976 if $tem[0] == 'x' && $tem[1] == '\0' |
68052 | 977 break x_error_quitter |
68024
75f9e1ee6fa6
Avoid a warning message when x_error_quitter is not compiled in.
Eli Zaretskii <eliz@gnu.org>
parents:
68007
diff
changeset
|
978 end |
68047 | 979 continue |
68007
0b578812ab24
Undo last change. Instead, look at Vsystem_type to
Kim F. Storm <storm@cua.dk>
parents:
67925
diff
changeset
|
980 end |
52401 | 981 # arch-tag: 12f34321-7bfa-4240-b77a-3cd3a1696dfe |