summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml17
-rw-r--r--NEWS8
-rwxr-xr-xautogen.sh4
-rw-r--r--configure.ac37
-rw-r--r--docs/help/in/connect.in1
-rw-r--r--docs/help/in/disconnect.in7
-rw-r--r--docs/help/in/echo.in4
-rw-r--r--docs/help/in/msg.in4
-rw-r--r--docs/help/in/server.in2
-rw-r--r--docs/perl.txt4
-rw-r--r--docs/startup-HOWTO.html2
-rw-r--r--m4/glib-2.0.m42
-rw-r--r--src/core/chat-commands.c2
-rw-r--r--src/core/commands.h2
-rw-r--r--src/core/ignore.c4
-rw-r--r--src/core/net-nonblock.h2
-rw-r--r--src/core/net-sendbuffer.c2
-rw-r--r--src/core/net-sendbuffer.h2
-rw-r--r--src/core/network.c2
-rw-r--r--src/core/nicklist.c2
-rw-r--r--src/core/query-rec.h2
-rw-r--r--src/core/servers-reconnect.c3
-rw-r--r--src/core/servers-setup.c3
-rw-r--r--src/fe-common/core/fe-messages.c19
-rw-r--r--src/fe-common/core/fe-queries.c7
-rw-r--r--src/fe-common/irc/fe-irc-messages.c27
-rw-r--r--src/fe-common/irc/fe-whois.c4
-rw-r--r--src/fe-text/term-terminfo.c6
-rw-r--r--src/fe-text/tparm.c12
-rw-r--r--src/irc/core/channels-query.c2
-rw-r--r--src/irc/core/servers-redirect.c4
31 files changed, 113 insertions, 86 deletions
diff --git a/.travis.yml b/.travis.yml
index 04c19d88..35226645 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,15 +1,22 @@
-language: c
-compiler:
- - gcc
- - clang
+language: perl
+perl:
+ - "5.20-shrplib"
+ - "5.18-shrplib"
+ - "system-perl"
+env:
+ - CC=clang
+ - CC=gcc
before_install:
- sudo apt-get update -qq
+ - perl -V
- sudo apt-get build-dep -qq irssi
- sudo apt-get install -qq lynx
+install: true
+
script:
- - ./autogen.sh --with-proxy --with-bot
+ - ./autogen.sh --with-proxy --with-bot --with-perl=module
- cat config.log
- make
- sudo make install
diff --git a/NEWS b/NEWS
index de36d195..fe6e5e58 100644
--- a/NEWS
+++ b/NEWS
@@ -368,7 +368,7 @@ v0.8.10 2005-12-11 The Irssi team <staff@irssi.org>
<charset> can be almost everything listed by 'iconv -l'
+ Added transpose_words, capitalize_word, downcase_word, upcase_word
key bindings
- + Avoid accidentaly /VER in a channel, by requiring parameter
+ + Avoid accidentally /VER in a channel, by requiring parameter
- Pasted lines weren't added to command history. Some other paste
detection fixes
- Fixed /BIND escape_char
@@ -1905,7 +1905,7 @@ v0.7.14 1999-08-22 Timo Sirainen <cras@irccrew.org> [unstable]
- /msg <tab> completion was a bit buggy, if someone sent you multiple
messages, you had to press tab multiple times until the nick changed
to someone else..
- - Defaut format for signon time in whois displayed nick instead of
+ - Default format for signon time in whois displayed nick instead of
the signon time..
- Disconnecting server while it was still trying to connect hung irssi
- If old configuration file wasn't found, irssi (could have?) crashed
@@ -2189,7 +2189,7 @@ v0.7.9 1999-04-22 Timo Sirainen <a@sicom.fi> [unstable]
that matched the parameters
- Commented out all GUI_INPUT_EXCEPTIONs .. I don't even know when
exceptions are sent and why (I thought that only when some error
- occured..), Linux doesn't seem to send them ever? IRIX however sends
+ occurred..), Linux doesn't seem to send them ever? IRIX however sends
them all the time which made irssi eating all cpu.
- Fixed compiling gui-text with systems that had only slang/slang.h
- gui_widget_depends() had some bugs
@@ -2635,7 +2635,7 @@ v0.3.2 1999-01-22 Timo Sirainen <a@sicom.fi> [unstable]
v0.3.1 1999-01-22 Timo Sirainen <a@sicom.fi>
- * 4 days since last relase. too long :) I'm now starting to create
+ * 4 days since last release. too long :) I'm now starting to create
"unstable" versions of irssi. They have the latest and greatest
features while they might not build/work too well. Check
http://www.sicom.fi/~ikioma/irssi-download.html, new versions will
diff --git a/autogen.sh b/autogen.sh
index cf4b9798..466a5a05 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -28,9 +28,11 @@ cat docs/help/Makefile.am.gen|sed "s/@HELPFILES@/$files/g"|sed 's/?/\\?/g'|tr '!
# .html -> .txt with lynx or elinks
echo "Documentation: html -> txt..."
if type lynx >/dev/null 2>&1 ; then
- lynx -dump -nolist docs/faq.html|perl -pe 's/^ *//; if ($_ eq "\n" && $state eq "Q") { $_ = ""; } elsif (/^([QA]):/) { $state = $1 } elsif ($_ ne "\n") { $_ = " $_"; };' > docs/faq.txt
+ LC_ALL=C lynx -dump docs/faq.html|perl -pe 's/^ *//; if ($_ eq "\n" && $state eq "Q") { $_ = ""; } elsif (/^([QA]):/) { $state = $1 } elsif ($_ ne "\n") { $_ = " $_"; };' > docs/faq.txt
elif type elinks >/dev/null 2>&1 ; then
elinks -dump docs/faq.html|perl -pe 's/^ *//; if ($_ eq "\n" && $state eq "Q") { $_ = ""; } elsif (/^([QA]):/) { $state = $1 } elsif ($_ ne "\n") { $_ = " $_"; };' > docs/faq.txt
+elif type links >/dev/null 2>&1 ; then
+ links -dump docs/faq.html|perl -pe 's/^ *//; if ($_ eq "\n" && $state eq "Q") { $_ = ""; } elsif (/^([QA]):/) { $state = $1 } elsif ($_ ne "\n") { $_ = " $_"; };' > docs/faq.txt
else
echo "**Error**: No lynx or elinks present"
exit 1
diff --git a/configure.ac b/configure.ac
index 477f8c4d..c312d065 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,6 @@ AM_INIT_AUTOMAKE([1.9 no-define foreign])
AM_MAINTAINER_MODE
-AC_ISC_POSIX
AC_PROG_CC
AC_PROG_CPP
AM_PROG_LIBTOOL
@@ -20,7 +19,7 @@ AC_PATH_PROG(perlpath, perl)
AC_CHECK_HEADERS(unistd.h dirent.h sys/ioctl.h sys/resource.h)
# check posix headers..
-AC_CHECK_HEADERS(sys/time.h sys/utsname.h regex.h)
+AC_CHECK_HEADERS(sys/socket.h sys/time.h sys/utsname.h regex.h)
AC_SYS_LARGEFILE
@@ -197,38 +196,22 @@ case "$host_os" in
esac
-AC_CHECK_FUNC(socket, [], [
- AC_CHECK_LIB(socket, socket, [
- LIBS="$LIBS -lsocket"
- ])
-])
+AC_SEARCH_LIBS([socket], [socket])
-AC_CHECK_FUNC(inet_addr, [], [
- AC_CHECK_LIB(nsl, inet_addr, [
- LIBS="$LIBS -lnsl"
- ])
-])
+AC_SEARCH_LIBS([inet_addr], [nsl])
dnl * gcc specific options
if test "x$ac_cv_prog_gcc" = "xyes"; then
CFLAGS="$CFLAGS -Wall"
fi
-dnl * socklen_t - AC_CHECK_TYPE() would be _really_ useful if it only would
-dnl * accept header files where to find the typedef..
-AC_MSG_CHECKING([for socklen_t])
-AC_CACHE_VAL(irssi_cv_type_socklen_t,
-[AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/socket.h>],
-[socklen_t t = 0; return((int)t); ],
-irssi_cv_type_socklen_t=yes,
-irssi_cv_type_socklen_t=no,
-)])
-if test $irssi_cv_type_socklen_t = no; then
-AC_DEFINE(socklen_t, int, Define to 'int' if <sys/socket.h> doesn't define.)
-fi
-AC_MSG_RESULT($irssi_cv_type_socklen_t)
+AC_CHECK_TYPE(socklen_t, ,
+ [AC_DEFINE([socklen_t], [int], [Define to 'int' if <sys/socket.h> doesn't define.])], [
+AC_INCLUDES_DEFAULT
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
+])
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
diff --git a/docs/help/in/connect.in b/docs/help/in/connect.in
index 1c1aa2bb..3330966e 100644
--- a/docs/help/in/connect.in
+++ b/docs/help/in/connect.in
@@ -11,6 +11,7 @@
-ssl_cert: The SSL client certificate file.
-ssl_pkey: The SSL client private key, if not included in the
certificate file.
+ -ssl_pass: The password for the SSL client private key or certificate.
-ssl_verify: Verifies the SSL certificate of the server.
-ssl_cafile: The file with the list of CA certificates.
-ssl_capath: The directory which contains the CA certificates.
diff --git a/docs/help/in/disconnect.in b/docs/help/in/disconnect.in
index ace1a3df..bd4a4e17 100644
--- a/docs/help/in/disconnect.in
+++ b/docs/help/in/disconnect.in
@@ -10,10 +10,11 @@
%9Description:%9
- Disconnects from one or more IRC servers; the list of all the servers you
- are connected to can be retrieved via the SERVER command.
+ Disconnects from an IRC server; the list of all the servers you are
+ connected to can be retrieved via the SERVER command.
- Use the wildcard character '*' if you want to disconnect from all servers.
+ Use the wildcard character '*' if you want to disconnect from the active
+ server.
%9Examples:%9
diff --git a/docs/help/in/echo.in b/docs/help/in/echo.in
index a730e282..4ff23730 100644
--- a/docs/help/in/echo.in
+++ b/docs/help/in/echo.in
@@ -6,10 +6,10 @@
%9Parameters:%9
-current: Displays the output in the active window.
- -window: Displays the ouput in the target window.
+ -window: Displays the output in the target window.
-level: Displays the output with a given message level.
- The text ouput; if no target is given, the active window will be used.
+ The text output; if no target is given, the active window will be used.
%9Description:%9
diff --git a/docs/help/in/msg.in b/docs/help/in/msg.in
index dc70f1f3..9e0879e4 100644
--- a/docs/help/in/msg.in
+++ b/docs/help/in/msg.in
@@ -11,6 +11,9 @@
The target nickname or channel and the message to send.
+ Use the wildcard character '*' if you want to use the active nickname or
+ channel.
+
%9Description:%9
Sends a message to a nickname or channel.
@@ -19,6 +22,7 @@
/MSG mike Hi, what's up?
/MSG #irssi I am awesome :)
+ /MSG * Do you want to build a snowman?
%9See also:%9 ACTION, DCC, JOIN
diff --git a/docs/help/in/server.in b/docs/help/in/server.in
index d8bcb9a7..f6706daf 100644
--- a/docs/help/in/server.in
+++ b/docs/help/in/server.in
@@ -18,7 +18,7 @@
-ssl_cert: The SSL client certificate file.
-ssl_pkey: The SSL client private key, if not included in the
certificate file.
- -ssl_pass: Verifies the SSL certificate of the server.
+ -ssl_pass: The password for the SSL client private key or certificate.
-ssl_verify: Verifies the SSL certificate of the server.
-ssl_cafile: The file with the list of CA certificates.
-ssl_capath: The directory which contains the CA certificates.
diff --git a/docs/perl.txt b/docs/perl.txt
index 732b73af..79ab5820 100644
--- a/docs/perl.txt
+++ b/docs/perl.txt
@@ -796,7 +796,7 @@ Query->{}
address - Host address of the queries nick
server_tag - Server tag used for this nick (doesn't get erased if
server gets disconnected)
- unwanted - 1 if the other side closed or some error occured (DCC chats)
+ unwanted - 1 if the other side closed or some error occurred (DCC chats)
Query
query_create(chat_type, server_tag, nick, automatic)
@@ -1123,7 +1123,7 @@ Netsplit->{}
Netsplitserver->{}
server - The server nick was in
- destserver - The other server where split occured.
+ destserver - The other server where split occurred.
count - Number of splits in server
Netsplitchannel->{}
diff --git a/docs/startup-HOWTO.html b/docs/startup-HOWTO.html
index 736f25e9..30caf657 100644
--- a/docs/startup-HOWTO.html
+++ b/docs/startup-HOWTO.html
@@ -493,7 +493,7 @@ scrollback buffer. Simplest usages are</p>
<pre>
/LASTLOG word - print all lines with "word" in them
-/LASTLOG word 10 - print last 10 occurances of "word"
+/LASTLOG word 10 - print last 10 occurrences of "word"
/LASTLOG -topics - print all topic changes
</pre>
diff --git a/m4/glib-2.0.m4 b/m4/glib-2.0.m4
index 2a5afd0c..2c8760b7 100644
--- a/m4/glib-2.0.m4
+++ b/m4/glib-2.0.m4
@@ -187,7 +187,7 @@ main ()
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means GLIB is incorrectly installed."])
+ echo "*** exact error that occurred. This usually means GLIB is incorrectly installed."])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
diff --git a/src/core/chat-commands.c b/src/core/chat-commands.c
index 235a9fc4..8d1ac3eb 100644
--- a/src/core/chat-commands.c
+++ b/src/core/chat-commands.c
@@ -321,7 +321,7 @@ static void cmd_quit(const char *data)
signal_emit("gui exit", 0);
}
-/* SYNTAX: MSG [-<server tag>] [-channel | -nick] <targets> <message> */
+/* SYNTAX: MSG [-<server tag>] [-channel | -nick] *|<targets> <message> */
static void cmd_msg(const char *data, SERVER_REC *server, WI_ITEM_REC *item)
{
GHashTable *optlist;
diff --git a/src/core/commands.h b/src/core/commands.h
index c68c5b24..d65185e5 100644
--- a/src/core/commands.h
+++ b/src/core/commands.h
@@ -158,7 +158,7 @@ char *cmd_get_quoted_param(char **data);
/* get parameters from command - you should point free_me somewhere and
cmd_params_free() it after you don't use any of the parameters anymore.
- Returns TRUE if all ok, FALSE if error occured. */
+ Returns TRUE if all ok, FALSE if error occurred. */
int cmd_get_params(const char *data, gpointer *free_me, int count, ...);
void cmd_params_free(void *free_me);
diff --git a/src/core/ignore.c b/src/core/ignore.c
index 3c45967c..68fae11f 100644
--- a/src/core/ignore.c
+++ b/src/core/ignore.c
@@ -360,8 +360,6 @@ static void ignore_destroy(IGNORE_REC *rec, int send_signal)
g_free_not_null(rec->servertag);
g_free_not_null(rec->pattern);
g_free(rec);
-
- nickmatch_rebuild(nickmatch);
}
void ignore_update_rec(IGNORE_REC *rec)
@@ -380,8 +378,8 @@ void ignore_update_rec(IGNORE_REC *rec)
ignore_init_rec(rec);
signal_emit("ignore changed", 1, rec);
- nickmatch_rebuild(nickmatch);
}
+ nickmatch_rebuild(nickmatch);
}
static int unignore_timeout(void)
diff --git a/src/core/net-nonblock.h b/src/core/net-nonblock.h
index 32cfac70..af5968c8 100644
--- a/src/core/net-nonblock.h
+++ b/src/core/net-nonblock.h
@@ -29,7 +29,7 @@ int net_gethostbyname_nonblock(const char *addr, GIOChannel *pipe,
int reverse_lookup);
/* Get host's name, call func when finished */
int net_gethostbyaddr_nonblock(IPADDR *ip, NET_HOST_CALLBACK func, void *data);
-/* get the resolved IP address. returns -1 if some error occured with read() */
+/* get the resolved IP address. returns -1 if some error occurred with read() */
int net_gethostbyname_return(GIOChannel *pipe, RESOLVED_IP_REC *rec);
/* Connect to server, call func when finished */
diff --git a/src/core/net-sendbuffer.c b/src/core/net-sendbuffer.c
index 9d4b0e37..39257486 100644
--- a/src/core/net-sendbuffer.c
+++ b/src/core/net-sendbuffer.c
@@ -109,7 +109,7 @@ static int buffer_add(NET_SENDBUF_REC *rec, const void *data, int size)
/* Send data, if all of it couldn't be sent immediately, it will be resent
automatically after a while. Returns -1 if some unrecoverable error
- occured. */
+ occurred. */
int net_sendbuffer_send(NET_SENDBUF_REC *rec, const void *data, int size)
{
int ret;
diff --git a/src/core/net-sendbuffer.h b/src/core/net-sendbuffer.h
index 785f59ae..bdeb7156 100644
--- a/src/core/net-sendbuffer.h
+++ b/src/core/net-sendbuffer.h
@@ -24,7 +24,7 @@ void net_sendbuffer_destroy(NET_SENDBUF_REC *rec, int close);
/* Send data, if all of it couldn't be sent immediately, it will be resent
automatically after a while. Returns -1 if some unrecoverable error
- occured. */
+ occurred. */
int net_sendbuffer_send(NET_SENDBUF_REC *rec, const void *data, int size);
int net_sendbuffer_receive_line(NET_SENDBUF_REC *rec, char **str, int read_socket);
diff --git a/src/core/network.c b/src/core/network.c
index 3659ab36..bfaa47fb 100644
--- a/src/core/network.c
+++ b/src/core/network.c
@@ -624,7 +624,7 @@ const char *net_gethosterror(int error)
int net_hosterror_notfound(int error)
{
#ifdef HAVE_IPV6
-#ifdef EAI_NODATA /* NODATA is depricated */
+#ifdef EAI_NODATA /* NODATA is deprecated */
return error != 1 && (error == EAI_NONAME || error == EAI_NODATA);
#else
return error != 1 && (error == EAI_NONAME);
diff --git a/src/core/nicklist.c b/src/core/nicklist.c
index a5f25f34..b1c9ecef 100644
--- a/src/core/nicklist.c
+++ b/src/core/nicklist.c
@@ -342,7 +342,7 @@ GSList *nicklist_get_same_unique(SERVER_REC *server, void *id)
return rec.list;
}
-/* nick record comparision for sort functions */
+/* nick record comparison for sort functions */
int nicklist_compare(NICK_REC *p1, NICK_REC *p2, const char *nick_prefix)
{
int i;
diff --git a/src/core/query-rec.h b/src/core/query-rec.h
index fc08d2ef..59519ad4 100644
--- a/src/core/query-rec.h
+++ b/src/core/query-rec.h
@@ -7,5 +7,5 @@ char *server_tag;
time_t last_unread_msg;
unsigned int unwanted:1; /* TRUE if the other side closed or
- some error occured (DCC chats!) */
+ some error occurred (DCC chats!) */
unsigned int destroying:1;
diff --git a/src/core/servers-reconnect.c b/src/core/servers-reconnect.c
index 0a08b461..d99a5405 100644
--- a/src/core/servers-reconnect.c
+++ b/src/core/servers-reconnect.c
@@ -253,6 +253,9 @@ static void sig_reconnect(SERVER_REC *server)
conn->port = server->connrec->port;
conn->password = g_strdup(server->connrec->password);
+ if (strchr(conn->address, '/') != NULL)
+ conn->unix_socket = TRUE;
+
server_reconnect_add(conn, (server->connect_time == 0 ? time(NULL) :
server->connect_time) + reconnect_time);
server_connect_unref(conn);
diff --git a/src/core/servers-setup.c b/src/core/servers-setup.c
index 0819ff1a..27d9f1f0 100644
--- a/src/core/servers-setup.c
+++ b/src/core/servers-setup.c
@@ -122,6 +122,9 @@ static void server_setup_fill(SERVER_CONNECT_REC *conn,
conn->address = g_strdup(address);
if (port > 0) conn->port = port;
+ if (strchr(address, '/') != NULL)
+ conn->unix_socket = TRUE;
+
if (!conn->nick) conn->nick = g_strdup(settings_get_str("nick"));
conn->username = g_strdup(settings_get_str("user_name"));
conn->realname = g_strdup(settings_get_str("real_name"));
diff --git a/src/fe-common/core/fe-messages.c b/src/fe-common/core/fe-messages.c
index 97f3d84d..1d44bdd9 100644
--- a/src/fe-common/core/fe-messages.c
+++ b/src/fe-common/core/fe-messages.c
@@ -242,13 +242,16 @@ static void sig_message_public(SERVER_REC *server, const char *msg,
}
static void sig_message_private(SERVER_REC *server, const char *msg,
- const char *nick, const char *address)
+ const char *nick, const char *address, const char *target)
{
QUERY_REC *query;
char *freemsg = NULL;
int level = MSGLEVEL_MSGS;
- query = query_find(server, nick);
+ /* own message returned by bouncer? */
+ int own = (!strcmp(nick, server->nick));
+
+ query = query_find(server, own ? target : nick);
if (settings_get_bool("emphasis"))
msg = freemsg = expand_emphasis((WI_ITEM_REC *) query, msg);
@@ -256,9 +259,15 @@ static void sig_message_private(SERVER_REC *server, const char *msg,
if (ignore_check(server, nick, address, NULL, msg, level | MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
- printformat(server, nick, level,
- query == NULL ? TXT_MSG_PRIVATE :
- TXT_MSG_PRIVATE_QUERY, nick, address, msg);
+ if (own) {
+ printformat(server, target, level,
+ query == NULL ? TXT_OWN_MSG_PRIVATE :
+ TXT_OWN_MSG_PRIVATE_QUERY, target, msg, server->nick);
+ } else {
+ printformat(server, nick, level,
+ query == NULL ? TXT_MSG_PRIVATE :
+ TXT_MSG_PRIVATE_QUERY, nick, address, msg);
+ }
g_free_not_null(freemsg);
}
diff --git a/src/fe-common/core/fe-queries.c b/src/fe-common/core/fe-queries.c
index 7599fb23..5cdf87ee 100644
--- a/src/fe-common/core/fe-queries.c
+++ b/src/fe-common/core/fe-queries.c
@@ -326,12 +326,15 @@ static int sig_query_autoclose(void)
}
static void sig_message_private(SERVER_REC *server, const char *msg,
- const char *nick, const char *address)
+ const char *nick, const char *address, const char *target)
{
QUERY_REC *query;
+ /* own message returned by bouncer? */
+ int own = (!strcmp(nick, server->nick));
+
/* create query window if needed */
- query = privmsg_get_query(server, nick, FALSE, MSGLEVEL_MSGS);
+ query = privmsg_get_query(server, own ? target : nick, FALSE, MSGLEVEL_MSGS);
/* reset the query's last_unread_msg timestamp */
if (query != NULL)
diff --git a/src/fe-common/irc/fe-irc-messages.c b/src/fe-common/irc/fe-irc-messages.c
index 0c83a531..e0849c75 100644
--- a/src/fe-common/irc/fe-irc-messages.c
+++ b/src/fe-common/irc/fe-irc-messages.c
@@ -160,6 +160,7 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
const char *oldtarget;
char *freemsg = NULL;
int level;
+ int own = FALSE;
oldtarget = target;
target = skip_target(IRC_SERVER(server), target);
@@ -174,10 +175,12 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
level | MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
- if (ischannel(*target))
+ if (ischannel(*target)) {
item = irc_channel_find(server, target);
- else
- item = privmsg_get_query(SERVER(server), nick, FALSE, level);
+ } else {
+ own = (!strcmp(nick, server->nick));
+ item = privmsg_get_query(SERVER(server), own ? nick : target, FALSE, level);
+ }
if (settings_get_bool("emphasis"))
msg = freemsg = expand_emphasis(item, msg);
@@ -195,11 +198,19 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
nick, oldtarget, msg);
}
} else {
- /* private action */
- printformat(server, nick, MSGLEVEL_ACTIONS | MSGLEVEL_MSGS,
- item == NULL ? IRCTXT_ACTION_PRIVATE :
- IRCTXT_ACTION_PRIVATE_QUERY,
- nick, address == NULL ? "" : address, msg);
+ if (own) {
+ /* own action bounced */
+ printformat(server, target,
+ MSGLEVEL_ACTIONS | MSGLEVEL_MSGS,
+ item != NULL && oldtarget == target ? IRCTXT_OWN_ACTION : IRCTXT_OWN_ACTION_TARGET,
+ server->nick, msg, oldtarget);
+ } else {
+ /* private action */
+ printformat(server, nick, MSGLEVEL_ACTIONS | MSGLEVEL_MSGS,
+ item == NULL ? IRCTXT_ACTION_PRIVATE :
+ IRCTXT_ACTION_PRIVATE_QUERY,
+ nick, address == NULL ? "" : address, msg);
+ }
}
g_free_not_null(freemsg);
diff --git a/src/fe-common/irc/fe-whois.c b/src/fe-common/irc/fe-whois.c
index 35f99375..a9c3775e 100644
--- a/src/fe-common/irc/fe-whois.c
+++ b/src/fe-common/irc/fe-whois.c
@@ -92,7 +92,7 @@ static void event_whois_oper(IRC_SERVER_REC *server, const char *data)
params = event_get_params(data, 3, NULL, &nick, &type);
- /* Bugfix: http://bugs.irssi.org/?do=details&id=99
+ /* Bugfix: http://bugs.irssi.org/?do=details&task_id=99
* Author: Geert Hauwaerts <geert@irssi.org>
* Date: Wed Sep 15 20:17:24 CEST 2004
*/
@@ -410,7 +410,7 @@ void fe_whois_init(void)
signal_add("event 311", (SIGNAL_FUNC) event_whois);
signal_add("event 312", (SIGNAL_FUNC) event_whois_server);
/* readding this events fixes the printing of /whois -yes *
- Bug http://bugs.irssi.org/?do=details&id=123 */
+ Bug http://bugs.irssi.org/?do=details&task_id=123 */
signal_add("event 317", (SIGNAL_FUNC) event_whois_idle);
signal_add("event 319", (SIGNAL_FUNC) event_whois_channels);
signal_add("event 313", (SIGNAL_FUNC) event_whois_oper);
diff --git a/src/fe-text/term-terminfo.c b/src/fe-text/term-terminfo.c
index 29d3f7eb..ded79c28 100644
--- a/src/fe-text/term-terminfo.c
+++ b/src/fe-text/term-terminfo.c
@@ -390,7 +390,8 @@ void term_set_color(TERM_WINDOW *window, int col)
}
/* set background color */
- if (window && (term_color256map[bg&0xff]&8) == window->term->TI_colors)
+ if (window && window->term->TI_colors &&
+ (term_color256map[bg&0xff]&8) == window->term->TI_colors)
col |= ATTR_BLINK;
if (col & ATTR_BLINK)
current_term->set_blink(current_term);
@@ -413,7 +414,8 @@ void term_set_color(TERM_WINDOW *window, int col)
terminfo_set_reverse();
/* bold */
- if (window && (term_color256map[fg&0xff]&8) == window->term->TI_colors)
+ if (window && window->term->TI_colors &&
+ (term_color256map[fg&0xff]&8) == window->term->TI_colors)
col |= ATTR_BOLD;
if (col & ATTR_BOLD)
terminfo_set_bold();
diff --git a/src/fe-text/tparm.c b/src/fe-text/tparm.c
index 3f58e6f3..97c790da 100644
--- a/src/fe-text/tparm.c
+++ b/src/fe-text/tparm.c
@@ -153,7 +153,7 @@ static int termcap;
all terminfo codes are invalid unless something has been pushed on
the stack and termcap strings will never push things on the stack
(%p isn't used by termcap). So where we have a choice we make the
- decision by wether or not somthing has been pushed on the stack.
+ decision by whether or not somthing has been pushed on the stack.
The static variable termcap keeps track of this; it starts out set
to 1 and is incremented as each argument processed by a termcap % code,
however if something is pushed on the stack it's set to 0 and the
@@ -170,7 +170,7 @@ static int termcap;
%c output pop as a char
%'c' push character constant c.
%{n} push decimal constant n.
- %p[1-9] push paramter [1-9]
+ %p[1-9] push parameter [1-9]
%g[a-z] push variable [a-z]
%P[a-z] put pop in variable [a-z]
%l push the length of pop (a string)
@@ -188,7 +188,7 @@ static int termcap;
%O logical or pop and pop and push the result
%! push the logical not of pop
%? condition %t if_true [%e if_false] %;
- if condtion evaulates as true then evaluate if_true,
+ if condition evaulates as true then evaluate if_true,
else evaluate if_false. elseif's can be done:
%? cond %t true [%e cond2 %t true2] ... [%e condN %t trueN] [%e false] %;
%i add one to parameters 1 and 2. (ANSI)
@@ -208,7 +208,7 @@ static int termcap;
(UW) %sx subtract parameter FROM the character x
%>xy if parameter > character x then add character y to parameter
%B convert to BCD (parameter = (parameter/10)*16 + parameter%16)
- %D Delta Data encode (parameter = parameter - 2*(paramter%16))
+ %D Delta Data encode (parameter = parameter - 2*(parameter%16))
%i increment the first two parameters by one
%n xor the first two parameters by 0140
(GNU) %m xor the first two parameters by 0177
@@ -216,7 +216,7 @@ static int termcap;
(GNU) %b backup to previous parameter
(GNU) %f skip this parameter
- Note the two definitions of %a, the GNU defintion is used if the characters
+ Note the two definitions of %a, the GNU definition is used if the characters
after the 'a' are valid, otherwise the UW definition is used.
(GNU) used by GNU Emacs termcap libraries
@@ -316,7 +316,7 @@ char *tparm(const char *str, ...) {
if ((sp[1] == 'p' || sp[1] == 'c')
&& sp[2] != '\0' && fmt == NULL) {
/* GNU aritmitic parameter, what they
- realy need is terminfo. */
+ really need is terminfo. */
int val, lc;
if (sp[1] == 'p'
&& getarg(termcap - 1 + sp[2] - '@',
diff --git a/src/irc/core/channels-query.c b/src/irc/core/channels-query.c
index 48ba5703..857ebaf0 100644
--- a/src/irc/core/channels-query.c
+++ b/src/irc/core/channels-query.c
@@ -311,7 +311,7 @@ static void channel_checksync(IRC_CHANNEL_REC *channel)
signal_emit("channel sync", 1, channel);
}
-/* Error occured when trying to execute query - abort and try again. */
+/* Error occurred when trying to execute query - abort and try again. */
static void query_current_error(IRC_SERVER_REC *server)
{
SERVER_QUERY_REC *rec;
diff --git a/src/irc/core/servers-redirect.c b/src/irc/core/servers-redirect.c
index 34beaef6..518248cb 100644
--- a/src/irc/core/servers-redirect.c
+++ b/src/irc/core/servers-redirect.c
@@ -734,7 +734,7 @@ void servers_redirect_init(void)
"event 403", 1, /* no such channel */
"event 442", 1, /* "you're not on that channel" */
"event 479", 1, /* "Cannot join channel (illegal name)" IMHO this is not a logical reply from server. */
- "event 472", -1, /* unknown mode (you should check e-mode's existance from 004 event instead of relying on this) */
+ "event 472", -1, /* unknown mode (you should check e-mode's existence from 004 event instead of relying on this) */
NULL,
NULL);
@@ -747,7 +747,7 @@ void servers_redirect_init(void)
"event 403", 1, /* no such channel */
"event 442", 1, /* "you're not on that channel" */
"event 479", 1, /* "Cannot join channel (illegal name)" IMHO this is not a logical reply from server. */
- "event 472", -1, /* unknown mode (you should check I-mode's existance from 004 event instead of relying on this) */
+ "event 472", -1, /* unknown mode (you should check I-mode's existence from 004 event instead of relying on this) */
NULL,
NULL);