diff --git a/README.rst b/README.rst index 1c5a860df7..96ca69a50e 100644 --- a/README.rst +++ b/README.rst @@ -133,6 +133,8 @@ Behavior ``code.py`` **in the REPL anymore, as the REPL is a fresh vm.** CircuitPython's goal for this change includes reducing confusion about pins and memory being used. - After the main code is finished the REPL can be entered by pressing any key. + - If the file ``repl.py`` exists, it is executed before the REPL Prompt is shown + - In safe mode this functionality is disabled, to ensure the REPL Prompt can always be reached - Autoreload state will be maintained across reload. - Adds a safe mode that does not run user code after a hard crash or brown out. This makes it @@ -155,7 +157,7 @@ Behavior - Re-runs ``code.py`` or other main file after file system writes by a workflow. (Disable with ``supervisor.disable_autoreload()``) - Autoreload is disabled while the REPL is active. -- ``code.py`` may also be named``code.txt``, ``main.py``, or ``main.txt``. +- ``code.py`` may also be named ``code.txt``, ``main.py``, or ``main.txt``. - ``boot.py`` may also be named ``boot.txt``. - ``safemode.py`` may also be named ``safemode.txt``. diff --git a/main.c b/main.c index 94a3feac6b..c37c17dab2 100644 --- a/main.c +++ b/main.c @@ -934,6 +934,11 @@ STATIC int run_repl(safe_mode_t safe_mode) { autoreload_suspend(AUTORELOAD_SUSPEND_REPL); + if (get_safe_mode() == SAFE_MODE_NONE) { + const char *const filenames[] = { "repl.py" }; + (void)maybe_run_list(filenames, MP_ARRAY_SIZE(filenames)); + } + // Set the status LED to the REPL color before running the REPL. For // NeoPixels and DotStars this will be sticky but for PWM or single LED it // won't. This simplifies pin sharing because they won't be in use when