GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros by bsolomon1124 · Pull Request #16607 · python/cpython

Conversation

@bsolomon1124

@bsolomon1124 bsolomon1124 commented Oct 6, 2019 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Adds a short description of PyDoc_STRVAR and PyDoc_STR to "Useful macros" section of C-API docs.

Currently, there is one lone mention in the C-API reference, despite the fact that PyDoc_STRVAR is ubiquitous to Modules/.

Additionally, this properly uses c:macro within c-api/module.html to link.

https://bugs.python.org/issue38387

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@the-knights-who-say-ni the-knights-who-say-ni added the CLA signed label Oct 6, 2019
@bedevere-bot bedevere-bot added docs Documentation in the Doc dir awaiting review labels Oct 6, 2019
@bsolomon1124 bsolomon1124 changed the title Formally document PyDoc_STRVAR macro bpo-38387: Formally document PyDoc_STRVAR macro Oct 6, 2019
ammaraskar
ammaraskar requested changes Oct 7, 2019
View reviewed changes
Comment thread Doc/c-api/intro.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/c-api/intro.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Misc/NEWS.d/next/Documentation/2019-10-06-23-44-15.bpo-38387.fZoq0S.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot added awaiting core review and removed awaiting review labels Oct 7, 2019
ghost
ghost reviewed Oct 7, 2019
View reviewed changes
Comment thread Doc/c-api/intro.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@aeros

aeros commented Oct 7, 2019 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

@bsolomon1124 Thanks for the PR. I think it's certainly worthwhile to document the macro, especially considering how common it's utilized.

But, I'm in agreement with the changes recommended by @ammaraskar: removing the description of the internals and adding a brief example.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bsolomon1124

bsolomon1124 commented Oct 7, 2019 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

All the suggested changes here make sense and I'll add them when I have a chance.

I also think it might be worth mentioning the stated use of these macros:

Use the PyDoc_STR() or PyDoc_STRVAR() macro for docstrings to support building Python without docstrings (./configure --without-doc-strings).

https://www.python.org/dev/peps/pep-0007/#documentation-strings

Do you think that is also extraneous detail @aeros167 @ammaraskar ?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@aeros

aeros commented Oct 7, 2019 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

I think that might be worth adding, but I would recommend linking to the PEP itself using an inline Sphinx role:

Use the ``PyDoc_STR()`` or ``PyDoc_STRVAR()`` macro for docstrings to support
building Python without docstrings, as specified in :pep:`7`.

This provides readers a location for further information and means that we don't have to update this section if the syntax ever changes for ./configure --without-doc-string.

But, if it is decided that the exact syntax should be specified in the docs, inline codeblocks should be used instead of parentheses. This also applies to the macros, optionally Sphinx roles can be used for those (they're not needed if the definition for the macro is immediately nearby or within its own definition, as the link would be fairly pointless).

bsolomon1124 reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

aeros
aeros reviewed Oct 7, 2019
View reviewed changes
Comment thread Doc/c-api/intro.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

aeros
aeros approved these changes Oct 8, 2019
View reviewed changes
ammaraskar
ammaraskar reviewed Oct 10, 2019
View reviewed changes
Comment thread Doc/c-api/intro.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

bsolomon1124 and others added 5 commits January 26, 2020 17:35
@bsolomon1124
Formally document PyDoc_STRVAR macro
b68431c
@blurb-it @bsolomon1124
📜🤖 Added by blurb_it.
7d95103
@bsolomon1124
Modify PyDoc_STRVAR example; mention PEP 7
097553f
@bsolomon1124
Use proper RST in news entry
644b8ae
@bsolomon1124
Document PyDoc_STR alongside PyDoc_STRVAR
c05b5ba
@bsolomon1124

bsolomon1124 commented Jan 27, 2020

Copy link
Copy Markdown
Contributor Author

@ammaraskar I've added a section for PyDoc_STR also here. Appreciate if you have time for another review.

Screen Shot 2020-01-26 at 7 05 35 PM

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

aeros
aeros reviewed Jan 27, 2020
View reviewed changes
Comment thread Doc/c-api/intro.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@aeros

aeros commented Jan 27, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

While I think it's probably okay in this case, I'd generally recommend against including additional sections in a PR that are outside of the scope of the original issue that it's attached to. The scope of this issue was specifically adding documentation for PyDoc_STRVAR.

Going outside of the scope can substantially to the required review time, particularly if you already have received several reviews on the PR. It may not seem like much in this case, but it can really add up when you consider the total volume of open PRs and our limited review time (it's mostly volunteer-driven).

An exception to the above is if you specifically ask a core developer about it and they approve of including additional related changes in the PR. There's also the option of simply opening a second PR and attaching it to the same issue; assuming they're both related.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bsolomon1124 bsolomon1124 changed the title bpo-38387: Formally document PyDoc_STRVAR macro bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros Jan 27, 2020
zware
zware approved these changes Apr 27, 2020
View reviewed changes
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting core review labels Apr 27, 2020
@zware
zware merged commit b54e46c into python:master Apr 27, 2020
@bedevere-bot bedevere-bot removed the awaiting merge label Apr 27, 2020
@zware zware added needs backport to 3.7 labels Apr 27, 2020
@miss-islington

miss-islington commented Apr 27, 2020

Copy link
Copy Markdown
Contributor

Thanks @bsolomon1124 for the PR, and @zware for merging it 🌮🎉.. I'm working now to backport this PR to: 3.7.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington

miss-islington commented Apr 27, 2020

Copy link
Copy Markdown
Contributor

Thanks @bsolomon1124 for the PR, and @zware for merging it 🌮🎉.. I'm working now to backport this PR to: 3.8.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington

miss-islington commented Apr 27, 2020

Copy link
Copy Markdown
Contributor

Sorry, @bsolomon1124 and @zware, I could not cleanly backport this to 3.7 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker b54e46cb57ebac5c525a9a6be241412cd57bc935 3.7

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington miss-islington assigned zware Apr 27, 2020
@miss-islington

miss-islington commented Apr 27, 2020

Copy link
Copy Markdown
Contributor

Sorry @bsolomon1124 and @zware, I had trouble checking out the 3.8 backport branch.
Please backport using cherry_picker on command line.
cherry_picker b54e46cb57ebac5c525a9a6be241412cd57bc935 3.8

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot removed the needs backport to 3.8 label Apr 27, 2020
@bedevere-bot

bedevere-bot commented Apr 27, 2020

Copy link
Copy Markdown

GH-19727 is a backport of this pull request to the 3.8 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

zware pushed a commit to zware/cpython that referenced this pull request Apr 27, 2020
@bsolomon1124 @zware
[3.8] bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (p…
572dace
…ythonGH-16607)

Adds a short description of `PyDoc_STRVAR` and `PyDoc_STR` to "Useful macros" section of C-API docs.

Currently, there is [one lone mention](https://docs.python.org/3/c-api/module.html?highlight=pydoc_strvarGH-c.PyModuleDef) in the C-API reference, despite the fact that `PyDoc_STRVAR` is ubiquitous to `Modules/`.

Additionally, this properly uses `c:macro` within `Doc/c-api/module.rst` to link.
(cherry picked from commit b54e46c)

Co-authored-by: Brad Solomon <[email protected]>
zware pushed a commit to zware/cpython that referenced this pull request Apr 27, 2020
@bsolomon1124 @zware
[3.7] bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (p…
d3244ac
…ythonGH-16607)

Adds a short description of `PyDoc_STRVAR` and `PyDoc_STR` to "Useful macros" section of C-API docs.

Currently, there is [one lone mention](https://docs.python.org/3/c-api/module.html?highlight=pydoc_strvarGH-c.PyModuleDef) in the C-API reference, despite the fact that `PyDoc_STRVAR` is ubiquitous to `Modules/`.

Additionally, this properly uses `c:macro` within `Doc/c-api/module.rst` to link..
(cherry picked from commit b54e46c)

Co-authored-by: Brad Solomon <[email protected]>
@bedevere-bot

bedevere-bot commented Apr 27, 2020

Copy link
Copy Markdown

GH-19728 is a backport of this pull request to the 3.7 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot removed the needs backport to 3.7 label Apr 27, 2020
zware added a commit that referenced this pull request Apr 27, 2020
@zware
[3.8] bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (G…
ca5649c
…H-16607) (GH-19727)

Adds a short description of `PyDoc_STRVAR` and `PyDoc_STR` to "Useful macros" section of C-API docs.

Currently, there is [one lone mention](https://docs.python.org/3/c-api/module.html?highlight=pydoc_strvarGH-c.PyModuleDef) in the C-API reference, despite the fact that `PyDoc_STRVAR` is ubiquitous to `Modules/`.

Additionally, this properly uses `c:macro` within `Doc/c-api/module.rst` to link.
(cherry picked from commit b54e46c)

Authored-by: Brad Solomon <[email protected]>
zware added a commit that referenced this pull request Apr 27, 2020
@zware @bsolomon1124
[3.7] bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (G…
70ba814
…H-16607) (GH-19728)

Adds a short description of `PyDoc_STRVAR` and `PyDoc_STR` to "Useful macros" section of C-API docs.

Currently, there is [one lone mention](https://docs.python.org/3/c-api/module.html?highlight=pydoc_strvarGH-c.PyModuleDef) in the C-API reference, despite the fact that `PyDoc_STRVAR` is ubiquitous to `Modules/`.

Additionally, this properly uses `c:macro` within `Doc/c-api/module.rst` to link..
(cherry picked from commit b54e46c)

Co-authored-by: Brad Solomon <[email protected]>
@bsolomon1124
bsolomon1124 deleted the document-PyDoc_STRVAR branch April 27, 2020 11:11
CuriousLearner added a commit to CuriousLearner/cpython that referenced this pull request Apr 27, 2020
@CuriousLearner
Merge branch 'master' of github.com:python/cpython into fix-issue21914
42c39a3
* 'master' of github.com:python/cpython: (2949 commits)
  Add files in tests/test_peg_generator to the install target lists (pythonGH-19723)
  bpo-40398: Fix typing.get_args() for special generic aliases. (pythonGH-19720)
  bpo-40348: Fix typos in the programming FAQ (pythonGH-19729)
  bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (pythonGH-16607)
  bpo-40401: Remove duplicate pyhash.h include from pythoncore.vcxproj (pythonGH-19725)
  bpo-40387: Improve queue join() example. (pythonGH-19724)
  bpo-40396: Support GenericAlias in the typing functions. (pythonGH-19718)
  Fix typo in Lib/typing.py (pythonGH-19717)
  Fix typo in object.__format__ docs (pythonGH-19504)
  bpo-40275: Avoid importing logging in test.support (pythonGH-19601)
  bpo-40275: Avoid importing socket in test.support (pythonGH-19603)
  bpo-40275: Avoid importing asyncio in test.support (pythonGH-19600)
  bpo-40279: Add some error-handling to the module initialisation docs example (pythonGH-19705)
  closes bpo-40385: Remove Tools/scripts/checkpyc.py (pythonGH-19709)
  bpo-40334: Add What's New sections for PEP 617 and PEP 585 (pythonGH-19704)
  bpo-40340: Separate examples more clearly in the programming FAQ (pythonGH-19688)
  bpo-40360: Deprecate lib2to3 module in light of PEP 617 (pythonGH-19663)
  bpo-40334: Rewrite test_c_parser to avoid memory leaks (pythonGH-19694)
  bpo-38061: subprocess uses closefrom() on FreeBSD (pythonGH-19697)
  bpo-38061: os.closerange() uses closefrom() on FreeBSD (pythonGH-19696)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@ammaraskar ammaraskar ammaraskar requested changes
@zware zware zware approved these changes
+2 more reviewers
@aeros aeros aeros approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@zware zware

Labels

docs Documentation in the Doc dir

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

7 participants

@bsolomon1124 @aeros @miss-islington @bedevere-bot @ammaraskar @zware @the-knights-who-say-ni
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.