袁 傳 璋
(安徽師范大學(xué) 文學(xué)院,安徽 蕪湖241000)
司馬遷自覺承“五百之運”,繼周、孔絕業(yè),以續(xù)作《春秋》自期,“究天人之際,通古今之變”,撰成的《太史公書》(東漢以后稱《史記》),是中華民族上起黃帝、下迄漢武三千年間的文化總匯,是我們民族心靈、民族智慧的偉大載體。要讀懂博大精深的《史記》其書,必得讀懂司馬遷其人。由于史闕有間,史公生平中存在許多疑案。其中與“史記學(xué)”中若干基本問題相關(guān)聯(lián)的史公生卒年的定年問題,尤使學(xué)者困擾。
司馬遷的生年,《史記·太史公自序》未錄,班固《漢書·司馬遷傳》缺載,因此遂成千古疑案。清代乾嘉以降下迄近世,有數(shù)位學(xué)者提出司馬遷生年的見解。王鳴盛認為當(dāng)生于漢景帝前元四年(前153),周壽昌認為生于漢景帝后元元年(前143),張惟驤認為生于漢武帝元光六年(前129)。以上諸說大抵出自臆測,并無實據(jù),因而不具深入探討的價值。直到王國維先生于1916年發(fā)表《太史公系年考略》,1923年將此文易題為《太史公行年考》重新發(fā)表,方將司馬遷生年的探討引向科學(xué)之途。
王國維的第一項貢獻是,他首次從今傳宋刻以來的《史記》三家注本的《太史公自序》中發(fā)現(xiàn)兩條有明確司馬遷紀(jì)年的唐人舊注。一條是《史》文“卒三歲,而遷為太史令”句下司馬貞《史記索隱》的注語:
《博物志》:“太史令,茂陵·顯武里,大夫司馬〔遷〕,年二十八,三年六月乙卯除,六百石也。”
另一條是《史》文“五年而當(dāng)太初元年”句下張守節(jié)《史記正義》的注語:
按:遷年四十二歲。[1]482-483
在探究司馬遷生年時,有了這兩條唐人舊注做基礎(chǔ),庶可免除再犯瞎子摸象式的錯誤。
王國維的第二項貢獻是,考出《索隱》與《正義》注語的來源可靠。指出司馬貞自西晉張華《博物志》轉(zhuǎn)引的司馬遷官歷,“當(dāng)本先漢記錄,非魏晉人語”;張守節(jié)的注語“亦當(dāng)本《博物志》”。他征引《史記·扁鵲倉公列傳》“安陵·阪里,公乘,項處”以及敦煌出土的兩條完整的漢簡履歷簿書,歸納出“漢人履歷,輒具縣里及爵”“或并記其年”的文書格式?!恫┪镏尽匪浰抉R遷官歷正與此同,故“知《博物志》此條乃本于漢時簿書,為最可信之史料”。
自從王國維先生發(fā)現(xiàn)這兩條唐人舊注,遂成為王先生本人及此后諸多學(xué)者推導(dǎo)司馬遷生年的“直接證據(jù)”。
王國維《太史公行年考》認定司馬遷生于“漢景帝中五年,丙申,公生,一歲”。他如此考證:
按《自序》《索隱》引《博物志》:“太史令,茂陵顯武里大夫司馬此下奪‘遷’字,年二十八,三年六月乙卯除,六百石也。今本《博物志》無此文,當(dāng)在逸篇中。又茂先此條當(dāng)本先漢記錄,非魏晉人語。說見后?!卑础叭辍闭撸涞壑馊?。茍元封三年史公年二十八,則當(dāng)生于建元六年。然張守節(jié)《正義》于《自序》“為太史令,五年而當(dāng)太初元年”下云:“按遷年四十二歲?!迸c《索隱》所引《博物志》差十歲?!墩x》所云亦當(dāng)本《博物志》。疑今本《索隱》所引《博物志》“年二十八”,張守節(jié)所見本作“年三十八”。三訛為二,乃事之常;三訛為四,則于理為遠。以此觀之,則史公生年,當(dāng)為孝景中五年,而非孝武建元六年矣。[1]482-483
王先生先指出《索隱》所引《博物志》“當(dāng)本先漢記錄”,史料可靠;“《正義》所云亦當(dāng)本《博物志》”,二注同源。然據(jù)以推算司馬遷生年,卻有十年之差。二注必有一誤。他根據(jù)“三訛為二,乃事之常;三訛為四,則于理為遠”的常理,是《正義》而非《索隱》。他作此判斷的大前提是:《索隱》“年二十八”系“年三十八”之訛;小前提是:《正義》“年四十二”絕不可能由“三十二”訛成;由此推出的結(jié)論必然是:“史公生年當(dāng)為孝景中五年,而非孝武建元六年”。邏輯大、小前提的前提,或曰“立論的基石”,則是數(shù)字訛誤說。
王國維先生這項著名考證,長期以來被譽為方法正確,邏輯嚴(yán)密,引證可靠,其結(jié)論——司馬遷生于漢景帝中元五年(前145),為中外諸多著名學(xué)者如梁啟超、錢穆、瀧川資言、佐藤武敏等所信從。
在王國維發(fā)表《太史公系年考略》之后,20世紀(jì)20年代初,日本學(xué)者桑原騭藏據(jù)《索隱》立說,發(fā)表《關(guān)于司馬遷生年之一新說》,認為司馬遷當(dāng)生于漢武帝建元六年(前135)。*桑原騭藏:《關(guān)于司馬遷生年之一新說》,自施丁《司馬遷行年新考》附錄4轉(zhuǎn)引,陜西人民教育出版社,1995年,第176-184頁。50年代中,郭沫若作《太史公行年考有問題》,亦不信王氏的司馬遷生年定年,而力主生于武帝建元六年說。[2]呼應(yīng)郭說者雖有不少,但由于均未提出足以動搖王國維立論基石的證據(jù),終不成氣候。
直到1988年5月,筆者在“全國《史記》學(xué)術(shù)研討會”(西安)上發(fā)表《司馬遷生于武帝建元六年新證》,另辟蹊徑,首創(chuàng)與前人完全不同的研究方法,從《太史公自序》及《報任安書》中找到測算司馬遷生年的三個標(biāo)準(zhǔn)數(shù)據(jù):“年十歲則誦古文”“二十而南游江淮……于是仕為郎中”“待罪輦轂下二十余年”,和一個基準(zhǔn)點——《報任安書》作于征和二年。以司馬遷關(guān)于自身行跡的自敘為本證,以唐人古注《索隱》與《正義》為佐證,通過對史公移居茂陵、從學(xué)問故、壯游入仕、友朋交往等方面行跡的清理,證實《索隱》所引《博物志》元封三年“年二十八”紀(jì)年數(shù)字無訛,與史公自敘若合符節(jié),考定司馬遷實生于漢武帝建元六年(前135)。對于《索隱》與《正義》在史公生年上出現(xiàn)“十年之差”的原因,筆者從書體演變的角度,通過對“廿(二十)”“丗(三十)”“卌(四十)”三個十位數(shù)字與“世”字書寫形態(tài)變化軌跡的考察,廣征文物考古成果和多種文獻,從中發(fā)現(xiàn)確鑿的證據(jù),做出有根有據(jù)的論證,證明《正義》“年四十二”乃“年丗二”之訛,才第一次真正動搖了七十多年來幾成定論的司馬遷生于景帝中元五年說(前145年說)。
近來主張司馬遷生于漢景帝中元五年說的張大可先生,宣稱“王國維‘?dāng)?shù)字訛誤說’的立論基石是不可辯駁的”,他要求為“司馬遷生于公元前145年說”“做階段性定論”。[3-4]拙作征引張氏言論除特別注出外,均出自文獻3和文獻4,下不再出注。
學(xué)術(shù)的發(fā)展永無止境,世間更不存在終極真理。王國維先生關(guān)于司馬遷生年的考證既有重大貢獻,有如上文所述,但同時也存在諸多嚴(yán)重缺陷。
第一,在沒有證明所引今本《史記》三家注本中的《索隱》與《正義》文字有無訛誤的情況下,即以其為直接證據(jù)進行司馬遷生年的考證作業(yè),存在巨大風(fēng)險。西晉張華(232—300)編纂《博物志》時,上距司馬遷繼任太史令時的漢武帝元封三年(前108),已近四百年;下距張守節(jié)完成《史記正義》的唐玄宗開元二十四年(732),更逾四百年。在這么長的時間跨度里,司馬遷繼任太史令時的官歷經(jīng)輾轉(zhuǎn)傳抄、征引,難免會發(fā)生豕亥魯魚般的訛誤?,F(xiàn)存最早的南宋蔡夢弼刻《史記集解索隱》、黃善夫刻《史記集解索隱正義》中《索隱》所引《博物志》“大夫司馬”下均奪“遷”字,已通報了這方面的信息,但王先生卻沒有引起足夠的注意。
第二,王國維“疑今本《索隱》所引《博物志》‘年二十八’,張守節(jié)所見本作‘年三十八’”。從一個“疑”字出發(fā)進行推論,本來就先天不足。學(xué)術(shù)研究容許大膽懷疑,但必須小心求證。遺憾的是王先生并未提出任何《史記》的版本依據(jù),通過翔實的考證作業(yè),以釋“疑”為不疑;而是憑主觀設(shè)想篡改古籍文字以建立己說,有違考據(jù)學(xué)的通則。王國維建立在猜疑基礎(chǔ)之上而無實質(zhì)性證據(jù)的關(guān)于司馬遷生年的結(jié)論意見,當(dāng)然不能奉作定論。
第三,王國維首創(chuàng)的“三訛為二,乃事之常;三訛為四,則于理為遠”的數(shù)字訛誤說,用以說明古籍中個位數(shù)“二”“三”“四”之間的訛與不訛,是行之有效的。但王氏研究司馬遷生年所面對的《索隱》與《正義》,卻是十位數(shù)的“二十八”與“四十二”。宋代版刻經(jīng)史以前的經(jīng)史寫本、碑銘玉冊中,“二十”“三十”“四十”這三個十位數(shù)字,按照功令不以俗體書寫,而均以正體合體書“廿”“丗”“卌”的形態(tài)出現(xiàn)。王氏的“三訛為二,乃事之常;三訛為四,則于理為遠”的數(shù)字訛誤說,對唐代與唐代之前的經(jīng)史寫本尤其是《史記》寫本中的“廿”“丗”“卌”之間的訛與不訛來說,其實是風(fēng)馬牛不相及。
第四,王國維作《太史公行年考》,僅僅依據(jù)宋以后流傳至今的版刻《史記》三家注本,卻不曾寓目一份六朝及唐代的《史記》寫本以作參證。日本國流傳至今的六朝與唐代的《史記》卷子本及其古抄本為數(shù)并不少,如宮內(nèi)廳藏《五帝本紀(jì)》《高祖本紀(jì)》《范雎蔡澤列傳》,高山寺藏《夏本紀(jì)》《殷本紀(jì)》《周本紀(jì)》《秦本紀(jì)》,毛利家藏《呂后本紀(jì)》,東北大學(xué)藏《孝文本紀(jì)》,大東急紀(jì)念文庫藏《孝景本紀(jì)》,神田文庫藏《河渠書》殘本,石山寺藏《張丞相列傳》《酈生陸賈列傳》等(以上除《五帝本紀(jì)》為無注本外,其他均為《集解》本),有十多篇。這些寫本中“二十”“三十”“四十”三個十位數(shù)字,毫無例外的均作合體書“廿”“丗”“卌”。如果首創(chuàng)二重論證法的王國維先生在做《太史公行年考》之前,見讀過三五份六朝及唐的《史記》寫本,肯定不會做出“疑今本《索隱》所引《博物志》‘年二十八’,張守節(jié)所見本作‘年三十八’”這樣的誤判,甚至也許不會撰寫在司馬遷生年與行藏的排比考證上有失考量的《太史公行年考》;如果要寫,或許會寫出觀點、材料和論證與今傳《太史公行年考》截然不同的另一篇《太史公行年考》的吧。生前因沒有機會見讀六朝與唐《史記》卷子本而撰寫有嚴(yán)重失誤的《太史公行年考》,后生只能惋惜地說這是首創(chuàng)二重論證法的王國維先生的遺憾。在王國維身后,堅執(zhí)司馬遷生于漢景帝中五年(前145)說的學(xué)者,有機會參閱《史記》六朝及唐卷子本的影印本以修正失誤,卻置之不顧避之不及,繼續(xù)在王先生劃定的“三訛為二,乃事之常;三訛為四,則于理為遠”的范圍內(nèi)兜圈子,不能不說這是更大的遺憾了。
王國維《太史公行年考》考出司馬遷生于漢景帝中元五年(前145),這個結(jié)論立論的基石是他提出的“三訛為二,乃事之常;三訛為四,則于理為遠”的數(shù)字訛誤說。這塊基石有如上文所述存在諸多嚴(yán)重缺陷,其實并不穩(wěn)固。建立在這塊陷空的基石上的司馬遷生于漢景帝中元五年說,自然不可能牢靠。要把這種毫不牢靠的定年強作“階段性定論”,談何容易!
張大可在所作《司馬遷生年十年之差百年論爭述評》中不容置疑地說:“史籍中‘二、三、四’與‘廿、卅、卌’都互相發(fā)生訛誤,事實俱在,任何舉證推翻數(shù)字訛誤說的嘗試都將是徒勞的,可以說王國維‘?dāng)?shù)字訛誤說’的立論基石是不可辯駁的?!?/p>
趙宋迄今的三家注本《史記》中果真存在有如張大可所說的“‘廿、卅、卌’都互相發(fā)生訛誤”的“事實”嗎?筆者帶著這樣的疑問,以一以貫之的“從字縫中”尋找證據(jù)的原始方法,全面檢閱三家注本《史記》。張大可堅信王國維的“數(shù)字訛誤說”具有“科學(xué)的基礎(chǔ)”,認為王氏猜疑今本《索隱》“年二十八”是“年三十八”訛成的結(jié)論堅不可摧,其前提正是肯定“二十”與“三十”這兩個數(shù)字“互相發(fā)生訛誤,事實俱在”。然而筆者全面檢閱的結(jié)果,卻有令張大可及所有持前145年說者非常失望的驚人發(fā)現(xiàn):自宋刻以來的《史記》三家注本中“二十”與“三十”這兩個數(shù)字罕見相訛!張大可言之鑿鑿的“事實俱在”的“事實”,筆者竟莫之見。
清儒梁玉繩、王先謙曾先后從《史記》與《漢書》中發(fā)現(xiàn)“二十”與“三十”互訛的兩條例證,但經(jīng)筆者實地勘查都不能成立。
梁玉繩撰有學(xué)術(shù)名著《史記志疑》。他所發(fā)現(xiàn)的“三十”誤書為“二十”的一例,為《史記·傅靳蒯成列傳》陽陵侯傅寬曾孫傅偃的材料:“子侯偃立,二十一年,坐與淮南王謀反死,國除?!薄妒酚浿疽伞肪砣谄湎隆案桨础痹唬骸傲⑷荒暌?。各本皆譌?!盵5]1352筆者按:傅偃于景帝前四年(前153)代侯,至武帝元狩元年(前122)坐誅,實“立三十一年”。梁氏之前的《史記》諸版本,如宋刻《集解》單本、《集解》《索隱》合刻本、明毛晉汲古閣十七史本《史記集解》,《史》文皆作“三十一年”,不誤;梁氏謂“各本皆譌”,不確?!妒酚洝房瘫咀鳌岸荒辍钡?,只有南宋黃善夫本、元彭寅翁本。彭本體例款式一同黃本,故黃本實為彭本所從出。黃本刻印精美,而??辈萋?。黃本誤者,彭本亦沿其誤。梁玉繩撰《史記志疑》,其《自序》交代了他所據(jù)的《史記》底本是當(dāng)“世盛行的明吳興凌稚隆《評林》,所謂‘湖本’也,故據(jù)以為說”?!昂尽钡摹妒贰肺募叭易⒁喑鲎阅纤吸S善夫本系統(tǒng),更重在文章評點,而疏于《史》文??保巧票尽9省妒贰肺淖鳌岸荒辍闭?,實系梁氏所據(jù)“湖本”自誤,而與宋、元《史記》諸善刻并無版本承襲關(guān)系。假如梁玉繩當(dāng)年有條件多參考一些《史記》宋元善本,相信他不會寫出這條有問題的校語。
王先謙撰有學(xué)術(shù)名著《漢書補注》。他在《漢書》中發(fā)現(xiàn)的“二十”誤書為“三十”的一例,見于《高帝紀(jì)下》:高帝六年,“上已封大功臣三十余人”。王氏認為“三十余人”系“二十余人”之訛?!稘h書補注》于其下引“周壽昌曰”作證:
“荀《紀(jì)》作‘大功臣封者二十余人’,本書《張良傳》同。《高帝功臣表》六年正月以前封二十七人,合韓信二十八人?!恰`。” 先謙曰:《通鑒》亦作“二十余人”,此積畫傳寫之誤。[6]51
筆者按:此說與王國維的“三訛為二,乃事之?!辈恢\而合,而早發(fā)于王國維,然其誤則同。據(jù)《漢書·高帝紀(jì)下》所載,高帝劉邦剖符分封功臣曹參等人為徹侯,始于六年十二月甲申(二十八日)。據(jù)《史記·高祖功臣侯者年表》,至正月壬子(二十七日)封呂清為新陽侯止,共封二十八人。*《史記·高祖功臣侯者年表》新陽侯呂清之后尚有郭蒙于“六年正月戊午”封東武侯的紀(jì)錄。按:高祖六年正月丙戌朔,三十日為乙卯,后此三日的“戊午”系二月初三日。《史表》誤記為“正月”?!稘h書·高帝功臣表》承襲其誤。然在此之前,漢王劉邦曾先后封呂后父呂公為臨泗侯、項羽故將利幾為潁川侯、太尉盧綰為長安侯;為皇帝后,又于六年十二月降封楚王韓信為淮陰侯。由于呂公已于漢王四年先卒,而盧綰則于五年九月晉封燕王,利幾于同月因謀反被誅,故《高祖功臣表》除淮陰侯外,均未入載。而《高帝紀(jì)下》所稱的六年正月前所“已封”的功臣,實含呂公、利幾、盧綰、韓信等人在內(nèi),與曹參等二十八人相加,則得三十二人。以《漢表》與《史表》對校,發(fā)現(xiàn)班固漏抄了《史表》正月丙戌(初一日)所封周呂侯呂澤、建成侯呂釋之兩侯,這還不包括班固于二百多年后制作《高帝功臣表》時因資料殘缺而漏載的侯封?!稘h書·高帝紀(jì)下》敘作“三十余人”,正得其真。而周壽昌、王先謙一時疏失,未見及此,誤從荀悅、司馬光之說,遽發(fā)《漢書·高帝紀(jì)》“三十余人”系“二十余人”“積畫傳寫之誤”的按斷,從而犯下以不誤為誤的錯誤。此外,周壽昌云“六年正月以前封二十七人”,其表述亦有誤。史實是高祖于六年十二月甲申先封十侯,正月壬子前再封十八侯,合二十八侯。正確的表述應(yīng)為“六年二月以前封二十八人”。
張大可為了解釋《索隱》與《正義》發(fā)生“十年之差”的成因,曾經(jīng)十分用心地從正史中搜尋“二十”與“三十”互訛的例證,欲為王國維的“數(shù)字訛誤說”提供文獻的根據(jù)。好不容易的從《漢書·霍光傳》發(fā)現(xiàn)了一例,他指出:“輔佐昭、宣中興的大臣霍光”,此前曾侍從武帝“三十三年”,但“《漢書·霍光傳》卻說霍光‘出入禁闥二十余年?!梢?,‘廿余年’乃‘卅余年’之誤,即‘卅’誤為‘廿’了”。[7]86這下可好,終于為王國維關(guān)于《索隱》所引《博物志》“年二十八”系由“年三十八”訛變而來的推測提供了一條史料的“鐵證”。但是,且慢,還是讓張先生與我們一起重溫《漢書》的原文吧。《霍光傳》“出入禁闥二十余年”的下文,接敘征和二年(前91)衛(wèi)太子之變后,武帝因為霍光“小心謹慎,未嘗有過,甚見親信”,“察群臣唯光任大重,可屬社稷”,決定托孤于霍光。[8]2931-2932霍光于元狩四年(前119)秋后,隨其同父異母兄長霍去病由河?xùn)|平陽至京師長安,“時年十余歲”。不久即因霍去病的官秩權(quán)位保薦霍光為郎。稍遷為諸曹侍中,“出入禁闥”,到征和二年,首尾最多不會超過二十七八年。《漢書》敘作“出入禁闥二十余年”,實事求是,并未誤書。張先生的這項“發(fā)現(xiàn)”,其實是在沒有讀懂《霍光傳》的狀況下而做出的錯誤認定。他用以證明《史記》與《漢書》中“廿”與“卅”易致互訛的唯一孤證,事實上并不存在。如果這也算證據(jù),只能是偽證;如果這也算考證,只能是偽考!當(dāng)然,這已是張先生三十多年前的往事了。
現(xiàn)存的《史記》三家注本中“二十”與“三十”這兩個十位數(shù)字相訛之例極為罕見,至少筆者從未之見,已如上述。張大可力挺王國維的“數(shù)字訛誤說”,堅執(zhí)今本《索隱》“年二十八”是“年三十八”之訛,認為“王國維‘?dāng)?shù)字訛誤說’的立論基石是不可辯駁的”??谡f無憑,實難當(dāng)真。不知張先生如今能否從《史記》三家注本中找到幾條經(jīng)得起推敲的“二十”與“三十”互訛的例證,為王國維說提供文獻上的支撐,從而證明王說“是不可辯駁的”?如果找到了,無疑會給司馬遷生于公元前145年說增添籌碼。
王國維《太史公行年考》考證司馬遷的生年、排列一生的行藏,建立在今本《史記》“五年而當(dāng)太初元年”句下《正義》“按:遷年四十二歲”絕不會訛為“遷年三十二歲”的基礎(chǔ)之上。然而筆者通檢《史記》全書的結(jié)果,卻令王國維及其后繼者大失所望——與“二十”“三十”兩個十位數(shù)之間罕見互訛相反,“三十”與“四十”兩個十位數(shù)之間互訛的情況卻頻繁出現(xiàn)。且容筆者舉證。
今傳《史記》三家注本中“四十”訛為“三十”者有之:
第一,《夏本紀(jì)》:“或在許”句下《正義》:“許故城在許州南三十里。”[9]83而《魏世家》“南國必?!本湎隆墩x》釋許故城作“南(西)[面]四十里。”[9]1858筆者按:《元和郡縣志》《太平寰宇志》所引《括地志》均作“四十里”??勺C《夏本紀(jì)》之《正義》“三十”,乃“四十”之訛。
第二,《周本紀(jì)》:“漢興九十有余載,天子將封泰山,東巡狩至河南,求周苗裔,封其后嘉三十里地,號曰周子南君,比列侯,以奉其先祭祀?!逼湎隆都狻罚骸靶鞆V曰:‘自周亡乙巳至元鼎四年戊辰,一百四十四年,漢之九十四年也。漢武元鼎四年封周后也?!盵9]170筆者按:日本國高山寺藏《周本紀(jì)》古抄本《集解》作“一百丗四年”。自周亡乙巳至元鼎四年戊辰,實為一百四十四年。是高山寺古抄本“丗四年”中“丗”乃“卌”之訛。
第三,《秦始皇本紀(jì)》三十三年“自榆中并河以東,屬之陰山,以為三十四縣,城河上為塞?!倍读鶉瓯怼穭t作“西北取戎為四十四縣?!逼湎隆都狻罚骸靶鞆V曰:‘一云四十四縣’是也。”[9]758筆者按:《匈奴列傳》與《六國年表》皆作“四十四縣”,可證《秦始皇本紀(jì)》“三十四縣”,系“四十四縣”之訛。
第四,《秦始皇本紀(jì)》三十三年“徙謫,實之初縣”句下《索隱》云:“即上‘自榆中屬陰山,以為三十四縣’是也?!盵9]254筆者按:如上條考證所言,今本《索隱》“三十四縣”中之“三十”當(dāng)為“四十”之訛。
第五,《秦始皇本紀(jì)》“得齊王建”句下《正義》云:“齊王建之三十四年,齊國亡?!盵9]235而據(jù)逐年編排的《六國年表》,齊王建被俘國亡,在四十四年。是此條《正義》“四十”訛為“三十”。
第六,《項羽本紀(jì)》“當(dāng)是時,項羽兵四十萬,在新豐鴻門。”[9]311《秦楚之際月表》及荀悅《前漢紀(jì)·高祖紀(jì)》均作“四十萬”。而《漢書·高帝紀(jì)》卻作“漢元年,羽將諸侯兵三十余萬?!比粍t《漢書》“三十”乃“四十”之訛。
第七,《項羽本紀(jì)》“至固陵,而信、越之兵不會”句下《正義》:“《括地志》云:‘固陵,縣名也。在陳州宛丘縣西北四十二里?!盵9]332而《彭越列傳》“漢王追楚,為項籍所敗固陵”句下《正義》:“固陵,地名,在陳州宛丘縣西北三十二里?!盵9]2593筆者按:“四十二里”與“三十二里”,必有一誤。《荊燕世家》“漢五年,漢王追項籍至固陵”句下《正義》:“《括地志》云‘固陵,陵名。在陳州宛丘縣西北四十二里。’”[9]1994然則《彭越列傳》句下《正義》“三十二里”系“四十二里”之訛。
第八,《越王勾踐世家》“商、於、析、酈”句下《正義》:“《括地志》又云故酈縣在鄧州新城縣西北三十里。”[9]1748而《齊悼惠王世家》《樊酈滕灌列傳》之《正義》引《括地志》皆作“四十里”,然則《勾踐世家》句下《正義》“三十里”系“四十里”之訛。
第九,《趙世家》“晉出公十七年,簡子卒,太子毋卹代立,是為襄子。趙襄子元年,越圍吳?!逼湎隆墩x》:“《年表》及《越世家》、《左傳》越滅吳在簡子三十五年?!盵9]1793筆者按:《六國年表》趙簡子在位六十年,其四十五年,越滅吳。故《正義》滅吳下文稱“已在襄子元年前十五年矣”。六十減十五,正為四十五。然則今本《正義》“三十五年”系“四十五年”之訛。
第十,《魏世家》襄王“六年,與秦會應(yīng)”句下《正義》:“《括地志》云:‘故應(yīng)城,故應(yīng)鄉(xiāng)也,在汝州魯山縣東三十里?!盵9]1848而《范雎蔡澤列傳》“秦封范雎以應(yīng)”句下《正義》:“故應(yīng)城,故應(yīng)鄉(xiāng),在汝州魯山縣東四十里。”[9]2412及《梁孝王世家》褚少孫補文“于是乃封小弟以應(yīng)縣”句下之《正義》所引《括地志》亦作“四十里”[9]2090。然則《魏世家》之《正義》“三十里”乃“四十里”之訛。
第十一,《仲尼弟子列傳》:“顏回者,魯人也,字子淵。少孔子三十歲?!盵9]2187《論語·雍也篇》孔子答魯哀公問弟子孰好學(xué),稱其弟子“有顏回者,不遷怒,不貳過。不幸短命死矣?!薄洞呵锕騻鳌ぐЧ哪辍酚凇拔麽鳙@麟”下,接書“顏淵死,子曰:‘噫,天喪予!’子路死,子曰:‘噫,天祝予!’”筆者按:子路死于哀公十五年衛(wèi)國蒯聵之難?!豆騻鳌穼㈩仠Y、子路之卒連書,則可知二人卒時相距甚近。獲麟后一年,孔子年七十二。依今本《史記》,顏淵少孔子三十歲,則死時年四十二,已逾不惑之年,不得謂“短命”。然據(jù)蕭統(tǒng)《文選》卷五十四劉孝標(biāo)《辨命論》“顏回敗其叢蘭”句下李善注引“《家語》曰:顏回年二十九,髪白,三十二而早死?!庇帧妒酚浰麟[》注引《家語》說,與李善注引同?!叭缢馈?,可稱“短命”,且與《仲尼弟子列傳》所敘“回年二十九,髪盡白,蚤死”吻合。故清儒毛奇齡《論語稽求篇》謂《史記》“《弟子列傳》所云少孔子三十歲者,原是四十之誤?!笔恰八氖庇灋椤叭?。
第十二,《張儀列傳》“儀相秦四歲,立惠王為王”句下《正義》曰:“《表》云惠王之十三年,周顯王之三十四年也?!盵9]2284筆者復(fù)按《六國年表》,秦惠文君“十三年,四月戊午,君為王?!笔悄隇橹茱@王四十四年?!顿Y治通鑒》卷二《周紀(jì)二》周顯王四十四年,亦書“秦初稱王?!笨芍癖尽墩x》“三十四年”之“三十”,實為“四十”之訛。
第十三,《孟子荀卿列傳》“筑碣石宮”句下《正義》“碣石宮在幽州薊縣西三十里寧臺之東?!盵9]2345而《樂毅列傳》“齊器設(shè)于寧臺”句下《正義》以及《通鑒地理通釋》《太平寰宇記》所引《正義》皆作“四十里”。然則《孟荀列傳》之《正義》“三十”乃“四十”之訛。
第十四,《張釋之馮唐列傳》“今臣竊聞魏尚為云中守”句下《正義》:“云中郡故城在勝州榆林縣東北三十里?!盵9]2758筆者按:《蘇秦列傳》“西有云中”、《匈奴列傳》“直代、云中”句下《正義》皆作“四十里”,《絳侯周勃世家》“云中守遫”句下《正義》所引《括地志》亦為“四十里”??勺C《張釋之馮唐列傳》之《正義》“三十”乃“四十”之訛。
今本三家注《史記》中“三十”訛為“四十”者為數(shù)亦不少:
第十五,《秦本紀(jì)》“徐偃王作亂”句下《正義》:“《括地志》云:‘大徐城在泗州徐城縣北三十里,古徐國也。’”[9]175而《黥布列傳》“楚發(fā)兵與戰(zhàn)徐、僮間”句下《正義》:“杜預(yù)云:‘徐在下邳僮縣東?!独ǖ刂尽吩疲骸笮斐窃阢糁菪斐强h北四十里,古徐國也。’”[9]2606若以本紀(jì)為正,則《黥布列傳》之《正義》“四十里”為“三十里”之訛。
第十六,《秦本紀(jì)》孝公十二年,“并諸小鄉(xiāng)聚,集為大縣,縣一令,四十一縣?!盵9]203而《六國年表》《商君列傳》以及日本高山寺舊藏東洋文庫藏古抄本《秦本紀(jì)》皆作“三十一縣”。顯然今本《秦本紀(jì)》之“四十”乃“三十”之訛。
第十七,《項羽本紀(jì)》“諸項氏支屬,漢王皆不誅。乃封項伯為射陽侯。桃侯”句下《正義》:“《括地志》云:‘故桃城在滑州胙城縣東四十里。’”[9]338而《萬石張叔列傳》“代桃侯舍為丞相”句下《正義》作“三十里”,《玉?!匪墩x》亦作“三十里”。是《項紀(jì)》“桃侯”《正義》“四十”系“三十”之訛。
第十八,《高祖本紀(jì)》“更立沛公為漢王,王巴、蜀、漢中”句下《集解》:“徐廣曰:‘三十二縣?!盵9]365而《漢書·高帝紀(jì)》作“四十一縣”,《漢紀(jì)》同。筆者按:《漢書·地理志》巴郡十一縣,蜀郡十五縣,漢中郡十二縣,一共三十八縣。是《漢書·高帝紀(jì)》及《漢紀(jì)》訛“三十”為“四十”。
第十九,《高祖本紀(jì)》敘高祖與項王決勝垓下,“淮陰侯將三十萬自當(dāng)之”。[9]378而《高祖功臣侯者年表》蓼侯孔聚“以都尉擊項羽,屬韓信,功侯”句下《索隱》:“即漢五年圍羽垓下,淮陰侯將四十萬自當(dāng)之,孔將軍居左,費將軍居右是也。費將軍即下費侯陳賀也?!盵9]899是《索隱》“四十”為“三十”之訛。
第二十,《景帝本紀(jì)》“更以弋陽為陽陵”句下《正義》:“漢景帝陵也,在雍州咸陽縣東三十里?!盵9]442而《外戚世家》“合葬陽陵”句下《正義》引《括地志》作“四十里”。[9]1978若以本紀(jì)為正,則世家“四十里”為“三十里”之訛。
第二十一,《封禪書》“上郊雍,通回中道?!盵9]1400日本瀧川資言博士《唐張守節(jié)史記正義佚存》手稿抄錄《正義》佚文:“《括地志》云:‘回中宮在岐州雍縣西三十里。’”而今本《秦始皇本紀(jì)》“過回中宮”句下《正義》,以及《匈奴列傳》“使奇兵入燒回中宮”句下《正義》皆作“四十里”。是宋人合刻《史記》三家注時早已誤認唐人寫本“丗(三十)”作“四十”矣。
第二十二,《河渠書》“漢興三十九年,孝文時河決酸棗,東潰金堤。于是東郡大興卒塞之。其后四十有余年,今天子元光之中,而河決于瓠子”云云。[9]1409筆者按:漢興之三十九年,為文帝前元十二年(前168)。從文帝前元十二年河決酸棗,到武帝元光三年(前132)河決瓠子,實為三十七年。故《河渠書》“四十有余年”乃“三十有余年”之訛。
第二十三,《越王勾踐世家》“北破齊于徐州”句下《集解》:“徐廣曰:‘周顯王之四十六年?!盵9]1751筆者按:《六國年表》周顯王三十六年《楚表》“(威王七年)圍齊于徐州?!蓖辍洱R表》云“(宣王十年)楚圍我徐州?!庇帧冻兰摇贰捌吣辍醴R,敗之于徐州”,皆當(dāng)周顯王三十六年。可證《集解》“四十”乃“三十”之訛。
第二十四,《趙世家》“反巠分。”《正義》:“《括地志》云:‘句注山一名西陘山,在代州雁門縣西北四十里?!盵9]1819筆者按:《劉敬叔孫通列傳》“是時漢兵已逾句注”句下《正義》《資治通鑒》卷一一《漢紀(jì)三》高帝六年胡三省《注》引《括地志》并作“三十里”,可證《趙世家》“反巠分”句下《正義》“四十里”之“四十”乃“三十”之訛。
第二十五,《趙世家》趙惠文王“二十八年,藺相如伐齊至平邑”句下《正義》:“平邑故城在魏州昌樂縣東北四十里?!盵9]1821而《趙世家》悼襄王元年“欲通平邑、中牟之道”句下《正義》:“平邑在魏州昌樂縣東北三十里?!盵9]1830又《廉頗藺相如列傳》“藺相如將而攻齊,至平邑而罷”句下《正義》:“平邑在魏州昌樂縣東北三十里。”[9]2444可證《趙世家》惠文王二十八年之《正義》“四十里”乃“三十里”之訛。
第二十六,《蘇秦列傳》“乃西南說楚威王曰:‘……北有陘塞、郇陽’”句下《正義》:“順陽故城在鄧州穰縣(百)[西]四十里。”[9]2259而《張釋之馮唐列傳》“張廷尉釋之者,堵陽人也”句下《正義》:“《括地志》云:‘順陽故城在鄧州穰縣西三十里,楚之郇邑也。及《蘇秦傳》云“楚北有郇陽”,并謂此也?!盵9]2751《資治通鑒》卷四十一《漢紀(jì)》三十三《光武帝·建武四年》“延岑復(fù)寇順陽”胡《注》引《括地志》亦作“西三十里”??勺C《蘇秦傳》之《正義》文“四十”乃“三十”之訛。
第二十七,《季布欒布列傳》季布曰:“夫髙帝將兵四十余萬眾,困于平城?!盵9]2730筆者按:《史記·匈奴列傳》作“高帝自將兵往擊之……三十二萬,北逐之?!倍稘h書·季布欒布傳》作“夫以高帝兵三十余萬,困于平城。”又《漢書·匈奴傳》敘髙帝自將兵擊匈奴,“三十二萬,北逐之?!卑喙獭稘h書》敘武帝朝以前的漢代史事均取自《史記》舊文,其《季布傳》《匈奴傳》均與《史記》同。可證《史記·季布列傳》高帝所將兵數(shù)應(yīng)與《漢書·季布傳》同作“三十余萬”,然則《史記·季布列傳》之“四十余萬”乃“三十余萬”之訛。
第二十八,《李將軍列傳》:李廣“為二千石四十余年”[9]2872。筆者按:李廣自景帝前三年(前154)始任二千石的上谷太守,至元狩四年(前119)被迫自盡,首尾為三十六年。故《李將軍列傳》“四十”為“三十”之訛。
張大可曾經(jīng)在其論文《司馬遷生卒年考辨辨》中說:“‘丗’與‘廿’仍相近,容易互相訛誤,而與‘卌’則不易訛誤了。這是一個歷史的演變?!盵7]87-88如果這幾個合體文字“歷史的演變”真按張大可所設(shè)計的那樣“演變”,王國維猜疑今本《索隱》“年二十八”原作“年三十八”,而《正義》“四十二歲”絕不會訛成“三十二歲”,定然水到渠成。但不幸的是,筆者通檢三家注本《史記》所發(fā)現(xiàn)的真實的“歷史的演變”,卻是“廿”與“丗”罕見相訛,“丗”與“卌”頻繁互訛,與張大可的設(shè)計完全相反!
今存宋刻以下的《史記》三家注本中“二十”與“三十”兩個數(shù)字罕見互訛,而“三十”與“四十”兩個數(shù)字頻繁互訛的鐵的事實,把張大可的如下說辭——“史籍中‘二、三、四’與‘廿、卅、卌’都互相發(fā)生訛誤,事實俱在,任何舉證推翻數(shù)字訛誤說的嘗試都將是徒勞的,可以說王國維‘?dāng)?shù)字訛誤說’的立論基石是不可辯駁的”,砸得粉碎。
王國維的“數(shù)字訛誤說”雖經(jīng)張大可等人用廿、卅、卌之間都是一筆之差,易致互訛的說辭,予以補苴修正,但他們無法解釋今本《史記》中何以“二十”與“三十”罕見互訛,而“三十”與“四十”卻經(jīng)?;ビ灥氖聦崱?梢娝⒉痪邆湔摽退鶊苑Q的“科學(xué)的基礎(chǔ)”。至于施丁從日本“南化本”(其實是南宋黃善夫梓行的《史記》三家注合刻本)發(fā)現(xiàn)的《索隱》作“年三十八”,則不僅是條孤證,而且是條偽證。清代乾嘉學(xué)者衡量一詞一事的考據(jù)能否成立,要以“揆之本文而協(xié),驗之他卷而通”(王引之《經(jīng)傳釋詞·自序》)的標(biāo)準(zhǔn)進行驗證。這是一項客觀公正的學(xué)術(shù)標(biāo)準(zhǔn)。運用這項標(biāo)準(zhǔn)去衡量王國維的“司馬遷生于漢景帝中五年說”的立論基石——“數(shù)字訛誤說”,用以解說“二十”“三十”“四十”這三個十位數(shù)字之間的訛與不訛,結(jié)論只有一個:“數(shù)字訛誤說”根本不具備解說的資質(zhì),遑論“科學(xué)的基礎(chǔ)”!
總括以上的討論可以得出兩點基本認識:
第一,由于王國維立論的基石并不具備“科學(xué)的基礎(chǔ)”,卻據(jù)此考證司馬遷的生年,其方法自難稱正確,邏輯也談不上嚴(yán)密。《史記》中“二十”與“三十”罕見互訛的事實,使王國維的“司馬遷生于漢景帝中五年說”立論的大前提——《索隱》“年二十八”系由“年三十八”訛成的疑測,成為無根之木;而《史記》中“三十”與“四十”頻繁互訛的事實,又昭示王國維的“司馬遷生于漢景帝中五年說”立論的小前提——《正義》“年四十二歲”絕不與“年三十二歲”相訛的判斷,喪失立足的余地。作為立論基石的大小前提皆錯,其最終的結(jié)論——司馬遷生于漢景帝中五年(前145年)說,安能不轟然坍塌?
第二,《索隱》所引《博物志》錄載的司馬遷就任太史時的履歷材料,其文書格式已經(jīng)王國維、郭沫若分別用《史記·扁鵲倉公列傳》及敦煌、居延漢簡證明“當(dāng)本先漢記錄”,是“完全可靠的”檔案資料。今本《史記》中“二十”與“三十”罕見互訛的事實,加之南宋通儒王應(yīng)麟《玉?!肪硭氖饕墩x》所錄《博物志》、卷一百二十三征引《索隱》所錄《博物志》,皆作元封三年“遷年二十八”,與今本《史記·自序》“卒三歲而遷為太史令”句下《索隱》所引《博物志》作“年二十八”完全一致,足以證明今本《史記》自南宋版刻以來,《博物志》所引司馬遷官歷紀(jì)年數(shù)字“年二十八”從未發(fā)生訛變。筆者三十年前在《司馬遷生于武帝建元六年新證》中,曾以《太史公自序》與《報任安書》為本證,證實了《索隱》所引《博物志》的紀(jì)年,與太史公的自敘若合符契。它應(yīng)是推算司馬遷生年可靠的重要佐證。
關(guān)于《索隱》與《正義》在司馬遷生年上出現(xiàn)的十年之差,張大可認為是“兩說在流傳中發(fā)生了數(shù)字訛誤”。“張守節(jié)直以按語出之,必有所據(jù)。”他說:“據(jù)程金造先生的考證,司馬貞稍年長于張守節(jié),《索隱》早于《正義》20年問世,后出的《正義》對《索隱》有疏通、修訂與補充的關(guān)系。張守節(jié)按語是依據(jù)《索隱》‘年三十八’之文推斷出來的,《索隱》是在唐代以后流傳中‘三十八’訛為了‘二十八’?!?/p>
張大可請出程金造先生為自己背書是大錯特錯。因為他所引據(jù)為證的程金造說本身就是大錯特錯。程金造據(jù)今本《史記》研究三家注,寫了數(shù)篇考據(jù)文章,其中亦有就三家注商榷司馬遷生年者。雖被論客譽為“考釋謹嚴(yán),舉證精確”,然經(jīng)筆者檢核,發(fā)現(xiàn)程氏考證頗為粗疏,持論往往武斷,與“謹嚴(yán)”“精確”南轅北轍。說他粗疏,如程氏稱“約計汲古閣《索隱》百三篇總數(shù),為五千八百條。而黃善夫本《正義》,其總數(shù)約為四千條?!逼鋵嵔癖尽妒酚洝分小端麟[》為7053條,《正義》為5315條。汲古閣單本《索隱》條數(shù)、南宋黃善夫三家注本《史記》中《正義》條數(shù),與今本三家注《史記》相當(dāng)。數(shù)據(jù)誤差如此之大,而程氏未曾點核便信口開河,可見其發(fā)言的隨意。說他武斷,如程金造根本不知日本瀧川資言《唐張守節(jié)史記正義佚存》手稿的本真面貌,就敢撰《〈史記會注考證〉新增〈正義〉的來源和真?zhèn)巍罚信e二十“證據(jù)”,斷定瀧川資言在日藏《史記》古活字本《史記》欄外標(biāo)注中發(fā)現(xiàn)的一千三四百條《正義》佚文,手抄為《史記正義佚存》二卷,十之八九是日人的偽托。*程金造《史記會注考證新增正義之來源與真?zhèn)巍?,原載《新建設(shè)》,1960年第2期。后對內(nèi)容作重大增補,易題為《史記會注考證新增正義之管見》,代表程氏關(guān)于《史記正義佚存》系日人偽托的最后意見,編入程氏著《史記管窺》,陜西人民出版社1985年。將湮沒八百余載的一千余條《正義》佚文妄斷為日人偽托,此說居然曾被學(xué)界長期奉為定論,輾轉(zhuǎn)評、引,實亦一大奇聞。這是張守節(jié)的不幸,也是中國《史記》學(xué)界的悲哀。在新的千年即將到來之際,為了不讓程金造在《史記》三家注研究領(lǐng)域某些影響甚大的偽證偽考貽誤后學(xué),筆者奮起而作《程金造之‘〈史記正義佚存〉偽托說’平議》(原載《臺大歷史學(xué)報》第二十五期,2000年6月),對程氏精心挑選以證《佚存》為偽托的二十證例,逐條平議,徹底推倒程氏的誤斷,證明《佚存》一千余條《正義》非張守節(jié)所作莫屬,為此疑案做出總結(jié)。本文評審專家指出:“此文撥云見日,發(fā)潛德之幽光。幸虧‘偽托說’之錯誤,由中國人自行訂正;若此文由日人寫出,則難堪矣?!惫P者之所以掲舉上例,是為了借此對程金造的考據(jù)功力做出評估,以供學(xué)者驗證。關(guān)于《正義》與《索隱》的關(guān)系,程金造從清四庫館臣邵晉涵《南江書錄》之《史記正義》條“《史記正義》三十卷……能通裴骃之訓(xùn)辭,折司馬貞之同異”的兩句話*清代邵晉涵《南江書錄》,清光緒聚學(xué)軒叢書第五集第七,《南江書錄一卷》第4頁,貴池劉世珩???。,得到靈感,推衍出《史記正義與索隱關(guān)系證》,認為張守節(jié)“撰《史記正義》確乎是見到小司馬《索隱》之書的”,“《索隱》成書,早于《正義》二十年”,“《正義》在解釋正文之外,又時時疏通《集解》和《索隱》”[10]169-188。筆者按:《舊唐書·經(jīng)籍志》著錄御府藏書下限斷自開元十年。劉知幾卒于開元九年(721),“《劉子玄集》十卷”已經(jīng)著錄。而據(jù)程金造說,司馬貞的《史記索隱》早于張守節(jié)“《正義》二十年”,則應(yīng)于開元四年前后殺青。然《索隱》并未入錄《舊唐志》的鐵的事實,確證開元十年前其書并未完稿?!缎绿茣に囄闹尽分洝八抉R貞《史記索隱》三十卷”,本《注》其官銜為“開元潤州別駕”,而非宋刻今傳《史記》三家注之“國子博士弘文館學(xué)士”,足見其書實殺青于開元九年離京外任潤州別駕任內(nèi)?!缎绿茣に囄闹尽分浱迫酥?,按入藏御府先后排列?!妒酚浰麟[》編錄于德宗貞元(785—804)中呈御的“陳伯宣《注史記》一百三十卷”之后,可知司馬貞生前實未及將《史記索隱》上呈御府,呈獻者或為其后裔,而其時上距開元(713—741)之末已過半個世紀(jì)。張守節(jié)《史記正義》成書于開元二十四年(736),其撰著期間根本不存在見讀《索隱》其書的現(xiàn)實可能性。程氏稱“《索隱》成書早于《正義》二十年”,顯然為想當(dāng)然的無根之談。程金造也不知道他據(jù)以研究的今本三家注本《史記》中附刻的《正義》,是經(jīng)過宋人合刻者大幅度的整合重編后,以削除、刪節(jié)、合并、拆分、移置等多種形態(tài)呈現(xiàn)于世的,已大失張守節(jié)《史記正義》寫本舊貌。由于宋人移置了某些《正義》條目,有時誤置于《索隱》之下,遂造成《正義》配合、疏解《索隱》的假象。程金造不推尋本末,居然將假象信為本真,從今本《史記》三家注中找出若干似是實非的例證,由此得出“《正義》疏通《索隱》”自認為的獨得之見。殊不知張守節(jié)根本沒有可能見讀《索隱》,何來有以《正義》為《索隱》“疏通、修訂與補充”其事?然而張大可卻把程金造關(guān)于“《正義》對《索隱》有疏通、修訂與補充關(guān)系”的偽證偽考,奉為圭臬,一再引以為據(jù),宣稱“《正義》據(jù)《索隱》立說”,他先偽造一個“《索隱》‘年三十八’”的虛假數(shù)據(jù),然后就按程說推衍:“張守節(jié)按語是依據(jù)《索隱》‘年三十八’推斷出來的,《索隱》是在唐代以后流傳中‘三十八’訛為了‘二十八’。”張大可這番“論證”是循環(huán)論證。張氏的這番“論證”依然是在重復(fù)王國維的老套路:“四十二”不可能訛成“三十二”、“三十八”容易訛為“二十八”。但是,證據(jù)呢?司馬遷生于前145年說論者能從《史記》的任何一個版本中找出《索隱》所引《博物志》作“年三十八”的版本依據(jù)嗎?能從宋刻以來的《史記》三家注本中找出兩三條經(jīng)得起查證的“二十”與“三十”兩個十位數(shù)互訛的例證嗎?竊以為前145年說論者都拿不出。在王國維的“司馬遷生于漢景帝中元五年說”立論基石的命門上,前145年說論者都拿不出也不可能拿得出確鑿的證據(jù)來為王氏護法,就無法為毫無文獻支撐的“司馬遷生于漢景帝中元五年說”“作階段性定論”。
西晉張華編纂的《博物志》,《隋書·經(jīng)籍志》《新唐書·藝文志》《宋史·藝文志》均有著錄,自《元史》起不再入錄。足證其書散佚于宋元之際。唐宋兩朝自有《博物志》全帙,且非稀見秘籍而為學(xué)者案頭常備之書。筆者三十年前曾經(jīng)指出,《博物志》存錄的司馬遷于武帝元封三年繼任太史時的官歷檔案資料,司馬貞作《索隱》時征引了,官拜大唐東宮諸王侍讀的張守節(jié)作《正義》時也必見讀過。張守節(jié)按語系據(jù)《博物志》而下,原來當(dāng)作“按遷年三十二歲”。唐代《索隱》單本與《正義》單本之間并無“十年”之差。差訛發(fā)生在由唐人寫本到宋人刻本的轉(zhuǎn)換期。本文第四部分已證明《博物志》所錄司馬遷繼任太史令時“年二十八”這個紀(jì)年數(shù)字,自南宋版刻以來從未發(fā)生訛誤。二十、三十、四十這三個十位數(shù)字,殷周秦漢的正體均書作廿、丗、卌。傳世的石鼓、鐘鼎、石經(jīng)、碑銘、敦煌與居延出土的大量漢簡、湖北江陵縣張家山漢墓竹簡、長沙馬王堆漢墓帛書、湘西龍山里耶故城出土秦簡《乘法表》等等,提供了巨量的實物證據(jù)。這種合體書寫的形態(tài),中經(jīng)魏晉六朝,一直沿用到隋唐五代。從《敦煌秘籍留真新編》《鳴沙石室佚書》等所收的大量六朝與唐代的經(jīng)傳卷子本的影印件可見,凡十位數(shù)字二十、三十、四十均作合體字廿、丗、卌。特別值得關(guān)注的是,日本國公私所藏十多種六朝與唐的《史記》寫本,凡數(shù)字二十、三十、四十,皆作合體字廿、丗、卌,毫無例外。
自殷周秦漢下迄李唐,作為正體使用了二千年的廿、丗、卌的合體寫法,到宋代發(fā)生了根本的變革。人們從出土的宋人墓志、版印的經(jīng)史典籍中可以看到,合體書寫的形態(tài)被取消了,而代之以“二十”“三十”“四十”的書寫形態(tài)。宋人在將唐人寫本摹寫版刻時,按照功令規(guī)定的書寫程式,必須將合體字廿、丗、卌分別改易為二十、三十、四十。唐人將“三十”寫成“丗”,而宋人將“世”字刻成“丗”,在謄錄上版時,抄胥略有疏忽,就會將“丗(三十)”字誤認作“丗(世)”字,而不予分解。校讎者也極難發(fā)現(xiàn)。筆者在南宋蔡夢弼《史記集解索隱》二注本與黃善夫《史記》三家注匯刻本刊行千年之后,于“字縫”中首次發(fā)現(xiàn)這種因誤認而致訛的典型例證。這兩部現(xiàn)存最早的《史記》二注本、三注本,都于《五帝本紀(jì)第一》前刊刻了司馬貞補撰的《三皇本紀(jì)》,《紀(jì)》中有云:
故《春秋緯》稱:自開辟至于獲麟,凡三百二十七萬六千歲。分為十紀(jì),凡丗七萬六百年。一曰九頭紀(jì),二曰五龍紀(jì),三曰攝提紀(jì)……九曰禪通紀(jì),十曰疏訖紀(jì)。當(dāng)黃帝時,制九紀(jì)之間。
“丗”字是“三十”字的合書,還保存了唐人寫本的舊貌。“凡丗七萬六百年”,是說每紀(jì)為三十七萬六百年。滿九紀(jì)為三百三十三萬五千四百年,滿十紀(jì)則為三百七十萬六千歲。黃帝在位與孔子獲麟之年均處于第九紀(jì)禪通紀(jì)之內(nèi)。而蔡、黃刻本已將唐寫本的上文“凡三百廿七萬六千歲”中的合體字“廿”分解為“二十”,卻未將下文“凡丗七萬六百年”中的合體字“丗(三十)”分解為“三十”,可證蔡夢弼、黃善夫已將“丗(三十)”字誤認作“丗(世)”字了。宋以后、清以前,凡從黃本所出的《史記》版本,所刻《三皇本紀(jì)》中的“丗”字皆相沿未改。清四庫館臣亦未識出此字,故四庫全書《史記》寫本遂沿宋本之誤,將“丗(三十)”字徑改作“世”字,抄寫為“凡世七萬六百年”。日本瀧川資言撰《史記會注考證》則以訛傳訛,排印作“凡世七萬六百年”。這就與“自開辟至于獲麟,凡三百二十七萬六千歲。分為十紀(jì),凡三十七萬六百年”,風(fēng)馬牛不相及了。2013年中華書局出版的《史記》修訂本,附錄了《三皇本紀(jì)》,也未予校正,頗為憾事。
宋人不僅將唐人寫本《史記》中的“丗(三十)”字誤認作“丗(世)”字,而且還因為“丗(世)”字與“卌(四十)”字古時讀音相近,在特定的語文環(huán)境中,有時還會進而訛作“卌”字,這種陰差陽錯導(dǎo)致了宋刻以來的《史記》文本中“三十”與“四十”兩個十位數(shù)字的多處相訛。張守節(jié)《正義》唐寫本原來當(dāng)作:“按遷年丗二歲?!彼稳藫?jù)唐寫本匯刻《史記》三家注時,將“丗(三十)”字誤認作“丗(世)”字。然而“按遷年世二歲”又于義不通,遂猜度“世(丗)”字或為讀音相近的“卌”字之訛,于是徑將《正義》臆改為“按遷年卌二歲”,進而按宋時書寫程式分解作“按遷年四十二歲”。這樣一來,就鑄成了今本《史記》的《正義》按語與《索隱》所引《博物志》之間“十年之差”的大錯。
南宋王應(yīng)麟(1223—1295),仕宦三十余年,長期處于朝廷中樞,執(zhí)掌祕閣,主筆詔誥,官至禮部尚書兼給事中。王氏除天才絕識、好學(xué)精進有大過人者外,又得盡讀館閣祕府所藏天下未見之書,故成有宋一代通儒。所撰《玉海》二百卷,專精力積三十余年而后成?!端膸烊珪偰俊贩Q《玉?!贰柏灤W博,唐宋諸大類書未有能過之者”。《玉?!肪硭氖洠骸啊妒酚浾x》:‘《博物志》云:遷年二十八,三年六月乙卯除,六百石?!薄队窈!肪硪话俣忠洠骸啊端麟[》曰:‘《博物志》:太史令司馬遷,年二十八,三年六月乙卯除,六百石?!蓖鯌?yīng)麟所征引的《正義》與《索隱》,均為南宋館閣所藏單行唐寫本或其抄本,二者引錄《博物志》同作司馬遷繼任太史令時“年二十八”,從而為筆者往年所做的“寫本《博物志》,司馬貞作《索隱》時征引了,張守節(jié)也會見讀過”的判斷,提供了可信的文獻根據(jù),同時也否定了王國維疑今本《索隱》“年二十八”乃“年三十八”之訛的臆測。
不僅如此。《玉?!芬浀倪@條《正義》佚文,也使筆者關(guān)于張守節(jié)“據(jù)《博物志》所做的按語原作‘遷年丗二歲’,唐代《正義》單本與《索隱》并無‘十年’之差”的推斷得以證實。因為《玉海》引錄的《正義》《索隱》與今本《史記》的《索隱》,三者所征引的《博物志》,皆作“年二十八”,證明從古到今這個司馬遷的紀(jì)年數(shù)字,從未發(fā)生訛變?!墩x》據(jù)以推算,在“五年而當(dāng)太初元年”句下所作按語,只能是“按遷年三十二歲”,而今本作“按遷年四十二歲”,必錯無疑。
由于上述《玉?!肪硭氖浀摹妒酚浾x》佚文的重見天日,《史記·太史公自序》“卒三歲而遷為太史令,紬史記石室金匱之書。五年而當(dāng)太初元年”一節(jié)《史》文下,張守節(jié)《史記正義》寫本舊貌的復(fù)原成為可能?!妒酚浾x》仿唐初陸德明《經(jīng)典釋文》摘字列句為注,《史記正義序》述其注釋體例有云:“次舊書之旨,兼音解注,引致旁通。”所稱“舊書”,指張氏以其為本的裴骃《集解史記》。張氏注例大意是說,他為《史記》作《正義》時,先編次裴骃注文要旨,然后才是本人為《史》文注音釋字、推而廣之、擴而充之的注義。試遵張氏注例,為《史》文自“卒三歲”至“太初元年”一節(jié)的《正義》復(fù)原(原格式為:《史》文大字,注文小字雙行夾注):
卒三歲而遷為太史令《博物志》云:“遷年廿八,三年六月乙卯除,六百石?!?/p>
五年而當(dāng)太初元年《集解》李奇曰:“遷為太史后五年,適當(dāng)于武帝太初元年,此時述《史記》?!卑矗哼w年丗二歲。
王應(yīng)麟征引《史記正義》所錄《博物志》時,文字有所節(jié)略,但基本數(shù)據(jù)全部保存,符合裴駰“刪其游辭,取其要實”的注釋標(biāo)準(zhǔn)。通過以上對單本《正義》的部分復(fù)原,可以清晰地看到《正義》于《史》文“五年而當(dāng)太初元年”句下的按語“按遷年丗二歲”,系據(jù)《史》文“卒三歲而遷為太史令”條所引《博物志》“遷年廿八”推算而得。這就粉碎了程金造堅執(zhí)《正義》據(jù)《索隱》立說的妄言,而施丁與張大可認為《正義》按語系張守節(jié)“自按”說也不攻自破。
筆者于1988年發(fā)表《司馬遷生于武帝建元六年新證》,其觀點、材料、論證方法與文字表達,迄今一以貫之,無須做任何修正。根據(jù)從《玉海》中發(fā)現(xiàn)的《正義》佚文、《玉?!芬浀摹端麟[》、今本《史記》三家注三者征引的《博物志》,皆作武帝元封三年“遷年二十八”,以及修正后的今本《史記》“太初元年”句下張守節(jié)按語“遷年丗二歲”推算,司馬遷也必生于漢武帝建元六年,丙午(前135)。
本文的最后結(jié)論是:王國維先生所撰《太史公行年考》,在司馬遷生年的考證方面有重大貢獻,但同時存在更多的缺陷。他從猜“疑今本《索隱》所引《博物志》‘年二十八’,張守節(jié)所見本作‘年三十八’”出發(fā),據(jù)以推測“史公生年,當(dāng)為孝景中五年,而非孝武建元六年”,并無任何文獻根據(jù),卻改字立說,本就先天不足。其立論基石的數(shù)字訛誤說,更不具備闡釋二十、三十、四十這三個十位數(shù)字之間訛與不訛的資質(zhì)。王氏司馬遷生年說的后繼者雖極力為其補隙彌漏,力挺孝景中五年說“論點堅實”“方法正確”“邏輯嚴(yán)密”,但其說辭大都牽強附會,其證為偽證,其考為偽考(具見筆者下篇《“司馬遷生年前145年論者的考據(jù)”虛妄無征論》的發(fā)覆),實無力回天。王國維先生于1916年發(fā)表《太史公系年考略》,首次提出“司馬遷生于漢景帝中元五年說”(今人或簡稱“前145年說”),迄今已達102年。為了將司馬遷與《史記》的研究推向前進,是應(yīng)該為不能成立的“司馬遷生于漢景帝中元五年說”畫個句號了。
[1] 王國維.太史公行年考[M]//王國維.觀堂集林:卷十一.北京:中華書局,1959.
[2] 郭沫若.太史公行年考有問題[J].北京:歷史研究,1955(6).
[3] 張大可.司馬遷生年十年之差百年論爭述評[J].渭南師范學(xué)院學(xué)報,2017(1):5-13.
[4] 張大可.評“司馬遷生年前135年說”后繼論者的“新證”[J].渭南師范學(xué)院學(xué)報,2017(9):5-9.
[5] 梁玉繩.史記志疑[M].北京:中華書局,1981.
[6] 王先謙.漢書補注[M].北京:中華書局,1983.
[7] 張大可.司馬遷生卒年考辨辨[M]//張大可.史記研究.蘭州:甘肅人民出版社,1983.
[8] 班固.漢書[M].點校本.北京:中華書局本,1962.
[9] 司馬遷.史記[M].北京:中華書局,1982.
[10] 程金造.史記管窺[M].西安:陜西人民出版社,1985.