Faits: Faits: A. Par jugement du 30 septembre 2003, le Tribunal correctionnel de l'arrondissement de la Broye et du Nord vaudois a condamné X._, né en 1967, pour abus de confiance, escroquerie, faux dans les titres, faux dans les certificats et induction de la justice en erreur, à douze mois d'emprisonnement, sous déduction de treize jours de détention préventive. Le tribunal a par ailleurs pris actes des reconnaissances de dettes signées par X._ en faveur de la société B._ SA et de Y._. A. Par jugement du 30 septembre 2003, le Tribunal correctionnel de l'arrondissement de la Broye et du Nord vaudois a condamné X._, né en 1967, pour abus de confiance, escroquerie, faux dans les titres, faux dans les certificats et induction de la justice en erreur, à douze mois d'emprisonnement, sous déduction de treize jours de détention préventive. Le tribunal a par ailleurs pris actes des reconnaissances de dettes signées par X._ en faveur de la société B._ SA et de Y._. B. Par arrêt du 2 avril 2004, la Cour de cassation pénale du Tribunal cantonal vaudois a rejeté le recours de X._, a réformé un point du dispositif du jugement de première instance en ce sens qu'elle a condamné X._, pour abus de confiance, escroquerie, faux dans les titres et induction de la justice en erreur, à douze mois d'emprisonnement, sous déduction de treize jours de détention préventive, et a confirmé au surplus le jugement de première instance. Il ressort notamment ce qui suit de cet arrêt et du jugement de première instance auquel il renvoie: Le 12 mai 2000, X._ a loué auprès de la société D._ une VW Golf, dont il a payé la caution et la location. Il a vendu cette voiture à un tiers, qui devait lui-même la livrer à un autre acheteur en Algérie. Il l'a ensuite déclarée volée auprès d'une gendarmerie en France. Ces faits ont été qualifiés d'escroquerie. Le 19 mai 2000, X._ a loué une Mercedes CLK auprès de la société B._ SA à qui il a payé la caution et la location. Il a ensuite vendu et livré cette voiture à Y._ après avoir établi un faux permis de circulation. Il l'a déclarée volée à la gendarmerie de Nyon. A la fin 2000, en voulant immatriculer le véhicule à son nom, Y._ s'est rendu compte que le numéro de chassis de la voiture ne correspondait pas au numéro figurant sur le permis de circulation. X._ lui a affirmé qu'il s'agissait d'une simple erreur et lui a envoyé une fausse attestation du Service des automobiles, qu'il avait confectionnée lui-même. Au printemps 2001, il a admis qu'il y avait un "problème" avec la voiture et l'a reprise en s'engageant à rembourser Y._, ce qu'il n'a fait que très partiellement. La voiture a finalement été restituée à l'agence de location. Pour ces faits, X._ a en définitive été retenu coupable d'escroquerie, de faux dans les titres et d'induction de la justice en erreur (la Cour de cassation vaudoise a qualifié le faux permis de circulation de faux dans les titres et non de faux dans les certificats comme retenu en première instance). Par contrat du 14 janvier 2001, X._ a vendu à Y._ une Mercedes classe A qu'il détenait en leasing. A cet effet, il a remis à l'acheteur un certificat de non-gage qu'il avait lui-même établi. Lorsque l'acheteur a découvert la supercherie, X._ s'est engagé à payer les mensualités de leasing, accord qu'il a cessée d'honorer après quelques temps. Il a été reconnu coupable d'escroquerie. Toujours en janvier 2001, Y._ a demandé à X._ de lui trouver une Mercedes 500 SL pour son fils. X._ a trouvé une telle voiture pour 45'000 francs. X._ n'a remis au garage qu'une partie du prix avancé par l'acheteur et a utilisé le reste à des fins personnelles. Ces faits ont été qualifiés d'abus de confiance. En automne 2001, X._ a déclaré céder une partie de son salaire à Y._, en remboursement des montants qu'il reconnaissait lui devoir. Il a confectionné une fausse correspondance censée émaner de son employeur, dans laquelle ce dernier confirmait à Y._ qu'il lui verserait 1'000 francs chaque mois. La qualification de faux dans les titres a été retenue pour ces faits. X._ est marié depuis 1996 et a un fils, né en 1998. Il n'a pas de fortune mais des dettes (actes de défaut de biens pour 65'000 francs). Dans le cadre de la présente affaire, il a subi treize jours de détention préventive en mai-juin 2000. S'agissant de ses antécédents, il a en particulier été condamné en 1991, pour escroquerie, à un mois d'emprisonnement avec sursis. Aux débats, X._ a signalé que cette condamnation se rapportait à des ventes de voitures d'occasion. X._ est marié depuis 1996 et a un fils, né en 1998. Il n'a pas de fortune mais des dettes (actes de défaut de biens pour 65'000 francs). Dans le cadre de la présente affaire, il a subi treize jours de détention préventive en mai-juin 2000. S'agissant de ses antécédents, il a en particulier été condamné en 1991, pour escroquerie, à un mois d'emprisonnement avec sursis. Aux débats, X._ a signalé que cette condamnation se rapportait à des ventes de voitures d'occasion. C. X._ se pourvoit en nullité au Tribunal fédéral contre l'arrêt du 2 avril 2004. Il conclut à son annulation. Il sollicite par ailleurs l'effet suspensif et l'assistance judiciaire. Le 4 août 2004, le Tribunal fédéral a signalé qu'aucune mesure d'exécution ne pourrait être entreprise jusqu'à décision sur la requête d'effet suspensif. Invité à se déterminer sur l'effet suspensif, le Ministère public vaudois conclut au rejet du pourvoi en se référant aux considérants de l'arrêt attaqué.