summaryrefslogtreecommitdiffstatshomepage
path: root/py
Commit message (Collapse)AuthorAge
* parsenum: Signedness issues.Paul Sokolovsky2014-06-14
| | | | | | char can be signedness, and using signedness types is dangerous - it can lead to negative offsets when doing table lookups. We apparently should just ban char usage.
* objstr: Refactor to work with char pointers instead of indexes.Paul Sokolovsky2014-06-14
| | | | In preparation for unicode support.
* unicode: Add trivial implementation of unichar_charlen().Paul Sokolovsky2014-06-14
|
* unicode: String API is const byte*.Paul Sokolovsky2014-06-14
| | | | | We still have that char vs byte dichotomy, but majority of string operations now use byte.
* objstr: Be 8-bit clean even for repr().Paul Sokolovsky2014-06-14
| | | | | | | | | This will allow roughly the same behavior as Python3 for non-ASCII strings, for example, print("<phrase in non-Latin script>".split()) will print list of words, not weird hex dump (like Python2 behaves). (Of course, that it will print list of words, if there're "words" in that phrase at all, separated by ASCII-compatible whitespace; that surely won't apply to every human language in existence).
* py, gc: Revert ret_ptr to void*, casting to byte* for memset.Damien George2014-06-13
|
* Merge branch 'gc-pointers' of github.com:stinos/micropython into ↵Damien George2014-06-13
|\ | | | | | | stinos-gc-pointers
| * gc: Use byte* pointers instead of void* for pointer arithmeticstijn2014-06-13
| | | | | | | | void* is of unknown size
* | stream: Use mp_obj_is_true() for EOF testing.Paul Sokolovsky2014-06-13
|/ | | | | Getting a length of string may be expensive, depending on the underlying implementation.
* py: Revert change of include, "" back to <> for mpconfigport.h.v1.1Damien George2014-06-12
|
* py: Rename builtin "io" to "_io".Paul Sokolovsky2014-06-12
| | | | | | | | Functionality we provide in builtin io module is fairly minimal. Some code, including CPython stdlib, depends on more functionality. So, there's a choice to either implement it in C, or move it _io, and let implement other functionality in Python. 2nd choice is pursued. This setup matches CPython too (_io is builtin, io is Python-level).
* py: Make 3 functions static.Damien George2014-06-11
|
* py: Fix static defn in qstr; include mpconfigport.h with "" (not <>).Damien George2014-06-11
|
* objfun: Remove no longer used mp_obj_fun_prepare_simple_args().Paul Sokolovsky2014-06-11
|
* objgenerator: Finish refactor to use mp_setup_code_state().Paul Sokolovsky2014-06-11
|
* objgenerator: First iteration of refactor to use mp_setup_code_state().Paul Sokolovsky2014-06-11
|
* objfun: Factor out mp_setup_code_state() function to set up code_state object.Paul Sokolovsky2014-06-11
| | | | It needs to be reused for generator functions, too.
* py: Implement __contains__ special method.Damien George2014-06-10
|
* Remove unnecessary bounds check from mp_seq_get_fast_slice_indexes.Chris Angelico2014-06-10
| | | | | At this point, start will be >= 0, so checking if stop < 0 is redundant with checking if start > stop a few lines later.
* objtype: Fix passing of class param to inherited classmethods.Paul Sokolovsky2014-06-08
| | | | This is getting more and more tangled, but that's old news.
* objtype: Optimize stack usage mp_obj_class_lookup().Paul Sokolovsky2014-06-08
| | | | | As before, instead of pushing constant values on stack again and again, just pass around pointer to a structure.
* Merge branch 'alloca' of github.com:marcusva/micropython into marcusva-allocaDamien George2014-06-08
|\
| * - FreeBSD provides alloca() via stdlib.h, in contrast to Linux and WindowsMarcus von Appen2014-06-07
| | | | | | | | - Move the includes for alloca() intp mpconfigport.h
* | py: Simplify function call of a bytecode object.Damien George2014-06-08
| |
* | py: Make sure getattr() works with non-interned strings (by interning them).Paul Sokolovsky2014-06-08
| |
* | Merge branch 'master' of github.com:micropython/micropythonDamien George2014-06-07
|\ \ | | | | | | | | | | | | Conflicts: py/emitglue.c
| * | objtype: Enable __lt__ method support for instances.Paul Sokolovsky2014-06-08
| | |
| * | modsys: Add optional support for sys.platform.Paul Sokolovsky2014-06-07
| | | | | | | | | | | | | | | Ports which wants to have it, should define MICROPY_PY_SYS_PLATFORM to a string value they need.
| * | py: Add generic mp_not_implemented() func to use instead of assert().Paul Sokolovsky2014-06-07
| | | | | | | | | | | | | | | | | | Benefits: won't crash baremetal targets, will provide Python source location when not implemented feature used (it will no longer provide C source location, but just grep for error message).
* | | py: Implement default keyword only args.Damien George2014-06-07
|/ / | | | | | | Should finish addressing issue #524.
* | py: Merge mp_execute_bytecode into fun_bc_call.Damien George2014-06-07
| | | | | | | | | | | | This reduces stack usage by 16 words (64 bytes) for stmhal/ port. See issue #640.
* | py, mk: Revert change where build variables set with ?=.Damien George2014-06-07
| | | | | | | | ?= operator does not do delayed expansion (unlike =).
* | - Let the build environment decide about the toolchain to be used, in caseMarcus von Appen2014-06-07
|/ | | | | | | there are special tweaks and paths to be considered. Just provide some defaults, in case the values are undefined. - py-version.sh does not need any bash specific features. - Use libdl only on Linux for now. FreeBSD provides dl*() calls from libc.
* Bring the C and Python compute_hash functions into consistencyChris Angelico2014-06-07
|
* objint: Fix corner case in buffer access.Paul Sokolovsky2014-06-06
|
* Fix str.modulo when precision is specified.Dave Hylands2014-06-05
|
* modgc: Real 64-bit cleanness.Paul Sokolovsky2014-06-06
|
* modgc: 64-bit cleanness.Paul Sokolovsky2014-06-06
|
* modgc: Implement return value for gc.collect(), enable on Unix.Paul Sokolovsky2014-06-05
|
* py: Raise TypeError when trying to format non-int with %x,%o,%X.Damien George2014-06-05
| | | | | This behaviour follows Python 3.5 standard (in 3.4 it's a DeprecationWarning which we'd rather make a TypeError).
* Merge pull request #665 from Rosuav/naming3.3Paul Sokolovsky2014-06-05
|\ | | | | Change comments (mainly URLs) to no longer specifically say Python 3.3
| * Change comments (mainly URLs) to no longer specifically say Python 3.3Chris Angelico2014-06-06
| |
* | py: Small changes to objstr.c, including a bug fix.Damien George2014-06-05
|/ | | | | | | | | | | | | | Some small fixed: - Combine 'x' and 'X' cases in str format code. - Remove trailing spaces from some lines. - Make exception messages consistently begin with lower case (then needed to change those in objarray and objtuple so the same constant string data could be used). - Fix bug with exception message having %c instead of %%c.
* objstr: Implement "%(key)s" % {} formatting for strings and dicts.Paul Sokolovsky2014-06-05
| | | | | Also, make sure that args to "*" format specifiers are bounds-checked properly and don't lead for segfaults in case of mismatch.
* Replace assert(0) with a self-documenting TODO stringChris Angelico2014-06-05
|
* Simplify detection of quote characters in mp_str_print_quoted.Chris Angelico2014-06-04
| | | | | Once a double quote has been found, the subsequent discovery of a single quote won't change behaviour at all, so don't bother looking for one.
* Correct file reference (there's no qstrraw.h)Chris Angelico2014-06-04
|
* py: Properly fix configuration of float and math module.Damien George2014-06-03
|
* py: Allow tail call optimisation in mp_call_function_n_kw.Damien George2014-06-03
| | | | This saves 4 words of stack space per Python call.
* py: Fix configuration of math module.Damien George2014-06-03
|