| Age | Commit message (Collapse) | Author |
|
Make readonly specified on startup only apply to files provided on
the command line, and use the correct scope in `edit -readonly`
Fixes #4278
|
|
into HEAD
|
|
|
|
Suggested by: Maxime Coste <mawww@kakoune.org>
|
|
|
|
Some versions of GCC/g++ will not necessarily pad the structure to
a 32-bit boundary, so make the alignment and the filler explicit.
Detected on: Debian/m68k; https://buildd.debian.org/status/fetch.php?pkg=kakoune&arch=m68k&ver=2020.09.01-1&stamp=1629387444&raw=0
|
|
Fix atom text at display time, allow tabs/eol/etc... in display
atoms and escape them just-in-time
Fixes #4293
|
|
|
|
|
|
|
|
This meaning is only used in C++ sources. The docs use "env
var"/"environment variable" a few times for actual environment
variables.
|
|
Commit 2289f350 ("Remove command parsing Reader and just track a
ParserState") introduced a small regression in parse_percent_token()
because we failed to recognize a token like %val{ as percent-expansion.
I tried to add a test case but a UI test doesn't seem possible, e.g.
kak -ui json -e "exec ':echo %opt{<tab>}<ret>'"
prints: 'exec': option not found: ''
|
|
Store data in unique_ptr instead of vectors as we have fixed sizes
Do not allocate new hashes, recompute them on-demand
|
|
|
|
Fixes #4286
|
|
Clearer control of buffering and flushing
|
|
|
|
|
|
The template constructor was mistaken as a copy constructor.
|
|
|
|
They mostly rely on assertions that are disabled in those builds
anyway.
|
|
GCC 11 warns incorrectly about mismatched new/delete because it auto
inlines one but not the other, force inline those function to fix that.
|
|
|
|
|
|
Add a -force (equivalent to w!) switch that enables overwriting.
|
|
|
|
|
|
|
|
This seems to slightly improve parse speed which is where kakoune
spends most of its time during startup.
|
|
Make String::Data use trivial copy of the short/long union to avoid
unnecessary branching there, inline release() as it can be elided by
the compiler on moved-from Strings.
|
|
|
|
Display a whitespace in place of the uncovered half of the codepoint.
(I know this is incorrect and we should be considering grapheme clusters
instead of codepoints, but this is a far bigger refactoring and another
can of worms to handle with terminal emulators).
Fixes #4262
|
|
Take advantage of Optional monadic operations
|
|
Synchronized output does not work well with various terminals
(including the linux console). It should also be unnecessary when
not going through a slow link.
This will eventually be removed if it is not proven to be useful
to some users.
|
|
|
|
The code could position the menu at a negative line leading to
invalid array accesses.
|
|
|
|
|
|
|
|
|
|
Fixes #3559
|
|
Although we try to avoid those, ensuring it never happens is tricky,
and tolerating them avoids the crash.
Fixes #3498
|
|
|
|
TerminalUI::suspend() is responsible for undoing all Kakoune's modifications to
the terminal state, actually suspending the process, then re-applying all the
modifications after Kakoune wakes back up.
Previously, the "undo" and "reapply" steps for termios settings were both after
the suspend point, so on some platforms they were incorrect when the user
arrived back at the shell prompt.
Now, the termios "undo" step is back before the suspend point, and the undo and
reapply steps should be in exactly reversed order.
Fixes #3488.
|
|
In terminals that support it, this sequence causes the terminal to not redraw
*its* output until the application has finished, reducing redraw flickering.
The sequence is defined in:
https://gitlab.com/gnachman/iterm2/-/wikis/synchronized-updates-spec
...and is apparently also supported by kitty and libVTE.
Fixes #3482.
|
|
insert blank seems to behave differently between terminals and would
be less efficient because it still has to shift all following characters
(that we will overwrite anyway).
Fixes #3437
|
|
|
|
Rely on the backend to clear content to eol
|
|
This greatly reduces the amount of data written for a redraw especially
on big terminals where most of the data is trailing blanks
|
|
|