Skip to content

Commit 65ff2c6

Browse files
authored
Merge pull request rurema#3257 from znz/c-fix-remaining-dlist-indent
dlist 継続行の折り返しに残っていた1スペースインデントを2スペースにする
2 parents 03d0755 + 3c9da95 commit 65ff2c6

6 files changed

Lines changed: 145 additions & 96 deletions

File tree

Rakefile

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def generate_statichtml(version)
141141
raise "Failed to generate static html" unless succeeded
142142
end
143143

144-
task :default => [:check_filename_case_conflicts, :check_indent_in_samplecode, :generate, :check_format]
144+
task :default => [:check_filename_case_conflicts, :check_indent_in_samplecode, :check_single_space_indent, :generate, :check_format]
145145

146146
namespace :generate do
147147
ALL_VERSIONS.each do |version|
@@ -270,3 +270,52 @@ task :check_indent_in_samplecode do
270270
fail
271271
end
272272
end
273+
274+
# #3246 で dlist(`- **term**:` の説明文)の継続行インデントを CommonMark
275+
# 準拠の2スペースに統一したが、同一段落内で折り返された物理行(直前行が
276+
# 2スペースインデントの本文で、その次の行)だけ半角スペース1個のまま
277+
# 取り残される回帰が #3255 で見つかった。直前行が2スペースの本文なのに
278+
# 当該行が1スペースなのは、ほぼ確実に同じ段落の折り返しが2スペースに
279+
# 揃え損ねたものなので、その形だけを対象に検出する(`- item` のような
280+
# リストマーカー行や、`- **term**:` 直後1行だけの説明のような、1スペース
281+
# のままでも正しく描画される既存の書き方は対象外)。
282+
desc 'Check dlist continuation lines use 2-space indent (not 1)'
283+
task :check_single_space_indent do
284+
fence_re = /\A[ \t]*(`{3,}|~{3,})/
285+
errors = []
286+
Dir.glob('manual/**/*.md').sort.each do |path|
287+
lines = File.read(path).lines(chomp: true)
288+
in_fence = false
289+
fence_char = nil
290+
fence_len = 0
291+
prev_line = nil
292+
prev_was_fence = false
293+
lines.each.with_index(1) do |line, lineno|
294+
if (m = fence_re.match(line))
295+
char, len = m[1][0], m[1].length
296+
if !in_fence
297+
in_fence = true
298+
fence_char = char
299+
fence_len = len
300+
elsif char == fence_char && len >= fence_len
301+
in_fence = false
302+
end
303+
prev_line = line
304+
prev_was_fence = true
305+
next
306+
end
307+
next if in_fence
308+
309+
if line =~ /\A [^ ]/ && !prev_was_fence && prev_line && prev_line =~ /\A {2}[^ ]/
310+
errors << "#{path}:#{lineno}: dlist 継続行のインデントが半角スペース1個です。直前行と同じ2個にしてください"
311+
end
312+
prev_line = line
313+
prev_was_fence = false
314+
end
315+
end
316+
317+
unless errors.empty?
318+
puts errors
319+
fail
320+
end
321+
end

manual/api/_builtin/IO.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ IO オブジェクトは外部エンコーディングと内部エンコーデ
8080
- **外部エンコーディングのみが指定されている場合**:
8181

8282
IO からテキスト読み込みメソッドによって読み込まれた文字列のエンコーディングは外部エンコーディング
83-
に設定されます。このとき実際の文字エンコーディングは検査されず、変換もされません。
83+
に設定されます。このとき実際の文字エンコーディングは検査されず、変換もされません。
8484

85-
IO へ書き込まれる文字列は外部エンコーディングへと変換されます。
86-
外部エンコーディングへの変換方法が分からない場合は例外が発生します。
85+
IO へ書き込まれる文字列は外部エンコーディングへと変換されます。
86+
外部エンコーディングへの変換方法が分からない場合は例外が発生します。
8787

8888
- **外部エンコーディングと内部エンコーディング(あるいは default_internal)が指定されている場合**:
8989
IO からテキスト読み込みメソッドによって読み込まれた文字列は、外部エンコーディングから
@@ -92,8 +92,8 @@ IO オブジェクトは外部エンコーディングと内部エンコーデ
9292
内部エンコーディングと [m:Encoding.default_internal] が両方とも指定されている場合は、
9393
内部エンコーディングが優先されます。
9494

95-
IO へ書き込まれる文字列は外部エンコーディングへと変換されます。
96-
外部エンコーディングへの変換方法が分からない場合は例外が発生します。
95+
IO へ書き込まれる文字列は外部エンコーディングへと変換されます。
96+
外部エンコーディングへの変換方法が分からない場合は例外が発生します。
9797

9898

9999
IO に対してエンコーディングを指定する方法には、生成時に [m:IO.open][m:File.open]

manual/api/_builtin/printf-format.md

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
3131
- **`#`**:
3232

3333
2進、8進、16進の指示子(b, B, o, x, X) ではそれぞれプレフィック
34-
スとして "0b", "0B", "0", "0x", "0X" を付加します。
35-
C 言語と同様引数が 0 の場合にはプレフィックスが付加されません。
34+
スとして "0b", "0B", "0", "0x", "0X" を付加します。
35+
C 言語と同様引数が 0 の場合にはプレフィックスが付加されません。
3636

3737
```ruby
3838
p sprintf("%#b", 10) #=> "0b1010"
@@ -43,7 +43,7 @@ Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
4343
p sprintf("%#X", 10) #=> "0XA"
4444
```
4545

46-
浮動小数点数 (f, e, E, g, G) に対しては必ず出力に"."をつけます。
46+
浮動小数点数 (f, e, E, g, G) に対しては必ず出力に"."をつけます。
4747

4848
```ruby
4949
p sprintf("%.0f", 10) #=> "10"
@@ -52,7 +52,7 @@ Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
5252
p sprintf("%#.0e", 10) #=> "1.e+01"
5353
```
5454

55-
また g, G では上記に加えて末尾の余分な0が残ります。
55+
また g, G では上記に加えて末尾の余分な0が残ります。
5656

5757
```ruby
5858
p sprintf("%.05g", 10) #=> "10"
@@ -62,11 +62,11 @@ Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
6262
- **`+`**:
6363

6464
出力文字列を符号付きにします。特に正の数では`+`が付加されます。
65-
数値の指示子
66-
(d, i, b, B, o, x, X, u, f, e, E, g, G)
67-
に対してだけ意味を持ちます。
68-
また、特に b, B, o, x, X, u に対しては、負数に対して "-"
69-
を付加することを示します。
65+
数値の指示子
66+
(d, i, b, B, o, x, X, u, f, e, E, g, G)
67+
に対してだけ意味を持ちます。
68+
また、特に b, B, o, x, X, u に対しては、負数に対して "-"
69+
を付加することを示します。
7070

7171
```ruby
7272
p sprintf("%d", 1) #=> "1"
@@ -79,8 +79,8 @@ Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
7979
- **' '(スペース)**:
8080

8181
`+` と同じですが正の符号 `+` の代わりに空白を用います。数値の指示子
82-
(d, i, b, B, o, x, X, u, f, e, E, g, G)
83-
に対してだけ意味を持ちます。
82+
(d, i, b, B, o, x, X, u, f, e, E, g, G)
83+
に対してだけ意味を持ちます。
8484
```ruby
8585
p sprintf("%d", 1) #=> "1"
8686
p sprintf("%+d", 1) #=> "+1"
@@ -94,33 +94,33 @@ Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
9494
- **`-`**:
9595

9696
出力を左詰めにします。幅の指定がなければ
97-
意味がありません。
97+
意味がありません。
9898

9999
- **`0`**:
100100

101101
出力が右詰めの場合に余った部分に空白の代わりに "0" を詰めます。
102102

103-
数値の指示子の一部(d, i, b, B, o, x, X, u, f, g, G)に対し
104-
てだけ意味を持ちます(e, E には意味がない)
103+
数値の指示子の一部(d, i, b, B, o, x, X, u, f, g, G)に対し
104+
てだけ意味を持ちます(e, E には意味がない)
105105
```ruby
106106
p sprintf("%010d", 10) #=> "0000000010"
107107
```
108-
`#` と一緒に指定した場合の出力は以下のようになります。
108+
`#` と一緒に指定した場合の出力は以下のようになります。
109109
```ruby
110110
p sprintf("%#010x", 10) #=> "0x0000000a"
111111
p sprintf("%#010o", 10) #=> "0000000012"
112112
p sprintf("%#010b", 10) #=> "0b00001010"
113113
```
114114

115-
これは、以下と同じです。
115+
これは、以下と同じです。
116116

117117
```ruby
118118
p sprintf("%#10.8x", 10) #=> "0x0000000a"
119119
p sprintf("%#10.9o", 10) #=> "0000000012"
120120
p sprintf("%#10.8b", 10) #=> "0b00001010"
121121
```
122122

123-
通常は、以下のようになります。
123+
通常は、以下のようになります。
124124

125125
```ruby
126126
p sprintf("%#10x", 10) #=> " 0xa"
@@ -219,21 +219,21 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
219219
- **`c`**:
220220

221221
引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。
222-
引数が数値以外のオブジェクトの場合 to_int メソッドによる変換を試みます。
223-
引数として範囲内の一文字の文字列も受けつけます。文字そのものを出力します。
222+
引数が数値以外のオブジェクトの場合 to_int メソッドによる変換を試みます。
223+
引数として範囲内の一文字の文字列も受けつけます。文字そのものを出力します。
224224
```ruby
225225
p sprintf("%c", 97) #=> "a"
226226
p sprintf("%c", 'a') #=> "a"
227227
```
228228

229-
フラグ `-` と幅 の指定だけが意味を持ちます。
229+
フラグ `-` と幅 の指定だけが意味を持ちます。
230230

231231
- **`s`**:
232232

233233
文字列を出力します。
234234

235-
引数が [c:String] オブジェクトでなければ to_s メソッドにより文字列化
236-
したものを引数として扱います。
235+
引数が [c:String] オブジェクトでなければ to_s メソッドにより文字列化
236+
したものを引数として扱います。
237237

238238
- **`p`**:
239239

@@ -249,8 +249,8 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
249249

250250
引数の数値を10進表現の整数として出力します。
251251

252-
引数が整数でなければ関数 [m:Kernel?.Integer] と同じ規則で整数に
253-
変換されます。
252+
引数が整数でなければ関数 [m:Kernel?.Integer] と同じ規則で整数に
253+
変換されます。
254254

255255
```ruby
256256
p sprintf("%d", -1) #=> "-1"
@@ -280,11 +280,11 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
280280

281281
整数をそれぞれ2進、2進(大文字)、8進、16進、16進(大文字)表現の文字列で出力します。
282282

283-
`#` フラグを指定すれば "0b", "0B", "0", "0x", "0X" を先頭に付加します。
283+
`#` フラグを指定すれば "0b", "0B", "0", "0x", "0X" を先頭に付加します。
284284

285-
`+`, \` ' フラグがない場合、負の数には ".." が先頭(`#` フラグがあれば
286-
"0x" などの後)に付加されます。これは最上位桁の文字が無限に続くことを
287-
意味し、2の補数表現で負の数を表しています。
285+
`+`, \` ' フラグがない場合、負の数には ".." が先頭(`#` フラグがあれば
286+
"0x" などの後)に付加されます。これは最上位桁の文字が無限に続くことを
287+
意味し、2の補数表現で負の数を表しています。
288288

289289
```ruby
290290
p sprintf("%#b", 10) #=> "0b1010"
@@ -315,13 +315,13 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
315315

316316
f は小数点表現(xxx.xxx)で数値を出力します。
317317

318-
e は指数表現(x.xxxe+xx)で数値を出力します。
318+
e は指数表現(x.xxxe+xx)で数値を出力します。
319319

320-
g は 指数が -4 より小さいか精度以上の場合に e と同じ出力を、それ以
321-
外では f と同じ出力を行います。ただし、小数部の末尾の0は取り除かれ
322-
ます。
320+
g は 指数が -4 より小さいか精度以上の場合に e と同じ出力を、それ以
321+
外では f と同じ出力を行います。ただし、小数部の末尾の0は取り除かれ
322+
ます。
323323

324-
a, A は指数表現の16進数("-h.hhh±pd") で数値を出力します。ただし、[m:Float::INFINITY][m:Float::NAN] はそれぞれ 'Inf'、'NaN' になります。詳しくは [ruby-dev:40650] を参照してください。
324+
a, A は指数表現の16進数("-h.hhh±pd") で数値を出力します。ただし、[m:Float::INFINITY][m:Float::NAN] はそれぞれ 'Inf'、'NaN' になります。詳しくは [ruby-dev:40650] を参照してください。
325325

326326
```ruby
327327
p sprintf("%a", -0.0) # => "-0x0p+0"
@@ -330,7 +330,7 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
330330
```
331331

332332

333-
大文字の指示子(E, G)は出力のアルファベットを大文字にします。
333+
大文字の指示子(E, G)は出力のアルファベットを大文字にします。
334334
```ruby
335335
p sprintf("%f", 1.0) #=> "1.000000"
336336
p sprintf("%e", 1.0) #=> "1.000000e+00"
@@ -343,9 +343,9 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
343343
p sprintf("%g", 10 ** 6) #=> "1e+06"
344344
p sprintf("%g", 10 ** -5) #=> "1e-05"
345345
```
346-
精度の省略値は 6 です。
346+
精度の省略値は 6 です。
347347

348-
無限大、NaN(Not a Number) に対する出力は以下のとおりです。
348+
無限大、NaN(Not a Number) に対する出力は以下のとおりです。
349349
```ruby
350350
p sprintf("%f", 1.0/0) #=> "inf"
351351
p sprintf("%f", -1.0/0) #=> "-inf"
@@ -355,8 +355,8 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
355355
p sprintf("%E", -1.0/0) #=> "-INF"
356356
p sprintf("%E", 0.0/0) #=> "NAN"
357357
```
358-
f, e, E, g, G に関しては [man:sprintf(3)] の結果を利用しています。従って出力結果は
359-
実際にはシステムに依存することになります。
358+
f, e, E, g, G に関しては [man:sprintf(3)] の結果を利用しています。従って出力結果は
359+
実際にはシステムに依存することになります。
360360

361361
### 引数指定
362362

@@ -371,8 +371,8 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
371371

372372
p sprintf("%1$d, %1$x, %1$o", 10) #=> "10, a, 12"
373373
```
374-
状況によってフォーマットを変えたいが引数の順序を変えたくない場合に使
375-
用します。
374+
状況によってフォーマットを変えたいが引数の順序を変えたくない場合に使
375+
用します。
376376
```ruby
377377
case ENV['LC_TIME']
378378
when /^ja_JP/
@@ -383,8 +383,8 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
383383

384384
p sprintf(fmt, 1, 4, 22) #=> "04/22/01"
385385
```
386-
"*" の後に指定することで幅や
387-
精度を引数で指定することもできます。
386+
"*" の後に指定することで幅や
387+
精度を引数で指定することもできます。
388388
```ruby
389389
p sprintf("%5.2f", 1) #=> " 1.00"
390390
p sprintf("%*.*f", 5, 2, 1) #=> " 1.00"
@@ -394,16 +394,16 @@ p sprintf("%.*s", 5, "foobar") #=> "fooba"
394394
- **`%<name>`**:
395395

396396
Symbol のインスタンス name をキーとする Hash を引数にした場合、
397-
対応する値をフォーマットして参照します。
397+
対応する値をフォーマットして参照します。
398398
```ruby
399399
p sprintf('%<foo>f : %<bar>+d', foo: 1, bar: 2) #=> "1.000000 : +2"
400400
```
401401

402402
- **`%{name}`**:
403403

404404
Symbol のインスタンス name をキーとする Hash を引数にした場合、
405-
対応する値をフォーマットせずに参照します。
406-
幅や精度を指定するために使用できます。
405+
対応する値をフォーマットせずに参照します。
406+
幅や精度を指定するために使用できます。
407407
```ruby
408408
p sprintf('%{foo}f : %{bar}+d', foo: 1, bar: 2) #=> "1f : 2+d"
409409
```

manual/api/openssl/OpenSSL__BN.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ base で、変換方法(基数)を指定します。
3333
- **0**:
3434

3535
引数の文字列を MPI形式の文字列(バイト列)とみなして、変換します
36-
(最初の4byteはbig-endianでデータ長を表わし、その後にそのデータ長のバイト列
37-
(big-endian)で数値を表す。最上位ビットが立っていると負数)。
36+
(最初の4byteはbig-endianでデータ長を表わし、その後にそのデータ長のバイト列
37+
(big-endian)で数値を表す。最上位ビットが立っていると負数)。
3838

3939
```ruby
4040
require 'openssl'

manual/api/optparse/OptionParser.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ opts.parse!(ARGV) # 実際にコマンドラインの
3434
- **`--version`**:
3535

3636
[m:OptionParser#ver] を表示してから exit します。
37-
[m:OptionParser#ver] が定義されていない場合は、そのようにエラーメッセージを出力して abort します。
38-
オプション「--version」に「,」で区切られたクラス名かモジュール名を引数として与えた場合は、そのクラスおよびモジュールで定義されている定数「Version」および「Release」を表示して、終了します。
37+
[m:OptionParser#ver] が定義されていない場合は、そのようにエラーメッセージを出力して abort します。
38+
オプション「--version」に「,」で区切られたクラス名かモジュール名を引数として与えた場合は、そのクラスおよびモジュールで定義されている定数「Version」および「Release」を表示して、終了します。
3939
```
4040
$ ruby t.rb --version=OptionParser,URI,OpenSSL
4141
t: OptionParser version 12203 (2007-04-20)

0 commit comments

Comments
 (0)