Stefan Krüger | 3 Nov 08:55 2015

slrn 1.0.2 IPv6 not working on Solaris


I'm trying to use a IPv6 newsserver on solaris, which doesn't work though.

Seems like configure is not picking up getaddrinfo() support without the
right libraries (-lsocket -lnsl according to the getaddrinfo manpage):

$ ./configure
checking for getaddrinfo... no
checking for getnameinfo... no

$ cat config.log
configure:8400: checking for getaddrinfo
configure:8400: cc -o conftest -g   conftest.c  >&5
"conftest.c", line 94: warning: statement not reached
Undefined                       first referenced
 symbol                             in file
 getaddrinfo                         conftest.o
 ld: fatal: symbol referencing errors
 configure:8400: $? = 2

Adding LIBS='-lsocket -lnsl' fixes this:

$ ./configure LIBS='-lsocket -lnsl'
ecking for getaddrinfo... yes
(Continue reading)

T | 27 Oct 11:27 2015


unsubscribe sabrewolfy <at> havelock2


hymie | 20 Oct 04:43 2015

newline in followup_string


I don't know if any active development is still going on for slrn.

I wanted to suggest a patch.  I've applied it to my local copy
of slrn, and as far as I can tell, it works correctly.  It doesn't
follow all of the rules (such as using the git development code)
but right now it's only a 5-line patch.

My "followup_string" is long and (I hope) comical.  But it is longer
than a single 72-character line.  So I have changed
  %n  name of the current newsgroup
to be
  %N  name of the current newsgroup
  %n  newline
and now my followup_string is broken into 2 lines.

If there is interest, I can send it along to somebody.

--hymie!    hymie <at>


Michael Uplawski | 12 Oct 10:30 2015

custom_headers ignored in followup_hook

SLRN pre1.0.3-6

Good morning,

I have modified a macro to set some headers conditionally as soon as I
write to the newsgroups of an associative network. The script is
attached to this message (

The post_hook works as wanted, while in the followup_hook the
*custom_header setting is ignored*!

I am not pressed to have this working better than it does already, but
want to make sure that there are no real errors in the script or in my
The original file, which I copied from the Web may be old and settings
may have changed in the meantime... just give me a hint in that case.




ATTN! New Key!
GnuPG brainpoolP512r1/5C2A258D 2015-10-02 [expires: 2017-10-01]
Michael Uplawski <michael.uplawski <at>>
fingerprint: 2A44 09D4 54B4 EBD2 90DA  0B2D E8B8 0614 5C2A 258D
sub   brainpoolP512r1/53461AFA 2015-10-02 [expires: 2017-10-01]

(Continue reading)

Matěj Cepl | 25 Sep 14:14 2015

Re: Conditional From?

On 2015-01-08 Morten Bo Johansen wrote:
> > Sure, it was just an attempt at some quick solution, in case
> needed too much of an update. The regexp matching could also be achieved
> simply by changing it to this
>   define set_cond_from ()
>   {
>      set_string_variable ("username", "mbj");
>      set_string_variable ("hostname", "");
>      if (string_match (current_newsgroup, "<regexp>", 1))
>        {
>           set_string_variable ("username", "user");
>           set_string_variable ("hostname", "hostname");
>           ...
>           (other variables)
>        }
>   }
>   () = register_hook ("followup_hook", "set_cond_from");
>   () = register_hook ("post_hook", "set_cond_from");

Unplesant surprise for me was that string_match doesn’t know OR in
regular expressions so my regexp


never matches.

I found out that slrn provides PCRE bindings (I think it should really
(Continue reading)

Matěj Cepl | 2 Sep 17:54 2015

HTML messages once again


I have an internal email list gatewayed to the NNTP newsgroups 
which I need to follow, but unfortunately most of messages are
multipart/mixed with text/html part as the only part of the 
message. So, I would really like to run the body of the message 
through lynx -stdin -force_html before reading. An example of 
the type of messages is

Now, I can read on 
an explanation how to achieve this (or something similar and 
I can always fix the Python script easily). However, I have 
wondered: I have here slrn-1.0.2 which has at least some support 
for parsing MIME messages internal. Do I have to use all three 
Troy’s scripts or is there some modern way how to achieve that?

Thank you,



--, Jabber: mcepl <at>
GPG Finger: 89EF 4BC6 288A BF43 1BAB  25C3 E09F EF25 D964 84AC

A man once asked Mozart how to write a symphony. Mozart told him
to study at the conservatory for six or eight years, then
apprentice with a composer for four or five more years, then
begin writing a few sonatas, pieces for string quartets, piano
(Continue reading)

Monte Milanuk | 29 Aug 01:43 2015

View threads with unread posts by default

Hello there!

I'm setting up slrn on my Raspberry Pi 2, and would like to be able to
configure it so that I can have a similar default view to what I have
configured in Thunderbird on my desktop PC.  Specifically, I have it
selected so that it shows 'threads with unread posts', meaning that it
shows any new / unread posts, plus any other posts in the threads even
if they've been marked read before.  This give me a better feel for the
context of a given message, that may not always be conveyed by the
quoting inside the particular post.

I realize that is possible to reconstruct individual threads, and thats
what I'm currently doing.

I noticed this blurb in the slrn FAQ:

I want to see full threads as soon as they contain at least one unread
article. Can slrn do this?

>"This is currently not implemented, although it should be possible to
>achieve such an effect using a macro.
>For many, this behaviour would be a useful compromise between the two
>extremes of seeing all messages and seeing unread ones only, so this
>feature might be added in a future version of slrn."

Thats pretty much exactly what I want to do... I was wondering if anyone
on the list might have such a macro already worked up and be willing to
share it?

(Continue reading)

Michael Uplawski | 26 Aug 09:02 2015

cannot pull cleanscore from git, snapshot okay.

Good morning.

This may be intentional or not, but I want to mention it at least once.
Pulling updates from git, I do not get any content in the contrib
directory. The snapshot (currently 1.0.3-5) is complete, though.

I noticed this after having accidentally removed cleanscore. People who
are looking out for only the script are confronted with a very old
version which still contains the %% argument in the
function-declarations on top.

Packaging cleanscore with slrn is the right thing to do, but maybe you
could provide a way to get the script separately or just give a
sustainable pointer somewhere; be it to replace the old references in
search results and outdated web-sites. That pointer may exist. But if
so, the slrn site is bereft of it. ;)

TY anyway.

GnuPG/OpenPGP  4096R/3216CF02 2013-11-15 [expires: 2015-11-15]
Michael Uplawski (privat) <michael.uplawski <at>>
sub   4096R/2751C550 2013-11-15 [expires: 2015-11-15]
parv | 22 Aug 11:20 2015

/lib/ slrn dies in LC_ALL=C env on a particular message

Today I came upon a post in rec.arts.anime.misc ...

  8B8AD26D-FF8A-4CCE-A10A-239657B79B2E%anthony.baranyi <at>

... with headers ...

  Content-Type: text/plain; charset=windows-1250
  Content-Transfer-Encoding: binary

... which caused slrn to die with segfault. It was when "LC_ALL" was
set to "C" (no other LC_* variable was set).

slrn also dies while trying to display a reply to that post...

  slrnmtekva.3i0.alan <at>

... which has ...

  Content-Type: text/plain; charset=UTF-8
  Content-Transfer-Encoding: 8bit

Previously, slrn would just show the odd charcaters without fuss,
which would be the desired behaviour. Problem remained even after
rebuilding slrn & slang.

The two messages can be accessed from ...

slrn displayed the messages without problem with ...
(Continue reading)

Arkadiusz Drabczyk | 10 Aug 21:12 2015

A new macro for automatic eob

Hello there,

After a few of using mutt it became natural to me that the newest
messages are displayed on the bottom. Therefore, I set sorting_method
to 11 in my ~/.slrnrc. However, it got annoying to manually move a
pointer to the bottom every time a new group was opened so I decided
to write a macro that would this automatically for me. Here it is:

define go_bottom ()
   call ("header_eob");

variable current_sorting_method = get_variable_value ("sorting_method");

if (current_sorting_method == 10 || current_sorting_method == 11) {
    !if (1 == register_hook ("article_mode_startup_hook", &go_bottom))
           error ("failed to register go_bottom() hook");

It's very simple but I think it may be useful for mutt users. It's my
first ever macro written in S-Lang. I count on your opinion on this.


Arkadiusz Drabczyk <arkadiusz <at>>


Guido Berhoerster | 25 Jul 15:42 2015

[PATCH] Normalize Content-Transfer-Encoding

Normalize Content-Transfer-Encoding because there are MUAs and News
clients using uppercase.
 macros/ | 1 +
 1 file changed, 1 insertion(+)

diff --git a/macros/ b/macros/
index 527e6a0..24902cd 100644
--- a/macros/
+++ b/macros/
 <at>  <at>  -219,6 +219,7  <at>  <at>  private define parse_mime (art)
    node.message = body;

    variable encoding = get_header_key (header, "Content-Transfer-Encoding", 1);
+   encoding = strlow (encoding);
    if (is_substr (encoding, "base64"))
      node.encoding = "base64";
    else if (is_substr (encoding, "quoted-printable"))