This is the mirror image of #2170.

### Checklists

<!-- Note on checklists:
     If you think some of these steps are not necessary for your PR,
     just remove those checkboxes, or mark them as checked. Otherwise,
     if some checkboxes are left unmarked, we might assume that your PR
     is not ready to be merged and we might keep you waiting -->

- [x] Add a [CHANGELOG](https://github.com/pyodide/pyodide/blob/main/docs/project/changelog.md) entry
- [x] Add / update tests
- [x] Add new / update outdated documentation

Add `default_converter` argument to `to_js` and `toJs`. This is the mirror image of #2170.

### Checklists

<!-- Note on checklists:
     If you think some of these steps are not necessary for your PR,
     just remove those checkboxes, or mark them as checked. Otherwise,
     if some checkboxes are left unmarked, we might assume that your PR
     is not ready to be merged and we might keep you waiting -->

- [x] Add a [CHANGELOG](https://github.com/pyodide/pyodide/blob/main/docs/project/changelog.md) entry
- [x] Add / update tests
- [x] Add new / update outdated documentation

From 109051fc810881a7291b47ba9353a69a36b600e3 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sat, 25 Dec 2021 18:04:18 -0800
Subject: [PATCH] int to string

f2c does not handle implicit casts of function arguments correctly. The msg
argument of `xerrwv` is defined to be an `int *`, and then implicitly cast 
from a string at the call site. This doesn't work correctly.

We redefine the type of the first argument to be string to fix the problem.

---
 scipy/integrate/odepack/xerrwv.f | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scipy/integrate/odepack/xerrwv.f b/scipy/integrate/odepack/xerrwv.f
index 7e180e4f8..b940bb702 100644
--- a/scipy/integrate/odepack/xerrwv.f
+++ b/scipy/integrate/odepack/xerrwv.f
@@ -1,5 +1,6 @@
       subroutine xerrwv (msg, nmes, nerr, level, ni, i1, i2, nr, r1, r2)
-      integer msg, nmes, nerr, level, ni, i1, i2, nr,
+      character  msg*1
+      integer nmes, nerr, level, ni, i1, i2, nr,
      1   i, lun, lunit, mesflg, ncpw, nch, nwds
       double precision r1, r2
       dimension msg(nmes)
-- 
2.25.1


From 109051fc810881a7291b47ba9353a69a36b600e3 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Sat, 25 Dec 2021 18:04:18 -0800
Subject: [PATCH] int to string

f2c does not handle implicit casts of function arguments correctly. The msg
argument of `xerrwv` is defined to be an `int *`, and then implicitly cast 
from a string at the call site. This doesn't work correctly.

We redefine the type of the first argument to be string to fix the problem.

---
 scipy/integrate/odepack/xerrwv.f | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scipy/integrate/odepack/xerrwv.f b/scipy/integrate/odepack/xerrwv.f
index 7e180e4f8..b940bb702 100644
--- a/scipy/integrate/odepack/xerrwv.f
+++ b/scipy/integrate/odepack/xerrwv.f
@@ -1,5 +1,6 @@
       subroutine xerrwv (msg, nmes, nerr, level, ni, i1, i2, nr, r1, r2)
-      integer msg, nmes, nerr, level, ni, i1, i2, nr,
+      character  msg*1
+      integer nmes, nerr, level, ni, i1, i2, nr,
      1   i, lun, lunit, mesflg, ncpw, nch, nwds
       double precision r1, r2
       dimension msg(nmes)
-- 
2.25.1

