How to remove list to obtain sequence ?



Hello,

I have a problem with this

(%i1) P: makelist(P[i], i, 1, 3);
(%o1)                            [P , P , P ]
                                   1   2   3
(%i2) PP: diag_matrix(P);
(%o2)                          [ [P , P , P ] ]
                               [   1   2   3  ]

This not create diagonal matrix as I need.

How to pass to "diag_matrix" as sequence with no list but simply as P[1], 
P[2], P[3]. 

So I need list P without "[" and  "]" i.e. 
P[1], P[2], P[3] 

but not in this form
[ P[1], P[2], P[3] ]  

I need such list for e.g. 100 elements, so it is to hard to write it by hand 
as 
PP: diag_matrix(P[1], P[2], P[3], .... P[100])

I can use "diag" and it works with list P, but how to pass it to diag_matrix 
as no list? 

(%i3) load("diag");
(%o3)           /usr/share/maxima/5.21.1/share/contrib/diag.mac
(%i4) PP2: diag(P);
                                [ P   0   0  ]
                                [  1         ]
                                [            ]
(%o4)                           [ 0   P   0  ]
                                [      2     ]
                                [            ]
                                [ 0   0   P  ]
                                [          3 ]

Thank you in advance,
Zbigniew