summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-04-14 01:46:45 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-04-14 01:46:45 +0300
commitbbae42d62fd671a4ce50bec280e0cb806469d1cc (patch)
treea44a8bedaccd21817b24e9a515a9be4206c8e055
parent58676fc2c75b8dcf1661ee65eb2384bd7f59990b (diff)
modsys: Implement sys.version.
The logic appears to be that (at least beginning of) sys.versions is the version of reference Python language implemented, not version of particular implementation. Also, bump set versions at 3.4.0, based on @dpgeorge preference.
-rw-r--r--py/modsys.c5
-rw-r--r--py/qstrdefs.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/py/modsys.c b/py/modsys.c
index 10efd6004..41ade1f27 100644
--- a/py/modsys.c
+++ b/py/modsys.c
@@ -6,6 +6,7 @@
#include "runtime.h"
#include "objlist.h"
#include "objtuple.h"
+#include "objstr.h"
#if MICROPY_ENABLE_MOD_SYS
@@ -20,13 +21,15 @@ mp_obj_list_t mp_sys_path_obj;
mp_obj_list_t mp_sys_argv_obj;
#define I(n) MP_OBJ_NEW_SMALL_INT(n)
// TODO: CPython is now at 5-element array, but save 2 els so far...
-STATIC const mp_obj_tuple_t mp_sys_version_info_obj = {{&mp_type_tuple}, 3, {I(3), I(3), I(5)}};
+STATIC const mp_obj_tuple_t mp_sys_version_info_obj = {{&mp_type_tuple}, 3, {I(3), I(4), I(0)}};
#undef I
+STATIC const MP_DEFINE_STR_OBJ(version_obj, "3.4.0");
STATIC const mp_map_elem_t mp_module_sys_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_sys) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_path), (mp_obj_t)&mp_sys_path_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_argv), (mp_obj_t)&mp_sys_argv_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_version), (mp_obj_t)&version_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_version_info), (mp_obj_t)&mp_sys_version_info_obj },
#if MP_ENDIANNESS_LITTLE
{ MP_OBJ_NEW_QSTR(MP_QSTR_byteorder), MP_OBJ_NEW_QSTR(MP_QSTR_little) },
diff --git a/py/qstrdefs.h b/py/qstrdefs.h
index c2d538d1f..80cf681ae 100644
--- a/py/qstrdefs.h
+++ b/py/qstrdefs.h
@@ -280,6 +280,7 @@ Q(little)
Q(stdin)
Q(stdout)
Q(stderr)
+Q(version)
Q(version_info)
#endif