for Pantomime/GNUMail users - fixes and speedup

Riccardo Mottola <[email protected]> Thu, 30 Apr 2026 02:05:30 +0200
Newsgroups gmane.comp.lib.gnustep.general
Organization GNUstep org.
Message-ID <a9f630cc47fbe821befd520ed296cdc5@cylinder>
Hi Steppers,

to whom uses Pantomime and GNUMail.

While debugging a completely unrelated issue with Lars about Menus in 
GNUMail, I encountered some unexpected exceptions with NSURLs. The URL 
highlighting code was doing some weird thing when identifying 
potential URLs especially noticeable in "fake" plain text emails, 
which are actually converted HTML. The user did not notice anythign 
except that some URLs where not correctly highlighted or not with the 
correct path.
Hower, the code was unsafe and not completely correct.
I hope I fixed it. No more exceptions and URLs show up fine in all my 
test mails.

Also by pure chance, I was looking at two very low-level methods in 
Panomime which write and read 32bit types from the cache and noticed 
that they were not paired in read/write with htonl() ntohl(). That is 
endianness was converted twice in the same direction instead of back 
an forward when writing and reading to the cache, the format of which 
is meant to be architecture independent.

I corrected this, a decade or more old bug. You may need to delete 
your cache files and they will be automatically rebuild. The format is 
network format, i.e. BigEndian, so this bug actually affects the 
current majority of LE users.  for BE users htonl and ntohl are 
NO-OPs.

I found out now that GNUMail is much faster and responsive when 
displaying emails ant it is noticeably more responsive while skimming 
through many emails even in a busy folder. Furthermore, the ocasional 
haning while display certain emails (often spam emails) seem to have 
disappeared.

The result is a quite noticeable speedup for me. Even on the aging 
laptop I am writing off now, an Athlon 64 (single-core 2Ghz), I am 
reading emails with the CPU conveniently throttled to 1GHz, silent 
fans and still hav very quick mail switching. Wonderful! And I have 
tens of thousands of emails in my account.

Possibly errors and exceptions were hidden and caused inefficiencies 
and occasional misdisplays.

I won't say it is perfect now, but much better! please try svn HEAD of 
pantomime and GNUMail, best with current GNUstep base & gui of course.

I will soon test off-mainstream platforms like Raspberry, old SPARCs 
and old computers to see how it behaves even on a SparcStations. I am 
really curious.
First tests on a Fire v120 (650Mhz UltraSPARC-IIe) show amazing 
improvements in terms of stability and speed.

Effects on other apps [*] like LuserNET need to be determined.

Riccardo

[*] I am not aware of oher Pantomime based apps beyond GNUMal and 
LuserNET. Are there?

-- 
Sent with GNUMail on GNUstep running Devuan GNU/Linux AMD Athlon 64