Bugzilla – Bug 2137
Nyquist: Assert when receiving multibyte characters
Last modified: 2019-07-29 11:27:35 UTC
Nyquist may receive multibyte Unicode characters from AUD-DO, but is unable to handle them correctly. James wrote: "We have to make Nyquist multibyte safe. For now, where Nyquist receives a unicode string (from aud-do) we need to do a conversion. Converting Nyquist itself to operate on unicode strings is a rewrite of much of XLisp. It won't happen. So we need to adopt an approach such as using html encoding, and doing conversions on output."
DEVEL - FIX MADE https://github.com/audacity/audacity/commit/20772c995d62e3552ae8432e6e3fbc5b65a94ed2
Testing on W10 with audacity-2.3.3-alpha-290-20772c995d62e3552ae8432e6e3fbc5b65a94ed2 This works fine on the non-debug build. I do not have access to debug builds to test this on.
Testing on macOS 10,14.5 with mac 2.3.3 alpha jc004 of 25Jul19 This works fine on the non-debug build with the non-debug steps I do not have access to debug builds for Mac to test this on further. @Steve: can you please test with debug builds
(In reply to Peter Sampson from comment #2) Peter wrote: > This works fine on the non-debug build. The code should return an error message: "Votre commande de traitement par lot de GetInfo2 n'a pas été reconnue." What I see is an error message: "Votre commande de traitement par lot de GetInfo2 n_a pas _t_ reconnue." The assert is fixed, but the error message makes no sense in French. I don't personally think that we need to support non-English languages here as this is only when working with code, but if we are to use translations, they should be readable.
Comment 4 confirms that the bug as stated is fixed. When aud-do commands return multibytes there is now no assert. Fixing Nyquist to handle multibytes is a feature request, and is too big a feature to be an Enhancement request in Bugzilla. Mandating that aud-do never return multibytes is also too restrictive, as then scripting in python cannot use foreign alphabets, e.g. when reporting on menu items. We might decide not to translate error messages, but when the UI is translated, so will be results like the GetInfo menu strings. Accordingly this bug IS fixed and the 'residual' is a feature request for a big new feature.