From 77e0cee49ec182b95cefc7a00a1c96b5db278cb2 Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
Date: Sun, 22 Jan 2017 10:31:02 +1100
Subject: [PATCH] zephyr: Convert to use builtin help function.

---
 zephyr/Makefile       |  1 -
 zephyr/help.c         | 20 ++------------------
 zephyr/mpconfigport.h |  3 ++-
 3 files changed, 4 insertions(+), 20 deletions(-)

diff --git a/zephyr/Makefile b/zephyr/Makefile
index 1d247af1a..ae707ff75 100644
--- a/zephyr/Makefile
+++ b/zephyr/Makefile
@@ -44,7 +44,6 @@ SRC_C = main.c \
 	lib/utils/printf.c \
 	lib/utils/pyexec.c \
 	lib/utils/interrupt_char.c \
-	lib/utils/pyhelp.c \
 	lib/mp-readline/readline.c \
 	$(SRC_MOD)
 
diff --git a/zephyr/help.c b/zephyr/help.c
index e40a11781..0c7f27940 100644
--- a/zephyr/help.c
+++ b/zephyr/help.c
@@ -24,11 +24,9 @@
  * THE SOFTWARE.
  */
 
-#include <stdio.h>
+#include "py/builtin.h"
 
-#include "lib/utils/pyhelp.h"
-
-STATIC const char *help_text =
+const char *zephyr_help_text =
 "Welcome to MicroPython!\n"
 "\n"
 "Control commands:\n"
@@ -40,17 +38,3 @@ STATIC const char *help_text =
 "\n"
 "For further help on a specific object, type help(obj)\n"
 ;
-
-STATIC mp_obj_t builtin_help(size_t n_args, const mp_obj_t *args) {
-    if (n_args == 0) {
-        // print a general help message
-        printf("%s", help_text);
-
-    } else {
-        // try to print something sensible about the given object
-        pyhelp_print_obj(args[0]);
-    }
-
-    return mp_const_none;
-}
-MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_help_obj, 0, 1, builtin_help);
diff --git a/zephyr/mpconfigport.h b/zephyr/mpconfigport.h
index 26fb1410f..2cd5ffcec 100644
--- a/zephyr/mpconfigport.h
+++ b/zephyr/mpconfigport.h
@@ -48,6 +48,8 @@
 #define MICROPY_PY_BUILTINS_RANGE_ATTRS (0)
 #define MICROPY_PY_BUILTINS_REVERSED (0)
 #define MICROPY_PY_BUILTINS_SET     (0)
+#define MICROPY_PY_BUILTINS_HELP    (1)
+#define MICROPY_PY_BUILTINS_HELP_TEXT zephyr_help_text
 #define MICROPY_PY_ARRAY            (0)
 #define MICROPY_PY_COLLECTIONS      (0)
 #define MICROPY_PY_CMATH            (0)
@@ -114,5 +116,4 @@ extern const struct _mp_obj_module_t mp_module_time;
 
 // extra built in names to add to the global namespace
 #define MICROPY_PORT_BUILTINS \
-    { MP_OBJ_NEW_QSTR(MP_QSTR_help), (mp_obj_t)&mp_builtin_help_obj }, \
 
-- 
GitLab