Commit Graph

276 Commits

Author SHA1 Message Date
Přemysl Eric Janouch c69c8048b4 degesch: fix a potential SIGSEGV 2015-04-21 00:40:30 +02:00
Přemysl Eric Janouch 5632eecd42 degesch: get rid of repeating refcounting code
Macros aren't exactly spectacular but they work.
2015-04-21 00:29:07 +02:00
Přemysl Eric Janouch 635c28820d degesch: fix logging a bit
It needs a rewrite.
2015-04-21 00:09:06 +02:00
Přemysl Eric Janouch 0a87e43aff degesch: unfuck reference counting
We really needed weak references for the name map.
2015-04-21 00:04:34 +02:00
Přemysl Eric Janouch 3cfe01e3a7 degesch: fix some object management 2015-04-20 23:37:34 +02:00
Přemysl Eric Janouch c5695a5f6d degesch: fix SIGSEGV on /quit 2015-04-20 23:09:13 +02:00
Přemysl Eric Janouch 5ad6581c57 degesch: halfplement PART handling
Tired.  This thing is enormous.
2015-04-20 23:03:52 +02:00
Přemysl Eric Janouch 590fc6cf26 degesch: mostly implement NICK handling
Except for the corner case where two buffers merge.
2015-04-20 22:53:31 +02:00
Přemysl Eric Janouch 3fa9a67a59 degesch: make a "struct user" for ourselves 2015-04-20 22:09:56 +02:00
Přemysl Eric Janouch a43051132a degesch: log nick changes 2015-04-20 21:56:32 +02:00
Přemysl Eric Janouch b8bfcfde7c degesch: finish QUIT handling 2015-04-20 21:49:46 +02:00
Přemysl Eric Janouch 8e7412eb97 degesch: halfplement NICK and QUIT handlers 2015-04-20 00:08:18 +02:00
Přemysl Eric Janouch 8b279dde81 degesch: disallow /quote from the global buffer 2015-04-19 23:09:01 +02:00
Přemysl Eric Janouch 10f1575677 degesch: fix creation of encoding converters 2015-04-19 23:07:23 +02:00
Přemysl Eric Janouch d01618ceb7 degesch: fix logging 2015-04-19 23:05:49 +02:00
Přemysl Eric Janouch 158f188646 degesch: fix "irc_nickname" and send USERHOST 2015-04-19 22:49:03 +02:00
Přemysl Eric Janouch 51415c1db6 degesch: factor out send_message_to_target()
And check that we're actually connected.
2015-04-19 22:26:30 +02:00
Přemysl Eric Janouch 953bc72e2b degesch: implement PRIVMSG handling 2015-04-19 22:19:52 +02:00
Přemysl Eric Janouch 56ae38b19a degesch: implement JOIN handling 2015-04-19 22:19:26 +02:00
Přemysl Eric Janouch 63d01191b6 degesch: fix sending messages
Now that the data model has changed.
2015-04-19 21:34:52 +02:00
Přemysl Eric Janouch c3d96a8b2d degesch: add some comments 2015-04-19 21:34:33 +02:00
Přemysl Eric Janouch c946c46f1f degesch: implement /join and /part 2015-04-19 21:34:11 +02:00
Přemysl Eric Janouch 392c2e7a5f degesch: fix struct channel_user
A user can have multiple channel modes.
2015-04-19 21:33:13 +02:00
Přemysl Eric Janouch 5502975505 degesch: prepare for user/channel buffers
That is, prepare all the required data structures and their relations.

I'm not particularly good at this, so let's just hope it will work out.
2015-04-19 02:12:59 +02:00
Přemysl Eric Janouch 8c38b1b9b8 degesch: some non-functional changes 2015-04-18 22:09:05 +02:00
Přemysl Eric Janouch da472bc4f6 degesch: count unseen messages 2015-04-18 21:50:42 +02:00
Přemysl Eric Janouch 14077ff209 degesch: capitalize buffer messages
They looked too alien.
2015-04-18 17:51:28 +02:00
Přemysl Eric Janouch 3bf1ffa559 degesch: fix some remaining print_*() 2015-04-18 17:50:56 +02:00
Přemysl Eric Janouch cbda184461 degesch: fix binding Meta keys
At last.
2015-04-18 17:34:35 +02:00
Přemysl Eric Janouch 5dbd6eaa7e degesch: print out some basic help 2015-04-18 17:19:56 +02:00
Přemysl Eric Janouch e65b38bff9 degesch: readline cleanup 2015-04-18 16:10:11 +02:00
Přemysl Eric Janouch 932548ef4b degesch: make readline work better
By randomly poking at it until it stops being a little shit.

Still no Meta keys.
2015-04-18 16:06:10 +02:00
Přemysl Eric Janouch 869781c33a degesch: make it work to some extent
GNU Readline still ignores our Meta keyseqs.
2015-04-18 03:25:10 +02:00
Přemysl Eric Janouch 583262ae67 degesch: printing to buffers etc. 2015-04-17 23:28:16 +02:00
Přemysl Eric Janouch 511c56d2fc degesch: stub IRC command handlers 2015-04-17 22:53:35 +02:00
Přemysl Eric Janouch 0d63e59beb degesch: add irc_to_utf8()
And use it.
2015-04-17 22:22:46 +02:00
Přemysl Eric Janouch 6c4e7f8fdc degesch: fix irc_process_message() 2015-04-17 22:11:36 +02:00
Přemysl Eric Janouch f9125c38c0 degesch: prepare for printing to buffers 2015-04-17 22:10:43 +02:00
Přemysl Eric Janouch 5b9dadcc58 degesch: leak lines from related buffers 2015-04-17 21:48:56 +02:00
Přemysl Eric Janouch 7fed628d58 degesch: inline a condition 2015-04-17 21:44:44 +02:00
Přemysl Eric Janouch 61ebbe245b degesch: factor out make_prompt() 2015-04-17 21:40:08 +02:00
Přemysl Eric Janouch 8cb55e81b3 degesch: actually send messages 2015-04-17 21:33:52 +02:00
Přemysl Eric Janouch 954a9e127a degesch: more user command handling
It's become obvious that I really, really need to finish printing
to buffer first, as I keep adding new TODO comments.
2015-04-17 21:29:18 +02:00
Přemysl Eric Janouch 2d91a27714 degesch: factor out buffer_{previous,next}() 2015-04-17 21:26:08 +02:00
Přemysl Eric Janouch e5b52fcd76 degesch: factor out buffer_get_index() 2015-04-17 21:19:51 +02:00
Přemysl Eric Janouch 2d4adaefbf degesch: enhance the prompt
- prepend the buffer's index
 - don't show modes if they're empty
 - don't show the nick in the global buffer
2015-04-16 21:29:35 +02:00
Přemysl Eric Janouch 75b2fc1da2 degesch: factor out buffer_goto()
And make M-[0-9] ding if there's no such buffer.
2015-04-16 21:20:25 +02:00
Přemysl Eric Janouch 0c96563545 degesch: fix quoting a slash 2015-04-16 20:51:50 +02:00
Přemysl Eric Janouch c421532e6e degesch: some more progress
Whoa, this thing is huge.

Started implementing the basis for IRC and user command handlers.
2015-04-16 01:04:32 +02:00
Přemysl Eric Janouch 08c0027397 degesch: more buffer-related stuff 2015-04-15 21:22:01 +02:00