blob: 5ca77a8d583d57263fc6b323ece47058fd0a7869 (
plain)
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
@@ -113,7 +113,8 @@
:paths (get-info-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")))))
(define (handle-ambiguous-name entry-name)
(let* ([keys (map x->string (hash-table-keys (~ (get-info)'index)))]
--- a/lib/text/info.scm
+++ b/lib/text/info.scm
@@ -67,6 +67,7 @@
;; Find bzip2 location
(define bzip2 (find-file-in-paths "bzip2"))
+(define xz (find-file-in-paths "xz"))
(cond-expand
[gauche.sys.zlib]
@@ -90,6 +91,8 @@
(with-input-from-process #"~gzip -c -d ~|file|.gz" thunk)])]
[(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
(^[]
|