PG
Size: a a a
PG
S
BB
PG
PG
PG
BB
PG
a
do-lines
и с некоторыми другими do-
в том, что стандартная форма заголовка такого макроса это что-то типа (var container &optional result)
но иногда хочется чего-то большего, и неочевидно, как бы это лучше всего оформить, чтоб получилось поближе к традициям.(do-logical-lines ( :buffer buffer
:start start :end end
:result result)
do-stuff)
(&optional things &key other-things)
— это негодидзе. И это уже выглядит не очень. При этом вариант (do-smth ((var container)
:key1 value1
:start start :end end )
do-stuff)
do-
если keyword'ов нет вообще:(do-smth ((var container))
do-stuff)
(do-smth (var container)
do-stuff)
PG
(do-smth (var container)
:key1 value1
:start start
:end end
do-stuff ...)
PG
a
(do-smth (var container)
:key1 value1
:start start
:end end
do-stuff ...)
prog-plist
, для императивного создания plist-ов, там еще отдельно интерпретируются символы (не-keyword'ы) и compound формы, типа(prog-plist
:x 1
y 40
(incf y)
:z (+ x y))
;; => (:x 1 :z 42)
PG
A
A
VL
AK
A
SD