不过,刻意隐瞒的历史,不时也会露出马脚。《史记·王翦列传》叙述王翦被罢免回乡以后说,于是秦王任命李信为大将,蒙武为副将,统领二十万秦军分两路进攻楚国。(蒙武为副将攻楚,《王翦列传》误写为蒙恬。根据《六国年表》及《蒙恬列传》,攻楚为蒙武,当时,蒙恬还没有为将。)李信军进攻郢陈南部的平舆县(今河南平舆北),蒙武军进攻郢陈东南部的寝县(今安徽临泉)。在强大秦军的攻击下,楚军大败。然而,就在这个时候,李信军出现了不可思议的行动,他没有乘胜东进,按预定计划攻取楚国的首都寿春(今安徽寿县),而是回师西退,掉过头去攻击秦国领土内的郢陈,蒙武军也撤退回来与李信军会合。也就在这个时候,一支楚军出现在李信军的后面,三日三夜紧紧尾随跟踪,然后发动突然袭击,一举大破李信军。李信军的军营壁垒被逐一攻破,部下七名主要将领被杀死,大败而归。
李信攻楚的失败,是战国以来秦国历史上罕见的惨败。关于这次战争的真实情况,秦国史官在《秦记》当中没有留下正式的记录。《王翦列传》中的上述叙事,是为了交代王翦隐退后又复出的原因时顺便牵连出来的片断。正是由于秦国史官的刻意隐瞒,这段叙事不但语焉不详,而且歧异零乱,千百年来就是一笔糊涂账。
糊涂账有糊涂账的原因,这种原因往往在封锁的消息当中,李信大败的消息秦政府不希望公开,这已经说过了。事实上,秦政府不希望公开李信大败的消息,后面还有一个更大的理由。
这个更大的理由是什么呢?就是李信军为什么攻楚失败?
请大家再一起来回忆一下李信统领二十万秦军攻击楚国的行动。李信军进攻楚国,以郢陈为前进基地,兵分两路出动。李信进攻郢陈南部的平舆县,蒙武进攻郢陈东南部的寝县,两支秦军最初都取得了胜利。然而,就在这个时候,李信突然从前线退军,掉过头来去攻击秦军的后方基地郢陈。看来,这个时候,郢陈地区发生了意外的事情,迫使李信不得不回师反击。那么,这个时候,郢陈地区究竟发生了什么不测事件呢?
为了解答这个疑问,我先请大家一起来考虑这样一个问题,李信军攻击楚国的时候,昌平君在哪里?
前面已经说过,昌平君是秦王政二十一年来到郢陈,二十三年到淮南地区的,二十二年,当李信军攻击楚国的时候他应当正在郢陈。那么,我们再继续追问,二十二年,昌平君在郢陈干什么呢?回答是,起兵反秦。
根据田余庆先生的研究(《说张楚--关于"亡秦必楚"问题的探讨》,原刊《历史研究》1989年第2期,收入《秦汉魏晋史探微》[重订本],中华书局2004年),秦王政二十二年,正当李信和蒙武所统领的秦军在郢陈的南部和东南部大败楚军,准备乘胜进攻楚国的首都寿春,一举攻灭楚国的时候,身在郢陈的昌平君起兵反秦,攻占了郢陈,切断了李信军的后路,使攻楚的秦军陷于前后受敌的苦境。于是,李信军不得不停止攻楚,回师进攻郢陈,结果被楚军前后夹击,大败而归。