forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gauche-xz-info.patch
31 lines (28 loc) · 1.29 KB
/
gauche-xz-info.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--- a/lib/gauche/interactive/info.scm
+++ b/lib/gauche/interactive/info.scm
@@ -137,7 +137,8 @@
:paths paths
:pred (^p (or (file-is-readable? p)
(file-is-readable? #"~|p|.gz")
- (file-is-readable? #"~|p|.bz2"))))
+ (file-is-readable? #"~|p|.bz2")
+ (file-is-readable? #"~|p|.xz"))))
(errorf "couldn't find info file ~s in paths: ~s" *info-file* paths))
))
--- a/lib/text/info.scm
+++ b/lib/text/info.scm
@@ -64,6 +64,7 @@
;; Find bzip2 location
(define bzip2 (find-file-in-paths "bzip2"))
+(define xz (find-file-in-paths "xz"))
;; Read an info file FILE, and returns a list of strings splitted by ^_ (#\u001f)
;; If FILE is not found, look for compressed one.
@@ -78,6 +79,8 @@
(close-input-port zp)))))]
[(and bzip2 (file-exists? #"~|file|.bz2"))
(with-input-from-process #"~bzip2 -c -d ~|file|.bz2" thunk)]
+ [(and xz (file-exists? #"~|file|.xz"))
+ (with-input-from-process #"~xz -c -d ~|file|.xz" thunk)]
[else (error "can't find info file" file)]))
(with-input-from-info
(lambda ()