[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: determining process coding
From: |
Eli Zaretskii |
Subject: |
Re: determining process coding |
Date: |
Fri, 13 Feb 2015 10:41:23 +0200 |
> From: Eric Abrahamsen <eric@ericabrahamsen.net>
> Date: Fri, 13 Feb 2015 12:27:04 +0800
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> From: Eric Abrahamsen <eric@ericabrahamsen.net>
> >> Date: Thu, 12 Feb 2015 18:24:16 +0800
> >>
> >> Gnus opens a long-running connection to an IMAP server through a process
> >> buffer, and while playing with the code, I tried (process-coding-system
> >> (get-buffer-process (current-buffer))) while the IMAP buffer was
> >> current, and it gave me (binary . binary).
> >
> > This probably means Gnus encodes text "by hand" before sending it.
> > Look for encode-coding somewhere.
>
> It turns out that, in `nnimap-open-connection-1', Gnus explicitly lets
> `coding-system-for-read|write' to 'binary. The actual connection is
> created inside that let, with `open-protocol-stream' (aka
> `make-network-stream').
That's expected.
> I really don't see much else relevant to coding. Most commands are sent
> with `nnimap-send-command', which simply runs:
>
> (process-send-string (get-buffer-process (current-buffer)) COMMAND)
>
> The only de|encoding I see going on is with IMAP folder names, with the
> IMAP variant of UTF-7.
Look in the places that create the strings which are then sent with
nnimap-send-command. If they are encoded, they will be encoded where
they are consed.