Laisser coi. Empêcher de s'exprimer (par la stupeur, l'étonnement, la peur...).
Voilà une expression qui, lorsqu'elle est apparue au 16e siècle, avait un sens autrement plus barbare.
En effet, à cette époque, le « sifflet », au figuré, désignait le gosier, cet endroit où passe la trachée-artère par laquelle on respire et qui peut siffler, pendant certaines maladie.
Alors « couper le sifflet » n'avait d'autre signification qu'égorger, ce qui était une excellente manière d'empêcher quelqu'un de s'exprimer….. Définitivement.
On trouvait aussi « serrer le sifflet » pour étrangler.
C'est au cours du 18e siècle que le sens s'est fortement atténué pour devenir celui d'aujourd'hui, lorsqu'on empêche une personne de s'exprimer en raison de l'étonnement, l'indignation ou la peur qu'on lui inflige.