Commit graph

6,903 commits

Author SHA1 Message Date
kofany
20f113ef19
Merge branch 'irssi:master' into utf8-grapheme-clusters 2025-11-25 14:23:35 +01:00
ailin-nemui
89dc74cbdd
Merge pull request #1591 from soulseller/fix/netsplit-nickname-truncation
fe-netsplit: fix nickname truncation to avoid trailing comma-space
2025-11-25 13:19:12 +00:00
ailin-nemui
bab97b4c0c
Merge pull request #1588 from arza-zara/patch-1
Increase default scrollback_lines
2025-11-25 12:23:40 +00:00
soulseller
5416843d2d fe-netsplit: fix nickname truncation to avoid trailing comma-space 2025-11-23 15:15:24 +02:00
ailin-nemui
f4a4bcb4b8
Merge pull request #1590 from jremes-foss/lusers-in-typo-fix
Typo fix in docs/help/in/lusers.in
2025-11-22 15:08:00 +00:00
Juha Remes
3316202c48 Typo fix in docs/help/in/lusers.in 2025-11-22 14:27:53 +00:00
kofany
20fbea0e2d Move is_combining_char() to core utf8 module
Relocate is_combining_char() from gui-entry.c to src/core/utf8.c
as suggested in code review. This better organizes the codebase by
placing UTF-8 character classification logic with other UTF-8
utilities in the core module.

The function now uses is_utf8() instead of checking term_type
directly, which is the appropriate method for core layer code.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 20:39:46 +02:00
arza
f293277765
Increase default scrollback_lines
It seems common that people miss important messages when being away and want to increase the scrollback.
2025-09-23 00:01:54 +03:00
kofany
becc4f9068 Fix emoji variation selector width calculation in string_advance
Addresses issue where emoji with variation selectors (like ❣️, ♥️) were
incorrectly calculated as width 1 instead of width 2, causing display
overflow in modern terminals.

- Add variation selector detection (0xFE0F) in string_advance_with_grapheme_support()
- Apply special width handling for base emoji + variation selector combinations
- Ensures consistent width calculation with input field processing
- Fixes chat window overflow issues in terminals like Ghostty

This brings string_advance logic in line with unichar_array_advance_cluster
which already had proper variation selector handling.
2025-09-10 20:55:25 +02:00
kofany
28a793d659 Implement proper UTF-8 grapheme cluster support for modern terminals
This commit addresses critical UTF-8 display and input issues, particularly
with emoji variations and complex Unicode sequences that caused rendering
problems in modern terminals like Ghostty.

Key improvements:
- Enhanced utf8.c with grapheme cluster detection using utf8proc
- Fixed input field handling to preserve emoji variation selectors
- Improved text measurement and cursor positioning for complex Unicode
- Added smart paste processing for multi-codepoint characters
- Bypassed problematic TRANSLIT when not needed for UTF-8 content
- Enhanced GUI entry and readline to handle grapheme clusters properly

The implementation maintains full backward compatibility while providing
proper support for modern Unicode standards, fixing display corruption
that occurred with emoji sequences containing variation selectors.

Tested with emoji sequences like: 💕💋😘🥰💞❣️💓♥️♥️💓❣️🥰🥰😘💋💋
2025-09-10 17:44:46 +02:00
ailin-nemui
e70993c4b6
Merge pull request #1577 from ailin-nemui/glib276
replace str->str & g_string_free with g_string_free_and_steal
2025-07-26 17:32:43 +00:00
ailin-nemui
cc24b2c54c
Merge pull request #1579 from ailin-nemui/ghvoid
fix xbps github action
2025-07-25 14:48:09 +00:00
Ailin Nemui
d21ff2e658 fix xbps 2025-07-25 16:24:11 +02:00
Ailin Nemui
8eee36d1ea replace str->str & g_string_free with g_string_free_and_steal
solving unused warning in GLib 2.76
2025-07-22 12:03:49 +02:00
ailin-nemui
995e77c30d
Merge pull request #1575 from irssi/hilight_syntax_update
Add -priority to hilight syntax line
2025-07-21 16:51:55 +00:00
ailin-nemui
216715bc81
Merge pull request #1576 from ailin-nemui/solaris
fix github solaris test
2025-07-21 16:51:40 +00:00
Ailin Nemui
9f0b2bc50d detect third argument type of puts 2025-07-21 18:35:09 +02:00
Ailin Nemui
6276fe1a68 debug logging solarisvm prepare 2025-07-20 23:03:52 +02:00
Jari Matilainen
7681cb7585
Add -priority to hilight syntax line 2025-07-20 22:40:59 +02:00
ailin-nemui
aa285d45cd
Merge pull request #1572 from ailin-nemui/perl-redefined
fix _GNU_SOURCE redefined warning due to perl ccflags
2025-07-13 17:57:31 +00:00
Ailin Nemui
838f8d179e fix _GNU_SOURCE redefined warning due to perl ccflags 2025-07-13 19:33:52 +02:00
ailin-nemui
599448af2e
Merge pull request #1566 from ar-an-ribe/fix-for-issue-1513
Resolve issue #1513.
2025-05-02 05:56:26 +00:00
Christian Carey
f12ed4ff54 Resolve issue #1513. 2025-05-02 00:02:46 -04:00
ailin-nemui
4ec9d10904
Merge pull request #1560 from ailin-nemui/wchar
add missing include for wcwidth thread test
2025-04-29 20:34:42 +00:00
Ailin Nemui
9fd6df2a15 add missing include for wcwidth thread test 2025-04-29 22:27:14 +02:00
ailin-nemui
4b33824249
Merge pull request #1565 from ailin-nemui/void
Void Linux github action fixes
2025-04-29 20:26:31 +00:00
Ailin Nemui
8eea7bef92 curl render 2025-04-29 22:19:02 +02:00
Ailin Nemui
af4fa60d3e s/gsed/sed 2025-04-29 22:14:52 +02:00
ailin-nemui
824c1aa376
Merge pull request #1563 from ailin-nemui/void
test the void
2025-04-29 20:08:05 +00:00
Ailin Nemui
5c53f2a329 test the void 2025-04-29 22:03:33 +02:00
ailin-nemui
f857f29eaf
Merge pull request #1564 from ailin-nemui/pep440
adapt pep440 dev version in make-dist.sh
2025-04-29 20:02:49 +00:00
Ailin Nemui
4857586564 adapt pep440 dev version in make-dist.sh 2025-04-29 20:52:56 +02:00
ailin-nemui
b14bc4a2fc
Merge pull request #1559 from ailin-nemui/bitwarnings
make bitfields unsigned
2025-04-27 12:41:57 +00:00
Ailin Nemui
c7c8d074bd up abi 2025-04-27 14:31:53 +02:00
Ailin Nemui
8acda3f9eb make bitfields unsigned 2025-04-27 14:31:01 +02:00
ailin-nemui
39d15558d2
Merge pull request #1561 from ailin-nemui/ghactions
update to ubuntu 22.04 in github actions
2025-04-27 10:35:46 +00:00
Ailin Nemui
b9511a9b7e update to ubuntu 22.04 in github actions 2025-04-27 12:23:54 +02:00
ailin-nemui
4449455113
Merge pull request #1558 from ailin-nemui/darwin-warning
fe-text: remove const for better Darwin support
2025-04-14 17:23:36 +00:00
Emil Engler
32adf7c1dd fe-text: remove const for better Darwin support
This commit removes the `const` qualifier from certain member fields,
as the Darwin version of several `<term.h>` related functions only
accept a `char *` rather than a `const char *`, thereby resulting in
dozens of compiler warnings.
2025-04-14 18:16:04 +02:00
ailin-nemui
a5441f62b9
Merge pull request #1542 from sortie/HOST_NOT_FOUND
Fix using HOST_NOT_FOUND instead of EAI_NONAME.
2025-04-14 13:36:51 +00:00
ailin-nemui
a1c8edfa44
Merge pull request #1541 from sortie/inet_aton
Replace obsolescent inet_addr(3)/inet_aton(3) with inet_pton(3).
2025-04-14 13:36:44 +00:00
ailin-nemui
efd8f9b3a5
Merge pull request #1540 from sortie/select
Include <sys/select.h> to get select(3).
2025-04-14 13:36:35 +00:00
Jonas 'Sortie' Termansen
f24d859c80 Fix using HOST_NOT_FOUND instead of EAI_NONAME.
HOST_NOT_FOUND is a gethostbyname(3) error condition rather than a
getaddrinfo(3) error condition and cannot be passed to net_gethosterror
as documented as it calls gai_strerror(3). EAI_NONAME is the appropriate
similar error condition as standardized by POSIX for getaddrinfo(3).
2025-04-14 15:09:27 +02:00
Jonas 'Sortie' Termansen
38440cf340 Replace obsolescent inet_addr(3)/inet_aton(3) with inet_pton(3).
inet_addr has become obsolescent as of POSIX-1.2024 and is not available
on strict POSIX 2024 libc implementations.

inet_pton(3) is the standard and portable replacement available on all
POSIX-1.2001 systems.
2025-04-14 15:08:55 +02:00
Jonas 'Sortie' Termansen
4b2951c828 Include <sys/select.h> to get select(3).
This is the header required by POSIX-1.2024.

This change is needed to build irssi on operating systems such as Sortix
that have a strict libc without obsolete behaviors.
2025-04-14 15:08:02 +02:00
ailin-nemui
5a9a9ababa
Merge pull request #1557 from ailin-nemui/solarisvm
test solaris build with github/vmactions
2025-04-14 13:07:23 +00:00
Ailin Nemui
6dce0a091b test solaris build with vmactions 2025-04-08 09:03:10 +02:00
Ailin Nemui
382bde9ab3 namespace TERM_REC functions (conflict with curses.h) 2025-04-08 09:03:00 +02:00
Ailin Nemui
7bac5eb762 include curses.h when needed 2025-04-08 09:03:00 +02:00
ailin-nemui
fca3e83e68
Merge pull request #1543 from Steering7253/master
add ipaddr and family to perl SERVER_REC (and connrec)
2025-04-08 06:05:42 +00:00