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