4683 Commits

Author SHA1 Message Date
Scott Shawcroft
0261c57d32
Merge pull request #1582 from dhalbert/remove-u-names
rename ure, ujson, and uerrno to re, json, and errno
2019-02-21 13:24:07 -08:00
Dan Halbert
10d3a20f8a Add CIRCUITPY macro; rename u* only when CIRCUITPY=1 2019-02-21 11:09:44 -05:00
Dan Halbert
c5dbdbe88c rename ure, ujson, and uerrno to re, json, and errno 2019-02-21 00:33:36 -05:00
Damien George
7bc71f5446 py/objfun: Make fun_data arg of mp_obj_new_fun_asm() a const pointer. 2019-02-20 13:14:03 +11:00
Damien George
bf352047de py/obj.h: Remove obsolete mp_obj_new_fun_viper() declaration. 2019-02-20 13:06:35 +11:00
Scott Shawcroft
46fd60c703
Prevent infinite display update recursion and fix VFS mounting
Fixes #1529
2019-02-19 14:50:31 -08:00
Dan Halbert
1177c32679
Merge pull request #1562 from debrouxl/minor_improvements_and_fixes
Minor fixes
2019-02-19 13:22:42 -05:00
Damien George
2b575418b6 py/qstr: Evaluate find_qstr only once then pass to Q_GET_HASH macro.
Q_GET_HASH may evaluate its argument more than once.
2019-02-19 23:44:01 +11:00
Dan Halbert
263e9822ea typo 2019-02-18 12:21:31 -05:00
Dan Halbert
ba77a9ca80 move non-u names for native modules to circuitpy_mpconfig.h 2019-02-18 12:08:23 -05:00
Dan Halbert
5c884bf6d6 forgot json 2019-02-18 07:57:54 -05:00
Dan Halbert
c1144a288f regularize how module weak links and alternate names are listed 2019-02-18 00:45:43 -05:00
Dan Halbert
97aeb1953b correct weak module links; samd module only in m4 ports; update libraries 2019-02-17 23:48:08 -05:00
Dan Halbert
5ec92415b0 fix module weak links; add missing nrf features 2019-02-17 17:29:28 -05:00
Lionel Debroux
94e51de166 Define MP_SSIZE_MAX for LONGINT_IMPL_LONGLONG as well.
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-17 11:21:35 +01:00
Dan Halbert
619b4f13fd
Merge pull request #1555 from tannewt/print_flush
Support print("", flush=True)
2019-02-15 21:46:16 -05:00
Dan Halbert
7b3f7605b8 address @tannewt changes: move and rename common files; remove PORT_HEAP_SIZE 2019-02-15 20:32:32 -05:00
Scott Shawcroft
e6b140e7a0
Support print("", flush=True)
Fixes #1127
2019-02-15 16:53:19 -08:00
Noralf Trønnes
0865c9d381 extmod/ure: Support search/match() pos and endpos parameters
MICROPY_PY_URE_MATCH_SPAN_START_END is used to enable the functionality
since it's similar.
2019-02-14 15:42:28 +01:00
Damien George
b9dc23c070 extmod/modure: Add ure.sub() function and method, and tests.
This feature is controlled at compile time by MICROPY_PY_URE_SUB, disabled
by default.

Thanks to @dmazzella for the original patch for this feature; see #3770.
2019-02-14 15:42:22 +01:00
Damien George
cbeac094ef extmod/modure: Add match.span(), start() and end() methods, and tests.
This feature is controlled at compile time by
MICROPY_PY_URE_MATCH_SPAN_START_END, disabled by default.

Thanks to @dmazzella for the original patch for this feature; see #3770.
2019-02-14 15:42:21 +01:00
Damien George
a24fabbb6f extmod/modure: Add match.groups() method, and tests.
This feature is controlled at compile time by MICROPY_PY_URE_MATCH_GROUPS,
disabled by default.

Thanks to @dmazzella for the original patch for this feature; see #3770.
2019-02-14 15:42:19 +01:00
Yonatan Goldschmidt
bc4f8b438b extmod/moduwebsocket: Refactor websocket to uwebsocket.
As mentioned in #4450, `websocket` was experimental with a single intended
user, `webrepl`. Therefore, we'll make this change without a weak
link `websocket` -> `uwebsocket`.
2019-02-14 00:35:45 +11:00
Scott Shawcroft
c17f147be9
A variety of displayio improvements
This changes a number of things in displayio:
* Introduces BuiltinFont and Glyph so the built in font can be used by libraries. For boards with
  a font it is available as board.TERMINAL_FONT. Fixes #1172
* Remove _load_row from Bitmap in favor of bitmap[] access. Index can be x/y tuple or overall index. Fixes #1191
* Add width and height properties to Bitmap.
* Add insert and [] access to Group. Fixes #1518
* Add index param to pop on Group.
* Terminal no longer takes unicode character info. It takes a BuiltinFont instead.
* Fix Terminal's handling of [###D vt100 commands used when up arrowing into repl history.
* Add x and y positions to Group plus scale as well.
* Add bitmap accessor for BuiltinFont
2019-02-11 20:55:05 -08:00
Damien George
5368210e36 py/mkenv.mk: Change default PYTHON variable from "python" to "python3".
This change makes it so that python3 is required by default to build
MicroPython. Python 2 can be used by specifying make PYTHON=python2.

This comes about due to a recent-ish change to PEP 394 that makes the
python command more optional than before (even with Python 2 installed);
see cd59ec03c8 (diff-1d22f7bd72cbc900670f058b1107d426)

Since the command python is no longer required to be provided by a
distribution we need to use either python2 or python3 as commands.  And
python3 seems the obvious choice.
2019-02-12 14:58:15 +11:00
Damien George
054dd33eba py: Downcase MP_xxx_SLOT_IS_FILLED inline functions. 2019-02-12 14:54:51 +11:00
Damien George
eee1e8841a py: Downcase all MP_OBJ_IS_xxx macros to make a more consistent C API.
These macros could in principle be (inline) functions so it makes sense to
have them lower case, to match the other C API functions.

The remaining macros that are upper case are:
- MP_OBJ_TO_PTR, MP_OBJ_FROM_PTR
- MP_OBJ_NEW_SMALL_INT, MP_OBJ_SMALL_INT_VALUE
- MP_OBJ_NEW_QSTR, MP_OBJ_QSTR_VALUE
- MP_OBJ_FUN_MAKE_SIG
- MP_DECLARE_CONST_xxx
- MP_DEFINE_CONST_xxx

These must remain macros because they are used when defining const data (at
least, MP_OBJ_NEW_SMALL_INT is so it makes sense to have
MP_OBJ_SMALL_INT_VALUE also a macro).

For those macros that have been made lower case, compatibility macros are
provided for the old names so that users do not need to change their code
immediately.
2019-02-12 14:54:51 +11:00
Craig Forbes
1662e02c1b Add human readable text for ENOSPC. 2019-02-06 14:59:01 -06:00
Yonatan Goldschmidt
343401c6df py/mpconfig.h: Fix comments mentioning dangling file and variable names. 2019-02-06 00:25:30 +11:00
Yonatan Goldschmidt
ec31438c54 py/builtinhelp: Only print help re FS modules if external import enabled 2019-02-06 00:23:16 +11:00
Paul Sokolovsky
8fea833e3f py: Update my copyright info on some files.
Based on git history.
2019-02-06 00:19:00 +11:00
Scott Shawcroft
0c50154c83
Use generic overflow so 64 bit is handled ok. 2019-02-04 16:11:16 -08:00
Scott Shawcroft
c60f77d5ab
Check sequence multiply for length overflow
Fixes #1279
2019-02-04 15:33:36 -08:00
Scott Shawcroft
5555a24479
Never long live the main dictionary.
It's contents change often and may be referenced elsewhere.

Fixes #1443
2019-02-01 16:05:37 -08:00
Scott Shawcroft
a39fc94dde
Don't long live class attributes
When they are added later, they are also referenced in the main
dictionary.

Fixes #1218
2019-02-01 16:04:16 -08:00
Paul Sokolovsky
2f5d113fad py/warning: Support categories for warnings.
Python defines warnings as belonging to categories, where category is a
warning type (descending from exception type). This is useful, as e.g.
allows to disable warnings selectively and provide user-defined warning
types.  So, implement this in MicroPython, except that categories are
represented just with strings.  However, enough hooks are left to implement
categories differently per-port (e.g. as types), without need to patch each
and every usage.
2019-01-31 16:48:30 +11:00
Damien George
deb67569ff py/compile: Swap order of pop_block/pop_except in "except as" handler.
To make the try-finally block self contained.
2019-01-27 14:09:44 +11:00
stijn
42863830be py: Add optional support for 2-argument version of built-in next().
Configurable via MICROPY_PY_BUILTINS_NEXT2, disabled by default.
2019-01-27 13:01:28 +11:00
Sean Burton
e33bc59712 py: Remove calls to file reader functions when these are disabled.
If MICROPY_PERSISTENT_CODE_LOAD or MICROPY_ENABLE_COMPILER are enabled then
code gets enabled that calls file reading functions which may be disabled
if no readers have been implemented.

To fix this, introduce a MICROPY_HAS_FILE_READER variable, which is
automatically set if MICROPY_READER_POSIX or MICROPY_READER_VFS is set but
can also be manually set if a custom reader is being implemented.  Then
disable the file reading calls if this is not set.
2019-01-27 11:08:25 +11:00
Damien George
3e25d611ef all: Bump version to 1.10. 2019-01-26 00:56:48 +11:00
Damien George
aba83e66d7 py/mpconfig.h: Remove parentheses from MICROPY_VERSION_xxx macros.
Otherwise MICROPY_VERSION_STRING includes these parentheses in the string.
2019-01-26 00:44:35 +11:00
Damien George
5089b3ffb6 py/obj.h: Explicitly cast args to uint32_t in MP_OBJ_FUN_MAKE_SIG.
For architectures where size_t is less than 32 bits (eg 16 bits) the args
must be casted to uint32_t so the left shift will work.  For architectures
where size_t is greater than 32 bits (eg 64 bits) this new casting will not
lose any bits because the end result must anyway fit in a uint32_t.
2019-01-25 16:03:05 +11:00
Dan Halbert
e170e03f8c Merge remote-tracking branch 'adafruit/master' into bleio2 2019-01-21 20:38:26 -05:00
Dan Halbert
a8f4aa4796 Merge remote-tracking branch 'adafruit/master' into struct-compat 2019-01-20 21:47:13 -05:00
Scott Shawcroft
479b286600
Fix dict_make_new 2019-01-20 17:32:43 -08:00
Scott Shawcroft
5ddc50473a
Check for null kw_args 2019-01-20 16:18:34 -08:00
Dan Halbert
7a09af73ec Improve struct compatibility with CPython 2019-01-20 15:12:34 -05:00
Dan Halbert
62df7ab730 Improve struct compatibility with CPython 2019-01-20 15:10:09 -05:00
Dan Halbert
28cfd8a513 CharacteristicBuffer: make it be a stream class; add locking 2019-01-19 19:45:35 -05:00
Scott Shawcroft
b569e8bab0
More make_new updates 2019-01-18 17:09:56 -08:00