Skip to content

Update develop.{txt,jax} #2241

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 10, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 15 additions & 13 deletions doc/develop.jax
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*develop.txt* For Vim バージョン 9.1. Last change: 2025 Jul 22
*develop.txt* For Vim バージョン 9.1. Last change: 2025 Aug 10


VIMリファレンスマニュアル by Bram Moolenaar
Expand Down Expand Up @@ -303,11 +303,11 @@ Vim のメイン Makefile は最大限の移植性を目指しており、POSIX.
定義された機能のみに依存し、それ以降の POSIX 標準や GNU/BSD 拡張は無視してい
る。具体的には、以下の点を避けている。

% パターンルール
POSIX.1-2001 外のモダンなな代入 (`:=`, `::=`)
特別なターゲット (`.ONESHELL`, `.NOTPARALLEL`, `.SILENT`, )
順序のみの前提条件 (`|`) または自動ディレクトリ作成
GNU/BSD 条件文 (`ifdef`, `ifndef`, `.for`/`.endfor`, )
- % パターンルール
- POSIX.1-2001 外のモダンなな代入 (`:=`, `::=`)
- 特別なターゲット (`.ONESHELL`, `.NOTPARALLEL`, `.SILENT`, ...)
- 順序のみの前提条件 (`|`) または自動ディレクトリ作成
- GNU/BSD 条件文 (`ifdef`, `ifndef`, `.for`/`.endfor`, ...)

POSIX.1-2001 は従来のサフィックスルールのみをサポートしているため、別ディレク
トリに構築されるすべてのオブジェクトには明示的なルールが必要である。例:
Expand All @@ -334,20 +334,22 @@ VAX V7.3 では Compaq C V6.4-005 を使用してビルドする必要がある
`C95` (ISO/IEC 9899:1990/AMD1:1995)

さらに、以下の 2 つの `C99` 機能が明示的に許可される:
– |style-comments| で要求される `//` コメント。
– `_Bool` 型。
- |style-comments| で要求される `//` コメント。
- `_Bool` 型。
- 論理行には最大 4095 文字を含めることができる。

プラットフォーム固有のコードでは、そのプラットフォームでサポートされている新し
いコンパイラ機能が使用される場合がある。


☆変数のサイズ *assumptions-variables*

char 8-bit signed
char_u 8-bit unsigned
int 32- or 64-bit signed (レガシーシステムでは 16-bit が可能)
unsigned 32- or 64-bit unsigned
long 少なくとも 32-bit signed (ポインタを保持できる十分な大きさ)
型のサイズについては POSIX.1-2001 (SUSv3) に従う。これは実際には以下のことを意
味する:

char_u 8-bit unsigned
int 32-bit またはそれ以上の signed
unsigned 32-bit またはそれ以上の unsigned


==============================================================================
Expand Down
33 changes: 17 additions & 16 deletions en/develop.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*develop.txt* For Vim version 9.1. Last change: 2025 Jul 22
*develop.txt* For Vim version 9.1. Last change: 2025 Aug 10


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -291,8 +291,8 @@ initialized from words listed in COMMON items in the affix file, so that it
also works when starting a new file.

This isn't ideal, because the longer Vim is running the higher the counts
become. But in practice it is a noticeable improvement over not using the word
count.
become. But in practice it is a noticeable improvement over not using the
word count.

==============================================================================
3. Assumptions *design-assumptions*
Expand All @@ -308,11 +308,11 @@ Vim's main Makefiles target maximum portability, relying solely on features
defined in POSIX.1-2001 `make` and ignoring later POSIX standards or GNU/BSD
extensions. In practical terms, avoid:

% pattern rules
modern assignment (`:=`, `::=`) outside POSIX.1-2001
special targets (`.ONESHELL`, `.NOTPARALLEL`, `.SILENT`, )
order-only prerequisites (`|`) or automatic directory creation
GNU/BSD conditionals (`ifdef`, `ifndef`, `.for`/`.endfor`, )
- % pattern rules
- modern assignment (`:=`, `::=`) outside POSIX.1-2001
- special targets (`.ONESHELL`, `.NOTPARALLEL`, `.SILENT`, ...)
- order-only prerequisites (`|`) or automatic directory creation
- GNU/BSD conditionals (`ifdef`, `ifndef`, `.for`/`.endfor`, ...)

Since POSIX.1-2001 supports only traditional suffix rules, every object built
in a separate directory must have an explicit rule. For example:
Expand All @@ -338,21 +338,22 @@ Therefore, the latest ISO C standard we follow is:

`C95` (ISO/IEC 9899:1990/AMD1:1995)

In addition, the following two `C99` features are explicitly allowed:
– `//` comments, as required by |style-comments|;
– the `_Bool` type.
In addition, the following `C99` features are explicitly allowed:
- `//` comments, as required by |style-comments|;
- the `_Bool` type.
- logical lines may contain up to 4095 characters;

Platform-specific code may use any newer compiler features supported on that
platform.


SIZE OF VARIABLES *assumptions-variables*

char 8-bit signed
char_u 8-bit unsigned
int 32- or 64-bit signed (16-bit possible on legacy systems)
unsigned 32- or 64-bit unsigned
long at least 32-bit signed (large enough to hold a pointer)
We follow POSIX.1-2001 (SUSv3) for type sizes, which in practice means:

char_u 8-bit unsigned
int 32-bit or larger signed
unsigned 32-bit or larger unsigned


==============================================================================
Expand Down