Faits:
A. Le 24 octobre 2004, X._ a pris le volant alors qu'il avait consommé de l'alcool. Lors d'un dépassement sur l'autoroute, entre Vevey et Chexbres, il a perdu la maîtrise de son véhicule et heurté la glissière centrale. Après cet accident, sachant que son alcoolémie allait être contrôlée, il a bu le solde d'une bouteille de whisky afin d'empêcher l'exploitation des résultats de la prise de sang.
B. Par arrêt du 24 septembre 2007, réformant un jugement du Tribunal de police de l'arrondissement de l'Est vaudois rendu le 25 juin 2007, la Cour de cassation pénale du Tribunal cantonal vaudois a condamné X._, pour dérobade à la prise de sang (art. 91 al. 3 aLCR) et violation simple des règles de la circulation (art. 90 ch. 1 aLCR), à trois mois d'emprisonnement. Elle a suspendu l'exécution de cette peine et imposé au condamné un suivi d'abstinence à l'alcool auprès d'un médecin spécialisé en alcoologie, pour la durée que ce praticien estimerait nécessaire.
C. Se plaignant d'une violation de l'art. 2 al. 2 CP, X._ recourt au Tribunal fédéral contre cet arrêt, dont il conclut à la réforme en ce sens qu'il est condamné, en application du nouveau droit, à un travail d'intérêt général, subsidiairement à 90 jours-amende d'un franc chacun, avec sursis pendant cinq ans, sans suivi d'abstinence à l'alcool.
Au préalable, il demande à être mis au bénéfice de l'assistance judiciaire.
Se référant aux motifs de l'arrêt attaqué, le Procureur général du canton de Vaud et la Cour de cassation pénale du Tribunal cantonal vaudois ont renoncé à se déterminer.
Considérant en droit:
1. Interjeté dans le délai prévu par la loi (art. 100 al. 1 LTF) par un accusé qui a succombé dans ses conclusions (art. 81 al. 1 let. b LTF) et dirigé contre un jugement final (art. 90 LTF) rendu en matière pénale (art. 78 al. 1 LTF) par une autorité de dernière instance cantonale (art. 80 al. 1 LTF), le présent recours, dûment motivé (art. 42 et 106 al. 2 LTF), est recevable.
2. Le recours n'est ouvert au Tribunal fédéral que pour les violations du droit prévues aux art. 95 et 96 LTF.
2.1 Conformément à l'art. 42 al. 1 et 2 LTF, le mémoire de recours doit, sous peine d'irrecevabilité (art. 108 al. 1 let. b LTF), exposer succinctement en quoi l'acte attaqué viole le droit, au sens des art. 95 et 96 LTF. Aussi le Tribunal fédéral n'examine-t-il en règle générale que les griefs soulevés par le recourant; il n'est pas tenu de traiter, comme le ferait une autorité de première instance, toutes les questions juridiques qui se posent, si celles-ci ne sont plus discutées devant lui.
En l'espèce, le recourant ne conteste pas les infractions retenues à sa charge. Il ne remet en cause que le genre de la peine et la mesure ambulatoire.
2.2 Dans le cadre du litige ainsi défini et sous réserve de la violation des droits constitutionnels et des questions relevant du droit cantonal ou intercantonal, qu'il ne peut examiner que si le grief a été invoqué et motivé de manière précise par la partie recourante (art. 106 al. 2 LTF), le Tribunal fédéral examine d'office l'application du droit (art. 106 al. 1 LTF). Il n'est limité ni par les arguments soulevés dans le mémoire de recours ni par le raisonnement de l'autorité précédente; il peut admettre le recours pour d'autres motifs que ceux avancés par le recourant ou, au contraire, le rejeter par substitution de motifs (cf. ATF 130 III 136 consid. 1.4 p. 140). Il conduit son raisonnement sur la base des faits retenus par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut s'en écarter que si ceux-ci ont été établis en violation du droit au sens de l'art. 95 LTF ou de façon manifestement inexacte (art. 105 al. 2 LTF), c'est-à-dire arbitraire (cf. Message du Conseil fédéral concernant la révision totale de l'organisation judiciaire fédérale, du 28 février 2001, FF 2001 4135). Le recourant qui entend s'écarter des faits constatés par l'autorité précédente doit expliquer de manière circonstanciée en quoi les conditions d'une exception prévue par l'art. 105 al. 2 LTF seraient remplies; à défaut de ces précisions, il n'est pas possible de tenir compte d'un état de fait qui diverge de celui de la décision attaquée (cf. ATF 130 III 136 consid. 1.4 p. 140).
3. Les faits reprochés au recourant sont antérieurs à l'entrée en vigueur, le 1er janvier 2007, de la loi fédérale du 13 décembre 2002 modifiant la partie générale du code pénal suisse (RO 2006 3459 3535).
3.1 En principe, la loi pénale ne s'applique qu'aux faits commis après son entrée en vigueur (principe de la non-rétroactivité de la loi pénale; art. 2 al. 1 CP).
Cependant, en vertu de l'art. 2 al. 2 CP, une loi nouvelle s'applique aussi aux faits qui lui sont antérieurs si, d'une part, l'auteur est mis en jugement après son entrée en vigueur et si, d'autre part, elle est plus favorable à l'auteur que l'ancienne (exception de la lex mitior; art. 2 al. 2 CP). Par ailleurs, la novelle du 13 décembre 2002 déroge également au principe de la non-rétroactivité pour les modifications qu'elle apporte au droit des mesures. En effet, son art. VI ch. 2 al. 1 (RO 2006 3533 et 3542) prévoit que, sous réserve d'exceptions concernant l'internement ou le placement de jeunes adultes en maison d'éducation au travail, les dispositions du nouveau droit relatives aux mesures (art. 56 à 65 CP) et à leur exécution (art. 90 CP) s'appliquent aussi aux auteurs d'actes commis ou jugés avant leur entrée en vigueur. Les nouveaux art. 56 à 65 CP sont donc, sous réserve des exceptions précitées, d'application immédiate. Il est vrai que certains auteurs doutent de la conformité de cette solution au droit international, qui imposerait, selon eux, de réserver aussi l'application du droit ancien plus favorable au traitement institutionnel ou ambulatoire (cf. Marianne Heer, Commentaire bâlois, vol. II, 2ème éd. 2007, n° 5 ad art. VI ch. 2 de la novelle, p. 2844 s.). Mais leurs réserves sont sans importance dans le cas d'un traitement ambulatoire contre l'alcoolisme, dès lors que cette mesure, qui ne peut en règle générale pas durer plus de cinq ans selon le nouveau droit (art. 63 al. 4 CP), est plus favorable pour l'intéressé qu'une mesure selon l'art. 44 aCP, dont la durée pouvait être illimitée (Heer, op. cit., vol. II, 2ème éd., n. 20 ad art. VI ch. 2, p. 2850).
En l'espèce, c'est donc au regard du nouveau droit, d'application immédiate en la matière, qu'il faut d'examiner s'il y avait bien lieu d'ordonner une mesure thérapeutique. En revanche, comme le recourant a été mis en jugement après l'entrée en vigueur de la novelle, la peine relève du nouveau droit si celui-ci est plus favorable au recourant, de l'ancien en cas contraire. Une application concomitante du nouveau droit à la mesure et de l'ancien droit aux autres questions pendantes, qui serait exclue si la cause était entièrement soumise aux règles de droit transitoire découlant de l'art. 2 CP (cf. ATF 134 IV 97 consid. 4.1 p. 100 et les références), est ici envisageable, en raison de la dualité des dispositions transitoires applicables.
3.2 La cour cantonale a considéré que, si elle fixait la peine en application du nouveau droit, elle devrait condamner le recourant à une peine pécuniaire qui ne pourrait, ni être assortie du sursis - le pronostic étant défavorable -, ni être suspendue - la suspension en application de l'art. 63 al. 2 (nouveau) CP n'étant possible qu'en faveur d'une peine privative de liberté -, alors que, si elle prononçait la peine selon l'ancien droit, elle devrait condamner le recourant à une peine d'emprisonnement ferme, qui pourrait être alors suspendue en application de l'art. 63 al. 2 (nouveau) CP. De l'avis de la cour cantonale, l'application du nouveau droit aux questions pour lesquelles celui-ci n'est pas d'application immédiate aboutirait ainsi à un résultat moins favorable au recourant. Il convenait dès lors, d'après elle, d'ordonner un traitement ambulatoire en application de l'art. 63 (nouveau) CP, tout en prononçant une peine d'emprisonnement ferme en application de l'art. 36 aCP, suspendue en application de l'art. 63 al. 2 (nouveau) CP.
Contre ce raisonnement, le recourant fait valoir qu'en application du nouveau droit, il devrait être condamné à un travail d'intérêt général avec sursis, subsidiairement à une peine pécuniaire avec sursis, plus favorable qu'une peine d'emprisonnement, même suspendue. Il n'y aurait en outre pas lieu d'ordonner une mesure thérapeutique. Dès lors, en le condamnant à une peine d'emprisonnement selon l'ancien droit, la cour cantonale aurait violé l'art. 2 al. 2 CP.
3.3 Pour comparer la sévérité de l'ancien et du nouveau droit aux fins de déterminer si les conditions d'application de l'art. 2 al. 2 CP sont remplies, il y a lieu de procéder à un examen concret, en tenant compte de l'état de fait complet. Il faut confronter le résultat que donnerait dans le cas particulier l'application du nouveau droit à toutes les questions qui relèvent de l'art. 2 CP - par opposition, en l'espèce, à celles visées par l'art. VI ch. 2 al. 1 de la novelle - avec la solution à laquelle aboutirait dans le cas particulier l'application de l'ancien droit à ces mêmes questions. Si le premier des deux résultats est plus favorable au condamné, le nouveau droit est seul applicable à toutes ces questions; en cas contraire, l'ancien droit leur reste seul applicable.
Pour déterminer si le résultat auquel conduit l'application du nouveau droit est plus favorable à l'auteur que celui qu'entraîne l'application de l'ancien, le juge doit s'attacher, en tout premier lieu, au genre des peines à prononcer en application de l'un et l'autre de ces droits dans le cas concret. Ce n'est que si ces peines sont du même genre que le juge doit, alors, tenir compte des différences que le nouveau et l'ancien droit présentent dans les modalités d'exécution de cette peine (ATF 134 IV 82 consid. 7.1 p. 89). Par modalités d'exécution, il faut entendre aussi bien les possibilités d'obtenir le sursis, intégral ou partiel (ATF 134 IV 82 consid. 7.1 p. 89), que celles d'obtenir la suspension de l'exécution de la peine en faveur de l'exécution d'une mesure prioritaire.
La peine pécuniaire et le travail d'intérêt général sont plus favorables au condamné qu'une peine privative de liberté (ATF 134 IV 82 consid. 7.2.2 et 7.2.3 p. 90). Partant, lorsque l'auteur encourt une peine pécuniaire ou une peine de travail d'intérêt général en vertu du nouveau droit, alors qu'il encourt une peine d'emprisonnement en vertu de l'ancien, le nouveau droit est applicable, lors même que l'exécution de la peine d'emprisonnement pourrait être suspendue au profit d'un traitement ambulatoire, mais non celle de la peine pécuniaire ou de la peine de travail d'intérêt général. C'est pourquoi, en prononçant en l'espèce une peine d'emprisonnement alors que, selon sa propre appréciation, il ne serait pas nécessaire de condamner le recourant à une peine privative de liberté en application du nouveau droit, la cour cantonale a violé l'art. 2 al. 2 CP. Le recours doit dès lors être admis et l'arrêt entrepris être annulé. La cause est entièrement soumise au nouveau droit, même si l'application de celui-ci doit aboutir au prononcé d'une peine pécuniaire ou d'un travail d'intérêt général ferme, dont l'exécution ne pourrait être suspendue en application de l'art. 63 al. 2 CP.
4. Au contraire de la cour cantonale, le recourant soutient que l'application du nouveau droit doit entraîner sa condamnation à un travail d'intérêt général, non à une peine pécuniaire.
4.1 En principe, toute personne dont la culpabilité justifierait une condamnation à six mois de privation de liberté ou à 180 jours-amende au plus peut être condamnée, si elle accepte ce genre de peine et s'il n'est pas nécessaire de prononcer une peine privative de liberté ferme, à fournir un travail d'intérêt général (ATF 134 IV 97 consid. 6.3.3.2 p. 107 s.). Cette peine tend à favoriser, à des fins de prévention spéciale, le maintien de l'auteur dans son milieu social, en le faisant compenser l'infraction par une prestation personnelle en faveur de la communauté plutôt que par une privation de liberté ou une peine pécuniaire (ATF 134 IV 97 consid. 6.3.2 p. 107).
Bien que le texte légal ne prévoie aucune cause d'exclusion tenant à la personne de l'auteur, seule peut être condamnée à fournir un travail d'intérêt général une personne apte au travail (ATF 134 IV 97 consid. 6.3.3.3 p. 109; Günter Stratenwerth, Schweizerisches Strafrecht, Allgemeiner Teil II, 2ème éd. 2006, p. 80 n° 4 § 3; Yvan Jeanneret, Les peines selon le nouveau Code pénal, in Partie générale du code pénal, Renate Pfister-Liechti [éd.], Stämpfli Berne 2007, coll. Fondation pour la formation continue des juges suisses, p. 19). En effet, en fournissant un travail d'intérêt général, le condamné doit rendre un véritable service à la communauté. Autrement dit, sa collaboration doit être un avantage. Le prononcé d'une peine de travail d'intérêt général suppose dès lors que l'auteur soit en mesure, dans le délai qui lui sera imparti pour exécuter la peine (cf. art. 38 CP), d'accomplir des tâches utiles sans que la formation à lui donner, la surveillance à exercer ou les précautions à prendre pour sa sécurité ou pour celle des autres travailleurs, notamment sur le plan médical, compliquent à ce point la marche du service que sa collaboration présenterait un intérêt manifestement insuffisant pour justifier son engagement par une institution habilitée.
Le travail d'intérêt général peut consister en toutes sortes d'activités, comme l'installation ou l'entretien de places de jeu, d'espaces verts, de réserves naturelles ou de chemins de randonnée appartenant ou servant à la collectivité, la prestation de services au sein d'une administration publique (classement, nettoyages, etc.), le soutien ou la prise en charge de personnes invalides, malades ou âgées (cf. Benjamin F. Brägger, Commentaire bâlois, vol. I, 2ème éd. 2007, p. 709 n° 11 ad art. 37 CP). Ces activités n'exigent pas nécessairement une excellente forme physique et une formation professionnelle approfondie. Mais elles requièrent toutes un minimum d'aptitudes, qui diffèrent de l'une à l'autre. Est exclu du travail d'intérêt général l'auteur qui n'aurait l'aptitude, pour quelque cause que ce soit, d'accomplir, dans le délai qui lui serait imparti à cet effet, aucune de ces activités de manière satisfaisante pour l'institution qui recourrait à ses services.
4.2 La présomption d'innocence, garantie aux art. 32 al. 1 Cst. et 6 § 2 CEDH, a trait à la déclaration de culpabilité, non à la nature ni au taux de la peine ou de la mesure consécutive (cf., pour l'art. 6 § 2 CEDH, arrêts de la Cour européenne des droits de l'homme dans les causes Engel et autres contre Pays-Bas du 8 juin 1976, Série A, vol. 22, § 90, et Philipps contre Royaume-Uni du 5 juillet 2001, Recueil CourEDH 2001-VII, § 35). Les règles qui en découlent, notamment sur le fardeau et le degré de la preuve, ne s'appliquent dès lors pas à l'établissement de l'aptitude ou de l'inaptitude de l'auteur au travail d'intérêt général.
La conversion d'une peine de travail d'intérêt général inexécutée en une peine pécuniaire ou privative de liberté, aux conditions prévues à l'art. 39 CP, n'a pas vocation à devenir un incident ordinaire de l'exécution de ce genre de peine. Elle doit rester autant que possible exceptionnelle. Dès lors, il convient que le juge s'abstienne de prononcer une peine de travail d'intérêt général s'il a des raisons de douter de l'aptitude de l'auteur à exécuter un tel travail en temps utile.
Tel n'est en principe pas le cas en présence d'un auteur normalement constitué. Toutefois, lorsqu'un élément du dossier, tel qu'une longue période d'inactivité professionnelle liée à un problème de santé ou une affection éventuellement dangereuse pour les autres travailleurs, indique une possible inaptitude de l'auteur, le juge ne peut prononcer une peine de travail d'intérêt général sans mesures d'instructions complémentaires. Ces mesures doivent notamment consister en l'apport d'un certificat ou d'un dossier médical, pièces qui se trouvent à la disposition de l'auteur mais auquel le juge ne peut généralement pas accéder sans l'accord de celui-ci. Aussi, en présence d'éléments mettant en doute l'aptitude de l'auteur à accomplir de manière satisfaisante un travail d'intérêt général, l'auteur doit être invité à produire les preuves complémentaires nécessaires. S'il ne s'exécute pas ou si les preuves qu'il offre sont insuffisamment convaincantes pour rendre son aptitude à tout le moins vraisemblable, il doit être condamné à une autre peine.
4.3 En l'espèce, la cour cantonale a nié que le recourant ait l'aptitude de fournir un travail d'intérêt général, aux motifs qu'il doit suivre une lourde trithérapie, qu'il est en attente d'une rente AI et qu'il souffre de problèmes psychologiques qui doivent être considérés comme un obstacle à l'exécution d'un travail d'intérêt général.
Le fait que le recourant bénéficie (peut-être) prochainement d'une rente AI n'implique pas nécessairement qu'il soit incapable de fournir de manière satisfaisante un travail d'intérêt général. Par ailleurs, une trithérapie ne supprime pas nécessairement la capacité de travail du patient. Enfin, l'expertise psychiatrique versée au dossier n'indique pas, du moins pas expressément, comment les problèmes psychologiques du recourant affectent sa capacité de travail, de sorte qu'on ne peut en tirer aucune déduction soutenable sur ce point. En soi, ces éléments ne prouvent dès lors pas l'inaptitude du recourant au travail d'intérêt général. Certes, ils en constituent un indice. Dès lors, même si elle avait appliqué le nouveau droit, la cour cantonale n'aurait pas pu, en l'état, prononcer une peine de travail d'intérêt général. Mais, avant de statuer sur l'aptitude du recourant, elle aurait dû inviter celui-ci à produire un certificat médical ou à faire administrer toute autre preuve susceptible de rendre vraisemblable son aptitude. Partant, comme elle n'en a rien fait, elle a constaté l'inaptitude du recourant au travail d'intérêt général d'une manière contraire au droit, au sens des art. 97 al. 1 et 105 al. 2 LTF, sans que le Tribunal fédéral soit en mesure d'y remédier lui-même. Il convient dès lors de lui renvoyer la cause pour complément d'instruction sur ce point.
5. Le recourant soutient aussi que la cour cantonale a violé les art. 56 al. 2 et 63 CP en le soumettant à un traitement ambulatoire.
En vertu de l'art. 63 al. 1 CP, lorsque l'auteur souffre d'un grave trouble mental, qu'il est toxico-dépendant ou qu'il souffre d'une autre addiction, le juge peut ordonner un traitement ambulatoire si, d'une part, l'acte punissable est lié à ce trouble mental ou à cette addiction et si, d'autre part, il est à prévoir que le traitement détournera l'auteur d'autres infractions en relation avec son état. Cette mesure doit être ordonnée lorsqu'une peine ne peut écarter à elle seule le danger que l'auteur commette d'autres infractions en relation avec son état (cf. art. 56 al. 1 let. a CP), mais sans qu'il soit pour autant nécessaire de prévoir une mesure thérapeutique institutionnelle (cf. art. 56a al. 1 CP). Il y a cependant lieu de renoncer à ordonner cette mesure s'il apparaît que l'atteinte aux droits de la personnalité qui en résulterait pour l'auteur serait disproportionnée au regard de la vraisemblance et de la gravité des nouvelles infractions qui sont à craindre de lui (cf. art. 56 al. 2 CP).
En l'espèce, faisant siennes les constatations de fait du premier juge, elles-mêmes fondées sur un rapport d'expertise, la cour cantonale a retenu que le recourant souffrait d'un problème d'alcoolisme. Elle a aussi jugé constant que le comportement répréhensible du recourant au volant était directement lié à cette dépendance. Avec les experts - qui ont répondu par l'affirmative à la question de savoir s'il était nécessaire de soumettre le recourant à un traitement ambulatoire pour prévenir de nouveaux crimes ou délits en rapport avec sa dépendance (cf. dossier cantonal, P. 38, question 8c p. 16) - la cour cantonale a retenu que, si le recourant ne changeait pas de comportement par rapport à l'alcool, son pronostic pénal était mauvais. Ainsi, le seul prononcé d'une peine ne suffirait pas à écarter le danger que le recourant commette de nouvelles infractions routières en relation avec sa dépendance. En revanche, la cour cantonale a considéré que le traitement était adéquat. Au regard de ces constatations de fait, les conditions d'application de l'art. 63 CP sont remplies. Peu importe que le recourant soit, comme il le fait valoir à l'appui de son moyen, en état de s'abstenir de prendre le volant quand il a bu. La possibilité d'ordonner un traitement ambulatoire ne suppose pas que le trouble mental ou l'addiction dont souffre l'auteur lui fasse perdre le contrôle de ses actes.
Le traitement ordonné ne porte pas une atteinte disproportionnée aux droits de la personnalité du recourant (cf. art. 56 al. 2 CP). En effet, contrairement à ce que soutient celui-ci, la conduite d'un véhicule automobile en état d'ébriété est une infraction grave, eu égard aux dangers qu'elle fait courir aux autres usagers de la route. Elle peut du reste être punie de trois ans de privation de liberté (art. 91 al. 1 LCR). Le risque que le recourant commette à nouveau un tel délit, à court ou moyen terme, s'il ne se soumet pas à un suivi médical d'abstinence à l'alcool justifie dès lors l'atteinte que l'obligation de suivre un tel traitement porte à ses droits de la personnalité. Il suit de là que la cour cantonale n'a pas violé le droit fédéral en imposant au recourant un traitement ambulatoire auprès d'un médecin spécialisé en alcoologie. Sur ce point, le recours doit dès lors être rejeté.
6. Le recourant soutient encore que la cour cantonale a violé l'art. 42 CP en lui refusant le sursis.
Sous les anciennes dispositions générales du code pénal, il était de jurisprudence constante que l'octroi du sursis (art. 41 aCP) n'entrait pas en considération si une mesure de sûreté était ordonnée en application de l'art. 43 ou 44 aCP. La même règle valait également pour le traitement ambulatoire. Comme le prononcé d'une mesure supposait nécessairement l'existence d'un risque de récidive, il était en effet impossible d'appliquer l'art. 43 ou 44 CP et, en même temps, de poser un pronostic favorable permettant l'octroi du sursis (cf. STEFAN TRECHSEL, Kurzkommentar, 2ème éd. 1997, n° 11 ad art. 41 aCP). Il en va toujours ainsi sous le nouveau droit. Si les conditions d'application de l'une ou l'autre des mesures prévues aux art. 56 ss CP sont remplies, le pronostic déterminant pour l'octroi du sursis est nécessairement négatif, puisque le prononcé de ces mesures suppose un risque de récidive (cf. art. 56 al. 1 let. a CP; CHRISTIAN SCHWARZENEGGER/MARKUS HUG/DANIEL JOSITSCH, Strafrecht II, 8ème éd., 2007, p. 132 n° 2.21 § 6).
En l'espèce, les conditions d'un traitement ambulatoire étant remplies, celles du sursis, intégral ou partiel, ne le sont pas. Le moyen pris d'une violation des art. 42 ss CP doit dès lors être rejeté.
7. En définitive, il convient d'admettre partiellement le recours, d'annuler l'arrêt entrepris et de renvoyer la cause à la cour cantonale pour nouveau jugement sur le genre de la peine. Il appartiendra à la cour cantonale ou au tribunal de police auquel elle aura renvoyé la cause de compléter l'instruction en invitant le recourant à produire, au moins, un certificat médical permettant de vérifier son aptitude au travail d'intérêt général. Puis l'autorité saisie statuera à nouveau.
8. Dans la mesure où il tendait à la suppression du traitement ambulatoire, le recours était dénué de chance de succès. Le recourant doit dès lors être débouté partiellement de sa demande d'assistance judiciaire (art. 64 al. 1 LTF) et supporter une partie des frais de justice (art. 66 al. 1 LTF).
Pour le surplus, en revanche, la demande d'assistance judiciaire doit être admise (art. 64 al. 1 LTF).
Le recourant, qui obtient partiellement gain de cause, a droit à des dépens partiels (art. 68 al. 1 LTF), dont il y a lieu d'ordonner la distraction au profit de son conseil d'office (art. 64 al. 2 LTF).
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est partiellement admis, l'arrêt entrepris annulé et la cause renvoyée à la cour cantonale pour nouveau jugement dans le sens des considérants.
2. La demande d'assistance judiciaire est partiellement admise et Me Kathrin Gruber désignée comme conseil d'office.
3. Une indemnité de 1'500 fr., à verser à Me Kathrin Gruber à titre de dépens partiels, est mise à la charge du canton de Vaud.
4. Pour le surplus, la demande d'assistance judiciaire est rejetée et une partie des frais judiciaires, arrêtée à 1'000 fr., mise à la charge du recourant.
5. Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Cour de cassation pénale.
Lausanne, le 2 mars 2009
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président: Le Greffier:
Schneider Oulevey