Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
a82d7ef2
Commit
a82d7ef2
authored
Mar 24, 2014
by
Damien George
Browse files
Merge branch 'master' of github.com:micropython/micropython
parents
0e9d96f1
4750a839
Changes
4
Hide whitespace changes
Inline
Side-by-side
py/runtime.c
View file @
a82d7ef2
...
@@ -462,6 +462,11 @@ void rt_store_name(qstr qstr, mp_obj_t obj) {
...
@@ -462,6 +462,11 @@ void rt_store_name(qstr qstr, mp_obj_t obj) {
mp_map_lookup
(
map_locals
,
MP_OBJ_NEW_QSTR
(
qstr
),
MP_MAP_LOOKUP_ADD_IF_NOT_FOUND
)
->
value
=
obj
;
mp_map_lookup
(
map_locals
,
MP_OBJ_NEW_QSTR
(
qstr
),
MP_MAP_LOOKUP_ADD_IF_NOT_FOUND
)
->
value
=
obj
;
}
}
void
rt_delete_name
(
qstr
qstr
)
{
DEBUG_OP_printf
(
"delete name %s
\n
"
,
qstr_str
(
qstr
));
mp_map_lookup
(
map_locals
,
MP_OBJ_NEW_QSTR
(
qstr
),
MP_MAP_LOOKUP_REMOVE_IF_FOUND
);
}
void
rt_store_global
(
qstr
qstr
,
mp_obj_t
obj
)
{
void
rt_store_global
(
qstr
qstr
,
mp_obj_t
obj
)
{
DEBUG_OP_printf
(
"store global %s <- %p
\n
"
,
qstr_str
(
qstr
),
obj
);
DEBUG_OP_printf
(
"store global %s <- %p
\n
"
,
qstr_str
(
qstr
),
obj
);
mp_map_lookup
(
map_globals
,
MP_OBJ_NEW_QSTR
(
qstr
),
MP_MAP_LOOKUP_ADD_IF_NOT_FOUND
)
->
value
=
obj
;
mp_map_lookup
(
map_globals
,
MP_OBJ_NEW_QSTR
(
qstr
),
MP_MAP_LOOKUP_ADD_IF_NOT_FOUND
)
->
value
=
obj
;
...
...
py/runtime.h
View file @
a82d7ef2
...
@@ -12,6 +12,7 @@ mp_obj_t rt_get_cell(mp_obj_t cell);
...
@@ -12,6 +12,7 @@ mp_obj_t rt_get_cell(mp_obj_t cell);
void
rt_set_cell
(
mp_obj_t
cell
,
mp_obj_t
val
);
void
rt_set_cell
(
mp_obj_t
cell
,
mp_obj_t
val
);
void
rt_store_name
(
qstr
qstr
,
mp_obj_t
obj
);
void
rt_store_name
(
qstr
qstr
,
mp_obj_t
obj
);
void
rt_store_global
(
qstr
qstr
,
mp_obj_t
obj
);
void
rt_store_global
(
qstr
qstr
,
mp_obj_t
obj
);
void
rt_delete_name
(
qstr
qstr
);
mp_obj_t
rt_unary_op
(
int
op
,
mp_obj_t
arg
);
mp_obj_t
rt_unary_op
(
int
op
,
mp_obj_t
arg
);
mp_obj_t
rt_binary_op
(
int
op
,
mp_obj_t
lhs
,
mp_obj_t
rhs
);
mp_obj_t
rt_binary_op
(
int
op
,
mp_obj_t
lhs
,
mp_obj_t
rhs
);
mp_obj_t
rt_make_function_from_id
(
int
unique_code_id
,
mp_obj_t
def_args
);
mp_obj_t
rt_make_function_from_id
(
int
unique_code_id
,
mp_obj_t
def_args
);
...
...
py/vm.c
View file @
a82d7ef2
...
@@ -283,6 +283,11 @@ dispatch_loop:
...
@@ -283,6 +283,11 @@ dispatch_loop:
sp
-=
3
;
sp
-=
3
;
break
;
break
;
case
MP_BC_DELETE_NAME
:
DECODE_QSTR
;
rt_delete_name
(
qst
);
break
;
case
MP_BC_DUP_TOP
:
case
MP_BC_DUP_TOP
:
obj1
=
TOP
();
obj1
=
TOP
();
PUSH
(
obj1
);
PUSH
(
obj1
);
...
...
tests/basics/try-as-var.py
0 → 100644
View file @
a82d7ef2
try
:
raise
ValueError
(
534
)
except
ValueError
as
e
:
print
(
repr
(
e
))
# Var bound in except block is automatically deleted
try
:
e
except
NameError
:
print
(
"NameError"
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment