emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fixing Gnus, and string encoding question


From: Noam Postavsky
Subject: Re: Fixing Gnus, and string encoding question
Date: Fri, 5 Apr 2019 23:56:55 -0400

On Fri, 5 Apr 2019 at 22:22, Eric Abrahamsen <address@hidden> wrote:

> >> "nnml:\343\203\206\343\202\271\343\203\210"

> >> "nnml:ã\203\206ã\202¹ã\203\210"

> > Are you maybe looking for decode-coding-string?

> No, unfortunately -- that would make everything much easier. Eventually
> the idea will be to decode the strings into plain utf-8-emacs, but for
> now I'm stuck keeping them in this weird half-state. I literally need a
> conversion between the two versions above.

Oh, I missed which two string you meant. It seems that evaluating the
1st string with C-x C-e prints the second string in the *Messages*
buffer (I initially thought they were the same string), but
printing/inserting it doesn't work the same. The message code prints
one character at a time, and indeed, inserting one character at a time
in lisp works too:

(let ((s "nnml:\343\203\206\343\202\271\343\203\210"))
  (with-temp-buffer
    (mapc #'insert s)
    (buffer-string)))

The following shorter expression also seem to work:

(apply #'string (string-to-list "nnml:\343\203\206\343\202\271\343\203\210"))

And apply #'unibyte-string goes back again:

(let* ((s1 "nnml:\343\203\206\343\202\271\343\203\210")
       (s2 (apply #'string (string-to-list s1))))
  (apply #'unibyte-string (string-to-list s2)))

I can't say I completely understand why all this works though.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]