ailin-nemui
630c6f7e14
Merge pull request #946 from ailin-nemui/resize-freeze
...
fix irssi being stuck when resized very small
2018-09-29 22:02:29 +02:00
ailin-nemui
116e202d22
Merge pull request #938 from ailin-nemui/hide-hidden-act
...
Don't trigger activity on hidden lines by default
2018-09-29 22:02:10 +02:00
Doug Freed
b264540f4e
fe-text: clear hidelevel in layout if default
...
This is required, otherwise setting the hidelevel to the default will
not be written in the layout and so won't persist.
2018-09-29 07:13:32 -04:00
ailin-nemui
04daf62dbf
Fix insufficient size of help column when the window width is small
2018-09-28 14:30:39 +02:00
ailin-nemui
8684ccb45c
invalidate startline and bottom_startline when hidden
...
this was overlooked when adding hidden line support. if the lines are
removed, Irssi has to update the startline. It does that by "scrolling"
the lines to the proper place. The scroll function was adjusted to
calculate 0 for hidden lines, thus it would miss them.
2018-09-28 11:41:30 +02:00
ailin-nemui
76b934d18e
Fix broken display after resizing many windows very small
2018-09-26 15:21:08 +02:00
ailin-nemui
db005007cf
fix irssi being stuck when resized very small
2018-09-26 14:18:37 +02:00
ailin-nemui
01f961cdf1
Don't trigger activity on hidden lines by default
...
This is controlled by a new activity_hide_window_hidelevel setting.
2018-09-24 08:18:13 +00:00
ailin-nemui
cdfd75da98
Merge pull request #941 from dwfreed/window_default_hidelevel
...
Add window_default_hidelevel setting
2018-09-23 11:22:46 +02:00
ailin-nemui
57857856a6
Merge pull request #937 from ailin-nemui/hidden-ignores
...
correctly separate ignore flags (no_act, hidden) from level
2018-09-23 11:22:31 +02:00
ailin-nemui
f231a59e81
properly document the ignore_match_level so I understand it next time
2018-09-20 17:50:35 +02:00
ailin-nemui
ee92e3aff2
Merge pull request #939 from ailin-nemui/fix-modules
...
some header fixes for C modules
2018-09-20 17:38:03 +02:00
ailin-nemui
708ba06dbc
Merge pull request #930 from ailin-nemui/fix-928
...
fix accessing unallocated text when checking entry position
2018-09-20 17:37:50 +02:00
ailin-nemui
a7af259dd1
Merge pull request #929 from ailin-nemui/oddcommands
...
Remove incorrectly copied automake commands from fuzzer
2018-09-18 21:14:55 +02:00
Doug Freed
cad79f1db7
Fix compilation warning
2018-09-17 14:34:06 +00:00
Doug Freed
074e6cf768
fe-text: only save non-default window hidelevel
...
This will only save the window hidelevel in the layout if it differs
from window_default_hidelevel.
2018-09-17 14:26:25 +00:00
Doug Freed
cb6279c63b
fe-text: add window_default_hidelevel setting
...
Allows specifying the hidelevel that new windows get by default.
2018-09-17 13:28:46 +00:00
ailin-nemui
011d9437d1
oops
2018-09-17 13:08:43 +02:00
ailin-nemui
7e9f8c694b
simplify ignore hidden/no_act code
2018-09-17 12:48:42 +02:00
ailin-nemui
b9a274a81d
correctly separate ignore flags (no_act, hidden) from level
2018-09-17 12:26:13 +02:00
ailin-nemui
20dcf4e53e
fix compilation of python module
2018-09-14 12:44:41 +02:00
ailin-nemui
c174247502
fix compilation of theme-indent module
2018-09-14 11:59:05 +02:00
ailin-nemui
c80946bcf5
Disconnect SASL properly in case the sasl module got unloaded from server
...
stops from getting on the network when sasl is unavailable
fixes #629
2018-09-04 15:50:58 +02:00
ailin-nemui
74e8371bde
fix accessing unallocated text when checking entry position
...
fixes #928
2018-09-04 14:12:03 +02:00
ailin-nemui
3f0a4ef197
Remove incorrectly copied automake commands from fuzzer
2018-09-04 10:17:20 +02:00
ailin-nemui
7f14d4d744
Merge pull request #896 from phillid/winch-redraw
...
Don't ignore SIGWINCH when window size is unchanged
2018-09-04 10:02:52 +02:00
ailin-nemui
d93cd63243
Merge pull request #917 from dequis/wcwidth-wrapper
...
Add a wrapper of wcwidth() that picks the best implementation
2018-09-04 09:52:21 +02:00
ailin-nemui
e5759a7fb7
Merge pull request #914 from ailin-nemui/textbuffer_lineinfo
...
properly record line info on empty lines
2018-09-04 09:37:10 +02:00
ailin-nemui
329448939b
Fix gnu wcwidth
2018-09-04 09:36:45 +02:00
ailin-nemui
afb3daaf65
Merge pull request #919 from ailin-nemui/uafs
...
Use-after-frees
2018-09-04 09:35:47 +02:00
ailin-nemui
8261b2a7c8
Merge pull request #922 from dequis/fix-new-config-file-write
...
Fix /save not working if the config didn't previously exist
2018-09-04 09:35:21 +02:00
dequis
e2e27d1809
Improve error message when failing to create the config dir
2018-09-02 01:20:09 -03:00
dequis
3351c54a2f
Fix /save not working if the config didn't previously exist
...
realpath() was supposed to resolve symlinks but it also fails with
ENOENT (no such file or directory) if the file just isn't there.
2018-09-01 19:12:17 -03:00
Will Storey
b11932d24f
Make channel event functions static again
2018-08-27 21:04:23 -07:00
Will Storey
2ccb312b8b
Expose functions for testing
2018-08-27 20:51:18 -07:00
Will Storey
2d6033542e
Add functions to override irssi dir and config
...
Setting up to test is easier this way.
2018-08-27 20:51:18 -07:00
Will Storey
04db359a6d
Handle topic info numeric separately from topic & topic numeric
...
As we called the same function for the topic info numeric, we ended up
losing the topic as that numeric does not include it. We now call a
different function to handle this case more carefully. Fixes #903 .
2018-08-27 20:51:18 -07:00
Will Storey
bbca1a5a0f
Revert "Revert "Flag topic as unset if it is zero length""
...
This reverts commit 817179a760
.
2018-08-27 20:50:17 -07:00
ailin-nemui
1bbd9f393c
Merge pull request #909 from meribold/master
...
Fix `/save` replacing symlinks with regular files
2018-08-27 10:13:20 +02:00
dequis
7b70d051da
wcwidth-wrapper: avoid cast with a tiny wrapper, julia_wcwidth()
2018-08-27 00:14:01 -03:00
dequis
92804cb1aa
gui-windows: make the wcwidth_impl global var into static
2018-08-27 00:01:47 -03:00
dequis
e450a7f8c1
modules_deinit: Fix -Werror=declaration-after-statement
2018-08-24 02:27:45 -03:00
dequis
ade2f87fe5
Fix use after free introduced by the use after free patch
2018-08-24 02:19:42 -03:00
dequis
9dd836b876
Fix "discards ‘const’ qualifier" warnings
2018-08-24 02:11:22 -03:00
ailin-nemui
071ada830b
up abi
2018-08-23 14:21:37 +02:00
coypu@sdf.org
610ab2dafa
Use-after-frees
...
Hi folks!
I tried clang-static-analyzer on irssi 1.1.1, it seems like it
finds some things. Here's a diff, but there might be more that you would
want to check, or choose to work differently.
(in special-vars.c, ret is commands->data sometime)
I hope it's not too much trouble if reported as a confidential bug.
Thanks.
2018-08-23 14:13:48 +02:00
ailin-nemui
b2a429bfb4
update line cache on switching wcwidth implementation
2018-08-23 14:03:53 +02:00
ailin-nemui
3ef0b9b3d0
move "auto" to default instead
2018-08-23 14:03:16 +02:00
ailin-nemui
b95ce3e812
add julia's utf8proc wcwidth implementation
2018-08-23 13:23:35 +02:00
dequis
24f1ed7edb
irc-cap: Don't show warning on CAP LIST response
2018-08-23 03:22:30 -03:00
dequis
0d8632943d
Add a wrapper of wcwidth() that picks the best implementation
...
This adds a i_wcwidth() function that replaces mk_wcwidth(), and a
'wcwidth_implementation' setting to pick which one it wraps.
Values:
- old: uses our local mk_wcwidth() which implements unicode 5.0
- system: uses the libc-provided wcwidth(), which may be better or worse
than ours depending on how up to date the system is.
- auto: tests the system one against two characters that became
fullwidth in unicode 5.2 and 9.0 respectively. If either of them pass,
pick the system implementation, otherwise pick ours.
It defaults to auto.
mk_wcwidth() is still preferable in some cases, since the way it uses
ranges for fullwidth characters means most CJK blocks are covered even
if their characters didn't exist back then.
The "system" implementation is also wrapped to never return -1, but to
assume those unknown characters use one cell. Quoting the code:
/* Treat all unknown characters as taking one cell. This is
* the reason mk_wcwidth and other outdated implementations
* mostly worked with newer unicode, while glibc's wcwidth
* needs updating to recognize new characters.
*
* Instead of relying on that, we keep the behavior of assuming
* one cell even for glibc's implementation, which is still
* highly accurate and less of a headache overall.
*/
2018-08-23 02:30:26 -03:00
ailin-nemui
af1e4d6e34
initialise the line to zeros
2018-08-21 09:21:23 +02:00
ailin-nemui
a19b503a31
properly record line info on empty lines
2018-08-21 00:31:12 +02:00
Joseph Bisch
4f5f62ac63
Add server-fuzz to fe-fuzz
...
Based on test-796.c in the tests directory.
2018-08-15 11:11:09 -04:00
ailin-nemui
817179a760
Revert "Flag topic as unset if it is zero length"
2018-08-13 14:43:25 +02:00
Lukas Waymann
7d3eb47ab5
Fix potential rename(3)
across file systems
...
Make sure the temporary file in the `config_write` function is created
on the same file system as the file we `rename` it to later.
2018-08-12 10:55:47 +00:00
Lukas Waymann
764f8215a9
Fix /save
replacing symlinks with regular files
...
A side-effect of 8deb618
is that `/save` may replace configuration files
that are symlinks with regular files. Fix this by resolving all
symlinks before renaming the temporary file.
2018-08-12 07:22:14 +00:00
David Phillips
10f6326649
Redraw on SIGWINCH when screen size hasn't changed
...
Some programs and users send SIGWINCH as a request for the client to redraw
in the event of session detachment/reattachment (e.g. abduco). A well-formed
terminal will only send SIGWINCH when the window size has changed, so there
is no need to optimise this case out.
2018-08-06 14:58:56 +12:00
Doug Freed
f3909b8bcb
core/ignore: fix #900
2018-08-03 17:07:06 -04:00
ailin-nemui
0c94d44f52
Merge pull request #892 from dwfreed/fix-ignore-flags
...
core/ignore: fix ignore_match_level handling of flag levels
2018-08-02 13:42:24 +02:00
ailin-nemui
ffd7ecc8bf
Merge pull request #897 from horgh/horgh/topic-unset
...
Flag topic as unset if it is zero length
2018-07-31 09:34:15 +02:00
dequis
b114b11e36
channel_change_topic: change one strlen == 0 to *str == '\0'
2018-07-30 23:45:56 -03:00
ailin-nemui
c7e50f48e5
Merge pull request #886 from vague666/set_item_format
...
remove = from format because people get confused by it
2018-07-25 11:32:06 +02:00
Will Storey
15840ac27b
If we receive a 0 length topic, record it as unset
...
Fixes #888 .
Previously we showed that there was a topic set when using /topic, just
an empty one. This was different than how we show such topics when
initially joining a channel. Now we say that the topic is unset in both
cases.
2018-07-24 18:45:22 -07:00
Will Storey
0e187cf9cf
Fix typo in comment
2018-07-24 18:29:31 -07:00
Janik Rabe
4f45828ff3
Keep errstr set to NULL if errno is not set
...
Don't use errno if it is not set and show the default error message
instead. This prevents messages like "SSL handshake failed: Success"
from being shown.
2018-07-18 21:12:38 +03:00
Doug Freed
d84a24444f
core/ignore: fix ignore_match_level handling of flag levels
2018-06-29 09:00:38 -04:00
vague666
1ab679bf32
remove = from format because people get confused by it
2018-06-14 20:07:43 +02:00
vague666
ba2554dd14
missing space
2018-06-09 05:55:25 +02:00
vague666
d2e1caf720
simplifying code
2018-06-07 15:17:46 +02:00
vague666
1547248e94
simplify code
2018-06-06 11:03:44 +02:00
vague666
ac3af3fb56
these were bitflags
2018-06-06 10:00:38 +02:00
vague666
db3b671328
Added HIDDEN level to ignores
2018-06-05 15:29:40 +02:00
ailin-nemui
631650bd8a
Revert "record line info on empty lines"
2018-05-07 21:22:43 +02:00
ailin-nemui
e19d6ee219
Merge pull request #873 from ailin-nemui/empty_lines
...
record line info on empty lines
2018-04-24 13:58:25 +02:00
ailin-nemui
0caf884e92
Merge pull request #871 from dequis/atomic-config-write
...
Make config_write more atomic to prevent truncation when out of space
2018-04-24 13:58:15 +02:00
ailin-nemui
34b31e8451
record line info on empty lines
2018-04-16 16:22:04 +02:00
dequis
8deb6182c6
Make config_write more atomic to prevent truncation when out of space
...
This is modeled after glib's g_file_set_contents. It doesn't use that
function directly because the writing is done with GIOChannel
streaming-like writes and g_file_set_contents expects the whole thing to
be in-memory.
Main differences with g_file_set_contents:
- complete lack of win32 special casing (cygwin/WSL should work though)
- no fallocate() (linux only, but we don't know the size upfront, anyway)
- always calls fsync (glib skips it on btrfs or when not overwriting)
Other than that, it's the same old mkstemp + fsync + rename.
2018-04-08 15:52:09 -03:00
dequis
d0151fd5a2
Add fe-cap to show messages for CAP-related events in the UI
...
Replaces cap.pl
2018-04-08 01:26:11 -03:00
dequis
af5ee997e7
Add "server cap req" signal, emitted before requesting caps
2018-04-08 01:24:48 -03:00
ailin-nemui
b2b1ac6708
Merge pull request #866 from ailin-nemui/reconnects
...
This is a simple change which might fix #130
The lookup_servers are also disconnected if the lookup/SSL handshake doesn't succeed in time. I'm not perfectly sure if this is the master fix but it does seem to be an issue that servers can be stuck in lookup, especially for SSL. See the issue for a reproducer
2018-04-06 10:50:58 +02:00
ailin-nemui
8bf2162053
Merge pull request #858 from ailin-nemui/sbar
...
change the statusbar commands so that no accidential status bars are created
2018-04-02 08:36:53 +02:00
ailin-nemui
0c1db8f2ae
Merge pull request #854 from irssi/ahf/otr
...
OTR support, take 2
2018-03-31 13:04:35 +02:00
dequis
4501917cae
otr: rename module.c to otr-module.c
2018-03-31 01:46:34 -03:00
ailin-nemui
c08685a1a3
also reconnect lookup_servers
2018-03-29 23:24:13 +02:00
ailin-nemui
a3b9e2370f
up abi
2018-03-29 22:00:40 +02:00
dequis
7d7c6975ed
otr: add target param to the unencrypted 'message private' signal
...
Same case as the previous commit.
2018-03-28 23:36:03 -03:00
dequis
dd7dc7ca7d
otr: fix missing 'target' param in 'message private' signal
...
Fixes warnings like these on '/msg yourself'
-!- Irssi: critical privmsg_get_query: assertion 'nick != NULL' failed
-!- Irssi: critical query_find: assertion 'nick != NULL' failed
2018-03-28 23:06:47 -03:00
dequis
b52cf1015e
otr: add KEY_GEN_STARTED state to avoid starting it twice
...
Fun race condition there, got this when testing with the jabber
xmlconsole open in bitlbee
2018-03-28 22:40:17 -03:00
Dorian Harmans
17920ab5aa
Merge remote-tracking branch 'upstream/master'
2018-03-26 22:50:54 +02:00
ailin-nemui
7fc59d2d10
Merge pull request #862 from ailin-nemui/line_is_null
...
fix a crash when trying to append to a NULL line
2018-03-26 12:46:04 +02:00
Dorian Harmans
25a44dacf4
fix build with LibreSSL 2.7.0
2018-03-23 21:35:35 +01:00
ailin-nemui
138eca0749
fix build
2018-03-20 18:13:26 +01:00
ailin-nemui
ee04cd503f
add disabled txt
2018-03-20 17:59:11 +01:00
ailin-nemui
977c2c0a0d
refactor common parts
2018-03-20 17:53:03 +01:00
ailin-nemui
501c150ec2
make new status bar actually work
2018-03-20 17:39:08 +01:00
ailin-nemui
7d99ff05cd
Merge pull request #803 from ailin-nemui/bug-796-test
...
Postpone server cleanup until after unref
2018-03-20 10:30:01 +01:00
ailin-nemui
6ffbd0ab54
Merge pull request #859 from ailin-nemui/delkeys
...
make default keybinds deletable
2018-03-19 16:23:27 +01:00
ailin-nemui
c8191b3315
abi bump
2018-03-19 10:35:42 +01:00
ailin-nemui
61c58b7690
actually check which of add or modify was called
2018-03-19 10:35:39 +01:00