1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-27 13:26:38 +02:00
Commit Graph

11500 Commits

Author SHA1 Message Date
Trygve Aaberge 68040f210a core: Always remove final newline when pasting
Since pasting doesn't send the line now, it's more practical to always
remove the final newline so you don't end up with an empty line at the
end of the input buffer.

Fixes a part of #1498
2023-03-25 18:53:12 +01:00
Trygve Aaberge 37decf3a7c core: Replace newline/tabs after paste is accepted
Instead of replacing newline/tabs when paste is started, do it when the
paste is accepted instead. This makes a difference if you paste again
while the paste confirmation is active, where instead of running it
again for each paste, it will now be run for all the text at the end.

For now this doesn't make a practical difference, but the next commit
will remove the final newline when multiple lines are pasted too, which
we only want to do for the final paste.
2023-03-25 18:53:12 +01:00
Trygve Aaberge 99f6f9e454 core: When pasting, insert text in input instead of interpreting keys
This makes pasted text appear in the input bar, instead of each line
being sent. This allows you to edit the text before sending it, and it
makes multiline paste supported in buffers with input_multiline on.

It also replaces \r with \n in pasted text because most terminals (e.g.
xterm and urxvt) print lines separated by \r when pasting as if return
was pressed between each line, even though the copied text uses \n. The
text sent to the buffer should use \n, not \r, so we have to replace it.

Note that this only works when bracketed paste is enabled or the paste
confirmation as shown, because non-bracketed paste with no paste
confirmation is not detected as a paste.

Fixes a part of #1498
2023-03-25 18:53:12 +01:00
Trygve Aaberge cfaf68ae61 core: Parse bracketed paste also when paste pending
When in paste pending mode, the bracketed paste escape sequence should
still be interpreted, so that if you paste while in paste pending the
same things as when pasting in normal mode still happens, i.e. the
escape sequence is removed, ctrl-y/n is not interpreted and newline/tabs
are replaced.
2023-03-25 18:53:12 +01:00
Sébastien Helleu 8fe4c84b72 core: fix uninitialized variable chunks2_count when key_name and key_name_alias are the same 2023-03-25 18:04:08 +01:00
Sébastien Helleu 94cbed2585 core: fix memory leak in function config_file_read_internal
This was caused by commit 66571a0b63.
2023-03-25 17:56:07 +01:00
Sébastien Helleu 675e63948c core: remove unnecessary assignment 2023-03-25 17:11:15 +01:00
Sébastien Helleu 1b99f861a3 core: remove commented code 2023-03-25 17:11:10 +01:00
Sébastien Helleu 2da5eaf81c core: replace .bz2 by .xz in SRC_URI of cygport template 2023-03-25 11:22:28 +01:00
Sébastien Helleu cf3ba52828 core: remove obsolete cpack config
This config was used to build binary package of WeeChat, which was never
released in this format.
2023-03-25 11:09:04 +01:00
Sébastien Helleu 2550153f26 core: remove build of .bz2 and .zst files in make dist 2023-03-25 11:02:22 +01:00
Sébastien Helleu a2ddfdf5a6 core: fix gcc warning on snprintf 2023-03-25 10:00:54 +01:00
Sébastien Helleu 15f0f7e369 core: add option legacy in command /key 2023-03-24 23:07:40 +01:00
Sébastien Helleu 92b0bc9f10 core: remove RPM packaging
The weechat.spec was obsolete and openSUSE has its own here:
https://build.opensuse.org/package/view_file/server:irc/weechat/weechat.spec?expand=1
2023-03-23 22:30:12 +01:00
Sébastien Helleu dc8f78163f core: replace set -e by set -o errexit in shell scripts 2023-03-23 22:01:48 +01:00
Sébastien Helleu 29ac28f94a core: add extra compiler options to check overflow of destination buffer and output truncation 2023-03-23 18:50:48 +01:00
Sébastien Helleu 952779a74c core: remove autotools related files in .gitignore 2023-03-22 21:10:25 +01:00
Sébastien Helleu 98a599d079 core: move buffer functions and remove them from header file 2023-03-21 20:14:35 +01:00
Sébastien Helleu f48f1c4700 core: remove unused function gui_buffer_is_scrolled 2023-03-21 20:01:12 +01:00
Sébastien Helleu 6edcc6ed41 core: remove unused function gui_buffer_search_by_layout_number 2023-03-21 19:58:53 +01:00
Sébastien Helleu be64e8cddc core: add relative move of read marker with /buffer set unread [+/-]N (closes #1895) 2023-03-20 20:38:24 +01:00
Sébastien Helleu 8475b216a4 doc: update German auto-generated file 2023-03-19 20:03:28 +01:00
Nils Görs e2286a36b4 core: update German translations 2023-03-19 19:55:45 +01:00
Sébastien Helleu dd54e26b4f core: add function bar_new in release notes 2023-03-19 18:45:18 +01:00
Sébastien Helleu 40fa2605b1 core: update ChangeLog (issue #846) 2023-03-19 18:25:05 +01:00
Sébastien Helleu cee14f10d6 core: add option rename in command /bar 2023-03-19 18:24:39 +01:00
Sébastien Helleu e4f181beb3 core: display an error with /bar add when the bar already exists 2023-03-19 17:42:12 +01:00
Sébastien Helleu 6bd49dd595 core: add value "name" in completion of /bar set <name> 2023-03-19 17:26:06 +01:00
Sébastien Helleu b31666cc86 doc/api: fix typo 2023-03-19 17:24:07 +01:00
Sébastien Helleu e385eec1d6 core: fix default value of options for bars added by plugins
When the bar name already exists, the function `bar_new` returns the pointer to
the bar (instead of NULL) and sets the default value for all options with the
values received.
2023-03-19 17:05:26 +01:00
Sébastien Helleu 3ebfe3e117 core: fix long lines in function gui_bar_use_temp_bars 2023-03-19 17:04:13 +01:00
Sébastien Helleu b846df9e0e core: allow any valid boolean value in command /bar set <name> separator xxx 2023-03-19 17:02:14 +01:00
Sébastien Helleu 8c4f02fe5a core: fix typo on bar option name "separator" 2023-03-19 16:53:05 +01:00
Sébastien Helleu c7090ae14a core: use a fixed size buffer to create a bar option 2023-03-19 16:47:46 +01:00
Sébastien Helleu 111525792d core: use a fixed size buffer to rename a bar 2023-03-19 16:47:46 +01:00
Sébastien Helleu 0f4ef874ca core: do not call check callback when setting default value of option 2023-03-19 16:47:46 +01:00
Sekulum Forka d47d9c5ed5 doc/man: call brackets correctly in the serbian translation 2023-03-19 10:08:03 +01:00
Sekulum Forka 16f2c21061 doc/man: fix grammatical mistakes in the serbian translation 2023-03-19 10:08:03 +01:00
Sébastien Helleu ca7da2c961 core: run config hooks only when value or default value is actually changed in set/reset/unset functions 2023-03-19 09:59:33 +01:00
Sébastien Helleu 3e5d77fdff core: optimize commands /reset and /unset with a mask 2023-03-19 08:30:32 +01:00
Sébastien Helleu 0d49ffd053 core: add command /reset to reset options to their default values 2023-03-19 08:02:10 +01:00
Sébastien Helleu 2e82c41c1a core: don't translate the key context (default/search/cursor/mouse) 2023-03-19 07:17:44 +01:00
Sébastien Helleu 89701a3cc0 core: mention breaking changes in release notes 2023-03-18 16:09:47 +01:00
Sébastien Helleu 34e34d28db core: bump version to 4.0.0-dev, follow "practical" semantic versioning 2023-03-18 15:59:23 +01:00
Sébastien Helleu ff544f48fb core: update ChangeLog and release notes (closes #1238) 2023-03-18 15:21:17 +01:00
Sébastien Helleu 5f475ab8cf core: update translations 2023-03-18 15:20:31 +01:00
Sébastien Helleu f7a6bd422a doc: replace comma by underscore in name of option used in anchors 2023-03-18 15:19:08 +01:00
Sébastien Helleu 99ca276556 core: also display mouse codes with /debug key 2023-03-17 22:49:50 +01:00
Sébastien Helleu 64a553f91f core: change order of modifiers in mouse keys
Now the modifiers for mouse keys are in the same order as other keys: `alt-`
then `ctrl-`.
2023-03-17 19:18:30 +01:00
Sébastien Helleu 3640d187b8 core: split gui-curses.h into multiple headers 2023-03-17 18:52:30 +01:00