Subject: UTF-8 support absent within guix shell --pure less

From: Bruno Victal <[email-masked]>
Date: Sat, 20 May 2023 15:17:12 +0100

Within a ``guix shell --pure less'' environment, the “less” command
does not display UTF-8 characters properly:
--8<---------------cut here---------------start------------->8---
~/src/guix$ guix shell --pure less
~/src/guix [env]$ less gnu/packages/java-xml.scm
"gnu/packages/java-xml.scm" may be a binary file.  See it anyway?
--8<---------------cut here---------------end--------------->8---

Answering the prompt with 'y' will display:
--8<---------------cut here---------------start------------->8---
;;; GNU Guix --- Functional package management for GNU
;;; Copyright <C2><A9> 2017, 2021, 2023 Ricardo Wurmus <[email-masked]>
;;; Copyright <C2><A9> 2017, 2018, 2021 Julien Lepiller <[email-masked]>
;;; Copyright <C2><A9> 2018 G<C3><A1>bor Boskovits <[email-masked]>
;;; Copyright <C2><A9> 2019, 2021 Tobias Geerinckx-Rice <[email-masked]>
;;; Copyright <C2><A9> 2020 Vincent Legoll <[email-masked]>
;;; Copyright <C2><A9> 2021 L<C3><A9>o Le Bouter <[email-masked]>
;;; Copyright <C2><A9> 2022 Christopher Baines <[email-masked]>
;;;
;;; This file is part of GNU Guix.

…
--8<---------------cut here---------------end--------------->8---

This can be worked around by setting the LESSCHARSET environment variable:
--8<---------------cut here---------------start------------->8---
~/src/guix [env]$ LESSCHARSET=utf8 less gnu/packages/java-xml.scm
--8<---------------cut here---------------end--------------->8---

Which will correctly display (without any prompts):
--8<---------------cut here---------------start------------->8---
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2021, 2023 Ricardo Wurmus <[email-masked]>
;;; Copyright © 2017, 2018, 2021 Julien Lepiller <[email-masked]>
;;; Copyright © 2018 Gábor Boskovits <[email-masked]>
;;; Copyright © 2019, 2021 Tobias Geerinckx-Rice <[email-masked]>
;;; Copyright © 2020 Vincent Legoll <[email-masked]>
;;; Copyright © 2021 Léo Le Bouter <[email-masked]>
;;; Copyright © 2022 Christopher Baines <[email-masked]>
;;;
;;; This file is part of GNU Guix.

…
--8<---------------cut here---------------end--------------->8---

This does not happen with a non-pure ``guix shell less'', it properly
shows UTF-8 characters without having to manually set any environment
variables.
Adding glibc-locales to ``guix shell --pure less glibc-locales''
does not help either and in neither environments is GUIX_LOCPATH set
as it was suggested at <https://logs.guix.gnu.org/guix/2023-05-20.log#035013>.