Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new output goes to the front of slime presentations #9

Closed
joaotavora opened this issue Dec 20, 2013 · 4 comments
Closed

new output goes to the front of slime presentations #9

joaotavora opened this issue Dec 20, 2013 · 4 comments
Assignees
Milestone

Comments

@joaotavora
Copy link
Contributor

bug imported from https://bugs.launchpad.net/slime/+bug/627326

At the repl, type (make-hash-table) RET, in slime-scratch type (loop repeat 10 (print 'foo)) C-x C-e;
the new output will go in front of the presentation for the hash-table.

@ghost ghost assigned luismbo Dec 23, 2013
@joaotavora
Copy link
Contributor Author

Could not reproduce this. Closing until convinced otherwise.

@joaotavora
Copy link
Contributor Author

Hmm, actually, reopening. The issuer should define "in front". The output I get goes before the presentation. Should it go after it? It's questionable... IELM can't be a good comparison in this case since it doesn't use the same REPL for results and output.

@csrhodes
Copy link
Contributor

João Távora notifications@github.com writes:

Hmm, actually, reopening. The issuer should define "in front". The
output I get goes before the presentation. Should it go after it?
It's questionable... IELM can't be a good comparison in this case
since it doesn't use the same REPL for results and output.

Not the issuer, but I agree that output from a subsequent command should
go after the presentation from a prior command.

If more rationale is needed, consider doing some work at the repl, then
compiling a file. The compiler output will go to the slime repl, but
all behind the last output from the last form evaluated at the repl,
which will then be vastly disconnected from the form that produced it.

Christophe

@joaotavora
Copy link
Contributor Author

@csrhodes yes that use case sounds reasonable, in fact, it happens to me quite often. Will have a look, but slime-repl.el's marker handling is a bit contorted. There are unit tests, but they are not too stable either, especially when both slime-repl.el and slime-presentations.el are enabled.

joaotavora added a commit that referenced this issue Jan 23, 2014
The new tests don't assume that the REPL buffer has actual marker
objects indicating the relative positions of output, result and
prompt. This work is in preparation of handling issue #9.

* slime-repl.el (slime-repl-emit): Propertize the output text with
a `slime-repl-output' boolean property.
(slime-repl-test-markers): More powerful macro for testing repl text.
(slime-check-buffer-contents): Simplified with
`slime-repl-test-markers'.
(repl-test): tests with no output don't expect these markers.
(repl-type-ahead): tests with no output don't expect these
markers.
joaotavora added a commit to joaotavora/slime that referenced this issue Jan 23, 2014
When run without slime-presentations, slime-repl exhibited some test
failures. This is a "sanity" fix so the current tests can be used as reference
for a possible redesign that eventually fixes slime#9 and maybe implements the
behaviour described in slime#84.

* .travis.yml (env): Test the slime-repl independently from other
contribs like slime-presentations.

* slime.el (slime-propertize-region): Add edebug spec.

* contrib/slime-repl.el (slime-repl-emit-result): Use
`insert-before-markers-and-inherit', and do it before saving `slime-output-end'.
(slime-repl-write-string): Fix failing tests by passing `eol' as t to
`slime-repl-emit-result'.
(slime-repl-test-markers): Friendlier test
assertions.
joaotavora added a commit to joaotavora/slime that referenced this issue Jan 23, 2014
When run without slime-presentations, slime-repl exhibited some test
failures. This is a "sanity" fix so the current tests can be used as reference
for a possible redesign that eventually fixes slime#9 and maybe implements the
behaviour described in slime#84.

* .travis.yml (env): Test the slime-repl independently from other
contribs like slime-presentations.

* slime.el (slime-propertize-region): Add edebug spec.

* contrib/slime-presentations.el (pretty-presentation-results): new tests,
should be more stable, except on allegro.

* contrib/slime-repl.el (slime-repl-emit-result): Use
`insert-before-markers-and-inherit', and do it before saving `slime-output-end'.
(slime-repl-write-string): Fix failing tests by passing `eol' as t to
`slime-repl-emit-result'.
(slime-repl-test-markers): Friendlier test assertions.
(repl-test-2): Skip for now, unstable without slime-presentations.
joaotavora added a commit that referenced this issue Jan 23, 2014
When run without slime-presentations, slime-repl exhibited some test
failures. This is a "sanity" fix so the current tests can be used as reference
for a possible redesign that eventually handles #9 and maybe implements the
behaviour described in #84.

* .travis.yml (env): Test the slime-repl independently from other
contribs like slime-presentations.

* slime.el (slime-propertize-region): Add edebug spec.

* contrib/slime-presentations.el (pretty-presentation-results): new tests,
should be more stable, except on allegro.

* contrib/slime-repl.el (slime-repl-emit-result): Use
`insert-before-markers-and-inherit', and do it before saving `slime-output-end'.
(slime-repl-write-string): Fix failing tests by passing `eol' as t to
`slime-repl-emit-result'.
(slime-repl-test-markers): Friendlier test assertions.
(repl-test-2): Skip for now, unstable without slime-presentations.
@luismbo luismbo assigned joaotavora and unassigned luismbo Feb 19, 2014
@luismbo luismbo modified the milestones: 2.4, 2.5 Feb 19, 2014
@joaotavora joaotavora modified the milestones: 2.4, 2.5 Feb 23, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants