Skip to content

[0140] 将 object->port 打印引擎从 s7.c 迁移到 s7_scheme_write.c - #960

Merged
da-liii merged 1 commit into
mainfrom
da/0140/migrate_object_to_port
Aug 26, 2026
Merged

[0140] 将 object->port 打印引擎从 s7.c 迁移到 s7_scheme_write.c#960
da-liii merged 1 commit into
mainfrom
da/0140/migrate_object_to_port

Conversation

@da-liii

@da-liii da-liii commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

概述

object->port 迁移的最后一步(前置:#958 测试基线、#959 cycles/shared-info 迁移)。本 PR 将打印引擎主体迁入 write 模块,s7.c 从 85940 行降至 82545 行。

改动

  • s7.c object->port 区块(2948 行,77 个函数:display_functions 分发表、各类型 *_to_port、object_out/cyclic_out 主循环、closure 可读打印)迁移到 s7_scheme_write.c
  • s7.c 导出 20 个原 static 函数 + 3 个全局表(dignum/chars/t_number_p),声明在 s7_internal.h
  • write.c 导出 6 个入口(object_out 保持 static,经 s7i_object_out 桥接;该桥接一并迁入 write.c)
  • s7_internal.h 镜像宏均保留条件分支(S7_DEBUGGING / !DISABLE_DEPRECATED)

验证

  • xmake b goldfish 编译链接通过
  • bin/gf test --all:1515 个测试全部通过
  • write/display/write-shared/write-simple/write-string/write-char/newline/number->string/string->number/object->string/format/cyclic-sequences 12 个打印相关测试单独复跑全部通过

依赖

本 PR 基于 #959(cycles/shared-info 迁移),建议先合并 #959

🤖 Generated with Claude Code

@da-liii
da-liii force-pushed the da/0140/migrate_object_to_port branch from 945d807 to dc8f268 Compare August 26, 2026 13:38
@da-liii
da-liii merged commit c2afa1a into main Aug 26, 2026
5 checks passed
@da-liii
da-liii deleted the da/0140/migrate_object_to_port branch August 26, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant