diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua index 66727fa175..2b2df9fb72 100644 --- a/src/bindings/luajit/eolian.lua +++ b/src/bindings/luajit/eolian.lua @@ -109,6 +109,7 @@ ffi.cdef [[ EOLIAN_MASK_STRING = 1 << 4, EOLIAN_MASK_CHAR = 1 << 5, EOLIAN_MASK_NULL = 1 << 6, + EOLIAN_MASK_SIGNED = EOLIAN_MASK_SINT | EOLIAN_MASK_FLOAT, EOLIAN_MASK_NUMBER = EOLIAN_MASK_INT | EOLIAN_MASK_FLOAT, EOLIAN_MASK_ALL = EOLIAN_MASK_NUMBER | EOLIAN_MASK_BOOL | EOLIAN_MASK_STRING | EOLIAN_MASK_CHAR @@ -1222,6 +1223,7 @@ M.expression_mask = { local emask = M.expression_mask emask.INT = bit.bor(emask.SINT , emask.UINT ) +emask.SIGNED = bit.bor(emask.SINT , emask.FLOAT) emask.NUMBER = bit.bor(emask.INT , emask.FLOAT) emask.ALL = bit.bor(emask.NUMBER, emask.BOOL, emask.STRING, emask.CHAR, emask.NULL) diff --git a/src/lib/ecore/efl_loop_timer.eo b/src/lib/ecore/efl_loop_timer.eo index baf661a002..1271511473 100644 --- a/src/lib/ecore/efl_loop_timer.eo +++ b/src/lib/ecore/efl_loop_timer.eo @@ -19,7 +19,7 @@ class Efl.Loop.Timer (Efl.Loop_User) get { } values { - in: double(-1); [[The new interval in seconds]] + in: double(-1.0); [[The new interval in seconds]] } } @property pending { diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h index 36134829df..0c853dd08d 100644 --- a/src/lib/eolian/Eolian.h +++ b/src/lib/eolian/Eolian.h @@ -254,6 +254,7 @@ typedef enum EOLIAN_MASK_STRING = 1 << 4, EOLIAN_MASK_CHAR = 1 << 5, EOLIAN_MASK_NULL = 1 << 6, + EOLIAN_MASK_SIGNED = EOLIAN_MASK_SINT | EOLIAN_MASK_FLOAT, EOLIAN_MASK_NUMBER = EOLIAN_MASK_INT | EOLIAN_MASK_FLOAT, EOLIAN_MASK_ALL = EOLIAN_MASK_NUMBER | EOLIAN_MASK_BOOL | EOLIAN_MASK_STRING | EOLIAN_MASK_CHAR diff --git a/src/lib/eolian/database_expr.c b/src/lib/eolian/database_expr.c index 862c30bd71..21dfe6578c 100644 --- a/src/lib/eolian/database_expr.c +++ b/src/lib/eolian/database_expr.c @@ -50,7 +50,7 @@ mask_to_str(int mask, char *buf) } static Eina_Bool -expr_type_error(const Eolian_Expression *expr, int type, int mask) +expr_type_error(const Eolian_Expression *expr, int mask, int type) { char buf[512]; char ebuf[256]; @@ -153,9 +153,9 @@ promote(Eolian_Expression *a, Eolian_Expression *b) assert(a->type && b->type); /* not a number */ if (a->type >= EOLIAN_EXPR_STRING) - return expr_type_error(a, expr_type_to_mask(a), EOLIAN_MASK_NUMBER); + return expr_type_error(a, EOLIAN_MASK_NUMBER, expr_type_to_mask(a)); if (b->type >= EOLIAN_EXPR_STRING) - return expr_type_error(b, expr_type_to_mask(b), EOLIAN_MASK_NUMBER); + return expr_type_error(b, EOLIAN_MASK_NUMBER, expr_type_to_mask(b)); /* no need for promotion */ if (a->type == b->type) return EINA_TRUE; /* if either operand is floating point, everything has to be */ @@ -191,26 +191,28 @@ eval_unary(const Eolian_Expression *expr, Eolian_Expression_Mask mask, case EOLIAN_UNOP_UNP: { /* no-op, but still typecheck */ - if (!(mask & EOLIAN_MASK_SINT)) - return expr_type_error(expr, EOLIAN_MASK_SINT, mask); + if (!(mask & EOLIAN_MASK_SIGNED)) + return expr_type_error(expr, EOLIAN_MASK_SIGNED, mask); - return eval_exp(expr->expr, EOLIAN_MASK_SINT, out); + return eval_exp(expr->expr, EOLIAN_MASK_SIGNED, out); } case EOLIAN_UNOP_UNM: { Eolian_Expression exp; - if (!(mask & EOLIAN_MASK_SINT)) - return expr_type_error(expr, EOLIAN_MASK_SINT, mask); + if (!(mask & EOLIAN_MASK_SIGNED)) + return expr_type_error(expr, EOLIAN_MASK_SIGNED, mask); - if (!eval_exp(expr->expr, EOLIAN_MASK_SINT, &exp)) + if (!eval_exp(expr->expr, EOLIAN_MASK_SIGNED, &exp)) return EINA_FALSE; switch (exp.type) { - case EOLIAN_EXPR_LLONG: exp.value.ll = -(exp.value.ll); break; - case EOLIAN_EXPR_LONG : exp.value.l = -(exp.value.l ); break; - case EOLIAN_EXPR_INT : exp.value.i = -(exp.value.i ); break; + case EOLIAN_EXPR_LLONG : exp.value.ll = -(exp.value.ll); break; + case EOLIAN_EXPR_LONG : exp.value.l = -(exp.value.l ); break; + case EOLIAN_EXPR_INT : exp.value.i = -(exp.value.i ); break; + case EOLIAN_EXPR_FLOAT : exp.value.f = -(exp.value.f ); break; + case EOLIAN_EXPR_DOUBLE: exp.value.d = -(exp.value.d ); break; default: return EINA_FALSE; } diff --git a/src/lib/evas/canvas/evas_text.eo b/src/lib/evas/canvas/evas_text.eo index 039f3c0577..6cc477d804 100644 --- a/src/lib/evas/canvas/evas_text.eo +++ b/src/lib/evas/canvas/evas_text.eo @@ -51,7 +51,7 @@ class Evas.Text (Efl.Canvas.Object, Efl.Text, Efl.Text.Properties, Efl.Canvas.Fi get { } values { - ellipsis: double(-1); [[The ellipsis. Allowed values: -1.0 or 0.0-1.0]] + ellipsis: double(-1.0); [[The ellipsis. Allowed values: -1.0 or 0.0-1.0]] } } @property bidi_delimiters {