Faits:
A. Par arrêt du 29 octobre 2009, le Président de la Cour de droit pénal du Tribunal fédéral a déclaré irrecevable un recours interjeté par X._ contre une décision du 18 mai 2009 complémentaire à un arrêt du 18 septembre 2008 de la Cour des affaires pénales du Tribunal pénal fédéral.
B. X._ demande la révision de cet arrêt.
À titre préalable, il présente une demande d'assistance judiciaire et une requête d'effet suspensif.
Considérant en droit:
1. La révision d'un arrêt du Tribunal fédéral ne peut être demandée que pour l'un des motifs prévus aux art. 121 à 123 LTF.
L'arrêt attaqué déclare le recours irrecevable au motif qu'il a été posté le 20 octobre 2009, alors que le délai de recours avait expiré la veille. Le requérant fait valoir, pièces nouvelles à l'appui, qu'il aurait déposé son mémoire dans une boîte aux lettres le 19 octobre 2009, entre 19h00 et minuit, de sorte que le cachet de la poste serait postérieur d'un jour à la véritable date du dépôt. Un tel moyen n'entre pas dans les prévisions des art. 121 à 123 LTF. En particulier, il ne consiste pas à soutenir que le Tribunal fédéral aurait omis de prendre en considération des faits pertinents qui résultaient du dossier, au sens de l'art. 121 let. d LTF (sur cette disposition, cf. arrêt 1F_16/2008 du 11 août 2008 consid. 3, in SJ 2008 I 465). S'appuyant sur les pièces jointes à la demande de révision, qui ne se trouvaient pas au dossier au moment où le président de la cour de céans a statué, le moyen soulevé par le requérant ne consiste en effet ni à contester que le cachet de la poste était bien du 20 octobre 2009, ni à alléguer qu'une attestation de la date et de l'heure du dépôt se trouvait inscrite sur le dos de l'enveloppe qui contenait le mémoire de recours.
Ainsi, faute d'invoquer un motif prévu par les art. 121 à 123 LTF, la demande de révision est irrecevable.
2. Comme ses conclusions sont apparues d'emblée dépourvues de chance de succès, le requérant doit être débouté de sa demande d'assistance judiciaire (art. 64 al. 1 LTF a contrario) et supporter les frais de justice (art. 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce:
1. La demande de révision est irrecevable.
2. La demande d'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge du requérant.
4. La requête d'effet suspensif n'a plus d'objet.
5. Le présent arrêt est communiqué aux parties et au Tribunal pénal fédéral, Cour des affaires pénales.
Lausanne, le 21 décembre 2009
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Juge présidant: Le Greffier:
Schneider Oulevey