Faits:
A. Par arrêt rendu en procédure simplifiée (<ref-law>) le 4 mars 2010, le président de la cour de céans a déclaré irrecevable le recours interjeté par X._ contre un arrêt du Tribunal d'accusation du canton de Vaud du 4 février 2010.
B. X._ demande la révision de cet arrêt par mémoires principal du 23 mars 2010 et complémentaires des 15, 17 et 19 avril 2010. Invoquant l'<ref-law>, il prend près d'une centaine de conclusions de toutes natures, dont une en annulation de l'arrêt du 4 mars 2010.
À titre préalable, il demande l'assistance judiciaire.

Considérant en droit:
1. Le recourant fait valoir que l'écriture qu'il avait adressée au Tribunal fédéral n'était pas un mémoire de recours, mais une demande d'assistance judiciaire (cf. "conclusion" XVIII du mémoire complémentaire I). Il semble soutenir ainsi que l'arrêt attaqué statue ultra petita et qu'il devrait dès lors être révisé en application de l'<ref-law>.
Il est vrai que le mémoire que le requérant a adressé au Tribunal fédéral le 23 février 2010 était intitulé "Demande d'aide juridictionnelle". Mais il comportait, en page 8, un chef de conclusions tendant à faire dire que les griefs articulés contre l'arrêt du Tribunal d'accusation du canton de Vaud du 14 février 2010 étaient fondés. Une telle conclusion, accompagnée de quelques autres qui n'avaient pas non plus leur place dans une demande d'assistance judiciaire à proprement parler, devait être comprise comme une demande d'annulation de l'arrêt cantonal. Le mémoire du requérant constituait dès lors bien un mémoire de recours. Le moyen est mal fondé.
2. Le requérant invoque aussi une inadvertance manifeste concernant la date du dépôt de son recours cantonal (cf. mémoire principal).
En vertu de l'art. 121 let. d LTF, il y a lieu à révision si, par inadvertance, le Tribunal fédéral n'a pas pris en considération des faits pertinents qui ressortent du dossier. Si l'inadvertance porte sur des faits sans importance pour le sort du recours, la demande de révision doit être rejetée. Dans le cas présent, l'arrêt rendu le 4 février 2010 par le Tribunal d'accusation était motivé comme il suit:
"attendu qu'aux termes de l'art. 301 al. 1 CPP, le recours doit être exercé dans les dix jours dès la notification de la décision attaquée,
qu'en l'espèce l'ordonnance a été adressée sous pli simple le 29 juillet 2009 à X._,
qu'elle est de toute évidence parvenue à son destinataire avant la fin de l'année 2009,
que daté du 30 décembre 2009 et parvenu à l'Office d'instruction pénale le 6 janvier 2010, le recours, dont on ignore quand il a été mis à la poste, est tardif au regard de l'art. 301 al. 1 CPP,
qu'il est par conséquent irrecevable (...)".
L'arrêt attaqué, du 4 mars 2010, résume la motivation de l'arrêt cantonal de la manière suivante:
"En l'espèce, l'arrêt du Tribunal d'accusation du 4 février 2010 déclare le recours irrecevable au motif que l'ordonnance de non-lieu, expédiée le 29 juillet 2009 pour notification aux parties, ne peut pas être parvenue au recourant après le 26 décembre 2009, de sorte que le recours cantonal, déposé à la poste le 6 janvier 2010, est tardif."
Il est donc vrai que, par suite d'une inadvertance, l'arrêt du 4 mars 2010 relate de manière inexacte la motivation de l'arrêt cantonal en ce qui concerne la date du dépôt du recours cantonal. Toutefois, cette inexactitude a été sans influence sur le sort du recours au Tribunal fédéral. En effet, l'arrêt du 4 mars 2010 déclare le recours fédéral irrecevable parce que, dans son mémoire du 23 février 2010, le requérant argumentait exclusivement sur le fond, sans indiquer en quoi, selon lui, la cour cantonale avait violé le droit en déclarant son recours tardif (question de procédure). Aussi l'inadvertance dénoncée ne porte pas sur un fait pertinent, de sorte que le moyen de révision que le requérant veut en tirer est mal fondé.
3. Pour le surplus, les griefs, demandes et requêtes formulés par le requérant dans ses quatre mémoires ne se rapportent pas à l'arrêt attaqué, mais à la procédure cantonale et au fond. Ils sont dès lors irrecevables. Partant, la demande de révision doit être rejetée dans la mesure de sa recevabilité.
4. Comme il est apparu d'emblée que ses conclusions étaient vouées à l'échec, le requérant doit être débouté de sa demande d'assistance judiciaire (<ref-law>, a contrario) et supporter les frais de justice (<ref-law>), qui seront réduits compte tenu de sa situation financière.

Par ces motifs, le Tribunal fédéral prononce:
1. La demande de révision est rejetée dans la mesure où elle est recevable.
2. La demande d'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du requérant.
4. Le présent arrêt est communiqué aux parties et au Tribunal d'accusation du canton de Vaud.
Lausanne, le 6 mai 2010
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président: Le Greffier:
Favre Oulevey