Commit Graph

659 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 9d8a7a10d0
Tolerate cut-off UTF-8 messages
I've had this happen to me on Russian channels and it's highly
annoying because you lose the entire message.  On the contrary,
this at worst screws up the last few characters of it.

Closes #2
2020-10-12 23:45:27 +02:00
Přemysl Eric Janouch 73c3ca3633
Bump liberty 2020-10-12 23:00:43 +02:00
Přemysl Eric Janouch 6837fdb7c4
Bump liberty
We've moved most of our configuration test in there.
2020-10-12 04:08:09 +02:00
Přemysl Eric Janouch 529a46ad41
degesch: add support for crossed-out text
Assuming that sgr0 includes rmxx behaviour, which should be true.
2020-10-11 18:07:26 +02:00
Přemysl Eric Janouch f9ef123171
degesch: support more colours 2020-10-11 17:49:31 +02:00
Přemysl Eric Janouch f51dd936f5
degesch: prefer British spelling in comments
Let's say the rest is in Oxford spelling, not sure about it.
2020-10-11 17:48:57 +02:00
Přemysl Eric Janouch 59ac02d91f
Bump liberty
resolve_relative_runtime_unique_filename() used to have a bug.
2020-10-10 04:37:08 +02:00
Přemysl Eric Janouch d78cf10f04
degesch: fix prompt not showing up after change
When a backlog helper was running and the prompt changed,
it failed to restore within input_rl_show().

Since before input_rl_show() is called the prompt is empty
and in input_rl__restore() it will be changed to the new
version, just skip invoking any Readline functions within
input_rl_set_prompt() when the prompt is hidden.  Simple
and straight-forward.

This bug is what I hinted at in the previous commit.
2020-10-06 13:42:27 +02:00
Přemysl Eric Janouch 03e8ad0a3e
degesch: enable wrapping in the backlog by default
The main issue has been eliminated.
2020-10-04 12:17:09 +02:00
Přemysl Eric Janouch f665f147ff
degesch: resolve the issue with less(1) and SO/SI
Now that I've learnt what exactly these characters are and how they
ended up in attribute strings, we can just eliminate them and disable
`backlog_helper_strip_formatting`.  Saner defaults, again.

I've also added skipping of terminfo delay sequences, so now it's less
of an issue to pipe raw attribute sequences into backlog helpers.
2020-10-04 12:04:24 +02:00
Přemysl Eric Janouch 9819b75b64
degesch: make the unread marker look a bit fancier
Upstreamed after who knows how long, in a slightly modified form.
The marker looks fairly ugly without this and defaults should be
desirable.

It's possible to get the previous behaviour by resetting the separator
character in the configuration to an empty string.  It might be
a better idea in general to just disallow this value with a special
validation callback, so that there's only one way to do it.

However given that without fancy-prompt.lua, an optional plugin,
the long line stands out considerably, it might actually be a good
idea to keep the old behaviour as the default.  I'm torn.

Right now we don't care about the situation where the string occupies
more than one terminal cell or is some Unicode BS.  User's problem.
2020-10-04 10:08:30 +02:00
Přemysl Eric Janouch f716e7601f
degesch: fix a typo 2020-10-04 08:44:16 +02:00
Přemysl Eric Janouch eea761d9f7
degesch: make use of arguments in _new() functions 2020-10-04 08:32:15 +02:00
Přemysl Eric Janouch dd8e543a20
degesch: save some memory on channel users
`struct str` was mostly unnecessary, we can save 16+ bytes,
while performance and code readability is mostly unchanged.
2020-10-04 08:28:07 +02:00
Přemysl Eric Janouch dc8b580574
degesch: expand comment about character encoding 2020-10-02 07:09:58 +02:00
Přemysl Eric Janouch 2d9856cca8
Bump liberty, use iscntrl_ascii() 2020-10-02 06:52:11 +02:00
Přemysl Eric Janouch 405848deeb
degesch: remove unnecessary quotes from macro defs
The behaviour is defined by the standard.
2020-09-20 13:43:36 +02:00
Přemysl Eric Janouch b9991d4766
degesch: update comment to reflect reality 2020-09-20 13:43:10 +02:00
Přemysl Eric Janouch 57e92fbb85
Update copyright years 2020-09-02 20:00:11 +02:00
Přemysl Eric Janouch 444f97b357
degesch: work around a libedit attribute issue 2020-09-02 20:00:10 +02:00
Přemysl Eric Janouch ed7130a664
degesch: fix a libedit crash 2020-09-02 20:00:10 +02:00
Přemysl Eric Janouch ba1c2357af
degesch: fix Lua 5.4 build
Not sure about how well it works yet.

Lua 5.3 is still made preferential by the order of pkgconfig lookup.
2020-09-02 20:00:09 +02:00
Přemysl Eric Janouch a48023553e
degesch: fix a pointer operation in the libedit layer 2020-09-02 20:00:09 +02:00
Přemysl Eric Janouch deb096a0e9
Name change 2020-09-02 19:37:29 +02:00
Přemysl Eric Janouch 6287e20919
degesch: fix log reopening after a buffer rename 2020-03-23 00:41:08 +01:00
Přemysl Eric Janouch 07d59db5ab
degesch: clean up unused functions 2020-03-22 02:00:57 +01:00
Přemysl Eric Janouch 2909b017fb
Fix handling terminal resizes while the terminal is suspended
GNU Readline has a misfeature.
2020-03-21 22:02:02 +01:00
Přemysl Eric Janouch 64d4009427
degesch: fix getpwuid usage
The "entry not found" case doesn't have to touch errno.
2019-12-07 21:18:20 +01:00
Přemysl Eric Janouch aa4e86c2a0
degesch: add a comment about ENOTCONN 2018-10-21 05:40:24 +02:00
Přemysl Eric Janouch a0e9ede3e3
Relicense to 0BSD, update mail address
I've come to the conclusion that copyright mostly just stands in the way
of software development.  In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.

The updated mail address, also used in my author/committer lines,
is shorter and looks nicer.  People rarely interact anyway.
2018-06-21 23:46:03 +02:00
Přemysl Eric Janouch 006d34eeae
degesch: fix some log messages
We could use some static analysis for these.
2018-06-21 23:25:45 +02:00
Přemysl Eric Janouch 4586b0e1e4
degesch: introduce cstr_set() 2018-01-08 22:19:28 +01:00
Přemysl Eric Janouch b4507b56af
degesch: thorough review, no functional changes 2018-01-08 22:19:23 +01:00
Přemysl Eric Janouch bf6d507bb2
degesch: fix IPv6:port in irc_split_host_port() 2018-01-08 22:19:02 +01:00
Přemysl Eric Janouch 099a49e6d5
degesch: fix a minor bug in buffer_merge()
The pointer to the last item in the linked list wasn't always fixed,
although nothing really touched it afterwards.
2018-01-08 22:17:02 +01:00
Přemysl Eric Janouch 4627ee82dd
degesch: simplify a popular assertion 2018-01-08 22:16:57 +01:00
Přemysl Eric Janouch 682f90e989
degesch: simplify the configuration dumper 2018-01-08 22:16:52 +01:00
Přemysl Eric Janouch 277af83100
degesch: show an error message on log write failure
Running out of space and I/O errors seem like the most likely causes.
2018-01-08 22:16:36 +01:00
Přemysl Eric Janouch a5a0078def
degesch: make buffer index computation easier to follow 2018-01-08 22:16:10 +01:00
Přemysl Eric Janouch 868e34d15c
degesch: fix a Lua error message 2018-01-08 22:16:06 +01:00
Přemysl Eric Janouch dc47b16034
Bump liberty, avoid fall-through warnings 2018-01-07 17:37:19 +01:00
Přemysl Eric Janouch 36be830bfc
degesch: better shift state encoding handling
I don't know, probably didn't matter.
2017-07-07 20:55:25 +02:00
Přemysl Eric Janouch a2611cdc3c
Rework constructors/destructors 2017-06-22 22:56:24 +02:00
Přemysl Eric Janouch 68bc297809
Bump liberty 2017-06-22 22:39:39 +02:00
Přemysl Eric Janouch c3d62b8799
Avoid the "poller_fd::closed" feature
Reliability enhancement for Linux.

This feature was created for ponymap, however we don't care about an
extra syscall in most places.  Doing it right even saves lines.
2017-05-06 21:35:44 +02:00
Přemysl Eric Janouch ec842db0fb
Update copyright years 2017-04-22 19:41:27 +02:00
Přemysl Eric Janouch 0981df485a
degesch: simplify quitting
- send a QUIT on C-c, too
 - shut down the connection on /disconnect, too

Connection management is one of the few fucked up parts
that remain in that state for historical reasons.
2017-04-20 20:55:49 +02:00
Přemysl Eric Janouch 9f0c18cc41
degesch: fix confusing message
It seemed like we were connecting albeit we were connected already.
2017-04-20 20:26:04 +02:00
Přemysl Eric Janouch 1313a712df
degesch: make a second /disconnect always succeed 2017-04-20 20:25:21 +02:00
Přemysl Eric Janouch 9e5725662f
Bump liberty 2017-01-23 23:50:27 +01:00