Merge pull request #80 from ZoiteChat/add-hexchat-plugin-compat

Updated the Python scripting shim to expose EAT_HEXCHAT as an alias o…
This commit is contained in:
deepend-tildeclub
2026-02-24 08:38:27 -07:00
committed by GitHub
8 changed files with 11 additions and 3 deletions

View File

@@ -1,4 +1,5 @@
usr/lib/*/zoitechat/plugins/python.so usr/lib/*/zoitechat/plugins/python.so
usr/lib/*/zoitechat/python/_zoitechat.py usr/lib/*/zoitechat/python/_zoitechat.py
usr/lib/*/zoitechat/python/hexchat.py
usr/lib/*/zoitechat/python/xchat.py usr/lib/*/zoitechat/python/xchat.py
usr/lib/*/zoitechat/python/zoitechat.py usr/lib/*/zoitechat/python/zoitechat.py

View File

@@ -0,0 +1 @@
require ZoiteChat;

View File

@@ -53,14 +53,16 @@ sub ZoiteChat::Internal::print;
#keep compatibility with Xchat scripts #keep compatibility with Xchat scripts
sub EAT_XCHAT (); sub EAT_XCHAT ();
sub EAT_HEXCHAT ();
BEGIN { BEGIN {
*Xchat:: = *ZoiteChat::; *Xchat:: = *ZoiteChat::;
*HexChat:: = *ZoiteChat::;
} }
our %EXPORT_TAGS = ( our %EXPORT_TAGS = (
constants => [ constants => [
qw(PRI_HIGHEST PRI_HIGH PRI_NORM PRI_LOW PRI_LOWEST), # priorities qw(PRI_HIGHEST PRI_HIGH PRI_NORM PRI_LOW PRI_LOWEST), # priorities
qw(EAT_NONE EAT_ZOITECHAT EAT_XCHAT EAT_PLUGIN EAT_ALL), # callback return values qw(EAT_NONE EAT_ZOITECHAT EAT_XCHAT EAT_HEXCHAT EAT_PLUGIN EAT_ALL), # callback return values
qw(FD_READ FD_WRITE FD_EXCEPTION FD_NOTSOCKET), # fd flags qw(FD_READ FD_WRITE FD_EXCEPTION FD_NOTSOCKET), # fd flags
qw(KEEP REMOVE), # timers qw(KEEP REMOVE), # timers
], ],

View File

@@ -4,6 +4,7 @@ zoitechat_perl_module = custom_target('zoitechat-perl-header',
input: [ input: [
'lib/ZoiteChat.pm', 'lib/ZoiteChat.pm',
'lib/Xchat.pm', 'lib/Xchat.pm',
'lib/HexChat.pm',
'lib/ZoiteChat/Embed.pm', 'lib/ZoiteChat/Embed.pm',
'lib/ZoiteChat/List/Network.pm', 'lib/ZoiteChat/List/Network.pm',
'lib/ZoiteChat/List/Network/Entry.pm', 'lib/ZoiteChat/List/Network/Entry.pm',

View File

@@ -1365,6 +1365,7 @@ xs_init (pTHX)
newCONSTSUB (stash, "EAT_NONE", newSViv (ZOITECHAT_EAT_NONE)); newCONSTSUB (stash, "EAT_NONE", newSViv (ZOITECHAT_EAT_NONE));
newCONSTSUB (stash, "EAT_ZOITECHAT", newSViv (ZOITECHAT_EAT_ZOITECHAT)); newCONSTSUB (stash, "EAT_ZOITECHAT", newSViv (ZOITECHAT_EAT_ZOITECHAT));
newCONSTSUB (stash, "EAT_XCHAT", newSViv (ZOITECHAT_EAT_ZOITECHAT)); /* for compatibility */ newCONSTSUB (stash, "EAT_XCHAT", newSViv (ZOITECHAT_EAT_ZOITECHAT)); /* for compatibility */
newCONSTSUB (stash, "EAT_HEXCHAT", newSViv (ZOITECHAT_EAT_ZOITECHAT)); /* for compatibility */
newCONSTSUB (stash, "EAT_PLUGIN", newSViv (ZOITECHAT_EAT_PLUGIN)); newCONSTSUB (stash, "EAT_PLUGIN", newSViv (ZOITECHAT_EAT_PLUGIN));
newCONSTSUB (stash, "EAT_ALL", newSViv (ZOITECHAT_EAT_ALL)); newCONSTSUB (stash, "EAT_ALL", newSViv (ZOITECHAT_EAT_ALL));
newCONSTSUB (stash, "FD_READ", newSViv (ZOITECHAT_FD_READ)); newCONSTSUB (stash, "FD_READ", newSViv (ZOITECHAT_FD_READ));

View File

@@ -5,7 +5,7 @@ from contextlib import contextmanager
from _zoitechat_embedded import ffi, lib from _zoitechat_embedded import ffi, lib
__all__ = [ __all__ = [
'EAT_ALL', 'EAT_ZOITECHAT', 'EAT_NONE', 'EAT_PLUGIN', 'EAT_XCHAT', 'EAT_ALL', 'EAT_ZOITECHAT', 'EAT_NONE', 'EAT_PLUGIN', 'EAT_XCHAT', 'EAT_HEXCHAT',
'PRI_HIGH', 'PRI_HIGHEST', 'PRI_LOW', 'PRI_LOWEST', 'PRI_NORM', 'PRI_HIGH', 'PRI_HIGHEST', 'PRI_LOW', 'PRI_LOWEST', 'PRI_NORM',
'__doc__', '__version__', 'command', 'del_pluginpref', 'emit_print', '__doc__', '__version__', 'command', 'del_pluginpref', 'emit_print',
'find_context', 'get_context', 'get_info', 'find_context', 'get_context', 'get_info',
@@ -22,6 +22,7 @@ __license__ = 'GPL-2.0+'
EAT_NONE = 0 EAT_NONE = 0
EAT_ZOITECHAT = 1 EAT_ZOITECHAT = 1
EAT_XCHAT = EAT_ZOITECHAT EAT_XCHAT = EAT_ZOITECHAT
EAT_HEXCHAT = EAT_ZOITECHAT
EAT_PLUGIN = 2 EAT_PLUGIN = 2
EAT_ALL = EAT_ZOITECHAT | EAT_PLUGIN EAT_ALL = EAT_ZOITECHAT | EAT_PLUGIN

View File

@@ -0,0 +1 @@
from _zoitechat import *

View File

@@ -19,7 +19,7 @@ python3_source = custom_target('python-bindings',
command: [find_program('generate_plugin.py'), '@INPUT@', '@OUTPUT@'] command: [find_program('generate_plugin.py'), '@INPUT@', '@OUTPUT@']
) )
install_data(['_zoitechat.py', 'zoitechat.py', 'xchat.py'], install_data(['_zoitechat.py', 'zoitechat.py', 'xchat.py', 'hexchat.py'],
install_dir: join_paths(get_option('libdir'), 'zoitechat/python') install_dir: join_paths(get_option('libdir'), 'zoitechat/python')
) )