2.8script
Synopsis
/load 2.8script
Description
A bundled compatibility script with a long ircII history. The default global startup script loads it, but that startup path is not used when a personal startup file is selected. Loading it explicitly installs or replaces its aliases and numeric hook; it accepts no documented configuration arguments.
The current script is smaller than its historical collection of command enhancements. It provides the following definitions:
| Definition | Current behavior |
|---|---|
join |
Splits comma-containing input into recursive join calls; passes arguments beginning with #, &, 0, -, !, or + to the C join command; prefixes other input with #. With no arguments, invokes join -i for the last invited channel. |
leave |
Splits comma-separated targets and adds missing # prefixes, but ultimately invokes //leave, which is not a registered C command in EPIC6. See limitations below. |
Numeric 367 hook |
Replaces ordinary ban-list entry display with banner-prefixed channel and remaining reply fields. It width-formats the channel using channel_name_width. |
clearignore |
Attempts to enumerate and delete ignores through ignorectl, which is absent from the current C function table. It does not provide a working built-in ignore-list purge. |
These are script definitions, not new C commands. The current file does not define cinfo, invite, mode3, or topic, and does not install STATS reply formatting. Commands or formatting with those names must come from other scripts or current built-ins.
Examples
Join channels with optional prefixes:
/join foo,bar,&blah
The alias recursively requests #foo, #bar, and &blah. Server support, permissions, and normal join processing determine the outcome. With no arguments:
/join
The alias attempts the last invited channel through the C join -i path; it is not the C join command's no-argument channel listing. Use //join to bypass the alias and access that listing behavior.
Limitations and interactions
Loading this script replaces the supplied builtins script's working leave alias, which delegates to part. The replacement bypasses aliases with //leave, so it cannot fall back to that earlier alias. With ordinary unknown-command handling, it fails as an unknown command; enabling unknown-command dispatch can instead send an unsupported LEAVE request to the server. Use part directly for leaving channels.
Likewise, the presence of clearignore does not restore the removed ignore implementation. Its ignorectl calls have no current C function behind them.
The 367 hook can replace or conflict with other ban-list formatting hooks. Its channel width uses ordinary width-qualified expansion, including pad_char; a zero width does not pad or truncate. Loading the script itself does not issue join or part requests, but invoking its aliases can do so.
Authors
Many contributors developed this script over time, including Jeremy Nelson (hop).
Source references
script/2.8script: current aliases, parser-format reload, and367hook.script/globalandsource/irc.c: default script loading and personal-startup selection.script/builtins: earlierleavealias delegates topart.source/commands.candsource/window.c: C join handling, invite option, and absence of a Cleavecommand.source/functions.c: current function table has noignorectlimplementation.