GNU bug report logs -
#53676
[PATCH 0/5] *** PulseAudio service improvements ***
Previous Next
Full log
Message #115 received at 53676 <at> debbugs.gnu.org (full text, mbox):
Hi Liliana,
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
[...]
> Note that file-like->name serves multiple duties here. In my opinion
> it'd be better to
>
> (define (file-like-name file)
> ((match file
> ((? local-file?) local-file-name)
> ((? plain-file?) plain-file-name)
> ((? computed-file?) computed-file-name)
> [...]
> (_ (const #f))) ; alternatively raise an error
> file))
>
> That at least decouples it from the burden of having to check whether
> it is a valid pulseaudio script file name, which makes it reusable
> elsewhere.
I've modified it like so:
--8<---------------cut here---------------start------------->8---
modified gnu/services/sound.scm
@@ -154,21 +154,24 @@ (define (extra-script-files->file-union extra-script-files)
"Return a G-exp obtained by processing EXTRA-SCRIPT-FILES with FILE-UNION."
(define (file-like->name file)
- (let ((name (match file
- ((? local-file?)
- (local-file-name file))
- ((? plain-file?)
- (plain-file-name file))
- ((? computed-file?)
- (computed-file-name file))
- (_ (leave (G_ "~a is not a local-file, plain-file or \
-computed-file object~%") file)))))
- (unless (string-suffix? ".pa" name)
- (leave (G_ "`~a' lacks the required `.pa' file name extension~%")
- name))
- name))
-
- (let ((labels (map file-like->name extra-script-files)))
+ (match file
+ ((? local-file?)
+ (local-file-name file))
+ ((? plain-file?)
+ (plain-file-name file))
+ ((? computed-file?)
+ (computed-file-name file))
+ (_ (leave (G_ "~a is not a local-file, plain-file or \
+computed-file object~%") file))))
+
+ (define (assert-pulseaudio-script-file-name name)
+ (unless (string-suffix? ".pa" name)
+ (leave (G_ "`~a' lacks the required `.pa' file name extension~%") name))
+ name)
+
+ (let ((labels (map (compose assert-pulseaudio-script-file-name)
+ file-like->name
+ extra-script-files)))
(file-union "default.pa.d" (zip labels extra-script-files))))
--8<---------------cut here---------------end--------------->8---
Thanks for the suggestion.
I'll be sending a v2 series soon.
Maxim
This bug report was last modified 3 years and 144 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.