次のようなコードがあります。
define(`DOSPACE',`...................................
.........................
................`'ifelse(eval(len(`Space: $2: $3')>60),1,`...'substr($3,eval((60-len(`Space: $2: $3')-7)*-1),$3)
...................
...................')
つまり、文字列全体が長すぎる (60 文字を超える) 場合、$3 の左側から十分な文字 (+3) を取り除き、収まるようにし、不足している文字を表示するために「...」を追加します。 .
私は途方に暮れています。私はそれが引用の問題か「実行時間」の問題であると確信しています(したがって、$ 2と$ 3は私が考えているものではありません...)
さらに複雑なことに、このマクロは別のマクロで呼び出されています (忘れていました...)。
define(`DOGROWTH',dnl
DOSPACE(`$1',`$2',`/path/to/some/$3/where')
DOSPACE(`$1',`$2',`/path/to/some/$3/else')
)