`guix search` shows control sequences

  • Done
  • quality assurance status badge
Details
2 participants
  • Lars-Dominik Braun
  • Ludovic Courtès
Owner
unassigned
Submitted by
Lars-Dominik Braun
Severity
normal
L
L
Lars-Dominik Braun wrote on 11 Jun 2020 19:18
(address . bug-guix@gnu.org)
20200611171838.GA341429@noor.fritz.box
Hi,

when using `guix search python2-xcffib` on a foreign distribution (Gentoo) not
all control sequences are stripped by the pager (see location and license):

---snip---
name: python2-xcffib
version: 0.6.0
outputs: out
systems: x86_64-linux i686-linux
dependencies: libxcb@1.14 python2-cffi@1.13.2 python2-six@1.14.0
location: 8;;file://xxx/gnu/store/1ccswh99papcvkj028s9myy8kq26y26g-guix-module-union/share/guile/site/3.0/gnu/packages/python-xyz.scmgnu/packages/python-xyz.scm:5437:28;;
synopsis: XCB Python bindings
description: Xcffib is a replacement for xpyb, an XCB Python bindings.
It adds support for Python 3 and PyPy. It is based on cffi.
relevance: 20
---

`guix search python2-xcffib | less` works fine, `unset`ting the environment
variable $LESS or setting it to 'FrX' (i.e. what guix does when it’s missing)
fixes the issue too, so I’m a little puzzled. Some more information:

---snip---
$ env | grep -i less
LESS=-R -M --shift 5
LESSOPEN=|lesspipe %s
PAGER=/usr/bin/less
$ less --version
less 551 (PCRE2 regular expressions)
[…]
$ LANG=C guix describe
Generation 15 Jun 11 2020 17:47:13 (current)
guix cbd9581
branch: master
commit: cbd9581acc41cd49eb81c2432452cad4de805cbd
---snap---

Cheers,
Lars
L
L
Ludovic Courtès wrote on 13 Jun 2020 22:54
(name . Lars-Dominik Braun)(address . lars@6xq.net)(address . 41811@debbugs.gnu.org)
87d062wutr.fsf@gnu.org
Hi,

Lars-Dominik Braun <lars@6xq.net> skribis:

Toggle quote (8 lines)
> $ env | grep -i less
> LESS=-R -M --shift 5
> LESSOPEN=|lesspipe %s
> PAGER=/usr/bin/less
> $ less --version
> less 551 (PCRE2 regular expressions)
> […]

No control sequences if you do “unset LESS” before hand, right?

I think we’ll just override ‘LESS’ unconditionally as shown below.

Thanks,
Ludo’.
Toggle diff (14 lines)
diff --git a/guix/ui.scm b/guix/ui.scm
index 98b30445c8..2595e44062 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1563,8 +1563,7 @@ zero means that PACKAGE does not match any of REGEXPS."
;; Set 'LESS' so that 'less' exits if everything fits on the screen (F),
;; lets ANSI escapes through (r), does not send the termcap
;; initialization string (X).
- (let ((pager (with-environment-variables `(("LESS"
- ,(or (getenv "LESS") "FrX")))
+ (let ((pager (with-environment-variables `(("LESS" "FrX"))
(open-pipe* OPEN_WRITE
(or (getenv "GUIX_PAGER") (getenv "PAGER")
"less")))))
L
L
Lars-Dominik Braun wrote on 14 Jun 2020 08:09
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 41811@debbugs.gnu.org)
20200614060925.GA1358@noor.fritz.box
Hi,

Toggle quote (2 lines)
> No control sequences if you do “unset LESS” before hand, right?
> I think we’ll just override ‘LESS’ unconditionally as shown below.
yes, and the patch fixes the issue.

Thanks,
Lars
L
L
Ludovic Courtès wrote on 14 Jun 2020 15:46
(name . Lars-Dominik Braun)(address . lars@6xq.net)(address . 41811-done@debbugs.gnu.org)
87v9jtvjxz.fsf@gnu.org
Hi,

Lars-Dominik Braun <lars@6xq.net> skribis:

Toggle quote (4 lines)
>> No control sequences if you do “unset LESS” before hand, right?
>> I think we’ll just override ‘LESS’ unconditionally as shown below.
> yes, and the patch fixes the issue.

Pushed as e66f243e929bbd94e62e77cfa6a63dfd001ebe07.
Thanks for testing!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 41811@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 41811
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch