rev 339 - in trunk: . include/prothon src
SVN User <[email protected]>
| Newsgroups | gmane.comp.lang.prothon.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: mark
Date: 2004-04-13 17:58:16 -0400 (Tue, 13 Apr 2004)
New Revision: 339
Modified:
trunk/STATUS.txt
trunk/include/prothon/prothon.h
trunk/src/builtins-core.c
trunk/src/interp.c
trunk/src/object.c
trunk/src/object.h
trunk/src/symbol.c
Log:
changed all references to "clone" to "copy" to match Python
Modified: trunk/STATUS.txt
===================================================================
--- trunk/STATUS.txt 2004-04-13 07:05:27 UTC (rev 338)
+++ trunk/STATUS.txt 2004-04-13 21:58:16 UTC (rev 339)
@@ -3,7 +3,10 @@
--- add list comprehension
+--- flesh out dlls, list.sort!(), dict stuff, string %
+
--- add support for APR_BINARY in File.c ('b' flag)
+--- support any object that supports file methods in stdxxx (duck std)
--- catch exceptions during module loading
@@ -12,8 +15,6 @@
--- -d -m -l cmd-line options missing
--- memory bounds -> mem-mgr priorities
---- flesh out dlls, list.sort!(), dict stuff, string %
-
--- plug memory leaks -- add del_unlocks
--- switch mro method to C3
Modified: trunk/include/prothon/prothon.h
===================================================================
--- trunk/include/prothon/prothon.h 2004-04-13 07:05:27 UTC (rev 338)
+++ trunk/include/prothon/prothon.h 2004-04-13 21:58:16 UTC (rev 339)
@@ -389,7 +389,7 @@
LEN,
MAX,
MIN,
- CLONE,
+ COPY,
SYM_ENUM_COUNT
} sym_enum_t;
Modified: trunk/src/builtins-core.c
===================================================================
--- trunk/src/builtins-core.c 2004-04-13 07:05:27 UTC (rev 338)
+++ trunk/src/builtins-core.c 2004-04-13 21:58:16 UTC (rev 339)
@@ -97,11 +97,11 @@
return OBJ(NONE);
}
-DEF(Object, clone, NULL) {
- obj_p clone;
+DEF(Object, copy, NULL) {
+ obj_p copy;
size_t cdata_size = 0;
if (self->unclonable) {
- raise_exception(ist, OBJ(TYPE_EXC), "clone() not supported on this object");
+ raise_exception(ist, OBJ(TYPE_EXC), "copy() not supported on this object");
return NULL;
}
if (self->data_type == DATA_TYPE_DATAPTR) {
@@ -114,12 +114,12 @@
cdata_size = (size_t) cdata_len->data.i64;
del_unlock(cdata_len);
}
- clone = clone_object(ist, self);
+ copy = copy_object(ist, self);
if (cdata_size) {
- clone->data.ptr = pr_malloc(cdata_size);
- memcpy(clone->data.ptr, self->data.ptr, cdata_size);
+ copy->data.ptr = pr_malloc(cdata_size);
+ memcpy(copy->data.ptr, self->data.ptr, cdata_size);
}
- return clone;
+ return copy;
}
DEF(Object, has_proto_QUES, FORM_RPARAM) {
@@ -640,7 +640,7 @@
{
MODULE_SUB_INIT(Object);
MODULE_ADD_SYM(Object, __init__);
- MODULE_ADD_SYM(Object, clone);
+ MODULE_ADD_SYM(Object, copy);
MODULE_ADD_SYM(Object, set_read_access);
MODULE_ADD_SYM(Object, read_access);
MODULE_ADD_SYM(Object, read_access_str);
Modified: trunk/src/interp.c
===================================================================
--- trunk/src/interp.c 2004-04-13 07:05:27 UTC (rev 338)
+++ trunk/src/interp.c 2004-04-13 21:58:16 UTC (rev 339)
@@ -751,7 +751,7 @@
case OP_GEN:
case OP_DEF: {
int fparams_len = fr_data_int(1)*2;
- obj_p func = call_func0(ist, fr_data(2), SYM(CLONE));
+ obj_p func = call_func0(ist, fr_data(2), SYM(COPY));
obj_p fparams_obj = new_list_obj(ist, fparams_len);
fr_sp -= fparams_len+2;
assert(sizeof(list_item_t) == sizeof(obj_p));
Modified: trunk/src/object.c
===================================================================
--- trunk/src/object.c 2004-04-13 07:05:27 UTC (rev 338)
+++ trunk/src/object.c 2004-04-13 21:58:16 UTC (rev 339)
@@ -245,26 +245,26 @@
}
-//********************************* clone_object ******************************
+//********************************* copy_object ******************************
// clones everything but data pointed to by data.ptr
-obj_p clone_object(isp ist, obj_p obj) {
- obj_p clone;
+obj_p copy_object(isp ist, obj_p obj) {
+ obj_p copy;
attr_p new_attrp, attrp;
- clone = new_object(ist, NULL);
- memcpy(clone, obj, sizeof(*obj)-sizeof(obj->next_obj));
- clone->archived = FALSE;
- clone->del_locked = TRUE;
- clone->rdlock_cnt = 0;
- clone->wrlock_req_cnt = 0;
- clone->wrlock = 0;
+ copy = new_object(ist, NULL);
+ memcpy(copy, obj, sizeof(*obj)-sizeof(obj->next_obj));
+ copy->archived = FALSE;
+ copy->del_locked = TRUE;
+ copy->rdlock_cnt = 0;
+ copy->wrlock_req_cnt = 0;
+ copy->wrlock = 0;
if (obj->has_attrs) {
size_t size;
attrp = obj->attr_proto.attrs;
size = attr_tsize(attrp)*sizeof(attr_t);
- clone->attr_proto.attrs = new_attrp = pr_malloc(size);
+ copy->attr_proto.attrs = new_attrp = pr_malloc(size);
memcpy(new_attrp, attrp, size);
}
- return clone;
+ return copy;
}
//********************************* free_object *******************************
@@ -1030,7 +1030,7 @@
rdlock_rtrn(list_obj) NULL;
llen = listlen(list_obj);
size = list_sizeof(llen);
- res = clone_object(ist, list_obj);
+ res = copy_object(ist, list_obj);
res->data.ptr = list_ptr = pr_malloc(size);
lstpsize(list_ptr) = llen;
lstplen(list_ptr) = llen;
Modified: trunk/src/object.h
===================================================================
--- trunk/src/object.h 2004-04-13 07:05:27 UTC (rev 338)
+++ trunk/src/object.h 2004-04-13 21:58:16 UTC (rev 339)
@@ -129,7 +129,7 @@
void object_store_init(isp ist, int nop2);
obj_p new_object(isp ist, obj_p proto);
-obj_p clone_object(isp ist, obj_p obj);
+obj_p copy_object(isp ist, obj_p obj);
void free_object(obj_p obj);
void set_item(isp ist, obj_p value, obj_p ref_self, obj_p ref_key);
Modified: trunk/src/symbol.c
===================================================================
--- trunk/src/symbol.c 2004-04-13 07:05:27 UTC (rev 338)
+++ trunk/src/symbol.c 2004-04-13 21:58:16 UTC (rev 339)
@@ -146,7 +146,7 @@
{ "len", 0 },
{ "max", 0 },
{ "min", 0 },
- { "clone", 0 }
+ { "copy", 0 }
};
typedef struct trie_node_s* trie_p;