Chris Angelico
a019ba968b
Add a unichar_charlen() function to calculate length-in-characters from length-in-bytes
2014-06-08 06:58:26 +10:00
Chris Angelico
44b0d5cff8
Use utf8_get/next_char in building up a string's repr
2014-06-08 06:32:44 +10:00
Chris Angelico
30d1bad33f
Make utf8_get_char() and utf8_next_char() actually do what their names say
2014-06-08 06:32:21 +10:00
Chris Angelico
bc990dad9a
Revert "Add PEP 393-flags to strings and stub usage."
...
This reverts commit c239f50952
.
2014-06-08 02:10:59 +10:00
Chris Angelico
f9bebb28ad
Whitespace fixes
2014-06-07 15:41:48 +10:00
Chris Angelico
279de0c8eb
Formatting/layout improvements - introduce macros for UTF-8 byte detection, add braces. No functional changes.
2014-06-07 15:28:35 +10:00
Chris Angelico
f1911f53d5
Make chr() Unicode-aware
2014-06-07 11:56:02 +10:00
Chris Angelico
f51ad737b4
Make a string's repr Unicode-aware
2014-06-07 11:50:43 +10:00
Chris Angelico
01bd686846
Expand the Unicode tests
2014-06-07 11:44:58 +10:00
Chris Angelico
7bc91904f8
Record byte lengths for byte strings
2014-06-07 11:44:58 +10:00
Chris Angelico
bb13212071
Make ord() Unicode-aware
2014-06-07 11:44:58 +10:00
Chris Angelico
03f0cbe905
Retain characters as UTF-8 encoded Unicode
2014-06-07 11:34:28 +10:00
Chris Angelico
e924659b85
Add support for \u and \U escapes, but not \N (with explanatory comment)
2014-06-07 11:34:28 +10:00
Chris Angelico
231031ac5f
Add character length to qstr
2014-06-07 11:34:28 +10:00
Chris Angelico
6df1b946fb
Add test of UTF-8 encoded source file resulting in properly formed string
2014-06-07 11:34:28 +10:00
Chris Angelico
16429b81a8
Make len(s) return character length (even though creation's still buggy)
2014-06-07 11:34:28 +10:00
Chris Angelico
cd2cf6663c
HACK - When indexing a qstr, count its charlen. Stupidly inefficient but POC.
...
All tests pass now, though string creation is still buggy.
2014-06-07 11:34:28 +10:00
Chris Angelico
47c234584d
objstr: Record character length separately from byte length
...
CAUTION: Buggy, may crash stuff - qstr needs equivalent functionality too
2014-06-07 11:34:28 +10:00
Chris Angelico
b0f41c72af
Beginnings of UTF-8 support - construct strings from that many UTF-8-encoded chars, and subscript bytes the same way
2014-06-07 11:34:27 +10:00
Chris Angelico
89452be641
Update comments - now aiming for UTF-8 rather than PEP 393 strings
2014-06-07 11:34:27 +10:00
Chris Angelico
c239f50952
Add PEP 393-flags to strings and stub usage.
...
The test suite all passes, but nothing has actually been changed.
2014-06-07 11:34:27 +10:00
Damien George
c61be8e1e1
Merge pull request #662 from stinos/windows-pathsep
...
unix: Fix path seperator used depending on OS
2014-06-07 00:05:59 +01:00
Paul Sokolovsky
180751fbf3
Merge pull request #670 from Rosuav/stringhash
...
Bring the C and Python compute_hash functions into consistency
2014-06-07 00:10:10 +03:00
Chris Angelico
de09caaa37
Bring the C and Python compute_hash functions into consistency
2014-06-07 07:06:18 +10:00
Paul Sokolovsky
d72bc2713a
objint: Fix corner case in buffer access.
2014-06-06 23:08:37 +03:00
Paul Sokolovsky
b56a53dfd6
Merge pull request #667 from Rosuav/testfixes
...
A couple of small fixes to run-tests
2014-06-06 22:23:23 +03:00
Paul Sokolovsky
8c75bd26e2
Merge pull request #668 from dhylands/print-prec
...
Fix str.modulo when precision is specified.
2014-06-06 22:12:42 +03:00
Dave Hylands
b69f9fa31f
Fix str.modulo when precision is specified.
2014-06-05 23:09:02 -07:00
Paul Sokolovsky
380f147d2e
modgc: Real 64-bit cleanness.
2014-06-06 03:01:39 +03:00
Paul Sokolovsky
a3ef8087e8
modgc: 64-bit cleanness.
2014-06-06 02:34:17 +03:00
Chris Angelico
047db2299c
Turn the Travis CI test skipping mechanism into something more generic
2014-06-06 07:51:01 +10:00
Chris Angelico
88b11b50e5
Figure out the test_name before using it (significant only to Travis skips)
2014-06-06 07:51:01 +10:00
Paul Sokolovsky
755a55f507
modgc: Implement return value for gc.collect(), enable on Unix.
2014-06-05 22:48:02 +03:00
Damien George
d4c2bddd0c
py: Raise TypeError when trying to format non-int with %x,%o,%X.
...
This behaviour follows Python 3.5 standard (in 3.4 it's a
DeprecationWarning which we'd rather make a TypeError).
2014-06-05 19:44:54 +01:00
Paul Sokolovsky
f675ff3957
Merge pull request #665 from Rosuav/naming3.3
...
Change comments (mainly URLs) to no longer specifically say Python 3.3
2014-06-05 21:17:46 +03:00
Damien George
11de8399fe
py: Small changes to objstr.c, including a bug fix.
...
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.
2014-06-05 18:57:38 +01:00
Chris Angelico
daf973ae00
Change comments (mainly URLs) to no longer specifically say Python 3.3
2014-06-06 03:51:03 +10:00
Damien George
c074cd38c3
Merge pull request #663 from Rosuav/floatpercentx
...
Remove tests that fail under CPython 3.5
2014-06-05 18:39:08 +01:00
Paul Sokolovsky
75ce9256b2
objstr: Implement "%(key)s" % {} formatting for strings and dicts.
...
Also, make sure that args to "*" format specifiers are bounds-checked
properly and don't lead for segfaults in case of mismatch.
2014-06-05 20:06:15 +03:00
Chris Angelico
7a6e09635a
Remove tests that fail under CPython 3.5
...
See http://bugs.python.org/issue19995 for rationale. As micropython currently
aims for Python 3.3 compatibility I have not changed behaviour, but this
change allows the test suite to be run against a newer Python without having
spurious failures.
2014-06-05 22:34:11 +10:00
stijn
df3ab07994
unix: Fix path seperator used depending on OS
...
';' is the standard seperator used for paths in environment variables on Windows
2014-06-05 12:34:41 +02:00
Paul Sokolovsky
1e82ef3ae8
Merge pull request #660 from Rosuav/assert0
...
Replace assert(0) with a self-documenting TODO string
2014-06-05 12:11:48 +03:00
Paul Sokolovsky
76c8a4c91b
unix: Add setjmp-based GC register helper implementation.
...
As I suspected for a long time, for x86, register helper doesn't really make
any difference - there's simply not enough register to keep anything in
them for any prolonged time. Anything gets pushed on stack anyway. So, on
x86, uPy passed all tests even with empty reg helper. So, this setjmp
implementation goes as "untested".
2014-06-05 04:32:17 +03:00
Chris Angelico
9ab8ab2117
Replace assert(0) with a self-documenting TODO string
2014-06-05 06:05:57 +10:00
Damien George
30583f58d5
Merge pull request #653 from Metallicow/switch-example-correction
...
remove `__doc__ =` and fix tweak doc diffs
2014-06-04 13:46:35 +01:00
Damien George
95fd3528c1
Merge pull request #650 from bvernoux/master
...
micropython port for HydraBus
2014-06-03 19:29:03 +01:00
Damien George
9b967dd3cd
Merge pull request #655 from Rosuav/master
...
Two small changes
2014-06-03 19:25:37 +01:00
Chris Angelico
4867413e69
Simplify detection of quote characters in mp_str_print_quoted.
...
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.
2014-06-04 03:26:40 +10:00
bvernoux
82560fce75
Merge branch 'master' of https://github.com/micropython/micropython
2014-06-03 19:26:34 +02:00
Chris Angelico
29bf7393c1
Correct file reference (there's no qstrraw.h)
2014-06-04 03:15:46 +10:00