Friday, 30 December 2022
[Rpcemu] Patch to improve IOMD timer behaviour
--- a/src/iomd.c Thu Oct 28 16:38:15 2021 +0100
+++ b/src/iomd.c Thu Dec 29 23:42:50 2022 +0000
@@ -225,6 +225,35 @@
}
}
+static uint32_t old_timer_ticks;
+
+static void updatetimers(uint64_t nsec_timer)
+{
+ uint32_t new_timer_ticks = (uint32_t) (nsec_timer/500); /* Number of timer ticks since timer epoch */
+ int32_t ticks = new_timer_ticks - old_timer_ticks;
+ if (ticks <= 0)
+ {
+ return;
+ }
+ old_timer_ticks = new_timer_ticks;
+
+ iomd.t0.counter -= ticks;
+ while (iomd.t0.counter < 0 && iomd.t0.in_latch)
+ {
+ iomd.t0.counter += iomd.t0.in_latch;
+ iomd.irqa.status |= IOMD_IRQA_TIMER_0;
+ updateirqs();
+ }
+
+ iomd.t1.counter -= ticks;
+ while (iomd.t1.counter < 0 && iomd.t1.in_latch)
+ {
+ iomd.t1.counter += iomd.t1.in_latch;
+ iomd.irqa.status |= IOMD_IRQA_TIMER_1;
+ updateirqs();
+ }
+}
+
/**
* Handle the regularly ticking interrupts, the two
* IOMD timers, the sound interrupt and podule
@@ -232,23 +261,9 @@
*
* Called (theoretically) 500 times a second IMPROVE.
*/
-void gentimerirq(void)
+void gentimerirq(uint64_t nsec_timer)
{
- iomd.t0.counter -= 4000; /* 4000 * 500Hz = 2MHz (the IO clock speed) */
- while (iomd.t0.counter < 0 && iomd.t0.in_latch)
- {
- iomd.t0.counter += iomd.t0.in_latch;
- iomd.irqa.status |= IOMD_IRQA_TIMER_0;
- updateirqs();
- }
-
- iomd.t1.counter -= 4000;
- while (iomd.t1.counter < 0 && iomd.t1.in_latch)
- {
- iomd.t1.counter += iomd.t1.in_latch;
- iomd.irqa.status |= IOMD_IRQA_TIMER_1;
- updateirqs();
- }
+ updatetimers(nsec_timer);
if (soundinited && sndon)
{
@@ -274,8 +289,6 @@
void
iomd_write(uint32_t addr, uint32_t val)
{
- static int readinc = 0;
-
uint32_t reg;
if (iomd_type == IOMDType_IOMD2) {
@@ -353,17 +366,12 @@
iomd.t0.in_latch = (iomd.t0.in_latch & 0xff) | ((val & 0xff) << 8);
break;
case IOMD_0x048_T0GO: /* Timer 0 Go command */
+ updatetimers(rpcemu_nsec_timer_ticks());
iomd.t0.counter = iomd.t0.in_latch - 1;
break;
case IOMD_0x04C_T0LAT: /* Timer 0 Latch command */
- readinc ^= 1;
+ updatetimers(rpcemu_nsec_timer_ticks());
iomd.t0.out_latch = iomd.t0.counter;
- if (readinc) {
- iomd.t0.counter--;
- if (iomd.t0.counter < 0) {
- iomd.t0.counter += iomd.t0.in_latch;
- }
- }
break;
case IOMD_0x050_T1LOW: /* Timer 1 low bits */
@@ -373,17 +381,12 @@
iomd.t1.in_latch = (iomd.t1.in_latch & 0xff) | ((val & 0xff) << 8);
break;
case IOMD_0x058_T1GO: /* Timer 1 Go command */
+ updatetimers(rpcemu_nsec_timer_ticks());
iomd.t1.counter = iomd.t1.in_latch - 1;
break;
case IOMD_0x05C_T1LAT: /* Timer 1 Latch command */
- readinc ^= 1;
+ updatetimers(rpcemu_nsec_timer_ticks());
iomd.t1.out_latch = iomd.t1.counter;
- if (readinc) {
- iomd.t1.counter--;
- if (iomd.t1.counter < 0) {
- iomd.t1.counter += iomd.t1.in_latch;
- }
- }
break;
case IOMD_0x068_IRQMSKC: /* IRQC mask (ARM7500/FE) */
@@ -913,6 +916,7 @@
iomd.t1.counter = 0xffff;
iomd.t0.in_latch = 0xffff;
iomd.t1.in_latch = 0xffff;
+ old_timer_ticks = (uint32_t) (rpcemu_nsec_timer_ticks()/500);
if (iomd_type == IOMDType_ARM7500 || iomd_type == IOMDType_ARM7500FE) {
/* ARM7500/ARM7500FE only */
@@ -933,7 +937,6 @@
cinit = 0;
sndon = 0;
flyback = 0;
-
}
/**
diff -r 7e56f1c02af8 -r 63c934191538 src/iomd.h
--- a/src/iomd.h Thu Oct 28 16:38:15 2021 +0100
+++ b/src/iomd.h Thu Dec 29 23:42:50 2022 +0000
@@ -146,7 +146,7 @@
extern uint32_t iomd_mouse_buttons_read(void);
extern void iomd_flyback(int flyback_new);
-extern void gentimerirq(void);
+extern void gentimerirq(uint64_t nsec_timer);
#ifdef __cplusplus
} /* extern "C" */
diff -r 7e56f1c02af8 -r 63c934191538 src/qt5/rpc-qt5.cpp
--- a/src/qt5/rpc-qt5.cpp Thu Oct 28 16:38:15 2021 +0100
+++ b/src/qt5/rpc-qt5.cpp Thu Dec 29 23:42:50 2022 +0000
@@ -414,6 +414,15 @@
emulator->idle_process_events();
}
+/**
+ * Helper function to allow reading of the nanosecond timer
+ */
+uint64_t
+rpcemu_nsec_timer_ticks(void)
+{
+ return emulator->elapsed_timer.nsecsElapsed();
+}
+
} // extern "C"
/**
@@ -524,6 +533,8 @@
connect(this, &Emulator::nat_rule_add_signal, this, &Emulator::nat_rule_add);
connect(this, &Emulator::nat_rule_edit_signal, this, &Emulator::nat_rule_edit);
connect(this, &Emulator::nat_rule_remove_signal, this, &Emulator::nat_rule_remove);
+
+ elapsed_timer.start();
}
/**
@@ -538,8 +549,6 @@
iomd_timer_next = (qint64) iomd_timer_interval; // Time after which the IOMD timer should trigger
video_timer_next = (qint64) video_timer_interval;
- elapsed_timer.start();
-
unsigned network_nat_rate = 0;
while (!quited) {
@@ -562,7 +571,7 @@
// If we have passed the time the IOMD timer event should occur, trigger it
if (elapsed >= iomd_timer_next) {
iomd_timer_count.fetchAndAddRelease(1);
- gentimerirq();
+ gentimerirq(elapsed);
iomd_timer_next += (qint64) iomd_timer_interval;
}
@@ -611,7 +620,7 @@
// If we have passed the time the IOMD timer event should occur, trigger it
if (elapsed >= iomd_timer_next) {
iomd_timer_count.fetchAndAddRelease(1);
- gentimerirq();
+ gentimerirq(elapsed);
iomd_timer_next += (qint64) iomd_timer_interval;
}
diff -r 7e56f1c02af8 -r 63c934191538 src/qt5/rpc-qt5.h
--- a/src/qt5/rpc-qt5.h Thu Oct 28 16:38:15 2021 +0100
+++ b/src/qt5/rpc-qt5.h Thu Dec 29 23:42:50 2022 +0000
@@ -43,6 +43,8 @@
void idle_process_events();
+ QElapsedTimer elapsed_timer;
+
signals:
void finished();
@@ -116,7 +118,6 @@
void nat_rule_remove(PortForwardRule rule);
private:
- QElapsedTimer elapsed_timer;
int32_t video_timer_interval; ///< Interval between video timer events (in nanoseconds)
qint64 iomd_timer_next; ///< Time after which the IOMD timer should trigger
qint64 video_timer_next; ///< Time after which the video timer should trigger
diff -r 7e56f1c02af8 -r 63c934191538 src/rpcemu.h
--- a/src/rpcemu.h Thu Oct 28 16:38:15 2021 +0100
+++ b/src/rpcemu.h Thu Dec 29 23:42:50 2022 +0000
@@ -231,6 +231,7 @@
extern void rpcemu_move_host_mouse(uint16_t x, uint16_t y);
extern void rpcemu_idle_process_events(void);
extern void rpcemu_send_nat_rule_to_gui(PortForwardRule rule);
+extern uint64_t rpcemu_nsec_timer_ticks(void);
extern int drawscre;
extern int quited;
Hi,
While working on some potential changes to the way RISC OS 5 uses the IOMD
timers, I spotted a couple of problems with the way RPCEmu emulates the
timers:
1. Reading from a timer can cause that timer to increment, causing it to
(a) go out of sync with the other timer, and (b) run much faster than real
time if you read from it in a loop
2. Under normal use, timers only increment in chunks of 4000 ticks,
limiting their usefulness (e.g. when latching & reading the counter to
time short sections of code or create a delay loop)
This patch should fix those two issues, by having the code get the current
time (from the QElapsedTimer) and process any pending ticks for both
timers whenever either of their GO or LAT registers are written.
gentimerirq() has also been updated so that it will use the QElapsedTimer
to work out how many ticks to apply instead of always applying 4000 ticks.
Obviously there are still improvements that could be made (e.g. more
precise timing of interrupts, synchronisation with other clocks in the
system), but this feels like a good step in the right direction. It's
enough to keep my code happy, and passes my quick "does it boot to
desktop" smoke test on various RISC OS 3.5 - 6 ROMs.
Let me know what you think!
Cheers,
- Jeffrey
Friday, 9 December 2022
Nitter back online
I was disappointed but not surprised when the service (a non-JavaScript
Twitter feed) was taken down 'for legal reasons' only a few weeks after
I first heard about it, and very surprised when it turned out to be back
up again yesterday!
It clearly isn't rendering on NetSurf entirely the way the site
designers intended - see https://nitter.it/riscos for some really messed
up layout and links that all point to the same tweet from September 2021
when you click on them - but it *is* free of the artificial
must-have-JavaScript ban on the original Twitter site. The browser is
at liberty to download the content and render it as well as it can,
instead of just being blocked outright.
And it works as a plug-in replacement for any Twitter URLs being quoted
on news sites: simply take the original link and edit the 'twitter.com'
URL to read 'nitter.it' in order to find out what was actually said, and
the replies.
e.g. https://t.co/kc4LE2HUWm turns out to translate to
https://nitter.it/inrng/status/1534419583049818115?s=20&t=2ceELTSar4nSRCpFEx-TJg
with a pretty picture.
--
Harriet Bazley == Loyaulte me lie ==
The only rose without thorns is friendship.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Sunday, 4 December 2022
Re: New address
<mpro.rmcar7003wtw800ir.mlist@ypical.co.uk>:
> In message <5a513affd8cvjazz@waitrose.com>
> Chris Newman <cvjazz@waitrose.com> wrote:
>
> > I ave a new e-address
> >
> > cjazz@npost.uk
> >
> > CanI start using it for this group, please.
>
> I think you'll have to send an email from your new address to
> netsurf-users-join@netsurf-browser.org
It might be easier to use
https://listmaster.pepperfish.net/postorius/lists/netsurf-users.netsurf-browser.org/
as you can unsubscribe your current address at the same time.
(That link is from http://www.netsurf-browser.org/contact/)
--
Steve Fryatt - Leeds, England
http://www.stevefryatt.org.uk/
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Saturday, 3 December 2022
Re: New address
Chris Newman <cvjazz@waitrose.com> wrote:
> I ave a new e-address
>
> cjazz@npost.uk
>
> CanI start using it for this group, please.
I think you'll have to send an email from your new address to
netsurf-users-join@netsurf-browser.org
--
Frederick
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
New address
cjazz@npost.uk
CanI start using it for this group, please.
--
Chris
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Friday, 11 November 2022
Re: [gccsdk] __sync_lock_test_and_set bug fix
> Attached is a patch that fixes the implementation of
> __sync_lock_test_and_set in non-EABI toolchains. Previously, __cmpxchg
> would return the previous value instead of a failure code, which would
> result in an endless loop if the previous value is non-zero.
> Implementations have also been provided for 1, 2 and 8 byte types.
>
> A test program has also been attached which demonstrates the issue.
Thanks for this. This one is a bit beyond my pay grade but it seems to
make sense. In the absence of any other comment I've committed it as r7724.
I'm not sure what's best to do with your test program? It might be nice
to go in a GCCSDK test suite, if only we had one of those...
Theo
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Tuesday, 8 November 2022
[gccsdk] __sync_lock_test_and_set bug fix
===================================================================
--- recipe/files/gcc/libunixlib/gcccompat/atomics.c (revision 7723)
+++ recipe/files/gcc/libunixlib/gcccompat/atomics.c (working copy)
@@ -378,6 +378,28 @@
ATOMIC_OP_FETCH(or,(*ptr) |= val,unsigned)
ATOMIC_OP_FETCH(nand,(*ptr) = ~((*ptr) & val),unsigned)
+#define SYNC_LOCK_TEST_SET(size, type) \
+type \
+__builtin_sync_lock_test_and_set_##size (volatile type *ptr, type val) \
+{ \
+ type prev; \
+ \
+ __pthread_disable_ints (); \
+ \
+ prev = *ptr; \
+ *ptr = val; \
+ \
+ __pthread_enable_ints (); \
+ \
+ return prev; \
+} \
+__asm__(".hidden\t__builtin_sync_lock_test_and_set_"__STRING(size)"\n"); \
+__asm__(".global\t__sync_lock_test_and_set_"__STRING(size)"\n"); \
+__asm__("__sync_lock_test_and_set_"__STRING(size)"=__builtin_sync_lock_test_and_set_"__STRING(size));
+SYNC_LOCK_TEST_SET(1,char)
+SYNC_LOCK_TEST_SET(2,short)
+SYNC_LOCK_TEST_SET(8,long long)
+
#ifdef __ARM_EABI__
static int __cmpxchg (int oldval, int newval, volatile int *ptr)
@@ -397,25 +419,6 @@
return result;
}
-#else
-
-static int __cmpxchg (int oldval, int newval, volatile void *ptr)
-{
- int prev;
-
- __pthread_disable_ints();
-
- prev = *(int *)ptr;
- if (prev == oldval)
- *(int *)ptr = newval;
-
- __pthread_enable_ints();
-
- return prev;
-}
-
-#endif
-
int __builtin_sync_lock_test_and_set_4 (volatile int *ptr, int val)
{
int failure, oldval;
@@ -431,6 +434,12 @@
__asm__(".global\t__sync_lock_test_and_set_4\n"); \
__asm__("__sync_lock_test_and_set_4=__builtin_sync_lock_test_and_set_4");
+#else
+
+SYNC_LOCK_TEST_SET(4,int)
+
+#endif
+
void
__builtin_sync_synchronize (void)
{
#include <stdio.h>
int main(int argc, char *argv[]) {
static volatile int count;
int n;
setvbuf(stdout, NULL, _IONBF, 0);
printf("Testing __sync_lock_test_and_set...\n");
__sync_lock_test_and_set(&count, 5);
while ((n = __atomic_load_n(&count, __ATOMIC_SEQ_CST)) >= 0) {
printf("count = %d\n", n);
__sync_lock_test_and_set(&count, n - 1);
}
printf("done!\n");
return 0;
}
Friday, 4 November 2022
Re: Please test the latest build
Hello,
Please could you test the latest builds (5377 or later) from:
https://ci.netsurf-browser.org/builds/
Particularly please test the Amiga OS4 and RISC OS builds as
we have updated the versions of 3rd party libraries that we
build against. Amiga OS4 builds have had about 3 years worth
of updates and RISC OS builds about 1.5 years.
In addition we have patched the version of libcurl we build
against which should make HTTPS connections much faster for
the RISC OS and Amiga OS4 builds.
Best regards,
--
Michael Drake https://www.codethink.co.uk/
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Thursday, 3 November 2022
Re: Please test the latest build
Michael Drake <tlsa@netsurf-browser.org> wrote:
> Hello,
>
> Please could you test the latest builds (5377 or later) from:
>
> https://ci.netsurf-browser.org/builds/
>
> Particularly please test the Amiga OS4 and RISC OS builds as we have
> updated the versions of 3rd party libraries that we build against. Amiga
> OS4 builds have had about 3 years worth of updates and RISC OS builds about
> 1.5 years.
>
> In addition we have patched the version of libcurl we build against which
> should make HTTPS connections much faster for the RISC OS and Amiga OS4
> builds.
I'm running 5378 atm, and with the admittedly shallow testing I've done
so far, it seems to work everywhere that earlier versions did, and I
share the impression that it's noticeably quicker when loading e.g. the
ROOL site.
David
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: Please test the latest build
Michael Drake <tlsa@netsurf-browser.org> wrote:
> Hello,
> Please could you test the latest builds (5377 or later) from:
> https://ci.netsurf-browser.org/builds/
> Particularly please test the Amiga OS4 and RISC OS builds as
> we have updated the versions of 3rd party libraries that we
> build against. Amiga OS4 builds have had about 3 years worth
> of updates and RISC OS builds about 1.5 years.
> In addition we have patched the version of libcurl we build
> against which should make HTTPS connections much faster for
> the RISC OS and Amiga OS4 builds.
installed - seems to be more responsive
John
--
John Rickman
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: Please test the latest build
Michael Drake <tlsa@netsurf-browser.org> wrote:
> Hello,
> Please could you test the latest builds (5377 or later) from:
> https://ci.netsurf-browser.org/builds/
> Particularly please test the Amiga OS4 and RISC OS builds as
> we have updated the versions of 3rd party libraries that we
> build against. Amiga OS4 builds have had about 3 years worth
> of updates and RISC OS builds about 1.5 years.
> In addition we have patched the version of libcurl we build
> against which should make HTTPS connections much faster for
> the RISC OS and Amiga OS4 builds.
> Best regards,
Just done a few things online with Netsurf 5378, no problems...
Dave
--
Dave Triffid
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: Please test the latest build
Michael Drake <tlsa@netsurf-browser.org> wrote:
> Please could you test the latest builds (5377 or later) from:
> https://ci.netsurf-browser.org/builds/
[Snip]
#5378 now running here.
--
_____________________________________________________________________
Brian Jordan
RISC OS 5.28 (16-Dec-20) on Raspberry Pi
_____________________________________________________________________
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: Please test the latest build
> Please could you test the latest builds (5377 or later) from:
> https://ci.netsurf-browser.org/builds/
RISC OS version loaded up!
--
Richard Porter http://www.minijem.plus.com/
t: @westernexplorer mailto:ricp@minijem.plus.com
Sent from my ... if you really want to know look at the headers.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Please test the latest build
Please could you test the latest builds (5377 or later) from:
https://ci.netsurf-browser.org/builds/
Particularly please test the Amiga OS4 and RISC OS builds as
we have updated the versions of 3rd party libraries that we
build against. Amiga OS4 builds have had about 3 years worth
of updates and RISC OS builds about 1.5 years.
In addition we have patched the version of libcurl we build
against which should make HTTPS connections much faster for
the RISC OS and Amiga OS4 builds.
Best regards,
--
Michael Drake https://www.codethink.co.uk/
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Saturday, 22 October 2022
Re: [gccsdk] C11 functions in SharedCLibrary builds
> Hi
>
> I've attached a patch that provides the following functions that were
> added in SharedCLibrary 6.05:
[snip]
> The patch doesn't implement the functions in UnixLib builds, doesn't
> include any of the atomic functions that were added in SharedCLibrary
> 6.14, and it doesn't do any additional version checks, so it'll crash if
> the new functions are called with an older version of SharedCLibrary.
Thanks for the patch, that's now committed. I have slight reservations
about breakage in case of an older version, but from the ROOL forum
thread it sounds like that is expected behaviour on the DDE side of
things (ie you're expected to RMEnsure before running any code needing a
newer version, and if you don't a failure is expected), so I suppose it
doesn't make the situation any worse than it currently is.
Theo
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Wednesday, 12 October 2022
[gccsdk] C11 functions in SharedCLibrary builds
===================================================================
--- recipe/files/gcc/libunixlib/include/features.h (revision 7721)
+++ recipe/files/gcc/libunixlib/include/features.h (working copy)
@@ -30,6 +30,7 @@
__STRICT_ANSI__ ISO Standard C.
_ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
+ _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
_POSIX_SOURCE IEEE Std 1003.1.
_POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
if >=199309L, add IEEE Std 1003.1b-1993;
@@ -62,8 +63,10 @@
These are defined by this file and are used by the
header files to decide what to declare or define:
+ __USE_ISOC11 Define ISO C11 things.
__USE_ISOC99 Define ISO C99 things.
__USE_ISOC95 Define ISO C90 AMD1 (C95) things.
+ __USE_ISOCXX11 Define ISO C++11 things.
__USE_POSIX Define IEEE Std 1003.1 things.
__USE_POSIX2 Define IEEE Std 1003.2 things.
__USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
@@ -98,8 +101,10 @@
/* Undefine everything, so we get a clean slate. */
+#undef __USE_ISOC11
#undef __USE_ISOC99
#undef __USE_ISOC95
+#undef __USE_ISOCXX11
#undef __USE_POSIX
#undef __USE_POSIX2
#undef __USE_POSIX199309
@@ -158,6 +163,8 @@
#ifdef _GNU_SOURCE
# undef _ISOC99_SOURCE
# define _ISOC99_SOURCE 1
+# undef _ISOC11_SOURCE
+# define _ISOC11_SOURCE 1
# undef _POSIX_SOURCE
# define _POSIX_SOURCE 1
# undef _POSIX_C_SOURCE
@@ -178,7 +185,8 @@
/* If nothing (other than _GNU_SOURCE) is defined,
define _BSD_SOURCE and _SVID_SOURCE. */
-#if (!defined __STRICT_ANSI__ && !defined _ISOC99_SOURCE && \
+#if (!defined __STRICT_ANSI__ && \
+ !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE && \
!defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE && \
!defined _XOPEN_SOURCE && !defined _XOPEN_SOURCE_EXTENDED && \
!defined _BSD_SOURCE && !defined _SVID_SOURCE)
@@ -186,21 +194,40 @@
# define _SVID_SOURCE 1
#endif
+/* This is to enable the ISO C11 extension. */
+#if (defined _ISOC11_SOURCE \
+ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))
+# define __USE_ISOC11 1
+#endif
+
/* This is to enable the ISO C99 extension. Also recognize the old macro
which was used prior to the standard acceptance. This macro will
eventually go away and the features enabled by default once the ISO C99
standard is widely adopted. */
-#if (defined _ISOC99_SOURCE || defined _ISOC9X_SOURCE \
+#if (defined _ISOC99_SOURCE || defined _ISOC9X_SOURCE || defined _ISOC11_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
# define __USE_ISOC99 1
#endif
/* This is to enable the ISO C90 Amendment 1:1995 extension. */
-#if (defined _ISOC99_SOURCE || defined _ISOC9X_SOURCE \
+#if (defined _ISOC99_SOURCE || defined _ISOC9X_SOURCE || defined _ISOC11_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))
# define __USE_ISOC95 1
#endif
+#ifdef __cplusplus
+/* This is to enable compatibility for ISO C++17. */
+# if __cplusplus >= 201703L
+# define __USE_ISOC11 1
+# endif
+/* This is to enable compatibility for ISO C++11.
+ Check the temporary macro for now, too. */
+# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__
+# define __USE_ISOCXX11 1
+# define __USE_ISOC99 1
+# endif
+#endif
+
/* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2
(and IEEE Std 1003.1b-1993 unless _XOPEN_SOURCE is defined). */
#if ((!defined __STRICT_ANSI__ || (_XOPEN_SOURCE - 0) >= 500) && \
Index: recipe/files/gcc/libunixlib/include/stdlib.h
===================================================================
--- recipe/files/gcc/libunixlib/include/stdlib.h (revision 7721)
+++ recipe/files/gcc/libunixlib/include/stdlib.h (working copy)
@@ -71,6 +71,20 @@
extern void exit (int __status) __THROW __attribute__ ((__noreturn__));
__END_NAMESPACE_STD
+#if defined __USE_ISOC11 || defined __USE_ISOCXX11
+# ifdef __TARGET_SCL__
+__BEGIN_NAMESPACE_C11
+/* Register a function to be called when `quick_exit' is called. */
+extern int at_quick_exit (void (*__func) (void)) __THROW __nonnull ((1));
+
+/* Call all functions registered with `at_quick_exit' in the reverse
+ of the order in which they were registered and terminate program
+ execution with STATUS. */
+extern void quick_exit (int __status) __THROW __attribute__ ((__noreturn__));
+__END_NAMESPACE_C11
+# endif
+#endif
+
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Terminate the program with status. Don't call any functions
@@ -181,6 +195,17 @@
# endif
#endif
+#ifdef __USE_ISOC11
+# ifdef __TARGET_SCL__
+__BEGIN_NAMESPACE_C11
+/* ISO C variant of aligned allocation. */
+extern void *aligned_alloc (size_t __alignment, size_t __size)
+ __THROW __attribute_malloc__ __attribute_alloc_align__ ((1))
+ __attribute_alloc_size__ ((2)) __wur;
+__END_NAMESPACE_C11
+# endif
+#endif
+
#ifndef __TARGET_SCL__
extern void *memalign (size_t __alignment,
size_t __bytes) __THROW __attribute_malloc__ __wur;
Index: recipe/files/gcc/libunixlib/include/sys/cdefs.h
===================================================================
--- recipe/files/gcc/libunixlib/include/sys/cdefs.h (revision 7721)
+++ recipe/files/gcc/libunixlib/include/sys/cdefs.h (working copy)
@@ -114,6 +114,9 @@
# define __BEGIN_NAMESPACE_C99 namespace __c99 {
# define __END_NAMESPACE_C99 }
# define __USING_NAMESPACE_C99(name) using __c99::name;
+# define __BEGIN_NAMESPACE_C11 namespace __c11 {
+# define __END_NAMESPACE_C11 }
+# define __USING_NAMESPACE_C11(name) using __c11::name;
#else
/* For compatibility we do not add the declarations into any
namespace. They will end up in the global namespace which is what
@@ -124,6 +127,9 @@
# define __BEGIN_NAMESPACE_C99
# define __END_NAMESPACE_C99
# define __USING_NAMESPACE_C99(name)
+# define __BEGIN_NAMESPACE_C11
+# define __END_NAMESPACE_C11
+# define __USING_NAMESPACE_C11(name)
#endif
@@ -216,6 +222,24 @@
# define __attribute_malloc__ /* Ignore */
#endif
+/* Tell the compiler which arguments to an allocation function
+ indicate the size of the allocation. */
+#if __GNUC_PREREQ (4, 3)
+# define __attribute_alloc_size__(params) \
+ __attribute__ ((__alloc_size__ params))
+#else
+# define __attribute_alloc_size__(params) /* Ignore. */
+#endif
+
+/* Tell the compiler which argument to an allocation function
+ indicates the alignment of the allocation. */
+#if __GNUC_PREREQ (4, 9)
+# define __attribute_alloc_align__(param) \
+ __attribute__ ((__alloc_align__ param))
+#else
+# define __attribute_alloc_align__(param) /* Ignore. */
+#endif
+
/* At some point during the gcc 2.96 development the `pure' attribute
for functions was introduced. We don't want to use it unconditionally
(although this would be possible) since it generates warnings. */
Index: recipe/files/gcc/libunixlib/include/time.h
===================================================================
--- recipe/files/gcc/libunixlib/include/time.h (revision 7721)
+++ recipe/files/gcc/libunixlib/include/time.h (working copy)
@@ -63,12 +63,12 @@
#if !defined __timespec_defined && defined __need_timespec
#define __timespec_defined 1
-
+#include <unixlib/types.h>
/* POSIX.1b structure for a time value. This is like a `struct timeval' but
has nanoseconds instead of microseconds. */
struct timespec
{
- long int tv_sec; /* Seconds. */
+ __time_t tv_sec; /* Seconds. */
long int tv_nsec; /* Nanoseconds. */
};
#endif
@@ -89,6 +89,11 @@
/* Obsolete name for CLOCKS_PER_SEC. */
#define CLK_TCK CLOCKS_PER_SEC
+#ifdef __USE_ISOC11
+/* Time base values for timespec_get. */
+# define TIME_UTC 1
+#endif
+
__BEGIN_NAMESPACE_STD
/* Return the elapsed processor time. */
@@ -171,8 +176,6 @@
#endif
-/* C99 Additions. */
-
#ifdef __USE_POSIX199309
/* Identifier for system-wide realtime clock. */
@@ -205,6 +208,16 @@
#endif
#endif
+/* C11 Additions. */
+
+#ifdef __USE_ISOC11
+# ifdef __TARGET_SCL__
+/* Set TS to calendar time based in time base BASE. */
+extern int timespec_get (struct timespec *__ts, int __base)
+ __THROW __nonnull ((1));
+# endif
+#endif
+
/* System V compatibility. */
# if defined __USE_SVID || defined __USE_XOPEN
Index: recipe/files/gcc/libunixlib/scl/chunkid05.s
===================================================================
--- recipe/files/gcc/libunixlib/scl/chunkid05.s (revision 7721)
+++ recipe/files/gcc/libunixlib/scl/chunkid05.s (working copy)
@@ -572,8 +572,7 @@
@ Entry 71
@ Inverse hyperbolic cosine function
@ float acoshf (float x);
- @ Implemented in scl_acoshf.s
- MOV PC, #0
+ MOV PC, #0 @ FIXME
@ Entry 72
@ Inverse hyperbolic sine function
@@ -585,8 +584,7 @@
@ Entry 73
@ Inverse hyperbolic sine function
@ float asinhf (float x);
- @ Implemented in scl_sinhf.s
- MOV PC, #0
+ MOV PC, #0 @ FIXME
@ Entry 74
@ Inverse hyperbolic tangent function
@@ -1091,6 +1089,37 @@
@ with #define _LARGEFILE64_SOURCE
DefSCLFnc tmpfile64
+ @ Entry
+ @ void *aligned_alloc(size_t, size_t);
+ DefSCLFnc aligned_alloc
+
+ @ Entry
+ @ int at_quick_exit(void (*)(void));
+ DefSCLFnc at_quick_exit
+
+ @ Entry
+ @ void quick_exit (int);
+ DefSCLFnc quick_exit
+
+ @ Entry
+ @ int timespec_get (struct timespec *, int);
+ DefSCLFnc timespec_get
+
+ @ Entry
+ @ float coshf (float x);
+ @ Implemented in scl_coshf.s
+ MOV PC, #0
+
+ @ Entry
+ @ float sinhf (float x);
+ @ Implemented in scl_coshf.s
+ MOV PC, #0
+
+ @ Entry
+ @ float tanhf (float x);
+ @ Implemented in scl_tanhf.s
+ MOV PC, #0
+
extra_vectors_end:
.space extra_vectors_end - extra_vectors_begin
.size extra_vectors, . - extra_vectors
Index: recipe/files/gcc/libunixlib/scl/scl_coshf.s
===================================================================
--- recipe/files/gcc/libunixlib/scl/scl_coshf.s (revision 7721)
+++ recipe/files/gcc/libunixlib/scl/scl_coshf.s (working copy)
@@ -4,6 +4,9 @@
@ Only suited for APCS-32 linking (SharedCLibrary 5) with code compiled
@ with GCCSDK 4.x.
+@ Note that this function was absent from the stubs prior to
+@ SharedCLibrary 6.09.
+
#include "internal/elf-macros.s"
#include "internal/scl-macros.s"
Index: recipe/files/gcc/libunixlib/scl/scl_sinhf.s
===================================================================
--- recipe/files/gcc/libunixlib/scl/scl_sinhf.s (revision 7721)
+++ recipe/files/gcc/libunixlib/scl/scl_sinhf.s (working copy)
@@ -4,6 +4,9 @@
@ Only suited for APCS-32 linking (SharedCLibrary 5) with code compiled
@ with GCCSDK 4.x.
+@ Note that this function was absent from the stubs prior to
+@ SharedCLibrary 6.09.
+
#include "internal/elf-macros.s"
#include "internal/scl-macros.s"
Index: recipe/files/gcc/libunixlib/scl/scl_tanhf.s
===================================================================
--- recipe/files/gcc/libunixlib/scl/scl_tanhf.s (revision 7721)
+++ recipe/files/gcc/libunixlib/scl/scl_tanhf.s (working copy)
@@ -4,6 +4,9 @@
@ Only suited for APCS-32 linking (SharedCLibrary 5) with code compiled
@ with GCCSDK 4.x.
+@ Note that this function was absent from the stubs prior to
+@ SharedCLibrary 6.09.
+
#include "internal/elf-macros.s"
#include "internal/scl-macros.s"
aligned_alloc
at_quick_exit
quick_exit
timespec_get
It also acknowledges the addition of the following functions in SharedCLibrary 6.09 (https://gitlab.riscosopen.org/RiscOS/Sources/Lib/RISC_OSLib/-/commit/9297c9e44aeb87e024567d3b3455e15efd20b926), although all three of them were already supported as statically linked functions in FPA builds:
coshf
sinhf
tanhf
Tuesday, 11 October 2022
Re: NetSurf wont start with certain (required) fonts
Michael Drake <tlsa@netsurf-browser.org> wrote:
> On 11/10/2022 02:53, Mike Hobbs wrote:
>> I just upgraded MessengerPro (R-Comp) and to be able to display
>> unicode characters certain fonts are required (e.g. Libertine,
>> DeJaVu). However, when these fonts are installed Netsurf fails to
>> start up.
>>
>> Is there a workaround for this?
> What version of NetSurf are you using?
> Please try a recent development build (e.g. 5367):
> https://ci.netsurf-browser.org/builds/riscos/?C=M;O=D
Aha! That did the trick. I was using 3.10 release. Now 3.11 (5367)
Many thanks.
--
Mike Hobbs
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: NetSurf wont start with certain (required) fonts
> I just upgraded MessengerPro (R-Comp) and to be able to display
> unicode characters certain fonts are required (e.g. Libertine,
> DeJaVu). However, when these fonts are installed Netsurf fails to
> start up.
>
> Is there a workaround for this?
What version of NetSurf are you using?
Please try a recent development build (e.g. 5367):
https://ci.netsurf-browser.org/builds/riscos/?C=M;O=D
--
Michael Drake https://www.codethink.co.uk/
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Monday, 10 October 2022
NetSurf wont start with certain (required) fonts
unicode characters certain fonts are required (e.g. Libertine,
DeJaVu). However, when these fonts are installed Netsurf fails to
start up.
To be more precise, its fails when Libertine or DeJaVuSans fonts
are installed but its OK with DeJaVu (which only has Serif style).
The other fonts have quite a few styles. Could this be the problem?
Is there a workaround for this?
--
Mike Hobbs
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Saturday, 17 September 2022
Re: ci.netsurf-browser.org down?
Harriet Bazley wrote:
> I've been unable to access the https://ci.netsurf-browser.org/ site
> since this morning - it just times out.
>
> I can't access my bookmarks for the Mantis bug tracker or the Netsurf
> mailing list archives either, although they are nominally at different
> addresses (dir.gmane.org/gmane.comp.web.netsurf.user and
> bugs.netsurf-browser.org) - but may redirect to the same 'home' site?
>
Seems to be back up now. :-)
--
Harriet Bazley == Loyaulte me lie ==
It's clever, but is it art? - Rudyard Kipling
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Thursday, 15 September 2022
position:fixed works only as position:absolute
I'm use a last NS build (from git) on Linux Mint 20.3 x64.
If I try to use css property position:fixed; it position element
correctly on page, but it scrolls with content, as if it is a
display:absolute;
Maybe this can be easy fixed?
Thanks!
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Wednesday, 14 September 2022
Re: ci.netsurf-browser.org down?
> Apparently the personal motto of Richard III
> It's a personal affirmation on several levels, and a historical
> allusion....
Thank you Dave and Harriet. I always assumed that it was a pun or a joke,
but now I know better.
Paul
--
https://riscos.sprie.nl
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Tuesday, 13 September 2022
Re: ci.netsurf-browser.org down?
Paul Sprangers wrote:
> PS @Harriet: can you explain to a non-native speaker what "Loyaulte me
> lie" means? I'm puzzled since a long long time.
>
Probably because it's not English; it's Norman French, like "Honi soit
qui mal y pense" (the motto of the Order of the Garter).
It's a personal affirmation on several levels, and a historical
allusion....
--
Harriet Bazley == Loyaulte me lie ==
He who hesitates is sometimes saved.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: ci.netsurf-browser.org down?
Paul Sprangers <Paul@sprie.nl> wrote:
[Snippy]
> what "Loyaulte me lie" means?
The Google thing shows...
Loyalty binds me.
Apparently the personal motto of Richard III
D.
--
Dave Triffid
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: ci.netsurf-browser.org down?
> I was rather surprised to see that netsurf-browser.org and
> ci.netsurf-browser.org resolve to completely different IPv4 addresses,
> but the latter is unreachable to ping4.
The former is hosted by me and Daniel at Pepperfish (along with email
and mailing lists). The CI and autobuilder is hosted by Vince in his
garage and should not really be considered as an essential service. I'm
sure it'll be back soon.
B.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: ci.netsurf-browser.org down?
Harriet Bazley <lists@bazleyfamily.co.uk> wrote:
> I've been unable to access the https://ci.netsurf-browser.org/ site since
> this morning - it just times out.
>
> I can't access my bookmarks for the Mantis bug tracker or the Netsurf
> mailing list archives either, although they are nominally at different
> addresses (dir.gmane.org/gmane.comp.web.netsurf.user and
> bugs.netsurf-browser.org) - but may redirect to the same 'home' site?
It's been down since yesterday at least.
I was rather surprised to see that netsurf-browser.org and
ci.netsurf-browser.org resolve to completely different IPv4 addresses,
but the latter is unreachable to ping4.
David
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: ci.netsurf-browser.org down?
Harriet Bazley <lists@bazleyfamily.co.uk> wrote:
> I've been unable to access the https://ci.netsurf-browser.org/ site
> since this morning - it just times out.
Same here, whole day.
I think we just have to be patient.
PS @Harriet: can you explain to a non-native speaker what "Loyaulte me
lie" means? I'm puzzled since a long long time.
Paul
--
https://riscos.sprie.nl
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
ci.netsurf-browser.org down?
since this morning - it just times out.
I can't access my bookmarks for the Mantis bug tracker or the Netsurf
mailing list archives either, although they are nominally at different
addresses (dir.gmane.org/gmane.comp.web.netsurf.user and
bugs.netsurf-browser.org) - but may redirect to the same 'home' site?
--
Harriet Bazley == Loyaulte me lie ==
The purpose of rules is to make you think before you break them.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Thursday, 1 September 2022
Re: Performance Benchmarks?
> On 01/09/2022 00:56, Kristian Van Tassell wrote:
>> If not, does anyone have any gut feelings as to whether newer versions
>> are faster?
>
> I doubt stylesheet parsing is significantly faster than it used to be.
> There have, however, been many improvements to the performance of style
> selection in the last 10 years. You can find discussion of one of them
> here:
> https://listmaster.pepperfish.net/hyperkitty/list/netsurf-dev@netsurf-browser.org/thread/TC4DVXUE637ZZLLL5UNYY6HO5MACJGTV/
The other big computed style selection optimisations were:
1. Avoiding selection altogether when we can detect that
it would result in the same computed style as a previous
element.
2. Up-front presentational hints.
Also, computed styles are now transparently interned and
ref counted now, so elements will share the same computed
styles whenever possible, reducing memory usage.
--
Michael Drake
_______________________________________________
netsurf-dev mailing list -- netsurf-dev@netsurf-browser.org
To unsubscribe send an email to netsurf-dev-leave@netsurf-browser.org
Re: Performance Benchmarks?
> Hello all,
>
> I'm providing some maintenance on some software that uses libcss as a
> dependency, however a few versions of our software uses fairly old
> versions (0.1.2).
Yeah, that is "fairly old" -- it was released in 2012!
> What I'm wondering is, are there any performance benchmarks in place
> that would provide analytics as to whether version 0.1.2 is
> significantly less performant than 0.9.1?
I don't believe there is anything formal, no.
> If not, does anyone have any gut feelings as to whether newer versions
> are faster?
I doubt stylesheet parsing is significantly faster than it used to be.
There have, however, been many improvements to the performance of style
selection in the last 10 years. You can find discussion of one of them
here:
https://listmaster.pepperfish.net/hyperkitty/list/netsurf-dev@netsurf-browser.org/thread/TC4DVXUE637ZZLLL5UNYY6HO5MACJGTV/
John-Mark.
_______________________________________________
netsurf-dev mailing list -- netsurf-dev@netsurf-browser.org
To unsubscribe send an email to netsurf-dev-leave@netsurf-browser.org
Wednesday, 31 August 2022
Performance Benchmarks?
Hello all,
I’m providing some maintenance on some software that uses libcss as a dependency, however a few versions of our software uses fairly old versions (0.1.2).
What I’m wondering is, are there any performance benchmarks in place that would provide analytics as to whether version 0.1.2 is significantly less performant than 0.9.1?
If not, does anyone have any gut feelings as to whether newer versions are faster?
The reason I ask is because I would like to update our version however it may require a significant undertaking due to our implementation.
Thanks in advance for any information you can provide!
-Kristian
Saturday, 20 August 2022
Blank page (caused by JS?)
https://www.lieder.net/lieder/get_text.html?TextId=355
renders as completely blank, whether or not I have JavaScript enabled.
However if I delete everything from just above the </head> tag to just
below the </style> tag, i.e. all the JavaScript in the headers, the page
text is then visible.
I would have assumed this was the same thing as simply not executing the
JavaScript in question, but evidently not!
--
Harriet Bazley == Loyaulte me lie ==
Abstinence makes the heart grow fonder.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
[gccsdk] SOMRun leaves stale DDEUtils command line
Saturday, 6 August 2022
libwebp
Saturday, 30 July 2022
Re: Possible to get it out of reverse video?
>> there's no way of overriding them [...]. I'm not sure how you'd
>> even go about implementing this.
Personally? My first reaction is to look at the display code and have
it used fixed colours instead of the colours that come from the page,
from the default CSS, from wherever.
That probably wouldn't be the best answer; it's just the most obvious
answer that occurs to me.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse@rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: Possible to get it out of reverse video?
the list]
---------- Begin forwarded message ----------
Date: Fri, 29 Jul 2022 15:08:46 +0100
From: Chris Young <cdyoung@gmail.com>
To: Harriet Bazley <lists@bazleyfamily.co.uk>
CC: netsurf-users@netsurf-browser.org
Subject: Re: Possible to get it out of reverse video?
>
>
> I'm struggling to post to this list, so hopefully this will work.
>
> Harriet Bazley wrote:
> > Unfortunately I'm pretty sure Netsurf doesn't offer any mechanism to
> > force HTML pages to change their colour scheme. It doesn't offer all
> > that many customisations anyway (you can't even tell it not to load
> > images, so far as I'm aware). I think it was mainly written to be
> > small and fast, rather than highly flexible.
>
> There is a media query which allows a web browser to pick up the preferred
> colour scheme (light mode/dark mode) from the OS (or the browser itself).
> NetSurf does not implement this, so everything defaults to light mode.
>
> That would help with sites which support dark mode (via the media query or
> otherwise), however still leaves the rest of the web in light mode.
>
> You can change the default CSS but it is only going to help if the page
> itself doesn't specify colours.
>
> If the page specifies colours then they will be used by NetSurf - there's
> no way of overriding them (beyond light mode/dark mode - and even then
> you're still using colours specified by the page). I'm not sure how you'd
> even go about implementing this.
>
----------- End forwarded message -----------
--
Harriet Bazley == Loyaulte me lie ==
Nostalgia isn't what it used to be.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Friday, 29 July 2022
Re: Possible to get it out of reverse video?
I'm struggling to post to this list, so hopefully this will work.
Harriet Bazley wrote:
> Unfortunately I'm pretty sure Netsurf doesn't offer any mechanism to
> force HTML pages to change their colour scheme. It doesn't offer all
> that many customisations anyway (you can't even tell it not to load
> images, so far as I'm aware). I think it was mainly written to be
> small and fast, rather than highly flexible.
There is a media query which allows a web browser to pick up the preferred colour scheme (light mode/dark mode) from the OS (or the browser itself). NetSurf does not implement this, so everything defaults to light mode.
That would help with sites which support dark mode (via the media query or otherwise), however still leaves the rest of the web in light mode.
You can change the default CSS but it is only going to help if the page itself doesn't specify colours.
If the page specifies colours then they will be used by NetSurf - there's no way of overriding them (beyond light mode/dark mode - and even then you're still using colours specified by the page). I'm not sure how you'd even go about implementing this.
Re: Possible to get it out of reverse video?
>> most pages actively specify reverse-video colours. I don't
>> understand why.)
> So by 'reverse video' you mean DTP-style display, with dark text on a
> white page? Yes, that is the default for everything other than
> terminal-style screens (which I now understand is what you are trying
> to emulate).
Well, I wouldn't put it that way. I like it not because that's how
text terminals worked; I like it because I'm using self-luminant
displays, displays that give off light of their own (as opposed to
reflective displays, which reflect ambient light rather than generating
their own light). Text terminals also use - used, I guess I should say
these days - self-luminant displays, so light-on-dark made sense for
them just as much as it does for me now.
> Unfortunately I'm pretty sure Netsurf doesn't offer any mechanism to
> force HTML pages to change their colour scheme.
Oh well. At least I don't need to struggle with it trying to find such
a mechanism, then. Thank you!
> So there probably isn't any way of getting it to meet your needs.
> (Though I'm not a developer and don't know what is actually
> possible!)
Well, of course, I could fetch the source and hack on that. I've been
hesitant to try that, expecting that understanding it enough to make
those changes would take longer than finding some other way to address
the issue...though I'm having enough trouble finding a suitable browser
for that system that I'm beginning to wonder if maybe I won't have to
do something like that with _some_ browser.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse@rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: Possible to get it out of reverse video?
Mouse wrote:
> >> [I tried netsurf]. As I have, unfortunately, come to expect from
> >> almost everything, it defaulted to reverse video. [...]
>
> > [default CSS] To be honest I don't know that this would override the
> > colours set up in the page [...]
>
> I wouldn't expect default CSS to override the page's colours. That's
> what defaults are all about, after all.
I can't think of any other way of doing it in Netsurf (and I didn't test
that suggestion, so I don't even know if it would have worked
anyway....)
> (I wouldn't even _want_ to override the page's colours, except that
> most pages actively specify reverse-video colours. I don't understand
> why.)
So by 'reverse video' you mean DTP-style display, with dark text on a
white page? Yes, that is the default for everything other than
terminal-style screens (which I now understand is what you are trying to
emulate).
StrongED (bitmap display text editor) used to have a special 'inverse
video' light-on-dark colour option to emulate the old BBC Micro
programming display, but I can't even find that option in the latest
versions, and I don't know of any other application that offers it -
RISC OS has been using cream/white/grey backgrounds with lines drawn
over them as the default for all user interfaces since the desktop first
came in circa 1990, and it has never been terminal-based, so I'm afraid
applications originating in RISC OS simply don't take that type of
display into account. :-(
[snip]
> The "make it usable" part needs, of course, to have a "for me"
> qualifier attached; I had assumed that was implicitly understood here,
> as of course it should be for pretty much any user-usability issue. I
> suspect most people have become accustomed to having large areas of
> bright on their screens. Maybe they like eyestrain? [Only half
> sarcastic....]
I find that fine white lines against a dark background tend to dance
before my eyes - particularly obvious when graphics designers use this
style on printed pages (and even worse of course when they do it on a
*textured* background, which may look good on their monitors but is all
but unreadable in a colour magazine), but I just generated an HTML page
of Lorem ipsum using a white-on-black colour scheme, and it's pretty
hard to read in Netsurf. It probably depends on your OS/monitor set-up.
> Of course, it doesn't matter much what the defaults are, as long as
> it's easy to change them. It's the changing-them part that led me to
> write to the list.
Unfortunately I'm pretty sure Netsurf doesn't offer any mechanism to
force HTML pages to change their colour scheme. It doesn't offer all
that many customisations anyway (you can't even tell it not to load
images, so far as I'm aware). I think it was mainly written to be
small and fast, rather than highly flexible.
So there probably isn't any way of getting it to meet your needs.
(Though I'm not a developer and don't know what is actually possible!)
--
Harriet Bazley == Loyaulte me lie ==
He who hesitates is last.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Thursday, 28 July 2022
Re: Possible to get it out of reverse video?
>> almost everything, it defaulted to reverse video. [...]
> [default CSS] To be honest I don't know that this would override the
> colours set up in the page [...]
I wouldn't expect default CSS to override the page's colours. That's
what defaults are all about, after all. (I wouldn't even _want_ to
override the page's colours, except that most pages actively specify
reverse-video colours. I don't understand why.)
> I'd be rather concerned about why everything on your system is for
> some reason defaulting to inverse video and needs to be over-ridden
> to make it usable...
It defaults to reverse video presumably for the same reason everything
else does these days: that seems to be what most people have come to
expect. (It's baffling to me why; the one UX person I've spoken with
about the issue actually agreed with me.)
The "make it usable" part needs, of course, to have a "for me"
qualifier attached; I had assumed that was implicitly understood here,
as of course it should be for pretty much any user-usability issue. I
suspect most people have become accustomed to having large areas of
bright on their screens. Maybe they like eyestrain? [Only half
sarcastic....]
Of course, it doesn't matter much what the defaults are, as long as
it's easy to change them. It's the changing-them part that led me to
write to the list.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse@rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Re: Possible to get it out of reverse video?
Mouse wrote:
> I recently had occasion to set up a Linux - Debian - machine (for work,
> to be sure). I'm having trouble finding a Web browser I can stand to
> use.
>
> One of the ones I tried was netsurf (via apt-get install, installing
> netsurf-common and netsurf-gtk - the About window says "NetSurf 3.10
> (24th May 2020)"). As I have, unfortunately, come to expect from
> almost everything, it defaulted to reverse video. The notable part is
> that I was unable to find any way to change that; most of the browsers
> I've run into on Linux have had some way to configure colours, usually
> including a way to tell it "use these colours no matter what the page
> tries to set". With netsurf, though, I couldn't find even the former,
> much less the latter.
>
> Did I just miss something, or is netsurf not capable of being told what
> colours to use?
>
Netsurf has a default CSS file that sets up various colours, e.g.
ins { color: green; text-decoration: underline; }
I can't see that it explicitly sets the main body colour (although it
does for text areas), but you could presumably edit additional
definitions in. To be honest I don't know that this would override the
colours set up in the page that it is being asked to interpret, though.
It's not something that any RISC OS browser has ever been asked to do,
to my knowledge.
I'd be rather concerned about why everything on your system is for some
reason defaulting to inverse video and needs to be over-ridden to make
it usable...
--
Harriet Bazley == Loyaulte me lie ==
USER ERROR: replace user and press any key to continue.
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Possible to get it out of reverse video?
to be sure). I'm having trouble finding a Web browser I can stand to
use.
One of the ones I tried was netsurf (via apt-get install, installing
netsurf-common and netsurf-gtk - the About window says "NetSurf 3.10
(24th May 2020)"). As I have, unfortunately, come to expect from
almost everything, it defaulted to reverse video. The notable part is
that I was unable to find any way to change that; most of the browsers
I've run into on Linux have had some way to configure colours, usually
including a way to tell it "use these colours no matter what the page
tries to set". With netsurf, though, I couldn't find even the former,
much less the latter.
Did I just miss something, or is netsurf not capable of being told what
colours to use?
Mouse
_______________________________________________
netsurf-users mailing list -- netsurf-users@netsurf-browser.org
To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org
Monday, 18 July 2022
Re: [gccsdk] [PATCH] UnixLib: supportforPOSIX.1-2008extendedlocaleAPIs
> On Jul 18 2022, at 12:10 pm, David Pitt <pittdj@pittdj.co.uk> wrote:
>
> > The issue occurs on building RISC OS gcc4 :-
> >
> > cd gcc4
> > make ronative
> >
> > ./build-world stalled without locale_t.h as in revision 7702 but is fine
> > with revision 7703. I have not tried cross compiling with
> > arm-unknown-riscos-gcc.
>
> Ah, I see - I didn't check that. That's confirmed - a link-time failure
> in SOManager due to requiring POSIX-1.2008 symbols even when building
> without the feature enabled.
>
> I think I've fixed that in r7704 - are you able to confirm?
A RISC OS GCC4 has built. Untested at the moment, a job for tomorrow.
--
David Pitt
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] [PATCH] UnixLib: support forPOSIX.1-2008extendedlocaleAPIs
> The issue occurs on building RISC OS gcc4 :-
>
> cd gcc4
> make ronative
>
> ./build-world stalled without locale_t.h as in revision 7702 but is fine
> with revision 7703. I have not tried cross compiling with
> arm-unknown-riscos-gcc.
Ah, I see - I didn't check that. That's confirmed - a link-time failure
in SOManager due to requiring POSIX-1.2008 symbols even when building
without the feature enabled.
I think I've fixed that in r7704 - are you able to confirm?
Thanks
Theo
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] [PATCH] UnixLib: supportforPOSIX.1-2008extendedlocaleAPIs
> Theo Markettos, on 18 Jul, wrote:
>
> > On Jul 18 2022, at 10:34 am, David Pitt <pittdj@pittdj.co.uk> wrote:
> >
> > > I have done a fresh checkout of 7703 onto a new Ubuntu 22.04 VM on an
> > > intel iMac and still get the above error on building gcc4.
> > >
> > > build-world does now build with 7703.
> [snip]
> > Just to clarify, are you getting that error when building gcc4 (ie
> > ./build-world in the SVN tree) or when building *with* gcc4 (ie
> > arm-unknown-riscos-gcc helloworld.c or compiling a program on RISC OS)?
>[snip]
> ./build-world stalled without locale_t.h as in revision 7702 but is fine
> with revision 7703. I have not tried cross compiling with
> arm-unknown-riscos-gcc.
For completeness, cross compiling is OK.
/home/djp/gccsdk/env/ro-path gcc -o helloC helloworld.c
--
David Pitt
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] [PATCH] UnixLib: support forPOSIX.1-2008extendedlocaleAPIs
> On Jul 18 2022, at 10:34 am, David Pitt <pittdj@pittdj.co.uk> wrote:
>
> > I have done a fresh checkout of 7703 onto a new Ubuntu 22.04 VM on an
> > intel iMac and still get the above error on building gcc4.
> >
> > build-world does now build with 7703.
[snip]
> Just to clarify, are you getting that error when building gcc4 (ie
> ./build-world in the SVN tree) or when building *with* gcc4 (ie
> arm-unknown-riscos-gcc helloworld.c or compiling a program on RISC OS)?
>
> In other words, what's the difference between your first two paragraphs
> above?
The issue occurs on building RISC OS gcc4 :-
cd gcc4
make ronative
./build-world stalled without locale_t.h as in revision 7702 but is fine
with revision 7703. I have not tried cross compiling with
arm-unknown-riscos-gcc.
Sorry if I was not clear enough.
--
David Pitt
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] [PATCH] UnixLib: support for POSIX.1-2008extendedlocaleAPIs
> I have done a fresh checkout of 7703 onto a new Ubuntu 22.04 VM on an intel
> iMac and still get the above error on building gcc4.
>
> build-world does now build with 7703.
>
> As Theo's installation works I will park this for now and ascribe the issue
> to some local wierdness.
Just to clarify, are you getting that error when building gcc4 (ie
./build-world in the SVN tree) or when building *with* gcc4 (ie
arm-unknown-riscos-gcc helloworld.c or compiling a program on RISC OS)?
In other words, what's the difference between your first two paragraphs above?
Theo
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] [PATCH] UnixLib: support for POSIX.1-2008extendedlocaleAPIs
> On Jul 16 2022, at 10:23 pm, David Pitt <pittdj@pittdj.co.uk> wrote:
>
> > Revision 7703 supplies the missing locale_t header but a gcc4 build now
> > fails with :-
> >
> >
/home/djp/gccsdk/cross/lib/gcc/arm-unknown-riscos/4.7.4/../../../../arm-unknown-riscos/lib/scl-module/hard/fpa/libunixlib.a(stricmp.o):
> > In function `strcasecmp_l':
> > /home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/stricmp.c:43:
undefined
> > reference to `tolower_l'
> > /home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/stricmp.c:43:
undefined
> > reference to `tolower_l'
>
> Apologies, I failed to svn add the bits/locale_t.h file from the patch.
> I committed that in 7703.
>
> I did a fresh checkout of 7703 and it built for me (Ubuntu 21.10 amd64).
> Perhaps you need to clean your build if there are files left over from a
> previous revision?
I have done a fresh checkout of 7703 onto a new Ubuntu 22.04 VM on an intel
iMac and still get the above error on building gcc4.
build-world does now build with 7703.
As Theo's installation works I will park this for now and ascribe the issue
to some local wierdness.
--
David Pitt
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Saturday, 16 July 2022
Re: [gccsdk] [PATCH] UnixLib: support for POSIX.1-2008 extendedlocaleAPIs
> Revision 7703 supplies the missing locale_t header but a gcc4 build now
> fails with :-
>
> /home/djp/gccsdk/cross/lib/gcc/arm-unknown-riscos/4.7.4/../../../../arm-unknown-riscos/lib/scl-module/hard/fpa/libunixlib.a(stricmp.o):
> In function `strcasecmp_l':
> /home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/stricmp.c:43: undefined
> reference to `tolower_l'
> /home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/stricmp.c:43: undefined
> reference to `tolower_l'
Apologies, I failed to svn add the bits/locale_t.h file from the patch.
I committed that in 7703.
I did a fresh checkout of 7703 and it built for me (Ubuntu 21.10 amd64).
Perhaps you need to clean your build if there are files left over from a
previous revision?
Theo
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] [PATCH] UnixLib: support for POSIX.1-2008 extendedlocaleAPIs
> John-Mark Bell, on 31 May, wrote:
>
> > Hi,
> >
> > In the process of upgrading the third-party components required to build
> > NetSurf, it became apparent that OpenSSL 3 makes use of the extended
> > locale APIs introduced in POSIX.1-2008. While it only uses a subset of
> > these APIs, I've taken the opportunity to implement the majority of them
> > in UnixLib.
> >
> > Items outstanding (for the standard APIs -- I've ignored the GNU
> > extensions entirely) are:
> >
> > 1. strftime_l() has not been implemented.
> > 2. The uselocale() implementation does not conform to the specification.
> > It should be setting a thread-local locale (and, further, the global
> > variable it updates is entirely ignored by all the APIs that would
> > ordinarily use the global locale -- these would need updating to
make
> > use of the thread-local locale, if it exists).
> >
> > Additionally, the extended-locale ctype functions (i.e. isalpha_l() and
> > friends) are not in any way optimised like their non-extended
> > counterparts. Doing so will require making parts of the struct pointed
> > to by a locale_t public (which is what glibc does, at least).
>
> Having updated my local autobuilder to revision 7702 to include this patch
> neither gcc4 nor build-world build. The errors are of the form :-
>
> In file included from
> /home/pi/gccsdk/gcc4/srcdir/gcc/libunixlib/common/riscosify.c:48:0:
> /home/pi/gccsdk/gcc4/srcdir/gcc/libunixlib/include/string.h:97:27: fatal
> error: bits/locale_t.h: No such file or directory
Revision 7703 supplies the missing locale_t header but a gcc4 build now
fails with :-
/home/djp/gccsdk/cross/lib/gcc/arm-unknown-riscos/4.7.4/../../../../arm-unknown-riscos/lib/scl-module/hard/fpa/libunixlib.a(stricmp.o):
In function `strcasecmp_l':
/home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/stricmp.c:43: undefined
reference to `tolower_l'
/home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/stricmp.c:43: undefined
reference to `tolower_l'
/home/djp/gccsdk/cross/lib/gcc/arm-unknown-riscos/4.7.4/../../../../arm-unknown-riscos/lib/scl-module/hard/fpa/libunixlib.a(strnicmp.o):
In function `strncasecmp_l':
/home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/strnicmp.c:41: undefined
reference to `tolower_l'
/home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/strnicmp.c:42: undefined
reference to `tolower_l'
collect2: error: ld returned 1 exit status
--
David Pitt
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Re: [gccsdk] [PATCH] UnixLib: support for POSIX.1-2008 extended localeAPIs
> Hi,
>
> In the process of upgrading the third-party components required to build
> NetSurf, it became apparent that OpenSSL 3 makes use of the extended
> locale APIs introduced in POSIX.1-2008. While it only uses a subset of
> these APIs, I've taken the opportunity to implement the majority of them
> in UnixLib.
>
> Items outstanding (for the standard APIs -- I've ignored the GNU
> extensions entirely) are:
>
> 1. strftime_l() has not been implemented.
> 2. The uselocale() implementation does not conform to the specification.
> It should be setting a thread-local locale (and, further, the global
> variable it updates is entirely ignored by all the APIs that would
> ordinarily use the global locale -- these would need updating to make
> use of the thread-local locale, if it exists).
>
> Additionally, the extended-locale ctype functions (i.e. isalpha_l() and
> friends) are not in any way optimised like their non-extended
> counterparts. Doing so will require making parts of the struct pointed
> to by a locale_t public (which is what glibc does, at least).
Having updated my local autobuilder to revision 7702 to include this patch
neither gcc4 nor build-world build. The errors are of the form :-
In file included from
/home/pi/gccsdk/gcc4/srcdir/gcc/libunixlib/common/riscosify.c:48:0:
/home/pi/gccsdk/gcc4/srcdir/gcc/libunixlib/include/string.h:97:27: fatal
error: bits/locale_t.h: No such file or directory
Have I missed something, or is there more to come?
--
David Pitt
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
[gccsdk] Old messages, [PATCH] UnixLib: support for POSIX.1-2008 extended locale APIs
discovered snagged on the mailing list moderation interface (which it
turns out had a ridiculously low maximum message size of 40KB, now
increased to 5MB).
I approved them but I'm not sure they will make it out since they are
old. It appears one regarding OpenSSH was already merged anyway.
The other was from a few weeks ago from John-Mark Bell adding support
for POSIX.1-2008 extended locale APIs. I managed to extract the patch
from the logs and I've applied it as r7702.
Apologies that it took so long to apply :-(
There are a couple of other older ones:
From: nicholasjkingsley@gmail.com on Sun May 15 21:29:36 2016
Subject: Re: [gccsdk] Failed to init stdio
Cause: Message has implicit destination
(contents say 'problem fixed now')
From: michael.grunditz@gmail.com on Mon Apr 9 15:05:43 2018
Subject: Re: [gccsdk] gccsdk gcc4 fails to build
Cause: Message body is too big: 1969933 bytes with a limit of 40 KB
(contains logs, that I can't see directly)
that are I think of no relevance now, so I'll delete those unless
there's a good reason to keep them.
Theo
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
Friday, 15 July 2022
Re: How to build with framebuffer usage?
Wednesday, 13 July 2022
Re: How to build with framebuffer usage?
On Di, Jul 12, 2022 at 08:47, Rob Kendrick <rjek@netsurf-browser.org> wrote:
On Sun, Jul 10, 2022 at 05:51:41PM +0200, Peter Wiehe wrote:Hi all, how do I build netsurf on Linux with framebuffer usage instead of gtk? (I tried already TARGET=framebuffer in the makefile, but that didn't work.)How precisely did you try? Using env.sh as described in our quickstart guide, this just worked for me first try. What did you type in? What errors did you see? B. _______________________________________________ netsurf-users mailing list -- netsurf-users@netsurf-browser.org To unsubscribe send an email to netsurf-users-leave@netsurf-browser.org