在《史记》三家注中,唐人司马贞的《史记索隐》被公认为是质量最高的一部。明人毛晋曰:“读史家多尚《索隐》,宋儒尤雅推小司马《史记》,与小颜氏《汉书》如日月并照。”[16]又近人朱东润有言:“《索隐》语颇详密,又少异同,其所以凌驾裴、张,取重后世者,非无故也。”[17]而在《史记索隐》中,司马贞对《史表》中的侯国几乎都标注了方位。由于《史记索隐》对后世影响较大,故历来研究西汉侯国地望者,常引述《索隐》的说法。但唐代距西汉毕竟有千年之遥,司马贞何从知晓西汉时代的侯国方位,这还是让人怀疑。因此我们有必要对司马贞的这些说法,从史料来源上进行考察。
仔细分析《史记索隐》的侯国注文,可以看到绝大多数的条目都写作“县名,属某郡”,或是“《表》在某某”。《史记·高祖功臣侯者年表》汝阴侯条《索隐》曰:“凡县名皆据《地理志》,不言者,从省文也。”又《史记·建元以来王子侯者年表》朝侯条《索隐》曰:“凡侯不言郡县,皆《表》、《志》阙。”不难看出,司马贞对西汉侯国方位的确定,主要根据《汉志》、《汉表》。如果他对侯国方位没有标示,就说明在《汉志》和《汉表》中均找不到该侯国的定位信息。其实,除了《汉志》和《汉表》外,司马贞还利用了《晋书·地道记》(以下简称《晋记》)。如司马贞注《高祖功臣侯者年表》阳都侯条曰:“《汉志》阙。《晋书·地道记》属琅邪。”又同篇蒯成侯条曰:“《汉志》阙。《晋书·地道记》属北地。”[18]以上记载表明,当《汉志》、《汉表》均无资料可供利用时,司马贞还会从《晋记》中寻找相关线索。遍检《史记索隐》侯国注文,不再见有司马贞利用其他文献资料。由此可见,司马贞在为《史表》侯国进行定位时,主要利用了《汉志》、《汉表》、《晋记》三种文献。
《汉志》、《汉表》为常见文献。王隐《晋书》虽已亡佚,但该书《地道记》所记为西晋初年之行政建制,其时距西汉已有三百余年,当然不会保留有西汉侯国信息,[19]故司马贞标注侯国方位时,此书仅作备考。从所用文献来看,司马贞并无出众之处,其对西汉侯国的定位自然难以得出过人的结论。
司马贞的西汉侯国定位乃是以《汉志》、《汉表》为基础,而分析《史记索隐》侯国注文,司马贞侯国定位的依据也是地名。如某侯国名称与《汉志》县邑名称相同,司马贞便将二者直接对应,故所犯“张冠李戴”的错误较《水经注》有过之而无不及。如齐王子刘雄渠之白石侯国(195),司马贞以为即《汉志》金城郡之白石县。殊不知西汉边郡不封侯国,且白石县地,文帝时尚未属汉。又如高帝功臣傅宽所封之阳陵侯国(5),《索隐》曰:“阳陵县,属冯翊。”殊不知西汉畿辅不置侯国,且阳陵为景帝陵邑,何以封予列侯?如果同样的地名两见于《汉志》,司马贞索性将两处地名全部标出,让读者自行判断。《史记·建元以来侯者年表》宜春侯条《索隐》曰:“《志》县名,属汝南,豫章亦有之。”又如《史记·惠景间侯者年表》平陆侯条《索隐》曰:“县名,属西河。又有东平陆,在东平。”类似这样的问题,《史记索隐》中比比皆是,究其原因,乃是司马贞附会地名,而不加辨析之故。杨守敬曰“《索隐》往往于侯国妄为之说”,[20]盖不虚矣。
《史记索隐》对侯国方位的解释主要抄录《汉志》、《汉表》,但司马贞对《汉志》、《汉表》的检核并不细心,一些明载于《汉志》的县邑名称,他却未能检出,概称“《志》阙”。钱大昕批评道:
《索隐》虽知讨寻《表》、《志》,亦多疏漏。如城阳有阳都,北海有都昌,辽西有海阳,东莱有曲成,胶东有昌武,楚有武原,东海有戚,南阳有山都,沛有广戚,临淮有盱眙,涿有阿武、樊舆,《志》文俱在,而小司马皆以为阙。南阳、清河皆有复阳,南阳、济南皆有朝阳,平原、琅邪皆有平昌,而小司马仅举其一。又如傅宽封阳陵侯,非冯翊之阳陵;虫达封曲成侯,非涿郡之曲成;吴程封义陵侯,非汝南之义阳;刘勃封安阳侯,非冯翊之安陵;父城侯刘光非辽西之文城。名同实异,小司马皆不能别白,乃知班氏得古史阙文之遗意也。[21]
钱大昕指出司马贞于《汉志》、《汉表》往往漏检,可见司马氏对《史表》的注释甚为随意,这样的考释结论自然不应作为我们引据的对象。
司马贞的西汉侯国定位基本抄录《汉志》、《汉表》,而他对《志》、《表》的检核又不细心。可以说,对于西汉侯国地理研究而言,《史记索隐》既无史料价值,又无学术价值,因此我们在进行相关侯国地望考证时,不应再引述《索隐》的说法,而应当直接引据《索隐》所本之《汉志》、《汉表》。不过,如果仔细分析《史记索隐》的侯国注文,可以发现司马贞所见《史表》、《汉表》与今本《史表》、《汉表》略有差异,因此也就具有了校勘今本《史表》、《汉表》的版本价值。
今本《汉书·王子侯表》柳宿侯条无下注郡名。《史记·建元以来王子侯者年表》柳宿侯条《索隐》曰“《表》在涿郡”。则司马贞所见唐本《汉表》柳宿侯条注有“涿”。查柳宿侯刘盖(395)为中山王子,而同日受封之中山王子侯国皆别属涿郡,则刘盖之柳宿侯国地处涿郡合乎情理。《汉书·外戚传》曰:“翁须乘长儿车马过门,呼曰:‘我果见行,当之柳宿。’”三国人苏林注曰:“聚邑名也,在中山卢奴东北三十里。”又《元和郡县志》定州望都县载:“柳宿城,县东南四十二里,宣帝母王夫人微时,泣别于柳宿城,即此地也。”[22]根据以上记载,柳宿城之地望于西汉正在中山国与涿郡之间,则《汉表》柳宿侯条下注“涿”字可信。今本《汉表》柳宿侯条当脱漏“涿”字。
又《史记·建元以来王子侯者年表》邵侯条《索隐》曰“《表》在山阳”。今本《汉书·王子侯表》邵侯条无下注郡名,则唐本《汉表》邵侯条注有“山阳”。居延汉简常见昌邑国邵县,昌邑国为武帝时以山阳郡改置,可知山阳郡确有邵侯国(335)。[23]《索隐》所引《汉表》可信。
以上是根据《索隐》校补今本《汉表》脱漏的两个例证,接下来再举两个利用《索隐》校正今本《汉表》讹误的例子。[24](www.xing528.com)
《汉书·王子侯表》东淮侯条注有“北海”,但东淮侯刘类(455)为城阳王子,北海郡不与城阳国相接,城阳王子侯国何以远至北海郡?查《史记·建元以来王子侯者年表》东淮侯条《索隐》曰:“《表》在东海”。东海郡与城阳国相邻,唐本《汉表》所注可信,今本《汉表》东淮侯条下注“北海”当为“东海”之讹误。
《汉书·景武昭宣元成功臣表》博成侯条下注“淮阳”,博成侯(595)受封于地节四年(前66年),然元康三年(前63年)以后淮阳为王国,王国境内不应置有侯国。且《汉表》下注“淮阳”者,仅此一例。查《史记·建元以来侯者年表》博成侯条,《索隐》曰“《表》在临淮”,则今本《汉表》博成侯条之“淮阳”乃“临淮”讹误。
上面所举的四个例证是利用《索隐》来对勘《汉表》下注郡名的脱漏和讹误。而事实上,利用《索隐》我们还可以对《史表》所记录的侯国名称进行校勘。[25]这里附带举两个例子。
《史记·惠景间侯者年表》载有清都侯驷钧(182)。而《史记·孝文本纪》记作清郭侯驷钧。《史表》清都侯条引《索隐》曰:“清郭侯驷钧。齐封田婴为清郭君。”显然,司马贞所见唐本《史表》写作“清郭”,与《孝文本纪》相合。又汲古阁刻十七史本《史记·惠景间侯者年表》所记驷钧封号亦为“清郭”。[26]由此可见,中华书局点校本《史表》之“清都”乃“清郭”讹误,[27]今可据《索隐》、汲古阁本《史记》改正。
《史记·建元以来王子侯者年表》载有父城侯刘光(447)。《汉书·王子侯表》作文成侯。《索隐》曰:“《志》在辽西。”查《汉志》辽西郡有文成县,则司马贞所见唐本《史表》亦作文成侯,今本《史表》之“父城”为“文成”讹误。
从这些例证可以看出,与今本《史表》、《汉表》相比,司马贞在《史记索隐》中引录的《史表》、《汉表》保留了某些唐代古本面貌。在文献流传过程中,《史表》、《汉表》侯国名称不可避免地会发生讹误,而《汉表》下注郡县名发生脱漏、讹误、窜格的现象更为严重。利用《索隐》记录的古本信息,我们可以对今本《史表》、《汉表》进行校订和勘误,从这一点来讲,《史记索隐》具有一定文献校勘价值,应当引起我们的重视。
《索隐》某些侯国注文所引用的《汉表》记载,同样不见于今本《汉表》相对应的侯国条目,这些还不能一概视作今本《汉表》之脱漏。如《史记·惠景间侯者年表》阳信侯条《索隐》曰:“《表》在新野。”查《汉书·高惠高后文功臣表》阳信侯条无下注县名,这是否意味着《汉表》阳信侯条原本注有“新野”,后因文献传抄而脱漏?[28]实则不然。《索隐》此注文乃移录自《汉书·外戚恩泽侯表》阳新侯条。对此,清人梁玉绳已有察觉,故曰:“考《汉表》并无‘新野’之文,因《外戚恩泽表》阳新侯郑业封下有‘新野’字而误。”[29]又《汉书·景武昭宣元成功臣表》遽侯条无下注郡名,但《史记·惠景间侯者年表》遽侯条《索隐》曰:“案《汉表》乡名,在常山。”此语显然抄自《汉书·王子侯表》遽乡侯条。考《索隐》侯国条目所引《汉表》下注郡县名,有相当比例移录自其他侯国条目。今试将《高祖功臣侯者年表》、《惠景间侯者年表》中,司马贞转录《汉表》的侯国条目加以归纳,并列出各条的来源(见表2-1)。对于《索隐》引文的这一特点,还需留意。
表2-1 《高祖功臣侯者年表》、《惠景间侯者年表》部分侯国条目《索隐》注文史料来源
明确了《索隐》的体例特点,我们可以对某些具体问题作深入考辨。《史记·惠景间侯者年表》载有商陵侯赵周(227)。《索隐》曰:“《汉表》在临淮。”查《汉表》商陵侯条无下注郡名,全祖望以为《汉表》脱漏“临淮”。[30]其实,《索隐》此注文乃转录《汉书·王子侯表》南陵侯条下注。王荣商已指出:“商陵侯赵周……《百官表》作南陵。《王子侯表》南陵在临淮。此《索隐》所本,非脱也。”[31]王氏所言极是,但称司马贞因《百官表》书有“南陵侯赵周”而转录《王子侯表》则未必属实。[32]前面已经提到,司马贞注《史表》主要依据《汉志》、《汉表》、《晋记》,并未参考《百官表》。且若《史表》明书“商陵”,司马贞仅据《百官表》而转引《汉表》南陵侯注文也显草率。显然,司马贞直接转引《王子侯表》南陵条注文,乃是因其所见唐本《史表》写作“南陵”,这一版本信息与《百官表》“南陵侯赵周”可相对应。今本《史表》之“商陵”当为“南陵”讹误。
虽然唐本《史表》所记赵周、刘庆封国名称皆为“南陵”,但司马贞据此定两侯国为一地的做法并不妥当。景帝时代之列侯为整县受封,而受封于武帝晚期的赵王子刘庆,其所封之南陵应为乡聚,[33]与赵周之南陵侯国绝非一地。张家山汉简《二年律令·秩律》南阳郡属县见有南陵,秦封泥亦见“南陵丞印”,[34]知秦代已置有南陵县,延续至汉初,此南陵县当即赵周封国所在。[35]
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。