Dan Halbert
0d4bc8c163
initial v1.19.1 merge; not compiled yet
2023-08-01 13:50:05 -04:00
hathach
fecc1bdedb
fix typos (partial) detected by codepell
2023-03-18 22:17:02 +07:00
Scott Shawcroft
9d10a3da66
Conditionalize LTO
2022-05-27 12:59:54 -07:00
Scott Shawcroft
3fda0c0a1b
Fix board builds and use MP_ERROR_TEXT in py and extmod
2021-05-05 17:51:52 -07:00
Scott Shawcroft
f0bb26d70f
Merge MicroPython 1.13 into CircuitPython
2021-05-04 18:06:33 -07:00
Scott Shawcroft
b35fa44c8a
Merge MicroPython 1.12 into CircuitPython
2021-05-03 14:01:18 -07:00
microDev
a52eb88031
run code formatting script
2021-03-15 19:27:36 +05:30
Diego Elio Pettenò
34b4993d63
Add license to some obvious files.
2020-07-06 19:16:25 +01:00
Jim Mussared
def76fe4d9
all: Use MP_ERROR_TEXT for all error messages.
2020-04-05 15:02:06 +10:00
Damien George
69661f3343
all: Reformat C and Python source code with tools/codeformat.py.
...
This is run with uncrustify 0.70.1, and black 19.10b0.
2020-02-28 10:33:03 +11:00
Jeff Epler
d9e0742a07
accomodate excessively old gcc versions for raspbian mpy-cross cross-build
2020-01-25 15:32:52 -06:00
Damien George
bfbd94401d
py: Make mp_obj_get_type() return a const ptr to mp_obj_type_t.
...
Most types are in rodata/ROM, and mp_obj_base_t.type is a constant pointer,
so enforce this const-ness throughout the code base. If a type ever needs
to be modified (eg a user type) then a simple cast can be used.
2020-01-09 11:25:26 +11:00
Nicko van Someren
4c93955b7b
py/objslice: Add support for indices() method on slice objects.
...
Instances of the slice class are passed to __getitem__() on objects when
the user indexes them with a slice. In practice the majority of the time
(other than passing it on untouched) is to work out what the slice means in
the context of an array dimension of a particular length. Since Python 2.3
there has been a method on the slice class, indices(), that takes a
dimension length and returns the real start, stop and step, accounting for
missing or negative values in the slice spec. This commit implements such
a indices() method on the slice class.
It is configurable at compile-time via MICROPY_PY_BUILTINS_SLICE_INDICES,
disabled by default, enabled on unix, stm32 and esp32 ports.
This commit also adds new tests for slice indices and for slicing unicode
strings.
2019-12-28 23:55:15 +11:00
Yonatan Goldschmidt
e9593d5075
py/sequence: Fix grammar in comment about equality.
2019-07-25 16:37:25 +10: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
96ebf5bc3f
Two fixes and translate more strings.
...
* Fix finding translations with escaped characters.
* Add back \r to translations since its needed by screen.
2018-08-09 13:29:30 -07:00
Damien George
a3dc1b1957
all: Remove inclusion of internal py header files.
...
Header files that are considered internal to the py core and should not
normally be included directly are:
py/nlr.h - internal nlr configuration and declarations
py/bc0.h - contains bytecode macro definitions
py/runtime0.h - contains basic runtime enums
Instead, the top-level header files to include are one of:
py/obj.h - includes runtime0.h and defines everything to use the
mp_obj_t type
py/runtime.h - includes mpstate.h and hence nlr.h, obj.h, runtime0.h,
and defines everything to use the general runtime support functions
Additional, specific headers (eg py/objlist.h) can be included if needed.
2017-10-04 12:37:50 +11:00
Alexander Steffen
55f33240f3
all: Use the name MicroPython consistently in comments
...
There were several different spellings of MicroPython present in comments,
when there should be only one.
2017-07-31 18:35:40 +10:00
Damien George
eb4c37f7a4
py/sequence: Fix boundary errors when slicing with a negative step.
2017-05-18 17:32:42 +10:00
Damien George
94c41bb06f
py: Use mp_raise_TypeError/mp_raise_ValueError helpers where possible.
...
Saves 168 bytes on bare-arm.
2017-03-28 22:37:26 +11:00
Damien George
507119f4d8
py/sequence: Convert mp_uint_t to size_t where appropriate.
2017-03-23 16:23:20 +11:00
Damien George
c88cfe165b
py: Use size_t as len argument and return type of mp_get_index.
...
These values are used to compute memory addresses and so size_t is the
more appropriate type to use.
2017-03-23 16:17:40 +11:00
Fabio Utzig
8908e505ce
py/sequence: Fix reverse slicing of lists.
2016-10-30 15:54:19 -02:00
Damien George
7d0d7215d2
py: Use mp_raise_msg helper function where appropriate.
...
Saves the following number of bytes of code space: 176 for bare-arm, 352
for minimal, 272 for unix x86-64, 140 for stmhal, 120 for esp8266.
2016-10-17 12:17:37 +11:00
Damien George
095e43a9a5
py/sequence: Allow to use bignums as indices in slice objects.
...
See issue #2264 .
2016-08-15 23:26:34 +10:00
Damien George
999cedb90f
py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR.
...
This allows the mp_obj_t type to be configured to something other than a
pointer-sized primitive type.
This patch also includes additional changes to allow the code to compile
when sizeof(mp_uint_t) != sizeof(void*), such as using size_t instead of
mp_uint_t, and various casts.
2015-11-29 14:25:35 +00:00
Damien George
ff8dd3f486
py, unix: Allow to compile with -Wunused-parameter.
...
See issue #699 .
2015-01-20 12:47:20 +00:00
Damien George
963a5a3e82
py, unix: Allow to compile with -Wsign-compare.
...
See issue #699 .
2015-01-16 17:47:07 +00:00
Damien George
51dfcb4bb7
py: Move to guarded includes, everywhere in py/ core.
...
Addresses issue #1022 .
2015-01-01 20:32:09 +00:00
Damien George
42f3de924b
py: Convert [u]int to mp_[u]int_t where appropriate.
...
Addressing issue #50 .
2014-10-03 17:44:14 +00:00
Damien George
4d91723587
py: Remove use of int type in obj.h.
...
Part of code cleanup, working towards resolving issue #50 .
2014-08-30 14:28:06 +01:00
Damien George
d182b98a37
py: Change all uint to mp_uint_t in obj.h.
...
Part of code cleanup, working towards resolving issue #50 .
2014-08-30 14:19:41 +01:00
Damien George
40f3c02682
Rename machine_(u)int_t to mp_(u)int_t.
...
See discussion in issue #50 .
2014-07-03 13:25:24 +01:00
Chris Angelico
1f44e118f0
Remove unnecessary bounds check from mp_seq_get_fast_slice_indexes.
...
At this point, start will be >= 0, so checking if stop < 0 is redundant with
checking if start > stop a few lines later.
2014-06-10 03:59:55 +10:00
Damien George
c49ddb9315
py: Fix configurability of builtin slice.
2014-06-01 13:49:35 +01:00
Paul Sokolovsky
5fd5af98d0
objlist: Implement support for arbitrary (3-arg) slices.
2014-05-25 22:12:56 +03:00
Paul Sokolovsky
de4b9329f9
py: Refactor slice helpers, preparing to support arbitrary slicing.
2014-05-25 21:21:57 +03:00
Paul Sokolovsky
ff4b6daa4f
sequence: Throw exception for not implemented slice steps.
2014-05-25 03:02:57 +03:00
Paul Sokolovsky
69d081a7cf
py: Handle case of slice start > stop in common sequence function.
2014-05-25 02:29:40 +03:00
Paul Sokolovsky
afaaf535e6
objslice: Support arbitrary objects start, stop, and step.
...
Older int-only encoding is not expressive enough to support arbitrary slice
assignment operations.
2014-05-25 01:42:24 +03:00
Paul Sokolovsky
ad3baec12f
sequence: Fix yet another case of improper sequence comparison.
...
This time, in mp_seq_cmp_bytes(). How many more cases are still lurking?
2014-05-15 19:09:06 +03:00
Paul Sokolovsky
da9f0924ef
py, unix: Add copyright for modules I worked closely on.
2014-05-13 18:41:25 +03:00
Paul Sokolovsky
d915a52eb6
py: Fix prefix on few sequence helpers, was incorrectly "mp_".
2014-05-10 21:36:33 +03:00
Paul Sokolovsky
7b0f9a7d9b
bytes: Implement comparison and other binary operations.
...
Should support everything supported by strings.
2014-05-10 04:45:02 +03:00
Damien George
04b9147e15
Add license header to (almost) all files.
...
Blanket wide to all .c and .h files. Some files originating from ST are
difficult to deal with (license wise) so it was left out of those.
Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
2014-05-03 23:27:38 +01:00
Paul Sokolovsky
f54bcbf099
py, unix: Make "mpconfig.h" be first included, as other headers depend on it.
...
Specifically, nlr.h does.
2014-05-02 17:48:40 +03:00
Paul Sokolovsky
0fc4775cd6
sequence: Further simplify sequence comparison.
2014-04-18 21:47:58 +03:00
Paul Sokolovsky
83eba5dec5
sequence: Fix glaring bug in sequence comparison.
2014-04-18 21:42:54 +03:00
Damien George
ea13f407a3
py: Change nlr_jump to nlr_raise, to aid in debugging.
...
This does not affect code size or performance when debugging turned off.
To address issue #420 .
2014-04-05 18:32:08 +01:00