* [patch, doc RFA]: New python function lookup_global_symbol
@ 2011-02-19 1:04 Doug Evans
2011-02-19 10:37 ` Eli Zaretskii
2011-02-22 22:50 ` Tom Tromey
0 siblings, 2 replies; 7+ messages in thread
From: Doug Evans @ 2011-02-19 1:04 UTC (permalink / raw)
To: gdb-patches
Hi.
I couldn't figure out how to lookup up a global symbol without
having a running program and without knowing the block it is in.
Plus lookup_symbol already has a specified behaviour when the
`block' argument is elided: use the current frame.
So it seemed best to add a new function.
If there's an existing way to lookup a symbol without requiring
a running program, please let me know ... I'll at least improve
the docs ... :-)
Otherwise I will check this in next week pending doc RFA.
2011-02-18 Doug Evans <dje@google.com>
Add gdb.lookup_global_symbol python function.
* NEWS: Add entry.
* python/py-symbol.c (gdbpy_lookup_global_symbol): New function.
* python/python-internal.h (gdbpy_lookup_global_symbol): Declare it.
* python/python.c (GdbMethods): Add entry for lookup_global_symbol.
doc/
* gdb.texinfo (Symbols In Python): Document lookup_global_symbol.
Clarify behaviour of lookup_symbol when `block' argument is elided.
testsuite/
* gdb.python/py-symbol.exp: Test lookup_global_symbol.
Index: NEWS
===================================================================
RCS file: /cvs/src/src/gdb/NEWS,v
retrieving revision 1.426
diff -u -p -r1.426 NEWS
--- NEWS 15 Feb 2011 21:17:52 -0000 1.426
+++ NEWS 18 Feb 2011 23:48:45 -0000
@@ -38,6 +38,8 @@
* Python scripting
+ ** New function gdb.lookup_global_symbol looks up a global symbol.
+
** GDB values in Python are now callable if the value represents a
function. For example, if 'some_value' represents a function that
takes two integer parameters and returns a value, you can call
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.800
diff -u -p -r1.800 gdb.texinfo
--- doc/gdb.texinfo 15 Feb 2011 21:17:52 -0000 1.800
+++ doc/gdb.texinfo 18 Feb 2011 23:48:45 -0000
@@ -22831,12 +22831,24 @@ arguments.
@var{name} is the name of the symbol. It must be a string. The
optional @var{block} argument restricts the search to symbols visible
in that @var{block}. The @var{block} argument must be a
-@code{gdb.Block} object. The optional @var{domain} argument restricts
+@code{gdb.Block} object. If elided, the block for the current frame
+is used. The optional @var{domain} argument restricts
the search to the domain type. The @var{domain} argument must be a
domain constant defined in the @code{gdb} module and described later
in this chapter.
@end defun
+@findex gdb.lookup_global_symbol
+@defun lookup_symbol name [domain]
+This function searches for a global symbol by name.
+The search scope can be restricted to by the domain argument.
+
+@var{name} is the name of the symbol. It must be a string.
+The optional @var{domain} argument restricts the search to the domain type.
+The @var{domain} argument must be a domain constant defined in the @code{gdb}
+module and described later in this chapter.
+@end defun
+
A @code{gdb.Symbol} object has the following attributes:
@table @code
Index: python/py-symbol.c
===================================================================
RCS file: /cvs/src/src/gdb/python/py-symbol.c,v
retrieving revision 1.3
diff -u -p -r1.3 py-symbol.c
--- python/py-symbol.c 6 Jan 2011 00:57:04 -0000 1.3
+++ python/py-symbol.c 18 Feb 2011 23:48:45 -0000
@@ -236,6 +236,7 @@ sympy_dealloc (PyObject *obj)
A tuple with 2 elements is always returned. The first is the symbol
object or None, the second is a boolean with the value of
is_a_field_of_this (see comment in lookup_symbol_in_language). */
+
PyObject *
gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw)
{
@@ -294,6 +295,39 @@ gdbpy_lookup_symbol (PyObject *self, PyO
return ret_tuple;
}
+/* Implementation of
+ gdb.lookup_global_symbol (name [, domain]) -> symbol or None. */
+
+PyObject *
+gdbpy_lookup_global_symbol (PyObject *self, PyObject *args, PyObject *kw)
+{
+ int domain = VAR_DOMAIN;
+ const char *name;
+ static char *keywords[] = { "name", "domain", NULL };
+ struct symbol *symbol;
+ PyObject *sym_obj;
+
+ if (! PyArg_ParseTupleAndKeywords (args, kw, "s|i", keywords, &name,
+ &domain))
+ return NULL;
+
+ symbol = lookup_symbol_global (name, NULL, domain);
+
+ if (symbol)
+ {
+ sym_obj = symbol_to_symbol_object (symbol);
+ if (!sym_obj)
+ return NULL;
+ }
+ else
+ {
+ sym_obj = Py_None;
+ Py_INCREF (Py_None);
+ }
+
+ return sym_obj;
+}
+
/* This function is called when an objfile is about to be freed.
Invalidate the symbol as further actions on the symbol would result
in bad data. All access to obj->symbol should be gated by
Index: python/python-internal.h
===================================================================
RCS file: /cvs/src/src/gdb/python/python-internal.h,v
retrieving revision 1.42
diff -u -p -r1.42 python-internal.h
--- python/python-internal.h 4 Feb 2011 21:54:16 -0000 1.42
+++ python/python-internal.h 18 Feb 2011 23:48:45 -0000
@@ -136,6 +136,8 @@ PyObject *gdbpy_history (PyObject *self,
PyObject *gdbpy_breakpoints (PyObject *, PyObject *);
PyObject *gdbpy_frame_stop_reason_string (PyObject *, PyObject *);
PyObject *gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw);
+PyObject *gdbpy_lookup_global_symbol (PyObject *self, PyObject *args,
+ PyObject *kw);
PyObject *gdbpy_newest_frame (PyObject *self, PyObject *args);
PyObject *gdbpy_selected_frame (PyObject *self, PyObject *args);
PyObject *gdbpy_block_for_pc (PyObject *self, PyObject *args);
Index: python/python.c
===================================================================
RCS file: /cvs/src/src/gdb/python/python.c,v
retrieving revision 1.59
diff -u -p -r1.59 python.c
--- python/python.c 4 Feb 2011 21:54:16 -0000 1.59
+++ python/python.c 18 Feb 2011 23:48:45 -0000
@@ -1145,6 +1145,10 @@ Return a Type corresponding to the given
Return a tuple with the symbol corresponding to the given name (or None) and\n\
a boolean indicating if name is a field of the current implied argument\n\
`this' (when the current language is object-oriented)." },
+ { "lookup_global_symbol", (PyCFunction) gdbpy_lookup_global_symbol,
+ METH_VARARGS | METH_KEYWORDS,
+ "lookup_global_symbol (name [, domain]) -> symbol\n\
+Return the symbol corresponding to the given name (or None)." },
{ "block_for_pc", gdbpy_block_for_pc, METH_VARARGS,
"Return the block containing the given pc value, or None." },
{ "solib_name", gdbpy_solib_name, METH_VARARGS,
Index: testsuite/gdb.python/py-symbol.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.python/py-symbol.exp,v
retrieving revision 1.4
diff -u -p -r1.4 py-symbol.exp
--- testsuite/gdb.python/py-symbol.exp 1 Jan 2011 15:33:49 -0000 1.4
+++ testsuite/gdb.python/py-symbol.exp 18 Feb 2011 23:48:45 -0000
@@ -39,6 +39,13 @@ gdb_load ${binfile}
# Skip all tests if Python scripting is not enabled.
if { [skip_python_tests] } { continue }
+# Test looking up a global symbol before we runto_main as this is the
+# point where we don't have a current frame, and we don't want to
+# require one.
+gdb_py_test_silent_cmd "python main_func = gdb.lookup_global_symbol(\"main\")" "Lookup main" 1
+gdb_test "python print main_func.is_function" "True" "Test main_func.is_function"
+gdb_test "python print gdb.lookup_global_symbol(\"junk\")" "None" "Test lookup_global_symbol(\"junk\")"
+
if ![runto_main] then {
fail "Can't run to main"
return 0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch, doc RFA]: New python function lookup_global_symbol
2011-02-19 1:04 [patch, doc RFA]: New python function lookup_global_symbol Doug Evans
@ 2011-02-19 10:37 ` Eli Zaretskii
2011-02-22 23:04 ` Doug Evans
2011-02-22 22:50 ` Tom Tromey
1 sibling, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2011-02-19 10:37 UTC (permalink / raw)
To: Doug Evans; +Cc: gdb-patches
> Date: Fri, 18 Feb 2011 15:59:45 -0800 (PST)
> From: dje@google.com (Doug Evans)
>
> --- NEWS 15 Feb 2011 21:17:52 -0000 1.426
> +++ NEWS 18 Feb 2011 23:48:45 -0000
> @@ -38,6 +38,8 @@
>
> * Python scripting
>
> + ** New function gdb.lookup_global_symbol looks up a global symbol.
> +
This part is okay.
> -@code{gdb.Block} object. The optional @var{domain} argument restricts
> +@code{gdb.Block} object. If elided, the block for the current frame
^^^^^^
Please use "omitted" instead, it will be understood by more readers
whose first language is not English. We use "omitted" in this context
elsewhere in the manual.
> +@defun lookup_symbol name [domain]
@defun renders its arguments in @code and @var, but you want the
brackets in the normal roman typeface. So this should be
@defun lookup_symbol name @r{[}domain@r{]}
> +This function searches for a global symbol by name.
> +The search scope can be restricted to by the domain argument.
> +
> +@var{name} is the name of the symbol. It must be a string.
> +The optional @var{domain} argument restricts the search to the domain type.
> +The @var{domain} argument must be a domain constant defined in the @code{gdb}
> +module and described later in this chapter.
Should we tell what happens if the symbol is not found?
Okay with those changes.
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch, doc RFA]: New python function lookup_global_symbol
2011-02-19 1:04 [patch, doc RFA]: New python function lookup_global_symbol Doug Evans
2011-02-19 10:37 ` Eli Zaretskii
@ 2011-02-22 22:50 ` Tom Tromey
1 sibling, 0 replies; 7+ messages in thread
From: Tom Tromey @ 2011-02-22 22:50 UTC (permalink / raw)
To: Doug Evans; +Cc: gdb-patches
>>>>> "Doug" == Doug Evans <dje@google.com> writes:
Doug> I couldn't figure out how to lookup up a global symbol without
Doug> having a running program and without knowing the block it is in.
Doug> Plus lookup_symbol already has a specified behaviour when the
Doug> `block' argument is elided: use the current frame.
Doug> So it seemed best to add a new function.
FWIW, it seems fine to me.
Tom
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch, doc RFA]: New python function lookup_global_symbol
2011-02-19 10:37 ` Eli Zaretskii
@ 2011-02-22 23:04 ` Doug Evans
2011-02-23 4:17 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Doug Evans @ 2011-02-22 23:04 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 1570 bytes --]
On Sat, Feb 19, 2011 at 12:21 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Fri, 18 Feb 2011 15:59:45 -0800 (PST)
>> From: dje@google.com (Doug Evans)
>>
>> --- NEWS 15 Feb 2011 21:17:52 -0000 1.426
>> +++ NEWS 18 Feb 2011 23:48:45 -0000
>> @@ -38,6 +38,8 @@
>>
>> * Python scripting
>>
>> + ** New function gdb.lookup_global_symbol looks up a global symbol.
>> +
>
> This part is okay.
>
>> -@code{gdb.Block} object. The optional @var{domain} argument restricts
>> +@code{gdb.Block} object. If elided, the block for the current frame
> ^^^^^^
> Please use "omitted" instead, it will be understood by more readers
> whose first language is not English. We use "omitted" in this context
> elsewhere in the manual.
>
>> +@defun lookup_symbol name [domain]
>
> @defun renders its arguments in @code and @var, but you want the
> brackets in the normal roman typeface. So this should be
>
> @defun lookup_symbol name @r{[}domain@r{]}
>
>> +This function searches for a global symbol by name.
>> +The search scope can be restricted to by the domain argument.
>> +
>> +@var{name} is the name of the symbol. It must be a string.
>> +The optional @var{domain} argument restricts the search to the domain type.
>> +The @var{domain} argument must be a domain constant defined in the @code{gdb}
>> +module and described later in this chapter.
>
> Should we tell what happens if the symbol is not found?
>
> Okay with those changes.
>
> Thanks.
Thanks.
Here is what I checked in.
[-- Attachment #2: gdb-110222-lookup-global-symbol.patch.txt --]
[-- Type: text/plain, Size: 7919 bytes --]
2011-02-18 Doug Evans <dje@google.com>
Add gdb.lookup_global_symbol python function.
* NEWS: Add entry.
* python/py-symbol.c (gdbpy_lookup_global_symbol): New function.
* python/python-internal.h (gdbpy_lookup_global_symbol): Declare it.
* python/python.c (GdbMethods): Add entry for lookup_global_symbol.
doc/
* gdb.texinfo (Symbols In Python): Document lookup_global_symbol.
Clarify behaviour of lookup_symbol when `block' argument is omitted,
add description of result, fix @defun formatting.
testsuite/
* gdb.python/py-symbol.exp: Test lookup_global_symbol.
Index: NEWS
===================================================================
RCS file: /cvs/src/src/gdb/NEWS,v
retrieving revision 1.426
diff -u -p -r1.426 NEWS
--- NEWS 15 Feb 2011 21:17:52 -0000 1.426
+++ NEWS 22 Feb 2011 22:38:34 -0000
@@ -38,6 +38,8 @@
* Python scripting
+ ** New function gdb.lookup_global_symbol looks up a global symbol.
+
** GDB values in Python are now callable if the value represents a
function. For example, if 'some_value' represents a function that
takes two integer parameters and returns a value, you can call
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.801
diff -u -p -r1.801 gdb.texinfo
--- doc/gdb.texinfo 21 Feb 2011 08:40:27 -0000 1.801
+++ doc/gdb.texinfo 22 Feb 2011 22:38:35 -0000
@@ -22829,7 +22829,7 @@ The following symbol-related functions a
module:
@findex gdb.lookup_symbol
-@defun lookup_symbol name [block] [domain]
+@defun lookup_symbol name @r{[}block@r{]} @r{[}domain@r{]}
This function searches for a symbol by name. The search scope can be
restricted to the parameters defined in the optional domain and block
arguments.
@@ -22837,10 +22837,33 @@ arguments.
@var{name} is the name of the symbol. It must be a string. The
optional @var{block} argument restricts the search to symbols visible
in that @var{block}. The @var{block} argument must be a
-@code{gdb.Block} object. The optional @var{domain} argument restricts
+@code{gdb.Block} object. If omitted, the block for the current frame
+is used. The optional @var{domain} argument restricts
the search to the domain type. The @var{domain} argument must be a
domain constant defined in the @code{gdb} module and described later
in this chapter.
+
+The result is a tuple of two elements.
+The first element is a @code{gdb.Symbol} object or @code{None} if the symbol
+is not found.
+If the symbol is found, the second element is @code{True} if the symbol
+is a field of a method's object (e.g., @code{this} in @code{C++}),
+otherwise it is @code{False}.
+If the symbol is not found, the second element is @code{False}.
+@end defun
+
+@findex gdb.lookup_global_symbol
+@defun lookup_global_symbol name @r{[}domain@r{]}
+This function searches for a global symbol by name.
+The search scope can be restricted to by the domain argument.
+
+@var{name} is the name of the symbol. It must be a string.
+The optional @var{domain} argument restricts the search to the domain type.
+The @var{domain} argument must be a domain constant defined in the @code{gdb}
+module and described later in this chapter.
+
+The result is a @code{gdb.Symbol} object or @code{None} if the symbol
+is not found.
@end defun
A @code{gdb.Symbol} object has the following attributes:
Index: python/py-symbol.c
===================================================================
RCS file: /cvs/src/src/gdb/python/py-symbol.c,v
retrieving revision 1.3
diff -u -p -r1.3 py-symbol.c
--- python/py-symbol.c 6 Jan 2011 00:57:04 -0000 1.3
+++ python/py-symbol.c 22 Feb 2011 22:38:35 -0000
@@ -236,6 +236,7 @@ sympy_dealloc (PyObject *obj)
A tuple with 2 elements is always returned. The first is the symbol
object or None, the second is a boolean with the value of
is_a_field_of_this (see comment in lookup_symbol_in_language). */
+
PyObject *
gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw)
{
@@ -294,6 +295,39 @@ gdbpy_lookup_symbol (PyObject *self, PyO
return ret_tuple;
}
+/* Implementation of
+ gdb.lookup_global_symbol (name [, domain]) -> symbol or None. */
+
+PyObject *
+gdbpy_lookup_global_symbol (PyObject *self, PyObject *args, PyObject *kw)
+{
+ int domain = VAR_DOMAIN;
+ const char *name;
+ static char *keywords[] = { "name", "domain", NULL };
+ struct symbol *symbol;
+ PyObject *sym_obj;
+
+ if (! PyArg_ParseTupleAndKeywords (args, kw, "s|i", keywords, &name,
+ &domain))
+ return NULL;
+
+ symbol = lookup_symbol_global (name, NULL, domain);
+
+ if (symbol)
+ {
+ sym_obj = symbol_to_symbol_object (symbol);
+ if (!sym_obj)
+ return NULL;
+ }
+ else
+ {
+ sym_obj = Py_None;
+ Py_INCREF (Py_None);
+ }
+
+ return sym_obj;
+}
+
/* This function is called when an objfile is about to be freed.
Invalidate the symbol as further actions on the symbol would result
in bad data. All access to obj->symbol should be gated by
Index: python/python-internal.h
===================================================================
RCS file: /cvs/src/src/gdb/python/python-internal.h,v
retrieving revision 1.42
diff -u -p -r1.42 python-internal.h
--- python/python-internal.h 4 Feb 2011 21:54:16 -0000 1.42
+++ python/python-internal.h 22 Feb 2011 22:38:35 -0000
@@ -136,6 +136,8 @@ PyObject *gdbpy_history (PyObject *self,
PyObject *gdbpy_breakpoints (PyObject *, PyObject *);
PyObject *gdbpy_frame_stop_reason_string (PyObject *, PyObject *);
PyObject *gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw);
+PyObject *gdbpy_lookup_global_symbol (PyObject *self, PyObject *args,
+ PyObject *kw);
PyObject *gdbpy_newest_frame (PyObject *self, PyObject *args);
PyObject *gdbpy_selected_frame (PyObject *self, PyObject *args);
PyObject *gdbpy_block_for_pc (PyObject *self, PyObject *args);
Index: python/python.c
===================================================================
RCS file: /cvs/src/src/gdb/python/python.c,v
retrieving revision 1.59
diff -u -p -r1.59 python.c
--- python/python.c 4 Feb 2011 21:54:16 -0000 1.59
+++ python/python.c 22 Feb 2011 22:38:35 -0000
@@ -1145,6 +1145,10 @@ Return a Type corresponding to the given
Return a tuple with the symbol corresponding to the given name (or None) and\n\
a boolean indicating if name is a field of the current implied argument\n\
`this' (when the current language is object-oriented)." },
+ { "lookup_global_symbol", (PyCFunction) gdbpy_lookup_global_symbol,
+ METH_VARARGS | METH_KEYWORDS,
+ "lookup_global_symbol (name [, domain]) -> symbol\n\
+Return the symbol corresponding to the given name (or None)." },
{ "block_for_pc", gdbpy_block_for_pc, METH_VARARGS,
"Return the block containing the given pc value, or None." },
{ "solib_name", gdbpy_solib_name, METH_VARARGS,
Index: testsuite/gdb.python/py-symbol.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.python/py-symbol.exp,v
retrieving revision 1.4
diff -u -p -r1.4 py-symbol.exp
--- testsuite/gdb.python/py-symbol.exp 1 Jan 2011 15:33:49 -0000 1.4
+++ testsuite/gdb.python/py-symbol.exp 22 Feb 2011 22:38:35 -0000
@@ -39,6 +39,13 @@ gdb_load ${binfile}
# Skip all tests if Python scripting is not enabled.
if { [skip_python_tests] } { continue }
+# Test looking up a global symbol before we runto_main as this is the
+# point where we don't have a current frame, and we don't want to
+# require one.
+gdb_py_test_silent_cmd "python main_func = gdb.lookup_global_symbol(\"main\")" "Lookup main" 1
+gdb_test "python print main_func.is_function" "True" "Test main_func.is_function"
+gdb_test "python print gdb.lookup_global_symbol(\"junk\")" "None" "Test lookup_global_symbol(\"junk\")"
+
if ![runto_main] then {
fail "Can't run to main"
return 0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch, doc RFA]: New python function lookup_global_symbol
2011-02-22 23:04 ` Doug Evans
@ 2011-02-23 4:17 ` Eli Zaretskii
2011-02-24 3:51 ` Doug Evans
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2011-02-23 4:17 UTC (permalink / raw)
To: Doug Evans; +Cc: gdb-patches
> Date: Tue, 22 Feb 2011 14:50:10 -0800
> From: Doug Evans <dje@google.com>
> Cc: gdb-patches@sourceware.org
>
> Thanks.
> Here is what I checked in.
One comment about your commit:
> +is a field of a method's object (e.g., @code{this} in @code{C++}),
We use "C@t{++}" in the manual for the C++ language. Putting it all
in @code is not right, because it isn't a program symbol, and it also
looks weird in the Info output, where @code is converted to `..'
quoted string.
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch, doc RFA]: New python function lookup_global_symbol
2011-02-23 4:17 ` Eli Zaretskii
@ 2011-02-24 3:51 ` Doug Evans
2011-02-24 4:14 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Doug Evans @ 2011-02-24 3:51 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
On Tue, Feb 22, 2011 at 8:00 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Tue, 22 Feb 2011 14:50:10 -0800
>> From: Doug Evans <dje@google.com>
>> Cc: gdb-patches@sourceware.org
>>
>> Thanks.
>> Here is what I checked in.
>
> One comment about your commit:
>
>> +is a field of a method's object (e.g., @code{this} in @code{C++}),
>
> We use "C@t{++}" in the manual for the C++ language. Putting it all
> in @code is not right, because it isn't a program symbol, and it also
> looks weird in the Info output, where @code is converted to `..'
> quoted string.
Ah, right. Sorry 'bout that. Fixed.
I grepped for C++ trying to find the right way to write `C++', but of
course such a grep fails to find C@t{++}. I wonder how useful it
would be to have a section at the top of the file containing various
formatting hints.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [patch, doc RFA]: New python function lookup_global_symbol
2011-02-24 3:51 ` Doug Evans
@ 2011-02-24 4:14 ` Eli Zaretskii
0 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2011-02-24 4:14 UTC (permalink / raw)
To: Doug Evans; +Cc: gdb-patches
> Date: Wed, 23 Feb 2011 15:50:47 -0800
> From: Doug Evans <dje@google.com>
> Cc: gdb-patches@sourceware.org
>
> I wonder how useful it would be to have a section at the top of the
> file containing various formatting hints.
It would be too long, because Texinfo is a complex language. I would
be hard-pressed to come up with a short enough list of hints that
would still be useful by covering enough turf.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-02-24 3:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-19 1:04 [patch, doc RFA]: New python function lookup_global_symbol Doug Evans
2011-02-19 10:37 ` Eli Zaretskii
2011-02-22 23:04 ` Doug Evans
2011-02-23 4:17 ` Eli Zaretskii
2011-02-24 3:51 ` Doug Evans
2011-02-24 4:14 ` Eli Zaretskii
2011-02-22 22:50 ` Tom Tromey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox