A rest argument keeps an empty first element; a removal block keeps its neighbour; the Markdown converter reads paragraphs whole; Smart App Control on the Windows page (from dev 1083db946f05)
- A rest argument (a list's or a table's items) now strips exactly ONE leading bar -- the separator from what precedes it -- so a second one is an empty first element: a table with an empty header corner is written `@table |` then ` | Maskulinum | ...`. Before, every leading bar was dropped and such a header row shifted one column left. New shipped suite tst/rest_test.sh. - Text written hard against a closing ]# (a period, a letter) is no longer removed with the block; a following space or line break still is. - sks/tns/md_to_sks.py converts inline Markdown per paragraph, so emphasis that wraps is converted and not mis-paired; bold may contain italic; tables are unnumbered; links to sibling .md files converted alongside become links to their html pages; the arrow becomes @rightarrow@. - doc/install/windows_source_install.md: Smart App Control must be off -- it blocks MSYS2's unsigned toolchain, and its Evaluation state turns itself on later.
This commit is contained in:
1 parent
6e9889f7ae
commit
bc2b3d8461
8 files changed
+244
-23
No files matched your search
@@ -554,13 +554,16 @@ void mark_ignored_katoms(katom_list& katoms)
|
||||
//auto is_ignore_begin = [](const Katom& k) { return k.m_type == katom_t::ignore_begin; };
|
||||
//auto is_ignore_end = [](const Katom& k) { return k.m_type == katom_t::ignore_end; };
|
||||
for (auto [op,cl] : find_spans(katoms, begin_ignore, end_ignore, true, "ignored")) {
|
||||
// find_span_katoms() returns a half-open range: `end` is the katom
|
||||
// AFTER the closing "]#", as every other caller reads it. This one
|
||||
// read it as inclusive until 2026-10-02 and so removed the katom
|
||||
// abutting the close: "#[...]#." lost its period, "#[...]#x" its x.
|
||||
// A following space or newline is removed by design (the loop
|
||||
// below, and here), which is what hid it.
|
||||
auto [begin, end] = find_span_katoms(katoms, op, cl);
|
||||
// std::for_each(begin, end + 1, [](Katom& k) { k.m_type = katom_t::ignored; });
|
||||
std::for_each(begin, end + 1, mark_as_ignored);
|
||||
//if (end + 1 != katoms.end() && (end+1)->m_type == katom_t::newline) {
|
||||
if (end + 1 != katoms.end() && is_newline(*(end + 1))) {
|
||||
//(end+1)->m_type = katom_t::ignored;
|
||||
mark_as_ignored(*(end + 1));
|
||||
std::for_each(begin, end, mark_as_ignored);
|
||||
if (end != katoms.end() && is_newline(*end)) {
|
||||
mark_as_ignored(*end);
|
||||
}
|
||||
}
|
||||
bool ignore_line = false;
|
||||
|
||||
Reference in new issue
Block a user