Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!brl-tgr!tgr!fouts@AMES-NAS.ARPA From: fouts@AMES-NAS.ARPA (Marty) Newsgroups: net.sources Subject: Xlisp fix - Add putprop code Message-ID: <10115@brl-tgr.ARPA> Date: Mon, 22-Apr-85 17:21:23 EST Article-I.D.: brl-tgr.10115 Posted: Mon Apr 22 17:21:23 1985 Date-Received: Wed, 24-Apr-85 03:20:19 EST Sender: news@brl-tgr.ARPA Lines: 78 Enclosed are context diffs for changes to xlbfun.c and xlftab.c which add the interface necessary to use putprop to add values to property lists. *** xlbfun.c Mon Apr 22 13:31:09 1985 --- xlbfun.c.new Mon Apr 22 13:28:52 1985 *************** *** 417,419 /* return nil */ return (NIL); } --- 417,440 ----- /* return nil */ return (NIL); } + + /* xputprop - put a property value on the property list */ + NODE *xputprop(args) + NODE *args; + { + NODE *sym, *prp, *val; + + /* get the symbol, value, and property */ + sym = xlmatch(SYM,&args); + val = xlarg(&args); + prp = xlmatch(SYM,&args); + xllastarg(args); + + /* add the property */ + xlputprop(sym,val,prp); + + /* return nil */ + return(NIL); + + } + *** xlftab.c Mon Apr 22 13:31:35 1985 --- xlftab.c.new Mon Apr 22 13:29:41 1985 *************** *** 7,13 *xeval(),*xapply(),*xfuncall(),*xquote(),*xbquote(), *xset(),*xsetq(),*xsetf(),*xdefun(),*xdefmacro(), *xgensym(),*xmakesymbol(),*xintern(), ! *xsymname(),*xsymvalue(),*xsymplist(),*xget(),*xremprop(), *xcar(),*xcaar(),*xcadr(),*xcdr(),*xcdar(),*xcddr(), *xcons(),*xlist(),*xappend(),*xreverse(),*xlast(),*xnth(),*xnthcdr(), *xmember(),*xassoc(),*xsubst(),*xsublis(),*xremove(),*xlength(), --- 7,13 ----- *xeval(),*xapply(),*xfuncall(),*xquote(),*xbquote(), *xset(),*xsetq(),*xsetf(),*xdefun(),*xdefmacro(), *xgensym(),*xmakesymbol(),*xintern(), ! *xsymname(),*xsymvalue(),*xsymplist(),*xget(),*xremprop(),*xputprop(), *xcar(),*xcaar(),*xcadr(),*xcdr(),*xcdar(),*xcddr(), *xcons(),*xlist(),*xappend(),*xreverse(),*xlast(),*xnth(),*xnthcdr(), *xmember(),*xassoc(),*xsubst(),*xsublis(),*xremove(),*xlength(), *************** *** 55,60 { "symbol-plist", SUBR, xsymplist }, { "get", SUBR, xget }, { "remprop", SUBR, xremprop }, /* list functions */ { "car", SUBR, xcar }, --- 55,61 ----- { "symbol-plist", SUBR, xsymplist }, { "get", SUBR, xget }, { "remprop", SUBR, xremprop }, + { "putprop", SUBR, xputprop }, /* list functions */ { "car", SUBR, xcar }, ----------