* tuiWin.c, tuiWin.h, tui.c, tui.h, tuiCommand.c: Add FSF copyright.
tuiCommand.h, tuiIO.c, tuiIO.h, tuiData.h, tuiData.c: Likewise.
tuiDataWin.c, tuiDataWin.h, tuiDisassem.c, tuiDisassem.h: Likewise.
tuiGeneralWin.c, tuiGeneralWin.h, tuiLayout.c, tuiLayout.h: Likewise.
tuiRegs.c, tuiRegs.h, tuiSource.c, tuiSource.h: Likewise.
tuiSouceWin.c, tuiSourceWin.h, tuiStack.c, tuiStack.h: Likewise.
2001-07-14 21:01:25 +02:00
|
|
|
/* TUI display source/assembly window.
|
2004-02-06 23:42:18 +01:00
|
|
|
|
2020-01-01 07:20:01 +01:00
|
|
|
Copyright (C) 1998-2020 Free Software Foundation, Inc.
|
2004-02-06 23:42:18 +01:00
|
|
|
|
* tuiWin.c, tuiWin.h, tui.c, tui.h, tuiCommand.c: Add FSF copyright.
tuiCommand.h, tuiIO.c, tuiIO.h, tuiData.h, tuiData.c: Likewise.
tuiDataWin.c, tuiDataWin.h, tuiDisassem.c, tuiDisassem.h: Likewise.
tuiGeneralWin.c, tuiGeneralWin.h, tuiLayout.c, tuiLayout.h: Likewise.
tuiRegs.c, tuiRegs.h, tuiSource.c, tuiSource.h: Likewise.
tuiSouceWin.c, tuiSourceWin.h, tuiStack.c, tuiStack.h: Likewise.
2001-07-14 21:01:25 +02:00
|
|
|
Contributed by Hewlett-Packard Company.
|
|
|
|
|
|
|
|
This file is part of GDB.
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
2007-08-23 20:08:50 +02:00
|
|
|
the Free Software Foundation; either version 3 of the License, or
|
* tuiWin.c, tuiWin.h, tui.c, tui.h, tuiCommand.c: Add FSF copyright.
tuiCommand.h, tuiIO.c, tuiIO.h, tuiData.h, tuiData.c: Likewise.
tuiDataWin.c, tuiDataWin.h, tuiDisassem.c, tuiDisassem.h: Likewise.
tuiGeneralWin.c, tuiGeneralWin.h, tuiLayout.c, tuiLayout.h: Likewise.
tuiRegs.c, tuiRegs.h, tuiSource.c, tuiSource.h: Likewise.
tuiSouceWin.c, tuiSourceWin.h, tuiStack.c, tuiStack.h: Likewise.
2001-07-14 21:01:25 +02:00
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
2007-08-23 20:08:50 +02:00
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
* tuiWin.c, tuiWin.h, tui.c, tui.h, tuiCommand.c: Add FSF copyright.
tuiCommand.h, tuiIO.c, tuiIO.h, tuiData.h, tuiData.c: Likewise.
tuiDataWin.c, tuiDataWin.h, tuiDisassem.c, tuiDisassem.h: Likewise.
tuiGeneralWin.c, tuiGeneralWin.h, tuiLayout.c, tuiLayout.h: Likewise.
tuiRegs.c, tuiRegs.h, tuiSource.c, tuiSource.h: Likewise.
tuiSouceWin.c, tuiSourceWin.h, tuiStack.c, tuiStack.h: Likewise.
2001-07-14 21:01:25 +02:00
|
|
|
|
2019-01-27 20:51:36 +01:00
|
|
|
#ifndef TUI_TUI_WINSOURCE_H
|
|
|
|
#define TUI_TUI_WINSOURCE_H
|
2004-02-06 23:42:18 +01:00
|
|
|
|
|
|
|
#include "tui/tui-data.h"
|
2019-07-06 23:04:12 +02:00
|
|
|
#include "symtab.h"
|
2004-02-06 23:42:18 +01:00
|
|
|
|
Move code to tui-winsource.h
This moves code related to the execution info window from tui-data.h
to tui-winsource.h. It fits better here because the execution info is
conceptually part of the source and disassembly windows, and
tui-winsource.h is where this common class lives.
gdb/ChangeLog
2019-08-13 Tom Tromey <tom@tromey.com>
* tui/tui-data.h (enum tui_bp_flag, tui_bp_flags, struct tui_source_element)
(TUI_BP_HIT_POS, TUI_BP_BREAK_POS, TUI_EXEC_POS)
(TUI_EXECINFO_SIZE, tui_exec_info_content): Move ...
* tui/tui-winsource.h (enum tui_bp_flag, tui_bp_flags, struct
tui_source_element, TUI_BP_HIT_POS, TUI_BP_BREAK_POS)
(TUI_EXEC_POS, TUI_EXECINFO_SIZE, tui_exec_info_content):
... here.
2019-07-06 01:32:19 +02:00
|
|
|
/* Flags to tell what kind of breakpoint is at current line. */
|
|
|
|
enum tui_bp_flag
|
|
|
|
{
|
|
|
|
TUI_BP_ENABLED = 0x01,
|
|
|
|
TUI_BP_DISABLED = 0x02,
|
|
|
|
TUI_BP_HIT = 0x04,
|
|
|
|
TUI_BP_CONDITIONAL = 0x08,
|
|
|
|
TUI_BP_HARDWARE = 0x10
|
|
|
|
};
|
|
|
|
|
|
|
|
DEF_ENUM_FLAGS_TYPE (enum tui_bp_flag, tui_bp_flags);
|
|
|
|
|
|
|
|
/* Position of breakpoint markers in the exec info string. */
|
|
|
|
#define TUI_BP_HIT_POS 0
|
|
|
|
#define TUI_BP_BREAK_POS 1
|
|
|
|
#define TUI_EXEC_POS 2
|
|
|
|
#define TUI_EXECINFO_SIZE 4
|
|
|
|
|
|
|
|
/* Elements in the Source/Disassembly Window. */
|
|
|
|
struct tui_source_element
|
|
|
|
{
|
|
|
|
tui_source_element ()
|
|
|
|
{
|
|
|
|
line_or_addr.loa = LOA_LINE;
|
|
|
|
line_or_addr.u.line_no = 0;
|
|
|
|
}
|
|
|
|
|
2019-07-06 23:52:13 +02:00
|
|
|
DISABLE_COPY_AND_ASSIGN (tui_source_element);
|
|
|
|
|
|
|
|
tui_source_element (tui_source_element &&other)
|
2019-07-23 23:34:40 +02:00
|
|
|
: line (std::move (other.line)),
|
2019-07-06 23:52:13 +02:00
|
|
|
line_or_addr (other.line_or_addr),
|
|
|
|
is_exec_point (other.is_exec_point),
|
|
|
|
break_mode (other.break_mode)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2019-10-21 18:58:08 +02:00
|
|
|
std::string line;
|
Move code to tui-winsource.h
This moves code related to the execution info window from tui-data.h
to tui-winsource.h. It fits better here because the execution info is
conceptually part of the source and disassembly windows, and
tui-winsource.h is where this common class lives.
gdb/ChangeLog
2019-08-13 Tom Tromey <tom@tromey.com>
* tui/tui-data.h (enum tui_bp_flag, tui_bp_flags, struct tui_source_element)
(TUI_BP_HIT_POS, TUI_BP_BREAK_POS, TUI_EXEC_POS)
(TUI_EXECINFO_SIZE, tui_exec_info_content): Move ...
* tui/tui-winsource.h (enum tui_bp_flag, tui_bp_flags, struct
tui_source_element, TUI_BP_HIT_POS, TUI_BP_BREAK_POS)
(TUI_EXEC_POS, TUI_EXECINFO_SIZE, tui_exec_info_content):
... here.
2019-07-06 01:32:19 +02:00
|
|
|
struct tui_line_or_address line_or_addr;
|
|
|
|
bool is_exec_point = false;
|
|
|
|
tui_bp_flags break_mode = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2019-07-03 01:07:02 +02:00
|
|
|
/* The base class for all source-like windows, namely the source and
|
|
|
|
disassembly windows. */
|
|
|
|
|
|
|
|
struct tui_source_window_base : public tui_win_info
|
|
|
|
{
|
|
|
|
protected:
|
2020-02-22 19:48:26 +01:00
|
|
|
tui_source_window_base ();
|
2019-10-21 19:21:14 +02:00
|
|
|
~tui_source_window_base ();
|
2019-07-23 23:37:18 +02:00
|
|
|
|
2019-07-03 01:07:02 +02:00
|
|
|
DISABLE_COPY_AND_ASSIGN (tui_source_window_base);
|
|
|
|
|
|
|
|
void do_scroll_horizontal (int num_to_scroll) override;
|
|
|
|
|
2019-07-06 23:57:53 +02:00
|
|
|
/* Erase the content and display STRING. */
|
|
|
|
void do_erase_source_content (const char *string);
|
|
|
|
|
2019-07-10 01:29:13 +02:00
|
|
|
void rerender () override;
|
|
|
|
|
2019-11-13 01:26:50 +01:00
|
|
|
virtual bool set_contents (struct gdbarch *gdbarch,
|
Use symtab_and_line when updating TUI windows
This changes a few TUI source window methods to take a symtab_and_line
rather than separate symtab and tui_line_or_address parameters. A
symtab_and_line already incorporates the same information, so this
seemed simpler. Also, it helps avoid the problem that the source and
disassembly windows need different information -- both forms are
present in the SAL.
gdb/ChangeLog
2019-12-20 Tom Tromey <tom@tromey.com>
* tui/tui-winsource.h (struct tui_source_window_base)
<set_contents, update_source_window_as_is, update_source_window>:
Take a sal, not a separate symtab and tui_line_or_address.
* tui/tui-winsource.c (tui_source_window_base::update_source_window)
(tui_source_window_base::update_source_window_as_is): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_update_source_windows_with_addr)
(tui_update_source_windows_with_line)
(tui_source_window_base::rerender)
(tui_source_window_base::refill): Update.
* tui/tui-source.h (struct tui_source_window) <set_contents>: Take
a sal, not a separate symtab and tui_line_or_address.
* tui/tui-source.c (tui_source_window::set_contents): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_source_window::maybe_update): Update.
* tui/tui-disasm.h (struct tui_disasm_window) <set_contents>: Take
a sal, not a separate symtab and tui_line_or_address.
* tui/tui-disasm.c (tui_disasm_window::set_contents): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_disasm_window::do_scroll_vertical)
(tui_disasm_window::maybe_update): Update.
Change-Id: I6974a03589930a0f910c657ef50b7f6f7397c87d
2019-11-13 01:56:42 +01:00
|
|
|
const struct symtab_and_line &sal) = 0;
|
2019-07-12 02:42:20 +02:00
|
|
|
|
2020-02-22 19:48:26 +01:00
|
|
|
/* Redraw the complete line of a source or disassembly window. */
|
|
|
|
void show_source_line (int lineno);
|
|
|
|
|
|
|
|
/* Used for horizontal scroll. */
|
|
|
|
int m_horizontal_offset = 0;
|
|
|
|
struct tui_line_or_address m_start_line_or_addr;
|
|
|
|
|
|
|
|
/* Architecture associated with code at this location. */
|
|
|
|
struct gdbarch *m_gdbarch = nullptr;
|
|
|
|
|
|
|
|
std::vector<tui_source_element> m_content;
|
|
|
|
|
2019-07-03 01:07:02 +02:00
|
|
|
public:
|
|
|
|
|
|
|
|
/* Refill the source window's source cache and update it. If this
|
|
|
|
is a disassembly window, then just update it. */
|
|
|
|
void refill ();
|
|
|
|
|
|
|
|
/* Set the location of the execution point. */
|
|
|
|
void set_is_exec_point_at (struct tui_line_or_address l);
|
|
|
|
|
|
|
|
void update_tab_width () override;
|
|
|
|
|
|
|
|
virtual bool location_matches_p (struct bp_location *loc, int line_no) = 0;
|
|
|
|
|
2019-07-06 01:24:07 +02:00
|
|
|
void update_exec_info ();
|
2019-07-06 01:22:05 +02:00
|
|
|
|
2019-07-06 23:04:12 +02:00
|
|
|
/* Update the window to display the given location. Does nothing if
|
|
|
|
the location is already displayed. */
|
2019-11-13 01:08:25 +01:00
|
|
|
virtual void maybe_update (struct frame_info *fi, symtab_and_line sal) = 0;
|
2019-07-06 23:04:12 +02:00
|
|
|
|
2019-07-12 02:22:06 +02:00
|
|
|
void update_source_window_as_is (struct gdbarch *gdbarch,
|
Use symtab_and_line when updating TUI windows
This changes a few TUI source window methods to take a symtab_and_line
rather than separate symtab and tui_line_or_address parameters. A
symtab_and_line already incorporates the same information, so this
seemed simpler. Also, it helps avoid the problem that the source and
disassembly windows need different information -- both forms are
present in the SAL.
gdb/ChangeLog
2019-12-20 Tom Tromey <tom@tromey.com>
* tui/tui-winsource.h (struct tui_source_window_base)
<set_contents, update_source_window_as_is, update_source_window>:
Take a sal, not a separate symtab and tui_line_or_address.
* tui/tui-winsource.c (tui_source_window_base::update_source_window)
(tui_source_window_base::update_source_window_as_is): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_update_source_windows_with_addr)
(tui_update_source_windows_with_line)
(tui_source_window_base::rerender)
(tui_source_window_base::refill): Update.
* tui/tui-source.h (struct tui_source_window) <set_contents>: Take
a sal, not a separate symtab and tui_line_or_address.
* tui/tui-source.c (tui_source_window::set_contents): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_source_window::maybe_update): Update.
* tui/tui-disasm.h (struct tui_disasm_window) <set_contents>: Take
a sal, not a separate symtab and tui_line_or_address.
* tui/tui-disasm.c (tui_disasm_window::set_contents): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_disasm_window::do_scroll_vertical)
(tui_disasm_window::maybe_update): Update.
Change-Id: I6974a03589930a0f910c657ef50b7f6f7397c87d
2019-11-13 01:56:42 +01:00
|
|
|
const struct symtab_and_line &sal);
|
2019-07-12 02:24:07 +02:00
|
|
|
void update_source_window (struct gdbarch *gdbarch,
|
Use symtab_and_line when updating TUI windows
This changes a few TUI source window methods to take a symtab_and_line
rather than separate symtab and tui_line_or_address parameters. A
symtab_and_line already incorporates the same information, so this
seemed simpler. Also, it helps avoid the problem that the source and
disassembly windows need different information -- both forms are
present in the SAL.
gdb/ChangeLog
2019-12-20 Tom Tromey <tom@tromey.com>
* tui/tui-winsource.h (struct tui_source_window_base)
<set_contents, update_source_window_as_is, update_source_window>:
Take a sal, not a separate symtab and tui_line_or_address.
* tui/tui-winsource.c (tui_source_window_base::update_source_window)
(tui_source_window_base::update_source_window_as_is): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_update_source_windows_with_addr)
(tui_update_source_windows_with_line)
(tui_source_window_base::rerender)
(tui_source_window_base::refill): Update.
* tui/tui-source.h (struct tui_source_window) <set_contents>: Take
a sal, not a separate symtab and tui_line_or_address.
* tui/tui-source.c (tui_source_window::set_contents): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_source_window::maybe_update): Update.
* tui/tui-disasm.h (struct tui_disasm_window) <set_contents>: Take
a sal, not a separate symtab and tui_line_or_address.
* tui/tui-disasm.c (tui_disasm_window::set_contents): Take a sal,
not a separate symtab and tui_line_or_address.
(tui_disasm_window::do_scroll_vertical)
(tui_disasm_window::maybe_update): Update.
Change-Id: I6974a03589930a0f910c657ef50b7f6f7397c87d
2019-11-13 01:56:42 +01:00
|
|
|
const struct symtab_and_line &sal);
|
2019-07-12 02:22:06 +02:00
|
|
|
|
2019-07-12 02:27:02 +02:00
|
|
|
/* Scan the source window and the breakpoints to update the
|
|
|
|
break_mode information for each line. Returns true if something
|
|
|
|
changed and the execution window must be refreshed. See
|
|
|
|
tui_update_all_breakpoint_info for a description of
|
|
|
|
BEING_DELETED. */
|
|
|
|
bool update_breakpoint_info (struct breakpoint *being_deleted,
|
|
|
|
bool current_only);
|
|
|
|
|
2019-07-06 23:57:53 +02:00
|
|
|
/* Erase the source content. */
|
|
|
|
virtual void erase_source_content () = 0;
|
|
|
|
|
2020-02-22 19:48:26 +01:00
|
|
|
/* Return the start address and gdbarch. */
|
|
|
|
virtual void display_start_addr (struct gdbarch **gdbarch_p,
|
|
|
|
CORE_ADDR *addr_p) = 0;
|
2019-10-21 19:21:14 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
void show_source_content ();
|
|
|
|
|
|
|
|
/* Called when the user "set style enabled" setting is changed. */
|
|
|
|
void style_changed ();
|
|
|
|
|
|
|
|
/* A token used to register and unregister an observer. */
|
|
|
|
gdb::observers::token m_observable;
|
2019-07-03 01:07:02 +02:00
|
|
|
};
|
1999-04-16 03:35:26 +02:00
|
|
|
|
2019-07-07 05:19:45 +02:00
|
|
|
|
|
|
|
/* A wrapper for a TUI window iterator that only iterates over source
|
|
|
|
windows. */
|
|
|
|
|
|
|
|
struct tui_source_window_iterator
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
2020-02-22 19:48:26 +01:00
|
|
|
typedef std::vector<tui_win_info *>::iterator inner_iterator;
|
|
|
|
|
2019-07-07 05:19:45 +02:00
|
|
|
typedef tui_source_window_iterator self_type;
|
|
|
|
typedef struct tui_source_window_base *value_type;
|
|
|
|
typedef struct tui_source_window_base *&reference;
|
|
|
|
typedef struct tui_source_window_base **pointer;
|
|
|
|
typedef std::forward_iterator_tag iterator_category;
|
|
|
|
typedef int difference_type;
|
|
|
|
|
2020-02-22 19:48:26 +01:00
|
|
|
explicit tui_source_window_iterator (const inner_iterator &it,
|
|
|
|
const inner_iterator &end)
|
|
|
|
: m_iter (it),
|
|
|
|
m_end (end)
|
2019-07-07 05:19:45 +02:00
|
|
|
{
|
|
|
|
advance ();
|
|
|
|
}
|
|
|
|
|
2020-02-22 19:48:26 +01:00
|
|
|
explicit tui_source_window_iterator (const inner_iterator &it)
|
|
|
|
: m_iter (it)
|
2019-07-07 05:19:45 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
bool operator!= (const self_type &other) const
|
|
|
|
{
|
|
|
|
return m_iter != other.m_iter;
|
|
|
|
}
|
|
|
|
|
|
|
|
value_type operator* () const
|
|
|
|
{
|
2020-02-22 19:48:26 +01:00
|
|
|
return dynamic_cast<tui_source_window_base *> (*m_iter);
|
2019-07-07 05:19:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
self_type &operator++ ()
|
|
|
|
{
|
|
|
|
++m_iter;
|
|
|
|
advance ();
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
void advance ()
|
|
|
|
{
|
2020-02-22 19:48:26 +01:00
|
|
|
while (m_iter != m_end
|
|
|
|
&& dynamic_cast<tui_source_window_base *> (*m_iter) == nullptr)
|
2019-07-07 05:19:45 +02:00
|
|
|
++m_iter;
|
|
|
|
}
|
|
|
|
|
2020-02-22 19:48:26 +01:00
|
|
|
inner_iterator m_iter;
|
|
|
|
inner_iterator m_end;
|
2019-07-07 05:19:45 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
/* A range adapter for source windows. */
|
|
|
|
|
|
|
|
struct tui_source_windows
|
|
|
|
{
|
|
|
|
tui_source_window_iterator begin () const
|
|
|
|
{
|
2020-02-22 19:48:26 +01:00
|
|
|
return tui_source_window_iterator (tui_windows.begin (),
|
|
|
|
tui_windows.end ());
|
2019-07-07 05:19:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
tui_source_window_iterator end () const
|
|
|
|
{
|
2020-02-22 19:48:26 +01:00
|
|
|
return tui_source_window_iterator (tui_windows.end ());
|
2019-07-07 05:19:45 +02:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2004-02-06 23:42:18 +01:00
|
|
|
/* Update the execution windows to show the active breakpoints. This
|
|
|
|
is called whenever a breakpoint is inserted, removed or has its
|
2019-06-24 05:25:46 +02:00
|
|
|
state changed. Normally BEING_DELETED is nullptr; if not nullptr,
|
|
|
|
it indicates a breakpoint that is in the process of being deleted,
|
|
|
|
and which should therefore be ignored by the update. This is done
|
|
|
|
because the relevant observer is notified before the breakpoint is
|
|
|
|
removed from the list of breakpoints. */
|
|
|
|
extern void tui_update_all_breakpoint_info (struct breakpoint *being_deleted);
|
2002-08-30 22:07:05 +02:00
|
|
|
|
2002-08-25 21:19:50 +02:00
|
|
|
/* Function to display the "main" routine. */
|
|
|
|
extern void tui_display_main (void);
|
2009-07-02 19:17:42 +02:00
|
|
|
extern void tui_update_source_windows_with_addr (struct gdbarch *, CORE_ADDR);
|
2019-11-13 02:04:01 +01:00
|
|
|
extern void tui_update_source_windows_with_line (struct symtab_and_line sal);
|
2004-02-06 23:42:18 +01:00
|
|
|
|
2019-10-21 19:21:14 +02:00
|
|
|
/* Extract some source text from PTR. LINE_NO is the line number. If
|
|
|
|
it is positive, it is printed at the start of the line. FIRST_COL
|
|
|
|
is the first column to extract, and LINE_WIDTH is the number of
|
2019-07-12 01:06:00 +02:00
|
|
|
characters to display. NDIGITS is used to format the line number
|
|
|
|
(if it is positive). If NDIGITS is greater than 0, then that many
|
|
|
|
digits are used; otherwise the line number is formatted with 6
|
|
|
|
digits and the text is aligned to the next tab stop. Returns a
|
|
|
|
string holding the desired text. PTR is updated to point to the
|
|
|
|
start of the next line. */
|
2019-10-21 19:21:14 +02:00
|
|
|
|
|
|
|
extern std::string tui_copy_source_line (const char **ptr,
|
|
|
|
int line_no, int first_col,
|
2019-07-12 01:06:00 +02:00
|
|
|
int line_width, int ndigits);
|
2019-10-21 19:21:14 +02:00
|
|
|
|
2004-02-06 23:42:18 +01:00
|
|
|
/* Constant definitions. */
|
2007-08-14 Michael Snyder <msnyder@access-company.com>
* tui-command.c, tui-data.c, tui-data.h, tui-disasm.c, tui-file.c,
tui-hooks.c, tui-interp.c, tui-io.c, tui-layout.c, tui-out.c,
tui-regs.c, tui-regs.h, tui-source.c, tui-stack.c, tui-win.c,
tui-windata.c, tui-wingeneral.c, tui-winsource.c, tui-winsource.h,
tui.c, tui.h: Comment reformatting to coding standard (capitals,
spaces after periods, etc).
2007-08-14 23:20:09 +02:00
|
|
|
#define SCROLL_THRESHOLD 2 /* Threshold for lazy scroll. */
|
1999-04-16 03:35:26 +02:00
|
|
|
|
2019-01-27 20:51:36 +01:00
|
|
|
#endif /* TUI_TUI_WINSOURCE_H */
|