* source.c (print_source_lines_base): Print for TUI also "fullname".
* tui/tui-data.c (init_content_element): Change tui_locator_element
field to full_name.
* tui/tui-data.h (struct tui_locator_element): Likewise.
* tui/tui-disasm.c (tui_show_disassem_and_update_source): Rename
tui_update_locator_filename calls to tui_update_locator_fullname.
Replace symtab->filename refererence by symtab_to_fullname call.
* tui/tui-out.c (tui_field_string): Check for "fullname" now.
* tui/tui-source.c (tui_set_source_content): Change tui_locator_element
field to full_name. Replace symtab->filename refererence by
symtab_to_fullname call.
(tui_show_symtab_source): Rename parameter to fullname. Change
tui_locator_element field to full_name.
* tui/tui-stack.c: Include source.h.
(tui_set_locator_filename): Rename the declaration to ...
(tui_set_locator_fullname): ... here. Rename its parameter to
fullname, updates its comment.
(tui_set_locator_info): Rename its parameter to fullname.
(tui_set_locator_filename): Rename the definition to ...
(tui_set_locator_fullname): ... here. Rename its parameter to
fullname, updates its comment. Change tui_locator_element field to
full_name.
(tui_set_locator_info): Rename its parameter to fullname.
(tui_set_locator_info): Rename callee to tui_set_locator_fullname.
(tui_update_locator_filename): Rename to ...
(tui_update_locator_fullname): ... here. Rename callee to
tui_set_locator_fullname.
(tui_show_frame_info): Replace symtab->filename refererence by
symtab_to_fullname call.
* tui/tui-stack.h (tui_update_locator_filename): Rename to ...
(tui_update_locator_fullname): ... here.
* tui/tui-winsource.c (tui_display_main): Rename the callee to
tui_update_locator_fullname. Replace symtab->filename refererence by
symtab_to_fullname call.
* tui/tui.c (tui_show_source): Rename its parameter to fullname.
Rename the callee to tui_update_locator_fullname.
* tui/tui.h (tui_show_source): Rename its parameter to fullname.
+2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * source.c (print_source_lines_base): Print for TUI also "fullname".
+ * tui/tui-data.c (init_content_element): Change tui_locator_element
+ field to full_name.
+ * tui/tui-data.h (struct tui_locator_element): Likewise.
+ * tui/tui-disasm.c (tui_show_disassem_and_update_source): Rename
+ tui_update_locator_filename calls to tui_update_locator_fullname.
+ Replace symtab->filename refererence by symtab_to_fullname call.
+ * tui/tui-out.c (tui_field_string): Check for "fullname" now.
+ * tui/tui-source.c (tui_set_source_content): Change tui_locator_element
+ field to full_name. Replace symtab->filename refererence by
+ symtab_to_fullname call.
+ (tui_show_symtab_source): Rename parameter to fullname. Change
+ tui_locator_element field to full_name.
+ * tui/tui-stack.c: Include source.h.
+ (tui_set_locator_filename): Rename the declaration to ...
+ (tui_set_locator_fullname): ... here. Rename its parameter to
+ fullname, updates its comment.
+ (tui_set_locator_info): Rename its parameter to fullname.
+ (tui_set_locator_filename): Rename the definition to ...
+ (tui_set_locator_fullname): ... here. Rename its parameter to
+ fullname, updates its comment. Change tui_locator_element field to
+ full_name.
+ (tui_set_locator_info): Rename its parameter to fullname.
+ (tui_set_locator_info): Rename callee to tui_set_locator_fullname.
+ (tui_update_locator_filename): Rename to ...
+ (tui_update_locator_fullname): ... here. Rename callee to
+ tui_set_locator_fullname.
+ (tui_show_frame_info): Replace symtab->filename refererence by
+ symtab_to_fullname call.
+ * tui/tui-stack.h (tui_update_locator_filename): Rename to ...
+ (tui_update_locator_fullname): ... here.
+ * tui/tui-winsource.c (tui_display_main): Rename the callee to
+ tui_update_locator_fullname. Replace symtab->filename refererence by
+ symtab_to_fullname call.
+ * tui/tui.c (tui_show_source): Rename its parameter to fullname.
+ Rename the callee to tui_update_locator_fullname.
+ * tui/tui.h (tui_show_source): Rename its parameter to fullname.
+
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* ada-lang.c (user_select_syms): Replace symtab->filename refererences
ui_out_text (uiout, "\tin ");
ui_out_field_string (uiout, "file",
symtab_to_filename_for_display (s));
- if (ui_out_is_mi_like_p (uiout))
+
+ /* TUI expects the "fullname" field. While it is
+ !ui_out_is_mi_like_p compared to CLI it is !ui_source_list. */
+ if (ui_out_is_mi_like_p (uiout)
+ || !ui_out_test_flags (uiout, ui_source_list))
{
const char *fullname = symtab_to_fullname (s);
element->which_element.data.content = (char*) NULL;
break;
case LOCATOR_WIN:
- element->which_element.locator.file_name[0] =
+ element->which_element.locator.full_name[0] =
element->which_element.locator.proc_name[0] = (char) 0;
element->which_element.locator.line_no = 0;
element->which_element.locator.addr = 0;
/* Elements in the locator window content. */
struct tui_locator_element
{
- char file_name[MAX_LOCATOR_ELEMENT_LEN];
+ /* Resolved absolute filename as returned by symtab_to_fullname. */
+ char full_name[MAX_LOCATOR_ELEMENT_LEN];
char proc_name[MAX_LOCATOR_ELEMENT_LEN];
int line_no;
CORE_ADDR addr;
if (sal.symtab)
{
set_current_source_symtab_and_line (&sal);
- tui_update_locator_filename (sal.symtab->filename);
+ tui_update_locator_fullname (symtab_to_fullname (sal.symtab));
}
else
- tui_update_locator_filename ("?");
+ tui_update_locator_fullname ("?");
}
return;
if (data->base.suppress_output)
return;
- if (fldname && data->line > 0 && strcmp (fldname, "file") == 0)
+ if (fldname && data->line > 0 && strcmp (fldname, "fullname") == 0)
{
data->start_of_line ++;
if (data->line > 0)
cur_line_no;
element->which_element.source.is_exec_point =
(filename_cmp (((struct tui_win_element *)
- locator->content[0])->which_element.locator.file_name,
- s->filename) == 0
+ locator->content[0])->which_element.locator.full_name,
+ symtab_to_fullname (s)) == 0
&& cur_line_no == ((struct tui_win_element *)
locator->content[0])->which_element.locator.line_no);
if (c != EOF)
/* Answer whether the source is currently displayed in the source
window. */
int
-tui_source_is_displayed (const char *fname)
+tui_source_is_displayed (const char *fullname)
{
return (TUI_SRC_WIN != NULL
&& TUI_SRC_WIN->generic.content_in_use
&& (filename_cmp (((struct tui_win_element *)
(tui_locator_win_info_ptr ())->
- content[0])->which_element.locator.file_name,
- fname) == 0));
+ content[0])->which_element.locator.full_name,
+ fullname) == 0));
}
#include "top.h"
#include "gdb-demangle.h"
#include "gdb_string.h"
+#include "source.h"
#include "tui/tui.h"
#include "tui/tui-data.h"
#include "tui/tui-stack.h"
Returns a pointer to a static area holding the result. */
static char *tui_get_function_from_frame (struct frame_info *fi);
-/* Set the filename portion of the locator. */
-static void tui_set_locator_filename (const char *filename);
+/* Set the full_name portion of the locator. */
+static void tui_set_locator_fullname (const char *fullname);
/* Update the locator, with the provided arguments. */
static void tui_set_locator_info (struct gdbarch *gdbarch,
- const char *filename,
+ const char *fullname,
const char *procname,
int lineno, CORE_ADDR addr);
/* Set the filename portion of the locator. */
static void
-tui_set_locator_filename (const char *filename)
+tui_set_locator_fullname (const char *fullname)
{
struct tui_gen_win_info *locator = tui_locator_win_info_ptr ();
struct tui_locator_element *element;
if (locator->content[0] == NULL)
{
- tui_set_locator_info (NULL, filename, NULL, 0, 0);
+ tui_set_locator_info (NULL, fullname, NULL, 0, 0);
return;
}
element = &((struct tui_win_element *)
locator->content[0])->which_element.locator;
- element->file_name[0] = 0;
- strcat_to_buf (element->file_name, MAX_LOCATOR_ELEMENT_LEN, filename);
+ element->full_name[0] = 0;
+ strcat_to_buf (element->full_name, MAX_LOCATOR_ELEMENT_LEN, fullname);
}
/* Update the locator, with the provided arguments. */
static void
tui_set_locator_info (struct gdbarch *gdbarch,
- const char *filename,
+ const char *fullname,
const char *procname,
int lineno,
CORE_ADDR addr)
element->line_no = lineno;
element->addr = addr;
element->gdbarch = gdbarch;
- tui_set_locator_filename (filename);
+ tui_set_locator_fullname (fullname);
}
-/* Update only the filename portion of the locator. */
+/* Update only the full_name portion of the locator. */
void
-tui_update_locator_filename (const char *filename)
+tui_update_locator_fullname (const char *fullname)
{
- tui_set_locator_filename (filename);
+ tui_set_locator_fullname (fullname);
tui_show_locator_content ();
}
find_frame_sal (fi, &sal);
source_already_displayed = sal.symtab != 0
- && tui_source_is_displayed (sal.symtab->filename);
+ && tui_source_is_displayed (symtab_to_fullname (sal.symtab));
if (get_frame_pc_if_available (fi, &pc))
tui_set_locator_info (get_frame_arch (fi),
- sal.symtab == 0 ? "??" : sal.symtab->filename,
+ (sal.symtab == 0
+ ? "??" : symtab_to_fullname (sal.symtab)),
tui_get_function_from_frame (fi),
sal.line,
pc);
struct frame_info;
-extern void tui_update_locator_filename (const char *);
+extern void tui_update_locator_fullname (const char *);
extern void tui_show_locator_content (void);
extern void tui_show_frame_info (struct frame_info *);
tui_update_source_windows_with_addr (gdbarch, addr);
sal = find_pc_line (addr, 0);
if (sal.symtab)
- tui_update_locator_filename (sal.symtab->filename);
+ tui_update_locator_fullname (symtab_to_fullname (sal.symtab));
else
- tui_update_locator_filename ("??");
+ tui_update_locator_fullname ("??");
}
}
}
#endif
void
-tui_show_source (const char *file, int line)
+tui_show_source (const char *fullname, int line)
{
struct symtab_and_line cursal = get_current_source_symtab_and_line ();
tui_add_win_to_layout (SRC_WIN);
tui_update_source_windows_with_line (cursal.symtab, line);
- tui_update_locator_filename (file);
+ tui_update_locator_fullname (fullname);
}
void
extern int tui_active;
-extern void tui_show_source (const char *file, int line);
+extern void tui_show_source (const char *fullname, int line);
extern struct ui_out *tui_out_new (struct ui_file *stream);