-D_SOCKADDR_LEN to CFLAGS.OSF1. DU has system headers that sometimes
provide the 4.4BSD length field and sometimes not, depending on which
_FOO_SOURCE things you define and other factors. The package's
configure script isn't coping; it's not fully clear why but it looks
like it's using different CFLAGS for configure tests and building, or
something like that...
PR 42474.
EPIC4-2.2
*** News -- 11/09/2004 -- Changes to way spaces are handled *** IMPORTANT ***
Up until this point, the technical definition of what is a "space"
(the term used for an Internal Field Separator (IFS), that is, the
thing that separates one word from another word)
EPIC has always had three sets of IFSs
1) Character 32 only ("space")
2) Characters 9, 10, 11, 12, 13, and 32 ("my_isspace()")
3) Whatever your locale says is a space ("isspace")
In the C locale (the default for unix users), sets #2 and #3 are
exactly the same. I don't know about other locales.
Now we are going to only use set #3. Changing Set #2 to Set #3 is
easy, and nobody should notice any difference there. The one that
is going to cause pain is Set #1. Consider this situation:
One<tab>Two
Is this one word, or two words? In some places in epic, it is one
word, and in other places it is two words. As a result of this
change, it will now always be two words every place.
Here is a list of the places that were using Set #1 that will change
to use Set #3, and you should be on the lookout for changes!
*) /AWAY separated the end of its flags with spaces.
This means
/AWAY -ALL<tab>Hi there!
will now work properly.
*) $pop(....) removes the last word from the argument list.
Whereas $pop(one two<tab>three) used to return "two<tab>three"
is will now only return "three"
*) Commands are separated from the argument list by a "space".
Whereas
/one<tab>two blah blah blah
parsed "one<tab>two" as the command, now "one" is the command
and "two" is part of the argument list.
*) In expressions, a variable name may be separated from an
operator with a space. Whereas things like
@var<tab> =foo
might have failed because <tab> is not a valid character in
a variable name, it will now treat <tab> the same as a space.
*) Places that expect a number did not accept a string that contained
a <tab> so that things like
<tab><tab>9
was not accepted as a number. Now it will be.
*) The /IGNORE command used to consider a string containing a <tab>
to not be empty. This means that
/IGNORE <tab>
would not list the ignorance list, but rather would try to show
the ban value for an ignore matching <tab> which isn't reasonable.
*) The % wildcard pattern stopped matching only when it saw char 32.
Now it will stop whenever it seems a Set 3 type space.
So whereas before "%" matched "one<tab>two" now it won't,
because "one<tab>two" is two words, not one word.
*) In /xdebug extractw mode, tabs before or after double quotes were
not considered to start or end a double quoted word. So previously
this string:
one <tab>"two three" four
contained four words, because the <tab> before "two nullified
the double quoting. Now that <tab> is treated like any other
space, the above word has three words, not four.
Places that use Set 1 and will NOT be changing to Set 3, because
they are parsing IRC protocol data, which stipulates that the IFS
MUST be a space solely:
*) CTCP requests and replies are formatted only with spaces
*) Words in protocol messages are separated only with spaces
*** News -- 11/09/2004 -- You may now mangle ALT_CHAR characters
And ALT_CHAR mangling is included in ALL. This was an oversight
that was fixed in epic5.
*** News -- 11/02/2004 -- Mangling "ALL,-BOLD" no longer mangles "ALL_OFF"
In general, if you use ANSI (ALL includes ANSI), the mangled string
has its six attributes (COLOR, REVERSE, UNDERLINE, BOLD, BLINK,
ALT_CHAR) rewritten into canonical form. This will add some ALL_OFFs
to your string that weren't there originally. So if you strip all of
the attributes (as ALL does), then epic will strip ALL_OFF off as well.
This retains backwards compatability with ALL.
But if you use ANSI and don't want to strip all 6 of the attributes,
then it's important that ALL_OFFs are not removed, otherwise your
string will not appear as it should (the ANSInator uses ALL_OFFs to
turn off attributes). So EPIC automatically will not strip ALL_OFFs
if you use ANSI and do not mangle one of the 6 attributes.
Examples:
$stripcrap(ALL this is ^B^_bold underline^_ not bold)
will strip everything as it has always done.
$stripcrap(ALL,-BOLD this is ^B^_bold underline^_^B not bold)
will strip everything but not bold and all_offs, because if all_offs
are stripped, then "not bold" will be in bold!
The entire point of this is to allow /set mangle_logfile ALL to
work the way it has always worked, and $stripcrap(ALL,-BOLD ...)
to work the way it *should* work.
*** News -- 10/06/2004 -- Support for +e and +I numerics from efnet
EFNet has +e and +I channel modes, which act like +b does.
These numerics are now handled by epic like +b is.
*** News -- 10/06/2004 -- New status bar expandos, %{2}W and %{3}W
These two new expandos expand to the same value as %W.
%W Expands on each input window on each screen that has
two or more visible windows.
%{2}W Expands on all visible windows on all screens.
%{3}W Expands on each input window on each screen, even on
screens that have only one visible window.
*** News -- 10/06/2004 -- Support for ircnet's "numeric nick" feature
On ircnet, each user is given a unique numeric identifier, which
is their one true nickname. In addition to this numeric id, they
can have a rfc1459 nickname, but they are not required to have one.
Further, the special numeric id 0 is reserved and refers to the
user's own numeric id. EPIC now fully supports all of this,
particularly in the following ways:
/NICK <unique id>
/NICK 0
To turn off your rfc1459 nickname.
$serverctl(GET <refnum> UNIQUE_ID)
$serverctl(SET <refnum> UNIQUE_ID)
To retrieve and change your unique nickname.
Changing your unique id is probably a bad idea.
/USERHOST <unique id>
You may USERHOST unique id's now.
'epic 0'
You may now use the nickname 0 on the epic command
line if you don't want to use an rfc1459 nickname
on an ircnet server.
Using unique numeric id's on non-ircnet servers is probably
fraught with peril. Try to avoid that.
*** News -- 10/06/2004 -- /SET INDENT maxes out at 1/3 screen width
Previously, if you did /set indent on, and the width of the
first word on the first line was > 1/3 of the screen's width,
then the second (and subsequent) lines were not indented at all.
This was the historical ircII behavior. It seems more sensible
to cap the indent level at 1/3 of the screen's width and indent
it to there.
EPIC4-2.0
*** News -- 02/03/2004 -- ERASE_LINE behavior slightly modified
The ERASE_LINE input function has been modified to not overwrite the
input buffer when it is called on an empty input line.
EPIC4-1.2.9
*** News -- 01/25/2004 -- Slight changes to /ON SSL_SERVER_CERT
|Rain| pointed out that /ON SSL_SERVER_CERT was not terribly useful
because $1 (cert subject) and $2 (cert issuer) could contain spaces,
and so you couldn't really use $1 and $2 to fetch them. He proposed
that we hook a url-encoded version of the subject and issuer (so they
won't contain any spaces) and you can use $urldecode($1) to get the
subject and $urldecode($2) to get the issuer.
EPIC4-1.2.7
*** News -- 01/18/2004 -- New functions $cofilter() and $corfilter().
These are compliments of $copattern().
*** News -- 12/27/2003 -- New $dccctl() modes.
Added $dccctl(get [ref] writable) and $dccctl(writables). This is
useful for sending lots of data out on a raw or chat dcc. Epic will
(iirc) normally drop the data in such cases rather than blocking or
buffering. This isn't a complete solution. Writable means that a
certain amount of data can be written, so data can still be lost.
*** News -- 12/27/2003 -- Added /SET DCC_DEQUOTE_FILENAMES
This turns the double quoted space decoding feature added recently for
received DCC SEND requests on and off.
*** News -- 12/27/2003 -- $rest() also removes chars from the right.
Using a negative first arg causes $rest() to strip chars from the right
hand side of the string. This makes it a compliment to $right() as
well as $left(), but if a script relies on it returning the original
string the way it did before, it may now cause compatibility problems.
If it does, talk to CrazyEddy on #epic efnet.
*** News -- 12/27/2003 -- Added $splicec() in functions script.
This works much the same way as $splice(), but on characters, not
words. It won't work seemlessly on local vars though.
EPIC4-1.2.5
*** News -- 12/13/2003 -- Default of AUTO_REJOIN is now OFF
Per the poll taken on the epic mailing list, the preponderance of
opinion being in favor of changing the default value of AUTO_REJOIN
to OFF, as of commit 672, the default value is changed. You will
want to put /SET AUTO_REJOIN ON in your ~/.epicrc to get the old
value.
*** News -- 12/11/2003 -- Command parser ignores spaces after semicolons
Since the dawn of the modern ircII syntax, the following syntax
has caused consternation with scripters:
/eval {two; three}
because it runs the /two alias, and then outputs the text "three"
to the current target (channel-or-query). This is because the
command parser does not ignore spaces after semicolons; a leading
space results in ircII assuming you are wanting to run the empty
command (yes, there is actually an empty command), which just
happens to be the /say command. Well, enough is enough. I'm
putting a stop to this. If you depend on this horrifically broken
behavior, then the time has come to switch to using /SAY. The
rest of us will enjoy not having to freak out about spaces after
semicolons.
*** News -- 12/11/2003 -- New /WINDOW verb, /WINDOW SCROLLADJ [ON|OFF]
When the default value of ON is used, when you "GROW" a window,
or otherwise cause the size of a window to be increased, the top
of the scrollable view is moved back so you can see more of the
lines that have recently scrolled off the screen. If you change
this to OFF, the behavior is more like ircII, where when something
scrolls off the window, nothing will bring it back unless you go
into scrollback mode.
*** News -- 12/11/2003 -- New /ON, /ON WINDOW_BEFOREKILL
The value of $* is the window refnum (number) of the window that
is about to be killed. You cannot stop the kill from happening,
but you do get this opportunity to save any information about the
window that you might want. *DANGER*DANGER*DANGER* EPIC does not
try to stop you from doing something really dumb in this /ON, and
if you try to change the window being killed, or you affect the
visibility or invisibility of any window, you run the definite chance
of confusing EPIC and causing a panic. This is not a bug, this is
just your peril if you ignore this warning. Use /DEFER to run
commands safely from within /ONs.
EPIC4-1.2.3
*** News -- 12/05/2003 -- New built in function $numlines() (fudd)
The first argument to $numlines() is the width of a line (which you
can get from $geom() if you want to use that), and the rest of the
text is some text. The return value is the number of screen lines
that will be taken up if you were to /echo the text to a window of
the given number of columns.
*** News -- 12/03/2003 -- New command line arguments, -o and -O
POSIX termios allowed systems to define "extended characters" (IEXTEN)
which are interpreted by the kernel and are not passed onto the
application. In 4.4BSD in particular, these "extended characters"
are ^V and ^O. This means that by default, you cannot use these
two characters in a binding. By using the -o option, you ask
EPIC to specifically turn these extended characters on, and by
using the -O option, you ask epic to specifically turn these
extended characters OFF. If you do not specify either option,
epic does not change the current default value.
EPIC4-1.2.2
*** News -- 12/03/2003 -- New /WINDOW verb, /WINDOW SWAPPABLE [ON|OFF]
You may now control whether your windows are "swappable". The
default (backwards-compatable) value is ON. If you set this to
OFF on a visible window, then that visible window cannot be made
hidden, via /WINDOW HIDE or /WINDOW SWAP. If you set this to OFF
on a hidden window, then that hidden window cannot be made visible,
via /WINDOW SHOW, /WINDOW SWAP, /WINDOW BACK or /WINDOW NEXT. You
must reset this value back to ON before you try to swap the window
back in or out.
*** News -- 12/03/2003 -- New /SET, /SET STATUS_NOSWAP
Whenever a window has /WINDOW SWAPPABLE OFF, the %{1}W status expando
will expand to the value of this /SET
*** News -- 12/03/2003 -- SWAPPABLE accessable via $windowctl()
You can now $windowctl(GET <refnum> SWAPPABLE) to get the window
<refnum>'s current swappable status.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
*** News -- 12/01/2003 -- Double quoted filenames via dcc from other clients
is now supported.
*** News -- 12/01/2003 -- New $windowctl() value, "DOUBLE"
*** News -- 11/30/2003 -- /XECHO -L now overrides "target window"
*** News -- 11/30/2003 -- "Fixed" and "skipped" windows now special
*** News -- 11/30/2003 -- New /ON , /ON WINDOW_COMMAND
*** News -- 11/24/2003 -- New built in function, $windowct()
*** News -- 11/21/2003 -- /SERVER <host> now honors server groups
*** News -- 11/21/2003 -- New math parser can now use 64 bit integers
and perhaps some other stuff, but that's all that's in the news file.
# $serverwin([server refnum])
# Major project to replace bad quality C code with high quality C code
# ./configure --with-warns
# $dccctl(.. FLAGS ..)
# $dccctl(.. HELDTIME ..)
# $dccctl(.. HOLDTIME ..)
# QWORD (double quoted words with double quotes) for alias arglists
# Finished off full ipv6 support for dcc.
# Current channel-ness is tracked by the channel and not the window.
It's now impossible for a channel to be a current channel unless
you're on the channel.
# /set new_server_lastlog_level default changed to "ALL,-DCC"
# $levelwindow([lastlog level])
# $outputwindow([lastlog level] [target])
# /timer.ue alias in 'commandqueues'
# %{1}+ status expando acts sort of like %+
# /SET SWITCH_CHANNELS_BETWEEN_WINDOWS
Closes pkg/13851.
Other new features (excerpt, full list at http://epicsol.org/?page=project):
SSL support, improved /queues, /lastlog -file (redirects lastlog output to
file), ~/.epicrc, /autoget, and lots of other stuff.
o no changelog supplied, but diff makes me believe the changes are minor bugfixes
and addition of function destroy_waiting_channels(), whatever it's used for
o rework PATCH_SITES and MASTER_SITES
o use the same IPv6 patch, but renamed for new version
first component is now a package name+version/pattern, no more
executable/patchname/whatnot.
While there, introduce BUILD_USES_MSGFMT as shorthand to pull in
devel/gettext unless /usr/bin/msgfmt exists (i.e. on post-1.5 -current).
Patch by Alistair Crooks <agc@netbsd.org>
Changelog:
0.9.17 Add $ssl() built in function for lateral compatability with epic-ssl
0.9.17 Whack over my_next_expr().
0.9.17 Add "next_expr_with_type" for use with 'break_args'
0.9.17 Add 'break_args', experimental command-argument tokenizer.
0.9.17 Add /for <var> in (<list>) {<commands>} command
0.9.17 Add /for <var> from <min> to <max> {<commands>} command
0.9.17 Doodle around a bit with /fe, just for yucks.
0.9.17 Change 'autoop', 'fe', 'files', 'ip-to-int', 'ircprimer', 'repeat',
0.9.17 'scandir', 'tc' scripts to use two new /for formats.
0.9.17 Add support for 477 numeric (can't join channel) from dalnet. (adm)
0.9.17 Add /xecho -v (output to a visible window)
0.9.17 Fix /reconnect to supply default quit message ("Reconnecting")
0.9.17 Add $cos(), $sin(), $tan() functions, to do math things
0.9.17 Fix bug in $serverlist() which caused it to always return server list.
0.9.17 Fix history stuff so it doesn't insert duplicate entries (robohak)
0.9.17 Add 'skip_spaces' function, which skips leading spaces in a string.
0.9.17 Change logfile header to output local time and not UTC time.
0.9.17 Fix /window server to clear reconnect counts, thwart throttling.
0.9.17 Change "server_list[%d].itsname is null and it shouldn't be" error msg
0.9.17 Change it to "I don't have %d's real name yet -- using the hostname..."
0.9.17 Fix /server N to not reconnect to N if it's already connected.
0.9.17 Add /ison -d and /ison -f (debug, and flush) for debugging purposes.
0.9.17 Release epic4-0.9.17 -- Release candidate #8
* Try to add some stuff that helps epic cope with server disconnections
better.
* Add /on error, hooks on an irc protocol ERROR message.
* Fix window.c:get_boolean(), passing unitialized 'newval' integer.
* Fix path_search() to not blithely assume path != NULL (whitedragon)
* New version of the 'hybrid6' script, from is.
* Axe the broken "input_timeout" feature that hasn't worked in 6 years.
* Add, but #ifdef'd out, a delayed-free mechanism -- strictly
experimental.
* Add the /defer command, to perform dangerous operations when it's
safe.
* Many changes from robohak to fix /on channel_* bogons I introduced.
;-)
* Lice should now work again with 0.9.16.
Patch sent by Tomasz Luchowski <zuntum@eik.pl> in private mail.
* Added IPv6 support. My epic4-0.9.15-ipv6-netbsd-20001230.patch.bz2
is based on Arkadiusz Miskiewicz's epic4-0.9.14-ipv6-20001212.patch.gz
Now the binary supports *both* IPv4 and IPv6
* Added documentation
Submitted by Tomasz Luchowski <zuntum@eik.pl> in private mail.
EPIC4 is a new direction in ircII development. No longer is EPIC 100%
backwards compatable with ircII, but instead those things where
compatability is undesirable have been found and fixed. No gratuitous
incompatabilities have been added, but lots of new code has been added to
make EPIC the best ircII client available.
Submitted by Tomasz Luchowski <zuntum@eik.pl> in PR 11678.