prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  New release
  It's time for a new release soon. Here are the things I'd like to get done, or at least try to get done, first. If you think you'll make a PR soon that you'd also like to get in for this release, mention that, too. Volunteers to take these tasks on are also welcome.
  
  - ~#2291~; ~#2292~ - These are more difficult than I thought. I don't think I'm going to make the release wait for them.
  - Install bytecode (for Hy and for Hyrule): hylang/hyrule#42; at least partly addresses #1747
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `docs/conf.py`
  Content:
  ```
  1 # This file is execfile()d with the current directory set to its containing dir.
  2 
  3 import html
  4 import os
  5 import re
  6 import sys
  7 import time
  8 
  9 sys.path.insert(0, os.path.abspath(".."))
  10 
  11 extensions = [
  12     "sphinx.ext.napoleon",
  13     "sphinx.ext.intersphinx",
  14     "sphinx.ext.autodoc",
  15     "sphinx.ext.viewcode",
  16     "sphinxcontrib.hydomain",
  17 ]
  18 
  19 from get_version import __version__ as hy_version
  20 
  21 # Read the Docs might dirty its checkout, so strip the dirty flag.
  22 hy_version = re.sub(r"[+.]dirty\Z", "", hy_version)
  23 
  24 templates_path = ["_templates"]
  25 source_suffix = ".rst"
  26 
  27 master_doc = "index"
  28 
  29 # General information about the project.
  30 project = "hy"
  31 copyright = "%s the authors" % time.strftime("%Y")
  32 
  33 # The version info for the project you're documenting, acts as replacement for
  34 # |version| and |release|, also used in various other places throughout the
  35 # built documents.
  36 #
  37 # The short X.Y version.
  38 version = ".".join(hy_version.split(".")[:-1])
  39 # The full version, including alpha/beta/rc tags.
  40 release = hy_version
  41 hy_descriptive_version = html.escape(hy_version)
  42 if "+" in hy_version:
  43     hy_descriptive_version += " <strong style='color: red;'>(unstable)</strong>"
  44 
  45 exclude_patterns = ["_build", "coreteam.rst"]
  46 add_module_names = True
  47 
  48 pygments_style = "sphinx"
  49 
  50 import sphinx_rtd_theme
  51 
  52 html_theme = "sphinx_rtd_theme"
  53 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
  54 
  55 # Add any paths that contain custom static files (such as style sheets) here,
  56 # relative to this directory. They are copied after the builtin static files,
  57 # so a file named "default.css" will overwrite the builtin "default.css".
  58 html_static_path = ["_static"]
  59 
  60 html_use_smartypants = False
  61 html_show_sphinx = False
  62 
  63 html_context = dict(
  64     hy_descriptive_version=hy_descriptive_version,
  65     has_active_alpha=True,
  66 )
  67 
  68 highlight_language = "clojure"
  69 
  70 intersphinx_mapping = dict(
  71     py=("https://docs.python.org/3/", None),
  72     py3_10=("https://docs.python.org/3.10/", None),
  73     hyrule=("https://hyrule.readthedocs.io/en/master/", None),
  74 )
  75 # ** Generate Cheatsheet
  76 import json
  77 from itertools import zip_longest
  78 from pathlib import Path
  79 
  80 
  81 def refize(spec):
  82     role = ":hy:func:"
  83     if isinstance(spec, dict):
  84         _name = spec["name"]
  85         uri = spec["uri"]
  86         if spec.get("internal"):
  87             role = ":ref:"
  88     else:
  89         uri = spec
  90         _name = str.split(uri, ".")[-1]
  91     return "{}`{} <{}>`".format(role, _name, uri)
  92 
  93 
  94 def format_refs(refs, indent):
  95     args = [iter(map(refize, refs))]
  96     ref_groups = zip_longest(*args, fillvalue="")
  97     return str.join(
  98         " \\\n" + " " * (indent + 3),
  99         [str.join(" ", ref_group) for ref_group in ref_groups],
  100     )
  101 
  102 
  103 def format_row(category, divider_loc):
  104     return "{title: <{width}} | {methods}".format(
  105         width=divider_loc,
  106         title=category["name"],
  107         methods=format_refs(category["methods"], divider_loc),
  108     )
  109 
  110 
  111 def format_table(table_spec):
  112     table_name = table_spec["name"]
  113     categories = table_spec["categories"]
  114     longest_cat_name = max(len(category["name"]) for category in categories)
  115     table = [
  116         table_name,
  117         "-" * len(table_name),
  118         "",
  119         "=" * longest_cat_name + " " + "=" * 25,
  120         *(format_row(category, longest_cat_name) for category in categories),
  121         "=" * longest_cat_name + " " + "=" * 25,
  122         "",
  123     ]
  124     return "\n".join(table)
  125 
  126 
  127 # Modifications to the cheatsheet should be added in `cheatsheet.json`
  128 cheatsheet_spec = json.loads(Path("./docs/cheatsheet.json").read_text())
  129 cheatsheet = [
  130     "..",
  131     "    DO NOT MODIFY THIS FILE. IT IS AUTO GENERATED BY ``conf.py``",
  132     "    If you need to change or add methods, modify ``cheatsheet_spec`` in ``conf.py``",
  133     "",
  134     ".. _cheatsheet:",
  135     "",
  136     "Cheatsheet",
  137     "==========",
  138     "",
  139     *map(format_table, cheatsheet_spec),
  140 ]
  141 Path("./docs/cheatsheet.rst").write_text("\n".join(cheatsheet))
  142 
  143 
  144 # ** Sphinx App Setup
  145 
  146 
  147 def setup(app):
  148     app.add_css_file("overrides.css")
  149
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/docs/conf.py b/docs/conf.py
  --- a/docs/conf.py
  +++ b/docs/conf.py
  @@ -61,9 +61,7 @@
   html_show_sphinx = False
   
   html_context = dict(
  -    hy_descriptive_version=hy_descriptive_version,
  -    has_active_alpha=True,
  -)
  +    hy_descriptive_version=hy_descriptive_version)
   
   highlight_language = "clojure"
  
verification_info: {"golden_diff": "diff --git a/docs/conf.py b/docs/conf.py\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -61,9 +61,7 @@\n html_show_sphinx = False\n \n html_context = dict(\n-    hy_descriptive_version=hy_descriptive_version,\n-    has_active_alpha=True,\n-)\n+    hy_descriptive_version=hy_descriptive_version)\n \n highlight_language = \"clojure\"\n", "issue": "New release\nIt's time for a new release soon. Here are the things I'd like to get done, or at least try to get done, first. If you think you'll make a PR soon that you'd also like to get in for this release, mention that, too. Volunteers to take these tasks on are also welcome.\r\n\r\n- ~#2291~; ~#2292~ - These are more difficult than I thought. I don't think I'm going to make the release wait for them.\r\n- Install bytecode (for Hy and for Hyrule): hylang/hyrule#42; at least partly addresses #1747\n", "before_files": [{"content": "# This file is execfile()d with the current directory set to its containing dir.\n\nimport html\nimport os\nimport re\nimport sys\nimport time\n\nsys.path.insert(0, os.path.abspath(\"..\"))\n\nextensions = [\n    \"sphinx.ext.napoleon\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.viewcode\",\n    \"sphinxcontrib.hydomain\",\n]\n\nfrom get_version import __version__ as hy_version\n\n# Read the Docs might dirty its checkout, so strip the dirty flag.\nhy_version = re.sub(r\"[+.]dirty\\Z\", \"\", hy_version)\n\ntemplates_path = [\"_templates\"]\nsource_suffix = \".rst\"\n\nmaster_doc = \"index\"\n\n# General information about the project.\nproject = \"hy\"\ncopyright = \"%s the authors\" % time.strftime(\"%Y\")\n\n# The version info for the project you're documenting, acts as replacement for\n# |version| and |release|, also used in various other places throughout the\n# built documents.\n#\n# The short X.Y version.\nversion = \".\".join(hy_version.split(\".\")[:-1])\n# The full version, including alpha/beta/rc tags.\nrelease = hy_version\nhy_descriptive_version = html.escape(hy_version)\nif \"+\" in hy_version:\n    hy_descriptive_version += \" <strong style='color: red;'>(unstable)</strong>\"\n\nexclude_patterns = [\"_build\", \"coreteam.rst\"]\nadd_module_names = True\n\npygments_style = \"sphinx\"\n\nimport sphinx_rtd_theme\n\nhtml_theme = \"sphinx_rtd_theme\"\nhtml_theme_path = [sphinx_rtd_theme.get_html_theme_path()]\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\nhtml_use_smartypants = False\nhtml_show_sphinx = False\n\nhtml_context = dict(\n    hy_descriptive_version=hy_descriptive_version,\n    has_active_alpha=True,\n)\n\nhighlight_language = \"clojure\"\n\nintersphinx_mapping = dict(\n    py=(\"https://docs.python.org/3/\", None),\n    py3_10=(\"https://docs.python.org/3.10/\", None),\n    hyrule=(\"https://hyrule.readthedocs.io/en/master/\", None),\n)\n# ** Generate Cheatsheet\nimport json\nfrom itertools import zip_longest\nfrom pathlib import Path\n\n\ndef refize(spec):\n    role = \":hy:func:\"\n    if isinstance(spec, dict):\n        _name = spec[\"name\"]\n        uri = spec[\"uri\"]\n        if spec.get(\"internal\"):\n            role = \":ref:\"\n    else:\n        uri = spec\n        _name = str.split(uri, \".\")[-1]\n    return \"{}`{} <{}>`\".format(role, _name, uri)\n\n\ndef format_refs(refs, indent):\n    args = [iter(map(refize, refs))]\n    ref_groups = zip_longest(*args, fillvalue=\"\")\n    return str.join(\n        \" \\\\\\n\" + \" \" * (indent + 3),\n        [str.join(\" \", ref_group) for ref_group in ref_groups],\n    )\n\n\ndef format_row(category, divider_loc):\n    return \"{title: <{width}} | {methods}\".format(\n        width=divider_loc,\n        title=category[\"name\"],\n        methods=format_refs(category[\"methods\"], divider_loc),\n    )\n\n\ndef format_table(table_spec):\n    table_name = table_spec[\"name\"]\n    categories = table_spec[\"categories\"]\n    longest_cat_name = max(len(category[\"name\"]) for category in categories)\n    table = [\n        table_name,\n        \"-\" * len(table_name),\n        \"\",\n        \"=\" * longest_cat_name + \" \" + \"=\" * 25,\n        *(format_row(category, longest_cat_name) for category in categories),\n        \"=\" * longest_cat_name + \" \" + \"=\" * 25,\n        \"\",\n    ]\n    return \"\\n\".join(table)\n\n\n# Modifications to the cheatsheet should be added in `cheatsheet.json`\ncheatsheet_spec = json.loads(Path(\"./docs/cheatsheet.json\").read_text())\ncheatsheet = [\n    \"..\",\n    \"    DO NOT MODIFY THIS FILE. IT IS AUTO GENERATED BY ``conf.py``\",\n    \"    If you need to change or add methods, modify ``cheatsheet_spec`` in ``conf.py``\",\n    \"\",\n    \".. _cheatsheet:\",\n    \"\",\n    \"Cheatsheet\",\n    \"==========\",\n    \"\",\n    *map(format_table, cheatsheet_spec),\n]\nPath(\"./docs/cheatsheet.rst\").write_text(\"\\n\".join(cheatsheet))\n\n\n# ** Sphinx App Setup\n\n\ndef setup(app):\n    app.add_css_file(\"overrides.css\")\n", "path": "docs/conf.py"}], "after_files": [{"content": "# This file is execfile()d with the current directory set to its containing dir.\n\nimport html\nimport os\nimport re\nimport sys\nimport time\n\nsys.path.insert(0, os.path.abspath(\"..\"))\n\nextensions = [\n    \"sphinx.ext.napoleon\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.viewcode\",\n    \"sphinxcontrib.hydomain\",\n]\n\nfrom get_version import __version__ as hy_version\n\n# Read the Docs might dirty its checkout, so strip the dirty flag.\nhy_version = re.sub(r\"[+.]dirty\\Z\", \"\", hy_version)\n\ntemplates_path = [\"_templates\"]\nsource_suffix = \".rst\"\n\nmaster_doc = \"index\"\n\n# General information about the project.\nproject = \"hy\"\ncopyright = \"%s the authors\" % time.strftime(\"%Y\")\n\n# The version info for the project you're documenting, acts as replacement for\n# |version| and |release|, also used in various other places throughout the\n# built documents.\n#\n# The short X.Y version.\nversion = \".\".join(hy_version.split(\".\")[:-1])\n# The full version, including alpha/beta/rc tags.\nrelease = hy_version\nhy_descriptive_version = html.escape(hy_version)\nif \"+\" in hy_version:\n    hy_descriptive_version += \" <strong style='color: red;'>(unstable)</strong>\"\n\nexclude_patterns = [\"_build\", \"coreteam.rst\"]\nadd_module_names = True\n\npygments_style = \"sphinx\"\n\nimport sphinx_rtd_theme\n\nhtml_theme = \"sphinx_rtd_theme\"\nhtml_theme_path = [sphinx_rtd_theme.get_html_theme_path()]\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\nhtml_use_smartypants = False\nhtml_show_sphinx = False\n\nhtml_context = dict(\n    hy_descriptive_version=hy_descriptive_version)\n\nhighlight_language = \"clojure\"\n\nintersphinx_mapping = dict(\n    py=(\"https://docs.python.org/3/\", None),\n    py3_10=(\"https://docs.python.org/3.10/\", None),\n    hyrule=(\"https://hyrule.readthedocs.io/en/master/\", None),\n)\n# ** Generate Cheatsheet\nimport json\nfrom itertools import zip_longest\nfrom pathlib import Path\n\n\ndef refize(spec):\n    role = \":hy:func:\"\n    if isinstance(spec, dict):\n        _name = spec[\"name\"]\n        uri = spec[\"uri\"]\n        if spec.get(\"internal\"):\n            role = \":ref:\"\n    else:\n        uri = spec\n        _name = str.split(uri, \".\")[-1]\n    return \"{}`{} <{}>`\".format(role, _name, uri)\n\n\ndef format_refs(refs, indent):\n    args = [iter(map(refize, refs))]\n    ref_groups = zip_longest(*args, fillvalue=\"\")\n    return str.join(\n        \" \\\\\\n\" + \" \" * (indent + 3),\n        [str.join(\" \", ref_group) for ref_group in ref_groups],\n    )\n\n\ndef format_row(category, divider_loc):\n    return \"{title: <{width}} | {methods}\".format(\n        width=divider_loc,\n        title=category[\"name\"],\n        methods=format_refs(category[\"methods\"], divider_loc),\n    )\n\n\ndef format_table(table_spec):\n    table_name = table_spec[\"name\"]\n    categories = table_spec[\"categories\"]\n    longest_cat_name = max(len(category[\"name\"]) for category in categories)\n    table = [\n        table_name,\n        \"-\" * len(table_name),\n        \"\",\n        \"=\" * longest_cat_name + \" \" + \"=\" * 25,\n        *(format_row(category, longest_cat_name) for category in categories),\n        \"=\" * longest_cat_name + \" \" + \"=\" * 25,\n        \"\",\n    ]\n    return \"\\n\".join(table)\n\n\n# Modifications to the cheatsheet should be added in `cheatsheet.json`\ncheatsheet_spec = json.loads(Path(\"./docs/cheatsheet.json\").read_text())\ncheatsheet = [\n    \"..\",\n    \"    DO NOT MODIFY THIS FILE. IT IS AUTO GENERATED BY ``conf.py``\",\n    \"    If you need to change or add methods, modify ``cheatsheet_spec`` in ``conf.py``\",\n    \"\",\n    \".. _cheatsheet:\",\n    \"\",\n    \"Cheatsheet\",\n    \"==========\",\n    \"\",\n    *map(format_table, cheatsheet_spec),\n]\nPath(\"./docs/cheatsheet.rst\").write_text(\"\\n\".join(cheatsheet))\n\n\n# ** Sphinx App Setup\n\n\ndef setup(app):\n    app.add_css_file(\"overrides.css\")\n", "path": "docs/conf.py"}]}