对于司马迁的生年,自王国维因唐人张守节的《史记正义》注《太史公自序》之“五年而当太初元年”为“迁年四十二岁”,推司马迁生于汉景帝中五年之后,至今争论不休。在先贤对张氏的注解毫不怀疑,争论于一些版本、轶文等细枝末节的是否错讹之时,对《太史公自序》原文的研读似不够。窃以为,司马迁在《自序》中是说自己生于建元年间的。虽然说的似乎不那么直接,但细读原文并略作推理即可得此结论。再者,从《史记正义》的一些注释看,张守节是个不够严谨的注解者,其《史记正义》不能尽信。
一、司马迁为什么不直写自己的生年司马氏父子竭尽两世的努力,为撰写《史记》付出了毕生心血,特别是司马迁忍受了宫刑的耻辱,披肝沥胆,完成了这部五十二万六千五百字的空前巨著。他知道这部“究天人之际,通古今之变,成一家之言”[1]2068 (《汉书·司马迁传》)的重要著作会在中国的历史上发挥怎样的作用,他也知道自己会是一个像文王、孔子、左丘明、孙子一样的重要历史人物。他说:“退而深惟曰:‘夫《诗》《书》隐约者,欲遂其志之思也。昔西伯拘羑里,演《周易》;孔子厄陈蔡,作《春秋》;屈原放逐,著《离骚》;左丘失明,厥有《国语》;孙子膑脚,而论兵法;不韦迁蜀,世传《吕览》;韩非囚秦,《说难》《孤愤》;《诗》三百篇,大抵贤圣发愤之所为作也。此人皆意有所郁结,不得通其道也,故述往事,思来者。’于是卒述陶唐以来,至于麟止,自黄帝始。”[2]3300这是司马迁自述作《史记》的因由和动力,也是其自比文王、孔子等以思想、文化影响后世的先贤而自居。司马迁“思来者”,对自己今后的历史影响是有所想象的,他这位写过十二本纪、三十世家、七十列传的传记作家,不会不懂得生年之重要,不会不重视自己的生年。司马迁对自己生年的叙写之所以在后人看来不那么明白,是受作为国家历史这样的官方书籍自身体例限制,不能明显交代自己的生年。《史记》中连文帝、武帝的生年都无明确记载,司马迁能直截了当地叙写自己的生年吗?
二、以事记年、以大记小的纪年方法中国很早以前就采用干支纪年的办法,干支纪年和以皇帝在位时间相配合,就稍显形象一些,至少可以记住这事发生时是哪位皇帝当家在位。在汉武帝之前都是这样纪年的。汉高帝当了12年,就依次记为“汉三年”“高祖十二年”,惠帝在位7年,就记为“孝惠五年”等。到了汉武帝时,开始正式“改元”。所谓“改元”就是不再一直从皇帝即位的第二年为元年依次数下来,而是可以换一个开始年为元年往后数。这个“元年”是因为国家发生了一件重大事件或传播广泛的有趣事情,就称这年为元年。如“元狩元年”就是因为“获白麟”,这事少有趣且传遍天下,容易让人记住,就以这年为元年。汉武帝封禅泰山,十几万大军浩浩荡荡,这是百姓皆知且容易记住的国家大事,就改这年为元封元年。这样的纪年容易让人记住,且回想起来颇有趣味。这种方法就是“以事记年”。事实上,很多人都是以某一件对自己印象特别深刻的那件事情来记住那个年份的。对于一些小的事情,只要以这件人人皆知的重要事情为坐标记住,就容易记清年份,便于后人查找,这就是“以大记小”的方法。司马迁在《史记》中常用的就是这种“以事记年,以大记小”的方法。其实这种方法早在《左传》中就出现过,如记齐国灭莱这件事之开始时就说:“十一月,齐侯灭莱,莱恃谋也。于郑子国之来聘也,四月,晏弱城东阳,而遂围莱。”[3]831这是说围莱的开始时间是郑国的子国访问鲁国的那一年。子国访鲁在前一年,即鲁襄公五年,《春秋》有记载。从上年的四月围困莱子国,到了第二年十一月灭莱,齐国围困莱子国都用了一年半的时间。司马迁写《史记》常用这种以重要事件为坐标记述相对次要的事情的方法。
司马氏迁居夏阳这件事,在历史上无须记载,但对司马迁家族来说是重要的。他是这样写这事的:“晋中军随会奔秦,而司马氏入少梁。”[2]3285把“司马氏入少梁”系于“随会奔秦”这件大事之下,入少梁的时间便可查,不然则难以说清。随会奔秦是《左传》有详细记载的大事,晋襄公死后,太子夷皋很小,赵盾派随会跟先蔑到秦国迎接在秦国的襄公之弟公子雍回晋国为君。等到秦康公送公子雍到晋国时,赵盾因夷皋的母亲坚决要求立太子为国君而变卦。赵盾无奈带兵袭击了来送公子雍为晋君的秦军,两国发生了令狐之战。因此,先蔑、随会作为迎接公子雍的当事人无法接受而奔秦。这年是晋灵公夷皋元年,公元前620年,“四年,伐秦,取少梁。”[2]1673司马迁的祖先才得以在少梁定居下来。“随会奔秦”比“司马氏入少梁”早三年,但二者有联系,前者作为大事有记载,而司马氏入少梁在司马迁之前是没有记入史册的。
司马迁记父亲的卒年是相同的笔法,他说:“是岁天子始建汉家之封,而太史公留滞周南,不得与从事,故发愤且卒。”[2]3295司马迁没有说父亲“卒于元封元年”,而是说“是岁天子始建汉家之封”这是对这年汉武帝始封禅泰山这件大事的记载,然后把父死系于汉武帝的封禅泰山之下,这就便于记忆和查找了。
记载自己的生年,司马迁用的也是这样的方法。一般人的生年并不足道,也难于被家人记住,所以古人创造了用十二生肖,即干支纪年的方法,只要想住生年的代替性动物就可以了。司马迁把自己的生年系于父亲的行年之下,就像把父亲的逝年系于君王的行年之下一样,这是便于记住和查找的,况且自己之生就是父亲生平中的一件大事。所以他说:“太史公仕于建元元封之间。……太史公既掌天官,不治民。有子曰迁。迁生龙门,耕牧河山之阳。”[2]3288-3293这既是记父亲之事,又是记自己生年的背景,对于家人来说,父亲开始当官的年份是容易记住的,升官的年份也是印象深刻的,儿子就生在父亲升官的那一年,自然也就不会被忘了。
三、司马迁自叙生于父亲“掌天官”的建元年间在《太史公自序》中,司马迁对自己生年的背景记述清楚。《自序》说:“太史公仕于建元元封之间”,这是司马迁的父亲司马谈当官的始终,是自己和父亲相重合的一段历史。司马谈在汉武帝建元年间入仕,到朝中当官,到元封年病逝而终止了自己当官的一生。
司马谈始仕于建元年间,这是司马迁明确告诉我们的。汉武帝建元共六年,元年是公元前140年,六年是前135年。司马谈究竟那一年入仕,司马迁没说明,但在这六年之间是明确的。
在《自序》中,司马迁说过“太史公仕于建元元封之间”后,叙述了他父亲的《论六家要指》。接下来,司马迁说:“太史公既掌天官,不治民。有子曰迁。”[2]3293此句之文意是紧接“太史公仕于建元”,写出了《论六家要指》之后的。太史公建元年间当官,开始可能是一般的郎中,以后“掌天官”,这个官主事,但“不治民”。接下来是“有子曰迁”。司马谈是在入仕之后,写出了《论六家要指》后,“掌天官”后生的司马迁,也就是说司马迁生于汉武帝建元元年之后。这话是司马迁自己说的,白纸黑字印在《史记》中。司马迁生于汉武帝建元年间是确凿无疑的,任何人都可以根据司马迁自己的记述作出这一判断。任何到建元元年之前寻找司马迁生年的做法都是违背司马迁《太史公自序》的记述的。
《司马迁生年王郭两说学术研讨论文解读》说:“排比司马迁行年的资料,要依据《史记》的本证,这才是抱西瓜。”可惜的是诸家在论述司马迁的生年时偏偏遗漏了“太史公仕于建元元封之间,……太史公既掌天官,不治民。有子曰迁”这一司马迁生年的重要历史记述。
应当注意:自“太史公仕于建元元封之间”,到“迁俯首流涕曰:‘小子不敏,请悉论先人所次旧闻,弗敢阙”这段文章,是司马迁与其父司马谈生年重合的部分。我们可以删去那些无关时间的段落来读这段文章。
太史公仕于建元元封之间。……太史公既掌天官,不治民。有子曰迁。迁生龙门,耕牧河山之阳。年十岁则诵古文。二十而南游江、淮,上会稽,探禹穴,闚九疑,浮于沅、湘;北涉汶、泗,讲业齐、鲁之都,观孔子遗风,乡射邹、峄;戹困鄱、薛、彭城,过梁、楚以归。于是迁仕为郎中,奉使西征巴、蜀以南,南略邛、笮、昆明,还报命。是岁天子始建汉家之封,而太史公留滞周南,不得与从事,故发愤且卒。[2]3288-3295
这段文章有五个时间点,一是司马谈入仕起始之年,是“建元年”,虽然没有写清具体是建元几年,但绝不会超出“建元”这个年号,即不会早于公元前140年。二是司马谈仕之终年是元封元年,同时为仕初年又是司马迁的生年,仕之终年又是司马谈的卒年,这一始、一终,一生一死界定了这段历史时空。三是司马迁十岁这年他已能“颂古文”,四是二十岁这年开始南游,五是“迁仕为郎中,奉使西征”之年,应是二十几岁。司马迁的年龄:十岁、二十是在“太史公仕于建元元封之间”这个国家纪年之下的,不然则无法计算和查找。
在写父亲司马谈的事迹时是虚写,司马迁详细介绍了司马谈的《论六家要指》,这不仅是司马谈的理论,也是司马迁自己的认识。在写自己的事迹时则实写,这样虚实相映,父子相继。司马迁先写自己的生年,再写自己的生地,生年由叙写父事带出,写生地则直截了当。司马迁作为历史学家,时间顺序观念是很强的,在写了司马谈入仕后,方写其《论六家要指》,说明此作的时间在入仕之后。然后才写“太史公既掌天官,不治民”。“掌”是执掌的意思,是部门的主要领导,初入仕不会立即当主要领导,所以是入仕过了一段时间之后。然后才是“有子曰迁”。“有子曰迁”在司马谈建元入仕之后,在其写出《论六家要指》之后,在其执掌天官之后。
“有子曰迁”之“有”,生也。《词源》“有”的第二个义项是“发生”的意思,并以《左传》为例。“有子曰迁”即“生子曰迁”。从上下文看“有子曰迁”也是“生子曰迁”之意。接下来说“迁生龙门”正是“有”为“生”意之连贯, 而且这也是措辞之必要,不然连用两个“生”字,会给人重复之感。上文没有司马迁家庭的任何交代,下文则说:“迁生龙门,耕牧河山之阳。年十岁则诵古文,二十而南游江淮。”“十岁”“二十”都是司马迁人生的时间节点,如果司马迁没有交代自己的生年,那就缺少了一个重要的人生起点。事实上,司马迁是交代了,他就生于父亲掌天官之后。今人不明白司马迁为什么不直接说自己生于哪一年,可这是《史记》的写作体例所不允许的。《史记》对时间的交代是大有学问的,用的是春秋笔法,细读《史记》就能发现其叙写年、月、日、时的规则。事实上,司马迁在尽量写清自己的生年时,已经做了最大努力,他是在叙父亲的经历时似乎是无意中带过自己生年的。
“有子曰迁”许多人把“有”理解为“生有”,认为是“早就有了”而不是“刚刚发生或发生不久”的意思。“有”之“发生”意,至今仍用,至少在口头语言上仍在用。说“张三有孩子了”,是说“张三刚生了孩子不久”,如果张三的孩子三岁了,再有人说“张三有孩子了”,别人马上会纠正说:“人家的孩子都三岁了”。司马迁对“生”的惯常用法是“生有”的意思:如“昌生无泽”“无泽生喜”“喜生谈”等,这才是《史记》中“生”字最多的用法。以此,我们更可以看出“有子曰迁”是今人理解的“生子曰迁”之意。
作者先述其生年,父亲在建元年到朝廷任职天官后生了自己,再述其生地,生于龙门。说自己耕牧于黄河之西,梁山之东,二十岁前在家中耕读,二十岁之后南游。南游数年后当了一名郎中,当郎中后奉使巴、蜀。接下来的一段说:
是岁天子始建汉家之封,而太史公留滞周南,不得与从事,故发愤且卒。而子迁适使反,见父于河洛之间。[2]3295
“是岁”是指司马迁“还报命”的这一年。这年是汉武帝始封禅泰山之年,即元封元年。司马谈因没能跟随武帝封禅泰山发愤而死。自司马迁“二十而南游江、淮”到元封元年不会超过十年,在最无事可写的青少年时期,司马迁以十年为限简写自己的经历,二十岁以后,当官以后可写的事情多了,能让其叙述再超过十年吗?以现代人写简历的要求来说,也是不可以的。所以这年司马迁二十几岁。这个年龄是从司马迁上述文章中得出的。元封元年是前110年,建元元年到元封元年正好30年,生于建元之后的司马迁无论如何也不会超过30岁。
卒三岁而迁为太史令,紬史记石室金匮之书。五年而当太初元年,十一月甲子朔旦冬至,天历始改,见于明堂,诸神受纪。[2]3296
司马贞注《史记》的“索隐”说:“《博物志》:‘太史令茂陵显武里大夫司马迁,年二十八,三年六月乙卯除,六百石。”[2]3296
司马谈卒于元封元年,“卒三岁而迁为太史令”三岁当指虚年,亦即元封三年司马迁为太史令。这年司马迁28岁,以此推知司马迁生于建元六年。司马迁生于“建元六年”是符合司马迁自己说的“太史公仕于建元元封之间。太史公既掌天官,不治民。有子曰迁。迁生龙门”的。而说太初元年“迁四十二岁”则等于是说司马迁生于汉景帝中五年,这远在司马谈入仕之前,这显然与司马迁自己的说法不合,所以不可取。
因此,我认为李长之先生在1948年正式提出的司马迁生于汉武帝建元六年之说是正确的。因为这符合司马迁自己说的“太史公仕于建元元封之间……太史公既掌天官,不治民。有子曰迁。迁生龙门,耕牧河山之阳”[2]3288-3293这段对自己生年的记述。
四、张守节之《史记正义》不可尽信王国维以张守节之司马迁太初元年42岁说为据,推司马迁生于景帝中元五年之说之所以不可取,一是与《自序》不合,二是张守节的《史记正义》本身不可皆信。今人读到的《史记》多是三家注本,但张守节的《正义》错谬甚多,直接与《史记》原著相忤逆,不可信。如果完全相信张守节的注解,会对《史记》产生许多错解。今举《史记》之《正义》与原著本意相违背者数例,希望引起研究《史记》的专家学者们注意。
(一) 断章取义《史记》第一篇《五帝本纪》之评赞说:“太史公曰:学者多称五帝,尚矣。”[1]46唐人张守节的“正义”注曰:“太史公,司马迁自谓也。《自序传》云:‘太史公曰先人有言’,又云‘太史公曰余闻之董生’,又云‘太史公遭李陵之祸’,明太史公,司马迁自号也。”[2]47
张守节虽然以《太史公自序》为证解释“太史公”是司马迁“自谓”“自号”,但其所举例只是《自序》的后半部分。
《太史公自序》是司马谈与司马迁的合传,自开篇到“迁俯首流涕曰:‘小子不敏,请悉论先人所次旧闻,弗敢阙。’”[2]3295是司马谈传,后面才是司马迁传。司马谈传,司马迁是以第三人称写的,自称“迁”。在写父亲的传记时,司马迁不便以第一人称说“余”如何如何,而只是自称其名“迁”。到了为自己写传记时,司马迁才以“余”发言叙事。对司马谈传中的“太史公”是绝对无法用“自谓”、“自号”解释为司马迁的。
在《太史公自序》的司马谈传记部分,司马迁6次称其父为太史公:“喜生谈,谈为太史公”[2]3286;“太史公学天官于唐都”[2]3288;“太史公仕于建元元封之间”[2]3288;“太史公既掌天官,不治民。有子曰迁”[2]3293;“而太史公滞留周南”;“太史公执迁手而泣”[2]3295。
这里的“太史公”都是指司马谈是毋庸置疑的,是任何读者都清楚的。张守节注《史记》,且名之曰“正义”,在注“太史公”时又引用了那么多例证,他不可能没有通读《太史公自序》,而他越过《太史公自序》的前半部分,专以司马迁传部分的“太史公”为据,注之为“自谓”“自号”,而以此为对《史记》全书中“太史公”的注解,这就是有意识的断章取义,以此误导了后人。此一错误,并非一般的差错,是在注者明知《自序》中的“太史公”先是司马迁对其父亲的称呼之后做出这样的注解的。
(二) “地重”非“地舄卤”《齐太公世家》说:“武王已平商而王天下,封师尚父于齐营丘。……太公至国,修政,因其俗,简其礼,通商工之业,便鱼盐之利,而人民多归齐,齐为大国。”[2]1480张守节的《正义》注营丘说:“《括地志》云:‘营丘在青州临淄北百步外城中。’”[2]1480这是说营丘在临淄。
但《货殖列传》说:“太公望封于营丘,地舄卤,人民寡,于是太公劝其女功,极技巧,通鱼盐,则人物归之,繦至而辐凑。”[2]3255营丘的土地特点是“地舄卤”--盐碱。在写到临淄时则说:“临淄亦海岱之间一都会也。其俗宽缓阔达而足智,好议论,地重,难动摇,怯于众斗,勇于持刺,故多劫人者,大国之风也。”临淄之地的特点是“地重”。
“地舄卤”与“地重”显然其土地特点是不同的,“地重”非“地舄卤”,这说明营丘不在临淄,证明张守节的注解是不对的,证明张守节在作注时没有联系司马迁在《货殖列传》中对两地土地不同特点的论述,误把两地混为一地。
(三) 不知东西张守节的《正义》注《自序》之“耕牧河山之阳”说:“河之北,山之南也。案:在龙门山南也。”[2]3294
司马迁说:“耕牧河山之阳”,张守节就说“河之北”。他竟不知道夏阳或韩城在黄河的西边,不知道这很长的一段黄河是南北向的。他只知道河北为阳,不知道河西亦为阳,日出东方,阳光洒向西岸,就像太阳从南边照射到河的北岸一样,所以河西亦称“河之阳”。正确的注解应该是“河之西”。“山”是指梁山,这正是韩城在春秋时期称“少梁”之由来。司马迁说“司马氏入少梁”就是指其祖先定居韩城。韩城在梁山之东,山之东为阳,所以,司马迁才说“耕牧河山之阳”。[2]3293
今司马迁祠就是“东临黄河,西枕梁山”。张守节只知河北、山南为阳,不知河西、山东为阳。
(四) 自相矛盾张守节在注《史记》第一篇《五帝本纪》之“太史公”时说:“司马迁自谓也。”举出司马迁传部分的三个例句后又说, “明太史公,司马迁自号也。”到了《史记》的最后一篇《太史公自序》之“谈为太史公”时,张守节再也无法说,司马迁“自谓也”了。他是怎么说的呢?
张守节先引虞喜《志林》云:“古者主天官者皆上公,自周至汉,其职转卑,然朝会坐位犹居公上。尊天之道,其官属仍以旧名尊而称也。”然后下按语说:“下文‘太史公既掌天官,不治民,有子曰迁’,又云‘卒三岁而迁为太史公’,又云‘太史公遭李陵之祸’又云‘汝复为太史,则续吾祖矣’,观此文,虞喜说为长。乃书谈及迁为‘太史公’者,皆迁自书之。”[2]3288
首先,此注中的“卒三岁而迁为太史公”与原文不符,原文是“迁为太史令”。[2]3296这有篡改文献之嫌。其次,张守节在举例时是有选择的,本来《太史公自序》在“太史公既掌天官之后”,还有“太史公留滞周南”、“太史公执迁手而泣”,但张守节跳过此两例引“卒三岁而迁为太史公”,再引“太史公遭李陵之祸”,又倒回来引“汝复为太史,则续吾祖矣”。
以此可以看出,张守节在注释用例上是动了心思的,他不是从对原文的解读和研究中来理解原文,解释原文,而是选择原文中的一些文句来证明自己的某种并不正确的认识和理解。如果尊重客观实际、尊重原著的话,任何人都能看到,《太史公自序》中至少是司马迁先称自己的父亲司马谈为太史公的,这是无法歪曲的事实。虽然下面有司马迁自称的部分,但司马迁是否既称自己的父亲为太史公,又自称太史公是深可怀疑的,不近人情的,是不合礼法的。张守节不深研此事,却不顾事实,硬要继续证明太史公是司马迁“自谓”“自号”,这样的《正义》能“正”吗?能令人信服吗?我甚至怀疑,张守节把“太史令”举例为“太史公”不是疏忽而是有意为之,如果如此,那就太成问题了。
张守节在《五帝本纪》中注释的是“谁是太史公”这个问题,到了《太史公自序》中注释“谈为太史公”时,他应继续说清“太史公”究竟是指谁。既然司马迁说“谈为太史公”,那么“太史公”还能是“自谓”“自号”吗?但是张守节没说这个问题,而是说“书谈及迁为‘太史公’者,皆迁自书之”,这显然与解释“谁是太史公”不是一个问题。同时,他也没有拿出“皆迁自书之”的任何证据。张守节的太史公是司马迁自谓说不但与司马迁的原文相矛盾,他的注释也是自相矛盾的,如果“书谈及迁为‘太史公’者,皆迁自书之”,他就不是“自谓”“自号”了,难道“自”还有既指自己,又指“父亲”的用法吗?《史记》注完了,这个出现过156次的“太史公”究竟指谁,张守节并没有弄清。
以上所举四例,除第三例把营丘与临淄混为一地与《史记》不合外,其他三例都是有关司马迁的。出现这样低级的错误足见张守节对司马迁本人,对《太史公自序》并没有什么研究,更没有认真严肃的研究。他的“迁年四十二岁”只是随便一说,没讲任何依据。有人说,其依据与司马贞的《索隐》同出《博物志》,这只是后人的附会,没见有任何的证据。张守节说司马迁太初元年四十二岁是与《太史公自序》明显不合的,是毫无依据的,从其注《史记》的态度和实际做法看,张守节是不负责任的,是不可信的。
我们应当相信用尽了毕生精力写出《史记》的司马迁在叙写自己的生年时是清楚而认真的,而那个千年后为《史记》“正义”的张守节则是不可信的。司马迁生于建元六年是经得起历史检验的。
[1] | [汉]班固.汉书[M].北京:中华书局, 1999. |
[2] | [汉]司马迁.史记[M].北京:中华书局, 1959. |
[3] | [春秋]左丘明.左传[M].上海:上海古籍出版社, 1997. |