SummaryRefsLogTreeCommitDiffStats
path: root/src/mcron/job-specifier.scm
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2016-05-07 18:51:49 +0200
committerMathieu Lirzin <mthl@gnu.org>2016-05-07 23:38:53 +0200
commit31baff1a5187d8ddc89324cbe42dbeffc309c962 (patch)
tree2f221745df5c525ad32967c996d052577612c64f /src/mcron/job-specifier.scm
parent45b062490a9924bcc6d582d10061244ced73f3f8 (diff)
downloadmcron-31baff1a5187d8ddc89324cbe42dbeffc309c962.tar.gz
mcron-31baff1a5187d8ddc89324cbe42dbeffc309c962.tar.bz2
mcron-31baff1a5187d8ddc89324cbe42dbeffc309c962.zip
job-specifier: job: Add #:user keyword argument.
* src/mcron/job-specifier.scm (job): Add #:user keyword argument. * doc/mcron.texi (Job specification): Document it.
Diffstat (limited to 'src/mcron/job-specifier.scm')
-rw-r--r--src/mcron/job-specifier.scm12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mcron/job-specifier.scm b/src/mcron/job-specifier.scm
index 9e13551..6dacece 100644
--- a/src/mcron/job-specifier.scm
+++ b/src/mcron/job-specifier.scm
@@ -212,7 +212,8 @@ go into the list. For example, (range 1 6 2) returns '(1 3 5)."
;; finding the next legitimate time from the current configuration time (set
;; right at the top of this program).
-(define (job time-proc action . displayable)
+(define* (job time-proc action #:optional displayable
+ #:key (user configuration-user))
(let ((action (cond ((procedure? action) action)
((list? action) (lambda () (primitive-eval action)))
((string? action) (lambda () (system action)))
@@ -231,11 +232,14 @@ go into the list. For example, (range 1 6 2) returns '(1 3 5)."
"job: invalid first argument (next-time-function; "
"should be function, string or list)"))))
(displayable
- (cond ((not (null? displayable)) (car displayable))
+ (cond (displayable displayable)
((procedure? action) "Lambda function")
((string? action) action)
((list? action) (with-output-to-string
- (lambda () (display action)))))))
+ (lambda () (display action))))))
+ (user* (if (or (string? user) (integer? user))
+ (getpw user)
+ user)))
(add-job (lambda (current-time)
(set! current-action-time current-time) ;; ?? !!!! Code
@@ -251,4 +255,4 @@ go into the list. For example, (range 1 6 2) returns '(1 3 5)."
action
displayable
configuration-time
- configuration-user)))
+ user*)))