辛德勇
那个给秦孝公出谋划策并亲自操持,帮助秦国变法图强的商鞅 ,本姓公孙,复因身属卫国诸庶孽子,又称“卫鞅”。入秦后,因功受封列侯(当时称作“彻侯”)。由于其封邑位于商地,复名“商鞅”,或号曰“商君”。这些,都是稍习秦汉史者就都知晓的事情。不过这看起来简简单单、清清楚楚的史事,也有些说不清楚的地方——这就是商鞅的封地到底在哪里?
关于这个问题,直接的记载,出自《史记·商君列传》:
卫鞅既破魏还,秦封之于商十五邑,号为商君。
此事的具体发生时间,在《史记·秦本纪》中有明确记载:
(秦孝公)二十二年,卫鞅击魏,虏魏公子卬。封鞅为列侯,号商君。
又《史记·六国年表》记述的时间,与此相同。依据这样的记载,公孙鞅或卫鞅以破魏之功而受封的列侯爵位,封地在商,故名“商君”。
这些记载,对每一个稍通古文的读者来说,都是一清二楚、毫无疑义的,用不着再赘加笔墨——这位来自卫国的孽子“卫鞅”,因为受封于“商”,所以姓名就改成了“商鞅”。附带说明一下,不管“卫鞅”,还是“商鞅”,确切地说,都是以居地作为他的“氏”,是“卫氏”或“商氏”,“卫”或“商”都不是姓。
明末汲古阁刻本《史记索隐》
可是,专家读《史记》,眼光就是与普通人不同。唐朝开元年间,有位太史公的本家名叫司马贞,他在撰著《史记索隐》给《太史公书》做注时,看着看着就多看出了一个地名——他把《史记·商君列传》“秦封之于商”的“于”字看成了另一个地名,即“于”不是虚字而是实词,并且还是个专有名词:
于、商,二县名,在弘农。按《纪年》云秦封商鞅在惠王三十年,与此文合。(司马贞《史记索隐》卷一八)
这《纪年》是战国时期魏国的史书,乃是西晋时期出土的所谓“汲冢竹书”的一部分,故又称《竹书纪年》。因为是魏国的史书,故所称“惠王”是指魏惠王(这也就是《孟子》里常常里提到的那位梁惠王)。魏惠王三十年,正值秦孝公二十二年,所以司马贞说秦、魏两方面的记载相互吻合。
司马贞做出这样的解读,当然不会是随便胡来,这里边自有他的道理。不管司马贞的道理讲得通还是讲不通,我们都姑且把它放到后面再说,这里先来确认一下“秦封之于商十五邑”这句话讲得通还是讲不通。
这么想,是因为古今文法未必完全相同,现在我们读着觉得很顺畅的用法,古人可能根本不这么用;相反,现在我们读着觉得很别扭的用法,可古人却偏偏就是那么用。譬如我研究过的秦始皇“禁不得祠明星出西方”的问题,按照我们今天的逻辑,从字面上看,这是个双重否定的意向,即所谓“禁不得”就是“人们不得不做什么什么事儿”的意思,是非做不可,然而秦汉人这么用,却是“不得”的意思,也就是“禁止”、亦即禁行其事。你再觉得别扭他们也那么用,这由不得你(别详拙文《秦始皇禁祠明星事解》,收入拙著《旧史舆地文录》)。
《史记·陈杞世家》载陈胡公满得氏由来,谓其本为帝舜之后,后因居于妫汭而“姓沩氏”,“至于周武王克殷纣,乃复求舜后,得沩满,封之于陈,以奉帝舜祀,是为胡公”;又《史记》同篇载杞东楼公得氏由来,谓其本为夏禹苗裔,“殷时或封或绝,周武王克殷纣,求禹之后,得东楼公,封之于杞,以奉夏后氏祀”。由“封之于陈”、“封之于杞”这两个例证,就足以证明,《史记·商君列传》“封之于商”的“于”字,按照秦汉时期通行的文法,一般还是将其用作文言虚词,而不宜把它读作专用的地名。
另一方面,商鞅被“封之于商”一事,尚别见于《史记·楚世家》,记述的形式,是“秦封卫鞅于商”。这种用法,在《史记》当中就更常见了。如《史记·周本纪》之“封弃于邰”, “封神农之后于焦、黄帝之后于祝、帝尧之后于蓟、帝舜之后于陈、大禹之后于杞”,“封尚父于营丘”,“封弟周公旦于曲阜”,“封召公奭于燕”,“ 封弟叔鲜于管”,“封弟叔度于蔡”,这一大串“封某人于某地”的用法,更足以证明,“秦封卫鞅于商”的“于” ,若是没有其他特别的语境,只能读为普通的介词,而不宜解作专有地名。
其实在唐人司马贞之前,读《史记》者本来也都是把这个“于”字解作虚词介字。例如南朝刘宋时人裴骃撰著《史记集解》,就是在《商君列传》“秦封之于商”句下援引同时人徐广的说法,谓“徐广曰弘农商县也”。这显然是把商鞅的封地看作只有“商”这一个地方,并没有包含什么“于”地在内,即如清人雷学淇所说,“徐氏以‘于’为语助”也(雷学淇《竹书纪年义证》卷三八)。
可是,面对《太史公书》这种清清楚楚、毫无疑义的记载,司马贞这家伙为什么非要做出别样的注解呢?须知司马贞撰《史记索隐》,是在裴骃《史记集解》的基础上再做新的疏释,所以他把商鞅的封地看作是“于”、“商”两地,等于是和裴骃针锋相对,提出自己不同的见解。
这并不是司马贞没事儿找事儿非要横生别解,而是因为另有一项与之相关的记载横在了他的面前,他是不得已而为之。
这项相关的记载,就是司马贞提到的《竹书纪年》。大家仔细斟酌一下司马贞那段注解,即“于、商,二县名,在弘农。《纪年》云秦封商鞅在惠王三十年,与此文合”。我们把这段话倒过来看,才能理解司马贞的思维逻辑。
这话怎么讲呢?司马贞说《竹书纪年》记载商鞅受封列侯的时间是在魏惠王三十年,这同《史记》记载的时间一致,可若仅仅如此,司马贞有必要多此一举为一个确定无疑的史事做注么?审度相关文义,可以看出,今本《史记》所附《索隐》和汲古阁刊三十卷单行本司马贞书,这条注释的文字,都应存有脱落之处。
附带说明一下,存世汲古阁刊三十卷单行本《史记索隐》,并非如汲古阁主人毛晋所标榜的那样,是什么“北宋秘书省大字刊本”(见汲古阁刊单行本《史记索隐》篇末毛晋识语),而是一种多有讹误脱窜的传钞本,并且其中已经羼有北宋时期的内容;其余如三家注本所附《史记索隐》,亦间有讹误脱漏(别详程金造《汲古阁单本史记索隐之来源和价值》,收入作者文集《史记管窥》)。其实对比一下汲古阁刻三十卷单行之本,就可以清楚看出,被后人附着于《史记》本文的司马贞《索隐》,确有很多或错讹、或夺落的地方。
在这一历史文献学背景下来审视《史记索隐》这段内容,可知其原始形态的文本,理应载有《竹书纪年》所记商鞅封邑的具体地点,而这一记载,又应或直接、或间接地同将“于”字解作地名相关。
我们在《水经·浊漳水注》中看到有如下记载:
衡水又北,径邬县古城东。《竹书纪年》:“梁惠成王三十年,秦封卫鞅于邬,改名曰商。”即此是也。故王莽改曰秦聚也。
唐朝人司马贞后来在注释《史记·商君列传》时提到的那条《竹书纪年》,其完整的内容,应当就是《水经注》引述这段文字,只不过我们今天见到的《史记索隐》已有脱落而已。司马贞说“《纪年》云秦封商鞅在惠王三十年,与此文合”,意在通过时间的吻合来说明《竹书纪年》记载“秦封卫鞅于邬”同《史记·商君列传》所说卫鞅被“秦封之于商”是同一回事儿。
在这种情况下,司马贞为什么又会提出“于”、“商”二字是两个县名呢?清人徐文靖曾经指出:“于读为乌,古字通。《穆天子传》‘于鹊与处’,即乌鹊是也。”(徐文靖《竹书统笺》卷一二)即“于”应当读为“乌”字,而“乌”就是“邬”的异写,这样就可以把“于、商,二县名”解作“邬、商二县名”了。我推想,这就是司马贞的理据和他的论证逻辑。不然的话,就没法理解他何以会讲出那样一些话来。
当然,若是深入追究的话,司马贞这一认识肯定存在比较严重的问题。因为《竹书纪年》讲到的邬、商这两个地名,是随着时间推进而发生的纵向演替,而不是司马贞所讲的同一时间断面上横向的空间位置差异。不过与“邬”的位置所在相比,这个问题,显得并不那么重要,所以,下面我们就先来看看《竹书纪年》提到的这个邬邑到底是在哪里。
紧继司马贞之后,撰著《史记正义》的张守节,对司马贞的说法进一步解释说:
于、商在邓州内乡县东七里,古于邑也。商洛县在商州东八十九里,本商邑,周之古国(德勇案:“古国”原作“商国”,此从中华书局新点校本《史记》校勘记改)。案十五邑近此二邑。
这样,按照司马贞和张守节的解释,《史记·商君列传》的“秦封之于商十五邑”句,就要读作“秦封之于、商十五邑”,今中华书局新点校本就是这样依据司马贞和张守节的说法而做的断句。在这里,张守节谓“秦封之于、商十五邑”之“十五邑”乃“近此二邑”,自然是指这“十五邑”接近于邑和商邑两地。
在谭其骧先生主编的《中国历史地图集》上,对这商、于两邑位置的标示,依据的就是张守节的说法,其具体地点如下图所示:
商、于二邑旧说位置图(据谭其骧主编《中国历史地图集》之《战国·秦蜀图》)
这两处地点最重要的地理位置特征,是都在丹水谷地的上游,而这条丹水就是现在的丹江。后世对商、于两邑地望的解释,大多都是同谭其骧主编的这部《中国历史地图集》一样,完全因袭张守节《史记正义》的说法。
然而稍加推敲,就可以看出,图上的于邑地处秦武关之外,而这里本是楚国的属地(参据杨宽《春秋时代楚国县制的性质问题》附录一《楚国商县考》,收入作者文集《杨宽古史论文选》卷二)。《史记·六国年表》记载说,在此番商鞅受封为列侯十一年前的孝公十一年,秦“城商塞”,这应该就是修建商邑东南的武关。不管这个商邑到底是不是商鞅的封邑,该地处于武关之内而于邑却在武关之外很远,这一点是非常明确的。
按照《史记·楚世家》记载,就在商鞅被“封之于商十五邑”这一年,秦国始“南侵楚”,也就是突破武关的限制向南推进。这意味着在商鞅受封列侯之时这个于邑尚属楚地,故商鞅封邑是不应该包含该地在内的。杨宽先生考述相关问题,也认为这个于邑与秦国的商邑之间“相距二百五十里以上,当时商君的封地不可能如此广大”(杨宽《春秋时代楚国县制的性质问题》附录一《楚国商县考》,收入作者文集《杨宽古史论文选》卷二)。
从事历史研究的学者们,往往会把史事想得过于复杂。其实创造历史的古人也是人,而只要是人,其社会行为的基础就同样都是饮食男女,因而不管是谁,不管是什么事儿,其内在机理也就不会相差很多。我们看商鞅封邑这件事儿,《史记·商君列传》既然说是由于“秦封之于商十五邑”而“号为商君”,那么,按照普通人正常的逻辑,商鞅的封地,当然只能解读为商邑外围十五邑了,绝不该另有个“于邑”冠加其上。
宋人司马光在编著《资治通鉴》时,或许就是因为感受到这种困惑,于是他把这件事改写为“秦封卫鞅商于十五邑”(司马光《资治通鉴》卷二周显王二十九年),即写作“商于”而不是“于商”,用以凸显“商”重于“于”的意向。然而这只是一种没有办法的办法,甚至可以说乃是一种自欺欺人的把戏,对于合理、准确地理解商鞅的封地,实际上是无济于事的。
那么,若是依从《中国历史地图集》的标绘,把商鞅的封地就定在张守节说的那个地方,也就是今陕西丹凤附近的丹江上游谷地里,这样就可以了吗?古往今来绝大多数学者确实就是这样看、这样定的,可这样处理,仍然问题多多。
首先在地名来源上,若是依照张守节的解释,商这个地方实“本商邑,周之古国”,那么,它就同《竹书纪年》因商鞅受封于此才改“邬”为“商”的记载相抵触了。
抛开这个表面性的问题不谈,这里面更实质的问题,主要起自《史记·商君列传》下面一段记载:
秦孝公卒。太子立。公子虔之徒告商君欲反,发吏捕商君。商君亡至关下,欲舍客舍。客人不知其是商君也,曰:“商君之法,舍人无验者坐之。”商君喟然叹曰:“嗟乎,为法之敝,一至此哉!”去之魏,魏人怨其欺公子卬而破魏师,弗受。商君欲之他国,魏人曰:“商君,秦之贼,秦强而贼入魏,弗归,不可。”遂内秦。商君既复入秦,走商邑,与其徒属发邑兵北出击郑。秦发兵攻商君,*之于郑黾池。秦恵王车裂商君以徇,曰:“莫如商鞅反者!”遂灭商君之家。
若如古往今来通行的看法把商鞅的封邑定在丹江上游谷地,那么,上面这段记载有一些根本说不通的地方。
第一,客舍主人、也就是所谓“客人”讲的“商君之法,舍人无验者坐之”这句话告诉我们,当时秦国依照商鞅制定的法令,住宿必须有“验”,也就是通行和住宿的凭证。若是用我当年经历过的情况强做比附,这个“验”也就相当于“组织”的介绍信。那么,假若商邑果然是在丹江上游谷地,商鞅又是怎么能够在“无验”的情况下逃出关外前往魏国去的呢?清人沈钦韩即尝对此质疑说:“《商君列传》所叙自相乖缪,商君亡至关下,欲舍,客舍弗纳,去之魏。夫无验而不舍,岂能无验而出关哉?”(沈钦韩《汉书疏证》卷二)
第二,商鞅在被魏国送回秦境之后,他返归封地商邑,举兵反叛。可是,商鞅为什么不循丹江谷地北入灞水(今灞河)以直逼秦都咸阳,却要向东北方向的渑池一带出兵呢?这样的用兵路线岂非南辕北辙?须知渑池已在秦国东门函谷关外,商鞅出兵于此,哪里像是反秦,更像是出兵征魏,或是伐韩,他究竟想要干什么呢?难道非要舍近求远、避易趋难,特地绕出于秦地之外再翻身叩关么?还有,由于地处丹江上游谷地,当地地貌,是山高谷深,由这个商邑外出,特别是部队大规模行军,通常只能或北上灞水谷地以趋关中,或南下丹水谷地以赴南阳盆地或江汉平原,虽然也可以由商邑直接趋向东北,循洛水(今洛河)谷地而下,去往渑池一带,但由于需要横跨丹、洛二水之间的分水岭,对大规模的行军作战,实际上难度很大;尤其是当时作战,车兵还占据很重要地位,这种次要的山路,大批战车通行其间,更根本无法想象。
道理既然怎么讲也讲不通,那么,我们就不妨换个角度,看看这个商邑有没有可能是在别的什么地方。如上所述,按照《竹书纪年》的记载,秦孝公本来是“封卫鞅于邬”,这里是在商鞅受封之后才“改名曰商”。所以,探寻商鞅的封地商邑,还是要先从邬邑的所在找起。
当然,更多更普遍也显得好像是更权威的认识,是把这个邬就看作是丹水谷地那个商邑的前身,像前面出示的《中国历史地图集》,把“邬”字括注在丹水谷地那个商邑的旁边,就很典型地体现了这种看法(然而如前所述,这种看法同张守节所说该地“本商邑,周之古国”的情况是相抵触的)。
但也很早就有人并不这样看待这一问题。这事儿,一直可以追溯到王莽时期。新朝那个唯一的皇帝王莽,虽然志向高远,无奈精神却存在很大问题,做事儿总是一意孤行,不停地更改地名就是其无数乱政之一。
《汉书·地理志》记载在巨鹿郡下设有一个郻县,王莽在其大肆改易旧有地名的运动中,把它改名为“秦聚”。巨鹿郡下辖的这个郻县,远在今河北束鹿以东地区,那里是战国时期赵或中山国的地盘,在这样的地方,怎么会有“秦聚”存在?若是大秦帝国业已建立之后,那么,一统江山,无一不是秦人的疆土,又何以会特地标称“秦聚”?
在《续汉书·郡国志》中,这个郻县被写成了鄡县。《后汉书·光武帝纪》记载,在西汉末年天下大乱之际,光武帝刘秀尝“击铜马于鄡”, 唐章怀太子李贤率人注释《后汉书》,就是用巨鹿郡下这个鄡县来为光武帝此役做注。
由于“鄡”和“邬”字形相近,郦道元在北魏时期撰著《水经注》,便混淆二者,把这个“鄡县”当成了“邬县”。于是,我们就在《水经·浊漳水注》中看到前面引述过的那一段内容,即把这个由“鄡县”错认成的邬县当作《竹书纪年》讲的那个卫鞅受封之地了。郦氏所说“秦封卫鞅于邬”云云,显然是张冠李戴,安放错了地方。
唐人颜师古注《汉书》,称郻县的“郻”字读作苦么反,李贤注《后汉书》称“鄡”音苦尧反,而么、尧迭韵,故“郻”、“鄡”古音实本相同。这意味着东汉改“郻县”为“鄡县”,应该是一个自然演变的结果,即由于“郻”、“鄡”音同,在西汉时很可能早就通行了“鄡县”的写法。《汉书·地理志》载真定国下属绵曼县,有“斯洨水首受太白渠,东至鄡入河”,清人赵一清据此以为《汉书·地理志》的“郻县”本应书作“鄡县”(赵一清《水经注释》卷一〇)。这样的看法虽有一定道理,但考虑到“郻”字的稀见情况,我觉得还是由“郻”俗写为“鄡”的可能性更大。不过不管实际情况如何,西汉时即已存在“鄡县”的写法,这应当是确切无疑的事实。
再进一步向前追溯,则至迟在西汉末年,就应当因“鄡”和“邬”字形相近而出现了讹“鄡县”为“邬县”的情况。王莽改制时就是按照错讹成“邬县”写法,把它和秦孝公时授予商鞅的封地邬邑联系起来,因而才将其改名为“秦聚”。
做出这样的推论,需要一个文献背景:这就是如前所述,所谓《竹书纪年》是西晋时期才被发现的“出土文献”,王莽时尚无由读到此书。在这种情况下,假若拙说成立,那么,当时就一定另有著述或是档案文*述了秦人封授邬邑给商鞅的情况。王莽的精神虽然很不对头,但他确实爱读书,而且读过很多的书,看到一些特别的记载,是很正常的事儿。历史上的很多事情,只有深入研究了你才能知道。
常语云:“史阙有间”,因而我们在研究古代历史时只能直面眼前所能看到的实际情况,再据此做出合理的推论。目前,我对王莽改“郻县”为“秦聚”的做法,只能做出这样的推论。只是王莽的精神状态确实与常人差别甚大,我依据常理来推断他的诡异行为,若是出现某些偏差,相信大家也是可以理解的。
否定了王莽和郦道元指认的这个邬邑所在地之后,下面我们再来看一看商鞅的封邑到底是在哪里?
清人陈逢衡在笺释《竹书纪年》“秦封卫鞅于邬”这一记载时指出:
《春秋》隐十一年王取鄥、刘之田于郑,庄二十年王及郑伯入于鄥,是鄥为周地,后归于晋;昭二十八年魏献子以司马弥牟为鄥大夫是也。(陈逢衡《竹书纪年集证》卷四七)
这里所说《春秋》,实际上都是注解《春秋》的《左传》,其中隐公十一年和庄公二十年两条纪事,诚如陈逢衡所云,说明此邬邑本属周天子直辖的地域,亦即所谓王畿之地。盖所谓“王取”、“王入”指的都是周王。所谓“春秋时代”亦即东周时期,其时周都设在洛阳,故此邬邑当距洛阳城不远。西晋杜预《春秋经传集解》即谓邬邑在洛阳东面的缑氏县西南。至于昭公二十八年魏献子以司马弥牟为鄥大夫一事,所说邬地,杜预《春秋经传集解》指为“太原邬县”,《汉书·地理志》亦谓此“太原邬县”乃“晋大夫司马弥牟邑”,故不宜与前一邬邑视为一事。
在谭其骧先生主编《中国历史地图集》的春秋部分,我们可以直观地看到缑氏县西南这个邬邑的具体位置:
春秋邬邑位置图(据谭其骧主编《中国历史地图集》之《春秋·郑宋卫图》)
若是把这个邬邑添绘到《中国历史地图集》相关的战国图幅上,情况将如下所示:
战国邬邑位置示意图(据谭其骧主编《中国历史地图集》之《战国·韩魏图》增改)
其间的道理,是一个像邬邑这样业已存在的较大规模聚落的名称,除非有什么特别的原因,是不会轻易消逝的,因而邬邑被沿承至战国时期,是一个大概率事件。
下面,我们就按照这个邬邑的位置,来看一看商鞅的封邑,有没有可能是在这里。
把商鞅的封邑商定在这个邬邑,首先可以合理地解释前面提出的第一项问题,即商鞅在“无验”的情况下是怎么逃出关外前往魏国去的?——这里地处函谷关外,而且已在关门之外很远,东面紧邻魏国国境,商鞅一迈腿就过去了,简单得很,也便利得很,是没有任何障碍的。同样,魏国把前来投靠的商鞅发回秦地,只要礼送出境,进入秦国的辖地就是了,不必送客一直到家;而且由魏国进入秦境,也就是进入了商鞅的封地,所以他才会轻而易举地在商地起兵造反。
其次,是商鞅在封地商邑举兵反叛后,之所以会向渑池一带出兵,是因为渑池地处商邑与函谷关之间,商鞅进兵渑池的目的,是通过渑池西指函谷关,以破关灭秦。商鞅封地内兵员的实力是不是足以攻克函谷关以进入关中是一回事儿,可这道确实很顺,确实很方便行军作战是另一回事儿。大家看一看,这商鞅进兵黾池的合理性是不是显而易见的呢?
在此需要说明一下,《史记·商君列传》所说“*之于郑黾池”,刘宋裴骃《史记集解》引述同时人徐广的话说:“黾,或作‘彭’。”唐人司马贞的《史记索隐》,对此疏释曰:“郑黾池者,是黾池属郑故也,而徐广云‘黾或作彭’者,按《盐铁论》云‘商君困于彭池’故也。”张守节《史记正义》则更进一步说明之:“黾池去郑三百里,盖秦兵至郑破商邑兵,而商君东走至黾,乃擒*之。”《史记·六国年表》复有歧说云:“商君反,死彤地。”看这些歧说纷纭的记述,商鞅死于何地,简直成了一个混乱的谜团。
其实清人梁玉绳早就针对《史记·六国年表》的记载做过考证说:“考《商君传》言*之于郑黾池,徐广曰‘黾’或作‘彭’,《索隐》引《盐铁论》‘商君困于彭池’为证。《水经·谷水注》云‘黾池亦或谓之彭池’也,乃此又言鞅‘死彤地’,必是‘彭池’之误,亦犹惠文后五年误书‘戎地’为‘戎池’耳。……且鞅果死彤,亦不须加‘地’字,其误无疑”(梁玉绳《史记志疑》卷九)。简单地说,就是“彭池”乃“黾池”异名,而“彤地”是“彭池”的讹误,三地同为一地。
至于司马贞、张守节辈之所以要把黾池同郑地联系到一起,是因为他们误把这个“郑”字理解成了一个城邑,这就是《商、于二邑旧说位置图》上标示在今华山脚下那个“郑县”所在的地方。大家看在这幅图上,就在郑县的附近,是标绘有“彤”这个地方的。然而《史记·商君列传》实际上是以“郑”代称韩国。盖韩国都郑(今河南新郑),而以都城代指国名,是战国秦汉间普遍的用法,毫不足怪。前面提到的《孟子》称魏惠王为梁惠王,就是基于这个道理。因黾池是在韩国的控制之下,故《史记·商君列传》才把此地称之为“郑黾池”。
另一方面,以此邬邑作为商鞅的封邑,也可以很好地解释其封地之内总共拥有一十五邑的情况。因为这里地势较为平坦,农业发达,人口稠密,在其附近形成十五个居邑,是很正常的事情。
回顾以往的研究历程,令人遗憾的是,清人陈逢衡虽然正确认识到《左传》所载“王取鄥”、“王及郑伯入于鄥”诸事同商鞅封地的联系,并且还清楚指明“秦封魏鞅于鄥,则此地又属于秦”,可不知为什么却未能判明此一邬邑所在的具体地点,反而重又把眼光转回到丹江上游谷地中去,谓之曰:“《商君列传》谓鞅既破魏,封之于、商十五邑,于读为乌,当即邬也。旧止名鄥,今改名曰商,故谓之商于。”(陈逢衡《竹书纪年集证》卷四七)这“商于”之地见于《史记·张仪列传》等处记载,自在秦岭南坡的丹江河谷之中。
讨论至此,这里边还有个问题,需要解答——这就是当时秦国东部的疆土有没有可能包含我讲的这个区域在内呢?
关于这一问题,我们需要先来看一看商鞅受封于邬邑,也就是“秦封之于商十五邑”的前提。对此,《史记·商君列传》记载说:
其眀年,卫鞅说孝公曰:“秦之与魏,譬若人之有腹心疾,非魏并秦,秦即并魏。何者?魏居岭阨之西,都安邑,与秦界河而独擅山东之利。利则西侵秦,病则东收地。今以君之贤圣,国赖以盛,而魏往年大破于齐,诸侯畔之,可因此时伐魏。魏不支秦,必东徙。东徙,秦据河山之固,东乡以制诸侯,此帝王之业也。”孝公以为然,使卫鞅将而伐魏。魏使公子卬将而击之。军既相距,卫鞅遗魏将公子卬书曰:“吾始与公子驩,今俱为两国将,不忍相攻,可与公子面相见,盟,乐饮而罢兵,以安秦魏。”魏公子卬以为然。会盟已,饮,而卫鞅伏甲士而袭虏魏公子卬,因攻其军,尽破之以归秦。魏恵王兵数破于齐、秦,国内空,日以削,恐,乃使使割河西之地献于秦以和。
商鞅得胜还朝,就被秦孝公“封之于商十五邑”。
《竹书纪年》记述此番秦魏交战时魏国面临的总体形势说:
五月,齐田朌伐我东鄙。九月,秦卫鞅伐我西鄙。十月,邯郸伐我北鄙。王攻卫鞅,我师败绩。(《史记·魏世家》唐司马贞《索隐》引《竹书纪年》)
所谓“齐田朌伐我东鄙”之役,或即齐军大败魏兵的马陵之战。由“王攻卫鞅,我师败绩”的记述形式来看,魏人在这次齐、秦、赵三国攻魏的行动中,显然更看重秦魏之间这场战役。
清人雷学淇尝论述商鞅率师伐魏之役的重要性说:
惠王之败于齐、秦,此盛衰一转关也。显王二十五年前(德勇案:时值秦孝公十八年),魏最强,败齐胜燕,侵楚拔赵,鲁卫宋郑之君而朝之,且率泗上十二诸侯朝天子于孟津以西谋秦,为臼里之谋欲复兴周室,岂不胜哉!及彭喜言于郑君以败其盟,而惠王亦侈然自放,乘夏车而称夏王,此所以动天下之兵而子申、子卬遂皆糜于锋刃矣。自是而齐威奋于东夏,秦孝起于西陲,东帝西帝之势,即成于此日矣。(雷学淇《竹书纪年义证》卷三八)
雷学淇这一归纳总结,正与商鞅率兵伐魏前讲给秦孝公的那番话相互印证——一个是客观结果,一个主观认识,完美地把当时的“国际”环境呈现到我们的面前。在这一攻守背景之下,我们才能更好地理解秦孝公把邬邑周围地域封授给商鞅的原因。
《竹书纪年》记载魏惠王六年(周显王五年,秦献公二十一年,公元前364年),魏国君主离开今山西西南部的安邑,迁都到今河南腹地的大梁。稍候,魏国于惠王十二年(周显王十一年,秦孝公四年,公元前358年),遣“龙贾帅师筑长城于西边”(《水经》之《渠水注》及《济水注》引《竹书纪年》);继之,魏国又在三年之后的魏惠王十五年(周显王十四年,秦孝公七年,公元前355年),“遣将龙贾筑阳池以备秦”(宋乐史《太平寰宇记》卷九郑州原武县引《竹书纪年》)。这条用于“备秦”的魏国西边长城,大致就是上列《战国邬邑位置示意图》中大梁西部、北部那道绵延的城垣。
这说明在商鞅变法之后,秦国的势力迅速膨胀,从秦孝公四年起,就给魏国造成巨大压力,迫使其不得不修筑长城以防备秦军的攻击,而当时魏国对秦的防线就是这条长城线。尽管此时在秦东门函谷关与此黄河南岸的魏西长城之间,还有韩国存在,但秦国的兵锋,显然已经直逼这道长城之下。
基于这一背景来看秦孝公二十二年商鞅伐魏之役,魏人既称“秦卫鞅伐我西鄙”,就说明这场战役发生在上述魏国西长城附近。不过在秦函谷关与这道魏西长城之间,秦、韩、魏三国的势力,颇有交叉出入,此消彼长,变化不定。《史记·商君列传》既云当时双方“军既相距”,复谓“卫鞅伏甲士而袭虏魏公子卬,因攻其军,尽破之以归秦”,就说明秦军所攻击的“西鄙”并非这道长城防线,而应该是在长城线外附近地区两军列阵对垒。不然的话,魏军若是死守长城不出,秦军的战事进展绝不会如此顺利。
我认为,此时魏国的势力,已经外溢于长城线以西,故秦、魏两军得以对决于此。正如雷学淇所说,当显王二十五年、亦即秦孝公十八年之时,魏国势力最为强盛,所以其西境向外有所拓展,也是理所当然的事情。这样,在秦军获取胜利之后,便自然而然地占据了魏国西长城之外这片疆土。为有效管控这片领土,也为将来以此为桥头堡进一步对魏发起进攻,秦孝公便把这片土地上包括邬邑在内的一十五所城邑封授给商鞅作为领地。
至于秦孝公为什么要把邬邑改名为商邑,我想这是因为商鞅本卫国诸庶孽子,而卫国君主本殷商余民之后,“卫鞅”实即“商鞅”。封邑之名,从其先祖,这既是对商鞅的激励,也可寄寓秦孝公藐视东周王室的心理。盖邬邑地近周都洛阳,而商为周灭,把这片周人京畿之地名之曰“商”,正犹如所谓“兴灭国,继绝世”一般,当然会让周天子不爽,秦孝公则适可借此展示自己的威风。
在秦盛魏衰的转折性时刻,秦国获取邬邑周围这片土地,极大地改变了战国时期政治地理版图的格局,具有重大历史意义;对秦国进一步向东拓展疆土,意义尤为重大。
其后两年的秦孝公二十四年,在孝公去世前不久,秦军又“与晋战雁门,虏其将魏错”(《史记·秦本纪》)。这里的“晋”,实际是指出自晋国的“魏”,司马贞《史记索隐》释此“雁门”云:
《(竹书)纪年》云“与魏战雁门”,此云“雁门”,恐声误也。又下文云“败韩雁门”,盖一地也。寻秦与韩、魏战,不当远至雁门也。
在前面那幅《战国邬邑位置示意图》上,大家可以看到,这个岸门位于今许昌市北不远的地方,正在前述魏国黄河南岸西长城向南的延长线上,此番两国交战,秦军也应当是出自邻近的商鞅封地。这场战役秦军显然大获全胜,足见商鞅封地这一战略桥头堡的作用。
另外,附带说明一下,前引《史记·商君列传》谓商鞅在诱捕统军出征的魏公子卬之后,“因攻其军,尽破之以归秦”,这应该是讲俘获魏军全部将士而将其编入商鞅的麾下。鉴于这场战役的重要性,公子卬统领的应该是魏国的精锐之师,秦军赢得岸门战役,应当与此具有直接的关系,而这也应该是商鞅始谋投靠魏国并且最终敢于起事反秦的一项重要因素。
正当商鞅可以依托此地大展宏图的时候,非常倚重他的秦孝公死去,继位的“惠文君”出于个人私怨逮捕并车裂了他。当然像商鞅这样深受前朝君主宠信并且功勋卓著的老臣,按照通行的规则,继位的新君也是一定要除去的;试看商鞅受宠之深,甚至有秦孝公“欲传位商君”的传言流行于世(《战国策·秦策一》),自然就更难以幸免了。
秦国在函谷关外持有的这块飞地,似乎随着商鞅的罹难也很快脱离了秦国的控制,从而也暂时中断了秦国东扩的进程。给我们认识商鞅封邑所造成的困难,是由邬邑改名而来的这个商邑,由于行用的时间太短,还不到两年,也随着商鞅的死亡而消逝了。
责任编辑:臧继贤
校对:刘威