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

P2539 Should the output of std::print to a terminal be synchronized with the underlying stream? #1219

Closed
wg21bot opened this issue Mar 21, 2022 · 12 comments · Fixed by cplusplus/draft#5979
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++23 Targeted at C++23 IS Ship vehicle: IS LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. size - small paper size estimate tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Mar 21, 2022

P2539R0 Should the output of std::print to a terminal be synchronized with the underlying stream? (Victor Zverovich)

@wg21bot wg21bot added the LEWG Library Evolution label Mar 21, 2022
@wg21bot wg21bot added this to the 2022-telecon milestone Mar 21, 2022
@cor3ntin cor3ntin added the ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list label Mar 29, 2022
@brycelelbach brycelelbach added info Informational paper B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e size - small paper size estimate labels Apr 1, 2022
@cor3ntin cor3ntin added C++23 Targeted at C++23 needs-revision Paper needs changes before it can proceed labels Apr 7, 2022
@cor3ntin
Copy link

cor3ntin commented Apr 7, 2022

Mailing List Review 2022-03-28: There was strong support for fmt::print to be synchronized. Victor offered to update the paper in that direction. Some request for a deeper analysis of performance trade offs. We will look at this on the mailing list when a new revision is published.

@wg21bot
Copy link
Collaborator Author

wg21bot commented Apr 25, 2022

P2539R1 Should the output of std::print to a terminal be synchronized with the underlying stream? (Victor Zverovich)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Apr 25, 2022
@brycelelbach brycelelbach added the expedited-library-evolution-electronic-poll Papers that were reviewed on the mailing list and then advanced directly to electronic polling. label Apr 26, 2022
@inbal2l inbal2l added ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll and removed ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list labels May 17, 2022
@inbal2l
Copy link
Collaborator

inbal2l commented May 17, 2022

Forwarded for C++23 through electronic polling in LEWG mailing list review started on 2022-03-28.
Some reservations about lack of implementation experience and performance overhead exist, author was advised to address them in the paper (+ benchmarks), before LEWG electronic poll.

@brycelelbach brycelelbach added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Jun 29, 2022
@brycelelbach brycelelbach added LWG Library lwg-pending LWG Chair needs to disposition labels Jul 8, 2022
@JeffGarland JeffGarland added lwg-fullreview Paper is ready for lwg full group review and removed lwg-pending LWG Chair needs to disposition labels Jul 8, 2022
@brycelelbach
Copy link

2022-07 Library Evolution Electronic Poll Outcomes

Poll 1.9: Send [P2539R1] Should The Output Of print To A Terminal Be Synchronized With The Underlying Stream? to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
11 10 2 1 0

Outcome: Consensus in favor.

@brycelelbach brycelelbach removed LEWG Library Evolution ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review info Informational paper labels Jul 22, 2022
@cor3ntin cor3ntin added LEWG Library Evolution and removed lwg-fullreview Paper is ready for lwg full group review labels Jul 23, 2022
@cor3ntin
Copy link

@brycelelbach I'm adding back LEWG, LWG saw that last week and there were design questions, it will come back to you

@brycelelbach brycelelbach removed the LWG Library label Aug 3, 2022
@brycelelbach
Copy link

Presumably someone will file an NB comment for this, so I'll leave it tagged as C++23.

@brycelelbach brycelelbach added ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting IS Ship vehicle: IS scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review and removed expedited-library-evolution-electronic-poll Papers that were reviewed on the mailing list and then advanced directly to electronic polling. labels Sep 22, 2022
@brycelelbach
Copy link

2022-09-27 Library Evolution Telecon

P2539R2: Should the output of print to a terminal be synchronized with the underlying stream?

2022-09-27 Library Evolution Telecon Minutes

Champion: Victor Zverovich

Chair: Bryce Adelstein Lelbach

Minute Taker: Steve Downey

Start: 2022-09-27 12:16 Eastern

Does this paper have:

  • Examples?
    • Yes.
  • Field experience?
    • Implementation experience?
      • No; fmt does not do this.
    • Usage experience?
      • No; fmt does not do this.
    • Deployment experience?
      • No; fmt does not do this.
  • Performance considerations?
    • Yes.
  • Discussion of prior art?
    • Yes, fmt and Rust.
  • Changes Library Evolution previously requested?
    • Yes.
  • Wording?
    • Yes.
  • Breaking changes?
    • No - print hasn't shipped yet.
  • Feature test macro?
    • Covered by print's feature test macro.
  • Freestanding?
    • N/A.

POLL: print to a stream referring to a terminal that is buffered should always flush if the native Unicode API is used.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
2 8 1 1 0

Attendance: 20

# of Authors: 1

Author Position: WA

Outcome: Consensus in favor.

POLL: Modify P2539R2 (Should the output of print to a terminal be synchronized with the underlying stream?) as per the previous poll, and then send it to Library for C++23 classified as B2 - Improvement, to be confirmed with a Library Evolution electronic poll.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
7 6 0 0 0

Attendance: 20

# of Authors: 1

Author Position: SF

Outcome: Unanimous consensus in favor.

End: 12:39

Summary

P2539, which concerns whether print to a terminal should synchronize with the underlying stream, was sent back to Library Evolution by Library to confirm our design intent and consider a few issues. We discussed and had consensus to broaden the scope of this synchronization to cover all streams to a terminal that are buffered when the native Unicode API is used.

Next Steps

Revise P2539R2 and then take an electronic poll to send P2539R3 (Should the output of print to a terminal be synchronized with the underlying stream?) to Library for C++23 classified as B2 - Improvement, to be confirmed with a Library Evolution electronic poll.

@brycelelbach brycelelbach added ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review and removed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Sep 27, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Oct 17, 2022

P2539R2 Should the output of std::print to a terminal be synchronized with the underlying stream? (Victor Zverovich)

@wg21bot
Copy link
Collaborator Author

wg21bot commented Oct 17, 2022

P2539R3 Should the output of std::print to a terminal be synchronized with the underlying stream? (Victor Zverovich)

@cor3ntin
Copy link

cor3ntin commented Nov 8, 2022

2022-10 Library Evolution Electronic Poll Outcomes

Poll 1.14: Return [P2539R3] print To Terminal Synchronization to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item) .

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
8 11 0 1 0

Outcome: Consensus in favor.

@JeffGarland
Copy link
Member

JeffGarland commented Nov 8, 2022

LWG approved with editorial wording changes in Kona for C++23 - pending check by Jeff and Tim (completed)

https://wiki.edg.com/bin/view/Wg21kona2022/LWG20221107-LA

poll: put P2539r4 into C++23?

F A N
8 0 0

@JeffGarland JeffGarland added the tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. label Nov 10, 2022
@cor3ntin cor3ntin added the plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. label Nov 12, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Dec 5, 2022

P2539R4 Should the output of std::print to a terminal be synchronized with the underlying stream? (Victor Zverovich)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++23 Targeted at C++23 IS Ship vehicle: IS LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. size - small paper size estimate tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants