We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
coala-ci doesn't use fail_aqcuire_settings


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `coalib/coala_main.py`
Content:
```
1 from itertools import chain
2 from pyprint.ConsolePrinter import ConsolePrinter
3 import os
4 
5 from coalib.output.printers.LogPrinter import LogPrinter
6 from coalib.processes.Processing import execute_section
7 from coalib.results.HiddenResult import HiddenResult
8 from coalib.settings.ConfigurationGathering import gather_configuration
9 from coalib.misc.Exceptions import get_exitcode
10 from coalib.bears.BEAR_KIND import BEAR_KIND
11 from coalib.collecting.Collectors import collect_bears
12 from coalib.output.Tagging import tag_results, delete_tagged_results
13 
14 
15 do_nothing = lambda *args: True
16 
17 
18 def run_coala(log_printer=None,
19               print_results=do_nothing,
20               acquire_settings=do_nothing,
21               print_section_beginning=do_nothing,
22               nothing_done=do_nothing,
23               show_bears=do_nothing):
24     """
25     This is a main method that should be usable for almost all purposes and
26     reduces executing coala to one function call.
27 
28     :param log_printer:             A LogPrinter object to use for logging.
29     :param print_results:           A callback that takes a LogPrinter, a
30                                     section, a list of results to be printed,
31                                     the file dict and the mutable file diff
32                                     dict.
33     :param acquire_settings:        The method to use for requesting settings.
34                                     It will get a parameter which is a
35                                     dictionary with the settings name as key
36                                     and a list containing a description in [0]
37                                     and the names of the bears who need this
38                                     setting in all following indexes.
39     :param print_section_beginning: A callback that will be called with a
40                                     section name string whenever analysis of a
41                                     new section is started.
42     :param nothing_done:            A callback that will be called without
43                                     parameters if nothing was done.
44     :param show_bears:              A callback that will be called with first
45                                     a list of local bears, second a list of
46                                     global bears to output them. A third bool
47                                     parameter may be used to indicate if a
48                                     compressed output (True) or a normal output
49                                     (False) is desired, the former being used
50                                     for showing all available bears to the user.
51     :return:                        A dictionary containing a list of results
52                                     for all analyzed sections as key.
53     """
54     log_printer = log_printer or LogPrinter(ConsolePrinter())
55 
56     exitcode = 0
57     results = None
58     try:
59         yielded_results = False
60         did_nothing = True
61         (sections,
62          local_bears,
63          global_bears,
64          targets) = gather_configuration(acquire_settings, log_printer)
65 
66         tag = str(sections['default'].get('tag', None))
67         dtag = str(sections['default'].get('dtag', None))
68 
69         show_all_bears = bool(sections['default'].get('show_all_bears', False))
70         show_bears_ = bool(sections["default"].get("show_bears", "False"))
71         if show_all_bears:
72             show_bears_ = True
73             for section in sections:
74                 bear_dirs = sections[section].bear_dirs()
75                 local_bears[section] = collect_bears(bear_dirs,
76                                             ["**"],
77                                             [BEAR_KIND.LOCAL],
78                                             log_printer)
79                 global_bears[section] = collect_bears(bear_dirs,
80                                              ["**"],
81                                              [BEAR_KIND.GLOBAL],
82                                              log_printer)
83 
84         if dtag != "None":
85             delete_tagged_results(
86                 dtag,
87                 os.path.abspath(str(sections["default"].get("config"))))
88 
89         if show_bears_:
90             show_bears(local_bears,
91                        global_bears,
92                        show_all_bears)
93             did_nothing = False
94         else:
95             results = {}
96             for section_name in sections:
97                 section = sections[section_name]
98                 if not section.is_enabled(targets):
99                     continue
100 
101                 print_section_beginning(section)
102                 section_result = execute_section(
103                     section=section,
104                     global_bear_list=global_bears[section_name],
105                     local_bear_list=local_bears[section_name],
106                     print_results=print_results,
107                     log_printer=log_printer)
108                 yielded_results = yielded_results or section_result[0]
109 
110                 results_for_section = []
111                 for value in chain(section_result[1].values(),
112                                    section_result[2].values()):
113                     if value is None:
114                         continue
115 
116                     for result in value:
117                         if not isinstance(result, HiddenResult):
118                             results_for_section.append(result)
119 
120                 results[section_name] = results_for_section
121                 did_nothing = False
122 
123             if tag != "None":
124                 tag_results(
125                     tag,
126                     os.path.abspath(str(sections["default"].get("config"))),
127                     results)
128 
129         if did_nothing:
130             nothing_done(log_printer)
131 
132         if yielded_results:
133             exitcode = 1
134     except BaseException as exception:  # pylint: disable=broad-except
135         exitcode = exitcode or get_exitcode(exception, log_printer)
136 
137     return results, exitcode
138
```
--- 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()

```

diff --git a/coalib/coala_main.py b/coalib/coala_main.py
--- a/coalib/coala_main.py
+++ b/coalib/coala_main.py
@@ -9,6 +9,7 @@
 from coalib.misc.Exceptions import get_exitcode
 from coalib.bears.BEAR_KIND import BEAR_KIND
 from coalib.collecting.Collectors import collect_bears
+from coalib.output.Interactions import fail_acquire_settings
 from coalib.output.Tagging import tag_results, delete_tagged_results
 
 
@@ -17,7 +18,7 @@
 
 def run_coala(log_printer=None,
               print_results=do_nothing,
-              acquire_settings=do_nothing,
+              acquire_settings=fail_acquire_settings,
               print_section_beginning=do_nothing,
               nothing_done=do_nothing,
               show_bears=do_nothing):

{"golden_diff": "diff --git a/coalib/coala_main.py b/coalib/coala_main.py\n--- a/coalib/coala_main.py\n+++ b/coalib/coala_main.py\n@@ -9,6 +9,7 @@\n from coalib.misc.Exceptions import get_exitcode\n from coalib.bears.BEAR_KIND import BEAR_KIND\n from coalib.collecting.Collectors import collect_bears\n+from coalib.output.Interactions import fail_acquire_settings\n from coalib.output.Tagging import tag_results, delete_tagged_results\n \n \n@@ -17,7 +18,7 @@\n \n def run_coala(log_printer=None,\n               print_results=do_nothing,\n-              acquire_settings=do_nothing,\n+              acquire_settings=fail_acquire_settings,\n               print_section_beginning=do_nothing,\n               nothing_done=do_nothing,\n               show_bears=do_nothing):\n", "issue": "coala-ci doesn't use fail_aqcuire_settings\n\n", "before_files": [{"content": "from itertools import chain\nfrom pyprint.ConsolePrinter import ConsolePrinter\nimport os\n\nfrom coalib.output.printers.LogPrinter import LogPrinter\nfrom coalib.processes.Processing import execute_section\nfrom coalib.results.HiddenResult import HiddenResult\nfrom coalib.settings.ConfigurationGathering import gather_configuration\nfrom coalib.misc.Exceptions import get_exitcode\nfrom coalib.bears.BEAR_KIND import BEAR_KIND\nfrom coalib.collecting.Collectors import collect_bears\nfrom coalib.output.Tagging import tag_results, delete_tagged_results\n\n\ndo_nothing = lambda *args: True\n\n\ndef run_coala(log_printer=None,\n              print_results=do_nothing,\n              acquire_settings=do_nothing,\n              print_section_beginning=do_nothing,\n              nothing_done=do_nothing,\n              show_bears=do_nothing):\n    \"\"\"\n    This is a main method that should be usable for almost all purposes and\n    reduces executing coala to one function call.\n\n    :param log_printer:             A LogPrinter object to use for logging.\n    :param print_results:           A callback that takes a LogPrinter, a\n                                    section, a list of results to be printed,\n                                    the file dict and the mutable file diff\n                                    dict.\n    :param acquire_settings:        The method to use for requesting settings.\n                                    It will get a parameter which is a\n                                    dictionary with the settings name as key\n                                    and a list containing a description in [0]\n                                    and the names of the bears who need this\n                                    setting in all following indexes.\n    :param print_section_beginning: A callback that will be called with a\n                                    section name string whenever analysis of a\n                                    new section is started.\n    :param nothing_done:            A callback that will be called without\n                                    parameters if nothing was done.\n    :param show_bears:              A callback that will be called with first\n                                    a list of local bears, second a list of\n                                    global bears to output them. A third bool\n                                    parameter may be used to indicate if a\n                                    compressed output (True) or a normal output\n                                    (False) is desired, the former being used\n                                    for showing all available bears to the user.\n    :return:                        A dictionary containing a list of results\n                                    for all analyzed sections as key.\n    \"\"\"\n    log_printer = log_printer or LogPrinter(ConsolePrinter())\n\n    exitcode = 0\n    results = None\n    try:\n        yielded_results = False\n        did_nothing = True\n        (sections,\n         local_bears,\n         global_bears,\n         targets) = gather_configuration(acquire_settings, log_printer)\n\n        tag = str(sections['default'].get('tag', None))\n        dtag = str(sections['default'].get('dtag', None))\n\n        show_all_bears = bool(sections['default'].get('show_all_bears', False))\n        show_bears_ = bool(sections[\"default\"].get(\"show_bears\", \"False\"))\n        if show_all_bears:\n            show_bears_ = True\n            for section in sections:\n                bear_dirs = sections[section].bear_dirs()\n                local_bears[section] = collect_bears(bear_dirs,\n                                            [\"**\"],\n                                            [BEAR_KIND.LOCAL],\n                                            log_printer)\n                global_bears[section] = collect_bears(bear_dirs,\n                                             [\"**\"],\n                                             [BEAR_KIND.GLOBAL],\n                                             log_printer)\n\n        if dtag != \"None\":\n            delete_tagged_results(\n                dtag,\n                os.path.abspath(str(sections[\"default\"].get(\"config\"))))\n\n        if show_bears_:\n            show_bears(local_bears,\n                       global_bears,\n                       show_all_bears)\n            did_nothing = False\n        else:\n            results = {}\n            for section_name in sections:\n                section = sections[section_name]\n                if not section.is_enabled(targets):\n                    continue\n\n                print_section_beginning(section)\n                section_result = execute_section(\n                    section=section,\n                    global_bear_list=global_bears[section_name],\n                    local_bear_list=local_bears[section_name],\n                    print_results=print_results,\n                    log_printer=log_printer)\n                yielded_results = yielded_results or section_result[0]\n\n                results_for_section = []\n                for value in chain(section_result[1].values(),\n                                   section_result[2].values()):\n                    if value is None:\n                        continue\n\n                    for result in value:\n                        if not isinstance(result, HiddenResult):\n                            results_for_section.append(result)\n\n                results[section_name] = results_for_section\n                did_nothing = False\n\n            if tag != \"None\":\n                tag_results(\n                    tag,\n                    os.path.abspath(str(sections[\"default\"].get(\"config\"))),\n                    results)\n\n        if did_nothing:\n            nothing_done(log_printer)\n\n        if yielded_results:\n            exitcode = 1\n    except BaseException as exception:  # pylint: disable=broad-except\n        exitcode = exitcode or get_exitcode(exception, log_printer)\n\n    return results, exitcode\n", "path": "coalib/coala_main.py"}], "after_files": [{"content": "from itertools import chain\nfrom pyprint.ConsolePrinter import ConsolePrinter\nimport os\n\nfrom coalib.output.printers.LogPrinter import LogPrinter\nfrom coalib.processes.Processing import execute_section\nfrom coalib.results.HiddenResult import HiddenResult\nfrom coalib.settings.ConfigurationGathering import gather_configuration\nfrom coalib.misc.Exceptions import get_exitcode\nfrom coalib.bears.BEAR_KIND import BEAR_KIND\nfrom coalib.collecting.Collectors import collect_bears\nfrom coalib.output.Interactions import fail_acquire_settings\nfrom coalib.output.Tagging import tag_results, delete_tagged_results\n\n\ndo_nothing = lambda *args: True\n\n\ndef run_coala(log_printer=None,\n              print_results=do_nothing,\n              acquire_settings=fail_acquire_settings,\n              print_section_beginning=do_nothing,\n              nothing_done=do_nothing,\n              show_bears=do_nothing):\n    \"\"\"\n    This is a main method that should be usable for almost all purposes and\n    reduces executing coala to one function call.\n\n    :param log_printer:             A LogPrinter object to use for logging.\n    :param print_results:           A callback that takes a LogPrinter, a\n                                    section, a list of results to be printed,\n                                    the file dict and the mutable file diff\n                                    dict.\n    :param acquire_settings:        The method to use for requesting settings.\n                                    It will get a parameter which is a\n                                    dictionary with the settings name as key\n                                    and a list containing a description in [0]\n                                    and the names of the bears who need this\n                                    setting in all following indexes.\n    :param print_section_beginning: A callback that will be called with a\n                                    section name string whenever analysis of a\n                                    new section is started.\n    :param nothing_done:            A callback that will be called without\n                                    parameters if nothing was done.\n    :param show_bears:              A callback that will be called with first\n                                    a list of local bears, second a list of\n                                    global bears to output them. A third bool\n                                    parameter may be used to indicate if a\n                                    compressed output (True) or a normal output\n                                    (False) is desired, the former being used\n                                    for showing all available bears to the user.\n    :return:                        A dictionary containing a list of results\n                                    for all analyzed sections as key.\n    \"\"\"\n    log_printer = log_printer or LogPrinter(ConsolePrinter())\n\n    exitcode = 0\n    results = None\n    try:\n        yielded_results = False\n        did_nothing = True\n        (sections,\n         local_bears,\n         global_bears,\n         targets) = gather_configuration(acquire_settings, log_printer)\n\n        tag = str(sections['default'].get('tag', None))\n        dtag = str(sections['default'].get('dtag', None))\n\n        show_all_bears = bool(sections['default'].get('show_all_bears', False))\n        show_bears_ = bool(sections[\"default\"].get(\"show_bears\", \"False\"))\n        if show_all_bears:\n            show_bears_ = True\n            for section in sections:\n                bear_dirs = sections[section].bear_dirs()\n                local_bears[section] = collect_bears(bear_dirs,\n                                            [\"**\"],\n                                            [BEAR_KIND.LOCAL],\n                                            log_printer)\n                global_bears[section] = collect_bears(bear_dirs,\n                                             [\"**\"],\n                                             [BEAR_KIND.GLOBAL],\n                                             log_printer)\n\n        if dtag != \"None\":\n            delete_tagged_results(\n                dtag,\n                os.path.abspath(str(sections[\"default\"].get(\"config\"))))\n\n        if show_bears_:\n            show_bears(local_bears,\n                       global_bears,\n                       show_all_bears)\n            did_nothing = False\n        else:\n            results = {}\n            for section_name in sections:\n                section = sections[section_name]\n                if not section.is_enabled(targets):\n                    continue\n\n                print_section_beginning(section)\n                section_result = execute_section(\n                    section=section,\n                    global_bear_list=global_bears[section_name],\n                    local_bear_list=local_bears[section_name],\n                    print_results=print_results,\n                    log_printer=log_printer)\n                yielded_results = yielded_results or section_result[0]\n\n                results_for_section = []\n                for value in chain(section_result[1].values(),\n                                   section_result[2].values()):\n                    if value is None:\n                        continue\n\n                    for result in value:\n                        if not isinstance(result, HiddenResult):\n                            results_for_section.append(result)\n\n                results[section_name] = results_for_section\n                did_nothing = False\n\n            if tag != \"None\":\n                tag_results(\n                    tag,\n                    os.path.abspath(str(sections[\"default\"].get(\"config\"))),\n                    results)\n\n        if did_nothing:\n            nothing_done(log_printer)\n\n        if yielded_results:\n            exitcode = 1\n    except BaseException as exception:  # pylint: disable=broad-except\n        exitcode = exitcode or get_exitcode(exception, log_printer)\n\n    return results, exitcode\n", "path": "coalib/coala_main.py"}]}