Git Product home page Git Product logo

Comments (5)

djcb avatar djcb commented on June 28, 2024

Ouch, what a piece of ugly in the IMAP-standard :-/ I guess we need some utf7->utf8 conversion routines when writing the maildir names in the database. (and maybe some reverse routine for 'mu mkdir').

Interestingly, no one ever mentioned this issue since 2008!

from mu.

Telkhine avatar Telkhine commented on June 28, 2024

Its also a modified version of utf7. hehe
http://tools.ietf.org/html/rfc3501#section-5.1.3

I'm currently using the following with offlineimap to do the conversion to utf8 at that level:
https://github.com/dpwright/dotfiles/blob/70bb3ccee5ea6147b25b2b9bae9ca93df5059601/.offlineimap.utf7.py

Then include it in the offineimaprc file and add this to the repo:
nametrans = lambda foldername: foldername.decode('imap4-utf-7').encode('utf-8')

from mu.

Telkhine avatar Telkhine commented on June 28, 2024

I fat fingered the close thing. oops!

from mu.

djcb avatar djcb commented on June 28, 2024

Okay, I've added a link to Dankles workaround to the FAQ; it's probably best to solve the problem at the folder-level rather then having mu/mu4e guess those names.

from mu.

pyluyten avatar pyluyten commented on June 28, 2024

For what it worth, users can easily workaround this from mu4e side : use a func to convert imap list to utf8 list on the one side and, on the other side, set up a mu4e completion read func to leverage this. (sorry for the awful below lisp code , but you'll get the point)

(require 'utf7)

(defun pyl/utf7-to-utf8-str-list (utf7-list)
(let* ((iter utf7-list)
(decoded)
(result))
(while (not (eq nil iter))
(setq
decoded (cons (utf7-decode (car iter) t) decoded)
iter (cdr iter)))
(setq result decoded)))

(defun pyl-helm-mu-compl-read (prompt maildirs-list &optional ignore1 ignore2 ignore3)
(let ((utf8-dirs (pyl/utf7-to-utf8-str-list maildirs-list)))
(utf7-encode (helm-comp-read prompt utf8-dirs
:name prompt
:must-match t))))

from mu.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.