Indeed, two variables is a bit overkill, but the OPAMUTF8MSGS variable was kept mostly for backwards-compatibility, and also because I needed a (default) intermediate level with the arrows, but without the camel emojis. On second thought, maybe adding a possible value (i.e. 'always', 'never', 'auto' or 'partial') would be best. And the documentation should indeed specify that it's only for OPAM-generated messages, excluding metadata that may be printed. Mr. Herr: indeed, in the case of 'opam update', it's not completely self-explanatory. But I made sure that it is in the case of package actions, which is the one that matters: % opam install core_bench --show The following actions would be performed: ↘ downgrade sexplib 112.24.00 to 112.17.00 [required by core_bench] ↘ downgrade pa_ounit 112.24.00 to 112.17.00 [required by core_bench] ↘ downgrade bin_prot 112.24.00 to 112.17.00 [required by core_bench] ↘ downgrade pa_test 112.24.00 to 111.08.01 [required by core] ↻ recompile uri 1.8.0 [uses sexplib] ↻ recompile ipaddr 2.6.1 [uses sexplib] ↻ recompile ezjsonm 0.4.1 [uses sexplib] ↻ recompile cstruct 1.5.0 [uses sexplib] ↘ downgrade custom_printf 112.24.00 to 112.17.00 [required by core] ↻ recompile pa_bench 112.06.00 [uses pa_ounit] ↘ downgrade typerep 112.24.00 to 112.17.00 [uses bin_prot] ↻ recompile ocsigenserver 2.5 [uses ipaddr] ↻ recompile cow 1.2.1 [uses ezjsonm, uri] ↻ recompile conduit 0.7.2 [uses sexplib] ↘ downgrade core_kernel 112.24.00 to 112.17.00 [uses bin_prot] ↻ recompile eliom 4.1.0 [uses ipaddr] ↻ recompile cohttp 0.15.0 [uses sexplib] ∗ install core 112.17.00 [required by core_bench] ↻ recompile github 0.9.4 [uses cohttp, uri] ∗ install textutils 112.17.00 [required by core_bench] ∗ install core_bench 112.17.00 ===== ∗ 3 ↻ 11 ↘ 7 ===== the glyphs make the information easier to skim through, but the actions are written in text; the summary only shows the glyphs, but you may use the full list as a key to their meaning. And if you have compatibility problems or just don't like it, set OPAMUTF8 to "never" and you'll get good old plain text: % OPAMUTF8=never opam install core_bench --show The following actions would be performed: - downgrade sexplib 112.24.00 to 112.17.00 [required by core_bench] - downgrade pa_ounit 112.24.00 to 112.17.00 [required by core_bench] - downgrade bin_prot 112.24.00 to 112.17.00 [required by core_bench] - downgrade pa_test 112.24.00 to 111.08.01 [required by core] - recompile uri 1.8.0 [uses sexplib] - recompile ipaddr 2.6.1 [uses sexplib] - recompile ezjsonm 0.4.1 [uses sexplib] - recompile cstruct 1.5.0 [uses sexplib] - downgrade custom_printf 112.24.00 to 112.17.00 [required by core] - recompile pa_bench 112.06.00 [uses pa_ounit] - downgrade typerep 112.24.00 to 112.17.00 [uses bin_prot] - recompile ocsigenserver 2.5 [uses ipaddr] - recompile cow 1.2.1 [uses ezjsonm, uri] - recompile conduit 0.7.2 [uses sexplib] - downgrade core_kernel 112.24.00 to 112.17.00 [uses bin_prot] - recompile eliom 4.1.0 [uses ipaddr] - recompile cohttp 0.15.0 [uses sexplib] - install core 112.17.00 [required by core_bench] - recompile github 0.9.4 [uses cohttp, uri] - install textutils 112.17.00 [required by core_bench] - install core_bench 112.17.00 ===== 3 to install | 11 to recompile | 7 to downgrade ===== This will also be the case, of course, if your current locale isn't UTF8. Best, Louis Gesbert - OCamlPro > - Daniel Bünzli, 27/03/2015 21:24 - > Le vendredi, 27 mars 2015 à 20:52, Mr. Herr a écrit : > > I would have voted against the unicode graphics, > > There's no voting process but you can disable them, see: > > https://github.com/ocaml/opam/issues/2065#issuecomment-83232580 > > Btw. Louis I think the two level scheme is a little bit overkill and more complex that it should be, you should really keep it to a single variable. That two-level mechanism seem to have been design to work around issues in OS level support for unicode glyphs and it doesn't sound like a good idea. Also the description of OPAMUTF8 is misleading, UTF-8 characters may be output since opam files are UTF-8 encoded and AFAIK you don't transcode any output of the tool to ASCII when OPAMUTF8 is `never` (e.g. opam file messages: fields). > > Best, > > Daniel > > > >