Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gh-78319: add UTF8 marker per RFC#9436

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
serhiy-storchaka merged 8 commits intopython:mainfromgordonmessmer:master
Sep 29, 2025

Conversation

@gordonmessmer
Copy link
Contributor

@gordonmessmergordonmessmer commentedSep 20, 2018
edited by bedevere-bot
Loading

This change implements RFC 6855 UTF8 APPEND per guidance from Sam Varshavchik:
https://bugs.python.org/issue34138

https://bugs.python.org/issue34138

@gordonmessmergordonmessmer requested a review froma team as acode ownerSeptember 20, 2018 03:30
@the-knights-who-say-ni

This comment was marked as resolved.

@gordonmessmer

This comment was marked as resolved.

@bedevere-bot

This comment was marked as resolved.

@arhadthedevarhadthedev changed the titlebpo-34138: add UTF8 marker per RFCgh-78319: add UTF8 marker per RFCFeb 9, 2023
@arhadthedevarhadthedev added stdlibStandard Library Python modules in the Lib/ directory topic-email labelsFeb 9, 2023
@arhadthedev
Copy link
Member

@gordonmessmer tests are failing (seeDetails links underSome checks were not successful section). Would you mind to continue working on the PR, please?

@bedevere-bot
Copy link

Most changes to Pythonrequire a NEWS entry.

Please add it using theblurb_it web app or theblurb command-line tool.

@gordonmessmergordonmessmerforce-pushed themaster branch 3 times, most recently from36fd655 to41c490eCompareFebruary 14, 2023 05:13
@gordonmessmer
Copy link
ContributorAuthor

I'll look at it again, yes. I'm getting odd results from updated tests, so some additional work is still needed...

arhadthedev reacted with thumbs up emoji

@gordonmessmergordonmessmerforce-pushed themaster branch 2 times, most recently fromc116b76 to633ad44CompareFebruary 14, 2023 06:23
@gordonmessmer
Copy link
ContributorAuthor

Tests look like they're passing, but trying this on a live IMAP server fails, because the server actually receives:

LLFC3 APPEND INBOX UTF8 (~{63}\r\n

... when Sam suggested that it should receive:

LLFC3 APPEND INBOX NIL NIL UTF8 (~{63}\r\n

But that's probably a larger bug in the imaplib module, and not directly related to this change.

@arhadthedev
Copy link
Member

@warsaw,@maxking (as active e-mail experts)

@gordonmessmer
Copy link
ContributorAuthor

I've asked Sam to chime in. The RFC calls those arguments optional. Based on its behavior, it seems that Courier expects them to be specified as NIL when they are not provided, rather than left out entirely.

@gordonmessmer
Copy link
ContributorAuthor

gordonmessmer commentedFeb 14, 2023
edited
Loading

I added a commit for consideration. Transforming None to "NIL" is RFC-compliant (which is consistent with the intent of this PR). Tests pass, and this works with Courier IMAP.

arhadthedev reacted with hooray emoji

@arhadthedevarhadthedev requested review fromwarsaw and removed request fora teamFebruary 14, 2023 08:10
@github-actionsgithub-actionsbot added the staleStale PR or inactive for long period of time. labelDec 15, 2024
@gordonmessmer
Copy link
ContributorAuthor

Please let me know if there's anything I can do to help move this forward.

@github-actionsgithub-actionsbot removed the staleStale PR or inactive for long period of time. labelFeb 27, 2025
@github-actions
Copy link

This PR is stale because it has been open for 30 days with no activity.

@github-actionsgithub-actionsbot added the staleStale PR or inactive for long period of time. labelApr 13, 2025
@python-cla-bot
Copy link

python-cla-botbot commentedApr 18, 2025
edited
Loading

All commit authors signed the Contributor License Agreement.

CLA signed

@github-actionsgithub-actionsbot removed the staleStale PR or inactive for long period of time. labelJun 15, 2025
@github-actions
Copy link

This PR is stale because it has been open for 30 days with no activity.

@github-actionsgithub-actionsbot added the staleStale PR or inactive for long period of time. labelSep 21, 2025
Copy link
Member

@serhiy-storchakaserhiy-storchaka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

LGTM. 👍

@serhiy-storchakaserhiy-storchaka added needs backport to 3.13bugs and security fixes needs backport to 3.14bugs and security fixes labelsSep 29, 2025
@serhiy-storchakaserhiy-storchaka merged commit408154d intopython:mainSep 29, 2025
53 checks passed
@miss-islington-app
Copy link

Thanks@gordonmessmer for the PR, and@serhiy-storchaka for merging it 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull requestSep 29, 2025
Make UTF8 support for the IMAP APPEND command RFC 6855 compliant.(cherry picked from commit408154d)Co-authored-by: Gordon Messmer <gordon.messmer@gmail.com>
miss-islington pushed a commit to miss-islington/cpython that referenced this pull requestSep 29, 2025
Make UTF8 support for the IMAP APPEND command RFC 6855 compliant.(cherry picked from commit408154d)Co-authored-by: Gordon Messmer <gordon.messmer@gmail.com>
@bedevere-app
Copy link

GH-139406 is a backport of this pull request to the3.14 branch.

@bedevere-appbedevere-appbot removed the needs backport to 3.14bugs and security fixes labelSep 29, 2025
@bedevere-app
Copy link

GH-139407 is a backport of this pull request to the3.13 branch.

@bedevere-appbedevere-appbot removed the needs backport to 3.13bugs and security fixes labelSep 29, 2025
serhiy-storchaka pushed a commit that referenced this pull requestSep 29, 2025
…-139407)gh-78319: Fix implementation of IMAP APPEND UTF8 (GH-9436)Make UTF8 support for the IMAP APPEND command RFC 6855 compliant.(cherry picked from commit408154d)Co-authored-by: Gordon Messmer <gordon.messmer@gmail.com>
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure⚠️⚠️⚠️

Hi! The buildbotAMD64 Ubuntu Shared 3.x (tier-1) has failed when building commit408154d.

What do you need to do:

  1. Don't panic.
  2. Checkthe buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/#/builders/506/builds/11511) and take a look at the build logs.
  4. Check if the failure is related to this commit (408154d) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/#/builders/506/builds/11511

Failed tests:

  • test_pyrepl

Failed subtests:

  • test_timerfd_ns_TFD_TIMER_ABSTIME - test.test_os.TimerfdTests.test_timerfd_ns_TFD_TIMER_ABSTIME
  • test_repl_eio - test.test_pyrepl.test_unix_console.TestUnixConsoleEIOHandling.test_repl_eio

Summary of the results of the build (if available):

==

Click to see traceback logs
Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_os.py", line4644, intest_timerfd_ns_TFD_TIMER_ABSTIMEself.assertLess(abs(next_expiration_ns- offset_ns),  limit_error)~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^AssertionError:1062375 not less than 1000000Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/support/__init__.py", line837, ingc_collect    gc.collect()~~~~~~~~~~^^ResourceWarning:unclosed file <_io.FileIO name=8 mode='rb' closefd=True>Warning -- Unraisable exceptionException ignored while finalizing file <_io.FileIO name=10 mode='rb' closefd=True>:Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line165, in_load_run_test    regrtest_runner(result, test_func, runtests)~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line118, inregrtest_runner    test_result= test_func()  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line162, intest_funcreturn run_unittest(test_mod, runtests)  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line42, inrun_unittestreturn _run_suite(tests)  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line105, in_run_suiteraise support.TestFailedWithDetails(err, errors, failures,stats=stats)Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", line1137, in__del__    _warn("subprocess%s is still running"%self.pid,~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ResourceWarning, source=self)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ResourceWarning:subprocess 1706007 is still runningWarning -- Unraisable exceptionException ignored while finalizing file <_io.FileIO name=8 mode='rb' closefd=True>:Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line165, in_load_run_test    regrtest_runner(result, test_func, runtests)~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line118, inregrtest_runner    test_result= test_func()  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line162, intest_funcreturn run_unittest(test_mod, runtests)  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line42, inrun_unittestreturn _run_suite(tests)  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line105, in_run_suiteraise support.TestFailedWithDetails(err, errors, failures,stats=stats)Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line165, in_load_run_test    regrtest_runner(result, test_func, runtests)~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line118, inregrtest_runner    test_result= test_func()  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line162, intest_funcreturn run_unittest(test_mod, runtests)  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line42, inrun_unittestreturn _run_suite(tests)  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line105, in_run_suiteraise support.TestFailedWithDetails(err, errors, failures,stats=stats)Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", line1137, in__del__    _warn("subprocess%s is still running"%self.pid,~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ResourceWarning, source=self)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ResourceWarning:subprocess 1668708 is still runningWarning -- Unraisable exceptionException ignored while finalizing file <_io.FileIO name=8 mode='rb' closefd=True>:Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line165, in_load_run_test    regrtest_runner(result, test_func, runtests)~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line118, inregrtest_runner    test_result= test_func()  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line162, intest_funcreturn run_unittest(test_mod, runtests)  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line42, inrun_unittestreturn _run_suite(tests)  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/libregrtest/single.py", line105, in_run_suiteraise support.TestFailedWithDetails(err, errors, failures,stats=stats)Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/support/__init__.py", line837, ingc_collect    gc.collect()~~~~~~~~~~^^ResourceWarning:unclosed file <_io.FileIO name=10 mode='rb' closefd=True>Traceback (most recent call last):  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_pyrepl/test_unix_console.py", line362, intest_repl_eio    _, err= proc.communicate(timeout=5)# sleep for pty to settle~~~~~~~~~~~~~~~~^^^^^^^^^^^  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", line1219, incommunicate    stdout, stderr=self._communicate(input, endtime, timeout)~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", line2126, in_communicateself._check_timeout(endtime, orig_timeout, stdout, stderr)~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File"/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", line1266, in_check_timeoutraise TimeoutExpired(...<2 lines>...            stderr=b''.join(stderr_seq)if stderr_seqelseNone)subprocess.TimeoutExpired:Command '['/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/python', '-E', '-S', '/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_pyrepl/eio_test_script.py']' timed out after 5 seconds

encukou pushed a commit that referenced this pull requestOct 7, 2025
…-139406)Make UTF8 support for the IMAP APPEND command RFC 6855 compliant.(cherry picked from commit408154d)Co-authored-by: Gordon Messmer <gordon.messmer@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@serhiy-storchakaserhiy-storchakaserhiy-storchaka approved these changes

@warsawwarsawAwaiting requested review from warsaw

@maxkingmaxkingAwaiting requested review from maxking

Assignees

No one assigned

Labels

staleStale PR or inactive for long period of time.stdlibStandard Library Python modules in the Lib/ directorytopic-email

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

8 participants

@gordonmessmer@the-knights-who-say-ni@bedevere-bot@arhadthedev@serhiy-storchaka@brettcannon@ezio-melotti@hauntsaninja

[8]ページ先頭

©2009-2025 Movatter.jp