Clozure Common Lisp - DRIBBLE doesn't write anything to file
I'm using Clozure Common Lisp on Windows. When using the DRIBBLE
command and evaluating some simple forms followed by closing the DRIBBLE
stream, a specified file is created but nothing is written into it.
(DRIBBLE "test.log")
(+ 2 2)
(LIST 'a 'b 'c)
(DRIBBLE)
Is this a known limitation of CCL on Windows or a problem with my environment?
ccl clozure-cl
add a comment |
I'm using Clozure Common Lisp on Windows. When using the DRIBBLE
command and evaluating some simple forms followed by closing the DRIBBLE
stream, a specified file is created but nothing is written into it.
(DRIBBLE "test.log")
(+ 2 2)
(LIST 'a 'b 'c)
(DRIBBLE)
Is this a known limitation of CCL on Windows or a problem with my environment?
ccl clozure-cl
You might need to add more info like: how do you use CCL, how do you evaluate those statements, a reproducible test case...
– Rainer Joswig
Jan 3 at 11:39
I run Lispbox and evaluate each of those commands one at a time at the prompt. This creates a "test.log" in the same directory as lispbox and it appears to be empty where I would expect it to have recorded repl input and output.
– Denis
Jan 3 at 23:56
add a comment |
I'm using Clozure Common Lisp on Windows. When using the DRIBBLE
command and evaluating some simple forms followed by closing the DRIBBLE
stream, a specified file is created but nothing is written into it.
(DRIBBLE "test.log")
(+ 2 2)
(LIST 'a 'b 'c)
(DRIBBLE)
Is this a known limitation of CCL on Windows or a problem with my environment?
ccl clozure-cl
I'm using Clozure Common Lisp on Windows. When using the DRIBBLE
command and evaluating some simple forms followed by closing the DRIBBLE
stream, a specified file is created but nothing is written into it.
(DRIBBLE "test.log")
(+ 2 2)
(LIST 'a 'b 'c)
(DRIBBLE)
Is this a known limitation of CCL on Windows or a problem with my environment?
ccl clozure-cl
ccl clozure-cl
edited Jan 2 at 21:23
Ishaan Javali
1,3743821
1,3743821
asked Jan 2 at 20:52
DenisDenis
12018
12018
You might need to add more info like: how do you use CCL, how do you evaluate those statements, a reproducible test case...
– Rainer Joswig
Jan 3 at 11:39
I run Lispbox and evaluate each of those commands one at a time at the prompt. This creates a "test.log" in the same directory as lispbox and it appears to be empty where I would expect it to have recorded repl input and output.
– Denis
Jan 3 at 23:56
add a comment |
You might need to add more info like: how do you use CCL, how do you evaluate those statements, a reproducible test case...
– Rainer Joswig
Jan 3 at 11:39
I run Lispbox and evaluate each of those commands one at a time at the prompt. This creates a "test.log" in the same directory as lispbox and it appears to be empty where I would expect it to have recorded repl input and output.
– Denis
Jan 3 at 23:56
You might need to add more info like: how do you use CCL, how do you evaluate those statements, a reproducible test case...
– Rainer Joswig
Jan 3 at 11:39
You might need to add more info like: how do you use CCL, how do you evaluate those statements, a reproducible test case...
– Rainer Joswig
Jan 3 at 11:39
I run Lispbox and evaluate each of those commands one at a time at the prompt. This creates a "test.log" in the same directory as lispbox and it appears to be empty where I would expect it to have recorded repl input and output.
– Denis
Jan 3 at 23:56
I run Lispbox and evaluate each of those commands one at a time at the prompt. This creates a "test.log" in the same directory as lispbox and it appears to be empty where I would expect it to have recorded repl input and output.
– Denis
Jan 3 at 23:56
add a comment |
1 Answer
1
active
oldest
votes
If you look at the source code for dribble
(in particular, process-dribble
), you can see that CCL redirects the *TERMINAL-IO*
stream to a two-way stream. If you try to write directly to that stream (and possible call finish-output
after, to be sure), then the file is going to being written to.
> (dribble "/tmp/log")
> (print "test" *terminal-io*)
> (dribble)
The use case for dribble, at least as implemented in CCL (the behaviour of dribble is practically unspecified), is to be used from the terminal, where you cannot easily record your session. Under an IDE like Lispbox/Slime, there are other mechanisms to store commands, such as the buffer that holds the current REPL.
This works and looking at the source for process-dribble I can see what you're describing. Thank you!
– Denis
Jan 8 at 19:14
add a comment |
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54013025%2fclozure-common-lisp-dribble-doesnt-write-anything-to-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you look at the source code for dribble
(in particular, process-dribble
), you can see that CCL redirects the *TERMINAL-IO*
stream to a two-way stream. If you try to write directly to that stream (and possible call finish-output
after, to be sure), then the file is going to being written to.
> (dribble "/tmp/log")
> (print "test" *terminal-io*)
> (dribble)
The use case for dribble, at least as implemented in CCL (the behaviour of dribble is practically unspecified), is to be used from the terminal, where you cannot easily record your session. Under an IDE like Lispbox/Slime, there are other mechanisms to store commands, such as the buffer that holds the current REPL.
This works and looking at the source for process-dribble I can see what you're describing. Thank you!
– Denis
Jan 8 at 19:14
add a comment |
If you look at the source code for dribble
(in particular, process-dribble
), you can see that CCL redirects the *TERMINAL-IO*
stream to a two-way stream. If you try to write directly to that stream (and possible call finish-output
after, to be sure), then the file is going to being written to.
> (dribble "/tmp/log")
> (print "test" *terminal-io*)
> (dribble)
The use case for dribble, at least as implemented in CCL (the behaviour of dribble is practically unspecified), is to be used from the terminal, where you cannot easily record your session. Under an IDE like Lispbox/Slime, there are other mechanisms to store commands, such as the buffer that holds the current REPL.
This works and looking at the source for process-dribble I can see what you're describing. Thank you!
– Denis
Jan 8 at 19:14
add a comment |
If you look at the source code for dribble
(in particular, process-dribble
), you can see that CCL redirects the *TERMINAL-IO*
stream to a two-way stream. If you try to write directly to that stream (and possible call finish-output
after, to be sure), then the file is going to being written to.
> (dribble "/tmp/log")
> (print "test" *terminal-io*)
> (dribble)
The use case for dribble, at least as implemented in CCL (the behaviour of dribble is practically unspecified), is to be used from the terminal, where you cannot easily record your session. Under an IDE like Lispbox/Slime, there are other mechanisms to store commands, such as the buffer that holds the current REPL.
If you look at the source code for dribble
(in particular, process-dribble
), you can see that CCL redirects the *TERMINAL-IO*
stream to a two-way stream. If you try to write directly to that stream (and possible call finish-output
after, to be sure), then the file is going to being written to.
> (dribble "/tmp/log")
> (print "test" *terminal-io*)
> (dribble)
The use case for dribble, at least as implemented in CCL (the behaviour of dribble is practically unspecified), is to be used from the terminal, where you cannot easily record your session. Under an IDE like Lispbox/Slime, there are other mechanisms to store commands, such as the buffer that holds the current REPL.
answered Jan 8 at 14:03


coredumpcoredump
22.2k43047
22.2k43047
This works and looking at the source for process-dribble I can see what you're describing. Thank you!
– Denis
Jan 8 at 19:14
add a comment |
This works and looking at the source for process-dribble I can see what you're describing. Thank you!
– Denis
Jan 8 at 19:14
This works and looking at the source for process-dribble I can see what you're describing. Thank you!
– Denis
Jan 8 at 19:14
This works and looking at the source for process-dribble I can see what you're describing. Thank you!
– Denis
Jan 8 at 19:14
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54013025%2fclozure-common-lisp-dribble-doesnt-write-anything-to-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You might need to add more info like: how do you use CCL, how do you evaluate those statements, a reproducible test case...
– Rainer Joswig
Jan 3 at 11:39
I run Lispbox and evaluate each of those commands one at a time at the prompt. This creates a "test.log" in the same directory as lispbox and it appears to be empty where I would expect it to have recorded repl input and output.
– Denis
Jan 3 at 23:56