Skip to content

Commit d3e5b7d

Browse files
committed
Merge branch 'master' of https://gitee.com/lyon1998/pikapython
2 parents 288465e + 1a923c8 commit d3e5b7d

6 files changed

Lines changed: 32 additions & 4 deletions

File tree

examples/builtins/strformat.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
assert "1" == "%d" % (1)
2+
assert "None" == "%s" % (None)
3+
assert "1.0" == "%0.1f" % (1.0)
4+
assert "1" == "%r" % (1)
5+
assert "None" == "%r" % (None)
6+
assert "True" == "%r" % (True)
7+
assert "1, 2" == "%s, %s" % (1, 2)
8+
assert "1, False" == "%s, %s" % (1, False)
9+
print("PASS")

port/linux/.vscode/launch.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
// "--gtest_filter=jrpc.cmd"
3535
// "--gtest_filter=jrpc.exec_get_val"
3636
// "--gtest_filter=jrpc.exec_get_val"
37-
"--gtest_filter=thread.issue1"
37+
// "--gtest_filter=thread.issue1"
3838
// "--gtest_filter=except.isinstance"
3939
// "--gtest_filter=builtin.isinstance"
4040
// "--gtest_filter=bytes.bytes_split"
@@ -43,7 +43,8 @@
4343
// "--gtest_filter=except.try1"
4444
// "--gtest_filter=except.for_loop"
4545
// "--gtest_filter=builtin.init_raise"
46-
// "--gtest_filter=event.event_thread"
46+
// "--gtest_filter=builtin.strformat"
47+
"--gtest_filter=except.typeerr"
4748
],
4849
"stopAtEntry": false,
4950
"cwd": "${workspaceFolder}",
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
assert "1" == "%d" % (1)
2+
assert "None" == "%s" % (None)
3+
assert "1.0" == "%0.1f" % (1.0)
4+
assert "1" == "%r" % (1)
5+
assert "None" == "%r" % (None)
6+
assert "True" == "%r" % (True)
7+
assert "1, 2" == "%s, %s" % (1, 2)
8+
assert "1, False" == "%s, %s" % (1, False)
9+
print("PASS")

src/PikaVM.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3305,7 +3305,7 @@ static Arg* VM_instruction_handler_RIS(PikaObj* self,
33053305
Arg* err_arg = stack_popArg_alloc(&(vm->stack));
33063306
if (ARG_TYPE_INT == arg_getType(err_arg)) {
33073307
PIKA_RES err = (PIKA_RES)arg_getInt(err_arg);
3308-
if (PIKA_RES_ERR_RUNTIME_ERROR != err) {
3308+
if (err > 0) {
33093309
PikaVMFrame_setErrorCode(vm, PIKA_RES_ERR_INVALID_PARAM);
33103310
PikaVMFrame_setSysOut(
33113311
vm, "TypeError: exceptions must derive from BaseException");

src/PikaVersion.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
#define PIKA_VERSION_MINOR 13
33
#define PIKA_VERSION_MICRO 4
44

5-
#define PIKA_EDIT_TIME "2024/08/09 03:29:21"
5+
#define PIKA_EDIT_TIME "2024/08/11 01:43:35"

src/dataArgs.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,8 @@ char* strsFormatArg(Args* out_buffs, char* fmt, Arg* arg) {
532532
if (type == ARG_TYPE_POINTER) {
533533
fmt = strsReplace(&buffs, fmt, sym, "%p");
534534
break;
535+
} else {
536+
fmt = strsReplace(&buffs, fmt, sym, "%s");
535537
}
536538
}
537539
}
@@ -553,6 +555,13 @@ char* strsFormatArg(Args* out_buffs, char* fmt, Arg* arg) {
553555
if (ARG_TYPE_NONE == type) {
554556
res = strsFormat(&buffs, PIKA_SPRINTF_BUFF_SIZE, fmt, "None");
555557
goto __exit;
558+
} else {
559+
Arg* arg_str = arg_toStrArg(arg);
560+
if (NULL != arg_str) {
561+
res = strsFormat(&buffs, PIKA_SPRINTF_BUFF_SIZE, fmt,
562+
arg_getStr(arg_str));
563+
arg_deinit(arg_str);
564+
}
556565
}
557566
__exit:
558567
if (NULL != res) {

0 commit comments

Comments
 (0)