7285fb3358
Symptom: (sclang-eval-sync "\"ö\"") evaluates to "ö" After this patch: (sclang-eval-sync "\"ö\"") => "ö" This was tricky to figure out, so here is a bit of background. scel uses a so-called command FIFO to send (amongst other things) evaluation results to Emacs. This FIFO uses a pascal-string (32bit string length followed by character data) to send Lisp to Emacs. The command process coding system is already set to 'no-conversion on the Emacs side to avoid crippling the int32 at the beginning of every string. However, the read-from-string call in sclang-command-process-filter implicitly converts the unibyte string received from the process to a multibyte string, without doing proper conversion. The right function to use here is string-as-multibyte, which does the correct conversion. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
sclang-browser.el | ||
sclang-dev.el | ||
sclang-document.el | ||
sclang-help.el | ||
sclang-interp.el | ||
sclang-keys.el | ||
sclang-language.el | ||
sclang-menu.el | ||
sclang-minor-mode.el | ||
sclang-mode.el | ||
sclang-server.el | ||
sclang-util.el | ||
sclang-vars.el.in | ||
sclang-widgets.el | ||
sclang.el |