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

Support unlimited length for null *print-length* #368

Open
wants to merge 40 commits into
base: cl-compatible
Choose a base branch
from

Conversation

Affonso-Gui
Copy link
Member

Solves #365 and is cl-compatible.

According to CLHS

print-length controls how many elements at a given level are printed. If it is false, there is no limit to the number of components printed.

This PR commits do:

  1. Support unlimited printing when print-length is nil
  2. Fix print-length bug in vector printing, that was preventing for limit to be reached
1.eus$ (setq *print-length* 2)
2
2.eus$ (vector 1 2 3)
#(1 2 3)
  1. Do not put spaces after the ...; do not print first element of lists when print-level is set to 0.

Was also going to update for unlimited *print-level* as well, but the printer starts to segfault before the max value 65536 is reached, so am leaving that untouched for now.

@k-okada
Copy link
Member

k-okada commented Mar 28, 2019 via email

@Affonso-Gui
Copy link
Member Author

@k-okada Added ansi-test based test code

@Affonso-Gui Affonso-Gui changed the title [cl-compatible] Support unlimited length for null *print-length* Support unlimited length for null *print-length* Apr 2, 2019
@Affonso-Gui
Copy link
Member Author

Updated branch

@k-okada
Copy link
Member

k-okada commented Oct 10, 2019

Thank you for contributing EusLisp documentation

Please check latest documents before merging

PDF version of English manual: manual.pdf
PDF version of Japanese jmanual: jmanual.pdf
HTML version of English manual: manual.html
HTML version of Japanese manual: jmanual.html
Sphinx (ReST) version of English manual: manual.rst

@k-okada
Copy link
Member

k-okada commented Dec 21, 2019

Thank you for contributing EusLisp documentation

Please check latest documents before merging

PDF version of English manual: manual.pdf
PDF version of Japanese jmanual: jmanual.pdf
HTML version of English manual: manual.html
HTML version of Japanese manual: jmanual.html
Sphinx (ReST) version of English manual: manual.rst

@k-okada
Copy link
Member

k-okada commented Feb 14, 2020

can we port this feature to master branch?

@k-okada
Copy link
Member

k-okada commented Feb 14, 2020

is this ci-compatible/ChangeExistingFeature?
I thought this changes fixed length of print-length to unlimited length. so this is Extend existing feature.

@Affonso-Gui
Copy link
Member Author

Affonso-Gui commented Feb 15, 2020

@k-okada

can we port this feature to master branch?

Should I make the needed changes and re-target this PR to master branch?

is this ci-compatible/ChangeExistingFeature?

It is cl-compatible, but I am not sure how it should be classified. Depending on how one arguments it can be said that it changes/extends existing features, add new features or fix bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants