《左传》如何可信?
——以早期文本对重耳归晋及城濮之战的记载为例

2023-02-24 13:22张树国
关键词:晋文公国语左传

张树国

(杭州师范大学 人文学院,浙江 杭州 311121)

《左传》一书的可信度仍是学界一直讨论的话题。《左传》与春秋时期鲁国国史《春秋》相表里,因为是战国时人所作,不可避免地插入了不少战国时期的知识、档案和传说,这尤其体现在晋文公重耳归晋及城濮之战后确立霸主地位这两件大事上。笔者以重耳归晋和城濮之战为例,引用近年来出土的相关文献,通过二重证据来证明哪些出自原始档案,哪些是战国作者添加的。重耳在《左传》人物书写中最具传奇性,主要体现在周游列国以及归晋的征途、登上君位之后在城濮之战中击败强大的楚国、被周襄王确立为侯伯的经历。葛兰言(Marcel Granet)认为晋文公登上国君宝座之前,过着颠沛流离的生活,“他的奥德赛充满了史诗的特性”(His Odyssey is full of epic traits)[1](P.26),富有文学色彩。关于重耳归晋及城濮之战的文献体现为三种书写形态:

一是传世文本形态。鲁国史书《春秋》对城濮之战有比较简明的记载;《左传·僖公二十八年》对城濮之战的前因、进程、后果的描述与分析,可谓战争文学的经典之作。《春秋》经传对重耳归晋及城濮之战的时间、地点、事件、人物言行记载非常详细而丰富。除此之外,《国语·晋语四》侧重记载城濮之战时晋国君臣言语谋略,《史记》中的《楚世家》《晋世家》也记载了此次战役。以上文献,本文称之为传世文本。

二是青铜铭文文本形态。关于城濮之战的青铜铭文史料为现藏台北故宫博物院的子犯编钟,八枚一组,铭文130字,合为完整一篇,共有两组十六枚,两篇文字相同,刘雨、卢岩《近出殷周金文集录》有著录。[2](PP.16-36)器主子犯(即狐偃)为晋文公重耳舅父,跟随重耳流亡十九年,城濮之战时被任命为晋国上军副帅,直接参与了战役的谋划与指挥,对战役胜利起了重大作用。编钟铭文具有重大价值,本文称之为青铜文本。

三是竹书文本形态。西晋汲冢出土《竹书纪年》为战国时期魏国史书,记录了重耳归晋及城濮之战。清华二《系年》、上博九《成王为城濮之行》(甲乙本)从楚国角度叙述了这场战争;清华七《子犯子余》记述秦穆公与重耳陪臣子犯(狐偃)、子余(赵衰)的对话,《晋文公入于晋》记载重耳归国以后在政治、军事方面的作为。以上几篇为竹书文本。

从国别来看,晋、楚、鲁三国史籍从不同角度记录了城濮之战,《左传》《国语》对此有全景式描述,干支纪日的时间亦非常明确而翔实,说明其史料来源是可靠的。相对来说,青铜文本和竹书文本记事简略,时间因素往往缺少,竹书残编断简在所难免,然而在对其训读过程中,能够重新唤起研究者的学术兴趣,不能不说是现代春秋学研究的盛事。

尽管《春秋》经传对城濮之战的具体时间有明确记载,但是仍然有若干难解之处。《春秋》及《左传》对战役日期的记载几乎相同,采用的是同一历法,但具体是周历、夏历还是殷历,没有明确说明。学者习惯认为《春秋》采用的是周历,《左传》采用列国之史,历法相对复杂。一般认为子犯编钟“五月初吉丁未”是城濮之战之后,晋君向周襄王“献楚俘”之日,冯时《春秋子犯编钟纪年研究——晋重耳归国考》则认为这是重耳归晋的时间。《左传》记录重耳归晋是在鲁僖公二十四年(公元前636年),文中有“二月甲午”,但周历、夏历二月均无甲午。冯时力图解决这一矛盾,认为《左传》日期“二月”当为夏历“三月”,而子犯编钟“五月初吉丁未”则是周历。[3]这一说法存在争议。美国学者班大为(David W.Pankenier)《周代的应用分野星占学:晋文公与城濮之战(前632)》)一文对重耳归国及城濮之战的岁星纪年研究提出了富有启发性的观点[4](PP.252-286),但对具体的干支日期没有得出相应的结论。因此,笔者结合青铜文本及竹书文本,对重耳归晋及城濮之战的时间推定提出自己的见解。时间是编年史的灵魂,是证明上古典籍可信度的重要参照。在这些不同书写形态的早期文本中,子犯编钟铭文无疑具有重大价值。

一、对子犯钟铭“五月初吉丁未”的两种解释

城濮之战爆发于周襄王二十年(公元前632年),《左传·僖公二十八年》比较详细地记载战争双方晋、楚两大军事集团的态势,晋国一方包括秦、齐、宋等国,楚国一方包括陈、蔡、卫、鲁等国,同时也详细交代了战役的前因。《左传·僖公二十二年》记载宋襄公与楚成王争夺诸侯盟主,宋、楚爆发泓之役,宋国大败,襄公亦重伤,次年死。宋成公即位,慑于楚国的军事压力,与楚讲和。但重耳归晋成为国君以后,晋国逐渐强大起来,于是宋国开始与晋国交好。《左传·僖公二十六年》:“宋以其善于晋侯也,叛楚即晋。冬,楚令尹子玉、司马子西帅师伐宋,围缗。”[5](P.3954)这时,宋之邻国鲁国由于受到齐国侵伐,鲁僖公派东门襄仲、臧文仲求救于楚。《左传·僖公二十六年》载“臧孙见子玉而道之,伐齐、宋,以其不臣也”,子玉即楚国令尹成得臣,于是鲁僖公“以楚师伐齐,取谷”。[5](P.3954)《左传·僖公二十七年》:“冬,楚人、陈侯、蔡侯、郑伯、许男围宋。”[5](P.3954)楚成王围宋、伐齐、戍谷之事,为城濮之战的序幕。《左传·僖公二十七年》记载宋公孙固如晋告急,晋采纳子犯之谋:“楚始得曹而新昏于卫,若伐曹、卫,楚必救之,则齐、宋免矣。”[5](P.3956)晋伐曹、卫的原因固然是由于这二国为楚国同盟国,而二国投靠楚国的真实原因,是由于公子重耳出亡之时未受二国国君礼遇,遭受了不少屈辱,等到重耳归国,夺取政权,准备建立霸权之后,二国害怕遭到重耳的报复,就投靠了楚国。

城濮之战这一重大事件见于近年出土的子犯编钟,该编钟无疑是春秋时期青铜器的代表。编钟顺序依据刘雨、卢岩所定,释文依据裘锡圭《也谈子犯编钟》,文云:

(第一钟)唯王五月初吉丁未,子犯佑晋公左右,来复其邦。者(诸)楚荆(第二钟)不圣(听)令(命)于王所,子犯及晋公率西之六师博(搏)伐楚荆,孔休。(第三钟)大上楚荆,丧厥师,灭厥瓜(孤)。子犯佑晋公左右,燮诸侯,卑(俾)朝(第四钟)王,克奠王位。王锡(赐)子犯辂车、四马、衣、常(裳)、带、巿、佩,者(诸)侯羞元(第五钟)金于子犯之所,用为和钟九堵(第六钟)孔淑且硕,乃和且鸣,用匽(宴)(第七钟)用宁,用享用孝,用祈眉寿(第八钟)万年无疆,子子孙孙,永宝用乐。[6](PP.83-84)

开头“子犯佑晋公左右,来复其邦”,指鲁僖公二十四年(周襄王十六年,公元前636年)子犯跟从晋文公重耳由秦归晋之史事。铭文内容主要为重耳归晋、城濮之战和践土之盟,铭文有漫漶之处,如第三钟“大上楚荆”之“上”依图版当为“工”,刘雨、卢岩释为“攻”[2](P.19);裘先生释“灭厥瓜”之“瓜”为“孤”,铭文中的“孤”指楚军主帅、令尹成得臣而言。[6](P.89)

“唯王五月初吉丁未”表明采用周天子正朔,对这一时间存在两种不同理解:

一种观点认为这一时间为城濮之战结束后的“献俘”之日,以李学勤、裘锡圭等先生为代表。(1)参看李学勤《补论子犯编钟》,《中国文物报》,1995年5月28日;裘锡圭《也谈子犯编钟》,《裘锡圭学术文集》第3册,上海:复旦大学出版社,2012年;江林昌《新出子犯编钟铭文史料价值初探》,《文献》,1997年第3期等。

晋楚城濮之战发生在周襄王二十年(公元前632年),《左传·僖公二十八年》记载晋国胜利后的一些活动:

五月丙午,晋侯及郑伯盟于衡雍。丁未,献楚俘于王,驷介百乘,徒兵千。郑伯傅王,用平礼也。[5](P.3962)

五月丁未与子犯编钟“五月初吉丁未”相合。“初吉”为金文习语,王国维《生霸死霸考》认为商周时期分“一月之日为四分”,“一曰初吉,谓自一日至七八日也;二曰既生霸,谓自八九日以降至十四五日也;三曰既望,谓十五六日以后至二十二三日;四曰既死霸,谓自二十三日以后至于晦也”。[7](P.21)裘锡圭据王韬《春秋朔闰至日表》及董作宾《〈春秋〉经传史日丛考》论及“僖公二十八年五月朔”当以“戊戌”为合理,则“五月丁未”为初十,为“初吉”,可备一说。[6](P.87)而据晋代杜预《春秋长历》记载,僖公二十八年“五月丙申小”,五月丙午为十一日,丁未为五月十二日。[8](PP.76-77)杜预注《春秋》《左传》时经常使用《春秋长历》,具有一致性和系统性。学术界虽有王韬、新城新藏、张培瑜等多种相关学术著作,但时间推算多有不同,笔者采用杜预《春秋长历》作为标准时间。在关于重耳归晋及城濮之战的时间叙事上,《春秋》经传相同,后文有论。

另一种观点认为“五月初吉丁未”为重耳及子犯归晋之日,以冯时为代表。

冯时认为铭文开头“唯王五月初吉丁未,子犯佑晋公左右,来复其邦”这一钟铭纪年明确记载子犯护佑晋公归国的日期,而不是城濮之战后向周襄王献俘日期。铭文内容记录了子犯护佑晋公子重耳归国及其以后五年之内发生的三件重大史实,显然,“晋公归国之日理应成为全铭记事的起点”[3]。下面根据相关史实记载进行讨论。

重耳归国事在鲁僖公二十四年,《春秋·僖公二十四年》首书“春,王正月”,没有记载这一史事,对此《左传·僖公二十四年》做出解释:“二十四年,春,王正月,秦伯纳之,不书,不告入也。”杜注:“纳重耳也。”[5](P.3942)《春秋》经传皆书“春,王正月”,说明经、传历法相同。一般认为,鲁国采用建子之月的周历,即以含冬至节气的夏历十一月为岁首,称为“王正月”即“周王正月”,这个月的气候应该像《诗经·豳风·七月》所云“一之日觱发,二之日栗烈”,即周历正月(夏历十一月)寒风触物,发出凄厉之声,周历二月(夏历十二月)则寒气凛冽。但《春秋》经传“春,王正月”,很明显与这一常识不符。类似春秋书法又见《春秋·隐公元年》“元年,春,王正月”,杜注:“隐公之始年,周王之正月也。”[5](P.3719)《左传·隐公元年》:“元年,春,王周正月。” 杜注:“言周以别夏、殷。”[5](P.3723)这是关于春秋时期鲁国历法的重要资料,值得重视,后文有论。

《春秋》因为晋人“不告入”,未记载这段重要史事。但《左传·僖公二十四年》补上了相关记载:

济河,围令狐,入桑泉,取臼衰。二月甲午,晋师军于庐柳,秦伯使公子絷如晋师,师退,军于郇。辛丑,狐偃及秦晋之大夫盟于郇。壬寅,公子入于晋师。丙午,入于曲沃。丁未,朝于武宫。戊申,使杀怀公于高梁。不书,亦不告也。[5](PP.3942-3943)

《左传》解释鲁《春秋》“不书”的原因,是由于晋国“不告”,即未派使者将重耳归晋之事告知鲁国。《左传》依据晋国史书补上这段重要史料,引文六个干支日期中,特别标举“二月甲午”,为秦伯纳重耳于晋之日,然与《左传·僖公二十四年》“春,王正月,秦伯纳之”之“王正月”时间不合。重耳归晋事件又见于《国语·晋语四》:

公子济河,召令狐、臼衰、桑泉,皆降。晋人惧,怀公奔高梁。吕甥、冀芮帅师,甲午,军于庐柳。秦伯使公子絷如师,师退,次于郇。辛丑,狐偃及秦、晋大夫盟于郇。壬寅,公入于晋师。甲辰,秦伯还。丙午,入于曲沃。丁未,入绛,即位于武宫。戊申,剌怀公于高梁。[9](P.367)

引文与《左传》相关记载相印证,补充了一些内容。如《国语·晋语四》云“吕甥、冀芮帅师,甲午,军于庐柳”,《左传》只云“军于庐柳”,未说晋军统帅之名;而《竹书纪年》则记载晋军统帅为狐毛、先轸,说见后文。又如《国语·晋语四》云“丙午,入于曲沃。丁未,入绛,即位于武宫”,《左传》只云“丙午,入于曲沃。丁未,朝于武宫”,而省略“入绛”,因为晋武公庙在绛都,“朝于武宫”意味着重耳取得了即位国君之合法性。从上引史料来看,《国语》《左传》两书记载均源出晋史。《国语·晋语四》干支记日有“甲午,军于庐柳”,但未像《左传》特别标明“二月甲午”,韦昭注:“甲午,鲁僖公二十四年二月六日。” [9](P.367)竹添光鸿在韦说基础上,推算其余五个干支日期为:

据韦注,辛丑,二月十三日也。壬寅,十四日也。丙午,十八日也。丁未,十九日也。戊申,二十日也。甲午至戊申凡十五日。[10](P.541)

韦昭之所以能够得出“二月甲午”的确切日期,笔者推测可能利用了《左传·僖公二十四年》“吕郄畏逼”中的材料:“三月,晋侯潜会秦伯于王城。己丑晦,公宫火。”[5](P.3943)因此韦昭从“己丑晦”逆推得出了“二月甲午”为二月六日,竹添光鸿在韦注基础上推得其余五个干支日期,但有争议。

据《左传》《国语》记载,“丁未”为二月丁未,是公子重耳朝于晋国绛都之武宫、即位国君之日,与子犯编钟铭文“五月初吉丁未”相隔三个月。冯时所谓重耳“其入绛朝于武宫而即位晋君之日恰为丁未,这是子犯‘来复其邦’的重要标志”,认为这是子犯以护佑晋君归国的日期作为铸钟日期,但二月、五月之间有三个月之差,因此怀疑《左传》“二月甲午”之“二”当为“三”之讹,晋史以夏历纪年,夏历三月恰合周历五月。这样子犯编钟所谓“惟王五月初吉丁未”就是《左传》“丁未,朝于武宫”、《国语》“丁未,入绛,即位于武宫”之“丁未”,因此其结论为“今证以子犯编钟,晋重耳归国即位晋君当在周襄王十六年周正夏五月丁未日,依晋史当夏正春三月丁未日”。[3]但这一说法难以自圆其说。因为《左传·僖公二十四年》记载同年三月“吕郄畏逼”而火烧公宫事件,明确点明“三月,晋侯潜会秦伯于王城。己丑晦,公宫火”,从“己丑晦”逆推,夏历三月无甲午,因此冯时将“二月甲午”改为“三月甲午”属于滥改,不足以服人。班大为《周代的应用分野星占学:晋文公与城濮之战(前632)》采用冯时的意见,但同样面对“一个月之差”问题,只能在脚注里说“可能是因为在僖公二十四年插入了一个闰正月”[4](P.280),这一说法之不自信是显而易见的。

子犯编钟铭文所谓“五月初吉丁未”应是《左传》《国语》所记城濮之战结束以后向周襄王献楚俘的时间。第四、五钟铭“者(诸)侯羞元金于子犯之所,用为和钟九堵”,也说明这是献俘之后诸侯献金而作钟。对子犯编钟日期出现这么大分歧的原因,是因为青铜器上的日期一般是铸造的日期,但本铭中出现了变例,以城濮之战献俘日期的“五月初吉丁未”作为铸钟日期,叙事出现了一处“断裂”,从而导致了对日期与事件的不同理解。学者一般认为《春秋》经传皆以周历编年,但鲁僖公之前历法未定,间采殷历,下文试论。

二、《春秋》经传中重耳归晋及城濮之战的时间叙事

《左传·僖公二十四年》记载重耳归国之时,所谓“二月甲午,晋师军于庐柳”,令人大起疑窦。韦昭认为“甲午”为鲁僖公二十四年(公元前636年)二月六日,却忽略了一个基本事实——无论周历、夏历,这年的二月均无甲午,其他五个干支日辛丑、壬寅、丙午、丁未、戊申,也均不见周历或夏历是年的二月。据张培瑜《中国先秦史历表》,依据周历,周襄王十六年、僖公二十四年二月朔为庚申,二月无甲午日;夏历二月朔为辛酉,二月亦无甲午。[11](P.137)王韬《春秋朔闰日至考》认为“二月无甲午,以下并差一月”,鲁僖公在位三十三年的历表最为淆乱,有殷历建丑十一次,周历建子十七次,夏历建寅一次、建亥三次,“故宁违《传》以从《经》,且晋用夏正,《传》书日月或有误耳”[12](P.33)。王韬认为当《春秋》经、传时间不一致之时,应从《春秋》而不从《左传》,这一看法存在一定偏颇。

《左传》援引诸国史料,解释《春秋》书法,与《春秋》相表里,属于较早的历史编纂学著作,历史书写的时间应该尽量与《春秋》一致。但在处理诸国史料之时,却不得不面对相当棘手的问题,即各国所用历法不统一。前人曾指出《左传》杂用“三正”即夏历、殷历、周历,清人顾炎武举多例证明,并引刘原父云:“《左氏》日月与经不同者,丘明作书,杂取当时诸侯史策之文,其用三正,参差不一,往往而迷,故《经》所云冬,《传》谓之秋也。”[13](P.149) “三正”即夏正建寅、殷正建丑、周正建子。学者通常认为,《左传》采晋史,晋史用夏历纪年,但顾炎武《日知录》卷四《春秋阙疑之书》云:

《春秋》,因鲁史而修者也。《左氏传》,采列国之史而作者也。故所书晋事,自文公主夏盟,政交于中国,则以列国之史参之,而一从周正。自惠王以前,则间用夏正,其不出于一人明矣。[13](P.147)

所谓“文公主夏盟”当为晋文公重耳主持践土之盟以后,纪年开始“一从周正”。顾炎武认为《春秋》采周正,《左传》也采周正,自惠王以前则“间用夏正”,但此说也存在问题。据新城新藏《春秋长历》,自夏、殷、周三代迄春秋以前,采用近于所谓夏正之历;而入春秋时代,其前半叶即隐公元年至僖公年间采用殷历;自文公以后整齐历法,则采用周正之历。[14](P.291)《春秋经》为当时之史,记僖公年间史事当依殷历记事。殷历建丑,《春秋》文公之前大体以含冬至月迟一个月为正月,此时置闰法也无规则,即所谓“殷历古法”。文公之后则以冬至月为正月,置闰法亦颇整齐,此事实显示文公时代历法曾有重大变革。[14](P.360)张培瑜《中国早期的推步历法》认为《左传》杂采各国史料,经传史实历日常有参差,“细查经传,有差两月者,有差一月者,也有经传相同的”[15](P.12),“鲁历岁首僖公以前多建丑,文公以后常建子,但时有摆动”[15](P.13)。《中国先秦史历表·凡例》亦云“据《春秋经》历日复原的春秋鲁国历法”,“岁首初期多建丑,后期多建子”。[11](P.2)这一观点值得重视。

《春秋经·隐公元年》:“元年,春,王正月。”杜注:“隐公之始年,周王之正月也。”[16](P.126)《左传》作“元年春,王周正月”[16](P.127)。周历以含冬至之月为正月,即以夏历十一月建子之月为正月,若以冬至之月为春,岂非欠妥?殷历则以含立春节气之月为正月。新城新藏《春秋长历》记载,隐公元年正月为夏正十二月,非夏正十一月,《春秋》经传所谓“元年春,王正月”当采用“殷历古法”。自鲁文公以后,历法统一于周历,《左传》依旧采用“殷历古法”。《左传》作者为公元前350年代人物,其所述年代一方面依据原始材料,另一方面依据“殷历古法”推步而成,在岁星记事中尤其突出,后文有论。在诸多春秋历书中,杜预《春秋长历》具有重要价值。

据杜预《春秋长历》,鲁僖公二十四年“二月辛卯大,三月辛酉小”[8](PP.72-73),二月朔辛卯,为大月(三十日);三月朔辛酉,而晦日为己丑,与《左传》一致。下面将杜预《春秋长历》中关于《左传》《国语》记载重耳归晋的六个干支日与相关历史事件,做一排比,依次为:

“二月甲午,四日”,这一天吕甥、郄芮率军驻扎庐柳,以拒秦师;

“辛丑,十一日”,子犯与秦、晋大夫盟于郇;

“壬寅,十二日”,重耳入晋师;

甲辰(2)见《国语·晋语四》。,二月十四日,秦伯回;

“丙午,二月十六”,晋师入曲沃;

“丁未,十七日”,入绛,朝于武宫;

“戊申,十八日”,刺杀怀公于高梁。

“三月己丑晦,二十九日”,三月为小月二十九日,这一天是晋国旧族吕甥、郄芮纵火焚烧公宫的时间。

韦昭从三月“己丑晦”逆推,得出“二月甲午”为二月六日。竹添光鸿据此推算,每个干支日期均与上文推算结果相差两天,也未点明所用何种历法。《国语·晋语四》未点明二月、三月,致干支不可考,实际是采用殷正纪日的习惯。据陈遵妫先生说法,商代纪日,只标明它属于某一月的干支,要知道它在月中的位置,需要查考历谱来排比。周初仍用这个方法,但多标明诸如生霸(魄)、死霸(魄)之类月相。[17](P.965)而《左传》是在类似原始记录上整理过的,在“甲午”之前加上“二月”,杜预《春秋长历》在此基础上推算重耳归晋日期,从而点明了月份干支日,使历史时间清晰起来。

上述干支日验之于周历、夏历则扞格不通,验之于殷历则怡然理顺,这不是偶然的。据《晋书·律历志下》记载,后秦姚兴时天文学家姜岌著《三纪甲子元历》,书中认为:

然书契所记,惟《春秋》著日蚀之变,自隐公讫于哀公,凡二百四十二年之间,日蚀三十有六,考其晦朔,不知用何历也。班固以为《春秋》因鲁历,鲁历不正,故置闰失其序。鲁以闰余一之岁为蔀首,检《春秋》置闰不与此蔀相符也。《命历序》曰:孔子为治《春秋》之故,退修殷之故历,使其数可传于后。如是,《春秋》宜用殷历正之。[18](P.566)

《命历序》即纬书《春秋命历序》,《纬书集成》有著录。[19](P.884)若此条记载为真,说明孔子已知晓《春秋》采用殷历的事实,当然也反映了后人已知道《春秋》中的殷历。据陈遵妫先生所说,按新城新藏推定的春秋时期的历日来统计,从鲁隐公元年(公元前722年)到僖公四年(公元前656年)共67年中,有10年建子,49年建丑,8年建寅;从僖公五年(公元前655年)到哀公十六年(公元前479年)共177年中,有32年建亥,133年建子,12年建丑。春秋前半期,以殷正为岁首,闰月置于岁终,频大月及置闰法都没有规则,这说明当时还没有固定的历法。在春秋中期,即鲁文公、宣公时代以后,以周正为岁首,而频大月及置闰法颇有规则。春秋初期的“春王正月”一般是丑月,后期逐渐改为子月。[17](P.1023)这在晋楚城濮之战的叙事中也得到验证。

关于城濮之战的具体时间,《春秋·僖公二十八年》记载:

二十有八年,春,晋侯侵曹,晋侯伐卫。

三月丙午,晋侯入曹,执曹伯,畀宋人。

夏四月己巳,晋侯、齐师、宋师、秦师及楚人战于城濮,楚师败绩。楚杀其大夫得臣。

五月癸丑,公会晋侯、齐侯、宋公、蔡侯、郑伯、卫子、莒子盟于践土。[5](P.3958)

《春秋·僖公二十八年》包含三个干支日期,即“三月丙午”“夏四月己巳”“五月癸丑”,杜预《春秋长历》载“三月丁酉小,四月丙寅大,五月丙申小”[8](PP.76-77),三月朔日丁酉,丙午为三月十日,晋军攻入曹国;四月朔为丙寅,为大月(三十日),“夏四月己巳”为四月四日,这一天城濮大战,晋国同盟打败楚国;五月朔为丙申,“五月癸丑”为五月十八日,与杜预注“《经》书癸丑,月十八日也”相合,这一天晋国与其同盟国举行会盟,即“践土之盟”。《左传·僖公二十八年》对城濮之战的具体时间记载与《春秋经》相印证:

夏四月戊辰,晋侯、宋公、齐国归父、崔夭、秦小子慭次于城濮。

己巳,晋师陈于莘北,……楚师败绩。子玉收其卒而止,故不败。

晋师三日馆谷,及癸酉而还。

甲午,至于衡雍,作王宫于践土。

五月丙午,晋侯及郑伯盟于衡雍。

丁未,献楚俘于王,驷介百乘,徒兵千。郑伯傅王,用平礼也。

己酉,王享醴,命晋侯宥。

癸亥,王子虎盟诸侯于王庭。[5](PP.3961-3962)

依据杜预《春秋长历》,将《左传》引文的干支日及其事件列举于下:

“夏四月戊辰”为四月三日,这一天晋与宋、齐、秦会盟于城濮;

“己巳”即四月四日,为城濮战役那一天,《春秋》经、传日期一致,但《左传》记载战役经过,无疑更为详细而生动;

战役之后,晋军休整三日,“馆谷”,杜注:“馆,舍也。食楚军谷三日。”“及癸酉而还”,即四月八日还师振旅;

“甲午,至于衡雍,作王宫于践土。”“甲午”为四月二十九日,“衡雍”,杜注:“郑地,今荥阳卷县。襄王闻晋战胜,自往劳之,故为作宫。”城濮之战前,郑国本来是楚之盟国,楚国战败后,郑伯害怕,于是“行成于晋”,得到晋国的原谅,两国在郑地“衡雍”举行盟会。晋军还师归绛后,再出发到衡雍,经过二十一天左右。

“五月丙午”,即五月十一日,晋侯、郑伯举行盟会。

“丁未”即五月十二日,向周襄王举行献俘之礼。所谓“郑伯傅王,用平礼也”,杜注:“以周平王享晋文侯仇之礼享晋侯。”[5](P.3962)当年周平王东迁之时,晋文侯、郑武公立了大功,此处由郑伯傅相周襄王,由晋文公举行献俘之礼,为的是重申旧好,确立侯伯之位。“丁未”即子犯编钟“五月初吉丁未”,可见子犯编钟是为纪念城濮之战的胜利而铸造的。

“己酉”即五月十四日,周襄王举行享醴,锡命晋侯。

“癸亥,王子虎盟诸侯于王庭”,“癸亥”为五月二十八日,《春秋》书“癸丑”,杜预注云:“《经》书癸丑,月十八日也。《传》书癸亥,月二十八日,经、传必有误。” [5](P.3958)从会盟日程来说,以《春秋经》所书“癸丑”更为合理。若从“己酉”周王锡命礼至“癸亥”诸侯会盟之间将近半月,间隔时间太长了。

从重耳归晋以及晋楚城濮之战的干支日期来看,《左传》与《春秋》所用历法相一致,但个别地方有出入,这与《左传》一书为后人书写有关。《国语》一书也有后人搜集整理的内容,不完全是事件发生时的原始记录。但《左传》《国语》记载历史事件的时间这么准确,说明这两部书除参考鲁国《春秋》之外,肯定参考了相关晋国历史档案。关于重耳出亡及城濮之战也有一些不同记载,但稍显遗憾的是,这类史料文献不载年月日,时间都不太明确,如下文关于这一历史事件的岁星记事就是由《左传》作者推算出来的。

三、重耳出亡及城濮之战的岁星记事

在重耳出亡及城濮之战的时间推算上,值得注意的是《左传》《国语》多次引用岁星记事。其一为《国语·晋语四》记载重耳出亡,路过卫国之地五鹿,向野人乞食,野人“与之块”——给了一个土块,子犯认为很有寓意,讲了一番岁星纪年的道理:

天事必象,十有二年,必获此土。二三子志之。岁在寿星及鹑尾,其有此土乎?天以命矣,复于寿星,必获诸侯,天之道也,由是始之。有此,其以戊申乎!所以申土也。[9](P.339)

《左传·僖公二十八年》记载:“正月戊申,取五鹿。”[5](P.3959)韦昭认为戊申为正月六日,不正确。杜预《春秋长历》载“正月戊戌小”[8](P.76),正月朔为戊戌,戊申为正月十一日。城濮之战发生在公元前632年,据此推断“得块”之岁当为公元前644年,子犯能准确预判十二年后戊申这一天“必获此土”,是由岁星(即木星)运行周天所需十二年(实为11.8622年)推步而成,当为事件发生后所追述。

其二为《国语·晋语四》记载晋国史官董因所云:

董因迎公于河,公问焉,曰:“吾其济乎?”对曰:“岁在大梁,将集天行。元年始授,实沈之星也。实沈之墟,晋人是居,所以兴也。今君当之,无不济矣。君之行也,岁在大火。大火,阏伯之星也,是谓大辰。辰以成善,后稷是相,唐叔以封。《瞽史记》曰:‘嗣续其祖,如谷之滋,必有晋国。’”[9](P.365)

董因以占星家的语言重新讲述了重耳出亡时的天象,重耳出亡是受商星保佑的。而“元年始授,实沈之星”指重耳即位之年即鲁僖公二十四年,岁星将去“大梁”而在“实沈”之次,这自然是好兆头。这种岁星记事是可以通过“推步”得出来的,董因所谓星次“大梁”据说因魏迁都大梁而得名。《古本竹书纪年》记载:

(梁惠成王)六年,四月甲寅,徙都于大梁。[20](P.68)

梁惠王六年即公元前365年。范祥雍认为,关于魏徙都大梁还有“惠王九年”“惠王三十一年”说法。[20](P.68)新城新藏《〈左传〉〈国语〉之著作年代》论《左传》中的岁星记事乃依据公元前365年所观测之天象,以此为元始年推步而作。[14](P.418)也就是说,岁星之历元即起算之端在公元前365年,在此之前或之后均可以推算得出。在岁星分野中有韩、赵、魏而无晋国,很明显是三家分晋后才出现的岁星记事。在推步中,采用了传说史料。“实沈”即参星,为晋星,与传说中的“阏伯”均为高辛氏之子。《左传·昭公元年》记博物君子子产之语:

昔高辛氏有二子,伯曰阏伯,季曰实沈,居于旷林,不相能也,日寻干戈,以相征讨。后帝不臧,迁阏伯于商丘,主辰。商人是因,故辰为商星。迁实沈于大夏,主参。唐人是因,以服事夏、商。[5](P.4393)

班大为认为“实沈”与“阏伯”是有文字之前的原始神话的一个典型例子,其作用在于解释和传播重要的天文学和历法知识,描述了与春季主星座天蝎座和秋季主星座猎户座有关的神的人格化。这两个星座在天空中相对分布,不能同时出现在天空中,“阏伯”总是在“实沈”于东方升起之前沉入西方的地平线下[4](P.262),正如杜甫《赠卫八处士》中的名句“人生不相见,动如参与商”。值得注意的是,“不相见”的参、商接力成为晋文公的福星。重耳当年出奔时“岁在大火”为阏伯之星,得商之主神保佑,故云“辰出而参入,皆晋祥也”。而皆主“大火”即心星,而心星为商之祭祀主星。张培瑜则认为《左传》《国语》所书的岁星位置与实际天象全不相符,皆非其时观测实录,却与西汉末刘歆《三统历》相合;“有关岁星运动的记载为《春秋经》所无,都是《左传》新增的,所述史实也多为无经之传”,“是作者依据岁星12年行天1周推算得出的”,这个“作者”的时代大约是公元前357、358年左右。[15](PP.42-45)这与新城新藏所谓《左传》成书于公元前365年说相近。

四、战国竹书中有关重耳归晋及城濮之战的叙事时间

战国竹书文本以西晋汲冢出土的《竹书纪年》为最早,近些年来又陆续出土了四种文本,即清华二《系年》、清华七《子犯子余》《晋文公入于晋》、上博九《成王为城濮之行》,记载重耳归晋及城濮之战的叙事时间也有几种不同说法。

(一)《竹书纪年》关于重耳归晋的时间

西晋太康二年(281年)汲冢出土大量文献,其中有《纪年》十三篇,杜预《春秋经传集解后序》云:“其《纪年》篇起自夏殷周,皆三代王事,无诸国别也。唯特记晋国,起自殇叔,次文侯、昭侯,以至曲沃庄伯。庄伯之十一年十一月,鲁隐公之元年正月也。皆用夏正建寅之月为岁首,编年相次,晋国灭,独记魏事。”[5](P.4751)《竹书纪年》:“晋献公二十五年正月,翟人伐晋,周阳有白兔舞于市”[21](P.79),“昭公六年十二月,桃杏花”[21](P.84),“晋出公十年十一月,於粤子句践卒,是为菼执”[21](P.87)。从“正月”“十二月”“十一月”月份来看,杜预说《竹书纪年》“用夏正建寅之月为岁首”是可信的。重耳归晋事件亦见《竹书纪年》的记载,《水经·河水注》引《纪年》云:

《汲郡竹书纪年》曰:晋惠公十五年,秦穆公率师送公子重耳,涉自河曲。[21](P.80)

《左传》《国语》记载“济河”之事,但未记从何处渡河。《纪年》则明确说“涉自河曲”。《水经·涑水注》引《纪年》:

《竹书纪年》云:晋惠公十有五年,秦穆公率师送公子重耳,围令狐、桑泉、臼衰,皆降于秦师。狐毛与先轸御秦,至于庐柳,乃谓秦穆公使公子絷来与师言,退舍,次于郇,盟于军。[21](P.81)

《竹书纪年》记载狐毛、先轸率晋师“御秦”,《国语·晋语四》则载“吕甥、郤芮帅师”,两处不一致,似以《纪年》为准。《左传》记载吕甥、郤芮拥戴晋惠公夷吾及其子怀公圉,在晋文公即位以后,火烧公宫,后为秦穆公所杀;而狐毛、先轸则拥戴晋文公,城濮之战前,狐毛被任命为上军元帅,在战役中起了重大作用。先轸为下军副帅,病逝于大战之前。晋惠公夷吾在位有十四年、十五年之说。雷学淇认为,晋大夫里克弑其君卓子,立晋惠公夷吾,在《春秋》鲁僖公十年正月,相当于夏正九年十一月;晋惠公死于鲁僖公二十四年冬,则惠公在位实际是十五年。[22](PP.472-473)《国语·晋语三》:“十五年,惠公卒,怀公立,秦乃召重耳于楚而纳之。晋人杀怀公于高梁,而授重耳,实为文公。”[9](P.335)此说法与《竹书纪年》“晋惠公十五年”说一致。若以《春秋》殷历说而论,鲁僖公十年正月相当于夏正九年十二月,与“晋惠公十五年”也不矛盾。

(二)清华二《系年》、清华七《子犯子余》记重耳在秦的时间

晋惠公去世后,立其子晋怀公圉。公子重耳在秦国帮助下归晋,成为国君,并杀了晋怀公。清华二《系年》简37—39记载:

怀公自秦逃归,秦穆公乃召文公于楚,使袭怀公之室。晋惠公卒,怀公即立,秦人起师以内(纳)文公于晋,晋人杀怀公而立文公,秦晋焉始合好,穆(戮)力同心。[23](PP.57-58)

关于重耳在秦国的时间,有一年、三年之说。《左传·僖公二十三年》记重耳由楚入秦以后,补充了一些情节及人物对话,“秦伯纳女五人,怀嬴与焉,奉匜沃盥,既而挥之。怒曰:‘秦晋匹也,何以卑我!’公子惧,降服而囚”[5](PP.3941-3942),“怀嬴”为秦穆公先许配子圉,子圉逃回晋国,立为国君后,秦穆公再将其配与重耳,即《系年》“使袭怀公之室”之意。与《系年》平铺直叙的写法不同的是,《左传》对人物言行格外注重,这些对话可能来自当时流行的一些语类文本。从《左传》记载来看,重耳于鲁僖公二十三年至秦,二十四年归晋,只有一年时间。

清华七《子犯子余》篇题书于第一简简背,包括15支简,记载秦穆公与子犯、秦穆公与子余(赵衰)、秦穆公与蹇叔、重耳与蹇叔之间的几组对话,未记载秦穆公与重耳之间的直接对话,可知秦穆公是想从侧面了解重耳之为人,来确定重耳是否值得帮助。这些对话内容不见于传世典籍,与《左传》《国语》对重耳适秦的时间记载有出入,如简1—3记载秦穆公与子犯的对话:

耳自楚适秦,处焉三岁,秦穆公乃召子犯而问焉,曰:“子,若公子之良庶子,胡晋邦有祸,公子不能止焉,而走去之?无乃猷心是不足也乎?”子犯答曰:“诚如主君之言,吾主好定而敬信,不秉祸利,身不忍人,故走去之,以节中于天。主如曰疾利焉不足,诚我主古(故)弗秉。” [24](P.25)

从引文可知,重耳在秦国的时间长达三年,这一说法又见于《韩非子·十过》:“公子自曹入楚,自楚入秦,入秦三年,秦穆公召群臣而谋曰。”[25](P.66)但此说未见诸《左传》等传世史书。引文“子,若公子之良庶子”之“若”,可释为“乃”,“良庶子”一词又见北大藏秦简《禹九策之七》简25:“七曰:良庶子,从人月,绎(释)带彻,长不来,直吾多岁,吉”,李零解释“良庶子”一词见于清华简《子犯子余》,“整理者认为是掌管群公子的职官”。[26](P.48)“庶子”是战国时期秦国词汇,《商君书·境内》:“其有爵者乞无爵者以为庶子,级乞一人。其无役事也,其庶子役其大夫,月六日。其役事也,随而养之军。”[27](P.114)无爵之人为有爵者之随从,谓之“庶子”,如《史记·商鞅列传》记载商鞅为魏国中庶子,《史记·刺客列传》记秦国中庶子蒙嘉,秦穆公称呼子犯(狐偃)、子余(赵衰)为“良庶子”,即指二人为臣属重耳的随从。子犯回答秦穆公的话不卑不亢,维护重耳的声誉,说明臣属维护主君的利益是理所当然的。

(三)清华二《系年》、清华七《晋文公入于晋》对城濮之战时间的记载

清华二《系年》叙述晋楚城濮之战,简41—44云:

晋文公立四年,楚成王率诸侯以围宋,伐齐,戍谷,居镬。晋文公思齐及宋之德,乃及秦师围曹及五鹿,伐卫,以脱齐之戍及宋之围。楚王舍围归,居方城。令尹子玉遂率郑、卫、陈、蔡及群蛮夷之师交文公,文公率秦、齐、宋及群戎之师以败楚师于城仆(濮),遂朝周襄王于衡雍,献楚俘馘,盟诸侯于践土。[23](P.60)

晋文公四年为公元前633年。《国语·晋语四》“文公救宋败楚于城濮”章云:“文公立四年,楚成王伐宋,公率齐、秦伐曹、卫以救宋。”[9](P.377)这一记载与清华二《系年》相互验证。《左传·僖公二十七年》记载楚成王“围宋、伐齐、戍谷”,次年(僖公二十八年,公元前632年)则爆发晋楚城濮之战,可见《系年》与《国语》《左传》记载相合。

清华七《晋文公入于晋》记载重耳入晋以后发号施令、治政整军的一系列措施,在此基础上进行军事行动,开始争霸战争,其内容不见于传世典籍。简7—8记载:

元年,克原。五年,启东道,克曹、五鹿,败楚师于城濮。建卫、成宋、围许,反郑之埤。九年,大得河东之诸侯。[24](P.40)

“反郑之埤”事又见《国语·晋语四》:“文公诛观状以伐郑,反其陴”,韦昭注:“反,拨也。陴,城上女垣。”[9](P.380)晋文公在位九年,《春秋·僖公三十二年》:“冬十有二月己卯,晋侯重耳卒。”[5](P.3976)《国语·周语上》“内史兴论晋文公必霸”条记载:“襄王十六年,立晋文公。二十一年,以诸侯朝王于衡雍,且献楚捷,遂为践土之盟,于是乎始霸。”[9](P.44)与上引文“晋文公五年”说相印证,但与清华二《系年》及《国语·晋语四》晋文公四年说有矛盾。战国竹书基本上是历史大事记,没有对重耳归晋以及城濮之战的具体时间的记载,而《左传》《国语》则根据历史档案,记载了具体日期,提供了更多历史细节,相比较来说,可信度要高得多;同时,《左传》也采用了一些竹书文献的内容,下文试论。

(四)上博九《成王为成(城)仆(濮)之行》对城濮之战时间的记载

竹书“成仆”即“城濮”,上博九《成王为城濮之行》分为甲、乙本,凡九简,209字。(3)参看马承源主编《上海博物馆藏战国楚竹书(九)》,上海:上海古籍出版社,2013年。《成王为城濮之行》的图版在第17—28页,释文在第143—153页。残损比较严重,关于其编连,学者意见不统一。有学者认为甲、乙本为一篇(4)说参曹方向《上博九〈成王为城濮之行〉通释》,简帛网,2013年1月7日;陈伟《〈成王为城濮之行〉初读》,简帛网,2013年1月5日。,内容主要为楚令尹子文(即斗榖於菟)与蒍贾(字伯嬴)的对话。整理者陈佩芬有很好的释文,但个别字的解释存有疑问。笔者参考学者意见,试作连读:

(甲1)成王为城濮之行,王使子文教子玉,子文受师于睽,一日而毕,不叩一人。子(甲2)玉受师,出之蒍,三日而毕,斩三人。举邦贺子文,以其善行师。王归,客于子子文,甚喜。(甲3)合邦以饮酒,薳伯嬴犹幼,顾持肉饮酒。子子文举薳贾伯嬴曰:“榖於菟为(乙1)楚邦老,君王免余罪,以子玉之未患,君王命余受师于睽,一日而毕(乙2)不叩一人。子玉出之蒍。三日而毕,斩三人,王为於菟举邦贺余,汝(甲4)独否。余见食是为天弃,不思正人之心。”伯嬴曰:“君王谓子玉未患,(乙3)命君教之,君一日而毕,不叩(一人),言乎君子哉,闻……(甲5)师,既败师已,君为楚邦正,喜君之善而不诛子玉之师之……”

《左传·僖公二十七年》记载城濮之战交战双方中,楚军一方的战前准备,与上博九《成王为城濮之行》内容相近:

楚子将围宋,使子文治兵于睽,终朝而毕,不戮一人。子玉复治兵于蒍,终日而毕,鞭七人,贯三人耳。国老皆贺子文,子文饮之酒。蒍贾尚幼,后至,不贺。子文问之,对曰:“不知所贺。子之传政于子玉,曰:‘以靖国也。’靖诸内而败诸外,所获几何?子玉之败,子之举也。举以败国,将何贺焉?子玉刚而无礼,不可以治民。过三百乘,其不能以入矣。苟入而贺,何后之有?”[5](PP.3955-3956)

将《左传·僖公二十七年》相关记载与上博九《成王为城濮之行》相比较,两篇内容相近,明显感觉到《左传》对楚国阵营中的人物对话以及前后因果,叙述生动而详细,表达要精练得多,而竹书文本要朴拙一些。从书写的一般规律来看,后出转精,《左传》作者在写作时可能参考了诸如《成王为城濮之行》之类的文献,这类文献时间概念不是很明确,如同历史故事,与《国语》之类的“语”类题材比较接近。

五、小结

重耳归晋以及晋楚城濮之战是春秋史上的大事件,对这一事件的记载体现为不同书写形式,这些文本相互支撑,尽可能全方位地展现这一大事件的来龙去脉。时间是历史文学的血肉,笔者从书写时间这一角度着眼,论述早期书写文本的复杂性特征。子犯编钟铭文记载子犯佑助重耳归晋以后,在城濮之战中打败楚国,向周襄王献俘的事件,钟铭日期“惟王五月初吉丁未”为献俘日期,与《左传》“五月丁未”时间相同,即鲁僖公二十八年(公元前632年)殷历五月十二日。在重耳归晋日期、城濮之战的日期方面,《春秋》经传的记载是相同的。

《春秋》是鲁史,对天象的记载是在实测基础上的,没有岁星纪年的信息。但《左传》一书则有多处岁星纪年的记载,这些都不是当时的观测记录,而是后人根据岁星运行的规律推步出来的,其推步的时间点大约在公元前365年左右。《左传》这部书的书写者可能不止一人,其中有战国时期的人物。

对重耳归晋及城濮之战的记载尚有战国时期的竹书文本,除西晋汲冢出土《竹书纪年》外,包括上博九《成王为城濮之行》、清华二《系年》、清华七《子犯子余》《晋文公入于晋》,这些竹书文本从不同角度记载了相关历史事件,与传世文献《左传》《国语》互证,具有重要价值。这些文献用战国文字书写,体现了早期书写文献的客观实在性,与传世文献相映成趣,相得益彰,构成了共时性的语义场,对上古经典的成书过程的研究也具有一定的启示作用。《左传》《国语》等历史文学著作中,凡是有明确时间的事件往往出于历史档案;凡是时间不明确的文学性书写,往往采自战国时人的传说、谈论和知识。

猜你喜欢
晋文公国语左传
《左传》《国语》所见旧有繇辞及临时自撰繇辞考辨
晋文公伐原
晋文公伐原
晋文公伐原
晋文公伐原
《左传》“摄官承乏”新解
《左传》疑难考辨一则
《左传》“讥失教也”句献疑
《国语·周语》“奉礼义成”辨析
《国语》故训与古文字