File tree 2 files changed +33
-11
lines changed
2 files changed +33
-11
lines changed Original file line number Diff line number Diff line change @@ -343,20 +343,24 @@ static REBSER *Trim_Object(REBSER *obj)
343
343
break ; // returns value
344
344
}
345
345
346
- // make object! 10
347
- if (IS_NUMBER (arg )) {
348
- n = Int32s (arg , 0 );
349
- obj = Make_Frame (n );
350
- break ; // returns obj
351
- }
346
+ // Allow only object! to be made from from map! or number! spec
347
+ if (type == REB_OBJECT ) {
352
348
353
- // make object! map!
354
- if (IS_MAP (arg )) {
355
- obj = Map_To_Object (VAL_SERIES (arg ));
356
- break ; // returns obj
349
+ // make object! 10
350
+ if (IS_NUMBER (arg )) {
351
+ n = Int32s (arg , 0 );
352
+ obj = Make_Frame (n );
353
+ break ; // returns obj
354
+ }
355
+
356
+ // make object! map!
357
+ if (IS_MAP (arg )) {
358
+ obj = Map_To_Object (VAL_SERIES (arg ));
359
+ break ; // returns obj
360
+ }
357
361
}
358
362
359
- //if (IS_NONE(arg)) {obj = Make_Frame(0); break;}
363
+ //if (IS_NONE(arg)) {obj = Make_Frame(0); break;} // removed by design!
360
364
361
365
Trap_Make (type , arg );
362
366
}
Original file line number Diff line number Diff line change @@ -116,6 +116,24 @@ supplement system/options/module-paths join what-dir %units/files/
116
116
error? err: try [module [type: :print ][]]
117
117
err/id = 'wrong-type
118
118
]
119
+ --test-- "make module! integer!" ; not allowed
120
+ ;@@ https://github.com/Oldes/Rebol-issues/issues/1551
121
+ --assert all [
122
+ error? err: try [make module! 10 ]
123
+ err/id = 'bad-make-arg
124
+ ]
125
+ --test-- "make module! map!" ; not allowed
126
+ ;@@ https://github.com/Oldes/Rebol-issues/issues/1551
127
+ --assert all [
128
+ error? err: try [make module! # (a: 1 )]
129
+ err/id = 'bad-make-arg
130
+ ]
131
+ --test-- "make module! object!" ; not allowed
132
+ ;@@ https://github.com/Oldes/Rebol-issues/issues/1551
133
+ --assert all [
134
+ error? err: try [make module! context [a: 1 ]]
135
+ err/id = 'bad-make-arg
136
+ ]
119
137
120
138
===end-group===
121
139
You can’t perform that action at this time.
0 commit comments