rename assert to kak_assert to avoid collisions
This commit is contained in:
parent
34b8604f90
commit
5adee4a6a7
|
@ -12,17 +12,13 @@ void on_assert_failed(const char* message);
|
||||||
#define TOSTRING(X) STRINGIFY(X)
|
#define TOSTRING(X) STRINGIFY(X)
|
||||||
#define COMMA ,
|
#define COMMA ,
|
||||||
|
|
||||||
#ifdef assert
|
|
||||||
#undef assert
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef KAK_DEBUG
|
#ifdef KAK_DEBUG
|
||||||
#define assert(condition) \
|
#define kak_assert(condition) \
|
||||||
if (not (condition)) \
|
if (not (condition)) \
|
||||||
on_assert_failed("assert failed \"" #condition \
|
on_assert_failed("assert failed \"" #condition \
|
||||||
"\" at " __FILE__ ":" TOSTRING(__LINE__))
|
"\" at " __FILE__ ":" TOSTRING(__LINE__))
|
||||||
#else
|
#else
|
||||||
#define assert(condition)
|
#define kak_assert(condition)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ Buffer::Buffer(String name, Flags flags, std::vector<String> lines)
|
||||||
m_lines.reserve(lines.size());
|
m_lines.reserve(lines.size());
|
||||||
for (auto& line : lines)
|
for (auto& line : lines)
|
||||||
{
|
{
|
||||||
assert(not line.empty() and line.back() == '\n');
|
kak_assert(not line.empty() and line.back() == '\n');
|
||||||
m_lines.emplace_back(Line{ pos, std::move(line) });
|
m_lines.emplace_back(Line{ pos, std::move(line) });
|
||||||
pos += m_lines.back().length();
|
pos += m_lines.back().length();
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ Buffer::~Buffer()
|
||||||
}
|
}
|
||||||
|
|
||||||
BufferManager::instance().unregister_buffer(*this);
|
BufferManager::instance().unregister_buffer(*this);
|
||||||
assert(m_change_listeners.empty());
|
kak_assert(m_change_listeners.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
String Buffer::display_name() const
|
String Buffer::display_name() const
|
||||||
|
@ -77,7 +77,7 @@ BufferIterator Buffer::iterator_at(const BufferCoord& line_and_column,
|
||||||
|
|
||||||
ByteCount Buffer::line_length(LineCount line) const
|
ByteCount Buffer::line_length(LineCount line) const
|
||||||
{
|
{
|
||||||
assert(line < line_count());
|
kak_assert(line < line_count());
|
||||||
ByteCount end = (line < line_count() - 1) ?
|
ByteCount end = (line < line_count() - 1) ?
|
||||||
m_lines[line + 1].start : character_count();
|
m_lines[line + 1].start : character_count();
|
||||||
return end - m_lines[line].start;
|
return end - m_lines[line].start;
|
||||||
|
@ -99,7 +99,7 @@ BufferCoord Buffer::clamp(const BufferCoord& line_and_column,
|
||||||
BufferIterator Buffer::iterator_at_line_begin(LineCount line) const
|
BufferIterator Buffer::iterator_at_line_begin(LineCount line) const
|
||||||
{
|
{
|
||||||
line = Kakoune::clamp(line, 0_line, line_count()-1);
|
line = Kakoune::clamp(line, 0_line, line_count()-1);
|
||||||
assert(line_length(line) > 0);
|
kak_assert(line_length(line) > 0);
|
||||||
return BufferIterator(*this, { line, 0 });
|
return BufferIterator(*this, { line, 0 });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ BufferIterator Buffer::iterator_at_line_begin(const BufferIterator& iterator) co
|
||||||
BufferIterator Buffer::iterator_at_line_end(LineCount line) const
|
BufferIterator Buffer::iterator_at_line_end(LineCount line) const
|
||||||
{
|
{
|
||||||
line = Kakoune::clamp(line, 0_line, line_count()-1);
|
line = Kakoune::clamp(line, 0_line, line_count()-1);
|
||||||
assert(line_length(line) > 0);
|
kak_assert(line_length(line) > 0);
|
||||||
return ++BufferIterator(*this, { line, line_length(line) - 1 });
|
return ++BufferIterator(*this, { line, line_length(line) - 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,7 +197,7 @@ struct Buffer::Modification
|
||||||
{
|
{
|
||||||
case Insert: inverse_type = Erase; break;
|
case Insert: inverse_type = Erase; break;
|
||||||
case Erase: inverse_type = Insert; break;
|
case Erase: inverse_type = Insert; break;
|
||||||
default: assert(false);
|
default: kak_assert(false);
|
||||||
}
|
}
|
||||||
return {inverse_type, position, content};
|
return {inverse_type, position, content};
|
||||||
}
|
}
|
||||||
|
@ -222,7 +222,7 @@ bool Buffer::redo()
|
||||||
if (m_history_cursor == m_history.end())
|
if (m_history_cursor == m_history.end())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
assert(m_current_undo_group.empty());
|
kak_assert(m_current_undo_group.empty());
|
||||||
|
|
||||||
for (const Modification& modification : *m_history_cursor)
|
for (const Modification& modification : *m_history_cursor)
|
||||||
apply_modification(modification);
|
apply_modification(modification);
|
||||||
|
@ -235,12 +235,12 @@ void Buffer::check_invariant() const
|
||||||
{
|
{
|
||||||
#ifdef KAK_DEBUG
|
#ifdef KAK_DEBUG
|
||||||
ByteCount start = 0;
|
ByteCount start = 0;
|
||||||
assert(not m_lines.empty());
|
kak_assert(not m_lines.empty());
|
||||||
for (auto& line : m_lines)
|
for (auto& line : m_lines)
|
||||||
{
|
{
|
||||||
assert(line.start == start);
|
kak_assert(line.start == start);
|
||||||
assert(line.length() > 0);
|
kak_assert(line.length() > 0);
|
||||||
assert(line.content.back() == '\n');
|
kak_assert(line.content.back() == '\n');
|
||||||
start += line.length();
|
start += line.length();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -248,7 +248,7 @@ void Buffer::check_invariant() const
|
||||||
|
|
||||||
void Buffer::do_insert(const BufferIterator& pos, const String& content)
|
void Buffer::do_insert(const BufferIterator& pos, const String& content)
|
||||||
{
|
{
|
||||||
assert(pos.is_valid());
|
kak_assert(pos.is_valid());
|
||||||
|
|
||||||
if (content.empty())
|
if (content.empty())
|
||||||
return;
|
return;
|
||||||
|
@ -327,8 +327,8 @@ void Buffer::do_insert(const BufferIterator& pos, const String& content)
|
||||||
|
|
||||||
void Buffer::do_erase(const BufferIterator& begin, const BufferIterator& end)
|
void Buffer::do_erase(const BufferIterator& begin, const BufferIterator& end)
|
||||||
{
|
{
|
||||||
assert(begin.is_valid());
|
kak_assert(begin.is_valid());
|
||||||
assert(end.is_valid());
|
kak_assert(end.is_valid());
|
||||||
++m_timestamp;
|
++m_timestamp;
|
||||||
const ByteCount length = end - begin;
|
const ByteCount length = end - begin;
|
||||||
String prefix = m_lines[begin.line()].content.substr(0, begin.column());
|
String prefix = m_lines[begin.line()].content.substr(0, begin.column());
|
||||||
|
@ -360,7 +360,7 @@ void Buffer::apply_modification(const Modification& modification)
|
||||||
if (not pos.is_end() and pos.column() == m_lines[pos.line()].length())
|
if (not pos.is_end() and pos.column() == m_lines[pos.line()].length())
|
||||||
pos = { pos.buffer(), { pos.line() + 1, 0 }};
|
pos = { pos.buffer(), { pos.line() + 1, 0 }};
|
||||||
|
|
||||||
assert(pos.is_valid());
|
kak_assert(pos.is_valid());
|
||||||
switch (modification.type)
|
switch (modification.type)
|
||||||
{
|
{
|
||||||
case Modification::Insert:
|
case Modification::Insert:
|
||||||
|
@ -372,12 +372,12 @@ void Buffer::apply_modification(const Modification& modification)
|
||||||
{
|
{
|
||||||
ByteCount count = content.length();
|
ByteCount count = content.length();
|
||||||
BufferIterator end = pos + count;
|
BufferIterator end = pos + count;
|
||||||
assert(string(pos, end) == content);
|
kak_assert(string(pos, end) == content);
|
||||||
do_erase(pos, end);
|
do_erase(pos, end);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,12 +9,12 @@ namespace Kakoune
|
||||||
inline BufferIterator::BufferIterator(const Buffer& buffer, BufferCoord coord)
|
inline BufferIterator::BufferIterator(const Buffer& buffer, BufferCoord coord)
|
||||||
: m_buffer(&buffer), m_coord(coord)
|
: m_buffer(&buffer), m_coord(coord)
|
||||||
{
|
{
|
||||||
assert(is_valid());
|
kak_assert(is_valid());
|
||||||
}
|
}
|
||||||
|
|
||||||
inline const Buffer& BufferIterator::buffer() const
|
inline const Buffer& BufferIterator::buffer() const
|
||||||
{
|
{
|
||||||
assert(m_buffer);
|
kak_assert(m_buffer);
|
||||||
return *m_buffer;
|
return *m_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ inline bool BufferIterator::is_valid() const
|
||||||
|
|
||||||
inline void BufferIterator::clamp(bool avoid_eol)
|
inline void BufferIterator::clamp(bool avoid_eol)
|
||||||
{
|
{
|
||||||
assert(m_buffer);
|
kak_assert(m_buffer);
|
||||||
m_coord = m_buffer->clamp(m_coord, avoid_eol);
|
m_coord = m_buffer->clamp(m_coord, avoid_eol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,25 +46,25 @@ inline bool BufferIterator::operator!=(const BufferIterator& iterator) const
|
||||||
|
|
||||||
inline bool BufferIterator::operator<(const BufferIterator& iterator) const
|
inline bool BufferIterator::operator<(const BufferIterator& iterator) const
|
||||||
{
|
{
|
||||||
assert(m_buffer == iterator.m_buffer);
|
kak_assert(m_buffer == iterator.m_buffer);
|
||||||
return (m_coord < iterator.m_coord);
|
return (m_coord < iterator.m_coord);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool BufferIterator::operator<=(const BufferIterator& iterator) const
|
inline bool BufferIterator::operator<=(const BufferIterator& iterator) const
|
||||||
{
|
{
|
||||||
assert(m_buffer == iterator.m_buffer);
|
kak_assert(m_buffer == iterator.m_buffer);
|
||||||
return (m_coord <= iterator.m_coord);
|
return (m_coord <= iterator.m_coord);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool BufferIterator::operator>(const BufferIterator& iterator) const
|
inline bool BufferIterator::operator>(const BufferIterator& iterator) const
|
||||||
{
|
{
|
||||||
assert(m_buffer == iterator.m_buffer);
|
kak_assert(m_buffer == iterator.m_buffer);
|
||||||
return (m_coord > iterator.m_coord);
|
return (m_coord > iterator.m_coord);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool BufferIterator::operator>=(const BufferIterator& iterator) const
|
inline bool BufferIterator::operator>=(const BufferIterator& iterator) const
|
||||||
{
|
{
|
||||||
assert(m_buffer == iterator.m_buffer);
|
kak_assert(m_buffer == iterator.m_buffer);
|
||||||
return (m_coord >= iterator.m_coord);
|
return (m_coord >= iterator.m_coord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,20 +75,20 @@ inline char BufferIterator::operator*() const
|
||||||
|
|
||||||
inline ByteCount BufferIterator::offset() const
|
inline ByteCount BufferIterator::offset() const
|
||||||
{
|
{
|
||||||
assert(m_buffer);
|
kak_assert(m_buffer);
|
||||||
return line() >= m_buffer->line_count() ?
|
return line() >= m_buffer->line_count() ?
|
||||||
m_buffer->character_count() : m_buffer->m_lines[line()].start + column();
|
m_buffer->character_count() : m_buffer->m_lines[line()].start + column();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline size_t BufferIterator::operator-(const BufferIterator& iterator) const
|
inline size_t BufferIterator::operator-(const BufferIterator& iterator) const
|
||||||
{
|
{
|
||||||
assert(m_buffer == iterator.m_buffer);
|
kak_assert(m_buffer == iterator.m_buffer);
|
||||||
return (size_t)(int)(offset() - iterator.offset());
|
return (size_t)(int)(offset() - iterator.offset());
|
||||||
}
|
}
|
||||||
|
|
||||||
inline BufferIterator BufferIterator::operator+(ByteCount size) const
|
inline BufferIterator BufferIterator::operator+(ByteCount size) const
|
||||||
{
|
{
|
||||||
assert(m_buffer);
|
kak_assert(m_buffer);
|
||||||
if (size >= 0)
|
if (size >= 0)
|
||||||
{
|
{
|
||||||
ByteCount o = std::min(m_buffer->character_count(), offset() + size);
|
ByteCount o = std::min(m_buffer->character_count(), offset() + size);
|
||||||
|
@ -105,7 +105,7 @@ inline BufferIterator BufferIterator::operator+(ByteCount size) const
|
||||||
|
|
||||||
inline BufferIterator BufferIterator::operator-(ByteCount size) const
|
inline BufferIterator BufferIterator::operator-(ByteCount size) const
|
||||||
{
|
{
|
||||||
assert(m_buffer);
|
kak_assert(m_buffer);
|
||||||
if (size >= 0)
|
if (size >= 0)
|
||||||
{
|
{
|
||||||
ByteCount o = std::max(0_byte, offset() - size);
|
ByteCount o = std::max(0_byte, offset() - size);
|
||||||
|
@ -114,7 +114,7 @@ inline BufferIterator BufferIterator::operator-(ByteCount size) const
|
||||||
if (m_buffer->m_lines[i].start <= o)
|
if (m_buffer->m_lines[i].start <= o)
|
||||||
return BufferIterator(*m_buffer, { i, o - m_buffer->m_lines[i].start });
|
return BufferIterator(*m_buffer, { i, o - m_buffer->m_lines[i].start });
|
||||||
}
|
}
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
}
|
}
|
||||||
return operator+(-size);
|
return operator+(-size);
|
||||||
}
|
}
|
||||||
|
@ -175,22 +175,22 @@ inline BufferIterator BufferIterator::operator--(int)
|
||||||
inline BufferIterator& BufferIterator::operator=(const BufferCoord& coord)
|
inline BufferIterator& BufferIterator::operator=(const BufferCoord& coord)
|
||||||
{
|
{
|
||||||
m_coord = coord;
|
m_coord = coord;
|
||||||
assert(is_valid());
|
kak_assert(is_valid());
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool BufferIterator::is_begin() const
|
inline bool BufferIterator::is_begin() const
|
||||||
{
|
{
|
||||||
assert(m_buffer);
|
kak_assert(m_buffer);
|
||||||
return m_coord.line == 0 and m_coord.column == 0;
|
return m_coord.line == 0 and m_coord.column == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool BufferIterator::is_end() const
|
inline bool BufferIterator::is_end() const
|
||||||
{
|
{
|
||||||
assert(m_buffer);
|
kak_assert(m_buffer);
|
||||||
if (m_coord.line == m_buffer->line_count())
|
if (m_coord.line == m_buffer->line_count())
|
||||||
{
|
{
|
||||||
assert(m_coord.column == 0);
|
kak_assert(m_coord.column == 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return offset() == m_buffer->character_count();
|
return offset() == m_buffer->character_count();
|
||||||
|
|
|
@ -43,7 +43,7 @@ void BufferManager::unregister_buffer(Buffer& buffer)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
Buffer* BufferManager::get_buffer_ifp(const String& name)
|
Buffer* BufferManager::get_buffer_ifp(const String& name)
|
||||||
|
@ -71,7 +71,7 @@ void BufferManager::set_last_used_buffer(Buffer& buffer)
|
||||||
auto it = m_buffers.begin();
|
auto it = m_buffers.begin();
|
||||||
while (*it != &buffer and it != m_buffers.end())
|
while (*it != &buffer and it != m_buffers.end())
|
||||||
++it;
|
++it;
|
||||||
assert(it != m_buffers.end());
|
kak_assert(it != m_buffers.end());
|
||||||
m_buffers.erase(it);
|
m_buffers.erase(it);
|
||||||
m_buffers.emplace(m_buffers.begin(), &buffer);
|
m_buffers.emplace(m_buffers.begin(), &buffer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ struct ClientManager::Client
|
||||||
input_handler(*user_interface),
|
input_handler(*user_interface),
|
||||||
name(std::move(name))
|
name(std::move(name))
|
||||||
{
|
{
|
||||||
assert(not this->name.empty());
|
kak_assert(not this->name.empty());
|
||||||
context().change_editor(window);
|
context().change_editor(window);
|
||||||
}
|
}
|
||||||
Client(Client&&) = delete;
|
Client(Client&&) = delete;
|
||||||
|
@ -106,7 +106,7 @@ void ClientManager::remove_client_by_context(Context& context)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
Window& ClientManager::get_unused_window_for_buffer(Buffer& buffer)
|
Window& ClientManager::get_unused_window_for_buffer(Buffer& buffer)
|
||||||
|
|
|
@ -34,7 +34,7 @@ String color_to_str(const Color& color)
|
||||||
case Color::Cyan: return "cyan";
|
case Color::Cyan: return "cyan";
|
||||||
case Color::White: return "white";
|
case Color::White: return "white";
|
||||||
}
|
}
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
return "default";
|
return "default";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -324,7 +324,7 @@ Completions CommandManager::complete(const Context& context,
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(not tokens.empty());
|
kak_assert(not tokens.empty());
|
||||||
if (tokens[0].type() != Token::Type::Raw)
|
if (tokens[0].type() != Token::Type::Raw)
|
||||||
return Completions();
|
return Completions();
|
||||||
|
|
||||||
|
@ -357,7 +357,7 @@ CandidateList PerArgumentCommandCompleter::operator()(const Context& context,
|
||||||
return CandidateList();
|
return CandidateList();
|
||||||
|
|
||||||
// it is possible to try to complete a new argument
|
// it is possible to try to complete a new argument
|
||||||
assert(token_to_complete <= params.size());
|
kak_assert(token_to_complete <= params.size());
|
||||||
|
|
||||||
const String& argument = token_to_complete < params.size() ?
|
const String& argument = token_to_complete < params.size() ?
|
||||||
params[token_to_complete] : String();
|
params[token_to_complete] : String();
|
||||||
|
|
|
@ -66,7 +66,7 @@ Buffer* open_fifo(const String& name , const String& filename, Context& context)
|
||||||
ClientManager::instance().redraw_clients();
|
ClientManager::instance().redraw_clients();
|
||||||
if (count <= 0)
|
if (count <= 0)
|
||||||
{
|
{
|
||||||
assert(buffer->flags() & Buffer::Flags::Fifo);
|
kak_assert(buffer->flags() & Buffer::Flags::Fifo);
|
||||||
buffer->flags() &= ~Buffer::Flags::Fifo;
|
buffer->flags() &= ~Buffer::Flags::Fifo;
|
||||||
close(watcher.fd());
|
close(watcher.fd());
|
||||||
delete &watcher;
|
delete &watcher;
|
||||||
|
@ -804,7 +804,7 @@ public:
|
||||||
|
|
||||||
Key get_key() override
|
Key get_key() override
|
||||||
{
|
{
|
||||||
assert(m_pos < m_keys.size());
|
kak_assert(m_pos < m_keys.size());
|
||||||
return m_keys[m_pos++];
|
return m_keys[m_pos++];
|
||||||
}
|
}
|
||||||
bool is_key_available() override { return m_pos < m_keys.size(); }
|
bool is_key_available() override { return m_pos < m_keys.size(); }
|
||||||
|
|
|
@ -15,7 +15,7 @@ static Buffer& get_or_create_debug_buffer()
|
||||||
if (not buffer)
|
if (not buffer)
|
||||||
buffer = new Buffer(debug_buffer_name, Buffer::Flags::NoUndo);
|
buffer = new Buffer(debug_buffer_name, Buffer::Flags::NoUndo);
|
||||||
|
|
||||||
assert(buffer);
|
kak_assert(buffer);
|
||||||
return *buffer;
|
return *buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,9 @@ namespace Kakoune
|
||||||
|
|
||||||
DisplayLine::iterator DisplayLine::split(iterator it, BufferIterator pos)
|
DisplayLine::iterator DisplayLine::split(iterator it, BufferIterator pos)
|
||||||
{
|
{
|
||||||
assert(it->content.type() == AtomContent::BufferRange);
|
kak_assert(it->content.type() == AtomContent::BufferRange);
|
||||||
assert(it->content.begin() < pos);
|
kak_assert(it->content.begin() < pos);
|
||||||
assert(it->content.end() > pos);
|
kak_assert(it->content.end() > pos);
|
||||||
|
|
||||||
DisplayAtom atom = *it;
|
DisplayAtom atom = *it;
|
||||||
atom.content.m_end = pos;
|
atom.content.m_end = pos;
|
||||||
|
@ -68,8 +68,8 @@ void DisplayBuffer::compute_range()
|
||||||
m_range.second = atom.content.end();
|
m_range.second = atom.content.end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert(m_range.first.is_valid() and m_range.second.is_valid());
|
kak_assert(m_range.first.is_valid() and m_range.second.is_valid());
|
||||||
assert(m_range.first <= m_range.second);
|
kak_assert(m_range.first <= m_range.second);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayBuffer::optimize()
|
void DisplayBuffer::optimize()
|
||||||
|
|
|
@ -54,7 +54,7 @@ public:
|
||||||
case ReplacedBufferRange:
|
case ReplacedBufferRange:
|
||||||
return m_text;
|
return m_text;
|
||||||
}
|
}
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,25 +68,25 @@ public:
|
||||||
case ReplacedBufferRange:
|
case ReplacedBufferRange:
|
||||||
return m_text.char_length();
|
return m_text.char_length();
|
||||||
}
|
}
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const BufferIterator& begin() const
|
const BufferIterator& begin() const
|
||||||
{
|
{
|
||||||
assert(has_buffer_range());
|
kak_assert(has_buffer_range());
|
||||||
return m_begin;
|
return m_begin;
|
||||||
}
|
}
|
||||||
|
|
||||||
const BufferIterator& end() const
|
const BufferIterator& end() const
|
||||||
{
|
{
|
||||||
assert(has_buffer_range());
|
kak_assert(has_buffer_range());
|
||||||
return m_end;
|
return m_end;
|
||||||
}
|
}
|
||||||
|
|
||||||
void replace(String text)
|
void replace(String text)
|
||||||
{
|
{
|
||||||
assert(m_type == BufferRange);
|
kak_assert(m_type == BufferRange);
|
||||||
m_type = ReplacedBufferRange;
|
m_type = ReplacedBufferRange;
|
||||||
m_text = std::move(text);
|
m_text = std::move(text);
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ void DynamicSelectionList::check_invariant() const
|
||||||
const Buffer* buf = &buffer();
|
const Buffer* buf = &buffer();
|
||||||
for (auto& sel : *this)
|
for (auto& sel : *this)
|
||||||
{
|
{
|
||||||
assert(buf == &sel.buffer());
|
kak_assert(buf == &sel.buffer());
|
||||||
sel.check_invariant();
|
sel.check_invariant();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -70,7 +70,7 @@ struct UpdateInsert
|
||||||
{
|
{
|
||||||
BufferCoord coord = it.coord();
|
BufferCoord coord = it.coord();
|
||||||
if (assume_different_line)
|
if (assume_different_line)
|
||||||
assert(begin.line < coord.line);
|
kak_assert(begin.line < coord.line);
|
||||||
if (not assume_greater_than_begin and coord < begin)
|
if (not assume_greater_than_begin and coord < begin)
|
||||||
return;
|
return;
|
||||||
if (not assume_different_line and begin.line == coord.line)
|
if (not assume_different_line and begin.line == coord.line)
|
||||||
|
@ -91,7 +91,7 @@ struct UpdateErase
|
||||||
if (not assume_greater_than_begin and coord < begin)
|
if (not assume_greater_than_begin and coord < begin)
|
||||||
return;
|
return;
|
||||||
if (assume_different_line)
|
if (assume_different_line)
|
||||||
assert(end.line < coord.line);
|
kak_assert(end.line < coord.line);
|
||||||
if (not assume_different_line and coord <= end)
|
if (not assume_different_line and coord <= end)
|
||||||
coord = it.buffer().clamp(begin);
|
coord = it.buffer().clamp(begin);
|
||||||
else
|
else
|
||||||
|
|
|
@ -72,7 +72,7 @@ static BufferIterator prepare_insert(Buffer& buffer, const Selection& sel,
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
return BufferIterator{};
|
return BufferIterator{};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ static void sort_and_merge_overlapping(SelectionList& selections, size_t& main_s
|
||||||
|
|
||||||
void Editor::move_selections(CharCount offset, SelectMode mode)
|
void Editor::move_selections(CharCount offset, SelectMode mode)
|
||||||
{
|
{
|
||||||
assert(mode == SelectMode::Replace or mode == SelectMode::Extend);
|
kak_assert(mode == SelectMode::Replace or mode == SelectMode::Extend);
|
||||||
for (auto& sel : m_selections)
|
for (auto& sel : m_selections)
|
||||||
{
|
{
|
||||||
auto last = sel.last();
|
auto last = sel.last();
|
||||||
|
@ -178,7 +178,7 @@ void Editor::move_selections(CharCount offset, SelectMode mode)
|
||||||
|
|
||||||
void Editor::move_selections(LineCount offset, SelectMode mode)
|
void Editor::move_selections(LineCount offset, SelectMode mode)
|
||||||
{
|
{
|
||||||
assert(mode == SelectMode::Replace or mode == SelectMode::Extend);
|
kak_assert(mode == SelectMode::Replace or mode == SelectMode::Extend);
|
||||||
for (auto& sel : m_selections)
|
for (auto& sel : m_selections)
|
||||||
{
|
{
|
||||||
BufferCoord pos = sel.last().coord();
|
BufferCoord pos = sel.last().coord();
|
||||||
|
@ -257,7 +257,7 @@ void Editor::select(const Selection& selection, SelectMode mode)
|
||||||
sort_and_merge_overlapping(m_selections, m_main_sel);
|
sort_and_merge_overlapping(m_selections, m_main_sel);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
check_invariant();
|
check_invariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -352,15 +352,15 @@ public:
|
||||||
|
|
||||||
void on_insert(const BufferIterator& begin, const BufferIterator& end)
|
void on_insert(const BufferIterator& begin, const BufferIterator& end)
|
||||||
{
|
{
|
||||||
assert(begin.is_valid());
|
kak_assert(begin.is_valid());
|
||||||
assert(end.is_valid());
|
kak_assert(end.is_valid());
|
||||||
m_first = begin;
|
m_first = begin;
|
||||||
m_last = utf8::previous(end);
|
m_last = utf8::previous(end);
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_erase(const BufferIterator& begin, const BufferIterator& end)
|
void on_erase(const BufferIterator& begin, const BufferIterator& end)
|
||||||
{
|
{
|
||||||
assert(begin.is_valid());
|
kak_assert(begin.is_valid());
|
||||||
m_first = begin;
|
m_first = begin;
|
||||||
if (m_first >= m_buffer.end())
|
if (m_first >= m_buffer.end())
|
||||||
m_first = utf8::previous(m_buffer.end());
|
m_first = utf8::previous(m_buffer.end());
|
||||||
|
@ -405,11 +405,11 @@ bool Editor::redo()
|
||||||
void Editor::check_invariant() const
|
void Editor::check_invariant() const
|
||||||
{
|
{
|
||||||
#ifdef KAK_DEBUG
|
#ifdef KAK_DEBUG
|
||||||
assert(not m_selections.empty());
|
kak_assert(not m_selections.empty());
|
||||||
assert(m_main_sel < m_selections.size());
|
kak_assert(m_main_sel < m_selections.size());
|
||||||
m_selections.check_invariant();
|
m_selections.check_invariant();
|
||||||
buffer().check_invariant();
|
buffer().check_invariant();
|
||||||
assert(std::is_sorted(m_selections.begin(), m_selections.end(), compare_selections));
|
kak_assert(std::is_sorted(m_selections.begin(), m_selections.end(), compare_selections));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -420,7 +420,7 @@ void Editor::begin_edition()
|
||||||
|
|
||||||
void Editor::end_edition()
|
void Editor::end_edition()
|
||||||
{
|
{
|
||||||
assert(m_edition_level > 0);
|
kak_assert(m_edition_level > 0);
|
||||||
if (m_edition_level == 1)
|
if (m_edition_level == 1)
|
||||||
m_buffer->commit_undo_group();
|
m_buffer->commit_undo_group();
|
||||||
|
|
||||||
|
@ -479,7 +479,7 @@ IncrementalInserter::IncrementalInserter(Editor& editor, InsertMode mode)
|
||||||
last = first;
|
last = first;
|
||||||
break;
|
break;
|
||||||
case InsertMode::InsertAtNextLineBegin:
|
case InsertMode::InsertAtNextLineBegin:
|
||||||
assert(false); // not implemented
|
kak_assert(false); // not implemented
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (first.underlying_iterator().is_end())
|
if (first.underlying_iterator().is_end())
|
||||||
|
|
|
@ -40,8 +40,8 @@ EventManager::EventManager()
|
||||||
|
|
||||||
EventManager::~EventManager()
|
EventManager::~EventManager()
|
||||||
{
|
{
|
||||||
assert(m_fd_watchers.empty());
|
kak_assert(m_fd_watchers.empty());
|
||||||
assert(m_timers.empty());
|
kak_assert(m_timers.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventManager::handle_next_events()
|
void EventManager::handle_next_events()
|
||||||
|
|
|
@ -44,7 +44,7 @@ void expand_tabulations(Buffer& buffer, Selection& selection, String& content)
|
||||||
for (auto line_it = buffer.iterator_at_line_begin(position);
|
for (auto line_it = buffer.iterator_at_line_begin(position);
|
||||||
line_it != position; ++line_it)
|
line_it != position; ++line_it)
|
||||||
{
|
{
|
||||||
assert(*line_it != '\n');
|
kak_assert(*line_it != '\n');
|
||||||
if (*line_it == '\t')
|
if (*line_it == '\t')
|
||||||
column += tabstop - (column % tabstop);
|
column += tabstop - (column % tabstop);
|
||||||
else
|
else
|
||||||
|
|
|
@ -20,7 +20,7 @@ class FunctionRegistry
|
||||||
public:
|
public:
|
||||||
void register_func(const String& name, const FunctionType& function)
|
void register_func(const String& name, const FunctionType& function)
|
||||||
{
|
{
|
||||||
assert(not m_functions.contains(name));
|
kak_assert(not m_functions.contains(name));
|
||||||
m_functions.append(std::make_pair(name, function));
|
m_functions.append(std::make_pair(name, function));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -239,7 +239,7 @@ void expand_tabulations(const OptionManager& options, DisplayBuffer& display_buf
|
||||||
for (auto line_it = it.buffer().iterator_at_line_begin(it);
|
for (auto line_it = it.buffer().iterator_at_line_begin(it);
|
||||||
line_it != it; ++line_it)
|
line_it != it; ++line_it)
|
||||||
{
|
{
|
||||||
assert(*line_it != '\n');
|
kak_assert(*line_it != '\n');
|
||||||
if (*line_it == '\t')
|
if (*line_it == '\t')
|
||||||
column += tabstop - (column % tabstop);
|
column += tabstop - (column % tabstop);
|
||||||
else
|
else
|
||||||
|
|
|
@ -127,7 +127,7 @@ public:
|
||||||
|
|
||||||
void insert_from(CharCount start, const String& str)
|
void insert_from(CharCount start, const String& str)
|
||||||
{
|
{
|
||||||
assert(start <= m_cursor_pos);
|
kak_assert(start <= m_cursor_pos);
|
||||||
m_line = m_line.substr(0, start) + str
|
m_line = m_line.substr(0, start) + str
|
||||||
+ m_line.substr(m_cursor_pos);
|
+ m_line.substr(m_cursor_pos);
|
||||||
m_cursor_pos = start + str.char_length();
|
m_cursor_pos = start + str.char_length();
|
||||||
|
@ -148,7 +148,7 @@ private:
|
||||||
|
|
||||||
static DisplayLine line_with_cursor(const String& str, CharCount cursor_pos)
|
static DisplayLine line_with_cursor(const String& str, CharCount cursor_pos)
|
||||||
{
|
{
|
||||||
assert(cursor_pos <= str.char_length());
|
kak_assert(cursor_pos <= str.char_length());
|
||||||
if (cursor_pos == str.char_length())
|
if (cursor_pos == str.char_length())
|
||||||
return DisplayLine{-1, { {str, get_color("StatusLine")},
|
return DisplayLine{-1, { {str, get_color("StatusLine")},
|
||||||
{" "_str, get_color("StatusCursor")} }};
|
{" "_str, get_color("StatusCursor")} }};
|
||||||
|
@ -654,7 +654,7 @@ private:
|
||||||
if (not m_completions.is_valid())
|
if (not m_completions.is_valid())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
assert(cursor >= m_completions.begin);
|
kak_assert(cursor >= m_completions.begin);
|
||||||
|
|
||||||
m_matching_candidates = m_completions.candidates;
|
m_matching_candidates = m_completions.candidates;
|
||||||
m_current_candidate = m_matching_candidates.size();
|
m_current_candidate = m_matching_candidates.size();
|
||||||
|
@ -799,7 +799,7 @@ void InputHandler::repeat_last_insert()
|
||||||
m_mode.reset(new InputModes::Insert(*this, m_last_insert.first));
|
m_mode.reset(new InputModes::Insert(*this, m_last_insert.first));
|
||||||
for (auto& key : keys)
|
for (auto& key : keys)
|
||||||
m_mode->on_key(key);
|
m_mode->on_key(key);
|
||||||
assert(dynamic_cast<InputModes::Normal*>(m_mode.get()) != nullptr);
|
kak_assert(dynamic_cast<InputModes::Normal*>(m_mode.get()) != nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputHandler::prompt(const String& prompt, ColorPair prompt_colors,
|
void InputHandler::prompt(const String& prompt, ColorPair prompt_colors,
|
||||||
|
@ -857,7 +857,7 @@ void InputHandler::handle_available_inputs()
|
||||||
|
|
||||||
void InputHandler::start_recording(char reg)
|
void InputHandler::start_recording(char reg)
|
||||||
{
|
{
|
||||||
assert(m_recording_reg == 0);
|
kak_assert(m_recording_reg == 0);
|
||||||
m_recorded_keys = "";
|
m_recorded_keys = "";
|
||||||
m_recording_reg = reg;
|
m_recording_reg = reg;
|
||||||
}
|
}
|
||||||
|
@ -869,7 +869,7 @@ bool InputHandler::is_recording() const
|
||||||
|
|
||||||
void InputHandler::stop_recording()
|
void InputHandler::stop_recording()
|
||||||
{
|
{
|
||||||
assert(m_recording_reg != 0);
|
kak_assert(m_recording_reg != 0);
|
||||||
RegisterManager::instance()[m_recording_reg] = memoryview<String>(m_recorded_keys);
|
RegisterManager::instance()[m_recording_reg] = memoryview<String>(m_recorded_keys);
|
||||||
m_recording_reg = 0;
|
m_recording_reg = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ Key canonicalize_ifn(Key key)
|
||||||
{
|
{
|
||||||
if (key.key > 0 and key.key < 27)
|
if (key.key > 0 and key.key < 27)
|
||||||
{
|
{
|
||||||
assert(key.modifiers == Key::Modifiers::None);
|
kak_assert(key.modifiers == Key::Modifiers::None);
|
||||||
key.modifiers = Key::Modifiers::Control;
|
key.modifiers = Key::Modifiers::Control;
|
||||||
key.key = key.key - 1 + 'a';
|
key.key = key.key - 1 + 'a';
|
||||||
}
|
}
|
||||||
|
|
|
@ -324,7 +324,7 @@ static InsertMode adapt_for_linewise(InsertMode mode)
|
||||||
if (mode == InsertMode::Replace)
|
if (mode == InsertMode::Replace)
|
||||||
return InsertMode::Replace;
|
return InsertMode::Replace;
|
||||||
|
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
return InsertMode::Insert;
|
return InsertMode::Insert;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,7 +409,7 @@ void do_join(Context& context)
|
||||||
{
|
{
|
||||||
SelectionList res = select_all_matches(sel, Regex{"\n\\h*"});
|
SelectionList res = select_all_matches(sel, Regex{"\n\\h*"});
|
||||||
// remove last end of line if selected
|
// remove last end of line if selected
|
||||||
assert(std::is_sorted(res.begin(), res.end(),
|
kak_assert(std::is_sorted(res.begin(), res.end(),
|
||||||
[](const Selection& lhs, const Selection& rhs)
|
[](const Selection& lhs, const Selection& rhs)
|
||||||
{ return lhs.begin() < rhs.begin(); }));
|
{ return lhs.begin() < rhs.begin(); }));
|
||||||
if (not res.empty() and res.back().end() == sel.buffer().end())
|
if (not res.empty() and res.back().end() == sel.buffer().end())
|
||||||
|
@ -614,7 +614,7 @@ String runtime_directory()
|
||||||
char buffer[2048];
|
char buffer[2048];
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
ssize_t res = readlink("/proc/self/exe", buffer, 2048);
|
ssize_t res = readlink("/proc/self/exe", buffer, 2048);
|
||||||
assert(res != -1);
|
kak_assert(res != -1);
|
||||||
buffer[res] = '\0';
|
buffer[res] = '\0';
|
||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
uint32_t bufsize = 2048;
|
uint32_t bufsize = 2048;
|
||||||
|
|
|
@ -302,7 +302,7 @@ void NCursesUI::print_status(const DisplayLine& status)
|
||||||
|
|
||||||
void NCursesUI::draw_menu()
|
void NCursesUI::draw_menu()
|
||||||
{
|
{
|
||||||
assert(m_menu_win);
|
kak_assert(m_menu_win);
|
||||||
|
|
||||||
auto menu_fg = get_color_pair(m_menu_fg);
|
auto menu_fg = get_color_pair(m_menu_fg);
|
||||||
auto menu_bg = get_color_pair(m_menu_bg);
|
auto menu_bg = get_color_pair(m_menu_bg);
|
||||||
|
@ -347,8 +347,8 @@ void NCursesUI::menu_show(const memoryview<String>& choices,
|
||||||
DisplayCoord anchor, ColorPair fg, ColorPair bg,
|
DisplayCoord anchor, ColorPair fg, ColorPair bg,
|
||||||
MenuStyle style)
|
MenuStyle style)
|
||||||
{
|
{
|
||||||
assert(m_menu_win == nullptr);
|
kak_assert(m_menu_win == nullptr);
|
||||||
assert(m_choices.empty());
|
kak_assert(m_choices.empty());
|
||||||
|
|
||||||
m_menu_fg = fg;
|
m_menu_fg = fg;
|
||||||
m_menu_bg = bg;
|
m_menu_bg = bg;
|
||||||
|
@ -470,7 +470,7 @@ static DisplayCoord compute_pos(const DisplayCoord& anchor,
|
||||||
void NCursesUI::info_show(const String& content, DisplayCoord anchor,
|
void NCursesUI::info_show(const String& content, DisplayCoord anchor,
|
||||||
ColorPair colors, MenuStyle style)
|
ColorPair colors, MenuStyle style)
|
||||||
{
|
{
|
||||||
assert(m_info_win == nullptr);
|
kak_assert(m_info_win == nullptr);
|
||||||
|
|
||||||
DisplayCoord size = compute_needed_size(content);
|
DisplayCoord size = compute_needed_size(content);
|
||||||
if (style == MenuStyle::Prompt)
|
if (style == MenuStyle::Prompt)
|
||||||
|
|
|
@ -20,19 +20,19 @@ OptionManager::~OptionManager()
|
||||||
if (m_parent)
|
if (m_parent)
|
||||||
m_parent->unregister_watcher(*this);
|
m_parent->unregister_watcher(*this);
|
||||||
|
|
||||||
assert(m_watchers.empty());
|
kak_assert(m_watchers.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionManager::register_watcher(OptionManagerWatcher& watcher)
|
void OptionManager::register_watcher(OptionManagerWatcher& watcher)
|
||||||
{
|
{
|
||||||
assert(not contains(m_watchers, &watcher));
|
kak_assert(not contains(m_watchers, &watcher));
|
||||||
m_watchers.push_back(&watcher);
|
m_watchers.push_back(&watcher);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionManager::unregister_watcher(OptionManagerWatcher& watcher)
|
void OptionManager::unregister_watcher(OptionManagerWatcher& watcher)
|
||||||
{
|
{
|
||||||
auto it = find(m_watchers.begin(), m_watchers.end(), &watcher);
|
auto it = find(m_watchers.begin(), m_watchers.end(), &watcher);
|
||||||
assert(it != m_watchers.end());
|
kak_assert(it != m_watchers.end());
|
||||||
m_watchers.erase(it);
|
m_watchers.erase(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ ParametersParser::ParametersParser(const ParameterList& params,
|
||||||
|
|
||||||
bool ParametersParser::has_option(const String& name) const
|
bool ParametersParser::has_option(const String& name) const
|
||||||
{
|
{
|
||||||
assert(m_options.find(name) != m_options.end());
|
kak_assert(m_options.find(name) != m_options.end());
|
||||||
for (auto& param : m_params)
|
for (auto& param : m_params)
|
||||||
{
|
{
|
||||||
if (param[0] == '-' and param.substr(1_byte) == name)
|
if (param[0] == '-' and param.substr(1_byte) == name)
|
||||||
|
@ -59,8 +59,8 @@ const String& ParametersParser::option_value(const String& name) const
|
||||||
{
|
{
|
||||||
#ifdef KAK_DEBUG
|
#ifdef KAK_DEBUG
|
||||||
auto it = m_options.find(name);
|
auto it = m_options.find(name);
|
||||||
assert(it != m_options.end());
|
kak_assert(it != m_options.end());
|
||||||
assert(it->second == true);
|
kak_assert(it->second == true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (size_t i = 0; i < m_params.size(); ++i)
|
for (size_t i = 0; i < m_params.size(); ++i)
|
||||||
|
@ -82,7 +82,7 @@ size_t ParametersParser::positional_count() const
|
||||||
|
|
||||||
const String& ParametersParser::operator[] (size_t index) const
|
const String& ParametersParser::operator[] (size_t index) const
|
||||||
{
|
{
|
||||||
assert(index < positional_count());
|
kak_assert(index < positional_count());
|
||||||
return m_params[m_positional_indices[index]];
|
return m_params[m_positional_indices[index]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -97,19 +97,19 @@ struct ParametersParser
|
||||||
|
|
||||||
bool operator==(const iterator& other) const
|
bool operator==(const iterator& other) const
|
||||||
{
|
{
|
||||||
assert(&m_parser == &other.m_parser);
|
kak_assert(&m_parser == &other.m_parser);
|
||||||
return m_index == other.m_index;
|
return m_index == other.m_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator!=(const iterator& other) const
|
bool operator!=(const iterator& other) const
|
||||||
{
|
{
|
||||||
assert(&m_parser == &other.m_parser);
|
kak_assert(&m_parser == &other.m_parser);
|
||||||
return m_index != other.m_index;
|
return m_index != other.m_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator<(const iterator& other) const
|
bool operator<(const iterator& other) const
|
||||||
{
|
{
|
||||||
assert(&m_parser == &other.m_parser);
|
kak_assert(&m_parser == &other.m_parser);
|
||||||
return m_index < other.m_index;
|
return m_index < other.m_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ Register& RegisterManager::operator[](char reg)
|
||||||
void RegisterManager::register_dynamic_register(char reg, RegisterRetriever function)
|
void RegisterManager::register_dynamic_register(char reg, RegisterRetriever function)
|
||||||
{
|
{
|
||||||
auto& reg_ptr = m_registers[reg];
|
auto& reg_ptr = m_registers[reg];
|
||||||
assert(not reg_ptr);
|
kak_assert(not reg_ptr);
|
||||||
reg_ptr.reset(new DynamicRegister(std::move(function)));
|
reg_ptr.reset(new DynamicRegister(std::move(function)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ String read<String>(int socket)
|
||||||
if (length == 0)
|
if (length == 0)
|
||||||
return String{};
|
return String{};
|
||||||
char buffer[2048];
|
char buffer[2048];
|
||||||
assert(length < 2048);
|
kak_assert(length < 2048);
|
||||||
read(socket, buffer, (int)length);
|
read(socket, buffer, (int)length);
|
||||||
return String(buffer, buffer+(int)length);
|
return String(buffer, buffer+(int)length);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,10 +32,10 @@ String Range::content() const
|
||||||
void Range::check_invariant() const
|
void Range::check_invariant() const
|
||||||
{
|
{
|
||||||
#ifdef KAK_DEBUG
|
#ifdef KAK_DEBUG
|
||||||
assert(m_first.is_valid());
|
kak_assert(m_first.is_valid());
|
||||||
assert(m_last.is_valid());
|
kak_assert(m_last.is_valid());
|
||||||
assert(utf8::is_character_start(m_first));
|
kak_assert(utf8::is_character_start(m_first));
|
||||||
assert(utf8::is_character_start(m_last));
|
kak_assert(utf8::is_character_start(m_last));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,8 +92,8 @@ String ShellManager::pipe(const String& input,
|
||||||
else if (match[2].matched)
|
else if (match[2].matched)
|
||||||
name = String(match[2].first, match[2].second);
|
name = String(match[2].first, match[2].second);
|
||||||
else
|
else
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
assert(name.length() > 0);
|
kak_assert(name.length() > 0);
|
||||||
|
|
||||||
auto local_var = env_vars.find(name);
|
auto local_var = env_vars.find(name);
|
||||||
if (local_var != env_vars.end())
|
if (local_var != env_vars.end())
|
||||||
|
|
|
@ -11,43 +11,43 @@ void test_buffer()
|
||||||
Buffer empty_buffer("empty", Buffer::Flags::None, {});
|
Buffer empty_buffer("empty", Buffer::Flags::None, {});
|
||||||
|
|
||||||
Buffer buffer("test", Buffer::Flags::None, { "allo ?\n", "mais que fais la police\n", " hein ?\n", " youpi\n" });
|
Buffer buffer("test", Buffer::Flags::None, { "allo ?\n", "mais que fais la police\n", " hein ?\n", " youpi\n" });
|
||||||
assert(buffer.line_count() == 4);
|
kak_assert(buffer.line_count() == 4);
|
||||||
|
|
||||||
BufferIterator i = buffer.begin();
|
BufferIterator i = buffer.begin();
|
||||||
assert(*i == 'a');
|
kak_assert(*i == 'a');
|
||||||
i += 6;
|
i += 6;
|
||||||
assert(i.coord() == BufferCoord{0 COMMA 6});
|
kak_assert(i.coord() == BufferCoord{0 COMMA 6});
|
||||||
i += 1;
|
i += 1;
|
||||||
assert(i.coord() == BufferCoord{1 COMMA 0});
|
kak_assert(i.coord() == BufferCoord{1 COMMA 0});
|
||||||
--i;
|
--i;
|
||||||
assert(i.coord() == BufferCoord{0 COMMA 6});
|
kak_assert(i.coord() == BufferCoord{0 COMMA 6});
|
||||||
++i;
|
++i;
|
||||||
assert(i.coord() == BufferCoord{1 COMMA 0});
|
kak_assert(i.coord() == BufferCoord{1 COMMA 0});
|
||||||
buffer.insert(i, "tchou kanaky\n");
|
buffer.insert(i, "tchou kanaky\n");
|
||||||
assert(buffer.line_count() == 5);
|
kak_assert(buffer.line_count() == 5);
|
||||||
|
|
||||||
BufferIterator begin = buffer.iterator_at({ 4, 1 });
|
BufferIterator begin = buffer.iterator_at({ 4, 1 });
|
||||||
BufferIterator end = buffer.iterator_at({ 4, 5 }) + 1;
|
BufferIterator end = buffer.iterator_at({ 4, 5 }) + 1;
|
||||||
String str = buffer.string(begin, end);
|
String str = buffer.string(begin, end);
|
||||||
assert(str == "youpi");
|
kak_assert(str == "youpi");
|
||||||
|
|
||||||
// check insert at end behaviour: auto add end of line if necessary
|
// check insert at end behaviour: auto add end of line if necessary
|
||||||
begin = buffer.end() - 1;
|
begin = buffer.end() - 1;
|
||||||
buffer.insert(buffer.end(), "tchou");
|
buffer.insert(buffer.end(), "tchou");
|
||||||
assert(buffer.string(begin+1, buffer.end()) == "tchou\n");
|
kak_assert(buffer.string(begin+1, buffer.end()) == "tchou\n");
|
||||||
|
|
||||||
begin = buffer.end() - 1;
|
begin = buffer.end() - 1;
|
||||||
buffer.insert(buffer.end(), "kanaky\n");
|
buffer.insert(buffer.end(), "kanaky\n");
|
||||||
assert(buffer.string(begin+1, buffer.end()) == "kanaky\n");
|
kak_assert(buffer.string(begin+1, buffer.end()) == "kanaky\n");
|
||||||
|
|
||||||
buffer.commit_undo_group();
|
buffer.commit_undo_group();
|
||||||
buffer.erase(begin+1, buffer.end());
|
buffer.erase(begin+1, buffer.end());
|
||||||
buffer.insert(buffer.end(), "mutch\n");
|
buffer.insert(buffer.end(), "mutch\n");
|
||||||
buffer.commit_undo_group();
|
buffer.commit_undo_group();
|
||||||
buffer.undo();
|
buffer.undo();
|
||||||
assert(buffer.string(buffer.end() - 7, buffer.end()) == "kanaky\n");
|
kak_assert(buffer.string(buffer.end() - 7, buffer.end()) == "kanaky\n");
|
||||||
buffer.redo();
|
buffer.redo();
|
||||||
assert(buffer.string(buffer.end() - 6, buffer.end()) == "mutch\n");
|
kak_assert(buffer.string(buffer.end() - 6, buffer.end()) == "mutch\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_editor()
|
void test_editor()
|
||||||
|
@ -61,7 +61,7 @@ void test_editor()
|
||||||
editor.multi_select(std::bind(select_all_matches, std::placeholders::_1, Regex{"\\n\\h*"}));
|
editor.multi_select(std::bind(select_all_matches, std::placeholders::_1, Regex{"\\n\\h*"}));
|
||||||
for (auto& sel : editor.selections())
|
for (auto& sel : editor.selections())
|
||||||
{
|
{
|
||||||
assert(*sel.begin() == '\n');
|
kak_assert(*sel.begin() == '\n');
|
||||||
editor.buffer().erase(sel.begin(), sel.end());
|
editor.buffer().erase(sel.begin(), sel.end());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ void test_editor()
|
||||||
Selection sel{ buffer.iterator_at_line_begin(2_line), buffer.end() };
|
Selection sel{ buffer.iterator_at_line_begin(2_line), buffer.end() };
|
||||||
editor.select(sel, SelectMode::Replace);
|
editor.select(sel, SelectMode::Replace);
|
||||||
editor.insert("",InsertMode::Replace);
|
editor.insert("",InsertMode::Replace);
|
||||||
assert(not editor.main_selection().first().is_end());
|
kak_assert(not editor.main_selection().first().is_end());
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_incremental_inserter()
|
void test_incremental_inserter()
|
||||||
|
@ -81,35 +81,35 @@ void test_incremental_inserter()
|
||||||
editor.select(buffer.begin());
|
editor.select(buffer.begin());
|
||||||
{
|
{
|
||||||
IncrementalInserter inserter(editor, InsertMode::OpenLineAbove);
|
IncrementalInserter inserter(editor, InsertMode::OpenLineAbove);
|
||||||
assert(editor.is_editing());
|
kak_assert(editor.is_editing());
|
||||||
assert(editor.selections().size() == 1);
|
kak_assert(editor.selections().size() == 1);
|
||||||
assert(editor.selections().front().first() == buffer.begin());
|
kak_assert(editor.selections().front().first() == buffer.begin());
|
||||||
assert(editor.selections().front().last() == buffer.begin());
|
kak_assert(editor.selections().front().last() == buffer.begin());
|
||||||
assert(*buffer.begin() == L'\n');
|
kak_assert(*buffer.begin() == L'\n');
|
||||||
}
|
}
|
||||||
assert(not editor.is_editing());
|
kak_assert(not editor.is_editing());
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_utf8()
|
void test_utf8()
|
||||||
{
|
{
|
||||||
String str = "maïs mélange bientôt";
|
String str = "maïs mélange bientôt";
|
||||||
assert(utf8::distance(str.begin(), str.end()) == 20);
|
kak_assert(utf8::distance(str.begin(), str.end()) == 20);
|
||||||
assert(utf8::codepoint(str.begin() + 2) == 0x00EF);
|
kak_assert(utf8::codepoint(str.begin() + 2) == 0x00EF);
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_string()
|
void test_string()
|
||||||
{
|
{
|
||||||
assert(int_to_str(124) == "124");
|
kak_assert(int_to_str(124) == "124");
|
||||||
assert(int_to_str(-129) == "-129");
|
kak_assert(int_to_str(-129) == "-129");
|
||||||
assert(int_to_str(0) == "0");
|
kak_assert(int_to_str(0) == "0");
|
||||||
|
|
||||||
assert(String("youpi ") + "matin" == "youpi matin");
|
kak_assert(String("youpi ") + "matin" == "youpi matin");
|
||||||
|
|
||||||
std::vector<String> splited = split("youpi:matin::tchou", ':');
|
std::vector<String> splited = split("youpi:matin::tchou", ':');
|
||||||
assert(splited[0] == "youpi");
|
kak_assert(splited[0] == "youpi");
|
||||||
assert(splited[1] == "matin");
|
kak_assert(splited[1] == "matin");
|
||||||
assert(splited[2] == "");
|
kak_assert(splited[2] == "");
|
||||||
assert(splited[3] == "tchou");
|
kak_assert(splited[3] == "tchou");
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_keys()
|
void test_keys()
|
||||||
|
@ -124,7 +124,7 @@ void test_keys()
|
||||||
for (auto& key : keys)
|
for (auto& key : keys)
|
||||||
keys_as_str += key_to_str(key);
|
keys_as_str += key_to_str(key);
|
||||||
auto parsed_keys = parse_keys(keys_as_str);
|
auto parsed_keys = parse_keys(keys_as_str);
|
||||||
assert(keys == parsed_keys);
|
kak_assert(keys == parsed_keys);
|
||||||
}
|
}
|
||||||
|
|
||||||
void run_unit_tests()
|
void run_unit_tests()
|
||||||
|
|
|
@ -95,7 +95,7 @@ namespace InvalidBytePolicy
|
||||||
|
|
||||||
struct Assert
|
struct Assert
|
||||||
{
|
{
|
||||||
Codepoint operator()(char byte) const { assert(false); return byte; }
|
Codepoint operator()(char byte) const { kak_assert(false); return byte; }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Pass
|
struct Pass
|
||||||
|
|
|
@ -100,7 +100,7 @@ public:
|
||||||
|
|
||||||
CharCount operator-(utf8_iterator other) const
|
CharCount operator-(utf8_iterator other) const
|
||||||
{
|
{
|
||||||
//assert(other < *this);
|
//kak_assert(other < *this);
|
||||||
check_invariant();
|
check_invariant();
|
||||||
other.check_invariant();
|
other.check_invariant();
|
||||||
CharCount dist = 0;
|
CharCount dist = 0;
|
||||||
|
@ -124,7 +124,7 @@ protected:
|
||||||
void check_invariant() const
|
void check_invariant() const
|
||||||
{
|
{
|
||||||
// always point to a character first byte;
|
// always point to a character first byte;
|
||||||
// assert(is_character_start(it));
|
// kak_assert(is_character_start(it));
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -41,13 +41,13 @@ public:
|
||||||
protected:
|
protected:
|
||||||
Singleton()
|
Singleton()
|
||||||
{
|
{
|
||||||
assert(not ms_instance);
|
kak_assert(not ms_instance);
|
||||||
ms_instance = static_cast<T*>(this);
|
ms_instance = static_cast<T*>(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~Singleton()
|
~Singleton()
|
||||||
{
|
{
|
||||||
assert(ms_instance == this);
|
kak_assert(ms_instance == this);
|
||||||
ms_instance = nullptr;
|
ms_instance = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,10 +134,10 @@ class SafeCountable
|
||||||
public:
|
public:
|
||||||
#ifdef KAK_DEBUG
|
#ifdef KAK_DEBUG
|
||||||
SafeCountable() : m_count(0) {}
|
SafeCountable() : m_count(0) {}
|
||||||
~SafeCountable() { assert(m_count == 0); }
|
~SafeCountable() { kak_assert(m_count == 0); }
|
||||||
|
|
||||||
void inc_safe_count() const { ++m_count; }
|
void inc_safe_count() const { ++m_count; }
|
||||||
void dec_safe_count() const { --m_count; assert(m_count >= 0); }
|
void dec_safe_count() const { --m_count; kak_assert(m_count >= 0); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
mutable int m_count;
|
mutable int m_count;
|
||||||
|
|
|
@ -149,7 +149,7 @@ void Window::scroll_to_keep_cursor_visible_ifn()
|
||||||
if (last != buffer().end())
|
if (last != buffer().end())
|
||||||
{
|
{
|
||||||
// the cursor should always be visible.
|
// the cursor should always be visible.
|
||||||
assert(false);
|
kak_assert(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user