ChangeLog 325 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362
  1. 2019-08-06 Per Bothner <per@bothner.com>
  2. * conigure.ac: Change missing Posix find from error to warning.
  3. This is an attempt to fix GitLab Continuous Integration.
  4. 2018-09-29 Per Bothner <per@bothner.com>
  5. * bin/kawa.sh.in: Set kawa.command.pid property.
  6. 2018-09-07 Per Bothner <per@bothner.com>
  7. * configure.ac: Handle --with-java-source=10 and above.
  8. 2018-09-06 Mathieu Lirzin <mthl@gnu.org>
  9. * autogen.sh: Use autoreconf --install.
  10. This installs the various autotools helper files in build-aux.
  11. 2018-04-15 Per Bothner <per@bothner.com>
  12. Fix build for --without-lps4 case.
  13. * kawa/repl.java: Use reflection to call KawaLanguageServer.main.
  14. * source-list: Conditionalize KAWA_LANGSERVER_JSOURCES.
  15. 2018-04-12 Per Bothner <per@bothner.com>
  16. Initial support for LSP (Language Server Proptocol).
  17. * configure.ac: Support --with-lsp4j and --with-gson.
  18. * config.classpath: Add lsp4j and gson to classpath.
  19. * Makefile.am: Related changes.
  20. * kawa/langserver/KawaLanguageServer.java: New server logic.
  21. * source-list: Update accordingly.
  22. * kawa/repl.java: Handle --langserver option.
  23. 2018-04-09 Per Bothner <per@bothner.com>
  24. * Makefile.am (lib/jline.jar, lib/domterm.jar):
  25. Remove old symlinks before creating new ones.
  26. 2017-11-21 Sudarshan S Chawathe <chaw@eip10.org>
  27. * gnu/kawa/slib/srfi14.scm: Change non-tail to tail recursion in
  28. %make-boundary-pairs to avoid stack overflow for large inputs.
  29. 2017-11-08 Helmut Eller <eller.helmut@gmail.com>
  30. * source-list (GNU_COMMONLISP_LANG_JSOURCES): Add CLReadTable.java.
  31. 2017-10-22 Per Bothner <per@bothner.com>
  32. Normally convert kawa.sh.in to plain kawa rather than kawa.sh.
  33. This avoids bin/kawa being a symlink to bin/kawa.sh, which avoids a
  34. dependency on 'readlink -f' (not supported on Mac) in typical use.
  35. * configure.ac: Process 'bin/kawa.sh.in' to 'bin/kawa', or bin/kawa.sh'
  36. when either on Windows or --enable-kawa-frontend.
  37. * Makefile.am: Use KAWA_SCRIPT variable as appropriate.
  38. 2017-10-02 Per Bothner <per@bothner.com>
  39. * configure.in (AC_INIT): Set version to 3.0.
  40. * bin/configure.in (AC_INIT): Likewise.
  41. * build.xml (version.release): Likewise.
  42. 2017-08-29 Kay Zheng <l04m33@gmail.com>
  43. * Makefile.am: Use JAVACFLAGS two more places.
  44. 2017-08-27 Per Bothner <per@bothner.com>
  45. * Makefile.am (distall): Buld kawa.zip.
  46. 2017-07-28 Sudarshan S Chawathe <chaw@eip10.org>
  47. * gnu/lists/IString.java (SubString): Fix offset for substring of
  48. substring for istrings; fixes GitLab issue #16.
  49. 2017-07-15 Per Bothner <per@bothner.com>
  50. * configure.ac: Configure (and make) bin unconditionally.
  51. This so cgi-servlet is built even if the frontend isn't.
  52. 2017-06-10 Per Bothner <per@bothner.com>
  53. * configure.ac: Default to Java 8, as intended.
  54. 2017-05-03 Per Bothner <per@bothner.com>
  55. * build.xml: Various fixes and updates.
  56. 2017-04-30 Per Bothner <per@bothner.com>
  57. * configure.in (AC_INIT): Set version to 2.93.
  58. * bin/configure.in (AC_INIT): Likewise.
  59. * build.xml (version.release): Likewise.
  60. 2017-04-30 Per Bothner <per@bothner.com>
  61. Change source files to default to Java 8.
  62. * Makefile.am (dist-kawa.jar): Build with Java 8 rather than Java 7.
  63. 2017-03-25 Vasantha Ganesh K <vasanthaganesh.k@tuta.io>
  64. * .gitlab-ci.yml GitLab's CI support
  65. 2017-03-19 Sudarshan S Chawathe <chaw@eip10.org>
  66. * gnu/mapping/RunnableClosure.java (getResult): Add public
  67. modifier to enable calling getResult as suggested by manual.
  68. 2017-02-24 Per Bothner <per@bothner.com>
  69. Various places change @deprecated comment to @Deprecated annotation.
  70. Java-9 warns about the former and prefer the latter.
  71. 2017-01-18 Per Bothner <per@bothner.com>
  72. * configure.in (AC_INIT): Set version to 2.91_invoke
  73. * bin/configure.in (AC_INIT): Likewise.
  74. * build.xml (version.release): Likewise.
  75. 2017-01-15 Per Bothner <per@bothner.com>
  76. Fixed a lot of JavaDoc errors.
  77. 2017-01-13 Per Bothner <per@bothner.com>
  78. * configure.in (AC_INIT): Set version to 2.3.
  79. * bin/configure.in (AC_INIT): Likewise.
  80. * build.xml (version.release): Likewise.
  81. 2017-01-10 Per Bothner <per@bothner.com>
  82. * configure.ac: --with-domterm value is "domterm home",
  83. rather than the jar file.
  84. * Makefile.am: Update accordingly.
  85. * config.classpath: Update.
  86. 2016-12-09 Per Bothner <per@bothner.com>
  87. Moved some files from gnu/kawa/slib to kawa/lib.
  88. The latter now assume they are compiled using two separate commands.
  89. * build.xml: Update accordingly.
  90. 2016-11-25 Per Bothner <per@bothner.com>
  91. * README.md: Convert to Markdown from README.
  92. This is better for the gitlab Kawa home page.
  93. * configure.ac: Change automake style to 'foreign' due to missing README.
  94. * Makefile.am: Update --version output for git.
  95. * configure.ac: Add --with-docbook-stylesheets option.
  96. * doc/Makefile.am: Make use of it.
  97. 2016-11-22 Per Bothner <per@bothner.com>
  98. * Makefile.am: Fixes so 'make install' twice in a row works.
  99. 2016-11-20 Per Bothner <per@bothner.com>
  100. * configure.in (AC_INIT): Set version to 2.2.1.
  101. * bin/configure.in (AC_INIT): Likewise.
  102. * build.xml (version.release): Likewise.
  103. 2016-11-12 Per Bothner <per@bothner.com>
  104. * configure.in (AC_INIT): Set version to 2.2.
  105. * bin/configure.in (AC_INIT): Likewise.
  106. * build.xml (version.release): Likewise.
  107. 2016-11-07 Per Bothner <per@bothner.com>
  108. * bin/browse-kawa-manual.in: Move to doc/browse-kawa-manual.
  109. It's no longer suggested because of the link issue mentioned.
  110. * Makefile.am: No longer include it in snapshots.
  111. * configure.ac: Don't configure bin/browse-kawa-manual.in.
  112. 2016-11-02 Per Bothner <per@bothner.com>
  113. * configure.in (AC_INIT): Set version to 2.1.91.
  114. * bin/configure.in (AC_INIT): Likewise.
  115. * build.xml (version.release): Likewise.
  116. 2016-11-01 Per Bothner <per@bothner.com>
  117. * configure.ac: Remove obsolete --with-jline2 option.
  118. * Makefile.am: Update accordingly.
  119. * source-list: Update accordingly.
  120. 2016-10-29 Per Bothner <per@bothner.com>
  121. * source-list: Don't build gnu.kawa.models unless WITH_AWT.
  122. * Makefile.am (PREPROCESS_AWT): Set (or not) use:java.awt PreProcess
  123. option, depending on WITH_AWT.
  124. * configure.ac: Option --with-swing defaults to no if --without-awt.
  125. 2016-10-16 Per Bothner <per@bothner.com>
  126. * configure.ac: Make maintainer-mode the default.
  127. Put info files in builddir.
  128. * Makefile.am (tmp-sources1.list): Also depend on Makefile.am.
  129. 2016-10-16 Jamison Hope <jrh@theptrgroup.com>
  130. * build.xml (generate-simplevector-files)
  131. (clean-generated-simplevector-files): New targets to generate and
  132. clean PrimVector.template-based source files.
  133. 2016-10-13 Jamison Hope <jrh@theptrgroup.com>
  134. * build.xml (lib-scm-classes): Update for new libraries (kawa
  135. process-keywords) and (kawa swing).
  136. 2016-09-03 Per Bothner <per@bothner.com>
  137. * configure.ac: Recognize --with-java-source=9.
  138. 2016-08-14 Per Bothner <per@bothner.com>
  139. * Makefile.am: Remove version number for jar file names.
  140. * kawa.sh.in: Likewise.
  141. * kawa.sh.in: Use JAVA_HOME if it is set.
  142. 2016-07-26 Per Bothner <per@bothner.com>
  143. Re-implement conversion to SVG without using external library.
  144. * configure.ac, config.classpath: Remove --with-vectorgraphics2d option.
  145. * Makefile.am, bin/kawa.bat.in: Remove use of VectorGraphics2D.
  146. 2016-07-20 Jamison Hope <jrh@theptrgroup.com>
  147. * build.xml (script-factory-scheme, script-factory-xquery): Make
  148. sure META-INF/services directory exists before writing to
  149. META-INF/services/javax.script.ScriptEngineFactory file.
  150. 2016-07-13 Per Bothner <per@bothner.com>
  151. Replace use of JFreeSVG with VectorGraphics2D library.
  152. The former is strict GPL, which could be a problem.
  153. * configure.ac: Replace --with-with_jfreesvg by --with-vectorgraphics2d.
  154. * config.classpath: Update accordingly.
  155. * Makefile.am: Link in and copy new library.
  156. * bin/kawa.bat.in: Add new library.
  157. * Makefile.am (kawa/Version.java): Update check for Subversion.
  158. 2016-07-11 Per Bothner <per@bothner.com>
  159. * Makefile.am: Some tweaks for faster re-compilation.
  160. Specifically, don't make javac look at all files when only
  161. some are changed. The downside is we could run into command line
  162. limits more easily, so we use the @filelist method for clean builds.
  163. 2016-07-01 Per Bothner <per@bothner.com>
  164. * Makefile.am (kawa-snapshot.zip): Add lib/servlet.jar.
  165. * bin/kawa.sh.in: Simplify - just use run_classpath.
  166. * config.classpath: Update run_classpath for using links in lib.
  167. 2016-07-01 Jamison Hope <jrh@theptrgroup.com>
  168. * build.xml: Fix for relocated JEmacs files.
  169. 2016-06-26 Per Bothner <per@bothner.com>
  170. * Makefile.am (kawa-snapshot.zip): Include the Kawa manual in
  171. epub3 format, as well as scripts and advice for reading it.
  172. 2016-06-24 Per Bothner <per@bothner.com>
  173. * source-list: Don't include kawa/Version.java, because it could
  174. be in either srcdir or builddir, which complicates things.
  175. * Makefile.am: Update to build Version.class separately.
  176. 2016-06-22 Per Bothner <per@bothner.com>
  177. * Makefile.am: Make bin/kawa a link to bin/kawa.sh if not using the
  178. C/readline front-end.
  179. Generated Makefile.in and configure removed from repository.
  180. * autogen.sh: Script to generates those files.
  181. * Makefile.am: Merge the Makefiles of gnu/math, gnu/commonlisp/lang,
  182. gnu/xquery/lang, gnu/xquery/util, gnu/q2/lang, and kawa into
  183. source.list and the top-level Makefile.
  184. (tmp-sources1.list): Build list of source file names for '@' argument
  185. passed to javac, to limit command-line length.
  186. * Makefile.am: Pull most of logic from gnu/Makefile.am here.
  187. This is a step to having fewer Makefiles.
  188. (source-list): New separate list of files, for inclusion.
  189. 2016-06-14 Per Bothner <per@bothner.com>
  190. * Makefile.am: Add domterm.jar to kawa.zip.
  191. * bin/kawa.sh.in: Add dmterm.jar to classpath.
  192. * configure.ac: Implement new --with-domterm option.
  193. * config.classpath: Update classpath.
  194. 2016-06-03 Per Bothner <per@bothner.com>
  195. * configure.in (AC_INIT): Set version to 2.1.9.
  196. * bin/configure.in (AC_INIT): Likewise.
  197. * build.xml (version.release): Likewise.
  198. * Makefile.am (kawa-snapshot.zip): New rule.
  199. 2016-05-07 Per Bothner <per@bothner.com>
  200. * configure.ac: Support --with-jline3 flag in addition to jline2.
  201. * Makefile.am: LRelated changes.
  202. * configure.ac: Convert to kawa.bat.in kawa.bat using configure.
  203. * Makefile.am (bin/kawa.bat): Comment out rule.
  204. 2016-04-17 Per Bothner <per@bothner.com>
  205. * Makefile.am: Update uninstall rules so 'make distcheck' works again.
  206. 2016-03-12 Per Bothner <per@bothner.com>
  207. Enable "binary distributions" using jawa.sh and jline2.
  208. * Makefile.am (kawa-$(VERSION).zip): New rule.
  209. The jat files are now in the lib subdirectory.
  210. * config.classpath: New variable run_classpath does not include jline.
  211. * configure.ac (run_classpath): New variable.
  212. 2016-02-14 Per Bothner <per@bothner.com>
  213. Add support for JLine2 as a readline alternative.
  214. * configure.ac" New --with-jline2 flag.
  215. (WITH_JLINE2_ARG. WITH_JLINE2): New argument and conditional.
  216. * config.classpath: Adjust classpath based on --with-jline2 flag.
  217. * Makefile.am (dist-kawa-@VERSION@.jar): Build jline2 support,
  218. without requiring it.
  219. 2016-01-26 Per Bothner <per@bothner.com>
  220. * configure.ac: Fix case when --with-java-source is defaulted.
  221. 2015-12-21 Per Bothner <per@bothner.com>
  222. * configure.ac: Handle mapping from JAVA_SOURCE to PreProcess
  223. token at configure time, rather than make time.
  224. * Makefile.am: Simplify Prepocess handling.
  225. (JAVA_PREPROCESS_OPTIONS): New variable - selector to PreProcess.
  226. (selected-java-source): Compare JAVA_PREPROCESS_OPTIONS rather
  227. than solely JAVA_SOURCE.
  228. * configure.ac: Move some logic to new file ...
  229. * config.classpath: ... so it can be shared with bin/configure.ac.
  230. 2015-10-28 Per Bothner <per@bothner.com>
  231. * configure.in (AC_INIT): Set version to 2.1.1.
  232. * bin/configure.in (AC_INIT): Likewise.
  233. * build.xml (version.release): Likewise.
  234. 2015-10-26 Per Bothner <per@bothner.com>
  235. * configure.in (AC_INIT): Set version to 2.1.
  236. * bin/configure.in (AC_INIT): Likewise.
  237. * build.xml (version.release): Likewise.
  238. 2015-09-20 Per Bothner <per@bothner.com>
  239. * configure.ac: Fix to avoid bogus calls to chmod.
  240. 2015-08-10 Jamison Hope <jrh@theptrgroup.com>
  241. * build.xml (lib-scm-classes): Add rnrs/arithmetic/bitwise.scm.
  242. 2015-07-31 Per Bothner <per@bothner.com>
  243. * Makefile.am: Many subclasses of gnu.lists.SimpleVector are now
  244. auto-generated from PrimVector.template. Do so.
  245. 2015-06-03 Per Bothner <per@bothner.com>
  246. * build.xml (kawa.sh): Add dependency on build-settings.
  247. (clean-build): Remove bin/kawa.sh.
  248. 2015-06-02 Jamison Hope <jrh@theptrgroup.com>
  249. * build.xml (-maybe-select-java{2,4,5,6,7}): Use both "if" and
  250. "unless" attributes so that only one of the select-java* targets
  251. gets called.
  252. 2015-05-19 Jamison Hope <jrh@theptrgroup.com>
  253. * build.xml (has-java{2,4,5,6,7,8}): Move out of
  254. -select-java-non-android up to top level so that they are defined
  255. in the initial Ant environment.
  256. (java-classes): Add q2.
  257. 2015-05-13 Per Bothner <per@bothner.com>
  258. * compile: New file, from gnulib, used by autoconf.
  259. 2015-02-27 Per Bothner <per@bothner.com>
  260. * build.xml (java-classes): Add kawa/Source*.java.
  261. 2015-02-17 Per Bothner <per@bothner.com>
  262. * configure.ac: Remove WITH_LIBTOOL macro and --with-libtool option.
  263. * Make-rules: Remove libtool junk.
  264. * build.xml (lib-scm-classes): Update to match kawa/lib/Makefile.am.
  265. 2015-01-20 Per Bothner <per@bothner.com>
  266. * configure.ac: Remove most links, to avoid Windows problems.
  267. * config.guess: Update to new version, from gnulib.
  268. * config.sub: Likewise.
  269. * mkinstalldirs: Likewise.
  270. 2014-12-28 Per Bothner <per@bothner.com>
  271. * build.scm (slib-scm-classes): Add receive.scm.
  272. 2014-12-03 Per Bothner <per@bothner.com>
  273. * configure.in (AC_INIT): Set version to 2.0.1.
  274. * bin/configure.in (AC_INIT): Likewise.
  275. * build.xml (version.release): Likewise.
  276. 2014-12-01 Per Bothner <per@bothner.com>
  277. * configure.in (AC_INIT): Set version to 2.0.
  278. * bin/configure.in (AC_INIT): Likewise.
  279. * build.xml (version.release): Likewise.
  280. * build.xml (lib-scm-classes): Fix and update filelist.
  281. 2014-11-19 Per Bothner <per@bothner.com>
  282. * bin/kawa.sh.in: Use KAWA_SHELL instead of SHELL variable.
  283. * configure.ac: Determine and export KAWA_SHELL.
  284. * build.xml (kawa.shell): New property.
  285. (kawa.sh): Substitute KAWA_SHELL based on kawa.shell property.
  286. 2014-11-19 Per Bothner <per@bothner.com>
  287. * bin/kawa.sh.in: Use SHELL autoconf variable.
  288. * build.xml (kawa.sh): Substitute SHELL.
  289. * bin/kawa.sh.in: Simplify so kawa.sh only works for in-place running.
  290. * Makefile.am (install-binSCRIPTS): Use sed to munge KAWALIB in kawa.sh.
  291. * build.xml (kawa.sh): Simplify.
  292. 2014-11-19 Per Bothner <per@bothner.com>
  293. * build.xml (kawa.sh): Build bin/kawa.sh from bin/kawa.sh.in.
  294. 2014-11-18 Per Bothner <per@bothner.com>
  295. * configure.ac (AC_CONFIG_FILES): Add bin/kawa.sh.
  296. * Makefile.am (bin/kawa.sh): Remove rule. Now generated by configure.
  297. (EXTRA_DST): Add bin/kawa.sh.in.
  298. 2014-11-17 Jamison Hope <jrh@theptrgroup.com>
  299. * build.xml (lib-scm-classes): Add quaternions.scm.
  300. 2014-10-28 Per Bothner <per@bothner.com>
  301. * build.xml (lib-scm-classes): Add remaining R7RS standard libraries.
  302. 2014-10-14 Per Bothner <per@bothner.com>
  303. * configure.in (AC_INIT): Set version to 1.90.
  304. * build.xml (version.release): Likewise.
  305. 2014-09-28 Per Bothner <per@bothner.com>
  306. * build.xml (lib-scm-classes): Add new R7RS standard libraries.
  307. 2014-09-26 Per Bothner <per@bothner.com>
  308. * build.xml: 'define-record-type' was moved from gnu.kawa.slib
  309. to kawa.lib.
  310. 2014-08-31 Per Bothner <per@bothner.com>
  311. * Makefile.am: Each Makefile from gnu/expr, gnu/mapping, gnu/lists
  312. and gnu/text were merged into gnu/Makefile.
  313. * configure.ac: Likewise.
  314. 2014-08-28 Per Bothner <per@bothner.com>
  315. * Makefile.am: Remove Makefiles from intermediate directories
  316. gnu/commonlisp gnu/xquery/gnu/q2.
  317. Fold Makefile in gnu/kawa/xslt into gnu directory.
  318. * configure.ac: Update accordingly.
  319. 2014-08-21 Per Bothner <per@bothner.com>
  320. * build.xml (lib-scm-classes): Add parameterize.scm.
  321. * classes-to-skip-for-runtime: Add some more classes.
  322. * build.xml (android-classes): Add utils.scm.
  323. 2014-08-20 Per Bothner <per@bothner.com>
  324. * build.xml: Fix support for enable.android, by adding android.path
  325. to the build.path.
  326. * build.properties (android.path): Set defaul value.
  327. * build.xml (lib-scm-classes): Add case_syntax.scm.
  328. 2014-08-04 Per Bothner <per@bothner.com>
  329. * build.xml (lib-scm-classes): Add compile_map.scm.
  330. 2014-07-22 Per Bothner <per@bothner.com>
  331. * build.xml (lib-scm-classes): Add string-cursors.scm.
  332. 2014-07-07 Matthieu Vachon <matthieu.o.vachon@gmail.com>
  333. * build.xml: Add some missing Scheme files.
  334. 2014-07-02 Per Bothner <per@bothner.com>
  335. * classes-to-skip-for-runtime: Remove some new classes.
  336. 2014-02-27 Per Bothner <per@bothner.com>
  337. * Makefile.am (patch-source-list): Add dependency on configure.
  338. (MAINTAINERCLEANFILES): New macro, bound to patch-source-list.
  339. 2014-02-20 Per Bothner <per@bothner.com>
  340. * configure.ac: Add missing AC_CANONICAL_HOST.
  341. * configure.ac: Add test for Posix find, setting FIND variable.
  342. * Makefile.am (FIND): New variable. Use it.
  343. * configure.ac: Separately configure bin, and move code that needs
  344. a C compiler there, requried only enable_kawa_frontend is set.
  345. Remove GCJ support.
  346. * Makefile.am: Likewise.
  347. * Make-rules: Remove GCJ support.
  348. 2014-02-18 Jamison Hope <jrh@theptrgroup.com>
  349. * build.xml (slib-scm-classes): Add srfi60.scm.
  350. 2014-02-06 Per Bothner <per@bothner.com>
  351. * build.xml (commonlisp-scm-classes): Make sure to compile
  352. primitives.lisp.
  353. * Makefile.am (COMMENT_IN, COMMENT_OUT): Remove unused macros.
  354. 2014-01-06 Per Bothner <per@bothner.com>
  355. * Makefile.am (dist-kawa-@VERSION@.jar): Configure for Java 7.
  356. * configure.in: Default JAVA_SOURCE to 7, rather than 6.
  357. * missing: Get newer version from upstream.
  358. Change checked-in versions to the JAVA7 version.
  359. 2014-01-05 Per Bothner <per@bothner.com>
  360. Fold the Makefile.am of gnu/xml, gnu/kawa/xml, gnu/ecmascript,
  361. gnu/kawa/swingviews, gnu/kawa/swtviews, gnu/kawa/ant, and
  362. gnu/kawa/sax into gnu/Makefile.am.
  363. Fold the Makefile.am of gnu/kawa/util, gnu/kawa/reflect,
  364. gnu/kawa/functions, gnu/kawa/lispexpr, and gnu/kawa/models
  365. into new gnu/Makefile.am
  366. * Makefile.am (SUBDIRS): Update accordingly.
  367. * configure.ac (AC_CONFIG_FILES): Likewise.
  368. 2013-12-22 Per Bothner <per@bothner.com>
  369. * build.xml (lib-scm-classes): Add missing classes.
  370. 2013-10-04 Per Bothner <per@bothner.com>
  371. * configure.in (AC_INIT): Set version to 1.14.1.
  372. * build.xml (version.release): Likewise.
  373. 2013-09-28 Per Bothner <per@bothner.com>
  374. * configure.in (AC_INIT): Set version to 1.14.
  375. * build.xml (version.release): Likewise.
  376. 2013-09-23 Per Bothner <per@bothner.com>
  377. * Makefile.am (kawa-doc-$(VERSION).tar.gz): Update,
  378. since kawa-tour.texi is now gone.
  379. 2013-09-16 Per Bothner <per@bothner.com>
  380. * Makefile.am: Add Java8 support.
  381. (select-java8): New rule.
  382. * condigure.ac: Add Java8 support.
  383. * build.xml: Likewise.
  384. 2013-06-16 Per Bothner <per@bothner.com>
  385. * configure.ac (AC_CONFIG_FILES): Remove kawa/lang/Makefile
  386. and kawa/standard/Makefile.
  387. 2013-03-23 Per Bothner <per@bothner.com>
  388. * Makefile.am (kawa/Version.java): Add $(srcdir) reference.
  389. 2013-01-13 Per Bothner <per@bothner.com>
  390. * configure.in: Renamed to ...
  391. * configure.ac: ... new name, following current preferred autoconf
  392. practice.
  393. * Makefile.am (kawa/Version.java): Update accordingly.
  394. 2012-12-14 Jamison Hope <jrh@theptrgroup.com>
  395. * build.xml: Use filelist instead of fileset to force compilation
  396. order for Scheme source files.
  397. 2012-12-12 Per Bothner <per@bothner.com>
  398. * configure.in (AC_INIT): Set version to 1.13.1.
  399. * build.xml (version.release): Likewise.
  400. 2012-12-08 Per Bothner <per@bothner.com>
  401. * configure.in (AC_INIT): Set version to 1.13.
  402. * build.xml (version.release): Likewise.
  403. 2012-11-21 Per Bothner <per@bothner.com>
  404. * configure.in: Try harder to find jfxrt.jar.
  405. * Makefile.am (+DISTCLEANFILES): New macro - add selected-java-source.
  406. (selected-java-source, set-selected-java-source): Change
  407. selected-java-source to be in current directory, not srcdir.
  408. 2012-07-28 Per Bothner <per@bothner.com>
  409. * configure.in: Don't default to with-httpserver or Java6
  410. if configured for Android.
  411. 2012-07-10 Per Bothner <per@bothner.com>
  412. * build.xml (xml-classes): Added Xutils.scm.
  413. 2012-07-03 Per Bothner <per@bothner.com>
  414. * build.xml: Some cleanups for with-awt dependeny, which
  415. should benefit Android.
  416. 2012-05-31 Per Bothner <per@bothner.com>
  417. * configure.in: Change argument to --with-javafx to be actual jfxrt.jar
  418. though also supporting old meaning.
  419. Also a fix for servlet path.
  420. 2012-05-30 Per Bothner <per@bothner.com>
  421. * configure.in (AC_INIT): Set version to 1.12.1.
  422. * build.xml (version.release): Likewise.
  423. 2012-05-28 Per Bothner <per@bothner.com>
  424. * Makefile.am (dist-kawa-@VERSION@.jar): Build with javafx support.
  425. * configure.in: Related changes.
  426. 2012-05-24 Jacques Herry
  427. * build.xml (jar): Fix.
  428. 2012-05-25 Per Bothner <per@bothner.com>
  429. * configure.in (WITH_SERVLET_ARG): New variable.
  430. * Makefile.am (dist-kawa-@VERSION@.jar): Include serlet jar's
  431. location in build classpath.
  432. * Makefile.am: Use CLASSPATH_SEPARATOR for the sake of CygWin.
  433. 2012-05-20 Jacques Herry
  434. * build.xml: Fix to build META_INFO/services.
  435. 2012-05-20 Jamison Hope <jrh@theptrgroup.com>
  436. * build.xml: "Inline" named filesets lib-scm and slib-scm to their
  437. point of use, fixing a problem where the filesets depend on
  438. with-swing, which is used before it is set in build-settings.
  439. 2012-05-13 Per Bothner <per@bothner.com>
  440. * build.xml: Add ScriptEngineFactory support for discovering
  441. JSR-223 script engines (Scheme and optionally XQuery).
  442. Also, improvements in handling of enable-xml.
  443. 2012-05-10 Per Bothner <per@bothner.com>
  444. * build.xml: Add dependencies on with-swing property.
  445. (java-classes): Always compile gnu/kawa/models.
  446. 2012-04-08 Per Bothner <per@bothner.com>
  447. * AUTHORS: Point to Acknowledgement section of doc/kawa.texi.
  448. 2012-02-02 Per Bothner <per@bothner.com>
  449. * configure.in (AC_INIT): Set version to 1.12.
  450. * build.xml (version.release): Likewise.
  451. 2011-09-24 Jamison Hope <jrh@theptrgroup.com>
  452. * build.xml (-maybe-select-java7): New target.
  453. 2011-08-04 Per Bothner <per@bothner.com>
  454. * configure.in (with_XQTS): Fix setter to be Posix-compatible.
  455. 2011-07-30 Per Bothner <per@bothner.com>
  456. * configure.in (ON_WINDOWS): New automake-conditional.
  457. * build.xml: Rules for building kawa.bat on Windows.
  458. 2011-07-28 Per Bothner <per@bothner.com>
  459. * build.xml: Add support for enable-javafx and javax.home properties,
  460. to build Kawa with JavaFX support.
  461. 2011-07-27 Per Bothner <per@bothner.com>
  462. * configure.in: add support for JavaFX 2.x.
  463. (--with-javafx): New command-line flag.
  464. (WITH_JAVAFX): New conditional.
  465. * Makefile.am (JAVAFX_SUBDIRS): New macro.
  466. * classes-to-skip-for-runtime: Add some classes.
  467. * Make-rules (CLASSPATH_ENV): Add quotes.
  468. 2011-07-21 Per Bothner <per@bothner.com>
  469. Add support for using configure+make (autotools) on Cygwin.
  470. * configure.in: Use AC_CANONICAL_HOST, not AC_CANONICAL_TARGET.
  471. (CLASSPATH_SEPARATOR): New substitution variable.
  472. * Make-rules (CLASSPATH): New variable. Make Cygwin-safe.
  473. (java-classes.stamp): Use -classpath option rather than CLASSPATH.
  474. (KAWA_COMPILER): Likewise.
  475. * Makefile.am (kawa-@VERSION@.jar, kawart-@VERSION@.jar):
  476. Instead of using fnd output directly in command line (which might
  477. thus come too large, especially on cygwin), use file-list file.
  478. (classes.list, classes-rt.list): New helper files and targets.
  479. (-MOSTLYCLEANFILES): Update accordingly.
  480. 2011-02-08 Jamison Hope <jrh@theptrgroup.com>
  481. * build.xml (slib-scm): Add srfi14.scm.
  482. 2011-01-24 Jamison Hope <jrh@theptrgroup.com>
  483. * build.xml (lib-scm): Add rnrs/lists.scm.
  484. 2011-01-19 Per Bothner <per@bothner.com>
  485. * classes-to-skip-for-runtime: Add more classes to skip.
  486. 2010-12-26 Jamison Hope <jrh@theptrgroup.com>
  487. * build.xml: Set includeantruntime on javac commands - mostly to false.
  488. 2010-11-20 Per Bothner <per@bothner.com>
  489. * build.xml (slib-scm): Add SRFI-41 files in gnu.kawa.slib.
  490. 2010-11-14 Per Bothner <per@bothner.com>
  491. * configure.in (AC_CONFIG_FILES): Add gnu/q2/testsuite/Makefile.
  492. 2010-11-10 Per Bothner <per@bothner.com>
  493. * build.xml: Make use of new kawac task.
  494. 2010-11-04 Per Bothner <per@bothner.com>
  495. * configure.in (AC_INIT): Set version to 1.11.
  496. * build.xml (version.release): Likewise.
  497. 2010-10-28 Per Bothner <per@bothner.com>
  498. * build.xml (slib-scm): Also compile enums.scm.
  499. 2010-10-27 Jamison Hope <jrh@theptrgroup.com>
  500. * build.xml (slib-scm): Update for new scm files.
  501. 2010-10-11 Per Bothner <per@bothner.com>
  502. * classes-to-skip-for-runtime: Add more classes to skip.
  503. 2010-09-29 Per Bothner <per@bothner.com>
  504. * build.xml: Make use of <condition> with else clause.
  505. Move setting of preprocess-HttpServer into build-setting target.
  506. (check-for-HttpServer): Remove target.
  507. (select-java7): Depend on build-settings rather than build-tools.
  508. 2010-09-20 Per Bothner <per@bothner.com>
  509. * build.xml: Add enable-android support.
  510. (android-classes): New target.
  511. * build.xml: Change various targets to depend on build-settings
  512. rather than build-tools.
  513. * build.xml: Change some targets to "internal" by prefixing
  514. their names with '-'.
  515. 2010-08-28 Per Bothner <per@bothner.com>
  516. * build/xml (select-java7): New target.
  517. * Makefile.am (select-java7, selected-java-source):
  518. Add missing jdk7 support.
  519. * configure.in: Map --with-java-source to JAVA_SOURCE=7 - not 6.
  520. 2010-08-27 Per Bothner <per@bothner.com>
  521. * classes-to-skip-for-runtime: Add some new classes.
  522. 2010-08-26 Per Bothner <per@bothner.com>
  523. Replace ExpWalker expression-visitor API by new ExpVisitor.
  524. Lots of little changes; a few big ones - see gnu/expr/ChangeLog.
  525. 2010-07-23 Per Bothner <per@bothner.com>
  526. * configure.in (AC_INIT): Set version to 1.10.
  527. * build.xml (version.release): Likewise.
  528. 2010-07-19 Per Bothner <per@bothner.com>
  529. * build.xml: Pass +enable:XML or -enable:XML to PreProcess as needed.
  530. * build.xml (slib-scm): Include srfi13.scm.
  531. 2010-05-24 Per Bothner <per@bothner.com>
  532. * Makefile.am (PREPROCESS_XML): New mecro.
  533. (USE_HTTPSERVER): Rename to PREPROCESS_HTTPSERVER.
  534. (do-preprocess): Use new macros.
  535. 2010-05-19 Per Bothner <per@bothner.com>
  536. * configure, aclocal.m4, **/Makefile.in: Re-generate.
  537. 2010-04-19 Per Bothner <per@bothner.com>
  538. * build.xml: Update to auto-select Java5 and Java6, including
  539. HttpServer.
  540. 2010-04-18 Per Bothner <per@bothner.com>
  541. Add support for using the com.sun.net.httpserver web server.
  542. * configure.in(--with-httpserver): New option.
  543. (WITH_HTTPSERVER): New conditional.
  544. * Makefile.am: Conditionalize pre-processing on WITH_HTTPSERVER.
  545. 2010-04-10 Per Bothner <per@bothner.com>
  546. * configure.in: New --java-source option '6compat5': Compile assuming
  547. a Java 6 compiler, but so .jar (with most features) can run on Java5.
  548. This implies compiling with -target 1.5.
  549. * Makefile.am: Various fixes for 'distclean'.
  550. (dist-kawa-@VERSION@.jar): Build --with-java-source=6compat5.
  551. 2010-01-07 Per Bothner <per@bothner.com>
  552. * **/Makefile.in, aclocal.m4: Regenerate using automake 1.11.1.
  553. 2009-08-31 Per Bothner <per@bothner.com>
  554. * Makefile.am (kawart-@VERSION@.jar): Add missing $(srcdir).
  555. 2009-08-27 Per Bothner <per@bothner.com>
  556. * build.xml (lib-scm): Update for new source files.
  557. * Makefile.am (all): Also build kawart-@VERSION@.jar.
  558. 2009-08-27 Per Bothner <per@bothner.com>
  559. * classes-to-skip-for-runtime: Add more classes.
  560. 2009-08-24 Per Bothner <per@bothner.com>
  561. * classes-to-skip-for-runtime: Add more classes.
  562. 2009-08-13 Per Bothner <per@bothner.com>
  563. * classes-to-skip-for-runtime: Add more classes.
  564. 2009-08-12 Per Bothner <per@bothner.com>
  565. * classes-to-skip-for-runtime: Add more classes and patterns.
  566. 2009-08-10 Per Bothner <per@bothner.com>
  567. * Makefile.am (kawart-@VERSION@.jar): New rule.
  568. * classes-to-skip-for-runtime: New file.
  569. * Makefile.am (kawa-@VERSION@.jar): Minor optimization/simplification.
  570. 2009-08-06 Per Bothner <per@bothner.com>
  571. * configure.in (AC_INIT): Set version to 1.9.10.
  572. * build.xml (version.release): Likewise.
  573. 2009-06-02 Per Bothner <per@bothner.com>
  574. * build.xml (lib-scm): Add unicode.scm.
  575. 2009-05-31 Per Bothner <per@bothner.com>
  576. * build.scm: Update to also compile regex.scm and pregexp.scm.
  577. 2009-05-17 Per Bothner <per@bothner.com>
  578. * Makefile.am (dist-kawa-@VERSION@.jar): Make copy of dist sources,
  579. to allow re-condifure, even when "$srcdir" is ".".
  580. Build with Java6 compiler, with target 5, and --with-javax.script,
  581. to allowing running under Java5, but with scripting on Java6.
  582. * configure.in (--with-java.script): New flag.
  583. (WITH_JAVAX_SCRIPT): New conditional.
  584. * Makefile.am: Add META-INF/services/javax.script.ScriptEngineFactory
  585. to kawa jar file when WITH_JAVAX_SCRIPT is selected.
  586. 2009-03-16 Per Bothner <per@bothner.com>
  587. * build.xml (lib-scm, slib-scm: Update for new modules.
  588. (slib-scm-classes): Use fileset slib-scm rather than slib-scm-list.
  589. (slib-scm-list): Remove duplicate filelist.
  590. 2009-01-14 Per Bothner <per@bothner.com>
  591. * configure.in: Add configure switches-enanle-xquery.
  592. Add conditionals ENABLE_XQUERY and WITH_ANDROID.
  593. * Makefile.am (SUBDIRS): Make use of new conditonals.
  594. 2008-12-23 Per Bothner <per@bothner.com>
  595. * configure.in: New --with-android option.
  596. * Makefile.am: Add "android" as new JAVA_SOURCE version.
  597. (set-selected-java-source): Fix minor problem which causes error
  598. message selected-java-source is missing.
  599. 2008-11-19 Per Bothner <per@bothner.com>
  600. * configure.in: Use AC_CHECK_TOOL to find GCJ, rather than
  601. LT_AC_PROG_GCJ, since the latter seems to be gone now.
  602. 2008-01-26 Per Bothner <per@bothner.com>
  603. * configure.in: The default for --with-java-source is now 5.
  604. * Makefile.am: The default binary builds now require Java 5.
  605. 2007-11-01 Per Bothner <per@bothner.com>
  606. * build.xml (run): Set fork to true, since otherwise we can't
  607. "run" under NetBeans. (It gets a SecurityException.)
  608. * nbproject: Preliminary support for developing using NetBeans.
  609. 2007-03-15 Per Bothner <per@bothner.com>
  610. * configure.in (AC_INIT): Set version to 1.9.3.
  611. This is so Marc Feeley's "snow' can detect a working version.
  612. * build.xml (version.release): Likewise.
  613. 2007-01-30 Per Bothner <per@bothner.com>
  614. * configure.in (AC_INIT): Set version to 1.9.2.
  615. * build.xml (version.release): Likewise.
  616. 2007-01-23 Per Bothner <per@bothner.com>
  617. * configure.in (WITH_GCJ_NO_DBTOOL): New conditional.
  618. 2007-01-22 Per Bothner <per@bothner.com>
  619. * configure.in (AC_INIT): Set version to 1.9.1.
  620. * build.xml (version.release): Likewise.
  621. 2007-01-21 Per Bothner <per@bothner.com>
  622. No longer ship libtool. By default we don't use libtool any more
  623. but there is a non-default option to use libtool from our path.
  624. * configure.in (--with-libtool): New option.
  625. Otherwise remove libtool-related macros.
  626. * Make-rules: For building with gcj, create .o files rather than
  627. .lo files, unless WITH_LIBTOOL.
  628. * ltmain.sh: Remove file.
  629. * Makefile.am (EXTRA_DIST): Remove ltmain.sh.
  630. * kawa.cmd: Remove unused file.
  631. 2007-01-20 Per Bothner <per@bothner.com>
  632. * configure.in (AC_INIT): Set version to 1.9.0.
  633. * build.xml (version.release): Likewise.
  634. 2007-01-11 Per Bothner <per@bothner.com>
  635. * Makefile.am (kawa-doc-$(VERSION).tar.gz): Don't build
  636. doc/internals.xml since it has been moved to the web site.
  637. 2007-01-09 Per Bothner <per@bothner.com>
  638. * configure.in: Make --disable-jemacs the default.
  639. (--enable-brl): New non-default flag.
  640. * build.xml (brl-classes): Split new target off from xml-classes.
  641. (enable-brl): New property.
  642. (enable-jemacs): Make default false.
  643. * build.properties (enable-jemacs, enable-brl): Update to match.
  644. * Makefile.am: Conditionalize on ENABLE_JEMACS and ENABLE_BRL.
  645. * gnu/jemacs/*/Makefile.am: Remove condionalization on
  646. ENABLE_JEMACS, since handled in top-level Makefile.
  647. 2007-01-08 Per Bothner <per@bothner.com>
  648. * Makefile.am, build.xml: Moved the mapping from "source-version" to
  649. "PreProcess feature list" to the single location (PrePorcess.java), so
  650. we don't need to duplicate it Makefile.am and build.xml.
  651. 2007-01-05 Per Bothner <per@bothner.com>
  652. * configure.in: If JAVA_SOURCE is 1|2|3 default with_sax2 to "no".
  653. 2007-01-04 Per Bothner <per@bothner.com>
  654. * configure.in (AC_INIT): Set version to 1.8.95.
  655. * build.xml (version.release): Likewise.
  656. 2007-01-02 Per Bothner <per@bothner.com>
  657. * kawa/ChangeLog: New file.
  658. 2007-01-02 Per Bothner <per@bothner.com>
  659. * kawa/GuiConsole.java (<init>): Update to use Path.
  660. * kawa/TelnetRepl.java (serve): Likewise.
  661. * kawa/GuiInPort.java (<init>): Likewise.
  662. * kawa/standard/load.java (apply): Generalize from String name.
  663. (apply2); Update accordingly.
  664. * kawa/standard/require.java (lookupModuleFromSourcePath): Allow
  665. base name (i.e. current getFileName() result) to be null.
  666. 2006-12-30 Per Bothner <per@bothner.com>
  667. * kawa/repl.java (processArgs): Use InetAddress.getByName(null)
  668. instead of "localhost". This avoid a problem on FC6 when localhost
  669. is missing in /etc/hosts and seems like the Right Thing anyway.
  670. 2006-12-29 Per Bothner <per@bothner.com>
  671. * kawa/standard/load.java: Update for move of uriSchemeLength
  672. from InPort to Path.
  673. * Makefile.am (JAVA4_FEATURES, NO_JAVA4_FEATURES): Set/clear
  674. use:java.nio flag.
  675. 2006-12-20 Per Bothner <per@bothner.com>
  676. * configure.in (--with-gcj): New option.
  677. (WITH_GCJ_DBTOOL): New AM_CONDITIONAL.
  678. Change some defaults depending on other options.
  679. * Makefile.am (install-jar): Run gcj-dbtool, if so configured.
  680. * Make-rules (EXTRA_DBTOOL_GCJFLAGS): New macro.
  681. Compile with -findirect-dispatch only if WITH_GCJ_DBTOOL.
  682. * Make-rules: Remove kawa1 hooks - use '$(JAVA) kawa.repl' to compile.
  683. (GCJFLAGS): Add -findirect-dispatch.
  684. * configure.in: Add AC_DISABLE_STATIC.
  685. 2006-12-17 Per Bothner <per@bothner.com>
  686. * kawa/repl.java (processArgs): Use 'define' rather than 'putt' to
  687. define variables from the command line. The former works better
  688. when main() is inoked fter start-up, as is done by 'qalbum -R'.
  689. 2006-12-15 Per Bothner <per@bothner.com>
  690. * kawa/lang/Translator.java (setLine): Moved to Compilation.
  691. Compiling with gcj complained about an ambiguity and it seems
  692. just as clean to move it to avoid the problem.
  693. * build.xml: Update for XMLParser changes.
  694. 2006-12-14 Per Bothner <per@bothner.com>
  695. * configure.in (SAX2_PREPROCESS): New substiution varible.
  696. * Makefile.m (JAVA4_FEATURES, NO_JAVA4_FEATURES): Define preprocess
  697. variable SAX2 depending on whether --with-sax2 was specified.
  698. 2006-12-12 Per Bothner <per@bothner.com>
  699. * kawa/Shell.java (run): Only special handling of SyntaxException if
  700. it's the same SourceMessages - rather than say from an fn:doc.
  701. 2006-12-11 Chris Wegrzyn <chris.wegrzyn@gmail.com>
  702. * kawa/standard/syntax_case.java (rewriteForm): Make sure input form
  703. is nested inside LetExp used to implement syntax-case.
  704. This fixes Savannah bug #18105 "with-syntax causes
  705. NullPointerException during compilation but not in repl".
  706. 2006-12-11 Per Bothner <per@bothner.com>
  707. * kawa/standard/object.java (scanClassDef, rewriteForm): Handle
  708. SyntaxForm around keywords. Fixes Savannah bug #18504.
  709. 2006-12-09 Per Bothner <per@bothner.com>
  710. * kawa/lang/CompileFile.java: Remove unneded import.
  711. * kawa/lang/PairPat.java: Likewise.
  712. * kawa/lang/ListRepeatPat.java: Likewise.
  713. * kawa/lang/VarListPat.java: Likewise.
  714. * kawa/repl.java: Remove unused local variables.
  715. * build.xml: Update handling of XMLParser.java to match that of make.
  716. 2006-12-06 Per Bothner <per@bothner.com>
  717. * kawa/standard/object.java (rewriteForm, scanClassDef): Handle
  718. SyntaxForm in member definition.
  719. 2006-12-05 Per Bothner <per@bothner.com>
  720. * configure.in: Make --with-sax the default.
  721. * Makefile.am (dist-kawa-@VERSION@.jar): Fix various bitrot.
  722. * kawa/repl.java: Update copyright year printed by --version to 2007.
  723. * Makefile.am (kawa/Version.java): Use svnversion command.
  724. * Makefile.am (selected-java-source): Handle JAVA_SOURCE = 6.
  725. 2006-12-04 Per Bothner <per@bothner.com>
  726. * kawa/lang/Translator.java: Update for require.importDefinitions.
  727. * kawa/Shell.java (run): Update for Language.run changes.
  728. * kawa/standard/require.java (importDefinitions): Some refactoring so
  729. we can pass the ModuleInfo from XQParser so we use the same info
  730. without trying to load the wrong file. Combine two methods to one.
  731. (lookupModuleFromSourcePath): New static helper method.
  732. * kawa/repl.java (compilationDirectory): Removed static field, replaced
  733. by non-static field in ModuleManager.
  734. (processArgs): Use ModuleManager's new setCompilationDirectory method.
  735. * kawa/standard/load.java (pply): Don't temporarily setBaseUri.
  736. * Makefile.am (patch-source-list): Change pattern so we catch
  737. files that only use #ifndef and not #ifdef,
  738. * configure.in (WITH_XQTS): Previous change not quite right.
  739. 2006-12-02 Per Bothner <per@bothner.com>
  740. * configure.in (WITH_XQTS): Default to false.
  741. 2006-12-01 Per Bothner <per@bothner.com>
  742. * configure.in (AC_INIT): Set version to 1.8.91.
  743. * build.xml (version.release): Likewise.
  744. * configure.in: Add support for JAVA_SOURCE=6.
  745. * Makefile.am (select-java6): New rule, which sets JAVA6 and
  746. use:java.text.Normalizer.
  747. 2006-11-27 Per Bothner <per@bothner.com>
  748. * kawa/lang/Translator.java (lookup): New hasNamespace.
  749. * kawa/standard/require.java (importDefinitions): Inline getDefine.
  750. Do check for duplicate declaration using getNamespaceOf.
  751. Use ScopeExp.duplicateDeclarationError.
  752. 2006-11-22 Per Bothner <per@bothner.com>
  753. * kawa/lang/SyntaxRules.java: Rename Consumer methods append->write.
  754. * kawa/lang/Promise.java: Likewise.
  755. * kawa/lang/Lambda.java: Likewise.
  756. * kawa/lang/SyntaxPattern.java: Likewise.
  757. * kawa/lang/AnyPat.java: Likewise.
  758. * kawa/lang/PairPat.java: Likewise.
  759. * kawa/lang/Macro.java: Likewise.
  760. * kawa/lang/EqualPat.java: Likewise.
  761. * kawa/lang/ListPat.java: Likewise.
  762. * kawa/lang/ListRepeatPat.java: Likewise.
  763. * kawa/lang/Syntax.java: Likewise.
  764. * kawa/lang/VarListPat.java: Likewise.
  765. 2006-11-20 Per Bothner <per@bothner.com>
  766. * kawa/lang/SyntaxRules.java (print): Update since parameter is
  767. now a Consumer.
  768. * kawa/lang/Promise.java (print): Likewise.
  769. * kawa/lang/Lambda.java (print): Likewise.
  770. * kawa/lang/AnyPat.java (print): Likewise.
  771. * kawa/lang/PairPat.java (print): Likewise.
  772. * kawa/lang/EqualPat.java (print): Likewise.
  773. * kawa/lang/ListPat.java (print): Likewise.
  774. * kawa/lang/ListRepeatPat.java (print): Likewise.
  775. * kawa/lang/VarListPat.java (print): Likewise.
  776. * kawa/lang/Macro.java (print): Likewise.
  777. * kawa/lang/Syntax.java (print): Likewise.
  778. * kawa/lang/SyntaxPattern.java (print): New method.
  779. * kawa/lang/Pattern.java: Now implements Printable.
  780. 2006-11-19 Per Bothner <per@bothner.com>
  781. * kawa/lang/Quote.java: Remove redundant 'implements Printable'.
  782. * kawa/standard/location.java: Likewise.
  783. * kawa/standard/let.java: Likewise.
  784. * kawa/standard/define.java: Likewise.
  785. * kawa/standard/define_variable.java: Likewise.
  786. * kawa/standard/define_alias.java: Likewise.
  787. * kwa/standard/fluid_let.java: Likewise.
  788. * kawa/standard/begin.java: Likewise.
  789. * kawa/standard/let_syntax.java: Likewise.
  790. * kawa/standard/set_b.java: Likewise.
  791. 2006-11-13 Per Bothner <per@bothner.com>
  792. * kawa/lang/SyntaxRules.java: Update for SourceLocation changes.
  793. * kawa/lang/Lambda.java: Likewise.
  794. * kawa/lang/SyntaxPattern.java: Likewise.
  795. * kawa/lang/Eval.java: Likewise.
  796. * kawa/lang/Macro.java: Likewise.
  797. * kawa/standard/object.java: Likewise.
  798. * kawa/standard/require.java: Likewise.
  799. * kawa/standard/define_class.java: Likewise.
  800. * kawa/standard/define_autoload.java: Likewise.
  801. * kawa/repl.java: Likewise.
  802. * kawa/lang/Translator.java: Likewise.
  803. (setLine, setLine): Generalize/simplify.
  804. 2006-10-26 Per Bothner <per@bothner.com>
  805. * kawa/standard/require.java: Error rather than warning on
  806. duplicate declaration.
  807. * configure.in (AC_INIT): Set version to 1.8.90.
  808. * build.xml (version.release): Likewise.
  809. * kawa/standard/Scheme (initScheme): Update class for 'html' prefix.
  810. * kawa/repl.java (processArgs): Use Symbol.parse to process
  811. parameter initialization.
  812. 2006-10-16 Per Bothner <per@bothner.com>
  813. * kawa/lang/Translator.java (scanForm): Call rewrite to search lexical
  814. scope, so we can also indirectly set macroScope.
  815. This fixes Savannah bug #17993 "Unbound location exception when
  816. require-d syntax calls some procedures".
  817. 2006-10-15 Per Bothner <per@bothner.com>
  818. * kawa/repl.java (processArgs): Set Language.requirePedantic static
  819. if --pedantic flag was seen.
  820. 2006-10-14 Per Bothner <per@bothner.com>
  821. * kawa/lang/Translator.java (scanBody): Fix and simplify handling
  822. of SyntaxForm when we need to makeList by asking recursive call
  823. to make the list. This fixes Savannah bug #17984 "Compile time
  824. error in expansion of hygienic macros ending in literals".
  825. 2006-09-26 Per Bothner <per@bothner.com>
  826. * kawa/repl.java (processArgs): If we find a matching propertyField,
  827. break instead of continue.
  828. 2006-09-18 Per Bothner <per@bothner.com>
  829. * configure.in (WITH_XQTS): New AM_CONDITIONAL.
  830. 2006-09-14 Per Bothner <per@bothner.com>
  831. * build.xml (java4-features): Don't use org.w3c.dom.Node by default.
  832. 2006-09-13 Per Bothner <per@bothner.com>
  833. * Shell.java (xmlPrinterClasses): Update for changed XMLPrinter
  834. constructors.
  835. * Shell.java (run): Call flush.
  836. 2006-09-12 Per Bothner <per@bothner.com>
  837. * kawa/lang/Translator.java (rewrite): Som re-arranging.
  838. If we have a FieldLocation, use it's instance to set contextDecl.
  839. (checkMemberContext): Inline into caller and remove.
  840. 2006-09-08 Per Bothner <per@bothner.com>
  841. * Translator.java (reqrite): Catch missing (un-compiled) class when
  842. loading a field - could be a missing require declaration.
  843. 2006-09-06 Per Bothner <per@bothner.com>
  844. * kawa/lang/Macro.java: Remove unused import(s).
  845. * kawa/standard/try_catch.java: Likewise.
  846. * kawa/standard/module_static.java: Likewise.
  847. * kawa/standard/require.java: Likewise.
  848. * kawa/lang/Translator.java: Likewise.
  849. * kawa/standard/char_ready_p.java: Likewise.
  850. * kawa/lang/Translator.java (rewrite): Remove unused local(s).
  851. * kawa.repl (compileFiles): Likewise.
  852. * kawa/standard/define_syntax.java (scanForm): Remove unused local.
  853. * kawa/standard/require.java: Likewise.
  854. 2006-09-03 Per Bothner <per@bothner.com>
  855. * kawa/lang/loadcompiled.java: Remove unused class.
  856. * kawa/lang/Makefile.am: Update accordingly.
  857. * kawa/standard/read.java: Removed class, replaced by function read
  858. in kawa/lib/ports.scm.
  859. * kawa/standard/Makefile.am: Update accordingly.
  860. * kawa/standard/read_line.java: No longer extend ProcedureN.
  861. (numArgs, applyN, apply0, apply1, apply2): Remove methods.
  862. * kawa/standard/callcc.java (callcc): New static final field.
  863. * kawa/standard/Scheme.java: Appropriate updates.
  864. * kawa/standard/atan.java: Removed class, replaced by function atan
  865. in kawa/lib/numbers.scm.
  866. * kawa/standard/string2number.java: Removed class, replaced by function
  867. string->number in kawa/lib/numbers.scm,
  868. * kawa/standard/Makefile.am: Update accordingly.
  869. * kawa/standard/Scheme.java (initScheme): Update accordingly.
  870. 2006-08-23 Per Bothner <per@bothner.com>
  871. * kawa/standard/require.java (importDefinitions): Change type paraneter
  872. to className String. Handle appropriate exceptions.
  873. Various tweaks to handle cycles etc.
  874. (scanForDefinitions): Update accordingly.
  875. * kawa/standard/require.java (importDefinitions): Minor simplification.
  876. Also, don't make instance decl private if immediate.
  877. Set column number of alias decl, in addition to line number.
  878. 2006-08-16 Per Bothner <per@bothner.com>
  879. * Makefile.am (kawa/Version.java): If .svn/entries exists, extract
  880. SVN revision number and date and add that to the Kawa version string.
  881. (CLEANFILES): Move kawa/Version.java from -MAINTAINERCLEANFILES.
  882. (MAINTAINERCLEANFILES): Remove since no longer needed.
  883. 2006-08-08 Per Bothner <per@bothner.com>
  884. * kawa/standard/require.java (scanForDefinition): Handle extended
  885. '(require [CLASS] "SOURCE")' syntax.
  886. (importDefinitions): New overloaded method, handles above new cases.
  887. Parse module if appropriate.
  888. (importDefinitions): Handle non-compiled class.
  889. Remove most special handling of immediate mode.
  890. * configure.in (--with-XQTS): New flag.
  891. (XQTS_PATH): New substitution variable.
  892. 2006-06-28 Per Bothner <per@bothner.com>
  893. * kawa/standard/TracedProcedure.java (curIndentSym): Use new
  894. Symbol.makeUninterned method.
  895. * Makefile.am: New (always-disabled) PreProcess macro JAXP-QName.
  896. 2006-06-23 Per Bothner <per@bothner.com>
  897. * kawa/lang/Translator.java (check_if_Syntax): Inherit macroScope
  898. if from current TemplateScope.
  899. 2006-06-21 Per Bothner <per@bothner.com>
  900. * kawa/Shell.java (runString): Call the other run method so that
  901. getOutputConsumer gets called.
  902. 2006-06-16 Per Bothner <per@bothner.com>
  903. * kawa/lang/Translator.java (rewrite_pair): Remove no-longer-needed
  904. and non-working handling of xml namespaces.
  905. (remove): Remove old AutoloadProcedure special handling.
  906. (asXmlNamespace): Remove unneeded method.
  907. * kawa/standard/Scheme.java (initSchame): Change "html" definition.
  908. 2006-06-09 Per Bothner <per@bothner.com>
  909. * kawa/lang/Record.java: No longer implement gnu.mapping.NameMap.
  910. * kawa/repl.java (compileFiles): Print line number if unexpected
  911. exception.
  912. 2006-06-05 Per Bothner <per@bothner.com>
  913. * kawa/standard/export.java (scanForDefinitions): Set and later restore
  914. current position on exach Pair, for more precise error messages.
  915. Also, put in partial support for SyntaxForm inputs.
  916. 2006-05-31 Per Bothner <per@bothner.com>
  917. * kawa/Shell.java (run): Update to use new ModuleExp.evalModule call.
  918. This handles printing of errors - and now also warnings.
  919. Plus remove redundant runUntilDone.
  920. * kawa/lang/Eval.java (evalBody): Update ModuleExp.evalModule call.
  921. * kawa/standard/load.java (loadSource): Likewise.
  922. * kawa/standard/load.java (loadCompiled): Use WrapedException.
  923. 2006-05-25 Per Bothner <per@bothner.com>
  924. * kawa/standard/try_catch.java: Remove unneded import.
  925. * kawa/standard/with_compile_options.java: Likewise.
  926. * build.xml: Major simplification, since the modules in kawa/lib
  927. can be named in any order in the compilation command.
  928. 2006-05-25 Per Bothner <per@bothner.com>
  929. Handle module dependencies and cycles.
  930. * kawa/lang/CompileFile.java (compile_to_files): Remove method.
  931. * kawa/repl.java (compileFiles): New method.
  932. (processArgs): Simplify by using compileFiles.
  933. * kawa/lang/Eval.java (evalBody): Add now-needed cast.
  934. * kawa/lang/Translator.java (pendingForm): New field.
  935. (lookup): Replace call to lookupGlobal, which creates new Declaration
  936. if needed, with call to ModuleExp.lookup, which doesn't.
  937. (scanForm): Special-case check for begin Syntax.
  938. (scanForm): Handle deferred processing created by require or begin.
  939. (finishModule):: Simplification - don't need to check IS_UNKNOWN.
  940. (resolveModule): Handle any deferred pending imports.
  941. * kawa/standard/require.java (scanForDefinitions): If we're in the
  942. PROLOG_PARSING state, defer handling until the next pass.
  943. (importDefinitions): New parameter list.
  944. Check for cycles, and if so pushPendingImport.
  945. Various tweaks to handle the case when no class has been generated yet.
  946. 2006-05-25 Per Bothner <per@bothner.com>
  947. * kawa/lang/Syntax.java (scanForm): Slightly better error message,
  948. in case the ErrorEsp is erroneously compiled or evaluated.
  949. * kawa/lang/SyntaxTemplate.java (execute): Simplify debug logic.
  950. 2006-05-25 Per Bothner <per@bothner.com>
  951. * kawa/lang/Syntax.java (scanForm): Slightly better error message,
  952. in case the ErrorEsp is erroneously compiled or evaluated.
  953. * kawa/lang/SyntaxTemplate.java (execute): Simplify debug logic.
  954. 2006-05-23 Per Bothner <per@bothner.com>
  955. * kawa/lang/SyntaxRule.java: Remove unneeded import.
  956. * kawa/standard/IfFeature.java: Likewise.
  957. * kawa/standard/load.java: Likewise.
  958. * kawa/standard/set_b.java: Likewise.
  959. * kawa/standard/sleep.java: Likewise.
  960. * kawa/standard/syntax.java: Likewise.
  961. * kawa/standard/try_catch.java: Likewise.
  962. * kawa/lang/SyntaxTemplate.java (currentScope): Remove unused field.
  963. * kawa/standard/location.java: Likewise.
  964. * kawa/standard/prim_method.java: Likewise.
  965. * kawa/standard/set_b.java: Likewise.
  966. * kawa/lang/SyntaxTemplate.java: Use static syntax for static call.
  967. * kawa/standard/with_compile_options.java: Likewise.
  968. * kawa/lang/Eval.java: Remove unused local variable.
  969. * kawa/lang/Lambda.java
  970. * kawa/lang/Record.java: Likewise.
  971. * kawa/lang/SyntaxRules.java: Likewise.
  972. * kawa/lang/SyntaxTemplate.java: Likewise.
  973. * kawa/standard/define.java: Likewise.
  974. * kawa/standard/define_class.java: Likewise.
  975. * kawa/standard/object.java: Likewise.
  976. * kawa/standard/string2number.java: Likewise.
  977. 2006-05-21 Per Bothner <per@bothner.com>
  978. * kawa/standard/IfFeature.java (hasFeature): Remove old testing junk.
  979. * kawa/standard/module_name.java (scanForm): Don't set STATIC_SPECIFIED
  980. on module Declaration - confused FindCapturedVars.capture.
  981. 2006-05-19 Per Bothner <per@bothner.com>
  982. * kawa/standard/define_autoload.java (process): Handle Symbols.
  983. * kawa/lang/Lambda.java (nameKeyword): New constant field.
  984. (rewriteAttrs): Handle name: keyword.
  985. 2006-05-06 Per Bothner <per@bothner.com>
  986. * kawa/standard/Scheme.java (initScheme): Implementations of 'string',
  987. 'quantity->number', 'quantity->unit', 'make-quantity' now in kawa.lib.
  988. * kawa/standard/make_quantity.java: Remove file.
  989. * kawa/standard/quantity2number.java: Likewise.
  990. * kawa/standard/quantity2unit.java: Likewise.
  991. * kawa/standard/string_v.java: Likewise.
  992. * Makefile.am: Update accordingly.
  993. 2006-05-02 Per Bothner <per@bothner.com>
  994. * kawa/lang/Translator.java (rewrite): Do setLine on new ReferenceExp.
  995. 2006-05-01 Per Bothner <per@bothner.com>
  996. * kawa/standard/Scheme.java (read): Remove unused method.
  997. (getLexer): Remove - use super version.
  998. (createReadTable): Update called method name.
  999. * kawa/standard/read.java (apply1): Update ScmRead -> LispReader.
  1000. 2006-04-26 Per Bothner <per@bothner.com>
  1001. * kawa/lang/Macro.java (make(Declaration)): Set capturedScope.
  1002. * kawa/standard/define_syntax.java (scanForm): If immediate, generate
  1003. a call to set the capturedScope.
  1004. * kawa/standard/location.java (rewrite): Revert 2006-04-21 change.
  1005. Instead follow aliases before setting can-read/can-write flags.
  1006. 2006-04-21 Per Bothner <per@bothner.com>
  1007. * kawa/standard/require.java (importDefinitions): Don't needlessly
  1008. clear simple flag for alias declaration.
  1009. * kawa/standard/location.java (rewrite): Mark declaration as non-simple.
  1010. 2006-04-19 Per Bothner <per@bothner.com>
  1011. * kawa/standard/require.java (importDefinitions): Check exported
  1012. decl's isPrivate rather than field name. More robust in that it works
  1013. even if imported module hasn't been compiled yet.
  1014. 2006-04-14 Per Bothner <per@bothner.com>
  1015. * kawa/standard/Scheme.java (initScheme): Get "caar", "cadr" etc from
  1016. kawa.lib.lists rather than kawa.standard.cxr.
  1017. * kawa/standard/cxr.java: Remove file.
  1018. * kawa/standard/Makefile.am: Update accordingly.
  1019. 2006-04-14 Per Bothner <per@bothner.com>
  1020. Various macro fixes. Most important, quasisyntax sub-templates inherit
  1021. a shared TemplateScope.
  1022. * kawa/lang/PatternScope.java (push): Set outer scope.
  1023. * kawa/lang/TemplateScope.java (make): New factory methods.
  1024. * kawa/lang/SyntaxTemplate.java (execute): Use passed-in TemplateScope
  1025. rather than allocating it.
  1026. If DEBUGGING, check if vars is null.
  1027. * kawa/lang/SyntaxRules.java (expand): Need to allocate TemplateScope
  1028. here before passing it to SyntaxTemplate.execute.
  1029. * kawa/lang/Translator.java (templateScopeDecl): New field.
  1030. * kawa/standard/let_syntax.java (rewrite): Set setCapturedScope
  1031. on new macros.
  1032. * kawa/standard/syntax.java (rewriteForm): Genrate code to allocate
  1033. and use TemplateScope, using templateScopeDecl.
  1034. * kawa/standard/let_syntax.java (rewrite): Set name of macro.
  1035. 2006-04-10 Dean Ferreyra <dferreyra@igc.org>
  1036. Per Bothner <per@bothner.com>
  1037. * kawa/repl.java (processArgs): Handle new
  1038. --debug-{error,warning}-prints-stack-trace arguments,
  1039. (printOptions): List them.
  1040. 2006-04-06 Dean Ferreyra <dferreyra@igc.org>
  1041. * kawa/lang/SyntaxTemplate.java: Fix typo in error message.
  1042. 2006-03-26 Per Bothner <per@bothner.com>
  1043. * Makefile.am (JAVA4_FEATURES, NO_JAVA4_FEATURES): New feature flag
  1044. use:java.util.regex.
  1045. 2006-03-25 Per Bothner <per@bothner.com>
  1046. * kawa/standard/Scheme.java (initScheme): Bind 'slot-ref'
  1047. to new SlotGet.slotRef field.
  1048. 2006-03-24 Per Bothner <per@bothner.com>
  1049. * kawa/standard/Scheme.java (instance): Make public, so it can
  1050. be compiled as a literal.
  1051. 2006-03-23 Per Bothner <per@bothner.com>
  1052. * kawa/standard/map.java (inline): Also inline on new ApplyExp.
  1053. 2006-03-17 Per Bothner <per@bothner.com>
  1054. * kawa/standard/define_member_alias.java (scanForDefinitions):
  1055. Minor optimization.
  1056. 2006-03-16 Per Bothner <per@bothner.com>
  1057. * kawa/lang/Translator.java (exp2Type): May need to InlineCalls on
  1058. type-specifier - for example for PREFIX:<>.
  1059. 2006-03-13 Per Bothner <per@bothner.com>
  1060. * configure.in: Define JAVACFLAGS, and default it to -g.
  1061. * Make-rules: Remove redundant JAVACFLAGS macro.
  1062. 2006-03-12 Per Bothner <per@bothner.com>
  1063. * kawa/standard/object.java (scanClassDef): Move rewrite of
  1064. list of sypertypes to ...
  1065. (rewriteClassDef): ... here.
  1066. 2006-03-11 Per Bothner <per@bothner.com>
  1067. * kawa/lang/Quote.java (expand): Never call Translator.namespaceResolve
  1068. - which had become a no-op in this context.
  1069. (DATUM_DEPTH): Remove constant.
  1070. Replace most uses by QUOTE_DEPTH.
  1071. (expandColonForms): New protected method.
  1072. (expand_pair): Do namespace resolution on $lookup$ forms only if
  1073. expandColonsForms is true.
  1074. * kawa/standard/syntax.java (expandColonForms): New method.
  1075. This fixes a problem where colon forms in syntax forms got quoted,
  1076. instead than being handled when the syntax template was expanded.
  1077. 2006-03-03 Per Bothner <per@bothner.com>
  1078. * kawa/standard/Scheme.java (initScheme): Define "duration" function.
  1079. (createReadTable): Define "duration" reader constructor function.
  1080. 2006-02-22 Per Bothner <per@bothner.com>
  1081. * Makefile.am (JAVADOC_FLAGS): Pass -use to javadoc.
  1082. 2006-02-19 thomas kirk <tk@research.att.com>
  1083. Per Bothner <per@bothner.com>
  1084. * kawa/standard/load.java (loadCompiled): Get main class from
  1085. ZipLoader.loadAllClasses rather than using LambdaExp.fileFunctionName.
  1086. This fixes Savannah bug #15725.
  1087. (loadSource): Don't set module name to LambdaExp.fileFunctionname.
  1088. 2006-02-19 Per Bothner <per@bothner.com>
  1089. * kawa/lang/Translator.java (rewrite): Use ClassMethods.getMethods
  1090. rather than ClassMethods.apply to we can pass in 'caller'.
  1091. It also does less useless work.
  1092. * kawa/lang/Translator.java (rewrite): When searching lexical scope,
  1093. also seach fields of methods of this class and super-types.
  1094. * kawa/standard/object.java (rewriteClassDef): Call setTypes earlier,
  1095. so we can search for inherited fields and methods.
  1096. Remove old incomplete code for matching fields and methods.
  1097. 2006-02-16 Per Bothner <per@bothner.com>
  1098. * kawa/lang/Translator.java (rewrite): Handle reference to method name
  1099. by create a GetNamedExp.
  1100. * kawa/standard/map.java (inline): If evaluating procedure doesn't
  1101. have side-effects, do so inside loop, which may allow inlining.
  1102. 2006-02-15 Per Bothner <per@bothner.com>
  1103. * COPYING: Change to use X11/MIT license.
  1104. * gnu/*/COPYING: Remove redundant files.
  1105. * configure.in: Oops. Partly go back to original handling
  1106. of --{with,enable}-servlet.
  1107. 2006-02-14 Per Bothner <per@bothner.com>
  1108. * kawa/standard/define.java (scanForm): Fix oops in previous check-in.
  1109. * kawa/lang/Quote.java (expand_pair): Use GetNamedPair.combineName
  1110. to resolve '($lookup$ part1 'part2) to 'part1:part2 - as in source.
  1111. * kawa/lang/Translator.java (namespaceResolve): Likewise.
  1112. Remove no-longer needed code to resolve actual namespace declaration.
  1113. * kawa/standard/define.java (scanForm): Fix wrong test for a function
  1114. definition - which failed when the name was a Symbol.
  1115. * kawa/standard/define.java: Fix incorrect comment.
  1116. 2006-02-13 Per Bothner <per@bothner.com>
  1117. * kawa/lang/Quote.java (expand_pair): Translate (%lookup$ PART1 'PART2)
  1118. to 'PART1:PART2.
  1119. * kawa/lang/Translator.java (namespaceResolve): Remove two overloads.
  1120. (namespaceRewriteResolve): Remove method. Just inline it.
  1121. (rewrite): Remove a namespaceResolve call.
  1122. Always inline getNamedPart.
  1123. * kawa/standard/Scheme.java (getNamedPartDecl): New static field.
  1124. (makeApply): Change return type. Check if function is getNamedPartDecl.
  1125. * kawa/standard/define.java (scanForn): Always call tr.namespaceResolve.
  1126. * kawa/standard/define_syntax.java (scanForm): Likewise.
  1127. * configure.in: Fix recent breakage in --{with,enable}-servlet.
  1128. Also make a simplification.
  1129. 2006-02-12 Per Bothner <per@bothner.com>
  1130. * configure.in: Fix/simplify handling with --with-awt and --with-swing.
  1131. 2006-02-10 Per Bothner <per@bothner.com>
  1132. * kawa/lang/Translator.java (rewrite_body): No longer need to call
  1133. mustCompileHere().
  1134. * kawa/lang/Lambda.java (rewriteFormals): For anonymous functions
  1135. do setSourceLocation.
  1136. * kawa/standard/syntax_case.java (rewriteClauses): Fix to use
  1137. correct PrimProcedure constructor, taking a Language.
  1138. 2006-02-09 Per Bothner <per@bothner.com>
  1139. * kawa/lang/Lambda.java (rewriteBody): No longer need to
  1140. mustCompleHere.
  1141. * kawa/lang/Eval.java (evalBody): Use new pushNewModule method.
  1142. * kawa/standard/map.java (inline): Use existing IsEq from Scheme.
  1143. 2006-02-07 Per Bothner <per@bothner.com>
  1144. * kawa/standard/Scheme.java (initScheme): The R5RS functions
  1145. integer?, max, min, gcd, lcm, logand, logior, logxor are now
  1146. implemented in Scheme in kawa.lib.numbers.
  1147. (define_proc): Remove two no-longer-needed methods.
  1148. * kawa/standard/gcd.java: Remove no-longer-needed file.
  1149. * kawa/standard/integer_p.java: Likewise.
  1150. * kawa/standard/lcm.java: Likewise.
  1151. * kawa/standard/logand.java: Likewise.
  1152. * kawa/standard/logior.java: Likewise.
  1153. * kawa/standard/logxor.java: Likewise.
  1154. * kawa/standard/max.java: Likewise.
  1155. * kawa/standard/min.java: Likewise.
  1156. * Makefile.am: Update accordingly.
  1157. 2006-02-06 Per Bothner <per@bothner.com>
  1158. * kawa/lang/Translator.java (rewrite_pair): Update checking for xml
  1159. namespaces to match namespace changes.
  1160. (namespaceResolve, namespaceRewriteResolve): New/rewritten methods.
  1161. (scanForm): Do namespaceRewriteResolve first.
  1162. * kawa/standard/Scheme.java (applyToArgs, setApplyToArgs,
  1163. applyFieldDecl): New static fields.
  1164. (makeApply): New method, overrides LispLanguage.
  1165. (createReadTable): Change postfixLookupOperator to ':'.
  1166. * kawa/standard/define.java (scanForm): Some changes to handle
  1167. namespace resolution. Set type of functions to Procedure.
  1168. * kawa/standard/export.java (scanForDefinitions): Since namespace
  1169. prefixes are now in the regular namespace, we no longer need
  1170. to export 'namespace:PREFIX'.
  1171. * kawa/standard/location.java (makeProcLocation$V): Remove needless
  1172. ApplyToArgs application.
  1173. * kawa/standard/set_b.java (rewriteForm): Check for ApplyToArgs.
  1174. 2006-02-06 Per Bothner <per@bothner.com>
  1175. * kawa/standard/object.java (scanClassDef): Specify that method
  1176. Declarations have Procedure type.
  1177. 2006-02-03 Per Bothner <per@bothner.com>
  1178. * kawa/standard/cxr.java (caar, cadr, etc): New static fields.
  1179. (cxr): New constructor.
  1180. (program): Make private.
  1181. (apply1, set1): No longer need to call program, since done by <init>.
  1182. * kawa/standard/Scheme.java (initScheme): Modify definitions of
  1183. caar, cadr, etc to use nwe static fields.
  1184. 2006-02-02 Per Bothner <per@bothner.com>
  1185. * kawa/repl.java (processArgs): Update copyright year printed
  1186. when giving the --version flag.
  1187. * kawa/standard/Scheme.java (initScheme): Declare 'namespace' function.
  1188. (createReadTable): Declare 'namespace' reader constructor.
  1189. 2006-01-12 Per Bothner <per@bothner.com>
  1190. * build.xml: Update directory containing HTTP.scm.
  1191. 2006-01-11 Per Bothner <per@bothner.com>
  1192. * Makefile.am (SUBDIRS): Add new directory gnu/kawa/swtviews.
  1193. (JAVADOC_PACKAGES): Add new package gnu.kawa.swtviews.
  1194. * configure.in (AC_CONFIG_FILES): Add gnu/kawa/swtviews/Makefile.
  1195. * kawa/repl.java (propertyFields): Add "display:toolkit".
  1196. * kawa/standard/require.scm (featureMap): Define swing-gui feature.
  1197. 2006-01-10 Per Bothner <per@bothner.com>
  1198. * kawa/standard/Scheme.java (initScheme): Declare resource-uri.
  1199. * kawa/repl.java (processArgs): The debugPrintExpr flag was moved from
  1200. ModuleExp to Compilation.
  1201. * kawa/standard/require.scm (featureMap): HTTP was moved.
  1202. * Makefile.am (SUBDIRS): No longer conditionalize on ENABLE_SERVLET.
  1203. Instead, always do gnu/kawa/servlet. However, rearrange so it done
  1204. later, since it now includes HTTP.scm.
  1205. 2006-01-07 Per Bothner <per@bothner.com>
  1206. * kawa/lang/Quote.java (consX$V): New static helper method.
  1207. (expand_pair): Use new consX$V method rather than compiled
  1208. method in gnu.kawa.slib.srfi1. The latter caused an awkward
  1209. dependency which broke quasi-quotation under Common Lisp.
  1210. (consXType): Remove no-longer-needed field.
  1211. * kawa/standard/Scheme.java (getNamedType): Declare <URI> type.
  1212. (initScheme): Declare resolve-uri function, and module-uri syntax,
  1213. 2006-01-04 Per Bothner <per@bothner.com>
  1214. * kawa/standard/load.java (apply): Use new URI_utils methods.
  1215. 2005-12-31 Per Bothner <per@bothner.com>
  1216. * kawa/standard/Scheme.java (initScheme): Declare URI function.
  1217. (createReadTable): Declare URI as a reader constructor.
  1218. * kawa/lang/Quote.java: Un-tab-ify conditional code.
  1219. * kawa/lang/SyntaxTemplate.java: Likewise.
  1220. 2005-12-30 Per Bothner <per@bothner.com>
  1221. * kawa/Shell.java (run): Fix bug which prevented getOutputConsumer
  1222. from being run for a repl, thus giving incorrect output.
  1223. * kawa/standard/require.java (featureMap): Add "srfi-10" as an alias.
  1224. * kawa/standard/Scheme.java (createReadTable): Handle "#," syntax.
  1225. 2005-12-22 Per Bothner <per@bothner.com>
  1226. * kawa/lang/SyntaxPattern.java (translate): Set source position
  1227. on pattern Declarations.
  1228. 2005-12-11 Per Bothner <per@bothner.com>
  1229. Remember URL of loaded file, so it can be passed to ArrayClassLoader.
  1230. * kawa/Shell.java (run): Take extra URL argument.
  1231. (runFile): Handle skipLines even if read from stdin.
  1232. * kawa/repl.java (processArgs): Update evalModule call.
  1233. * kawa/lang/Eval.java (evalBody): Likewise.
  1234. * kawa/standard/load.java (loadSource): New URL parameter.
  1235. (apply): Get URL and pass it to loadSource.
  1236. * kawa/lang/Lambda.java (rewriteBody): Temporarily set curLambda.
  1237. * kawa/standard/object.java (rewriteInit): Set line of initializing
  1238. SetExp to that of Declaration - rather than current Translator position.
  1239. 2005-12-10 Per Bothner <per@bothner.com>
  1240. * kawa/standard/load.java (apply): Add extra argument.
  1241. Skip that many lines.
  1242. (apply2): Update to match.
  1243. * kawa/Shell.java (runFile): Also add extra skipLines argument.
  1244. * kawa/repl.java: Update runFile callers.
  1245. (processArgs): Handle new --script and --scriptN options.
  1246. * kawa/standard/load.java (apply): Remove some hacks to map "class name"
  1247. to filename, and special .scm handling.
  1248. In return, we now allow general URLs in addition to filename.
  1249. (loadSource(String,Environment)): Remove static method.
  1250. 2005-12-05 Per Bothner <per@bothner.com>
  1251. * kawa/standard/Scheme.java (createReadTable): Use '\\' for
  1252. postfixLookupOperator instead of '`'.
  1253. 2005-12-04 Per Bothner <per@bothner.com>
  1254. Handle Syntactic sugar to map OBJECT`NAME to ($lookup$ OBJECT 'NAME).
  1255. * kawa/standard/Scheme.java (initScheme): Define "$lookup$" function.
  1256. (createReadTable): Bind '`' to postfixLookupOperator.
  1257. * kawa/lang/Translator (rewrite_pair): Be a little more conservative
  1258. with xml names: Only map to make-element if prefix matches.
  1259. * kawa/standard/Scheme.java (initScheme): Define define-xml-namespace.
  1260. (html): Define as an xml-namespace.
  1261. * kawa/lang/Translator (asXmlNamespace): New method.
  1262. (rewrite_pair): Translate application of xml-names to make-element.
  1263. 2005-12-03 Per Bothner <per@bothner.com>
  1264. * kawa/lang/Quote.java (rewrite): Fix error message.
  1265. * kawa/lang/Translator.java (namespaceResolve): Combine code paths
  1266. to reduce code duplication.
  1267. * kawa/lang/Translator.java (namespaceResolve): Use new makeExp method.
  1268. 2005-11-30 Per Bothner <per@bothner.com>
  1269. * kawa/lang/Lambda.java (rewriteBody): Set/reset curMethodLambda
  1270. if we're in a top-level methods and supertype has been specified.
  1271. * kawa/standard/thisRef.java (rewriteForm): Allow (this) in a top-level
  1272. function whose module has the super-type explicitly specified. In
  1273. that case create a matching Declaration, if needed.
  1274. 2005-11-29 Per Bothner <per@bothner.com>
  1275. * kawa/lang/Quote.java: Make various methods non-static, and make
  1276. some methods/fields protected so derived class can use it.
  1277. (leaf): New wrapper around QuoteExp construction, for overriding.
  1278. (expand_pair): Extend unqute and unquote-splicing to allow multiple
  1279. arguments, to match Alan Bawden's suggestion (1999).
  1280. (append$V): New method, to handle SyntaxForm wrappers.
  1281. * kawa/lang/Translator.java (matches): New variant takes SyntaxForm.
  1282. * kawa/standard/Scheme.java (initScheme): Define quasisyntax.
  1283. Re-arrange R5RS vs syntax-case macros.
  1284. (createReadTable): Define #` as quasisyntax.
  1285. * kawa/standard/syntax.java: Change to extend kawa.lang.Quote.
  1286. This provides quasisyntax support.
  1287. (wrap, convert): Remove unused methods. (Was also unused before.)
  1288. * kawa/standard/define_alias.java (scanForDefinitions): Handle
  1289. SyntaxForm unwrapping.
  1290. 2005-11-28 Per Bothner <per@bothner.com>
  1291. * kawa/lang/CompileFile.java (compile_to_files): Set top-level
  1292. class name only if passed in.
  1293. 2005-11-27 Per Bothner <per@bothner.com>
  1294. * kawa/standard/load.java (loadCompiled): Used WrappedException.
  1295. 2005-11-23 Per Bothner <per@bothner.com>
  1296. * kawa/standard/module_name (scanForm): Do the SyntaxForm handling
  1297. in case this is called in a macro.
  1298. Allocate Compilation's mainClass if not set yet.
  1299. Create a private Declaration if the name is a symbol.
  1300. * kawa/standard/prim_method.java (constructor): Remove static field.
  1301. (rewrite): Remove no-longer-used support for invokespecial.
  1302. * kawa/standard/Scheme.java: New generate-temporaries procedure.
  1303. primitive-constructor was moved to kawa.lib.reflection.
  1304. * kawa/standard/constant_fold.java (checkConstant): Allow for
  1305. Declaration with UNKNOWN flag or constant value.
  1306. 2005-11-21 Per Bothner <per@bothner.com>
  1307. * kawa/lang/Lambda.java (rewriteForm): New method, so we can set
  1308. the line/column number to the actual lambda expression.
  1309. 2005-11-20 Per Bothner <per@bothner.com>
  1310. * Make-rules (java-classes.stamp, scm-classes.stamp,
  1311. clisp-classes.stamp, elisp-classes.stamp):
  1312. Also touch kawa-jar.stamp in top-dir.
  1313. * Makefile.am: Remove JAP_DEPS_XXX macros.
  1314. (kawa-@VERSION@.jar): Depend on kawa-jar.stamp instead of JAR_DEPS.
  1315. (MOSTLYCLEANFILES): Remome *.stamp - specifically kawa-jar.stamp.
  1316. * Makefile.am (SUBDIRS): Enter jemacs/swing/swt dirs unconditionally.
  1317. (JEMACS_SUBDIRS, JEMACS_SWING, JEMACS_SWT, SWINGVIEWS_SUBDIRS):
  1318. Remove no-longer-needed macros.
  1319. * configure.in: New --enable-jemacs option - default off,
  1320. to avoid accidental includion of GPL'd code.
  1321. New --enable-echo2, currently unused.
  1322. Change --with[out]-swing to default to 'with'.
  1323. Add ENABLE_JEMACS and ENABLE_ECHO2 automake conditionals.
  1324. Remove SWING_SELECTED, AWT_SELECTED, XML_SELECTED, extra_java variables.
  1325. * kawa/Makefile.am: Use WITH_AWT conditional.
  1326. 2005-11-18 Per Bothner <per@bothner.com>
  1327. Fixes Savannah bug #14097: problem with (this) syntax within
  1328. define-syntax.
  1329. * kawa/lang/Translator.java (curMethodLambda): New field.
  1330. * kawa/standard/object.java (rewriteClassDef, rewriteInit):
  1331. Save, set and restore curMethodLambda.
  1332. * kawa/standard/thisRef.java: Don't search static scope chain for
  1333. a class-method, since that may be weird when expanding macros.
  1334. Instead, use curMethodLambda.
  1335. 2005-11-17 Per Bothner <per@bothner.com>
  1336. * kawa/standard/define_class.java (scanForDefinitions): Use new
  1337. ClassExp constructor.
  1338. Don't set STATIC_SPECIFIED for simple class since that needlessly
  1339. prohibits "inner" classes accessing external data.
  1340. Set name of ClassExp now rather than during rewrite.
  1341. * kawa/standard/object.java (rewriteForm): Don't need to setSimple.
  1342. (rewriteClassDef): Call ClassExp's new setClassName method.
  1343. Call ClassExp's setTypes and declareParts methods here.
  1344. 2005-11-16 Per Bothner <per@bothner.com>
  1345. * kawa/standard/module_name.java (rewriteForm): Replace method by
  1346. scanForm method, since we want to set class names in the first pass.
  1347. * kawa/repl.java (compilationPrefix): Remove field.
  1348. We now use Compilation.classPrefixDefault.
  1349. (processArgs): Update accordingly.
  1350. * kawa/lang/CompileFile.java (compile_to_files): Remove prefix
  1351. parameter. Set classname after we've parsed file, using classPrefix.
  1352. * kawa/standard/define_autoload.java (scanFile): Use classPrefix.
  1353. * kawa/standard/module_name.java (rewriteForm): Use classPrefix.
  1354. If name has a package prefix, set classPrefix.
  1355. * kawa/standard/require.java (scanForDefinitions): Use classPrefix.
  1356. 2005-11-08 Per Bothner <per@bothner.com>
  1357. * configure.in (AC_INIT): Set version to 1.8.1alpha.
  1358. * build.xml (version.release): Likewise.
  1359. 2005-11-03 Per Bothner <per@bothner.com>
  1360. * kawa/lang/Translator.java (namespaceResolve): Also check dynamic
  1361. environment. Needed to handle define-namespace in repl.
  1362. 2005-10-27 Per Bothner <per@bothner.com>
  1363. * kawa/lang/CompileFile.java (compile_to_files): Call resolve.
  1364. * kawa/lang/Translator.java (finishModule): Move final actions to ...
  1365. (resolveModule): ... new method.
  1366. (firstForm): New field, instead of finishModule parameter.
  1367. * kawa/lang/Eval.java (evalBody): Update for modified firstModule.
  1368. 2005-10-27 Per Bothner <per@bothner.com>
  1369. * build.xml: Kludgy update for gnu/kawa/srfi for new files.
  1370. 2005-10-24 Per Bothner <per@bothner.com>
  1371. * kawa/standard/Scheme.java: Declare test-begin.
  1372. * kawa/standard/Scheme.java: Declare define-for-syntax, syntax-source,
  1373. syntax-line, syntax-column macros.
  1374. * kawa/standard/IfFeature.java (hasFeature): Look for a magic
  1375. "%provide%"+NAME variable, as defined by the new provide macro.
  1376. * kawa/standard/Scheme.java: Declare (provide ...) macro.
  1377. 2005-10-20 Per Bothner <per@bothner.com>
  1378. * kawa/standard/IfFeature.java (hasFeature): We also have features
  1379. srfi-16 and srfi-39.
  1380. * kawa/standard/require.java (featureMap): Add srfi-35, srfi-35,
  1381. and aliases.
  1382. 2005-10-19 Per Bothner <per@bothner.com>
  1383. * kawa/standard.Scheme.java: Define syntax-error macro.
  1384. 2005-10-18 Per Bothner <per@bothner.com>
  1385. * Makefile.am JAVADOC_ANT_JARS, JAVADOC_ECLIPSE_JARS): Update/fix.
  1386. (javadoc-cvs.log): Make script more robust wrt empty file lists.
  1387. 2005-10-16 Per Bothner <per@bothner.com>
  1388. * kawa/standard/require.java (featureMap): Add 'srfi-69,'hash-table.
  1389. * build.xml (slib-scm): Add srfi69.scm, testing.scm.
  1390. 2005-10-13 Per Bothner <per@bothner.com>
  1391. * kawa/standard/object.java (rewriteClassDef): If method name is
  1392. "*init*" (i.e. a constructor) set the return type to void.
  1393. Also complain if a non-simple class.
  1394. Also set line number of method.
  1395. * kawa/lang/Lambda.java (rewriteAttrs): Complain if explicit
  1396. return type seen for "*init* method.
  1397. * kawa/lang/Lambda.java (rewrite): Remove redundant method.
  1398. (rewrite(Object,Translator)): Update accordingly,
  1399. * kawa/lang/Lambda.java (rewrite(Object,Translator)):
  1400. Set line of LambdaExpr from pair.
  1401. * kawa/lang/Lambda.java (rewriteBody): If returnType specified, wrap
  1402. body in coercion even if it is a BeginExp.
  1403. However, don't do so it returnType is void_type.
  1404. 2005-10-06 Per Bothner <per@bothner.com>
  1405. * Makefile.am (select-javaXX): Also search inherited $CLASSPATH -
  1406. though last.
  1407. 2005-10-05 Per Bothner <per@bothner.com>
  1408. * Makefile.am (select-javaXX): Add "." to CLASSPATH so we find the
  1409. PreProcess class.
  1410. 2005-10-05 Jim White <jim@pagesmiths.com>
  1411. * build.xml (lib-scm-4): Add parameters.scm.
  1412. 2005-09-28 Per Bothner <per@bothner.com>
  1413. * kawa/repl.java (processArgs): Update copyright printed by --version.
  1414. * Makefile.am: Fold +JAVA2 into JAVA4_FEATURES macro.
  1415. 2005-09-27 Per Bothner <per@bothner.com>
  1416. * kawa/standard/location.java (rewrite): Do setCanRead and setCanWrite
  1417. on variable captured by a location.
  1418. Fixes Savannah bug #14640: internal compile error when using "location".
  1419. * Makefile.am: Define new PreProcess flag: use:java.net.URI.
  1420. * build.xml: Likewise.
  1421. * kawa/standard/load.java (apply): If relative, resolve against
  1422. base uri here only, and not in loadSource.
  1423. (loadSource): Make private. Remove 'relative' parameter.
  1424. Don't do any uri-resolving - assume caller has done that.
  1425. If the result is still relative, assume it's a elative file name.
  1426. Fixes Savannah bug #14397: load-relative doesn't work.
  1427. 2005-09-26 Per Bothner <per@bothner.com>
  1428. * configure.in (AC_INIT): Set version to 1.8.
  1429. * build.xml (version.release): Likewise.
  1430. 2005-08-15 thomas kirk <tk@research.att.com>
  1431. * kawa/standard/Scheme.java (initScheme): define 'runnable'
  1432. * kawa/GuiConsole.java (<init>): access Future environment with
  1433. call to environment() rather than field access.
  1434. 2005-08-17 Per Bothner <per@bothner.com>
  1435. * Makefile.am (JAR_DEPS_XML): Also depend on gnu/kawa/xml's stamp file.
  1436. 2005-08-09 Per Bothner <per@bothner.com>
  1437. * kawa/lang/eval.Java (eval, evalBody): Update to use startFromContext,
  1438. getFromContextand cleanupFromContext methods from CallContext.
  1439. Fixes Savannah bug #14071: Problem with use of eval in a repl.
  1440. 2005-08-09 Per Bothner <per@bothner.com>
  1441. * Makefile.am (JAVADOC_FLAGS): Remove (comment out) macro.
  1442. * Makefile.am (set-selected-java-source): Fix thinko.
  1443. 2005-08-03 Per Bothner <per@bothner.com>
  1444. * kawa/lang/Translator.java (namespaceResolve): Add a followAliases
  1445. to handle imported classes.
  1446. * kawa/lang/Translator.java (namespaceResolve): Return expressions that
  1447. creates a ClassMethodProc, when appropriate.
  1448. * kawa/standard/Scheme.java (lookupBuiltin): No point at this time
  1449. in handling Symbols with uri starting "class:".
  1450. * kawa/standard/set_b.java (rewriteForm): Optimize (TYPE:MEMBER ...)
  1451. forms using ClassMethodProc rewrite form.
  1452. * kawa/standard/Scheme.java (initScheme): Update field name used
  1453. slot-set!.
  1454. 2005-08-03 Chris Dean <ctdean@sokitomi.com>
  1455. * kawa/standard/Scheme.java (initScheme): Define new
  1456. define-private-namespace function.
  1457. 2005-07-29 Per Bothner <per@bothner.com>
  1458. * kawa/lang/Translator.java (namespaceResolve): If prefix is bound in
  1459. the current environment to a ClassType, add "class:" prefix to name.
  1460. 2005-07-27 Per Bothner <per@bothner.com>
  1461. * Makefile.am (set-selected-java-source): New rule - set
  1462. selected-java-source but only if changed.
  1463. (select-java1, select-java2, select-java4, select-java4x, select-java5):
  1464. Use new set-selected-java-source rule, which works with read-only files.
  1465. * Makefile.am (dist-hook): Default is now select-java4.
  1466. * configure.in (AC_INIT): Set version to 1.8beta.
  1467. * build.xml (version.release): Likewise.
  1468. 2005-07-25 Per Bothner <per@bothner.com>
  1469. * kawa/standard/fluid-let.java (rewrite): Revert thinko in previous
  1470. change.
  1471. 2005-07-23 Per Bothner <per@bothner.com>
  1472. * kawa/standard/fluid-let.java (rewrite): Push/pop position
  1473. for better error messages.
  1474. 2005-07-23 Alex Milowski <alex@milowski.org>
  1475. * kawa/standard/fluid-let.java (rewrite): Handle SyntaxForm.
  1476. 2005-07-23 Per Bothner <per@bothner.com>
  1477. * kawa/standard/Scheme.java (*print-base*, *print-radix*,
  1478. *print-right-margin*, *print-miser-width*): New fluid variables.
  1479. * kawa/GuiConsole.java (<init>): New shared parameter.
  1480. Use to call InheritingEnvironment's setIndirectDefines.
  1481. (actionPerformed): Update for modified Environment inheritance.
  1482. * kawa/standard/TracedProcedure.java (applyN): setWithSave and
  1483. setRestore now require an extra CallContext parameter.
  1484. 2005-07-21 Per Bothner <per@bothner.com>
  1485. * kawa/standard/Scheme.java (<init>): Default constructor now calls
  1486. geNewEnvironment, to match old documentation/advice.
  1487. Also sets the environ field.
  1488. New non-default constructor called from clinit.
  1489. * kawa/repl.java (propertyFields): New static table.
  1490. (processArgs): Process arguments of the form 'NAME=VALUE'.
  1491. 2005-07-20 Per Bothner <per@bothner.com>
  1492. * kawa/Shell.java (run): Set and restore default Language.
  1493. * kawa/standard/Scheme.java (r4Environment, r5Environment,
  1494. kawaEnvironment): Make final, and allocate in static block.
  1495. 2005-06-29 Per Bothner <per@bothner.com>
  1496. * kawa/standard/Scheme.java (numEqu, numGrt, numGEq, numLss, numLEq):
  1497. New static fields for the numeric compare functions.
  1498. (initScheme): Re-define numeric comparisions using new fields.
  1499. 2005-06-27 Per Bothner <per@bothner.com>
  1500. * kawa/lang/Translator.java (checkMemberContext): New method.
  1501. (rewrite): Call checkMemberContext.
  1502. * kawa/standard/set_b.java (rewriteFrom): Set context Declaration.
  1503. Fixes Savannah bug #4881.
  1504. 2005-06-26 Per Bothner <per@bothner.com>
  1505. * kawa/lang/Translator.java (processAccesses): Call new capture method
  1506. in LambdaExp to force field to get allocated.
  1507. * kawa/standard/syntax_case.java (rewriteClauses): Handle SyntaxForm
  1508. in input form.
  1509. * kawa/lang/SyntaxTemplate.java (convert_template): Convert '(... ...)'
  1510. to '...' as in other syntax-case implementations.
  1511. 2005-06-04 Per Bothner <per@bothner.com>
  1512. * kawa/Shell.java: Update for AbstractFormat move to gnu.lists.
  1513. * kawa/standard/Scheme.java: Likewise.
  1514. * kawa/Shell.java (getOutputConsumer): Check for AbstractFormat
  1515. instead of removed FormatToConsumer.
  1516. (run): Likewise update types.
  1517. * kawa/standard/Scheme.java (writeFormat, displayFormat): Change type.
  1518. (getFormat): Change return type to AbstractFormat.
  1519. * kawa/standard/Scheme.java: Redefine write and display as functions
  1520. in kawa.lib.ports, since DisplayForm no longer extends Procedure.
  1521. For same reason, don't call setname on writeFormat and displayFormat.
  1522. 2005-05-27 Christian Surlykke <christian@surlykke.dk>
  1523. * build.xml: Make mappers insider uptodate elements take build.dir
  1524. property into account.
  1525. * build.properties: Use basedir in template for build.dir property.
  1526. 2005-06-02 Per Bothner <per@bothner.com>
  1527. Handle re-exporting declarations imported from a module.
  1528. * kawa/lang/Macro.java (getCapturedScope): Use new findFromInstance
  1529. method from ModuleInfo.
  1530. * kawa/lang/TemplateScope.java (macroContext): New field.
  1531. * kawa/lang/SyntaxTemplate.java (execute): Set TemplateScope's
  1532. macroContext field from Translator's macroContext field.
  1533. * kawa/lang/Translator.java (macroContext): New field.
  1534. (getBinding): Inline into check_if_Syntax and remove.
  1535. (check_if_Syntax): Simplify and change to only lookup lexical
  1536. declaration. However, also set macroContext.
  1537. (rewrite_pair, scanForm): Use new check_if_Syntax.
  1538. (rewrite): If scope is TemplateScope, set context of ReferenceExp
  1539. from macroContext, if needed.
  1540. * kawa/standard/require.java (importDefinitions): Change parameter.
  1541. Don't search up super chain. Use new ModuleInfo.setupModuleExp,
  1542. and then iterate over resulting decls, rather than over fields.
  1543. Silently skip if we duplicate existing decl with same alias base.
  1544. Don't do makeDeclInModule2 in second pass since already done
  1545. by setupModuleExp. However, search for suitable xxx$instance
  1546. declaration.
  1547. (makeModule): Remove unused method.
  1548. (makeDeclInModule1, makeDeclInModule1): Move to ModuleInfo.
  1549. * kawa/standard/define.java (scanForm): Push/pop source location
  1550. around define call for better error messages.
  1551. 2005-05-29 Per Bothner <per@bothner.com>
  1552. * kawa/lang/Lambda.java (rewriteBody): If not STATIC_SPECIFIC for class
  1553. method then add the implicit this parameter.
  1554. * kawa/standard/thisRef.java (rewriteForm): Look for implicit this
  1555. parameter.
  1556. * kawa/standard/object.java: Rewrite handling of init forms, since
  1557. we want them to be in the scope of the init methods. One reason is
  1558. so we can bindg (this) to the implicit thuis parameter,
  1559. (rewriteInit): New private method.
  1560. (makeInitMethod): Remove method.
  1561. This fixes Savannah bug #10806.
  1562. 2005-05-27 Per Bothner <per@bothner.com>
  1563. * kawa/standard/load.java (loadSource): "Inline" call to CompileFile's
  1564. read method, and set PARSE_IMMEDIATE flag.
  1565. 2005-05-27 Dean Ferreyra <dferreyra@igc.org>
  1566. * kawa/lang/Eval.java (evalBody): Need to set immediate flag.
  1567. 2005-05-27 Per Bothner <per@bothner.com>
  1568. * kawa/standard/require.java (importDefinitions): Simplify immediate
  1569. mode to share more logic with non-immediate mode.
  1570. * kawa/standard/require.java (makeDeclInModule2): Don't
  1571. setCapturedScope; it's wrong and may trash correct scope
  1572. set in makeDeclInModule1.
  1573. * kawa/standard/define_syntax.java (scanForm): We can now simplify
  1574. the immediate and static cases to match the normal case.
  1575. * kawa/standard/require.java (importDefinitions): Cast getRunInstance
  1576. result to void, to avoid it being in the expression result.
  1577. 2005-05-19 Per Bothner <per@bothner.com>
  1578. * kawa/lang/Lambda.java (rewriteBody): Split up call to Compilation's
  1579. push method into pieces and interleave them with default argument
  1580. rewrite, so the latter are done using the correct scope.
  1581. Fixes Savannah bug #10613.
  1582. 2005-05-18 Per Bothner <per@bothner.com>
  1583. * Makefile.am (select-java1, select-java2, select-java4, select-java4x,
  1584. select-java5): Define new PreProcess key use:java.lang.CharSequence.
  1585. * kawa/lang/Quote.java: Use use:java.util.IdentityHashMap, instead of
  1586. JAVA2 - which was wrong since IdentityHashMap is new in JDK 1.4.
  1587. * kawa/lang/SyntaxTemplate.java: Likewise.
  1588. * kawa/standard/syntax.java: Likewise.
  1589. 2005-05-18 Per Bothner <per@bothner.com>
  1590. * kawa/TelnetRepl.java (serve): Get current Environment directly.
  1591. * kawa/lang/AutoloadProcedure.java (load): Use new getLangEnvironment.
  1592. 2005-05-17 Per Bothner <per@bothner.com>
  1593. * kawa/standard/fluid_let.java (rewrite): Look for lexical binding.
  1594. 2005-05-13 Per Bothner <per@bothner.com>
  1595. * kawa/lang/Quote.java (expand_pair): Rewrite to avoid deep recursion
  1596. (and possible StackOverflow) on long lists.
  1597. 2005-05-10 Per Bothner <per@bothner.com>
  1598. * kawa/lang/Translator.java (rewrite): Don't follow FieldLocation
  1599. if not inlineOk as that may fail compiling a lambda context.
  1600. 2005-05-06 Per Bothner <per@bothner.com>
  1601. * kawa/GuiConsole.java: Some updates for changed environment handling.
  1602. * kawa/Shell.java (run): Remove one overloaded method.
  1603. * kawa/repl.java (processArgs): Update accordingly.
  1604. * kawa/lang/Eval.java(evalBody): Don't change current Environment.
  1605. * kawa/lang/Translator.java (<init>): Use current Environment for env.
  1606. * kawa/standard/Scheme.java (getNewEnvironment): Remove method.
  1607. (<clinit>): Don't getNewEnvironment.
  1608. (lookupBuiltin): New method, based on code from ScmEnv.
  1609. * kawa/standard/ScmEnv.java: No longer needed - functionality
  1610. merged into Scheme's lookupBuiltin.
  1611. * kawa/standard/Makefile.am: Update accordingly.
  1612. * kawa/MessageArea.java (write): Do setCaretPosition.
  1613. 2005-04-21 Per Bothner <per@bothner.com>
  1614. * kawa/standard/require.java: Use new contextDecl/setContextDecl
  1615. accessors instead of accessing context field directly.
  1616. 2005-04-20 Per Bothner <per@bothner.com>
  1617. Solidify support for re-exporting imported declarations.
  1618. * kawa/lang/Translator.java (processAccesses): If decl is refernced
  1619. by an exported macro, than it must be non-simple.
  1620. * kawa/standard/require.java (importDefinitions): Recognize and
  1621. create declarations for MODULE_REFERENCEs.
  1622. (makeDeclInModule): Split into ...
  1623. (makeDeclInModule1, makeDeclInModule2): ... two new methods.
  1624. * kawa/standard/require.java (scanForDefinitions): Use matches
  1625. method of Translator to check for 'NAME.
  1626. 2005-04-19 Per Bothner <per@bothner.com>
  1627. * NEWS: Resurrect, since required by GNU/automake standards,
  1628. but (at least for now) only a reference to the news.html web-page.
  1629. 2005-04-18 Per Bothner <per@bothner.com>
  1630. * Makefile.am: Split JAVA4 PreProcess name into two features:
  1631. use:java.lang.CharSequence and use:java.lang.Throwable.getCause.
  1632. * Make-rules ($(OFILES_DIR)/$(PACKAGE_FNAME).lo: Instead of -I flags,
  1633. use $(CLASSPATH_ENV).
  1634. * kawa/standard/syntax.java (convert): Syntax fix for not-JAVA2.
  1635. 2005-04-17 Per Bothner <per@bothner.com>
  1636. * configure.in (configure.in): Support --with-java-source=4 and 4x.
  1637. The default is now --with-java-source=4.
  1638. Make -with-awt the default, even if --with-gcj.
  1639. * Makefile.am (select-java4, select-java4x): New rules.
  1640. (select-java-source): Handle '4' and '4x'.
  1641. * Makefile.am (JEMACS_SUBDIRS): List gnu/jemacs subdirs rather than
  1642. gnu/jemacs. Move stuff from gnu/jemacs/Makefile.am.
  1643. * configure.in (AC_CONFIF_FILES): Remove gnu/jemacs/Makefile.
  1644. 2005-04-16 Per Bothner <per@bothner.com>
  1645. * NEWS: Remove file; replaced by html web-page
  1646. http://www.gnu.org/software/kawa/news.html.
  1647. * Makefile.am (instanll-html), README: Update accordingly.
  1648. 2005-04-08 Per Bothner <per@bothner.com>
  1649. * kawa/standard/export.java (scanForDefinitions): Translate
  1650. 'namespace:NAME' to '$Namespace$NAME'.
  1651. 2005-04-04 Per Bothner <per@bothner.com>
  1652. * Makefile.am (javadoc-cvs.log): New rule for updating javadoc.
  1653. 2005-04-03 Per Bothner <per@bothner.com>
  1654. * Makefile.am (JAVADOC_PACKAGES): Add a number of new packages.
  1655. (JAVADOC_FLAGS): Update - we use more memory, at least on jdk 1.4.
  1656. (install-javadoc-html): Add extra jars to CLASSPATH, for newpackages -
  1657. Eclipse, ant, and servlets.
  1658. * kawa/MessageArea.java: Fix javadoc problem.
  1659. * kawa/package.html: New file, for javadoc.
  1660. * kawa/lang/package.html: Likewise.
  1661. * kawa/standard/package.html: Likewise.
  1662. * kawa/lang/SyntaxForm.java: Fix javadoc errors.
  1663. * kawa/lang/SyntaxTemplate.java: Likewise.
  1664. 2005-04-02 Per Bothner <per@bothner.com>
  1665. * kawa/standard/require.java (featureMap): Add 'srfi-64,'testing.
  1666. * kawa/lang/Eval.java (evalBody): Save/set/restore current Compilation.
  1667. * kawa/lang/Eval.java (eval): New static field.
  1668. * kawa/standard/Scheme.java (repl): New static field.
  1669. (initScheme): Use defProcStFld for 'eval' and 'repl'.
  1670. 2005-03-31 Dean Ferreyra <dferreyra@igc.org>
  1671. Per Bothner <per@bothner.com>
  1672. * kawa/standard/module_static.java: Recognize (module-static 'init-run).
  1673. 2005-03-29 Per Bothner <per@bothner.com>
  1674. * kawa/lang/Translator.java (scanForm): Don't need set save/set/restore
  1675. current Compilation, since it's now done in LispLangauge.parse.
  1676. * kawa/standard/require.java (makeModule): Get current Language
  1677. directly, rather than via current Compilation.
  1678. (makeDeclInModule): Handle non-static FieldLocation alias; now
  1679. works since getDeclaration creates context. Use vdecl, not fdecl.
  1680. Only setDontDereference if referenced field is indirect.
  1681. Set constant flag if appropriate.
  1682. * kawa/standard/Scheme.java (builtin): Remove pointless synchronized.
  1683. 2005-03-28 Per Bothner <per@bothner.com>
  1684. * kawa/standard/Scheme.java: Initalize various static fields,
  1685. including 'instance', in a static block, so they can be final.
  1686. (initScheme): Make private. Remove unused proc and syn variable.
  1687. (nullEnvironment): Initialize in <clinit>, rather than initScheme.
  1688. * kawa/GuiConsole.java (main): Update to use Scheme.getInstance().
  1689. 2005-03-25 Per Bothner <per@bothner.com>
  1690. * kawa/standard/require.java (find): No longer do 'run'.
  1691. (importDefinitions): SET EARLY_INIT on both instance and alias decls.
  1692. No longer set DEFER_DECL_BASE.
  1693. We now find/create the module instance at initialization time, but
  1694. 'find' no longer does 'run', so emit coe to call 'run'.
  1695. (makeDeclInModule): If value is FieldLocation, do getDeclaration.
  1696. This re-fixes Savannah bug #11822.
  1697. 2005-03-23 Per Bothner <per@bothner.com>
  1698. * kawa/standard/sleep.java: Now no longer extends Procedure1.
  1699. (apply1): Renamed to static function sleep.
  1700. * kawa/standard/with_input_from_file.java: Remove; rewritten in Scheme.
  1701. * kawa/standard/with_output_to_file.java: Likewise.
  1702. * kawa/standard/Makefile.am (java_sources): Update accordingly.
  1703. * kawa/standard/Scheme.java: Update appropriately.
  1704. Fix some defProcStFld that should be defSntxStFld.
  1705. 2005-03-22 Per Bothner <per@bothner.com>
  1706. * kawa/standard/Scheme.java (writeFormat, displayFormat): Do setName.
  1707. 2005-03-20 Per Bothner <per@bothner.com>
  1708. * kawa/standard/Scheme.java (define_syntax): Remove - no longer used.
  1709. * kawa/standard/define_autoload.java) <init>: Pass Syntax name in.
  1710. (define_autoload, define_autoloads_from_file): New static fields.
  1711. * kawa/standard/export.java (module_export): Likewise.
  1712. * kawa/standard/module_compile_options.java
  1713. (module_compile_options): Likewise.
  1714. * kawa/standard/module_extends.java (module_extends): Likewise.
  1715. * kawa/standard/module_implements.java (module_implements): Likewise.
  1716. * kawa/standard/module_name.java (module_name): Likewise.
  1717. * kawa/standard/module_static.java (module_static): Likewise.
  1718. * kawa/standard/syntax_error.java (syntax_error); Likewise.
  1719. * kawa/standard/with_compile_options.java (with_compile_options):
  1720. Likewise.
  1721. * kawa/standard/Scheme.java: Change define_syntax -> defSntxStFld.
  1722. * kawa/standard/define_class.java: New constructor.
  1723. (define_class, define_simple_class): New static "instance" fields.
  1724. * kawa/standard/constant_fold.java (constant_fold): Likewise.
  1725. * kawa/standard/fluid_let.java (fluid_let): Likewise.
  1726. * kawa/standard/object.java (objetSyntax): Likewise.
  1727. * kawa/standard/define_unit.java (define_unit, define_base_unit):
  1728. Likewis.
  1729. * kawa/standard/prim_method.java (virtual_method, static_method,
  1730. interface_method, constructor, op1): Likewise.
  1731. * kawa/standard/Scheme.java: Update to use defSntxStFld.
  1732. * kawa/standard/begin.java (begin): New static "instance" field.
  1733. * kawa/standard/define.java (defineRaw): Likewise.
  1734. * kawa/standard/define_alias.java (define_alias): Likewise.
  1735. * kawa/standard/define_member_alias.java (define_member_alias):
  1736. Likewise.
  1737. * kawa/standard/define_syntax.java (define_macro, define_syntax):
  1738. Likewise.
  1739. * kawa/standard/define_variable.java (define_variable): Likewise.
  1740. * kawa/standard/let_syntax.java (let_syntax, letrec_syntax): Likewise.
  1741. * kawa/standard/location.java (location): Likewise.
  1742. * kawa/standard/require.java (require): Likewise.
  1743. * kawa/standard/set_b.java (set): Likewise.
  1744. * kawa/standard/syntax.java (syntax): Likewise.
  1745. * kawa/standard/syntax_case.java (syntax_case):: Likewise.
  1746. * kawa/standard/syntax_rules.java (syntax_rules): Likewise.
  1747. * kawa/standard/Scheme.java: Use new static instances to replace some
  1748. define/define_syntax calls by defSntxStFld.
  1749. 2005-03-18 Per Bothner <per@bothner.com>
  1750. * build.xml: Pass --module-static-run instead of --module-static.
  1751. Compile kawa/lib/*.scm in proper order, adding prim_syntax.scm,
  1752. and --warn-undefined-variable.
  1753. * kawa/standard/Scheme.java (lambda): New static field.
  1754. * kawa/standard/try_catch.java (rewrite): Rewritw catch-clause first
  1755. to LambdaExp, rather than LetExp, before converting to CatchClause.
  1756. Fixes Savannah bug #11540.
  1757. 2005-03-17 Per Bothner <per@bothner.com>
  1758. * ltmain.sh: New version of cvs libtool (2.1a).
  1759. * Make-rules (scm-classes.stamp): Use --module-static-run
  1760. instead of --module-static.
  1761. * aclocal.m4, configure, */Makefile.in: Re-geneate.
  1762. * kawa/repl.java (processArgs): Don't setDefaultLanguage until
  1763. default Environment has been set.
  1764. 2005-03-16 Per Bothner <per@bothner.com>
  1765. * kawa/repl.java (previousLanguage): New static field.
  1766. (getLanguageFromFilenameExtension, getLanguage, processArgs): Use
  1767. previousLanguage to avoiding calling Language.getDefaultLanguage
  1768. before that is working.
  1769. * kawa/standard/Scheme.java (createReadTable): New method.
  1770. * kawa/standard/Scheme.java <init>): Don't setDefaultLanguage here.
  1771. 2005-03-16 Per Bothner <per@bothner.com>
  1772. * kawa/repl.java (processArgs): Handle new --module-static-run flag.
  1773. * kawa/standard/require.java (importDefinitions): Skip fields whose
  1774. name ends in "$instance" - except to optimize 'dofind'.
  1775. 2005-03-11 Per Bothner <per@bothner.com>
  1776. * kawa/standard/require.java (importDefinitions): Don't set alias's
  1777. type to typeFieldLocation, since getType should be post-indirection.
  1778. (makeDeclInModule): Likewise, if field is a Location, decl type
  1779. is Object. not a Location.
  1780. 2005-03-07 Per Bothner <per@bothner.com>
  1781. * kawa/standard/Scheme.java: Update package of DefineNamespace.
  1782. * kawa/standard/read_line.java (apply2): Update WrongType call.
  1783. 2005-03-06 Per Bothner <per@bothner.com>
  1784. * ltmain.sh: New from CVS (patched) libtool 2.1a.
  1785. * acinclude.m4, libtool.m4: Removed.
  1786. * Makefile.am (EXTRA_DIST): Remove libtool.m4.
  1787. * Makefile.in, configure, aclocal.m4: Re-generated.
  1788. * configure.in: Updat AC_PROG_LIBTOOL to LT_INIT.
  1789. * missing: New version from automake-1.9.
  1790. * */Makefile.in: Re-generated.
  1791. 2005-03-04 Per Bothner <per@bothner.com>
  1792. * kawa/repl.java: Update Interpreter->Language various places.
  1793. * kawa/Shell.java: Likewise.
  1794. * kawa/GuiConsole.java: Likewise.
  1795. * kawa/TelnetRepl.java: Likewise.
  1796. * kawa/lang/Lambda.java: Likewise.
  1797. * kawa/lang/AutoloadProcedure.java: Likewise.
  1798. * kawa/lang/CompileFile.java: Likewise.
  1799. * kawa/standard/Scheme.java: Likewise.
  1800. * kawa/standard/define_autoload.java: Likewise.
  1801. * kawa/standard/define_syntax.java: Likewise.
  1802. * kawa/standard/load.java: Likewise.
  1803. * kawa/standard/not.java: Likewise.
  1804. * kawa/standard/require.java: Likewise.
  1805. * kawa/standard/syntax.java: Likewise.
  1806. * kawa/standard/require.java (importDefinitions): Change to use
  1807. FieldLocation. Better handling of non-static modules and re-export.
  1808. Don't set 'base' of fdecl (since it might be shared); instead create
  1809. a ReferenceExp alias with a 'context'.
  1810. (makeDeclInModule): Various tweaks.
  1811. * kawa/lang/Translator.java (rewrite): Use FieldLocation.
  1812. 2005-03-03 Per Bothner <per@bothner.com>
  1813. * kawa/standard/Scheme.java (kawaEnvironment): More precise type.
  1814. * kawa/standard/ScmEnv.java (<init>): Parameter is SimpleEnvironment,
  1815. to match superclass parameter.
  1816. * kawa/standard/Scheme.java: Remove definition of 'emacs' fnction - it
  1817. doesn't work for Scheme, and causes order-dependency awkwardness when
  1818. compiling CommonLisp/ELisp.
  1819. * Makefile.am (SUBDIR): Some re-ordering to reduce dependencies.
  1820. Specifically, jemacs and commonlisp import scheme functions, including
  1821. ones in gnu.kawa.slib, so we sant to compile them later.
  1822. * kawa/standard/Scheme.java: Function 'children' has been moved.
  1823. 2005-02-24 Per Bothner <per@bothner.com>
  1824. * kawa/standard/Scheme.java registerEnvironment):
  1825. Use new setDefaults method.
  1826. * kawa/repl.java (getInterpreterFromFilenameExtension): Change return
  1827. type and name to getLanguageFromFilenameExtension.
  1828. (getInterpreter): Also change return type and rename to getLanguage.
  1829. 2005-02-23 Per Bothner <per@bothner.com>
  1830. * kawa/lang/Quote.java: Add an option to not namespace-expand.
  1831. (quote): Add overload. Change to not namespace-expand.
  1832. * kawa/lang/Macro.java (expand): If ! hygienic, use Quote.quote to
  1833. in-depth remove SyntaxForm, rather than only doing it shallowly.
  1834. * kawa/lang/Translator.java (namespaceResolve): Only coerce String,
  1835. FString, and Symbol with empty emptyspace to namespace uri.
  1836. Specifically, don't coerce a <ClassType> at this point.
  1837. 2005-02-20 Per Bothner <per@bothner.com>
  1838. * kawa/lang/Lambda.java (rewrite(LambdaExp,Object,Translator): Rename
  1839. to rewriteFormals, and add TemplateScope parameter.
  1840. Make type of local templateScope more precise.
  1841. (rewrite(LambdaExp,Object,Object,Translator,TemplateScope)): New.
  1842. * kawa/standard/define.java (scanForm): Update rewrite->rewriteFormals.
  1843. * kawa/lang/SyntaxForm.java (scope): Make type of field more precise.
  1844. (<init>): Make private.
  1845. (makeWithTemplate): Return argument if we don't have a SyntaxForm.
  1846. * kawa/lang/SyntaxTemplate.java (execute, executeToList): Make
  1847. templateScope parameter more precise.
  1848. * kawa/standard/let.java (rewrite): Likewise for templateScope local.
  1849. * kawa/standard/object.java (scanClassDef): Simplify - we don't need
  1850. to remember template scopes here.
  1851. (rewriteClassDef): See added comment.
  1852. * kawa/standard/location.java (makeProcLocation$V): Can now simplify
  1853. if proc is a LocationProc.
  1854. * kawa/standard/require.java (importDefinitions): Remove duplicate
  1855. setAlias and setIndirectBinding calls.
  1856. 2005-02-17 Per Bothner <per@bothner.com>
  1857. * kawa/lang/Translator.java (makeAlias, makeRenamedAlias): Merge former
  1858. into latter. Set setDontDereference flag.
  1859. (define): Use modified makeRenamedAlias.
  1860. 2005-02-16 Per Bothner <per@bothner.com>
  1861. * kawa/standard/object.java (rewriteClassDef): If an input sub-form
  1862. is a SyntaxForm remember that, and use it to setCurrentScope.
  1863. Fixes Savannah PR 11822.
  1864. (rewriteClassDef): Also use SyntaxForm to rewrite init forms.
  1865. (scanClassDef): Fix some bugs in handling of init forms.
  1866. * kawa/standard/define_class.java (scanForDefinitions): Handle the
  1867. case that the input form is wrapped in a SyntaxForm.
  1868. 2005-02-15 Per Bothner <per@bothner.com>
  1869. Use ModuleInfo to make sure 'run' is only done once, even if immediate.
  1870. * kawa/standard/requier.java (find(String)): Use ModuleInfo.find.
  1871. (find(ClassType, Environment), find(Class, Environment)): Remove.
  1872. (importDefinitions): If instance is needed, manage it with ModuleInfo.
  1873. If run is needed in immediate mode, use ModuleInfo's getRunInstance
  1874. so run gets run only once, and at run-time, not compile-time.
  1875. 2005-02-12 Per Bothner <per@bothner.com>
  1876. * kawa/lang/Macro.java (expand): Add extra test since Expression
  1877. now extends Procedure.
  1878. * kawa/standard/define.java (scanForm): Use setSymbol since
  1879. setName(Object) was removed from LambdaExp.
  1880. * kawa/standard/object.java (scanClassDef): Likewise.
  1881. * kawa/standard/Scheme.java: Declare 'make-parameter' and
  1882. 'parameterize' from SRFI-39.
  1883. * kawa/standard/location.java (class LocationProc): Moved class to
  1884. new file gnu/mapping/LocationProc.java.
  1885. * kawa/standard/define.java: Use different SetExp constructor,
  1886. to avoid setting the 'binding' field, which will become private.
  1887. * kawa/standard/define_class.java: Likewise.
  1888. * kawa/standard/define_unit.java: Likewise.
  1889. * kawa/standard/object.java: Likewise.
  1890. * kawa/standard/define_variable.java: Use SetExp's setBinding method.
  1891. * kawa/standard/set_b.java: Likewise.
  1892. 2005-02-07 Per Bothner <per@bothner.com>
  1893. * build.xml: Also compile srfi37.scm. Compile DefineRecordType.scm
  1894. before srfi37.scm, which makes use of define-record-type.
  1895. * kawa/lang/Translator.java (namespaceResolve): If Uri is bound to
  1896. a constant ClassType create a ClassMethodProc.
  1897. Fixes the second test-case for Savannah bug #11822.
  1898. * kawa/standard/Scheme.java: Change class-methods to use defProcStFld.
  1899. * kawa/standard/require.java (makeDeclInModule): Set value to
  1900. reference to appropriate Declaration if StaticFieldLocation.
  1901. Fixes Savannah bug #11822 - but only for macros in static modules.
  1902. * kawa/standard/require.java (find(String)): Move 'run' call to ...
  1903. (find(Class, Environment)): ... here to also do run at compile-time.
  1904. 2005-01-31 Per Bothner <per@bothner.com>
  1905. * kawa/lang/Translator.java (namespaceResolve): Treat unbound
  1906. identifier <name> as equivalent to "class:name".
  1907. 2005-01-30 Per Bothner <per@bothner.com>
  1908. * kawa/lang/CompileFile.java (compile_to_files): Don't generate
  1909. error message - that's handled in Compilation.compile.
  1910. * Shell.java (run): Print messages in all catch clauses.
  1911. 2005-01-29 Per Bothner <per@bothner.com>
  1912. * kawa/standard/require.java (featureMap): Add srfi-37 and args-fold.
  1913. * kawa/standard/ScmEnv.java (lookupExtend): Inline call to
  1914. ClassMethods.apply, but don't throw an Exception.
  1915. * kawa/lang/Quote.java: Rename LispInterpreter -> LispLanguage.
  1916. * kawa/lang/Translator.java: Likewise.
  1917. * kawa/standard/Scheme.java: Likewise. Extend LispLanguage.
  1918. 2005-01-28 Per Bothner <per@bothner.com>
  1919. * Makefile.am (patch-source-list): Sort the result, for stability.
  1920. 2005-01-26 Per Bothner <per@bothner.com>
  1921. * kawa/standard/with_compile_options.java (scanForm): Put back a
  1922. statement that should not have been deleted in 01-22 change.
  1923. 2005-01-25 Per Bothner <per@bothner.com>
  1924. * kawa/lang/Translator.java: Update Interpreter -> Language.
  1925. * kawa/lang/Eval.java: Likewise.
  1926. 2005-01-22 Per Bothner <per@bothner.com>
  1927. * kawa/lang/Translator.java (scanBody): New parameter makeList, to
  1928. specify whether we return a list or push result on formStack.
  1929. (rewrite_body): Fix scanBody call.
  1930. (makeBody): Revert 01-12 change because it breaks top-level.
  1931. * kawa/standard/begin.java (scanForm): Use tr.scanForm option to
  1932. create a list, and return a scanned for for later rewrite.
  1933. Alternative fix to problem fixed by 01-12 change.
  1934. * kawa/lang/Eval.java (evalBody): Update scanForm call.
  1935. * kawa/standard/with_compile_options.java (scanForm): Update calls to
  1936. tr.scanForm. Let Translator create list rather than doing it here.
  1937. * kawa/standard/Scheme.java (scheme_counter): Remove static field.
  1938. (getNewEnvironment): Use inherited env_counter instead.
  1939. * configure.in: Make AC_PROG_LIBTOOL unconditional, since needed
  1940. for bin/cgi-servlet.
  1941. 2005-01-18 C. Brian Jones <cbj@gnu.org>
  1942. * configure.in: Added BYTECODE_VERSION.
  1943. [Per: changed to be the same as VERSION]
  1944. * Makefile.am: Added targets for bytecode.jar, install-bytecode-jar.
  1945. * gnu/bytecode/jar-manifest: New file.
  1946. 2005-01-16 Per Bothner <per@bothner.com>
  1947. * kawa/standard/require.java (makeDeclInModule): Clear the value
  1948. of the imported decl if it isn't constant.
  1949. 2005-01-12 Per Bothner <per@bothner.com>
  1950. * kawa/lang/Translator.java (namespaceResolve(String)): Don't look
  1951. for class matching prefix here.
  1952. (namespaceResolve(String,boolean)): If JAVA2, look for class matching
  1953. prefix without initializing the class.
  1954. * kawa/lang/Translator.java (makeBody): Don't make AppendValues call
  1955. here since it causes Scheme begin at top-level to mis-behave.
  1956. 2005-01-10 Per Bothner <per@bothner.com>
  1957. * config.guess: Update to newer version, from libtool 1.5.10.
  1958. * config.sub: Likewise.
  1959. * ltmain.sh: Update to libtool 1.5.10.
  1960. * configure.in: More little fixes and updates.
  1961. * configure.in: Ran autoupdate over file to update to current autoconf
  1962. syntax, followed by some manual fixups of AC_CONFIG_LINK.
  1963. * Makefile.am (select-java1, select-java2, select-java5): Fix sed
  1964. pattern to work with BSD sed (as on OS X) as well as GNU sed.
  1965. 2005-01-08 Per Bothner <per@bothner.com>
  1966. * build.xml (build-tools): Also compile gnu/kawa/util/PreProcess.java.
  1967. (select-java1, select-java2, select-java5): Rewrite to use PreProcess.
  1968. * kawa/lang/Macro.java (setExpander): Remove unused field.
  1969. * kawa/standard/define_syntax.java (setExpanderMethod): Likewise.
  1970. * kawa/standard/define_syntax.java (makeHygienic, makeNonHygienic):
  1971. New Procedure fields replace makeMethod, makeNonHygienicMethod.
  1972. (scanForm): New new fields.
  1973. * kawa/standard/define_syntax.java (scanForm): Use new ThisExp
  1974. factory method makeGivingContext so we can eval this ApplyExp
  1975. in the current Compilation. This fixes Savannah bug #11508.
  1976. * kawa/standard/require.java (importDefinitions): If immediate
  1977. note the instance value as a constant. Don't compile a dofind call.
  1978. 2005-01-07 Per Bothner <per@bothner.com>
  1979. * Makefile.am (patch-source-list): Filter with sed out initial "./".
  1980. (select-java1, select-java2, select-java5): Use new PreProcess class.
  1981. * build.xml: Add support for #ifndef JAVA5.
  1982. * kawa/lang/Macro.java: Remove unneeded imports.
  1983. * kawa/lang/CompileFile.java: Likewise.
  1984. * kawa/lang/SyntaxTemplate.java: Likewise.
  1985. * kawa/lang/Translator.java: Likewise.
  1986. * kawa/standard/syntax_case.java: Likewise.
  1987. * kawa/lang/Lambda.java: Reference static method using class name,
  1988. to avoid ecj warning.
  1989. * kawa/lang/Quote.java: Likewise.
  1990. 2005-01-03 Per Bothner <per@bothner.com>
  1991. * kawa/lang/SyntaxPattern.java (translate): Pass correct SyntaxForm.
  1992. (literalIdentifierEq): Finish implementation.
  1993. * kawa/lang/SyntaxRules.java (expand): Recover robustly if there
  1994. was an error defining the macro.
  1995. * kawa/lang/Translator.java (makeAlias, makeRenamedAlias): Some
  1996. code moving to reduce duplication..
  1997. 2005-01-02 Per Bothner <per@bothner.com>
  1998. * Makefile.am (JAVATOP): Remove unused macro.
  1999. * Makefile.am: Update "select" rules to use new "preprocessor" syntax.
  2000. * build.xml: Likewise.
  2001. * kawa/lang/Quote.java, kawa/lang/SyntaxTemplate.java,
  2002. kawa/standard/syntax.java: Change "select" (preprocessor) syntax.
  2003. 2004-12-29 Per Bothner <per@bothner.com>
  2004. * kawa/standard/require.java (importDefinitions): Avoid some
  2005. needless work in immediate mode.
  2006. 2004-12-27 Per Bothner <per@bothner.com>
  2007. * kawa/standard/define_syntax.java (scanForm): Use new isStatic().
  2008. * Makefile.am (SUBDIRS): "Inline" SUBDIRS from gnu and gnu/kawa.
  2009. (install-html): Don't do into now Makefile-free gnu directory.
  2010. * configure.in (AC_OUTPUT): Update accordingly.
  2011. 2004-12-26 Per Bothner <per@bothner.com>
  2012. * kawa/lang/SyntaxPattern.java (literalIdentifierEq,
  2013. getLiteralsList): New static methods.
  2014. (translate): Use literalIdentifierEq.
  2015. * kawa/standard/syntax_rules.java: (rewriteForm): Use new
  2016. SyntaxPattern.getLiteralsList method.
  2017. * kawa/standard/syntax_case.java: (rewriteForm): Likewise.
  2018. * kawa/lang/SyntaxRule.java (<init>): Take extra SyntaxForm parameter.
  2019. * kawa/lang/SyntaxTemplate.java: Likewise.
  2020. (convert_template): Pass extra SyntaxForm parameter.
  2021. * kawa/standard/syntax.java: Fix to pass null SyntaxForm.
  2022. * kawa/standard/define_syntax.java (scanForDefinitions): Replace by ...
  2023. (scanForm): New method. Fix lacking handling of SyntaxForm.
  2024. * kawa/lang/SyntaxRules.java (<init>): Likewise.
  2025. 2004-12-24 Per Bothner <per@bothner.com>
  2026. * kawa/standard/Scheme.java: New syntax "include-relative".
  2027. The "include" syntax was moved.
  2028. * kawa/lang/SyntaxForm.java (makeWithTemplate): New static function.
  2029. * kawa/lang/SyntaxPattern.java (allocVars): New helper method.
  2030. * kawa/lang/Translator.java (matchArray): New field, moved
  2031. here from syntax_case.work.
  2032. * kawa/standard/syntax_case.java: Fix bugs when nested syntax-cases.
  2033. * kawa/standard/Scheme.java; Define "include", "syntax-object->datum",
  2034. "datum->syntax-object", "with-syntax".
  2035. 2004-12-23 Per Bothner <per@bothner.com>
  2036. * kawa/lang/Translator.java (setLineOf): Do nothing if QuoteExp.
  2037. 2004-12-22 Per Bothner <per@bothner.com>
  2038. * Makefile.am: Partially convert pre-processor syntax, for JAXP
  2039. version selection: use #ifdef, #ifndef, #else. Updates rules.
  2040. * build.xml: Update select-java1, select-java2, select-java5.
  2041. * kawa/lang/SyntaxTemplate.java: Fix comment syntax so it doesn't
  2042. break under 'make select-java1' -> 'make select-java2'.
  2043. * kawa/lang/Translator.java (syntaxError): Moved to Compilation.
  2044. * kawa/standard/Scheme.java: Update classes for 'make-element' and
  2045. 'make-attribute'.
  2046. 2004-12-20 Per Bothner <per@bothner.com>
  2047. * kawa/lang/Translator.java (rewrite): "Filter" through Quote.quote.
  2048. * kawa/lang/Quote.java: Merge with quasiquote.java to handle both
  2049. quasiquote and regular quote. Check for cycles.
  2050. * kawa/standard.Scheme (initScheme): Update 'quote' and 'quasiquote'.
  2051. * kawa/lang/Translator.java (selfEvauatingSymbol): New method.
  2052. (matches, getBinding, rewrite_pair, rewrite): Use new method.
  2053. * kawa/standard/quasiquote.java: Remove no-longer-used class.
  2054. * kawa/standard/Makefile.am: Update accordingly.
  2055. 2004-12-19 Per Bothner <per@bothner.com>
  2056. * kawa/lang/SyntaxTemplate.java: New handling of ellipsis,
  2057. needed to correctly process forms like (template ... ...).
  2058. (BUILD_REPEAT): Remove constant.
  2059. (BUILD_DOTS): New constant.
  2060. (print_template_program, convert_template): Update accordingly.
  2061. (execute_car): Gnerealize to executeToList. Handle BUILD_DOTS.
  2062. * kawa/lang/SyntaxTemplate.java (convert_template): Extra isVector
  2063. paremater, since argument to BUILD_VECTOR must be true list.
  2064. * kawa/lang/SyntaxTemplate.java (convert_template): Check for cycles.
  2065. * kawa/lang/SyntaxPattern.java (match): Add optional debug output.
  2066. * kawa/standard/Scheme.java (initScheme): Define 'case-lambda'.
  2067. 2004-12-18 Per Bothner <per@bothner.com>
  2068. * kawa/lang/SyntaxRules.java (<init>): Allow an empty list in
  2069. syntax-rules, since R%RS does.
  2070. * kawa/lang/SyntaxTemplate.java (BUILD_VECTOR): Simplify implemenation.
  2071. (BUILD_VEC_REPEAT): Remove non-longer-used constant.
  2072. (print_template_program): Update accordingly.
  2073. (convert_template, execute): Vector handling is now trivial.
  2074. 2004-12-08 Per Bothner <per@bothner.com>
  2075. * kawa/repl.java: Update for new Environment handling.
  2076. * kawa/lang/AutoloadProcedure.java (load): No longer handle autoload
  2077. of ModuleBody.
  2078. * kawa/lang/AutoloadSyntax.java: Likewise.
  2079. * kawa/standard/load.java: Small updates.
  2080. * kawa/standard/location.java: Update for changed ProcLocation.
  2081. * kawa/standard/require.java: Rewrite for new Environment handling.
  2082. * kawa/standard/fluid_let.java: Don't set type, since it's no
  2083. longer a typeFluidBinding, but an indirect binding.
  2084. Clear noted value, since it may be changed unpredictably.
  2085. * kawa/standard/Scheme.java (defSntxStFld): Removed - now redundant.
  2086. (initScheme): Update. Use defSntStFld many places.
  2087. * kawa/standard/ScmEnv.java: No longer search "extra" Environments.
  2088. (extra, numExtras): Removed fields.
  2089. (addExtra, get): Removed method.
  2090. (lookupExtend): New method.
  2091. (ScmEnvConstraint): Remove local class.
  2092. * kawa/standard/TracedProcedure.java: Use new Location handling.
  2093. * kawa/standard/define.java (scanForm): Use new Translator.define.
  2094. * kawa/standard/define_alias.java: Set line number.
  2095. * kawa/standard/define_autoload.java: Remove the unused ability to
  2096. specify an autoload type.
  2097. * kawa/lang/Macro.java: Handle hygiene even without (require).
  2098. (getCapturedScope, setCapturedScope, makeNonHygienic): New methods.
  2099. * kawa/lang/SyntaxForm.java: New implements Externalizable.
  2100. * kawa/lang/TemplateScope.java: New class.
  2101. * kawa/lang/Makefile.am: Update accordingly.
  2102. * kawa/lang/SyntaxTemplate.java (execute): Create TemplateScope.
  2103. * kawa/lang/Translator.java: Numerous updates.
  2104. * kawa/standard/define_class.java: Handle hygiene.
  2105. * kawa/standard/define_syntax.java: Support new macro handling.
  2106. * kawa/standard/define_variable.java: Set decl's IS_DYNAMNIC flag.
  2107. * kawa/standard/object.java: Use rewrite_car to set line numbers.
  2108. * kawa/standard/define_syntax.java: Don't special-case for rule
  2109. being a QuoteExp. Pass 'instance' value when create Macro.
  2110. 2004-12-07 Per Bothner <per@bothner.com>
  2111. * Makefile.am (EXTRA_DIST): Don't include old makekawa.bat.
  2112. * acinclude.m4: Remove unused LIBGCJ_CONFIGURE rule.
  2113. * configure.in: Set version to 1.7.91.
  2114. * build.xml (version.release): Set to 1.7.91.
  2115. 2004-12-02 Per Bothner <per@bothner.com>
  2116. * kawa/standard/force.java: Converted to Scheme and removed.
  2117. * kawa/standard/make_future.java: Likewise.
  2118. * kawa/standard/Makefile.am: Update accordingly.
  2119. * kawa/standard/Scheme.java: Update accordingly.
  2120. Also use defProcStFld for 'as' and 'throw'.
  2121. 2004-11-16 Per Bothner <per@bothner.com>
  2122. * kawa/standard/Scheme.java (defSntxStFld): New method.
  2123. (initScheme): Replace many uses of define_syntax by defSntxStFld.
  2124. * kawa/standard/throw_name.java (throwName): New static field.
  2125. * kawa/standard/call_with_values.java (callWithvalues): Likewise.
  2126. * kawa/standard/Scheme.java (initScheme): Replace most define_field
  2127. calls by defprocStFld, and the rest by define_syntax, Also replace
  2128. many define_proc by defProcStFld.
  2129. 2004-11-15 Per Bothner <per@bothner.com>
  2130. * kawa/lang/SyntaxTemplate.java: Change "opcode" of template_program
  2131. from 2 bits to 3 bits. Rearrange them some.
  2132. (BUILD_VAR_CAR): New opcode.
  2133. (pattern_nesting): Rename to patternNesting. Low-order bit encodes
  2134. if match is car of saved Pair.
  2135. (get_var, execute_car): New helper methods.
  2136. * kawa/lang/PatternScope.java (pattern_nesting): Renamed likewise.
  2137. * kawa/lang/SyntaxPattern.java (MATCH_ANY_CAR): New opcode.
  2138. (translate): Take a "context" parameter so we can tell when to
  2139. emit MATCH_ANY_CAR.
  2140. (match_car): New function.
  2141. (disassemble, match): Handle MATCH_ANY_CAR.
  2142. * kawa/lang/SyntaxRules.java: Updated for renamed pattern_nesting.
  2143. * kawa/lang/Lambda.java (rewrite): Use Translator.setLine method.
  2144. * kawa/lang/Macro.java (expand): If result is not PairWithPosition,
  2145. copy position from input form.
  2146. * kawa/lang/Translator.java (setLine): New static convenience method.
  2147. * kawa/standard/define.java (scanForm): Use it.
  2148. * kawa/standard/syntax_case.java: Remove unused local.
  2149. 2004-11-14 Per Bothner <per@bothner.com>
  2150. * kawa/standard/char_ready_p.java: No longer extend Procedure0or1.
  2151. (apply0, apply1): Remove methods.
  2152. * kawa/standard/Scheme.java (r4Environment, r5Environment): Make
  2153. public, so they can be accessed from kawa.lib.misc.
  2154. * kawa/standard/scheme_env.java: Remove.
  2155. * kawa/standard/Makefile.am: Update accordingly.
  2156. * kawa/standard/Scheme.java: The functions dynamic-wind, char-ready?,
  2157. scheme-report-environment and moved to different classes.
  2158. * kawa/standard/Scheme.java: Incompletely convert to use defProcStFld.
  2159. 2004-11-11 Jim White <jim@pagesmiths.com>
  2160. * build.xml: Update select-java1, select-java2, and add select-java5.
  2161. Search for BEGIN JAVA|BEGIN JAXP instead of maintaining an
  2162. explicit lists of files to modify.
  2163. 2004-11-10 Per Bothner <per@bothner.com>
  2164. * Makefile.am (selected-java-source): Depend on Makefile.
  2165. * kawa/standard/and_or.java: Removed.
  2166. * kawa/standard/Makefile.am (java_sources): Remove and_or.java.
  2167. * kawa/standard/Scheme.java: Use definition of 'or' with macro
  2168. define in kawa.lib.std_syntax.
  2169. 2004-11-08 Per Bothner <per@bothner.com>
  2170. * kawa/lang/SyntaxPattern.java (translate): Change MATCH_LENGTH
  2171. encoding for non-pure lists.
  2172. (match): Fix MATCH_LENGTH and MATCH_LREPEAT handling.
  2173. * kawa/lang/SyntaxTemplate.java (BUILD_VECTOR): Since no repetition
  2174. uses a var_no of 0, add one to var_no for a repeated variable.
  2175. * kawa/lang/Translator.java (listLength): Minor optimization.
  2176. 2004-11-06 Per Bothner <per@bothner.com>
  2177. * kawa/lang/Syntax.java (rewriteForm, scanForm): New methods.
  2178. * kawa/lang/SyntaxForm.java (form, scope): Make fields public.
  2179. (tr): Remove field.
  2180. (make, toString, fromDatum, fromDatumIfNeeded, rewrite, rewriteBody,
  2181. isIdentifier, freeIdentifierEquals): New methods.
  2182. * kawa/lang/SyntaxPattern.java: New class extends Pattern. It encodes
  2183. a pattern from syntax-case/syntax-rules in a "program".
  2184. * kawa/lang/SyntaxTemplate.java: New class.
  2185. * kawa/lang/SyntaxRule.java: Now a skeleton that inherits from
  2186. SyntaxTemplate.
  2187. * kawa/lang/SyntaxRules.java: Major re-write.
  2188. * kawa/lang/PatternScope.java: New class.
  2189. * kawa/lang/Makefile.am: Add new classes.
  2190. * kawa/lang/PairPat.java (match): Remove no-lobger-useful SyntaxForm
  2191. support.
  2192. * kawa/lang/Quote.java (rewrite): Strip off SyntaxForm.
  2193. * kawa/lang/Translator.java: Major rewrite to handle SyntaxForm.
  2194. Some methods renamed. Scan methods now use the new formStack,
  2195. rather than a freshly-allocated Vector. Some new helper routines.
  2196. * kawa/lang/Macro.java: Don't keep track of captured identifiers
  2197. individually, but instead use a single 'capturedScope'.
  2198. (hygienic): New field to handline hygienic and non- differently.
  2199. * kawa/lang/Eval.java (evalBody): Update for new scan protocol.
  2200. * kawa/lang/AutoloadSyntax.java: Update to define scanForm.
  2201. * kawa/lang/Lambda.java: Handle incoming SyntaxForms.
  2202. * kawa/standard/require.java: Create a new ModuleExp for imported
  2203. fields. Set Macro's capturedScope to it, rather than each Declaration.
  2204. * kawa/standard/set_b.java: Simplify by just calling rwrite on LHS.
  2205. * kawa/standard/syntax.java: New class.
  2206. * kawa/standard/syntax_case.java: Rewrite.
  2207. * kawa/standard/syntax_error.java (error): New static method.
  2208. * kawa/standard/let.java: Re-write.
  2209. * kawa/standard/let_syntax.java: Likewise.
  2210. * kawa/standard/IfFeature.java: No longer extends Syntax.
  2211. Just contains static help methods.
  2212. * kawa/standard/begin.java (scanForDefinitions): Replace by scanForm.
  2213. * kawa/standard/define.java: Re-shuffle. Simplify parsing by
  2214. using define-syntax. OTOH, have to deal with SyntaxForm.
  2215. * kawa/standard/define_class.java: Handle SyntaxForm - incompletely.
  2216. * kawa/standard/define_syntax.java: Also use for %define-macro.
  2217. * kawa/standard/ifp.java: Removed - now implemented in prim_syntax.scm.
  2218. * kawa/standard/object.java: Handle SyntaxForm - incompletely.
  2219. * kawa/standard/try_catch.java: No longer implement Syntax.
  2220. * kawa/standard/synchronizd.java: Removed - now in prim_syntax.scm.
  2221. * kawa/standard/try_finally.java: Likewise.
  2222. * kawa/standard/with_compile_options.java: Handle SyntaxForms.
  2223. * kawa/standard/Makefile.am: Update accordingly.
  2224. * kawa/standard/Scheme.java: Various updates.
  2225. 2004-11-06 Per Bothner <per@bothner.com>
  2226. * Make-rules: New automake doesn't seem to set DIST_SOURCES from
  2227. SOURCES, so undefine SOURCES and define DISTFILES explicitly.
  2228. * configure.in: New --with-java-source flag, sets @JAVA_SOURCE@.
  2229. * Makefile.am (java1-java2-files): Rename to patch-source-list and
  2230. generailize to also look for JAVA5 and JAXP conditionals.
  2231. (selected-java-source, select-java5, dist-hook): New rules.
  2232. * Makefile.am (makekawa.bat): Remove bit-rotted rule.
  2233. 2004-10-27 Per Bothner <per@bothner.com>
  2234. * Shell.java (counter): Remove static field.
  2235. (run): Use ModuleExp.interactiveCounter instead of counter field.
  2236. 2004-10-23 Per Bothner <per@bothner.com>
  2237. * kawa/lang/Translator.java (rewrite): Use new QuoteExp.getInstance.
  2238. (rewrite_body): Initialize variables using #!undefined, not #!null.
  2239. * kawa/standard/Scheme.java (initScheme): letrec in now in kawa/lib.
  2240. * kawa/standard/letrec.java: Removed, no longer needed.
  2241. * kawa/standard/Makefile.am (java_sources): Remove letrec.java.
  2242. * Make-rules: Remove bogus 'clean' rule.
  2243. 2004-09-05 Per Bothner <per@bothner.com>
  2244. * kawa/standard/ifp.java (allowElseList): New flag.
  2245. (<init>): New constructor.
  2246. (rewrite): Rewrite.
  2247. * kawa/lang/ListPat.java (match): Check that list isn't too long.
  2248. Based on a patch (8/19) from Dominique Boucher
  2249. <dominique.boucher@nuecho.com>.
  2250. 2004-08-24 Per Bothner <per@bothner.com>
  2251. * kawa/standard/readchar.java (readChar, peekChar): New static fields.
  2252. * kawa/standard/Scheme.java (initScheme): Use new static fields.
  2253. * kawa/standard/Scheme.java (initScheme): Functions open-input-file,
  2254. pen-output-file, and call-with-output-string now in kawa.lib.ports.
  2255. * kawa/standard/open_input_file.java: Remove - no longer needed.
  2256. * kawa/standard/open_output_file.java: Likewise.
  2257. * kawa/standard/call_with_output_string.java: Likewise.
  2258. * kawa/standard/Makefile.am: Update accordingly.
  2259. 2004-08-23 Per Bothner <per@bothner.com>
  2260. * configure.in (--with-swt): New option.
  2261. (WITH_SWT): New conditional.
  2262. (AC_OUTPUT): Add gnu/jemacs/swt/Makefile.
  2263. 2004-08-04 Christian Surlykke <christian@surlykke.dk>
  2264. * build.xml: Added jemacs-swt-classes task.
  2265. 2004-08-10 Per Bothner <per@bothner.com>
  2266. * configure.in: Change conf_classpath so the pathsep comes after
  2267. the added entry.
  2268. * Make-rules (CLASSPATH_ENV): Change accordingly.
  2269. (scm-classes.stamp, clisp-classes.stamp, elisp-classes.stamp):
  2270. Use CLASSPATH_ENV, so --with-servlet jar gets searched.
  2271. * Makefile.am (dis-kawa-@VERSION@.jar): Update to use --with-servlet.
  2272. 2004-08-09 Per Bothner <per@bothner.com>
  2273. * Make-rules (DIST_SOURCES): Remove unused macro.
  2274. * configure.in: Replace --enable-servlet by --with-servlet[=jar].
  2275. Default enable_servlet from with_servlet.
  2276. (conf_classpath): New variable, set from --with-servlet.
  2277. Use AC_HELP_STRING.
  2278. * Make-rules (CLASSPATH_ENV): Use autoconf variable @conf_classpath@.
  2279. 2004-08-08 Per Bothner <per@bothner.com>
  2280. * kawa/lang/Translator.java (rewrite): Don't set decl if no uri.
  2281. 2004-08-08 Per Bothner <per@bothner.com>
  2282. * kawa/lang/CalledContinuation.java (values): A continuation
  2283. can take multiple values.
  2284. * kawa/lang/Continuation.java: Extend MethodProc, not ProcedureN.
  2285. (<init>): Change to take a CallContext.
  2286. (apply1, applyN): Remove methods.
  2287. (apply): New method.
  2288. * kawa/standard/call_with_values.java (apply): Use checkN.
  2289. * kawa/standard/callcc.java: Extend MethodProc, not Procedure1.
  2290. (apply(Procedure), apply1): Remove methods.
  2291. (numArgs, match1, apply): New methods.
  2292. * kawa/standard/load.java (loadCompiled): Always assume ModuleBody.
  2293. 2004-08-08 Per Bothner <per@bothner.com>
  2294. * kawa/lang/AutoloadProcedure.java (load):
  2295. ModuleBody is not always Runnable.
  2296. * kawa/lang/Translator.java (pushPositionOf): Trivial optimization.
  2297. 2004-08-07 Per Bothner <per@bothner.com>
  2298. * kawa/standard/cxr.java: Use new WrongType constructors.
  2299. * kawa/standard/make.java: Likewise.
  2300. * kawa/standard/read.java: Likewise.
  2301. * kawa/standard/readchar.java: Likewise.
  2302. * kawa/standard/vector_append.java: Likewise.
  2303. * kawa/standard/append.java: Likewise.
  2304. (append): New static field.
  2305. * kawa/standard/Scheme.java: Redefined 'append' to use new field.
  2306. 2004-08-06 Per Bothner <per@bothner.com>
  2307. * kawa/lang/CompileFile.java: New longer implements Procedure2.
  2308. (apply2): Convert to Scheme and move to kawa.lib.system.
  2309. (read): Use WrappedException instead of GenericFile.
  2310. * kawa/standard/Scheme.java: Change location of compile-file.
  2311. 2004-08-03 Per Bothner <per@bothner.com>
  2312. * kawa/Shell.java (counter): New field.
  2313. (run): Increment and append counter to generated class name.
  2314. 2004-07-31 Per Bothner <per@bothner.com>
  2315. * kawa/repl.java: Update copyright year printed by --version.
  2316. 2004-07-27 Chris Dean <ctdean@sokitomi.com>
  2317. * kawa/repl.java: Print out compilation options
  2318. 2004-07-20 Per Bothner <per@bothner.com>
  2319. * kawa/GuiConsole.java: Remove unused import statements.
  2320. * kawa/GuiInPort.java: Likewise.
  2321. * kawa/MessageArea.java: Likewise.
  2322. * kawa/Shell.java: Likewise.
  2323. * kawa/lang/AnyPat.java: Likewise.
  2324. * kawa/lang/CompileFile.java: Likewise.
  2325. * kawa/lang/EqualPat.java: Likewise.
  2326. * kawa/lang/Lambda.java: Likewise.
  2327. * kawa/lang/ListRepeatPat.java: Likewise.
  2328. * kawa/lang/PairPat.java: Likewise.
  2329. * kawa/lang/SyntaxRule.java: Likewise.
  2330. * kawa/lang/Translator.java: Likewise.
  2331. * kawa/lang/loadcompiled.java: Likewise.
  2332. * kawa/standard/Scheme.java: Likewise.
  2333. * kawa/standard/atan.java: Likewise.
  2334. * kawa/standard/call_with_values.java: Likewise.
  2335. * kawa/standard/define_autoload.java: Likewise.
  2336. * kawa/standard/define_member_alias.java: Likewise.
  2337. * kawa/standard/letrec.java: Likewise.
  2338. * kawa/standard/logior.java: Likewise.
  2339. * kawa/standard/make_future.java: Likewise.
  2340. * kawa/standard/max.java: Likewise.
  2341. * kawa/standard/min.java: Likewise.
  2342. * kawa/standard/module_extends.java: Likewise.
  2343. * kawa/standard/module_implements.java: Likewise.
  2344. * kawa/standard/module_name.java: Likewise.
  2345. * kawa/standard/object.java: Likewise.
  2346. * kawa/standard/open_output_file.java: Likewise.
  2347. * kawa/standard/prim_method.java: Likewise.
  2348. * kawa/standard/quantity2number.java: Likewise.
  2349. * kawa/standard/quantity2unit.java: Likewise.
  2350. * kawa/standard/scheme_env.java: Likewise.
  2351. * kawa/standard/syntax_error.java: Likewise.
  2352. * kawa/standard/throw_name.java: Likewise.
  2353. * kawa/standard/try_finally.java: Likewise.
  2354. * kawa/standard/vector_append.java: Likewise.
  2355. * kawa/standard/with_input_from_file.java: Likewise.
  2356. * kawa/standard/with_output_to_file.java: Likewise.
  2357. * kawa/standard/define.java: Use static syntax to access
  2358. static fields/methods.
  2359. * kawa/standard/define_class.java: Likewise.
  2360. * kawa/standard/define_member_alias.java: Likewise.
  2361. * kawa/standard/define_syntax.java: Likewise.
  2362. * kawa/standard/define_unit.java: Likewise.
  2363. * kawa/standard/define_variable.java: Likewise.
  2364. * kawa/standard/object.java: Likewise.
  2365. 2004-07-19 Per Bothner <per@bothner.com>
  2366. * kawa/standard/Scheme (initScheme): The functions rationalize,
  2367. sqrt, exact->inexact and inexact->exact are now in kawa.lib.numbers.
  2368. * kawa/standard/exact2inexact.java: Removed class.
  2369. * kawa/standard/inexact2exact.java: Likewise.
  2370. * kawa/standard/rationalize.java: Likewise.
  2371. * kawa/standard/sqrt.java: Likewise.
  2372. * Makefile.am: Update accordingly.
  2373. 2004-06-21 Per Bothner <per@bothner.com>
  2374. * kawa/standard/object.java (throwsKeyword): New constant.
  2375. * kawa/lang/Lambda.java (rewrite): Do pushPositionOf and
  2376. popPositionOf around each parameter for better error messages.
  2377. (rewriteAttrs): Handle throws specification.
  2378. 2004-05-10 Per Bothner <per@bothner.com>
  2379. * kawa/standard/object.java (scanClassDef, rewriteClassDef): Improved
  2380. line number setting.
  2381. (scanClassDef): Error if duplicate init forms.
  2382. * kawa/standard/object.java (scanClassDef): Remove clinits local.
  2383. (rewriteClassDef): Remove clinits form returned array.
  2384. (scanClassDef) Don't rewrite init-form: expression yet.
  2385. (rewriteClassDef): Extra pre-pass to rewrite init-form: forms first.
  2386. Fixes bug #8837.
  2387. 2004-05-06 Per Bothner <per@bothner.com>
  2388. * kawa/standard/cxr.java (count): Replace field by high-order
  2389. 16 bits, so that setting mask+count is atomic.
  2390. * kawa/standard/cxr.java (program): Fix race condition.
  2391. Partly fixes bug #8817.
  2392. 2004-04-22 Per Bothner <per@bothner.com>
  2393. * build.xml (build.selectjava): Add gnu/lists/FString.java
  2394. 2004-04-17 Per Bothner <per@bothner.com>
  2395. * kawa/standard/Scheme.java (initScheme): Fix typo.
  2396. Fixes bug #7666.
  2397. * configure.in: Fix help text typo reported by Pete Chown.
  2398. Fixes bug #7851.
  2399. 2004-03-08 Per Bothner <per@bothner.com>
  2400. * kawa/standard/define_syntax.java (rewriteForm): Do setProcedureDecl
  2401. and setFuncDef, for the sake of 'defmacro' used in Common Lisp.
  2402. * kawa/standard/define_class.java (rewrite): Move setSimple call ...
  2403. (scanForDefinitions): ... to here.
  2404. * kawa/standard/load.java (loadSource): Don't call beginDocument
  2405. or endDocument.
  2406. * build.xml (build.selectjava): Add gnu/mapping/Symbol.java
  2407. and gnu/text/Char.java.
  2408. 2004-03-03 Per Bothner <per@bothner.com>
  2409. * kawa/lang/Macro.java (bind): Remove method.
  2410. (make): Call Declaration's setSyntax instead of bind.
  2411. (<init>(Object,Expression)): Remove constructor.
  2412. * kawa/standard/define_syntax.java (scanForDefinitions): Defer
  2413. allocation of new Macro until rewrite time.
  2414. (rewrite): Simpler and cleaner logic. We don't note the value of
  2415. Declaration as being a constant Macro when it isn't.
  2416. * kawa/standard/let_syntax.java (rewrite): Add call to noteValue,
  2417. since Macro constructor no longer does it.
  2418. * kawa/standard/require.java (importDefinitions): Call noteValue and
  2419. setSynax for Macro declaration in place of Macro's removed bind.
  2420. 2004-02-21 Per Bothner <per@bothner.com>
  2421. * build.xml (build.selectjava): Add gnu/math/RealNum.java.
  2422. 2004-02-15 Per Bothner <per@bothner.com>
  2423. * kawa/lang/Lambda.java (rewrite): Refactor so rewrite can be called
  2424. at scan time, while rewriteBody can be called at rewrite time.
  2425. (rewriteAttrs): New method handles access and allocation attributes.
  2426. (rewrite(LambdaExp, Object, Translator), skipAttrs): New methods.
  2427. * define.java (scanForDefinitions): Do first part of lambda.rewrite
  2428. here (but not rewriteBody), to get parameter and result types.
  2429. * kawa/standard/define_alias.java (rewrite): Move processing
  2430. to scanForDefinitions.
  2431. * kawa/standard/object.java (accessKeyword): New constant.
  2432. (allocationKeyword): Make public.
  2433. (scanClassDef): New method, for "scan-time" processing.
  2434. Process access: specifier for fields.
  2435. Call rewriteAttrs for methods.
  2436. (rewriteClassDef): Method for "rewrite-time" processing.
  2437. Call skipAttrs for methods,
  2438. (rewriteForm): Update to call scanClassDef and then rewriteClassDef,
  2439. * kawa/standard/define_class.java (scanForDefinitions):
  2440. Call object's scanClassDef.
  2441. (rewriteForm): Call objects's rewriteClassDef.
  2442. 2004-02-15 Per Bothner <per@bothner.com>
  2443. * kawa/lang/Translator.java (rewrite_car): Make public.
  2444. (rewrite_pair): Use LispInterpreter's makeApply (overridden by q2).
  2445. (rewrite): Rewrrite value of LangExp.
  2446. * kawa/standard/prim_method.java (exp2Type): Remove method.
  2447. (rewrite): Use Translator's exp2Type.
  2448. * kawa/standard/define.java (rewrite): Use Translator's exp2Type.
  2449. * kawa/standard/let.java (rewrite): Likewise.
  2450. * kawa/standard/letrec.java (rewrite): Likewise.
  2451. * kawa/standard/module_extends.java (rewriteForm): Likewise.
  2452. * kawa/standard/module_implements.java (rewriteForm): Likewise.
  2453. * kawa/standard/try_catch.java (rewrite): Likewise.
  2454. * kawa/lang/Translator.java (exp2Type): If unknown type return
  2455. pointer_type rather than null.
  2456. 2004-02-13 Per Bothner <per@bothner.com>
  2457. * gnu/kawa/Makefile.am (SUBDIRS): Add q2.
  2458. * configure.in: Add gnu/q2/Makefile gnu/q2/lang/Makefile.
  2459. 2004-01-09 Per Bothner <bothner@bothner.com>
  2460. * kawa/repl.java: Use new Environment setGlobal method.
  2461. * kawa/standard/Scheme.java (registerEnvironment): Update setCurrent
  2462. to setGlobal.
  2463. 2003-12-24 Per Bothner <per@bothner.com>
  2464. * kawa/standard/require.java (importDefinitions): Fix thinko -
  2465. we were comparing the wrong type against typeProcedure.
  2466. 2003-12-20 Per Bothner <per@bothner.com>
  2467. * kawa/standard/object.java (initKeyword): New constant field.
  2468. (instanceKeyword, classKeyword): Removed constant fields.
  2469. (matches): New helper function.
  2470. (rewriteClassDef): Evaluate init-form: expression in outer scope.
  2471. Alloc init: EXPR where EXPR is evaluated in class scope.
  2472. Handle init forms for static fields.
  2473. Allow alternative forms 'OPTION and "OPTION" for option names.
  2474. Allow unnamed dummy fields with init: for initialization-type actions.
  2475. 2003-12-20 Per Bothner <per@bothner.com>
  2476. * kawa/lang/SyntaxRule.java (translate_template): Some constants
  2477. have moved from Interpreter to LispInterpreter. Update for that.
  2478. * kawa/standard/Scheme.java (initScheme): Likewise.
  2479. 2003-11-25 Per Bothner <per@bothner.com>
  2480. * Makefile.in (install-javadoc-html): Only delete html files.
  2481. (Specifically, we don't want to delete CVS directories.)
  2482. 2003-11-21 Per Bothner <per@bothner.com>
  2483. * kawa/standard/call_with_input_file.java: Removed.
  2484. * kawa/standard/call_with_output_file.java: Removed.
  2485. * kawa/standard/Makefile.am: Update accordingly.
  2486. * kawa/standard/Scheme.java: For call-with-input-file and
  2487. call-with-output-file use new implementations in kawa.lib.ports.
  2488. 2003-11-20 Per Bothner <per@bothner.com>
  2489. * kawa/Shell.java (run): Better error robustness.
  2490. 2003-11-14 Per Bothner <per@bothner.com>
  2491. * kawa/standard/string_append.java: Removed class.
  2492. * kawa/standard/Makefile.am: Update accordingly.
  2493. 2003-11-09 Chris Dean <Chris.Dean@sokitomi.com>
  2494. * kawa/standard/Scheme.java (LispInterpreter): Definition for
  2495. string-append/shared; redefine string-append.
  2496. 2003-11-08 Per Bothner <per@bothner.com>
  2497. * kawa/Shell.java (run): Use new Interpreter.parse convention.
  2498. 2003-11-05 Per Bothner <per@bothner.com>
  2499. * kawa/standard/define.java (rewriteForm): Complain if not in <body>.
  2500. * kawa/standard/define_variable.java (scanForDefinitions, rewriteForm):
  2501. Fix various problems.
  2502. * kawa/standard/Scheme.java (<init>): Use define_syntax for
  2503. 'define-variable'.
  2504. 2003-11-02 Per Bothner <per@bothner.com>
  2505. * kawa/Shell.java (run): Replace call to old 'parse' method
  2506. by call to 'parse' with different parameter list.
  2507. * kawa/lang/CompileFile.java (read): Replace 'parseFile' call
  2508. by call to new 'parse' method.
  2509. * kawa/lang/Eval.java (evalBody): Inline LispInterpreter.makeModuleExp
  2510. here, so we can get rid of it.
  2511. 2003-10-30 Per Bothner <per@bothner.com>
  2512. * configure.in: Add link to gnu/xquery/testsuite/auction.xml.in.
  2513. 2003-10-28 Per Bothner <per@bothner.com>
  2514. * Make-rules (DONT_EDIT_SUBS): Move to gnu/xml/Makefile.am.
  2515. 2003-10-21 Per Bothner <per@bothner.com>
  2516. * configure.in: Set version to 1.7.90.
  2517. * build.xml (version.release): Set to 1.7.90.
  2518. 2003-10-19 Per Bothner <per@bothner.com>
  2519. * kawa/lang/Eval.java (evalBody): Need to pass Interpreter
  2520. to new Translator.
  2521. * kawa/lang/Translator.java (<init>): Take Interpreter.
  2522. Remove unused constructors.
  2523. (resolve): Moved to super class Compilation.
  2524. * kawa/standard/module_compile_options.java: New class extends Syntax.
  2525. * kawa/standard/with_compile_options.java: New class extends Syntax.
  2526. * kawa/standard/Makefile.am: Update accordingly.
  2527. * kawa/standard/Scheme.java: Define '"module-compile-options'
  2528. and 'with-compile-options'.
  2529. 2003-10-18 Jim White <jim@pagesmiths.com>
  2530. * build.xml: Handle gnu/kawa/models and gnu/kawa/swingviews.
  2531. 2003-10-16 Per Bothner <per@bothner.com>
  2532. * kawa/lang/AutoloadSyntax.java (load): Give Syntax object a name.
  2533. * kawa/repl.java (processArgs): Try arguments in Compiletion.options.
  2534. 2003-10-12 Per Bothner <per@bothner.com>
  2535. * kawa/lang/Translator.java (rewrite_pair): Check if decl's
  2536. constant value is a Syntax rather than using IS_SYNTAX flag.
  2537. * kawa/standard/Scheme.java (Scheme): Update isEq initialization.
  2538. 2003-10-09 Per Bothner <per@bothner.com>
  2539. * kawa/standard/read.java (apply1): Use Procedure's getName
  2540. method rather than the deprecated name.
  2541. 2003-10-08 Per Bothner <per@bothner.com>
  2542. * kawa/standard/Scheme.java (initScheme): Use define_field to
  2543. define 'values-append', since it allows better optimization.
  2544. * kawa/standard/require.java (scanForDefinitions): Split most into
  2545. new method importDefinitions - used for XQuery modules.
  2546. (importDefinitions): New static method. Take module namespace.
  2547. Note if decl is a procedure decl.
  2548. * kawa/standard/Scheme.java (<init>): Specify field for "ash".
  2549. * kawa/lang/SetFieldProc.java: Use Values.empty directly instead of
  2550. via Interpreter.voidObject.
  2551. 2003-10-02 Per Bothner <per@bothner.com>
  2552. * kawa/lang/CompileFile.java, kawa/standard/load.java,
  2553. kawa/standard/sleep.java: Use Values.empty directly instead of
  2554. Interpreter's voidObject field
  2555. * kawa/repl.java, kawa/standard/string2number.java: Use Boolean
  2556. FALSE/TRUE directly instead of via Scheme or Interpreter field.
  2557. 2003-09-23 Per Bothner <per@bothner.com>
  2558. * build.xml (build.selectjava): Add FVector.java and LList.java.
  2559. 2003-09-14 Per Bothner <per@bothner.com>
  2560. * configure.in (AC_LINK_FILES): Add gnu/xquery/testsuite/outline.xml.
  2561. 2003-09-08 Per Bothner <per@bothner.com>
  2562. * kawa/lang/Translator.java (rewrite): Resolve hygiene using
  2563. getOriginalRef *before* resolving namespace prefix.
  2564. Fixes Savannah bug #5113.
  2565. 2003-09-03 Per Bothner <per@bothner.com>
  2566. * kawa/repl.java (processArgs): Set Compilation.defaultCallConvention.
  2567. 2003-08-20 Per Bothner <per@bothner.com>
  2568. * kawa/standard/Scheme.java (initScheme): Change definitions
  2569. of positive? and modulo.
  2570. * kawa/standard/modulo.java: Remove - implemented in kawa.lib.numbers.
  2571. * kawa/standard/positive_p.java: Likewise.
  2572. * kawa/standard/Makefile.am (java_sources): Update accordingly.
  2573. * kawa/standard/string2number.java (parse): Pass new exactness
  2574. parameter.
  2575. 2003-08-06 Per Bothner <per@bothner.com>
  2576. * kawa/standard/TracedProcedure.java (indentation): Initialize using
  2577. Symbol.unInterned, matching 2003-03-15 gnu/mapping/Symbol.java change.
  2578. 2003-08-03 Per Bothner <per@bothner.com>
  2579. * configure.in: Add AC_LINK_FILES for report1.xml.in.
  2580. 2003-08-01 Per Bothner <per@bothner.com>
  2581. * kawa/lang/Lambda.java (rewriteBody): Use new setCoercedReturnValue
  2582. helper method in Convert.
  2583. 2003-07-22 Per Bothner <per@bothner.com>
  2584. * configure.in (AC_OUTPUT): Add Makefiles in gnu/kawa/models
  2585. and gnu/kawa/swingviews.
  2586. 2003-07-15 Chris Dean <Chris.Dean@sokitomi.com>
  2587. * kawa/standard/Scheme.java (initScheme): Add invoke-special.
  2588. 2003-07-13 Per Bothner <per@bothner.com>
  2589. * kawa/lang/Translator.java (rewrite): Do followAliases
  2590. when checking for a namespace-using name.
  2591. 2003-07-10 Chris Dean <Chris.Dean@sokitomi.com>
  2592. * kawa/standard/syntax_rules.java (rewriteForm): Allow Keywords among
  2593. the literals
  2594. 2003-06-14 Per Bothner <per@bothner.com>
  2595. * Makefile.am (JAVADOC_PACKAGES): Add gnu.kawa.sax, gnu.jemacs.swing.
  2596. * kawa/lang/Eval.java (apply): Use CallContext's getNextArg
  2597. method rather than getArgAsObject, which will be deprecated.
  2598. 2003-06-06 Jim White <jim@pagesmiths.com>
  2599. * build.xml: Add gnu/ecmascript. Add gnu/jemacs/swing.
  2600. Name change to XStrings.scm.
  2601. Check for Servlet 2.3 API for enable-servlet (HttpServletResponse
  2602. .resetBuffer and HttpServletRequest.getRequestURL are only since 2.3).
  2603. Init of tmp directory moved so that clean will work ok.
  2604. * build.xml: Make system.scm get compiled after vectors.scm.
  2605. 2003-06-03 Per Bothner <per@bothner.com>
  2606. * Makefile.am (distall): Add more stuff.
  2607. * kawa/standard/IfFeature.java (scanForDefinitions): Call scan_form
  2608. on single form. Fixes bug reported by Sven.Hartrumpf@FernUni-Hagen.de.
  2609. 2003-06-01 Per Bothner <per@bothner.com>
  2610. * configure.in: Set version to 1.7.
  2611. * build.xml (version.release): Set to 1.7.
  2612. * kawa/standard/IfFeature.java (scanForDefinitions): New method.
  2613. * Makefile.am (dist-kawa-@VERSION@.jar): Add --with-sax2 to configure.
  2614. 2003-06-01 Per Bothner <per@bothner.com>
  2615. * kawa/standard/Scheme.java (initScheme): Specify field name for
  2616. vector-append. Fixes bug reported by Sven.Hartrumpf@FernUni-Hagen.de.
  2617. 2003-05-31 Per Bothner <per@bothner.com>
  2618. * kawa/standard/load.java (loadSource): Don't call BaseUri.resolve
  2619. if name is absolute.
  2620. 2003-05-31 Vladimir Tsichevski <wowa@jet.msk.su>
  2621. * configure.in: Fix documentation typo AWT -> SAX2.
  2622. 2003-05-31 Per Bothner <per@bothner.com>
  2623. * kawa/standard/Scheme.java (initScheme): Use define_field instead of
  2624. define_proc for define-procedure builtins for partial inlining.
  2625. 2003-05-22 Per Bothner <per@bothner.com>
  2626. * kawa/lang/EqualPat.java (match): Generalize 2003-04-21 fix
  2627. to handle arbitrary String/Symbol pairs. Fixes bugs reported
  2628. 05-19 by Sven Hartrumpf and 05-22 by Bruce Lewis.
  2629. * kawa/standard/IfFeature.java (hasFeatureX): Remove debug kludge.
  2630. * kawa/standard/IfFeature.java (hasFeature): Add new SRFIs.
  2631. * kawa/standard/IfFeature.java (hasFeature): Add 'kawa' feature.
  2632. * kawa/standard/define.java (scanForDefinitions, rewriteForm):
  2633. Handle names that are Symbols as well as Strings. Fixes bug reported
  2634. 05-22 by Bruce Lewis "renamed identifiers in defines in macros" .
  2635. 2003-05-18 Per Bothner <per@bothner.com>
  2636. * configure.in: Set version to 1.7beta1.
  2637. * build.xml (version.release): Set to 1.7beta1.
  2638. * Makefile.am (MAINTAINERCLEANFILES): Add Version.java.
  2639. * kawa/standard/letrec.java (rewrite): Do setDefining on SetExp.
  2640. 2003-05-17 Per Bothner <per@bothner.com>
  2641. * kawa/lang/Translator.java (setLineOf): New method.
  2642. (rewrite_with_position): Use setLineOf.
  2643. (rewrite_body): Call pushPositionOf, popPositionOf.
  2644. Call setLineOf on result.
  2645. * kawa/kawa/Lambda.java (rewriteBody): Don't allow a return type
  2646. to be specified with just a string literal.
  2647. If converting result, set line position of modified body.
  2648. 2003-05-09 Per Bothner <per@bothner.com>
  2649. * configure.in: Remove --with-java-collections arg and related crud.
  2650. * build.xml (build.preprocessed): Remove gnu/lists and QName.
  2651. Remove no-longer-needed will-collections crud.
  2652. * build.properties: Remove with-collections.
  2653. * build.xml (build.selectjava): Add new gnu/lists classes.
  2654. 2003-05-04 Per Bothner <per@bothner.com>
  2655. * build.xml (build.selectjava): Add ListItems.java and
  2656. IteratorItems.java.
  2657. (build.preprocessed): Remove CallContext.java and Focus.java.
  2658. * Makefile.am (java1-java2-files): New rule.
  2659. 2003-05-03 Per Bothner <per@bothner.com>
  2660. * build.xml: Remove no-longer needed support for "references".
  2661. * build.properties: Likewise.
  2662. * Make-rules: Remove WITH_JAVA_REFERENCES conditionals.
  2663. * configure.in: Drop --without-java-references argument.
  2664. 2003-04-29 Jim White <jim@pagesmiths.com>
  2665. * build.xml: Support for JAVA1 <-> JAVA2 source conversion.
  2666. (select-java1, select-java2, check-for-java2, select-java1-auto,
  2667. select-java2-auto, select-java-auto): New targets.
  2668. 2003-04-30 Per Bothner <per@bothner.com>
  2669. * kawa/lang/Translator.java (rewrite): Intern name before lookup.
  2670. 2003-04-25 Per Bothner <per@bothner.com>
  2671. * Makefile.am (select-java1, select-java2): New rules to convert
  2672. basebase to Java1-compliant and back again.
  2673. 2003-04-21 Per Bothner <per@bothner.com>
  2674. * kawa/lang/Translator.java (getOriginalRef): New method.
  2675. (matches, getBinding, rewrite): Use getOriginalRef.
  2676. * kawa/lang/EqualPat.java (match): Add a kludge to for '::'.
  2677. Fixes bug reported 04-11 by Vladimir Tsichevski <wowa@jet.msk.su>.
  2678. * kawa/lang/SyntaxRules.java (<init>): Better debugging output.
  2679. * kawa/lang/AutoloadProcedure.java: Call Procedure's getName
  2680. method instead of deprecated name method.
  2681. * kawa/lang/CompileFile.java: Likewise.
  2682. * kawa/standard/TracedProcedure.java: Likewise.
  2683. * kawa/standard/cxr.java: Likewise.
  2684. * kawa/standard/readchar.java: Likewise.
  2685. 2003-04-19 Per Bothner <per@bothner.com>
  2686. * kawa/lang/Translator.java (lexical): Now in Compilation.
  2687. (<init>): Update accordingly.
  2688. (push(ScopeExp), pop(ScopeExp), push(Declaration)): Subsumed
  2689. by version in Compilation.
  2690. (pop(Declaration)): Removed - never used.
  2691. 2003-04-18 Per Bothner <per@bothner.com>
  2692. * kawa/lang/AutoloadSyntax.java (toString): New method.
  2693. (print): Use toString.
  2694. * kawa/lang/Translator.java (environ): Remove field.
  2695. (lexical): Replacement field.
  2696. (<init>): Allocate lexical instead of environ.
  2697. (lookup, getBinding, rewrite): Update.
  2698. (matches): Update for new hygiene handling.
  2699. (rewrite_body): Combine overloaded methods into one.
  2700. Inline the effect of push - but don't push decls twice.
  2701. (shadowStack): Remove field.
  2702. (pushDeclStart, popDecls, pushDecls, popBinding): Removed methods.
  2703. (finishModule, push, pop): Update accordingly.
  2704. * kawa/standard/Scheme.java (getNamespaceOf): New method.
  2705. * kawa/standard/set_b.java (rewrite): Update to use new NameLookup.
  2706. * kawa/lang/SyntaxRules.java (expand): Likewise.
  2707. 2003-04-14 Per Bothner <per@bothner.com>
  2708. * kawa/lang/Macro.java (capturedDeclarations): Change type.
  2709. (captureDecls): Allocate capturedDeclarations as Declaration array.
  2710. * kawa/lang/SyntaxRules.java (<init>): Update accordingly.
  2711. (expand): Create an aliad Declaration, and push that in the
  2712. Translator lexical scope, instead of the original symbol.
  2713. * kawa/lang/Translator.java (matches): Update accordingly.
  2714. (resolve): Allow first parameter to be a String.
  2715. (getBinding, rewrite): Update and re-organize.
  2716. (pushBinding): Remove and inline into push(Declaration).
  2717. (popBinding): Make private.
  2718. * kawa/standard/define_alias.java (scanForDefinitions): Use
  2719. Translator's push method instead of pushBinding.
  2720. * kawa/standard/define_syntax.java (scanForDefinitions): Likewise.
  2721. * kawa/standard/define_unit.java (scanForDefinitions):
  2722. Remove call to pushBinding. Call push on decl instead.
  2723. 2003-04-12 Per Bothner <per@bothner.com>
  2724. * kawa/lang/Translator.java (finishModule): Remove unused variables.
  2725. * kawa/standard/define.java (scanForDefinitions): Set PROCEDURE
  2726. flag of Declaration.
  2727. * kawa/standard/object.java (rewriteClassDef): Set FIELD_OR_METHOD
  2728. or PROCEDURE flags of Declaration as appropriate.
  2729. * kawa/lang/Translator.java (rewrite): Complain if variable
  2730. reference to a class method.
  2731. * kawa/standard/define.java (scanForDefinitions): Use Translator's
  2732. push method instead of pushBinding.
  2733. * kawa/standard/require.java (scanForDefinitions): Likewise.
  2734. * kawa/repl.java (apply0, apply1, checkInitFile): Don't use
  2735. static fields from kawa.standard.Scheme.
  2736. * kawa/repl.java (SocketRepl class): Make public and rename to ...
  2737. * kawa/TelnetRepl.java: ... new class based on old SocketRepl.
  2738. (serve): New static method based on old kawa.serveTelnet method.
  2739. * kawa/repl.java (serveTelnet): Removed method.
  2740. (processArgs) Update to call TelnetRepl.serve.
  2741. * kawa/Makefile.am (java_sources): Add TelnetRepl.java.
  2742. 2003-04-06 Per Bothner <per@bothner.com>
  2743. * kawa/lang/EqualPat.java (print): Don't use SFormat.
  2744. * kawa/lang/ListRepeatPat.java (print, match): Likewise.
  2745. * kawa/lang/PairPat.java (print): Likewise.
  2746. * kawa/lang/SyntaxRules.java (expand): Likewise.
  2747. 2003-04-04 Per Bothner <per@bothner.com>
  2748. * kawa/standard/define_class.java (scanForDefinitions): Use getDefine.
  2749. 2003-04-01 Per Bothner <per@bothner.com>
  2750. * kawa/standard/set_b.java (rewrite): Handle Symbol assignee.
  2751. Based on patch from Vladimir Tsichevski <wowa@jet.msk.su>.
  2752. 2003-03-29 Jim White <jim@pagesmiths.com>
  2753. * build.xml: Various fixes.
  2754. 2003-03-24 Chris Dean <ctdean@mercedsystems.com>
  2755. * kawa/standard/load.java (loadRlative): Fix typo to loadRelative.
  2756. 2003-03-24 Per Bothner <per@bothner.com>
  2757. * kawa/standard/object.java (rewriteClassDef): Allow names to be
  2758. Symbol as well as String.
  2759. * kawa/standard/define_class.java (scanForDefinitions): Likewise.
  2760. (rewriteForm): Likewise.
  2761. * kawa/lang/Translator.java (getBinding): Follow aliases.
  2762. Needed if Syntax is imported from some other module.
  2763. 2003-03-21 Per Bothner <per@bothner.com>
  2764. * configure.in: Set am__fastdepGCJ_TRUE in non-gcj case.
  2765. Remove kawa_bin variable.
  2766. * configure: Re-generate using auoconf 2.57.
  2767. * aclocal.m4: Re-generate using aclocal 1.7.3.
  2768. * */Makefile.in: Re-generate using automake 1.7.3.
  2769. 2003-03-06 Per Bothner <per@bothner.com>
  2770. * configure.in: Set version to 1.7beta1.
  2771. * build.xml (version.release): Set to 1.7beta1.
  2772. 2003-03-03 Per Bothner <per@bothner.com>
  2773. * kawa/standard/load.java (relative): New boolean field.
  2774. (<init>): Add constructor.
  2775. (load, loadRelative): New static fields.
  2776. (loadSource, apply): Take boolean parameter.
  2777. (loadSource): Handle URLs. Resolve usng baseUri or baseUriDefault.
  2778. (apply1, apply2): Pass relative flag.
  2779. (apply): Set/restore base URI.
  2780. * kawa/standard/Scheme.java: Add load-relative and base-uri.
  2781. * kawa/Shell.java (runFile): Update for extra load.apply parameter.
  2782. 2003-03-02 Per Bothner <per@bothner.com>
  2783. * kawa/Shell.java (runFile): Use Environment.getCurrent instead of
  2784. Environment.user, which should probably be deprecated.
  2785. 2003-01-29 Per Bothner <per@bothner.com>
  2786. * kawa/standard/require.java: Recognize 'gui package.
  2787. 2003-01-26 Per Bothner <per@bothner.com>
  2788. * kawa/lang/Record.java (getField): New static helper method.
  2789. (get, set1): Use it.
  2790. Fixes bug reported 1/24 by Wen-Chun Ni <wcn@tbcommerce.com>.
  2791. * kawa/lang/Record.java (makeRecordType): Twice use Method's startCode
  2792. method instead of deprecated init_param_slots.
  2793. 2003-01-24 Per Bothner <per@bothner.com>
  2794. * kawa/standard/Scheme.java: Define cut and cute.
  2795. * kawa/lang/Lambda.java (rewrite): Don't convert rest parameter
  2796. to String if it is a Symbol.
  2797. * kawa/lang/SyntaxRule.java (print_template_program): Update
  2798. commented-out debug helper routine.
  2799. * kawa/lang/SyntaxRules.java (<init>): Update call in debug code.
  2800. 2003-01-03 Per Bothner <per@bothner.com>
  2801. * libtool.m4, ltmain.sh: Copied from libtool (pre-1.5 CVS) version.
  2802. * ltmain.sh: Add definition of SED.
  2803. * Make-rules (.o rule): Remove --tag=GCJ - not needed by new libtool.
  2804. * aclocal.m4: Re-generated using aclocal 1.6.3.
  2805. * configure: Re-generate using autoconf 2.53.
  2806. * **/Makefile.in: Re-generate using automake 1.6.3.
  2807. * config.guess, config.sub: Update from ftp.gnu.org.
  2808. 2003-01-02 Per Bothner <per@bothner.com>
  2809. * kawa/standard/Scheme.java (initScheme): Use 3-operand form of
  2810. define_field for unescaped-data.
  2811. 2003-01-01 Per Bothner <per@bothner.com>
  2812. * kawa/standard/Scheme.java (initScheme): Use 3-operand form of
  2813. define_field if and only if field is in class written in Java.
  2814. 2002-12-11 Per Bothner <per@bothner.com>
  2815. * kawa/standard/define_syntax.java (scanForDefinitions, rewriteForm):
  2816. Handle Symbols as macro names - needed for Common Lisp.
  2817. * kawa/standard/syntax_case.java (rewriteClauses): Allow
  2818. pattern names to be Objects - i.e. Symbols as well as Strings.
  2819. (rewriteForm): Lkewise allow literal identifiers to be Symbols.
  2820. (class syntax_case_work): Likewise - change field type to Object[].
  2821. * kawa/lang/Syntax.java (name): Change field from String to Object.
  2822. (getName): Change to handle either Symbol or String in name.
  2823. (getSymbol, setname): New methods.
  2824. (<init>): Change paramater type to Object, to allow Symbol.
  2825. * kawa/lang/Macro.java (make): Allow name to be Symbol or String.
  2826. (<init>): Likewise.
  2827. * kawa/lang/SyntaxRules.java (translate_pattern): Don't convert
  2828. Symbol to String - instead use as is. Needed for Common Lisp.
  2829. 2002-11-23 Per Bothner <per@bothner.com>
  2830. * kawa/standard/Scheme.java (define_field): Moved to Interpreter.
  2831. * kawa/standard/StaticFieldConstraint.java: Moved to gnu.kawa.reflect.
  2832. * kawa/standard/Makefile.am: Update accordingly.
  2833. * kawa/lang/Translator.java: Explicitly import StaticFieldConstraint.
  2834. * configure.in: Make --with-collections the default.
  2835. 002-11-20 Per Bothner <bothner@bothner.com>
  2836. * kawa/lang/Translator.java (rewrite): Turn an identifier with a
  2837. colon and matching namespace into a Symbol.
  2838. 2002-11-16 Per Bothner <per@bothner.com>
  2839. * kawa/lang/Promise.java (print): Don't try to print forced value,
  2840. as this could cause a loop.
  2841. * kawa/lang/Lambda.java (rewrite): Parameter name can be Symbol.
  2842. * kawa/lang/SyntaxRules.java (literal_identifiers): Can now be Symbol.
  2843. (<init>, translate_pattern, readExternal): Update accordingly.
  2844. (translate_pattern): Handle Symbols.
  2845. (expand): Renamed hygiene names now use uninterned Symbol, instead of
  2846. uninterned String, since Hashtable doesn't distinguish latter.
  2847. * kawa/lang/Translator.java (environ): Change type to Hashtable,
  2848. because keys can now be Symbols, not just Strings.
  2849. (<init>): Change to match.
  2850. (matches, getBinding, rewrite_pair, rewrite): Re-write to handle
  2851. new types for hygiene.
  2852. (lookup(Object)): Removed.
  2853. (lookup, lookupGlobals, getBinding. push, pushBinding):
  2854. Names can be either Symbols or Strings.
  2855. (shadowStack): No longer public.
  2856. 2002-11-15 Per Bothner <per@bothner.com>
  2857. * kawa/standard/define_class.java: Don't hardwire "define-class" name.
  2858. * kawa/standard/define_autoload.java: Handle Symbol using getName.
  2859. * kawa/standard/let.java (rewrite): Use name as is, without toString.
  2860. * kawa/standard/try_catch.java (rewrite): Likewise, allow Symbol.
  2861. * kawa/standard/fluid_let.java (rewrite): Likewise.
  2862. * kawa/standard/letrec.java (rewrite): Likewise.
  2863. Use Translation's matches method.
  2864. 2002-11-05 Per Bothner <per@bothner.com>
  2865. * kawa/lang/CompileFile.java (read): Call parseFile with new
  2866. 'immediate' argument set to false.
  2867. 2002-10-28 Per Bothner <bothner@bothner.com>
  2868. Rename the Binding and BindingEnumerator classes in gnu.mapping
  2869. to Symbol and SymbolEnumerator, respectively.
  2870. 2002-10-28 Per Bothner <per@bothner.com>
  2871. The classes gnu.expr.Symbol and gnu.commonlisp.lang.Symbol were
  2872. renamed to gnu.expr.Symbols and gnu.commonlisp.lang.Symbols.
  2873. 2002-10-22 Per Bothner <per@bothner.com>
  2874. * kawa/Shell.java (run): Print file and line on IOException.
  2875. If !interactive and caught unresumable exception, return.
  2876. 2002-10-21 Per Bothner <per@bothner.com>
  2877. * kawa/MessageArea.java (doFocus): Remove field - always true.
  2878. (<init>): Don't set focus.
  2879. (isFocusTraversable): Remove - now equivalent to super method.
  2880. * kawa/GuiConsole.java (<init>): Change new MessageArea to match.
  2881. 2002-10-14 Francisco Vides Fernández <pvides@dedalo.ws>
  2882. * kawa/GuiConsole.java (<init>): Pass true for focus argument
  2883. in Message constructor.
  2884. 2002-10-20 Per Bothner <per@bothner.com>
  2885. * kawa/standard/require.java (scanForDefinitions): Change to create
  2886. an alias declaration as well as the imported field. This is needed
  2887. if the imported decl is re-exported or used in an exported macro.
  2888. * kawa/standard/define_syntax.java (scanForDefinitions): Set type.
  2889. * kawa/lang/Translator.java (rewrite_pair): Follow aliases
  2890. before checking for macro.
  2891. * kawa/lang/Macro.java (copying <init>): Copy name as well.
  2892. * kawa/standard/define_alias.java (rewrite): Simplify.
  2893. 2002-10-17 Per Bothner <per@bothner.com>
  2894. * kawa/standard/location.java (rewriteArg): Removed. No longer
  2895. needed now that Translator.rewrite doesn't create PrimProcedures.
  2896. (rewrite): Replace rewriteArg cal by call to Translator.rewrite.
  2897. * kawa/standard/define_alias.java (rewrite): Likewise.
  2898. 2002-09-28 Jim White <jim@pagesmiths.com>
  2899. * build.xml: Compile .scm files for xml-classes.
  2900. Remove unneeded workaround in servlet-classes.
  2901. 2002-09-27 Per Bothner <per@bothner.com>
  2902. * kawa/lang/Translator.java (rewrite): Only map Procedure to
  2903. 2002-09-27 Per Bothner <per@bothner.com>
  2904. * kawa/lang/Translator.java (rewrite): Only map Procedure to
  2905. field Declaration if Compilation.inlineOk.
  2906. 2002-09-26 Per Bothner <per@bothner.com>
  2907. * kawa/standard/ScmEnv.java (get): Follow aliases.
  2908. * kawa/standard/require.java (scanForDefinitions): Recognize aliases,
  2909. as indicated by the type gnu.mapping.Location.
  2910. * kawa/standard/map.java (applyN): Handle for-each properly
  2911. when arity is 1.
  2912. 2002-09-24 Per Bothner <per@bothner.com>
  2913. * kawa/standard/define.java (scanForDefinitions): If inlineOk is false,
  2914. mark declaration as writeable, even if functional definition.
  2915. * kawa/repl.java (processArgs): Set compile.inlineOk to false
  2916. if --no-inline or --inline=none is specified.
  2917. * kawa/repl.java (printOptions): Also mention --output-format.
  2918. * kawa/repl.java (processArgs): Update copyright year printed by --version.
  2919. 2002-09-21 Per Bothner <per@bothner.com>
  2920. * kawa/lang/Lambda.java (rewrite, rewriteBody): Use 'matches'
  2921. method of Translator to match against '::'.
  2922. * kawa/standard/Scheme.java (initScheme): Add define-record-type.
  2923. 2002-08-22 Per Bothner <per@bothner.com>
  2924. * kawa/lang/Macro.java (expander): Change type to Object.
  2925. (getExpander): Remove unused method.
  2926. (expand): Handle expander as evaluated Procedure, or
  2927. an re-written S-expression. If latter, re-write it.
  2928. * kawa/standard/define_syntax.java (scanForDefinitions): Set expander.
  2929. (rewrite): Re-write expander if it has been re-written yet.
  2930. 2002-08-16 Per Bothner <per@bothner.com>
  2931. * kawa/lang/Translator.java (rewrite): Always look for known
  2932. functions, even if immediate.
  2933. 2002-08-10 Jim White <jim@pagesmiths.com>
  2934. * build.xml: Patch to compile HTTP.scm.
  2935. 2002-08-04 Per Bothner <per@bothner.com>
  2936. * kawa/standard/{string_ci_equal_p.java, string_ci_greaterequal_p.java,
  2937. string_ci_greaterthan_p.java, string_ci_lessequal_p.java,
  2938. string_ci_lessthan_p.java, string_greaterequal_p.java,
  2939. string_greaterthan_p.java, string_lessequal_p.java,
  2940. string_lessthan_p.java}: Removed - noew use kawa.lib.strings.
  2941. * kawa/standard/Makefile.am: Update accordingly.
  2942. * kawa/standard/vector_append.java (vectorAppend): New static field.
  2943. (<init>): New constructor
  2944. * kawa/standard/Scheme.java (initScheme): Update accordingly.
  2945. 2002-08-02 Per Bothner <per@bothner.com>
  2946. * kawa/standard/expt.java (expt): New static methods.
  2947. (expt) New static final field.
  2948. * kawa/standard/Scheme.java (initScheme): Use define_field for "expt".
  2949. 2002-07-29 Per Bothner <per@bothner.com>
  2950. * kawa/standard/prim_throw.java (primitiveThrow): New static field.
  2951. * kawa/standard/Scheme.java (initScheme): Define "primitive-throw"
  2952. using define_field, so it can be inlined.
  2953. 2002-07-28 Per Bothner <per@bothner.com>
  2954. * kawa/standard/Scheme.java (getNamedType): Define <never-returns>.
  2955. 2002-07-25 Per Bothner <per@bothner.com>
  2956. * kawa/lang/Translator.java (rewrite_pair): Remove some optimizations,
  2957. and argument count checking. They are now done in InlineCalls.
  2958. 2002-07-24 Per Bothner <per@bothner.com>
  2959. * kawa/Shell.java (run): Update for gnu.expr changes.
  2960. * kawa/standard/load.java (loadSource): Likewise.
  2961. * kawa/lang/CompileFile.java: Likewise.
  2962. (read): Return Compilation instead of ModuleExp.
  2963. (compile_to_file): Catch compile-time exceptions.
  2964. * kawa/lang/Eval.java (evalBody): Updates.
  2965. * kawa/lang/Translator.java: Update Parser -> Compilation.
  2966. Replace current_line etc by Compilation's getLine etc methods.
  2967. (module, getModule): Now in Compilation.
  2968. * kawa/standard/Scheme.java (makeModuleExp): Moved to LispInterpreter.
  2969. * kawa/lang/Translator.java (matches): New method.
  2970. * kawa/standard/define.java (rewriteForm): Use new matches method.
  2971. * kawa/standard/let.java (write): Likewise.
  2972. 2002-07-21 Per Bothner <per@bothner.com>
  2973. * kawa/standard/map.java (inline): Take extra ExpWalker parameter.
  2974. * kawa/lang/Translator.java (rewrite_pair): Check for dotted list.
  2975. 2002-07-02 Per Bothner <per@bothner.com>
  2976. * kawa/standard/string_append.java (stringAppend$V): Remove
  2977. needless toString - which also make it null-safe.
  2978. * kawa/standard/ScmEnv.java: Remove unneeded (and harmful) import.
  2979. 2002-06-26 Per Bothner <per@bothner.com>
  2980. * build.xml: Update XMLParser.java -> XMLParserChar.java.
  2981. * build.xml (lib-scm-2nd): Add arrays.scm.
  2982. (slib-scm): Add srfi1.scm.
  2983. 2002-06-13 Per Bothner <per@bothner.com>
  2984. * build.xml (java-classes): Add gnu/kawa/util/. Reported by
  2985. Mirko.Luedde@Computer.Org.
  2986. 2002-06-12 James P. White <jim@pagesmiths.com>
  2987. * build.xml (java-classes): Add gnu/kawa/xml and gnu/xml/.
  2988. 2002-06-12 Per Bothner <per@bothner.com>
  2989. * configure.in: Set version to 1.6.99.
  2990. * build.xml (version.release): Set to 1.6.99.
  2991. * Makefile.am (JAVADOC_PACKAGES): Add gnu.kawa.xslt.
  2992. 2002-06-11 Per Bothner <per@bothner.com>
  2993. * configure.in (--with-sax2): New flag.
  2994. (AC_OUTPUT): Craete gnu/kawa/xslt/Makefile and gnu/kawa/sax/Makefile.
  2995. * build.xml: Support with-xax2 option.
  2996. * build.properties: Document with-ax2 flag.
  2997. Build gnu/kawa/xslt/ and gnu/kawa/sax/ if appropriate.
  2998. * kawa/repl.java (commandLineArgArray): New variable.
  2999. (setArgs): Set commandLineArgArray.
  3000. * build.xml: Generate Focus.java from gnu/kawa/xml/Focus.java.in.
  3001. 2002-06-10 Per Bothner <per@bothner.com>
  3002. * kawa/standard/Scheme.java: Define srfi-25 array functions.
  3003. 2002-06-02 Per Bothner <per@bothner.com>
  3004. * kawa/standard/define_alias.java (scanForDefinitions):
  3005. Call Translator's pushBinding to make alias compiler-visible.
  3006. 2002-05-29 Per Bothner <per@bothner.com>
  3007. * Makefile.am (kawa-@VERSION@.jar): Change rule so we hopefully don't
  3008. pick up extreanous .class files.
  3009. 2002-05-28 Per Bothner <per@bothner.com>
  3010. * kawa/lang/Macro.java (capturedIdentifiers, capturedFields
  3011. templateIdentifiers, capturedDeclarations): New fields.
  3012. (make): New static methods.
  3013. (captureDecls, getUsedFieldsList): New methods.
  3014. * kawa/lang/SyntaxRule.java (template_identifiers, captured_decls):
  3015. Removed fields. Instead use capturedIdentifiers and
  3016. capturedDeclarations from current Macro.
  3017. (<init>): Capture decls in SyntaxRules.<init>, not here.
  3018. (execute)_template): Removed. Munging of tr.environ is now
  3019. done in SyntaxRules.expand.
  3020. * kawa/lang/SyntaxRules.java (calculate_maxVars, <init>):
  3021. Take extra length parameter.
  3022. (<init>): Get capturedIdentifiers from current Macro, and set them.
  3023. (expand): Munge tr's environ to use macro-definition-time decls.
  3024. * kawa/lang/Translator.java (currentMacroDefinition): New field.
  3025. (lookup. lookupGLobal): New methods.
  3026. (finishModule): Only error if NOT_DEFINING and not IS_UNKNOWN.
  3027. (pushDeclsStart): New method.
  3028. (popDecls): Now takes no arguments.
  3029. * kawa/standard/define_syntax.java: Use new Macro.make method.
  3030. Set/restore tr.currentMacroDefinition
  3031. * kawa/standard/let_syntax.java: Likewise.
  3032. * kawa/standard/require.java (scanForDefinitions): If the loaded value
  3033. is a Macro, at end call its captureDecls method.
  3034. * kawa/lang/AutoloadSyntax.java (rewriteForm): Set currentSyntax.
  3035. 2002-04-18 Per Bothner <per@bothner.com>
  3036. * kawa.repl (exitCounter): New static field.
  3037. (exitIncrement, exitDecrement): New static methods.
  3038. (main): Call exitDecrement.
  3039. * kawa/GuiConsole.java (numConsoles): Removed static field.
  3040. (<init>): Call repl's exitIncrement instead of upping numConsoles.
  3041. (close): Instead of incrementing/testing numConsoles,
  3042. call repl's exitDecrement.
  3043. * kawa.repl (windowStarted): Removed field.
  3044. (processArgs): Don't set windowStarted.
  3045. (main): Don't test windowStarted - I don't think it makes sense.
  3046. * kawa/lang/Record.java (makeRecordType): No longer need to
  3047. catch java.io.IOException, since writeToArray now takes care of it.
  3048. 2002-03-21 Per Bothner <per@bothner.com>
  3049. * kawa/lang/Lambda.java (rewrite): Check for mis-placed '::'.
  3050. * kawa/standard/IfFeature.java: New class, extends Syntax.
  3051. * kawa/standard/Makefile.am (java_sources): Add IfFeature.java.
  3052. * kawa/standard/Scheme.java: Standard procedures memq, memv, member,
  3053. assq, assv, and assoc are now defined in kawa.lib.syntax.
  3054. * kawa/standard/require.java: Recognuze 'srfi-1 and 'list-lib.
  3055. 2002-03-19 Per Bothner <per@bothner.com>
  3056. * configure.in (AC_OUTPUT): Add gnu/jemacs/swing/Makefile.
  3057. 2002-03-07 Per Bothner <per@bothner.com>
  3058. * kawa/lang/Translator.java (rewrite_pair): Use get, with a default,
  3059. in case there is an existing Binding, but it is unbound.
  3060. * configure.in (pathset, filesep): New substitutions.
  3061. * Make-rules (CLASSPATH_ENV): Use pathsep and filesep.
  3062. * configure.in: Add links for 3 gnu/xquery/testsuite xml data files.
  3063. 2002-03-02 Per Bothner <per@bothner.com>
  3064. * .../*/Makefile.am, Makefile.in: Updated to autmake-1.5d.
  3065. Since SOURCES now gets over-written, move source list to EXTRA_DIST.
  3066. Use automake include instead of autoconf substitution.
  3067. Remove AUTOMAKE_OPTIONS, except in doc.
  3068. Various related tweaks.
  3069. * AUTHORS, INSTALL, depcomp: New files, required by automake now
  3070. that AUTOMAKE_OPTIONS is no longer foreign.
  3071. * Make-rules: Various updates, now that we use autoamke inclusion.
  3072. (SED_REFERENCES_SUBS): Moved from 3 three other Makefile.am's.
  3073. * configure.in: Various fixes/tweaks.
  3074. * libtool.m4, ltmain.sh: Updated to cvs libtool.
  3075. * libtool.m4: Don't add -DPIC compile flag if tag is GCJ.
  3076. (ac_compile. ac_link): Add definitions.
  3077. * ltcf-c.sh, ltcf-cxx.sh, ltcf-gcj.sh, ltconfig: Removed.
  3078. * kawa/lang/CompileFile.java (read): Add throws specifications since
  3079. Interpreter's parseFile.has them.
  3080. (compile_to_files): Add catches.
  3081. * kawa/standard/Scheme.java (eval): Removed - now in Intrepreter.
  3082. * kawa/standard/require.java (<clinit>): HTTP is now in slib package.
  3083. 2002-02-20 Per Bothner <per@bothner.com>
  3084. * config.sub, config.guess: Updated from master versions.
  3085. 2002-02-16 Per Bothner <per@bothner.com>
  3086. * configure.in: Set version to 1.6.98.
  3087. * build.xml: Likewise.
  3088. * build.xml: Handle filtering of CallContext.java.in. Build gnu/brl.
  3089. * Makefile.am (+kawa-doc.tar.gz): New rule.
  3090. 2002-02-13 Per Bothner <per@bothner.com>
  3091. * Make-rules (scm-classes.stamp): Use SCM_COMPILE_FLAGS.
  3092. * kawa/lang/Translator.java (makeBody): Take extra ScopeExp arg.
  3093. If argument is a ModuleExp, wrap in append-values.
  3094. * kawa/lang/Translator.java (lookup, resolve): New methods.
  3095. (getBinding, rewrite): Using new methods reduces code duplication.
  3096. * kawa/repl.java: Remove calls to CallContext.setMainContext.
  3097. * Make-rules (DONT_EDIT_SUBS): Moved from gnu/xml/Makefile.am.
  3098. 2002-02-12 Per Bothner <per@bothner.com>
  3099. * kawa/repl.java (main, getInterpreterFromFilenameExtension,
  3100. getInterpreter): Call CallContext.setMainContext.
  3101. * kawa/Shell.java (run): Call CallContext.getInstance.
  3102. * kawa/standard/TracedProcedure.java (applyN): Likewise.
  3103. * kawa/standard/load.java (loadSource): Likewise.
  3104. * kawa/lang/Eval.java (evalBody, eval): Call CallContext.getInstance.
  3105. Set/restore CallContext's consumer.
  3106. * kawa/standard/load.java (loadClassFile): Explicitly check
  3107. for Runable rather than just cast to ModuleBody.
  3108. 2002-02-11 Per Bothner <per@bothner.com>
  3109. * configure.in: Link testsuite/scribble.html.in to scribble.html.
  3110. 2002-02-05 Per Bothner <per@bothner.com>
  3111. * configure.in: Add links to two more xml data-sets for xml tests.
  3112. 2002-01-31 Per Bothner <per@bothner.com>
  3113. * kawa/standard/Scheme.java (initScheme): No longer define
  3114. response-header - the programmer must first (require 'http) now.
  3115. 2002-01-29 Per Bothner <per@bothner.com>
  3116. * read.java: Since apply1 can now throw Throwable, don't need to
  3117. wrap exception. However, so call SyntaxException's new setHeader.
  3118. Don't call ScmRead's statuc readObject, which creates a new ScmRead.
  3119. * configure.in: Also make link to gnu/xquery/testsuite/bib.xml.in.
  3120. * gnu/brl: New package - code imported from BRL.
  3121. * configure.in (AC_OUTPUT): Also generate gnu/brl/Makefile.
  3122. * kawa/repl.java (getInterpreterFromFilenameExtension): New static.
  3123. (processArgs, main): Use filename extension to select language.
  3124. * kawa/standard/reequire: Handle (require 'http).
  3125. * kawa/standard/reequire (scanForDefinitions): Coerce find call
  3126. to void if we're not actually using it (to prevent it being
  3127. printed when we're compiling with implicit values-append).
  3128. 2002-01-23 Per Bothner <per@bothner.com>
  3129. * build.xml: Add enable-xml flag, to build xml-related classes.
  3130. * build.properties: Add/document enable-xml.
  3131. * configure.in (AC_OUTPUT): Also make gnu/kawa/brl/Makefile.
  3132. * kawa/Shell.java (run): Call Lexer's setInteractive if TtyInPort.
  3133. * kawa/standard/Scheme.java (initScheme): Define values-append.
  3134. Fix definition of unescaped-data.
  3135. * kawa/lang/Translator.java (makeBody): New method.
  3136. (rewrite_body, finishModule): Use makeBody.
  3137. 2002-01-21 Per Bothner <per@bothner.com>
  3138. * kawa/standard/Scheme.java: Also define 'unescaped-data'.
  3139. * acinclude.m4: New check-in.
  3140. 2002-01-19 Per Bothner <per@bothner.com>
  3141. * kawa/lang/CompileFile.java (apply2): Don't catch and re-throw.
  3142. 2002-01-13 Per Bothner <per@bothner.com>
  3143. * kawa/standard/Scheme.java (initScheme): Define response-header.
  3144. * kawa/Shell.java (format): New static table.
  3145. (setDefaultFormat, getOutputConsumer): New static methods.
  3146. (run): New overload taking an output Consumer instead of an OutPort.
  3147. * kawa/repl.java (processArgs): New method.
  3148. New code to handle "\\" and "--output-format" or "--format".
  3149. (main): Use processArgs.
  3150. * kawa/standard/load.java (loadSource): Use getOutputConsumer.
  3151. Wrap body in a beginDocument/endDocument pair.
  3152. 2002-01-07 Per Bothner <per@bothner.com>
  3153. * kawa/lang/CompileFile.java (compile_to_files): Do mangleNameIfNeeded.
  3154. 2001-12-24 James P. White <jim@pagesmiths.com>
  3155. * kawa/repl.java (main): Need to increment iArg on -w.
  3156. 2001-12-24 Per Bothner <per@bothner.com>
  3157. * kawa/lang/Translator.java (rewrite_pair): Don't crash if we
  3158. get a Procedure with a null name.
  3159. 2001-11-27 Per Bothner <per@bothner.com>
  3160. * Makefile.am (JAVADOC_PACKAGES): Add new packages.
  3161. Add coment docuemnting javadoc procedure.
  3162. * Makefile.am (dist-kawa-@VERSION@.jar): Add configure options.
  3163. (kawa-@VERSION@-src.zip, kawa-src.zip): New rules.
  3164. 2001-11-26 Per Bothner <per@bothner.com>
  3165. * build.xml (build.dir): Change to basedir.
  3166. (echo): Also output dist.kawa.jar. Avoids tabs.
  3167. 2001-11-24 Per Bothner <per@bothner.com>
  3168. * build.xml, build.properties: Update from Jim White.
  3169. * Makefile.am: Add more directories (conditionally) to JAR_DEPS.
  3170. * kawa/standard/convert.java: Moved to gnu.kawa.functions.Convert.
  3171. * kawa/standard/Makefile.am: Update accordingly
  3172. * kawa/standard/Scheme.java (initScheme): Likewise.
  3173. * kawa/standard/Scheme.java (getTypeFor): Map "java.lang.String"
  3174. to Type.tostring_type, for convenience.
  3175. * kawa/standard/{define_variable.java,let.java,let_syntax.java,
  3176. letrec.java,load.java,module_name.java,require.java}: Use 'name'
  3177. rather than `name' in messages.
  3178. * kawa/standard/map.java: The makeGetField helper methods was moved
  3179. from Expression to SlotGet.
  3180. * kawa/lang/Lambda.java: makeCoercion moved from Expression to Convert.
  3181. 2001-11-23 Per Bothner <per@bothner.com>
  3182. * kawa/lang/Lambda.java (rewriteBody): Call setReturnType.
  3183. * kawa/lang/AutoloadSyntax.java, kawa/lang/Lambda.java,
  3184. kawa/lang/Macro.java: Change errors message to use 'name' not `name'.
  3185. 2001-11-19 Per Bothner <per@bothner.com>
  3186. * kawa/standard/call_with_values.java (apply): Use CallContext's
  3187. getArgs method. Fixes testsuite regression.
  3188. 2001-11-18 Per Bothner <per@bothner.com>
  3189. Add support building Kawa using Ant, contributed by Jim White
  3190. with some hacking by yours truly.
  3191. * build.xml: New file, with build rules for Ant,
  3192. * build.properties: New file, with comment-out settable properties.
  3193. * Makefile.am (EXTRA_DIST): Add build.xml and build.properties.
  3194. * configure.in (AC_OUTPUT): Also make gnu/kawa/ant/Makefile.
  3195. 2001-11-18 Per Bothner <per@bothner.com>
  3196. * kawa/standard/define_namespace.java: Moved to gnu/kawa/xml and
  3197. renamed to DefineNamespace.java.
  3198. * kawa/standard/Makefile,am, kawa/standard/Scheme.java: Update.
  3199. 2001-11-12 Per Bothner <per@bothner.com>
  3200. * kawa/standard/Scheme.java (initScheme): Define current-error-port.
  3201. * kawa/standard/define_namespace.java (scanForDefinitions):
  3202. Use NamespaceEnv.NAMESPACE_PREFIX
  3203. 2001-11-05 Per Bothner <per@bothner.com>
  3204. * kawa/standard/Scheme.java (getNamedType): The type <String>
  3205. is now Type.tostring_type rather than Type.string_type.
  3206. * kawa/standard/Scheme.java (initScheme): Define let-values
  3207. and let*-values. [srfi-11]
  3208. 2001-11-01 Per Bothner <per@bothner.com>
  3209. * kawa/standard/define_namespace.java: New class; extends Syntax.
  3210. * kawa/standard/Makefile.am (java_sources0: Added define_nameapace..
  3211. * kawa/standard/Scheme.java (initScheme): Define define-namespace.
  3212. 2001-10-20 Per Bothner <per@bothner.com>
  3213. * kawa/Shell.java (run): Use CallContext's runUntilDone, not run.
  3214. (run, runFile): Catch Throwable, not Exception.
  3215. * kawa/lang/AutoloadProcedure.java, kawa/lang/Eval.java,
  3216. kawa/standard/callcc.java, kawa/standard/TracedProcedure.java,
  3217. kawa/standard/call_with_values.java, kawa/standard/map.java,
  3218. kawa/standard/force.java, kawa/standard/call_with_output_string.java,
  3219. kawa/standard/prim_throw.java, kawa/standard/throw_name.java,
  3220. (apply* methods, eval* methods): Now specify throws Throwable.
  3221. * kawa/lang/Promise.java (force): Likewise.
  3222. * kawa/standard/{call_with_input_file.java, call_with_output_file.java,
  3223. with_input_from_file.java, with_output_to_file.java,load.java):
  3224. Likewise. No longer need to catch exceptions.
  3225. * kawa/standard/prim_throw.java (throw_it): Specify throws Throwable.
  3226. No longer need to wrap checked exceptions.
  3227. * kawa/lang/Macro.java: Catch Throwable, not Exception.
  3228. * kawa/standard/constant_fold.java: Likewise.
  3229. * kawa/standard/Scheme.java (eval): Catch and wrap Throwable.
  3230. * kawa/lang/Record.java (get): Take extra defaultValue parameter.
  3231. * kawa/standard/ScmEnv.java (likewise):
  3232. (addExtra): New hook to add extra Environments to search.
  3233. * kawa/standard/Scheme.java (<init>): Use getNewEnvironment.
  3234. (getNewEnvironment): Use reflection to add NamespaceEnv.
  3235. 2001-10-17 Per Bothner <per@bothner.com>
  3236. * configure.in (AC_OUTPUT): Add gnu/kawa/xml/Makefile.
  3237. * kawa/standard/Scheme.java: Declare "attributes" procedure.
  3238. * kawa/standard/ScmEnv.java (getChecked): Look for "ns-alias:name".
  3239. 2001-10-16 Per Bothner <per@bothner.com>
  3240. * configure.in: Set version to 1.6.97.
  3241. * configure.in (--without-java-references): New flag.
  3242. (WITH_JAVA_REFERENCES) New automake conditional.
  3243. 2001-10-11 Per Bothner <per@bothner.com>
  3244. * config.guess: Import new version.
  3245. * configure.in: Set version to 1.6.96.
  3246. * confgure.in: New --enable-servlet flag.
  3247. (ENABLE_SERVLET): New automake conditional.
  3248. (AC_OUTPUT): Add gnu/kawa/servlet/Makefile.
  3249. * gnu/kawa/Makefile.am (SUBDIRS): Add servlet if ENABLE_SERVLET.
  3250. * kawa.repl: Handle --servlet option.
  3251. 2001-10-05 Per Bothner <per@bothner.com>
  3252. * kawa/standard/Scheme.java (getNamedType): Update "abstract-string"
  3253. for CharSequence -> CharSeq renaming.
  3254. 2001-09-24 Per Bothner <per@bothner.com>
  3255. * kawa/standard/NumberCompare.java: Moved to gnu.kawa.functions.
  3256. * kawa/standard/divide_oper.java: Ditto; renamed to DivideOp.
  3257. * kawa/standard/multiply_oper.java: Ditto; renamed to MultiplyOp.
  3258. * kawa/standard/Makefile.am: Update accordingly.
  3259. * kawa/standard/Scheme.java: Likewise.
  3260. 2001-09-21 Per Bothner <per@bothner.com>
  3261. * kawa/lang/AutoloadProcedure.java (load): If getFunction
  3262. raises an UnboundSumbol, catch that silently.
  3263. * kawa/standard/define.java (scanForDefinition): For define-private,
  3264. set PRIVATE_SPECIFIED explicitly in addition to default PRIVATE flag.
  3265. * kawa/lang/Translator.java (finishModule): Only complain about
  3266. export and private mismatch if PRIVATE_SPECIFIED.
  3267. * kawa/standard/require.java (scanForDefinition): Look for instance
  3268. declaration in current Environment.
  3269. Make the instance declaration readable, so it won't becomes 'ignored'.
  3270. Use getDefineto define imported fields..
  3271. 2001-09-20 Per Bothner <per@bothner.com>
  3272. Add support for --help, based on a patch from
  3273. Andreas Schlapbach <schlpbch@kde.org>.
  3274. * kawa/kawa.repl (printOptions): New method.
  3275. (main, bad_option): Use printOptions.
  3276. 2001-09-13 Per Bothner <per@bothner.com>
  3277. * configure.in: Fix typo in help text for --with-gcj.
  3278. Create tab.xml using AC_LINK_FILES rather than AC_OUTPUT.
  3279. * kawa/standard/define.java (scanForDefinitions): Remove test for
  3280. usingTailCalls.
  3281. 2001-08-30 Per Bothner <per@bothner.com>
  3282. * kawa/lang/Record.java (makeRecordType): Use mangleIfNeeded.
  3283. 2001-08-24 Per Bothner <per@bothner.com>
  3284. * kawa/lang/Translator.java (pushPositionOf, popPositionOf):
  3285. New methods to make it easier to save and restore line numbers etc.
  3286. (rewrite_with_position): Use new methods.
  3287. (exp2Type): New method
  3288. * kawa/lang/Lambda.java (rewrite): Use new method.
  3289. * kawa/standard/object.java (rewriteClassDef): Likwise.
  3290. * kawa/standard/thisRef.java: New class, extends Syntax.
  3291. * kawa/standard/Makefile.am (java_sources): Add thisRef.java.
  3292. * kawa/standard/Scheme.java (initScheme): Change define for "this".
  3293. 2001-08-23 Per Bothner <per@bothner.com>
  3294. * configure.in (AC_OUTPUT): Add gnu/xquery/testsuite/tab.xml.
  3295. * kawa/standard/object.java (rewriteClassDef): New implementation to
  3296. handle CLOS-style keyword-options arguments.
  3297. * kawa/standard/require.java (scanForDefinitions): Map implementation
  3298. type to source type when setting type of declaration.
  3299. 2001-08-17 Per Bothner <per@bothner.com>
  3300. * kawa/repl.java (main): Don't getInterpreter on --connect.
  3301. Wait until processing other arguments.
  3302. * kawa/standard/Scheme.java (demangleName): Moved two methods
  3303. to gnu/expr/Compilation.java.
  3304. * kawa/standard/Scheme.java (initScheme): Define define-class,
  3305. define-simple-class. map-values, and children.
  3306. * kawa/standard/define_class.java: New working implementation.
  3307. * kawa/standard/load.java (loadSource): If getMainPrintValues(),
  3308. then expression values are printed to standard output.
  3309. * kawa/Shell.java (run): Clear list of errors after SyntaxException.
  3310. (runString): If ModuleBody.getMainPrintValues(), print to outDefault.
  3311. * kawa/standard/object.java (rewriteClassDef): Take ClassExp.
  3312. Allow super type to be non-constant.
  3313. 2001-07-18 Per Bothner <per@bothner.com>
  3314. * configure.in: Set version to 1.6.95.
  3315. * Makefile.am (JAR_DEPS_XML): Add gnu/xquery/lang/java-classes.stamp.
  3316. * configure.in: --with-awt defalts except if --with-gcj.
  3317. (LIBKAWA): Automake conditional renamed to WITH_GCJ.
  3318. (WITH_AWT): New automake conditional.
  3319. (AC_OUTPUT): Add gnu/xquery/*/Makefile.
  3320. * kawa/Shell.java (run): Use Interpreter's new getPropter method.
  3321. Use Interpreter's new interp.getOutputConsumer method.
  3322. Use Interpreter's new parse method.
  3323. * kawa/lang/CompileFile.java (read): Don't take Translator arg,
  3324. instead allocate it locally, but take SOurceMessages arg.
  3325. (apply2): Update accordingly.
  3326. * kawa/standard/load.java (loadSource): Likewise.
  3327. * kawa/standard/Scheme.java: Extend LispInterpreter.
  3328. (initScheme): Add print-as-xml, make-element, make-attribute.
  3329. Various procedures have been moved or now use define_field.
  3330. * kawa/lang/Lambda.java (rewriteBody): Update package of Consumer.
  3331. * kawa/lang/SyntaxRule.java: Use Scheme.writeFrmat, instead of
  3332. semi-deprecated SFormat.print.
  3333. * kawa/lang/Translator.java (immediate): Field moved up to Parser.
  3334. (scan_form): Made public since called by LispInterpreter.
  3335. (push, pop, pushDecls, popDecls): Moved from Parser.
  3336. 2001-06-19 Per Bothner <per@bothner.com>
  3337. * kawa/repl.java (main): Don't runCleanups at end if we succeeded
  3338. in registerShutdownHook or started a window with -w.
  3339. 2001-06-17 Per Bothner <per@bothner.com>
  3340. * kawa/lang/Lambda.java: Handle symbol as Binding.
  3341. * kawa/lang/Translator.java: Handle symbol as Binding.
  3342. * kawa/standard/define_autoload.java: Likewise.
  3343. * kawa/standard/fluid_let.java: Likewise.
  3344. * kawa/standard/let.java: Likewise.
  3345. * kawa/standard/prim_method.java: Likewise.
  3346. * kawa/standard.Scheme.java (getNamedType): Handle clisp:xxx as
  3347. well as elisp:xxx, and better error check.
  3348. * configure.in: Set version to 1.6.94.
  3349. * configure.in (WITH_SWING): New automake conditional.
  3350. (AC_OUTPUT): Add gnu/commonlisp/lisp/Makefile.
  3351. * Make-rules (clisp-classes.stamp): New rule.
  3352. * Makefile.am: Use automake conditionals.
  3353. (kawa-@VERSION@-jar): Depend on */*.stamp files.
  3354. * Makefile.am (JAVADOC_PACKAGES): Update list.
  3355. (JAVADOC_DIR): Change.
  3356. (install-javadoc-html): Use -sourcepath to get generated files.
  3357. 2001-06-09 Per Bothner <per@bothner.com>
  3358. * configure.in: Set version to 1.6.92.
  3359. * configure.in (ENABLE_XML): New automake conditional.
  3360. 2001-06-04 Per Bothner <per@bothner.com>
  3361. No longer install the .class files, but install kawa.jar instead.
  3362. * Make-rules (install-java-classes, install-data-am): Removed.
  3363. * Makefile.am (CLEANFILES): Add *.jar.
  3364. (kawa-@VERSION@.jar): New only makes jar file, without new configure.
  3365. (dist-kawa-@VERSION@.jar): Renamed from old kawa-@VERSION@.jar.
  3366. (install-jar): New rule.
  3367. (install-data-am): New dependency - depend on install-jar.
  3368. (all-redirect): New dependency, on kawa-@VERSION@.jar.
  3369. (distall): Depend on dist-kawa-@VERSION@.jar, not plain kawa.jar.
  3370. * kawa/Makefile.am (EXTRA_DIST): Include $(java_WITH_AWT).
  3371. 2001-06-03 Per Bothner <per@bothner.com>
  3372. * Make-rules ($(PACKAGE_FNAME).lo): Link $^ rather than $? to get
  3373. all the dependencies, not just the out-of-date ones.
  3374. * kawa/standard/Scheme.java (writeFormat, displayFormat): New fields.
  3375. (getFormat): New method.
  3376. (<init>): Change procedures display and write.
  3377. (print): Removed method.
  3378. * kawa/standard/require.java (find(Class,Environment)): Don't run
  3379. Runnable instance here (at compile-time).
  3380. (find(String)): Run it here instead (at run-time).
  3381. (scanForDefinitions): If no instance yet, but class is Runnable,
  3382. return ApplyExp to find instance at run-time.
  3383. * kawa.repl (main): New --debug-print-expr option.
  3384. Update copyright date printed by --version.
  3385. Call WriterManager's registerShutdownHook.
  3386. Call OutPort's runCleanups method in finalizer.
  3387. * Shell.java (run): Instead of printing results here, call evalModule
  3388. with the standard output as the Consumer.
  3389. 2001-05-16 Per Bothner <per@bothner.com>
  3390. * kawa/lang/SpecialType.java: Moved to gnu.kawa.lispexpr.LangPrimType.
  3391. * kawa/lang/Makefile.am (java_sources): Remove SpecialType.java.
  3392. * kawa/standard/Scheme.java: Update to use LangPrimType instead
  3393. of SpecialType. Use statics of LangPrimType instead of Scheme.
  3394. 2001-05-08 Per Bothner <per@bothner.com>
  3395. * configure.in: Add AC_OBJEXT and AC_CANONICAL_HOST (otherwise
  3396. make install tried to use libtool).
  3397. Change --enable-gcc-compiled to --with-gcj.
  3398. * libtool.m4, ltcf-c.sh, ltcf-cxx.sh, ltcf-gcj.sh, ltconfig, ltmain.sh:
  3399. New files, part of libtool support.
  3400. * Makefile.am (EXTRA_DIST): Add new files.
  3401. * Make-rules: Various cleanups for libtool support.
  3402. * */Makefile.am: Various changes for libtool support etc.
  3403. * kawa/Makefile.am (EXTR_DIST): Add Version.java.in.
  3404. * kawa/Shell.java: Avoid removed PairWithPosition constructor.
  3405. * kawa/lang/Eval.java (eval, evalBody): New method overloads.
  3406. (apply(Environment,CallContext)): New method.
  3407. * kawa/standard/load.java (loadClassFile): No longer test that inst
  3408. is a Procedure0 (it is now a CpsProcedure).
  3409. * kawa/standard/require.java (find): Don't check if value is a
  3410. MdouleBody, since ModuleBody is now always Runnable.
  3411. 2001-05-01 Per Bothner <per@bothner.com>
  3412. * configure.in: Set version to 1.6.91.
  3413. 2001-04-26 Per Bothner <per@bothner.com>
  3414. * configure.in: Set version to 1.6.90.
  3415. Change most Makefile.am back to worked with released automake.
  3416. This means include of Make-rules must be handled by automake, which
  3417. is less ideal, but automake snapshots are too buggy.
  3418. * Make-rules: Bunch of little changes.
  3419. * Makefile.am (EXTRA_DIST): Add Make-rules.
  3420. * configure.in: Add AC_SUBST_FILE for Make-rules.
  3421. 2001-04-23 Per Bothner <per@bothner.com>
  3422. * kawa/standard/Scheme.java (getNamedType): Add <readtable>.
  3423. * kawa/standard/require.java: Add readtable feature.
  3424. 2001-04-22 Per Bothner <per@bothner.com>
  3425. * kawa/lang/CompileFile.java (readBody): Removed method.
  3426. * kawa/standard/Scheme.java (eval): Re-write to use new static
  3427. ReaderParens.readList instead of CompileFile.readBody.
  3428. * kawa/standard/define_autoload.java (findAutoloadComments):
  3429. Update call to LispReader's readNestedComment for new argument list.
  3430. * kawa/standard/string2number.java (parse): Use new
  3431. LispReader.parseNumber method.
  3432. 2001-04-11 Per Bothner <per@bothner.com>
  3433. * kawa/lang/Eval.java (eval): If argument is PairWithPosition,
  3434. use it to set position of temporary "body" PairWithPosition.
  3435. (evalBody): If body is PairWithPosition, set ModuleExp's filename.
  3436. * kawa/standard/Scheme.java (initScheme): Define <pair-with-position>.
  3437. 2001-04-09 Per Bothner <per@bothner.com>
  3438. * kawa/standard/require.java (<clinit>): Also handle require 'xml.
  3439. * Make-rules (CLEANFILE): Also remove $(OFILES_DIR)/$(PACKAGE_FNAME).o.
  3440. * configure.in (AC_OUTPUT): Replace gnu/kawa/xml by gnu/xml.
  3441. * kawa/Makefile.am (SOURCES): Removed - recent automake complains.
  3442. (EXTRA_DIST): Use this instead.
  3443. * kawa/lang/Makefile.am (CLEANFILES): Remove redundant macro.
  3444. * kawa/lib/Makefile.am (CLEANFILES): Likewise.
  3445. 2001-04-07 Thomas Kirk <tk@research.att.com>
  3446. * kawa/standard/load.java(loadCompiled): Avoid leaking
  3447. zipfiles by calling new method ZipLoader.loadAllClasses, which
  3448. reads all classes immediately so that zipfile can be closed,
  3449. 2001-03-22 Per Bothner <per@bothner.com>
  3450. * Make-rules: Various tweaks.
  3451. If compiling .class to native, no longer need to make classes.jar.
  3452. (install-java-classes): New rule.
  3453. * Makefile.am (SUBDIRS): Added new bin directory.
  3454. (KAWA1_OFILES, kawa1$(exeext)): Moved to bin/Makefile.am.
  3455. * configure.in: (AC_OUTPUT): Add bin/Makefile.
  3456. If --enable-gcj-compiled, default JAVA and JAVAC to gij and gcj.
  3457. * bin: New sub-directory.
  3458. * kawa/kawa.c: Moved to new bin directory.
  3459. * kawa/Makefile.am: Moved stuff to bin/Makefile.am.
  3460. * repl.java (checkInitFile): Set home-directory variable *before*
  3461. running init file.
  3462. * Shell.java (run): Fix logic for EOF testing,
  3463. 2001-03-08 Per Bothner <per@bothner.com>
  3464. Many changes to handlenew gnu.lists package.
  3465. * Make-rules (CLEANFILES): New definition.
  3466. * configure.in: Handle --with-java-collection flag.
  3467. * kawa/Shell.java, kawa/repl.java:
  3468. Import gnu.lists instead of gnu.kawa.util.
  3469. * kawa/lang/{AutoloadSyntax.java,CompileFile.java,Eval.java,
  3470. Lambda.java,ListPat.java,ListRepeatPat.java,Macro.java,PairPat.java,
  3471. Quote.java,Record.java,RecordConstructor.java,Syntax.java,
  3472. SyntaxRule.java,SyntaxRules.java,Translator.java,VarListPat.java}:
  3473. Likewise. Also, use LList.listLength instead of LList.length.
  3474. * kawa/standard/{and_or.java,append.java,begin.java,
  3475. call_with_output_string.java,cxr.java,define.java,define_alias.java,
  3476. define_autoload.java,define_class.java,define_member_alias.java,
  3477. define_syntax.java,define_unit.java,define_variable.java,export.java,
  3478. fluid_let.java,let.java,let_syntax.java,letrec.java,load.java,
  3479. location.java,map.java,module_extends.java,module_implements.java,
  3480. module_name.java,module_static.java,object.java,prim_method.java,
  3481. quasiquote.java,read_line.java,readchar.java,require.java,set_b.java,
  3482. string2number.java,string_append.java,string_v.java,synchronizd.java,
  3483. syntax_case.java,syntax_error.java,syntax_rules.java,try_catch.java,
  3484. try_finally.java,vector_append.java}:
  3485. Import gnu.lists instead of gnu.kawa.util.
  3486. Update LList.length->listLength, elementAt->get, length->size.
  3487. * kawa/standard/{exact_p.java,inexact_p.java,list_p.java,list_ref.java,
  3488. .list_tail.java,list2string.java,number2string.java,string2list.java,
  3489. vector2list.java}: Removed - re-written in Scheme.
  3490. * Makefile.am (java_JAVA): Remove removed files.
  3491. * Scheme.java (initScheme): Update accordingly.
  3492. (getNamedType): Update paths for classes now in gnu.lists.
  3493. * Scheme.java (define_field): Mangle the procedure name.
  3494. * missing: Update to newer version.
  3495. 2001-02-28 Per Bothner <per@bothner.com>
  3496. Support for compiling Kawa using Gcj.
  3497. * Make-rules: New file, to be include by each Makefile.am.
  3498. * Makefile.am (JAVADOC_PACKAGES): Add "recent" packages.
  3499. (kawa1$(exeext)): Make, using gcj, Kawa executable (Java-only part).
  3500. M aclocal.m4
  3501. * configure.in: Add support for --enable-gjc-compiled flag.
  3502. * .../Makefile.am: Include Make-rules; handle --enable-gjc-compiled.
  3503. * kawa/lang/Record.java: Use fully-qualified java.lang.reflect.Field
  3504. instead of import, as latter confuses Gcj.
  3505. * kawa/standard/Scheme.java: Use define_field for display.
  3506. * kawa/standard/map.java: Fix typo in comment.
  3507. * kawa/standard/require.java (featureMap, SLIB_PREFIX): Static fields
  3508. moved from gnu.kawa.slib.SLib.
  3509. (map, mapFeature): Methods moved from gnu.kawa.slib.SLib.
  3510. (scanForDefinitions): Uddate to use local mapFeature.
  3511. 2001-02-27 Per Bothner <per@bothner.com>
  3512. * kawa/repl.java (main): Field dumpZipPrefix moved to ModuleExp.
  3513. * kawa/standard/define_class.java: Comment out until we can fix it.
  3514. 2001-02-16 Per Bothner <per@bothner.com>
  3515. * configure.in: New --enable-xml flag.
  3516. (XML_SELECTED): New substitution macro.
  3517. * gnu/kawa/Makefile.am (SUBDIR): Add optional xml directory.
  3518. * kawa/standard/Scheme.java (getNamedType): Add <document>.
  3519. 2000-12-13 Per Bothner <per@bothner.com>
  3520. * kawa/standard/map.java (inline): Inline map as well as for-each.
  3521. * kawa/standard/quasiquote.java (expand_pair): Call LList.make
  3522. rather than kawa.lib.lists.cons.
  3523. (consType): Removed static field.
  3524. * kawa/standard/Scheme.java (initScheme): Add "reverse!".
  3525. The reverse function is now in kawa.lib.lists.
  3526. * kawa/standard/reverse.java: Removed.
  3527. * kawa/standard/Makefile.am (java_JAVA): Removed reverse.java.
  3528. 2000-12-13 Emmanuel Castro <castro@lirmm.fr>
  3529. * kawa/standard/Scheme.java (initScheme): 'error' is now in
  3530. kawa.lib.misc, not kawa.lib.syntax.
  3531. 2000-12-13 Per Bothner <per@bothner.com>
  3532. * kawa/standard/map.java (inline): Swap order of then-clause and
  3533. else-clause in generated code. Fixes bug 'for-each does not compile
  3534. in CVS tree' reported by Emmanuel Castro <castro@lirmm.fr>.
  3535. 2000-12-11 Per Bothner <per@bothner.com>
  3536. * kawa/standard/Scheme.java (map, forEach): New fields.
  3537. (<init>): Initialize map and forEach fields.
  3538. (initScheme): Defie map, for-each using define_field.
  3539. * kawa/standard/map.java: Implement CanInline.
  3540. (inline): New methods, to implement CanInline.
  3541. 2000-12-09 Per Bothner <per@bothner.com>
  3542. Patch from Matthias Radestock <matthias@lshift.net>:
  3543. * kawa/lang/AutoloadProcedure.java (env): New field.
  3544. (<init>): Extra Environment argument.
  3545. (load): Use env field instead of current Environment.
  3546. * kawa/lang/AutoloadSyntax.java: Likewise.
  3547. * kawa/standard/define_autoload.java: Pass Translator's global
  3548. environment to AutoloadProcedure and AutoloadSyntax constructors.
  3549. * kawa/standard/Scheme.java (define_proc, define_syntax): Pass
  3550. current environ to AutoloadProcedure and AutoloadSyntax constructors.
  3551. 2000-12-02 Per Bothner <per@bothner.com>
  3552. * kawa/lang/Macro.java (getExpander): New method.
  3553. * kawa/lang/Translator.java (addGlobal): Removed method.
  3554. (getBinding): Lookup using hygiene-resolved name.
  3555. (pushBinding): Do nothing if new value is name as old.
  3556. * kawa/standard/define.java (scanForDefinitions): Do pushBinding.
  3557. * kawa/standard/define_unit.java: Do pushBinding, not addGlobal.
  3558. * kawa/standard/define_syntax.java: Likewise.
  3559. * kawa/standard/require.java (scanForDefinitions): Likewise.
  3560. Also if value is a Macro, call bind on it.
  3561. * kawa/standard/open_output_file.java (openOutputFile): New static.
  3562. 2000-11-21 Matthias Radestock <matthias@lshift.net>
  3563. * kawa/standard/load.java (apply): Removes an incorrect fall-through
  3564. that results in files to be loaded twice.
  3565. * kawa/standard/require.java (find): Fixes lookup of module class
  3566. instances which resulted in multiple require's for the same module
  3567. to loadExecute the module multiple times
  3568. 2000-10-23 Per Bothner <per@bothner.com>
  3569. * kawa/lang/CompileFile.java (compile_to_files): Strip off any file
  3570. extension, not just ".scm" or ".el".
  3571. 2000-08-31 Emmanuel Castro <castro@lirmm.fr>
  3572. * kawa/standard/require (finf): Fix typo in error message.
  3573. 2000-10-13 Per Bothner <per@bothner.com>
  3574. * kawa/lang/Syntax.java: No longer extend Declaration.
  3575. (getName, setName): New methods.
  3576. (<init>): Do nothing - since not a Declaration.
  3577. * kawa/lang/Macro.java (bind): New method.
  3578. * kawa/lang/Record.java (put): Swap arguments in call to set1,
  3579. due to change in setter conventions.
  3580. * kawa/standard/cxr.java (set1): Swap arguments for new convention.
  3581. * kawa/standard/make.java (applyN): Likewise.
  3582. * kawa/standard/set_b.java (rewrite): Likewise.
  3583. * kawa/lang/Translator.java: Significant changes to support that
  3584. Syntax no longer extends Declaration, and that the introduction
  3585. of StaticFieldConstraint (which could replace autoloading).
  3586. * kawa/standard/call_with_values.java (apply): Update for changes
  3587. in CallContext.
  3588. * kawa/standard/let_syntax.java (rewrite): Update for Macro no
  3589. longer inheriting from Declaration.
  3590. * kawa/standard/define_syntax.java: Likewise.
  3591. * kawa/standard/let.java (let): New static final field.
  3592. * kawa/standard/car.java: Replaced by car from kawa/lib/lists.scm.
  3593. * kawa/standard/cdr.java: Replaced by cdr from kawa/lib/lists.scm.
  3594. * kawa/standard/plus_oper.java: Replaced by gnu.kawa.functions.AddOp.
  3595. * kawa/standard/minus_oper.java: Replaced by gnu.kawa.functions.AddOp.
  3596. * kawa/standard/Makefile.am: Update accordingly.
  3597. * kawa/standard/Scheme.java: Likewise.
  3598. 2000-10-12 Per Bothner <per@bothner.com>
  3599. * kawa/standard/{ceiling.java,floor.java,round.java,truncate.java,
  3600. ashift.java}: Replaced by new procedures in kawa/lib/numbers.scm.
  3601. * kawa/standard/Scheme.java: Update accordingly.
  3602. * kawa/standard/Makefile.am (java_JAVA): Remove removed classes.
  3603. * configure.in: Set version to 1.6.71.
  3604. (AC_OUTPUT): Add gnu/kawa/functions/Makefile.
  3605. * kawa/standard/apply.java: Moved to gnu/kawa/functions/Apply.java.
  3606. * kawa/standard/format.java: Moved to gnu/kawa/functions/Format.java.
  3607. * kawa/standard/ObjectFormat.java: Moved to gnu/kawa/functions.
  3608. * kawa/standard/TracedProcedure.java: Add import for ObjectFormat.
  3609. * kawa/standard/ParseFormat.java: Moved to gnu/kawa/functions.
  3610. * kawa/standard/LispFormat.java: Moved to gnu/kawa/functions.
  3611. * kawa/standard/ass.java: Moved to gnu/kawa/functions/Assoc.java.
  3612. * kawa/standard/eq_p.java: Moved to gnu/kawa/functions/IsEq.java.
  3613. * kawa/standard/equal_p.java: Moved to gnu/kawa/functions/IsEqual.java.
  3614. * kawa/standard/eqv_p.java: Moved to gnu/kawa/functions/IsEqv.java.
  3615. * kawa/standard/list_v.java: Moved to gnu/kawa/functions/MakeList.java.
  3616. * kawa/standard/mem.java: Moved to gnu/kawa/functions/Member.java.
  3617. * kawa/standard/setter.java: Moved to gnu/kawa/functions/Setter.java.
  3618. * kawa/standard/not.java (<init>(Interpreter,String)): New constructor.
  3619. * kawa/standard/prim_method.java (rewrite): More robust;
  3620. diagnostic for missing class.
  3621. * kawa/standard/convert.java (instance): Sttaic field renamed ...
  3622. (as): ... new field, now allocated at <clinit>-time.
  3623. (getInstance): Always return the 'as' field.
  3624. * kawa/standard/StaticFieldConstraint.java: New class,
  3625. extends ClassMemberConstraint.
  3626. * kawa/standard/Scheme.java (define_field): New methods.
  3627. (instanceOf, not, isEq, isEqv, isEqual, memq, memv, member, assq,
  3628. assv, assoc): New static fields for standard Procedures.
  3629. (initScheme): Numerous updates.
  3630. (parseFormat): Removed static field. (Use field in ParseFormat.)
  3631. * kawa/standard/Makefile.am: Numerous updates.
  3632. 2000-8-17 Per Bothner <per@bothner.com>
  3633. * kawa/standard/apply.java (apply): Update CallStack -> CallContext.
  3634. * kawa/standard/call_with_values.java (apply): Likewise.
  3635. * kawa/standard/callcc.java (apply): Likewise.
  3636. * kawa/lang/Lambda.java (rewriteBody): Handle ':: <TYPE> EXP ...'.
  3637. Use new makeCoersion method in Expression.
  3638. Support <sequence> result to use Consumer target.
  3639. 2000-10-09 Per Bothner <per@bothner.com>
  3640. * kawa/standard/prim_method.java (rewrite): Load reflectClass here;
  3641. emit diagnostic message on failure.
  3642. 2000-10-02 Per Bothner <per@bothner.com>
  3643. * kawa/standard/require.java (scanForDefinitions): If imported field
  3644. is a Binding, do setIndirectBinding(true).
  3645. 2000-08-16 Per Bothner <per@bothner.com>
  3646. * kawa/repl.java (main): The --cps flag also sets usingTailCalls.
  3647. * kawa/GuiConsole.java (<init>): Set autoflush for default out
  3648. and err Writers. Fix from Emmanuel Castro <castro@lirmm.fr>.
  3649. 2000-06-26 Per Bothner <per@bothner.com>
  3650. * kawa/lang/Translator.java (rewrite): If separate name spaces,
  3651. don't resolve regular name to procedure decl.
  3652. 2000-06-24 Per Bothner <per@bothner.com>
  3653. * configure.in: Set version to 1.6.70.
  3654. * configure.in (AC_OUTPUT): Add gnu/commonlisp/*.
  3655. * kawa/lang/Lambda.java: Mode a lot more generic.
  3656. (optionalKeyword, restKeyword, keyKeyword): New fields.
  3657. (rewriteBody): New method.
  3658. * kawa/standard/define.java (lambda): New field.
  3659. * kawa/standard/object.java (lambda): New field.
  3660. * kawa/standard/define_class.java (objectSyntax): New field.
  3661. * kawa/standard/Scheme.java: Update as appropriate.
  3662. 2000-06-19 Per Bothner <per@bothner.com>
  3663. * Makefile.am (kawa.jar): Fix dependency.
  3664. (EXTRA_DIST): Add jar-manifest.
  3665. * configure.in: Set version to 1.6.68.
  3666. (JEMACS_VERSION): New variable.
  3667. * Makefile.am: Add rules to make jemacs.tar.
  3668. (kawa-@VERSION@-compiled.jar): Renamed to kawa-@VERSION@.jar.
  3669. Do a full configure+make first.
  3670. * gnu/kawa/util/Char.java: Moved to gnu/text.
  3671. Various references had to be updated, or import statements added.
  3672. * kawa/repl.java: Update copyright printed by --version.
  3673. * kawa/standard/LispFormat.java (class LispIntegerFormat):
  3674. Moved and renamed to gnu/text/IntegerFormat.java.
  3675. * kawa/standard/ParseFormat.java: Add mostly-working (except that
  3676. precision is ignored) for %d %i %o %x and %X.
  3677. * kawa/standard/{char_ci_equal_p.java,char_ci_greater_equal_p.java,
  3678. char_ci_greater_p.java,char_ci_less_equal_p.java,char_ci_less_p.java,
  3679. char_equal_p.java,char_greater_equal_p.java,char_greater_p.java,
  3680. char_less_equal_p.java,char_less_p.java}: Removed. Subsumed by
  3681. new procedures in kawa/lib/characters.scm.
  3682. * kawa/standard/Makefile.am: Update accordingly.
  3683. * kawa/standard/Scheme.java: Update accordingly.
  3684. 2000-06-17 Per Bothner <per@bothner.com>
  3685. * kawa/lang/AutoloadProcedure.java (getProperty): New method.
  3686. * kawa/lang/AutoloadSyntax.java (load): Don't re-set in Environment.
  3687. * kawa/standard/Scheme.java (getTypeValue): Use getTypeFor method
  3688. of Interpreter.
  3689. * kawa/standard/ParseFormat.java (asFormat): New static method.
  3690. * kawa/standard/format.java (formatToString): New static method.
  3691. * kawa/standard/instance.java: Moved and renamed to
  3692. gnu/kawa/reflect/InstanceOf.java.
  3693. * kawa/standard/Makefile.am: Updated accordingly.
  3694. * kawa/standard/apply.java: Extend for use by ELisp.
  3695. (getArguments): Make static, add new skip parameter.
  3696. (apply, applyN): Adjust accordingly.
  3697. * kawa/standard/not.java (trueExp, falseExp): New fields.
  3698. (compile): Use them.
  3699. Also, pass interpreter to ConditionalTarget constructor.
  3700. 2000-06-09 Per Bothner <per@bothner.com>
  3701. * Makefile.am (SUBDIRS): Move testsuite before gnu, to "force" check
  3702. to be run there before in gnu/jemacs/testsuite.M
  3703. * configure.in (AC_OUTPUT): Added gnu/jemacs/testsuite/Makefile.
  3704. * kawa/lang/AutoloadProcedure.java: Implement Externalizable.
  3705. * kawa/lang/AutoloadSyntax.java: Implement Externalizable.
  3706. * kawa/lang/Syntax.java (<init>): Don't bother setting TYPE_SPECIFIED.
  3707. * kawa/lang/Translator.java (finishModule): Handle case of no forms.
  3708. * kawa/standard/define_autoload.java: New class, extends Syntax.
  3709. * kawa/standard/define_unit.java: New class, extends Syntax.
  3710. * kawa/standard/Makefile.am (java_JAVA): Update accordingly.
  3711. * kawa/standard/Scheme.java (initScheme): Add new syntaxes.
  3712. * kawa/standard/define_syntax.java (rewriteForm): Add a noteValue.
  3713. * kawa/standard/define.java (makeConstant): New field.
  3714. Generaize to implement define-constant.
  3715. * kawa/standard/require.java: If immediate, just call
  3716. ClassMemberConstraint.define.
  3717. * kawa/standard/set_b.java (rewrite): Complain if setting a constant.
  3718. 2000-06-09 Bruce Lewis <brlewis@alum.mit.edu>
  3719. * kawa/standard/read_line.java (apply): Fix off-by-one error in
  3720. handling of '\r' followed by '\n'.
  3721. 2000-05-28 Per Bothner <per@bothner.com>
  3722. * configure.in (AC_OUTPUT): Added gnu/kawa/lispexpr/Makefile.
  3723. * kawa/lang/CompileFile.java: LispReader moved to gnu.kawa.lispexpr.
  3724. * kawa/lang/ScmRead.java: Moved to gnu.kawa.lispexpr.
  3725. * kawa/lang/Makefile.am: Updated accordingly.
  3726. * kawa/standard/Scheme.java: Update imports.
  3727. * kawa/Shell.java: LispReader moved to gnu.kawa.lispexpr.
  3728. * kawa/lang/Translator.java (finishModule): If SUPERTYPE_SPECIFIED,
  3729. force declaration to be non-static.
  3730. * kawa/standard/module_extends.java: Set SUPERTYPE_SPECIFIED.
  3731. * kawa/standard/module_implements.java: Likewise.
  3732. * kawa/standard/read.java: Use RuntimeException or WrappedException
  3733. instead of semi-deprecated GenericException.
  3734. * kawa/standard/call_with_input_file.java: Likewise.
  3735. * kawa/standard/call_with_output_file.java: Likewise.
  3736. * kawa/standard/make.java: Likewise.
  3737. * kawa/standard/scheme_env.java: Likewise.
  3738. * kawa/standard/string2number.java: Likewise.
  3739. * kawa/standard/with_input_from_file.java: Likewise.
  3740. 2000-05-27 Per Bothner <per@bothner.com>
  3741. * kawa/repl.java (main): New --module-static flag.
  3742. * kawa/lang/Syntax.java (<init>): Set TYPE_SPECIFIED and IS_CONSTANT.
  3743. * kawa/lang/Macro.java (setExpander): New method.
  3744. * kawa/lang/Lambda.java (rewrite): Maybe set TYPE_SPECIFIED on param.
  3745. * kawa/lang/Translator.java (finishModule): Process static and
  3746. export specification.
  3747. * kawa/standard/module_static.java: New class; extends Syntax.
  3748. * kawa/standard/export.java: New class; extends Syntax.
  3749. * kawa/standard/Makefile.am (java_JAVA): Add new files.
  3750. * kawa/standard/Scheme.java (initScheme): Add module-static and
  3751. module-export.
  3752. * kawa/standard/Scheme.java (demangleName): Fix to handle
  3753. minor changes in Compilation.mangleName.
  3754. * kawa/standard/define.java: Handle optional type-specifier.
  3755. * kawa/standard/define_alias.java: If aliased expression is a simple
  3756. name, don't call rewrite (which does setIndirectBinding).
  3757. (scanForDefinitions): Don't set decl type until rewrite.
  3758. * kawa/standard/define_syntax.java: If immediate, call Macro's
  3759. setExpander method, re-using current Macro.
  3760. * kawa/standard/let.java (rewrite): Set TYPE_SPECIFIED in Declaration.
  3761. * kawa/standard/letrec.java: Likewise.
  3762. * kawa/standard/require.java (find): Fix typo.
  3763. (scanForDefinitions): Note that Declaration is not simple.
  3764. Note mustCompileHere.
  3765. * kawa/standard/set_b.java: Do followAliases.
  3766. 2000-05-22 Per Bothner <per@bothner.com>
  3767. * confgure.in (AC_OUTPUT): Add gnu/jemacs/lisp/Makefile.
  3768. * kawa/lang/AnyPat.java: No longer implement Compilable.
  3769. * kawa/lang/EqualPat.java: No longer implement Compilable.
  3770. * kawa/lang/PairPat.java: No longer implement Compilable.
  3771. * kawa/lang/ListRepeatPat.java: No longer implement Compilable.
  3772. * kawa/lang/Macro.java: No longer implement Compilable
  3773. * kawa/lang/SyntaxRule.java: No longer implement Compilable
  3774. * kawa/lang/SyntaxRules.java: No longer implement Compilable
  3775. * kawa/lang/SpecialType.java: Do method lookup here instead of
  3776. expecting it in gnu.kawa.util.Char or gnu.math methods.
  3777. * kawa/standard/Scheme.java (string2Type): Use ArrayType.make.
  3778. (<init>): Set Interpreter.defaultInterpreter first.
  3779. (getNamedType): Add <procedure> as a synonym for <function>.
  3780. (getTypeFor): New method.
  3781. (exp2Type): Just call getTypeFor.
  3782. * kawa/standard/define_syntax.java
  3783. (typeMacro, makeMethod): New static fields.
  3784. (rewriteForm): Check if syntax rule is Externalizable, rather
  3785. than no-longer-used Compilable. Use new makeMethod field.
  3786. 2000-05-09 Per Bothner <per@bothner.com>
  3787. * kawa/lang/AutoloadProcedure.java: Use new Environment puttFunction.
  3788. * kawa/lang/AutoloadSyntax.java: Use new Environment getFunction.
  3789. * kawa/lang/AnyPat.java: Implement java.io.Externalizable.
  3790. * kawa/lang/EqualPat.java: Likewise.
  3791. * kawa/lang/ListRepeatPat.java: Likewise.
  3792. * kawa/lang/PairPat.java: Likewise.
  3793. * kawa/lang/Macro.java: Likewise.
  3794. * kawa/lang/SyntaxRule.java: Likewise.
  3795. * kawa/lang/SyntaxRules.java: Likewise.
  3796. * kawa/lang/Macro.java (scanForDefinitions): Use new Parser methods
  3797. to set line position.
  3798. * kawa/lang/Translator.java (current_filename, current_line,
  3799. current_column. messages): Moved fields to superclass (Parser).
  3800. (getMessages, setMessages, error): Likewise moved methods.
  3801. (setLine): New methods.
  3802. (scan_form): Use new setLine method.
  3803. * kawa/lang/SyntaxRules.java (<init>): Likewise.
  3804. * kawa/repl.java (setInterpreter): Method removed.
  3805. (getInterpreter): Don't hard-wire in Scheme.
  3806. (main): Don't hard-wire in languages, instead ask Interpreter.
  3807. * kawa/standard/Scheme.java (getNamedType): Don't hard-wire
  3808. "elisp:boolean". Instead, handle "elisp:*". Also, get an Elisp
  3809. instance using reflection - in case it isn't available when compiling.
  3810. 2000-04-22 Per Bothner <per@bothner.com>
  3811. * kawa/lang/SpecialType.java (interpreter): New optional field.
  3812. Call interpreter to handle conversion to/from boolean.
  3813. * kawa/standard/eq_p.java (interpreter): New field. Used to
  3814. do language-appropriate boolean result.
  3815. * kawa/standard/equal_p.java: Likewise.
  3816. * kawa/standard/eqv_p.java: Likewise.
  3817. * kawa/standard/instance.java: Likewise.
  3818. * kawa/standard/not.java (getReturnType): Get from interpreter.
  3819. * kawa/standard/Scheme.java
  3820. (booleanType): Don't initialize in static constructor.
  3821. (intType, floatType, etc): Use new SpecialType constructor.
  3822. (initSchee): Pass this to eq_p, eqv_p, equal_p, instance constructors.
  3823. (getNamedType): Init boolean here, passing in Scheme.getInstance.
  3824. Also, handle <elisp:boolean>.
  3825. 2000-04-22 Per Bothner <per@bothner.com>
  3826. * kawa/lang/SpecialType.java (interpreter): New optional field.
  3827. Call interpreter to handle conversion to/from boolean.
  3828. * kawa/standard/eq_p.java (interpreter): New field. Used to
  3829. do language-appropriate boolean result.
  3830. * kawa/standard/equal_p.java: Likewise.
  3831. * kawa/standard/eqv_p.java: Likewise.
  3832. * kawa/standard/instance.java: Likewise.
  3833. * kawa/standard/not.java (getReturnType): Get from interpreter.
  3834. * kawa/standard/Scheme.java
  3835. (booleanType): Don't initialize in static constructor.
  3836. (intType, floatType, etc): Use new SpecialType constructor.
  3837. (initSchee): Pass this to eq_p, eqv_p, equal_p, instance constructors.
  3838. (getNamedType): Init boolean here, passing in Scheme.getInstance.
  3839. Also, handle <elisp:boolean>.
  3840. 2000-04-21 Per Bothner <per@bothner.com>
  3841. * kawa/lang/Translator.java: No extends from gnu.expr.Parser.
  3842. (current_scope): Moved field to Parser.
  3843. (parse): New method, implements method from Parser.
  3844. (currentLambda, currentScope, getInterpreter, mustCompileHere,
  3845. push, pop, pushDecls, popDecls): Moved methods to Parser.
  3846. * kawa/lang/Translator.java (getBinding): Also check inherited env.
  3847. 2000-04-18 Per Bothner <per@bothner.com>
  3848. * configure.in: Set version to 1.6.67.
  3849. 2000-04-17 Per Bothner <per@bothner.com>
  3850. * kawa/lang/Record.java (getFieldFields): Removed two methods.
  3851. (equals): Re-write to not use getFieldFields.
  3852. * kawa/standard/Scheme.java (getNamedType): Add <abstract-string>.
  3853. 2000-04-12 Per Bothner <per@bothner.com>
  3854. * kawa/Telnet.java: Merge contents of TelnetConnection.java.
  3855. Implement Runnable instead of extending Thread.
  3856. Make some constants (such as ECHO, DONT, etc) public.
  3857. * kawa/TelnetConnection.java: Removed.
  3858. * kawa/TelnetInputStream.java: Update accordingly.
  3859. * kawa/TelnetOutputStream.java: Likewise.
  3860. * kawa/repl.java: Likewise.
  3861. * kawa/Makefile.am (java_JAVA): Remove TelnetConnection.java.
  3862. * kawa/lang/GetFieldProc.java: Use gnu.bytecode.Field (now with
  3863. sourceName and reflection cache) instead of java.lang.reflect.Field.
  3864. * kawa/lang/SetFieldProc.java: Likewise.
  3865. * kawa/lang/RecordConstructor.java: Likewise.
  3866. * kawa/lang/Record.java (toString): Likewise use extended Field.
  3867. (makeRecordType): Handle names that need to be mangled.
  3868. * kawa/standard/location.java (rewrite): If ReferenceExp, return it.
  3869. * kawa/standard/define_alias.java (scanForDefinitions): Put
  3870. Declaration in pushed form. Call Declarations's setAlias.
  3871. (rewrite): Don't create IndirectConstraint.
  3872. * kawa/standard/Scheme.java (Scheme): Initialize
  3873. Interpreter.defaultInterpreter to this Scheme.
  3874. * kawa/standard/number2string.java (apply, apply): Create FString.
  3875. * kawa/standard/Scheme.java (demangleName): New static method.
  3876. * kawa/standard/Scheme.java (getTypeValue): Follow aliases.
  3877. (getNamedType): Remove emacs type aliases. (Now in emacs.scm.)
  3878. * kawa/standard/prim_method.java (exp2Type): Use Scheme.getTypeValue.
  3879. 2000-03-22 Per Bothner <per@bothner.com>
  3880. * configure.in: Set version to 1.6.64.
  3881. 2000-03-21 Per Bothner <per@bothner.com>
  3882. * kawa/lang/Translator.java (module): Make non-public.
  3883. (getModule): New method.
  3884. * kawa/standard/module_extends.java: New class, extends Syntax.
  3885. * kawa/standard/module_name.java: New class, extends Syntax.
  3886. * kawa/standard/module_implements.java: New class, extends Syntax.
  3887. * kawa/standard/Makefile.am (java_JAVA): Add new classes.
  3888. * kawa/standard/Scheme.java (initScheme): Define new syntax.
  3889. 2000-03-17 Per Bothner <per@bothner.com>
  3890. * kawa/Shell.java (run): Kludge to work with ELisp.
  3891. * kawa/lang/AutoloadProcedure.java (load): Likewise.
  3892. * kawa/lang/AutoloadSyntax.java (load): Likewise.
  3893. * kawa/lang/Translator.java (getInterpreter): New field.
  3894. (rewrite_pair, rewrite): More kludges for ELisp.
  3895. * kawa/lang/CompileFile.java (readBody, read): Get correct lexer
  3896. via the default Interpreter.
  3897. (compile_to_files): Know about .el file extension.
  3898. * kawa/standard/NumberCompare.java: New generalized compare class.
  3899. Has appropriate mangled static fields and methods.
  3900. * kawa/standard/{equal_oper.java,greater_oper.java,less_oper.java,
  3901. greaterequal_oper.java,lessequal_oper.java}: Subsumed by NumberCompare.
  3902. * kawa/standard/Makefile.am (java_JAVA): Update class list.
  3903. * kawa/standard/write.java: Replaced by kawa/lib/port.scm.
  3904. * kawa/standard/writechar.java: Replaced by kawa/lib/port.scm.
  3905. * kawa/standard/Scheme.java (initScheme): Update accordingly.
  3906. * kawa/standard/fluid_let.java: Support ELisp `let' and `let*'.
  3907. (start, defaultInit): New fields, for Elisp support.
  3908. * kawa/standard/load.java (loadSource): Don't hard-wire Scheme.
  3909. * kawa/standard/prim_method.java (rewrite): Allow 'xx for method name.
  3910. * kawa/standard/require.java: Default package as compilationPrefix.
  3911. * kawa/standard/string_append.java (stringAppend$V): New static method.
  3912. * kawa/standard/number2string.java (format): Renamed to apply.
  3913. * kawa/standard/char_equal_p.java (apply): New static method.
  3914. 2000-03-06 Per Bothner <per@bothner.com>
  3915. * Makefile.am (makekawa.bat): Add new scm sub-directories.
  3916. * gnu/{jawa/slib,jemacs/buffer,jemacs/lang}/Makefile.{am,in}:
  3917. Added list-sources target.
  3918. * configure.in, configure (AC_OUTPUT): Add gnu/slib/Makefile.
  3919. * gnu/kawa/Makefile.am (SUBDIRS): Add slib.
  3920. * jar-manifest: New file, used to build kawa-@VERSION@-compiled.jar.
  3921. * Makefile.am (kawa-@VERSION@-compiled.jar): Add manifest file.
  3922. (install-javadoc-html): Copy over COPYING.
  3923. * kawa/lang/Translator.java (immediate): New field.
  3924. * kawa/Shell.java (run): Set Translator's immediate field
  3925. * kawa/lang/Translator.java (rerite_pair): Call check_if_syntax.
  3926. * kawa/lang/Translator.java (scan): Save/restore line number info.
  3927. * kawa/lang/CompileFile.java (compile_to_file): Return if errors seen.
  3928. * kawa/standard/eqv_p.java (apply): Make static.
  3929. * kawa/standard/require.java (allocate): Rename to find.
  3930. Add working implementation.
  3931. 2000-03-02 Per Bothner <per@bothner.com>
  3932. * jawa/standard/prim_throw.java (getReturnType):
  3933. Change to Type.neverReturnsType.
  3934. 2000-02-29 Per Bothner <per@bothner.com>
  3935. * configure.in: Set version to 1.6.65.
  3936. 2000-02-27 Per Bothner <per@bothner.com>
  3937. * configure.in: Set version to 1.6.64.
  3938. * configure.in: Support new flag --without-awt.
  3939. * kawa/GuiConsole.java: Addd default constructor.
  3940. * kawa/repl.java (main): Load GuiConsole using reflection.
  3941. * kawa/Makefile.am: Don't build GuiConsole etc if --without-awt.
  3942. * Makefile.am: Add rules for kawa-compiled.jar.
  3943. * kawa/lang/Syntax.java: Also implements Named.
  3944. * kawa/standard/Scheme.java: Use Procedure.getName instead of name.
  3945. 2000-02-26 Per Bothner <per@bothner.com>
  3946. * kawa/standard/Scheme.java (getNamedType): Add "frame".
  3947. 2000-02-19 Per Bothner <per@bothner.com>
  3948. * kawa/Shell.java (runFile): Catch SyntaxException, and do printAll.
  3949. * kawa/standard/Scheme.java (initScheme): Define `emacs'.
  3950. * configure.in: New substitution variable SWING_SELECTED.
  3951. 2000-02-12 Per Bothner <per@bothner.com>
  3952. * kawa/standard/Scheme (initScheme): Define "this" macro.
  3953. (registerEnvironment): Set Interpreter.defaultInterpreter
  3954. 2000-02-11 Per Bothner <per@bothner.com>
  3955. * kawa/repl.java (main): Recognize --applet flag.
  3956. * kawa/standard/load.java (apply): Now throws FileNotFoundException.
  3957. (apply2): Catch FileNotFoundException.
  3958. (loadClassFile): Do ClassMemberConstraint.defineAll.
  3959. * kawa/Shell.java (runFile): Use load.apply.
  3960. * kawa/lang/Lambda.java (rewrite): Using a Pattern is overkill.
  3961. * kawa/lang/Translator.java (rewrite_pair): Maybe setProcedureName.
  3962. * kawa/standard/Scheme.java (registerCurrent): New static method.
  3963. * kawa/standard/define_variable.java: New class; extends Syntax.
  3964. * kawa/standard/Makefile.am (java_JAVA): Add define_variable.java.
  3965. * kawa/standard/Scheme.java (initScheme): Define "define-variable".
  3966. 2000-02-02 Per Bothner <per@bothner.com>
  3967. * kawa/standard/define.java (scanForDefinitions): Fix thinko.
  3968. 2000-02-01 Per Bothner <per@bothner.com>
  3969. * kawa/repl.java (defaultInterpreter): Static field moved
  3970. to Interpreter. Updated various uses.
  3971. * kawa/lang/Interpreter.java: Moved gnu.expr.
  3972. * kawa/GuiConsole.java: Update import statement accordingly.
  3973. * kawa/lang/Makefile.am (java_JAVA): Removed Interpreter.java.
  3974. * kawa/lang/Translator.java (getrBinding, rewrite_pair):
  3975. Call Binding's getFunctionValue method.
  3976. * kawa/standard/{char_ready_p.java,eqv_p.java,exact_p.java,
  3977. inexact_p.java,integer_p.java,positive_p.java}:
  3978. Use Boolean.TRUE/Boolean.FALSE rather than Interpreter.boolObject.
  3979. * kawa/standard/{string_ci_equal_p.java,string_ci_greaterequal_p.java,
  3980. string_ci_greaterthan_p.java,string_ci_lessequal_p.java,
  3981. string_ci_lessthan_p.java,string_greaterequal_p.java,
  3982. string_greaterthan_p.java,string_lessequal_p.java;
  3983. kawa/standard/string_lessthan_p.java}: Likewise.
  3984. (apply) New static method.
  3985. * kawa/standard/{write.java,writechar.java}: Use Scheme.voidObject
  3986. instead of Interpreter.voidObject.
  3987. * kawa/standard/not.java (interpreter): New field.
  3988. (apply1): Use interpreter.booleanObject.
  3989. * kawa/standard/and_or.java (interpreter): New field.
  3990. (rewrite): Use interpreter.booleanObject.
  3991. * kawa/standard/Scheme.java: Rename fields to Java conventions:
  3992. (null_environment): Renamed to nullEnvironment.
  3993. (r4_environment): Renamed to r4Environment.
  3994. (r5_environment): Renamed to r5Environment.
  3995. (kawa_environment): Renamed to kawaEnvironment.
  3996. * kawa/standard/scheme_env.java (apply1): Update accordingly.
  3997. 2000-01-24 Per Bothner <per@bothner.com>
  3998. * kawa/lang/ScmRead.java: Add #!undefined->Interpreter.undefinedObject.
  3999. * kawa/lang/PrimArrayGet.java: Moved to gnu.kawa.reflect.ArrayGet.
  4000. * kawa/lang/PrimArraySet.java: Moved to gnu.kawa.reflect.ArraySet.
  4001. * kawa/lang/PrimArrayNew.java: Moved to gnu.kawa.reflect.ArrayNew.
  4002. * kawa/lang/PrimArrayLength.java:Moved to gnu.kawa.reflect.ArrayLength.
  4003. * kawa/lang/PrimGetStatic.java: Moved to gnu.kawa.reflect.StaticGet.
  4004. * kawa/lang/PrimSetStatic.java: Moved to gnu.kawa.reflect.StaticSet.
  4005. * kawa/lang/QueueReader.java: Moved to gnu.text.
  4006. * kawa/lang/Makefile.am (java_JAVA): Update accordingly.
  4007. * kawa/standard/syntax_case.java: Update for new class names.
  4008. * kawa/GuiConsole.java: Update since QueueReader was moved.
  4009. * kawa/MessageArea.java: Likewise.
  4010. * kawa/standard/Makefile.am (java_JAVA): Remove moved files.
  4011. * kawa/standard/Scheme.java (initScheme): Various procedures are
  4012. now defined in kawa/lib/vectors.scm and numbers.scm.
  4013. * kawa/standard/{acos.java,asin.java,lognot.java,logop.java,
  4014. logbit_p.java,logtest.java,logcount.java,bit_extract.java,
  4015. int_length.java close_input_port.java,null_env.java,user_env.java,
  4016. make_vector,.java,vector_fill_b.java,cons.java,vector_v.java}:
  4017. No longer needed.
  4018. * kawa/standard/load.java (apply): Make static.
  4019. * kawa/standard/quasiquote.java: Call utility functions using inlined
  4020. Invoke.makeInvokeStatic, rather than new ApplyExp (new QuoteExp ...).
  4021. * kawa/standard/append.java (append$V): New method.
  4022. No longer implement Compilable.
  4023. * kawa/standard/vector_append.java (apply$V): New method.
  4024. No longer implement Compilable.
  4025. * kawa/standard/Scheme.java (initScheme): Don't use removed statics.
  4026. 2000-01-23 Per Bothner <per@bothner.com>
  4027. * kawa/standard/load.java: Change methods to return void.
  4028. (loadCompiled): Call defineAll method in ClassMemberConstraint
  4029. to import public fields.
  4030. * kawa/lang/AutoloadProcedure.java (load): Likewise.
  4031. * kawa/lang/AutoloadSyntax.java (load): Likewise.
  4032. * kawa/lang/Macro.java: No longer use inherited value field.
  4033. Now implement Compilable and Printable.
  4034. (transformer): Removed field.
  4035. (expander): New Expression field.
  4036. (print): New method (to implement Printable).
  4037. (makeLiteral, emit): New methods (to implement Compilable).
  4038. * kawa/standard/define_syntax.java: Change for new Macro handling.
  4039. * kawa/standard/let_syntax.java (rewrite): Likewise - save
  4040. tranbsformers in local array, not in Macro.transformer.
  4041. * kawa/lang/Translator.java (push, pop): Use pushBinding. popBinding.
  4042. (push): Do mustCompileHere() for all scopes except ModuleExp.
  4043. * kawa/standard/call_with_values.java (callWithValues): New static.
  4044. * kawa/standard/close_input_port.java (apply1): Use WrappedException.
  4045. * kawa/standard/define.java (scanForDefinitions): Re-structure.
  4046. Sometimes do setCanWrite on decl when we don't want default inlining.
  4047. In that case, set decl's value to null.
  4048. * kawa/lang/NamedException.java (toString): Trivial optimization.
  4049. * kawa/lang/PairPat.java (match): Stylistic simplification.
  4050. * kawa/lang/Lambda.java (rewrite): Set (default) type of #!rest arg.
  4051. Allow #!rest arg to have a type.
  4052. * kawa/standard/values_v.java: Removed.
  4053. * kawa/standard/Scheme.java (initScheme): Don't declare it either.
  4054. * kawa/standard/location.java (makeProcLocation$V): New static method.
  4055. (rewrite): Call makeProcLocation$V instead of %makeProcLocation.
  4056. * kawa/standard/makeProcLocation.java: Removed.
  4057. * kawa/standard/Scheme.java (initScheme): Remove %makeProcLocation;
  4058. now get `values' from kawa.lib.misc.
  4059. * kawa/standard/Makefile.am (java_JAVA): Update accordingly.
  4060. * kawa/standard/format.java (format, formatToString): Make static.
  4061. (format$V): New static method.
  4062. * kawa/standard/list_v.java: Implement Inlinable.
  4063. (compile, getReturnType): New methods.
  4064. 1999-12-27 Per Bothner <per@bothner.com>
  4065. * kawa/lang/Lambda.java (rewrite): Don't call setParameter.
  4066. * kawa/lang/Syntax.java: Two trivial cleanups.
  4067. * kawa/lang/Translator.java (current_decl): Rename to environ.
  4068. (rewrite): Handle non-Declaration in environ.
  4069. (shadowStack): New field.
  4070. (pushBindund, popBinding): New methods.
  4071. * kawa/lang/SyntaxRule.java: Use Translator's environ field.
  4072. * kawa/standard/define_alias.java: Likewise.
  4073. * kawa/standard/require.java: New class; extends Syntax.
  4074. * kawa/standard/Makefile.am (java_JAVA): Add require.java.
  4075. * kawa/standard/Scheme.java (initScheme): Add require.
  4076. * kawa/standard/define.java: Use Declaration's new getName() method.
  4077. * kawa/standard/define_member_alias.java: Likewise.
  4078. * kawa/standard/letrec.java: Use Declaration instead of Variable.
  4079. * kawa/standard/set_b.java: Likewise.
  4080. 1999-12-10 Per Bothner <per@bothner.com>
  4081. * gnu/kawa/util: New package directory.
  4082. * configure.in (AC_OUTPUT): Add gnu/kawa/util/Makefile.
  4083. * kawa/lang/Makefile.am (java_JAVA): Remove classes moved
  4084. to gnu/kawa/util.
  4085. * gnu/*: Update for classes moved to new gnu.kawa.util (some renamed).
  4086. * kawa/*: Likewise.
  4087. * gnu/kawa/Makefile.am (SUBDIRS): Add util.
  4088. * kawa/lang/ScmRead.java (readUniformVector): New method.
  4089. (readObject): Use readUniformVector to read SRFI-4 uniform vectors.
  4090. (readCharacter): Use new Char.nameToChar method.
  4091. * kawa/standard/length.java: Removed - replaced by Scheme code.
  4092. * kawa/standard/Makefile.am (java_JAVA): Update accordingly.
  4093. * kawa/standard/Scheme (initScheme): Add new SRFI-4 procedures.
  4094. (getNamedType): Add new type names for SRFI-4 uniform vectors.
  4095. 1999-12-06 Per Bothner <per@bothner.com>
  4096. * Makefile.am, Makefile.in (JAVADOC_PACKAGES): Add new packages.
  4097. (JAVADOC_FLAGS): Add flags to give javadoc enough memory.
  4098. * kawa/lang/Lambda.java (rewrite): Support NAME :: TYPE syntax.
  4099. * kawa/standard/let.java (rewrite): Trivial optimization.
  4100. * kawa/standard/define_member_alias.java: New Syntax class.
  4101. * kawa/standard/Makefile.am (java_JAVA): Add define_member_alias.java.
  4102. * kawa/standard/Scheme.java (initScheme): Define define-member-alias.
  4103. (getNamedType): Define buffer and window.
  4104. 1999-12-05 Per Bothner <per@bothner.com>
  4105. * configure.in: Set version to 1.6.63.
  4106. 1999-11-16 Per Bothner <per@bothner.com>
  4107. * configure.in: Set version to 1.6.62, and made release.
  4108. * COPYING: New file. Replaces removed doc/license.terms.
  4109. * kawa/repl.java (main): --version prints (short) copyright notice.
  4110. 1999-11-15 Per Bothner <per@bothner.com>
  4111. * kawa/lang/Pair.java (emit): Use new ClassType.getDeclaredField.
  4112. * kawa/lang/Translator.java (rewrite_pair): If Inlineable,
  4113. don't try PrimProcedure.getMethodFor (yet).
  4114. M kawa/standard/TracedProcedure.java
  4115. * kawa/standard/Scheme.java (string2Type): Use ClassType.make.
  4116. (initScheme): Update for gnu.kawa.reflect changes.
  4117. * kawa/standard/static_field.java: Remove; subsumed by Invoke.
  4118. * kawa/standard/Makefile.am (java_JAVA): Update accordingly.
  4119. 1999-11-04 Per Bothner <per@bothner.com>
  4120. * kawa/lang/Char.java (make): Remove subsumed method.
  4121. * kawa/lang/Translator.java (rewrite_pair): Move code to look
  4122. for matching static method to gnu.expr.PrimProcedure.getMethodFor.
  4123. * kawa/lang/Translator.java (apply_rewrite): Fix thinko,
  4124. reported by Daniel Bonniot <d.bonniot@mail.dotcom.fr>.
  4125. * kawa/standard/Scheme.java (initScheme): Define open-output-string,
  4126. get-output-string, string-output-port.
  4127. * kawa/standard/call_with_output_string.java (apply1):
  4128. Use new CharArrayOutPort class instead of CharArrayWriter.
  4129. * kawa/standard/format.java (formatToString): Likewise.
  4130. * kawa/standard/plus_oper.java (apply$V): New method.
  4131. (apply(Object,Object)): Removed, until we have better inlining.
  4132. 1999-10-20 Bruce Lewis <brlewis@alum.mit.edu>
  4133. * kawa/lang/ScmRead.java: New method readDefault lets subclasses
  4134. extend the behavior of the readObject methods.
  4135. * kawa/standard/Scheme.java: Allow subclasses to use define_proc
  4136. and define_syntax methods.
  4137. 1999-10-25 Per Bothner <per@bothner.com>
  4138. * Makefile.am, Makefile.in (makekawa.bat): Depend on configure.in.
  4139. * configure.in, configure: Set version to 1.6.61.
  4140. * doc/kawa.texi: Document `invoke'.
  4141. * NEWS, TODO: Updates.
  4142. * kawa/lang/Syntax.java (scanForDefinitions): New method.
  4143. * kawa/lang/AutoloadSyntax.java (scanForDefinitions): New method.
  4144. * kawa/lang/Macro.java (scanForDefinitions): New method.
  4145. * kawa/lang/Translator.java
  4146. (rewrite_pair): Handle varargs method (apply$V and NAME$V).
  4147. (scan_form): Rewr-ite to use new Syntax.scanForDefinitions.
  4148. More logic specific to a syntax to the corresponding method.
  4149. * kawa/standard/begin.java (scanForDefinitions): New method.
  4150. * kawa/standard/define.java (scanForDefinitions): New method.
  4151. * kawa/standard/define_alias.java (scanForDefinitions): New method.
  4152. * kawa/standard/define_syntax.java (scanForDefinitions): New method.
  4153. * kawa/standard/Scheme.java (defineSyntax, defineSyntaxPrivate,
  4154. beginSyntax, defineAliasSyntax, defineSyntaxSyntax): Remove fields.
  4155. (initScheme): Fix typo "kawa.lib.number" -> "kawa.lib.numbers".
  4156. Add "open-input-string" (SRFI-6), "define-class", "invoke".
  4157. * kawa/standard/object.java (rewriteClassDef): New method.
  4158. * kawa/standard/define_class.java: New class.
  4159. * kawa/standard/{Makefile.am,Makefile.in} (java_JAVA): Update.
  4160. * kawa/standard/read_line.java (apply): Re-throw a WrappedException.
  4161. * kawa/standard/make_future.java (apply1): Future Procedure
  4162. no longer is necessarily a Procedure1.
  4163. 1999-10-13 Walter C. Pelissero <wcp@demon.db.de>
  4164. * kawa/standard/TracedProcedure.java: Catch RuntimeException,
  4165. print to trace output, and re-throw.
  4166. 1999-10-13 Per Bothner <per@bothner.com>
  4167. * kawa/standard/TracedProcedure.java: Indent output.
  4168. 1999-10-07 Per Bothner <per@bothner.com>
  4169. * kawa/standard/TracedProcedure.java: Indent nested calls.
  4170. 1999-10-07 Walter C. Pelissero <wcp@demon.db.de>.
  4171. * kawa/standard/Scheme.java: Fix typo number -> numbers.
  4172. 1999-10-04 Per Bothner <per@bothner.com>
  4173. * kawa/standard/make_future.java: Future action is now Procedure,
  4174. not necessarily Procedure0.
  4175. Fixes bug reported by Walter C. Pelissero <wcp@demon.db.de>.
  4176. 1999-09-14 Per Bothner <per@bothner.com>
  4177. * configure.in: Set version to 1.6.60.
  4178. (AC_OUTPUT): Add gnu/kawa/Makefile gnu/kawa/reflect/Makefile.
  4179. * kawa/lang/Interpreter.java (coerceFromObject, coerceToObject):
  4180. New methods.
  4181. * kawa/standard/call_with_values.java: Update values() -> getValues().
  4182. * kawa/standard/Scheme.java: Likewise.
  4183. * kawa/lang/InvokeStatic.java: Moved to gnu/kawa/reflect.
  4184. * kawa/standard/class_methods.java: Replaced by
  4185. gnu/kawa/reflect/ClassMethods.java.
  4186. * kawa/standard/field.java: Replaced by gnu/kawa/reflect/SlotGet.java.
  4187. * kawa/standard/Scheme.java: Update for new or moved procedures.
  4188. * kawa/lang/Makefile.am: Update accordingly.
  4189. * kawa/standard/Makefile.am: Likewise.
  4190. * kawa/standard/list_v.java (list$V): New method.
  4191. 1999-09-08 Per Bothner <per@bothner.com>
  4192. * kawa/lang/InvokeStatic.java: Get rid of lots of crud by
  4193. using kawa.standard.class_methods.
  4194. * kawa/lang/CompileFile.java (read): Set filename of ModuleExp.
  4195. * kawa/lang/Translator.java (scan_form): Copy line number info.
  4196. * kawa/lang/Lambda.java (rewrite): Set line number info on
  4197. parameter Declarations.
  4198. * kawa/standard/define.java (rewrite): Replace by rewriteForm.
  4199. * kawa/lang/{Pair.java,Vector.java}: Update scmObjectType->typeObject.
  4200. 1999-09-05 Per Bothner <per@bothner.com>
  4201. * kawa/lang/Translator.java (error): New method.
  4202. (syntaxError): Use new method.
  4203. (rewrite_pair): If car is Syntax, then apply_rewrite.
  4204. (scan_form); New method, with code moved from scan_body.
  4205. (finishModule): New method.
  4206. * kawa/lang/Interpreter.java (getName): New method.
  4207. * kawa/lang/CompileFile.java (read): Now read each line, and
  4208. does Translator.scan_form separate on each statement.
  4209. (read, readBody): No long throw SyntaxException.
  4210. (compile_to_files): Takes SourceMessages parameter; returns void.
  4211. * kawa/repl.java: Use new compile_to_files interface.
  4212. * Shell.java (run): Skip whitespace in case read is called.
  4213. * kawa/lang/Macro.java (expand): Add quotes in error message.
  4214. * kawa/lang/ScmRead.java (readNumber): A quantity like 12in is
  4215. no longer a literal, but returns a form like (* 12 in$unit).
  4216. (readString): Use readEscape.
  4217. * kawa/standard/ScmEnv.java: Also handle UNITNAME$unit.
  4218. * kawa/standard/location.java (rewrite): Handle static bindings.
  4219. * kawa/standard/Scheme.java: Define read-line and define-private.
  4220. (eval): Update for new CompileFile.readBody interface.
  4221. (makeModuleExp): Use scan_body instead of lambda.rewrite.
  4222. (getNamedType): "java.lang.String" is no longer bound to
  4223. Type.string_type (though "String" still is).
  4224. * kawa/standard/define_syntax.java (rewrite): Handle the case when
  4225. the macro "name" is a Declaration (created by Translator.scan_form).
  4226. * kawa/standard/define.java: Likewise.
  4227. Also add support for define-private.
  4228. * kawa/standard/read_line.java: New class; extends ProcedureN.
  4229. * kawa/standard/Makefile.am (java_JAVA): Add read_line.
  4230. * kawa/lang/Sequence.java (toArray): Use an Emueration.
  4231. * kawa/lang/List.java (list1, list2, list3): New convenience methods.
  4232. * kawa/lang/FString.java: Do two new constructors.
  4233. 1999-08-26 Per Bothner <per@bothner.com>
  4234. * kawa/lang/Interpreter.java (getTypeFor): New abstract method
  4235. * kawa/standard/Scheme.java (getTypeFor): New method.
  4236. * kawa/lang/Syntax.java: Now inherits from Declaration.
  4237. * kawa/lang/AutoloadSyntax.java: Replace each name() by getName().
  4238. * kawa/standard/prim_method.java: Likewise.
  4239. * kawa/standard/Scheme.java (define_syntax): New methods needed.
  4240. * kawa/lang/Macro.java: Merge in functionality of DefMacro.
  4241. * kawa/lang/DefMacro.java: Removed - subsumed by Macro.
  4242. * kawa/lang/Makefile.am, Makefile.in (java_JAVA): Remove DefMacro.java.
  4243. (<init>): Re-do correspondingly.
  4244. * kawa/lang/SyntaxRule.java (captured_decls): New field.
  4245. (<init>): Save current visible local Declarations in captured_decls.
  4246. (execute_template): Map renamed symbol to captured decl, if any.
  4247. * kawa/lang/Translator.java (getGlobalEnvironment): New method.
  4248. (push, pop): Immediately return if Declaration's name is null.
  4249. (getBinding): If lexical binding is Syntax, return that.
  4250. (rewrite_pair): Simpler test if car is non-lexically bound to Syntax.
  4251. If no lexical binding, don't call getBinding; just check global env.
  4252. (scan_body): Handle define-alias.
  4253. * kawa/standard/define.java (rewrite): Re-organize.
  4254. * kawa/standard/define_alias.java: Now also handle non-top-level uses.
  4255. * kawa/standard/define_syntax.java: Replace DefMacro uses by Macro.
  4256. * kawa/standard/let_syntax.java: Now also handles letrec-syntax.
  4257. * kawa/standard/class_methods.java: New class; extends ProcedureN.
  4258. * kawa/standard/Makefile.am (java_JAVA): Add class_methods.java.
  4259. * kawa/standard/Scheme.java: Update accordingly.
  4260. 1999-08-22 Per Bothner <per@bothner.com>
  4261. * kawa/lang/Quote (rewrite): Don't use Patterns.
  4262. * kawa/lang/Sequence (toArray): Allocate correct array type,
  4263. as specified by Java2 Collections.
  4264. * kawa/lang/PairWithPosition.java (<init>): New constructor.
  4265. * kawa/MessageArea.java: Remove redundant import java.lang.*.
  4266. * kawa/lang/AutoloadSyntax.java (rewrite): Replace by rewriteForm.
  4267. * kawa/lang/SyntaxRule.java (execute_template, both overloadings):
  4268. Take the input form as an extra argument. Use this to copy line
  4269. position of input (if known) to expansion.
  4270. * kawa/lang/Translator.java: More general macro framework:
  4271. A macro has an arbitrary expansion precedure (possibly using
  4272. syntax-case), which is called with a SyntaxForm.
  4273. Also, some better line number handling and error message hooks.
  4274. * kawa/lang/Syntax.java (rewriteForm): New preferred method to
  4275. override, instead of (still-available) rewrite.
  4276. * kawa/lang/Macro.java (rewriteForm): Method replaces rewrite.
  4277. (expand): Takes a complete form, not just the argument list.
  4278. * kawa/lang/DefMacro.java: Re-write - expander now takes a single
  4279. SyntaxForm, rather than an array of forms. Also, provide hook for
  4280. not-yet-evaluated expression instead of expander Procedure.
  4281. * kawa/lang/SyntaxRules.java: Now inherit from Procedure1.
  4282. (apply1): New methods - calls expand.
  4283. (expand): Update interface to take Pair.
  4284. * kawa/standard/location.java (rewriteArg): Update expand call.
  4285. * kawa/lang/SyntaxForm.java: New class.
  4286. * kawa/lang/InvokeStatic: New class.
  4287. * kawa/lang/EqualPat.java (print): Tweak the output.
  4288. * kawa/lang/Pattern.java (typePattern, matchPatternMethod):
  4289. New static fields.
  4290. * kawa/lang/ListRepeatPat.java: Use Pattern.typePattern.
  4291. * kawa/lang/PairPat.java: Likewise.
  4292. (match): If input is SyntaxForm, match its contained form.
  4293. * kawa/standard/syntax_case.java: New Syntax class.
  4294. * kawa/standard/syntax_rules.java: New Syntax class.
  4295. * kawa/standard/let_syntax.java: New Syntax class.
  4296. * kawa/standard/Scheme.java: Define new macros.
  4297. (exp2Type): New method.
  4298. * kawa/standard/define_syntax.java: No-longer handles
  4299. the syntax-rules part now that syntax-rules is stand-alone.
  4300. * kawa/standard/Makefile.am: Update for new classes.
  4301. * kawa/standard/eq_p.java (compile): New static method.
  4302. * kawa/standard/eqv_p.java: Make Inlineable.
  4303. (isEqv): Rename to apply.
  4304. 1999-08-08 Per Bothner <per@bothner.com>
  4305. * configure.in, configure (AC_OUTPUT): Update for gnu.jemacs change.
  4306. * kawa.repl (setInterpreter): Update ELisp package prefix.
  4307. * kawa/lang/ListPat.java: New static match methods.
  4308. * kawa/standard/ifp.java (rewrite): Use static ListPat.match method.
  4309. 1999-08-07 Per Bothner <per@bothner.com>
  4310. * kawa/lang/GetFieldProc.java (compile): Don't inline if class was
  4311. loaded with an ArrayClassLoader.
  4312. * kawa/lang/SetFieldProc.java (compile): Likewise.
  4313. * kawa/lang/Record.java (toString): Don't print static fields.
  4314. 1999-08-06 Per Bothner <per@bothner.com>
  4315. * configure.in (AC_OUTPUT): Revert use of javatop macro.
  4316. * kawa/lang/Sequence.java (elements): New method.
  4317. (SeqEnumeration): New non-public class.
  4318. * kawa/lang/List.java (elements): New method.
  4319. (ListEnumeration): New non-public class.
  4320. * kawa/lang/Interpreter.java (getNewEnvironment): New method.
  4321. * kawa/standard/Scheme.java (getNewEnvironment): New method.
  4322. * kawa/GuiConsole.java: Separate Environment from Interpreter.
  4323. * kawa/repl.java (main): Use new GuiConsole constructor.
  4324. * kawa/Shell.java (run): No longer need to explicitly catch WrongType.
  4325. Change confusing message for ClassCastException.
  4326. * kawa/lang/Translator.java (rewrite_pair): If directly calling
  4327. an inlined PrimProcedure, set the name (for better error messages).
  4328. * kawa/standard/car.java: Catch ClassCastException instead of
  4329. using instanceof.
  4330. * kawa/standard/cdr.java: Likewise.
  4331. 1999-08-03 Per Bothner <per@bothner.com>
  4332. * configure.in (AC_INIT): Use doc/kawa.texi instead of kawa/repl.java.
  4333. (AC_OUTPUT): Use (normally undefined) javatop macro.
  4334. * Makefile.am (JAVATOP): New (normally undefined) macro.
  4335. 1999-07-20 Per Bothner <per@bothner.com>
  4336. * kawa/Makefile.am, kawa/Makefile.in (BUILT_SOURCES, Version.java):
  4337. Moved to ./Makefile.am, to make sure Version.java is built first.
  4338. * Makefile.am, Makefile.in (makekawa.bat): New rule.
  4339. 1999-07-19 Per Bothner <per@bothner.com>
  4340. * configure.in: Set version to 1.6.59.
  4341. * kawa/standard/TracedProcedure.java: New ProcedureN class.
  4342. * kawa/standard/Makefile.am (java_JAVA): Add TracedProcedure.java.
  4343. * kawa/standard/ObjectFormat.java (format): New overload.
  4344. * kawa/standard/Scheme.java (initScheme): Define call/cc (alias),
  4345. system-tmpdir, make-temporary-file, trace, untrace.
  4346. 1999-07-16 Per Bothner <per@bothner.com>
  4347. * kawa/GuiConsole.java (<init>): Create a kawa.repl, not a kawa.Shell.
  4348. * kawa/Shell.java: No longer inherits from Procedure0.
  4349. All methods are static; most now take an explicit Environment
  4350. (for top-level bindings) as well as Interpreter (current language).
  4351. * kawa/repl.java: Now extends Procedure0or1.
  4352. (apply0, apply1): New methods.
  4353. (interp): New instance field.
  4354. (<init>): New constructor.
  4355. (defaultInterpreter): New static field.
  4356. (getInterpreter, setInterpreter): New static methods.
  4357. (main): Options to select interpreter (language).
  4358. (serveTelnet): Take Interpreter argument.
  4359. Create a new SocketRepl, instead of a new Shell.
  4360. (SocketRepl): New Procedure0 class.
  4361. * kawa/lang/Sequence.java (toArray): Implement two new methods.
  4362. * kawa/lang/Pair.java (toArray): Implement optimized versions.
  4363. * kawa/lang/FString.java (toCharArray): New method.
  4364. * kawa/lang/Interpreter.java (getLexer): New abstract method.
  4365. * kawa/standard/Scheme.java (getInstance, getLexer): New methods.
  4366. (initScheme): Declare "repl". Change "emacs.read".
  4367. * kawa/standard/load.java (loadSource): Use Scheme.getInstance.
  4368. * kawa/standard/convert.java (compile): Use Target.pushValue.
  4369. 1999-07-11 Per Bothner <per@bothner.com>
  4370. * kawa/lang/Char.java (charNameValues, charNames): Add "bel" for ^G.
  4371. 1999-06-30 Per Bothner <per@bothner.com>
  4372. * **/Makefile.in: Re-generated.
  4373. * **/Makefile.nt, **/Makefile.unix: Remove - not used in years.
  4374. * kawa/standard/ObjectFormat.java (format): Optimize if no length
  4375. truncation is needed, especially if dst is CharArrayWriter.
  4376. * kawa/standard/LispFormat.java (LispRealFormat): New class.
  4377. (LispFreshlineFormat): New non-public ReportFormat class.
  4378. (LispTabulateFormat.padChar): New field.
  4379. (LispTabulateFormat.format): Re-write - now works.
  4380. (LispFormat.<init>): Working support for ~F, ~E, ~G, ~$, ~T, ~&.
  4381. 1999-06-20 Per Bothner <bothner@pacbell.net>
  4382. * configure.in: Add new --with-swing option.
  4383. Also configure gnu/emacs/Makefile.
  4384. 1999-04-25 Per Bothner <bothner@Magnus.Cygnus.COM>
  4385. * kawa/standard/object.java (rewrite): Fields have unknown value.
  4386. 1999-04-23 Per Bothner <bothner@Magnus.Cygnus.COM>
  4387. * kawa/lang/Translator.java (errors): Removed field.
  4388. (messages): New gnu.text.SourceMessages field.
  4389. (syntaxError): Don't print messages; invoke messages.error instead.
  4390. * kawa/lang/Eval.java (eval): Create new SourceMessages.
  4391. (evalBody): Add and use new SourceMessages parameter.
  4392. * kawa/lang/Lambda.java: Update for new SourceMessages convention.
  4393. * kawa/lang/ScmRead.java (<init>): New overload taking SourceMessages.
  4394. (readSymbol): Handle `::' as a symbol, not a keyword.
  4395. (readObject): Handle [ ... ].
  4396. * kawa/lang/CompileFile.java: Use new SourceMessages conventions.
  4397. * kawa/standard/Scheme.java: Declare new precedure subtype?.
  4398. (getNamedType): Add character.
  4399. (eval): Catch SyntaxException.
  4400. * kawa/standard/let.java: Handle :: TYPE specifier.
  4401. * kawa/standard/letrec.java: Handle :: TYPE specifier.
  4402. * kawa/standard/load.java: Use new SourcesMessages class.
  4403. * kawa/Shell.java (run): New new SourceMessages conventions.
  4404. * kawa/repl.java: When compiling, catch SyntaxException.
  4405. * kawa/lang/SyntaxRule.java (execute_template): Move DEBUGGING comment
  4406. * kawa/lang/SyntaxRules.java (expand): ... to here.
  4407. 1999-04-22 Per Bothner <bothner@cygnus.com>
  4408. * kawa/standard/object.scm (rewrite): Do setClassMethod on $finit$.
  4409. 1999-04-09 Per Bothner <bothner@cygnus.com>
  4410. * kawa/lang/Translator.java (systemClassLoader): New private field.
  4411. (rewrite_pair): Compare with systemClassLoader.
  4412. Wed Apr 7 21:52:19 1999 Per Bothner <bothner@Magnus.Cygnus.COM>
  4413. * kawa/lang/Translator.java (isLexical): New method.
  4414. (getBinding, rewrite): Call isLexical.
  4415. * kawa/standard/fluid_let.java: New Syntax class.
  4416. * kawa/standard/Makefile.am (java_JAVA): Add fluid_let.java.
  4417. * kawa/standard/Scheme.java: fluid-let is now written in Java.
  4418. * kawa/standard/let.java (pattern2): Remove unused static field.
  4419. * kawa/standard/location.java (rewrite): Check that !isFluid().
  4420. * kawa/standard/set_b.java (rewrite): Check that decl is lexical.
  4421. Tue Mar 30 17:52:57 1999 Per Bothner <bothner@Magnus.Cygnus.COM>
  4422. * kawa/standard/object.java (rewrite): Call LambdaExp.setClassMethod.
  4423. Sat Mar 20 11:23:48 1999 Per Bothner <bothner@Magnus.Cygnus.COM>
  4424. * configure.in (AC_OUTPUT), configure: Add gnu/elisp/Makefile.
  4425. * kawa/lang/Macro.java: New Syntax sub-class.
  4426. * kawa/lang/Makefile.am (java_JAVA): Add Macro.java.
  4427. * kawa/lang/SpecialType.java: Inherit from Macro rather than Syntax.
  4428. (rewrite1): Rename to expand (overrides) Macro.
  4429. (rewrite): Removed - now in Macro.
  4430. * kawa/lang/DefMacro.java: Inherit from Macro rather than Syntax.
  4431. (rewrite): Replace by Macro.expand method.
  4432. * kawa/lang/Translator.java (getBinding): Use gnu.expr.Binding.
  4433. (scan_body): Scan for the more general Macro, rather than SyntaxRules.
  4434. * kawa/lang/Record.java (get): Renamed to getChecked.
  4435. * kawa/standard/Scheme.java (voidType): New static Type field.
  4436. (getNamedType): USe voidType.
  4437. (initScheme): Define define-alias and emacs:read.
  4438. * kawa/standard/ScmEnv.java (getType): New helper method.
  4439. (ScmEnvConstraint): New helper class.
  4440. (<init>): Set unboundConstraint to new ScmEnvConstraint.
  4441. * kawa/standard/call_with_values.java (apply(CallStack)): New method.
  4442. * kawa/standard/location.java (rewriteArg): New static method.
  4443. (rewrite): Handle macros and both global and local variables.
  4444. * kawa/standard/constant_fold.java (checkConstant): Just call
  4445. get(Object) - which does not throw exception if undefined.
  4446. * kawa/standard/define_alias.java: New Syntax sub-class.
  4447. * kawa/standard/Makefile.am (jav_JAVA): Add define_alias.java.
  4448. Sun Mar 7 16:42:02 1999 Per Bothner <bothner@Magnus.Cygnus.COM>
  4449. * kawa/repl.java: New flags --full-tailscalls and --no-full-tailcalls.
  4450. * kawa/lang/AutoloadProcedure.java (load): ModuleBody.run no longer
  4451. takes any argument.
  4452. * kawa/lang/AutoloadSyntax.java (load): Likewise.
  4453. * kawa/lang/Promise.java: Change thunk from Procedure0 to Procedure.
  4454. * kawa/lang/Record.java (typeFieldNames): Skip static fields.
  4455. * kawa/standard/Scheme.java (env_formal, moduleFormals): Removed.
  4456. * kawa/standard/apply.java: Handle full tailcall-elimination.
  4457. * kawa/standard/{let.java,letrec.java}: Handle type specifiers.
  4458. * kawa/standard/load.java: ModuleBody.run no longer takes
  4459. Tue Feb 9 11:39:20 1999 Per Bothner <bothner@Magnus.Cygnus.COM>
  4460. * kawa/standard/{string2symbol,symbol2string}.java: Replaced
  4461. by Scheme code in ../lib/misc.scm.
  4462. * kawa/standard/{sin,cos,tan}.java: Replaced by code in numbers.scm.
  4463. * kawa/standard/Scheme.java: Update to get new implementations.
  4464. * kawa/standard/Makefile.am: Updated for removed classes.
  4465. Mon Feb 22 22:19:00 1999 Per Bothner <bothner@cygnus.com>
  4466. * configure.in: Set version to 1.6.58.
  4467. Update AM_EXEEXT -> AC_EXEEXT. Move AC_PROG_CC before AC_EXEEXT.
  4468. * Makefile.am (kawa-compiled.zip): New rule.
  4469. * **/Makefile.in: Re-generate using automake 1.4.
  4470. * aclocal.m4: Re-generate using aclocal 1.4.
  4471. * configure: Re-generate using autoconf 2.13.
  4472. Fri Jan 1 22:13:41 1999 Per Bothner <bothner@Magnus.Cygnus.COM>
  4473. * configure.in: Set version to 1.6.57.
  4474. * Makefile.am, Makefile.in (install-javadoc-html): New rules.
  4475. * kawa/Makefile.am (EXTRA_DIST): Add Version.java.in.
  4476. * kawa/TelnetConnection.java: New class - for telnet connection.
  4477. * kawa/TelnetInputStream.java: New class.
  4478. * kawa/TelnetOutputStream.java: New class.
  4479. * kawa/Telnet.java: New class - a mini-client for telnet.
  4480. * kawa/kawa.c: New front-end driver for Kawa.
  4481. * kawa/Makefile.am: Support building and installing kawa front-end.
  4482. * kawa/Shell.java (socket): New field.
  4483. (apply0): If socket field is non-NULL, close it on exit.
  4484. * kawa/repl.java (serveTelnet): New method.
  4485. (main): Support new flags --connect and --server.
  4486. * configure.in: Support new --enable-kawa-frontend flag.
  4487. * */Makefile.in: Re-generated.
  4488. Wed Dec 23 15:10:03 1998 Per Bothner <bothner@Magnus.Cygnus.COM>
  4489. * kawa/standard/object.java (rewrite): Handle field initialization.
  4490. Set fields declarations to both redaable and writable.
  4491. Tue Dec 15 18:35:44 1998 Per Bothner <bothner@cygnus.com>
  4492. Moved Kawa source repository to sourceware.cygnus.com.
  4493. * config.guess, config.sub, install-sh, missing, mkinstalldirs:
  4494. Copied over scripts shared by most GNU programs.
  4495. * Makefile.am (config,guess, config.sub, install-sh, mkinstalldirs):
  4496. Removed no-longer needed rules.
  4497. Tue Dec 15 10:31:38 1998 Per Bothner <bothner@Magnus.Cygnus.COM>
  4498. * kawa/standard/object.java: Support field declarations,
  4499. and put field declarations in scope of methods.
  4500. Tue Nov 24 23:05:36 1998 Per Bothner <bothner@Magnus.Cygnus.COM>
  4501. * configure.in: Set version to 1.6.56.
  4502. * kawa/lang/PrimGetStatic.java (getReturnType): New method.
  4503. * kawa/lang/PrimSetStatic.java (getReturnType): New method.
  4504. * kawa/lang/PrimArrayNew.java (getReturnType): New method.
  4505. * kawa/lang/PrimArrayGet.java (getReturnType): New method.
  4506. * kawa/lang/PrimArraySet.java (getReturnType): New method.
  4507. * kawa/lang/PrimArrayLength.java (getReturnType): New method.
  4508. * kawa/lang/SetFieldProc.java (getReturnType): New method.
  4509. * kawa/standard/convert.java (getInstance): New static method.
  4510. * kawa/lang/GetFieldProc.java: (getReturnType): New method.
  4511. Use RuntimeException instead of GenericError.
  4512. * kawa/lang/Lambda.java (rewrite):
  4513. Syntatic sugar: <TYPE> BODY --> (as <TYPE> BODY)
  4514. * kawa/lang/Translator.java (mustCompileHere): Make public.
  4515. * kawa/standard/Scheme.java: Use convert.getInstance().
  4516. * kawa/standard/{convert.java,eq_p.java,instance.java,not.java,
  4517. prim_throw.java} (getReturnType): New methods.
  4518. * kawa/standard/object.java: New Syntax class.
  4519. * kawa/standard/field.java: New Procedure2 class.
  4520. * kawa/standard/static_field.java: New Procedure2 class.
  4521. * kawa/standard/Scheme.java: Defined new procedures and syntax.
  4522. * kawa/standard/Makefile.am (java_JAVA): Added new classes.
  4523. Sun Nov 15 19:18:20 1998 Per Bothner <bothner@cygnus.com>
  4524. * kawa/standard/ScmEnv.java: New Environment class.
  4525. * kawa/standard/Makefile.{am,in} (java_JAVA): Add ScmEnv.java.
  4526. * kawa/standard/Scheme.java (builtin): Create new ScmEnv.
  4527. * kawa/lang/Record.java: Inherit from NameMap, not Procedure1.
  4528. * Makefile.am, Makefile.in: Work-around for automake (dist) problem.
  4529. Sat Oct 17 14:16:05 1998 Per Bothner <bothner@Magnus.Cygnus.COM>
  4530. * kawa/standard/synchronizd.java: New Syntax.
  4531. * kawa/standard/Makefile.{am,in} (java_JAVA): Add synchronizd.java.
  4532. * kawa/standard/Makefile.in
  4533. * kawa/standard/Scheme.java: Define synchronized syntax.
  4534. * kawa/standard/not.java (compile): Use new emitNot interface.
  4535. * kawa/lang/SpecialType.java (emitCoerceToObject): Update emitConvert.
  4536. Fri Sep 11 22:29:26 1998 Per Bothner <bothner@cygnus.com>
  4537. * kawa/repl.java (main): Handle new --debug-dump-zip option.
  4538. * kawa/lang/CalledContinuation.java: Make fields public.
  4539. * kawa/lang/Continuation.java (callcc): Replaced by callcc.apply.
  4540. * kawa/standard/callcc.java (apply): New static method.
  4541. * kawa/lang/Lambda.java: Don't add argsArray yet.
  4542. Handle parameter type specification.
  4543. * kawa/lang/PrimProcedure.java: Moved to gnu.expr.
  4544. * kawa/lang/Makefile.in: Update accordingly.
  4545. * kawa/lang/SpecialType.java (charValue): New method.
  4546. * kawa/standard/Scheme.java (getNamedType, string2Type):
  4547. Moved here from PrimProcedure.
  4548. * kawa/standard/prim_method.java: Updated for moved methods.
  4549. * kawa/standard/{car,cdr,cons,make_vector,callcc}.java:
  4550. Add static apply methods.
  4551. * kawa/standard/letrec.java (rewrite): Initial value is now null,
  4552. because that is compatible with stricter typing scheme.
  4553. * kawa/lang/Translator.java (rewrite_body): Ditto for internal define.
  4554. * kawa/standard/{setcar_b,setcdr_b}.java: Removed, now in lists.scm.
  4555. * kawa/standard/{string_ref,string_set_b}.java: Replaced.
  4556. * kawa/standard/Makefile.am: Update accordingly.
  4557. Sat Aug 29 20:50:05 1998 Per Bothner <bothner@cygnus.com>
  4558. * kawa/standard/{plus_oper,minus_oper,multiply_oper,greater_oper}.java:
  4559. Add static apply methods, to allow compiling direct calls.
  4560. * kawa/lang/*.java: Do ClassType.make instead of new ClassType.
  4561. * kawa/lang/AutoloadProcedure.java (getLoaded, numArgs): New methods.
  4562. * kawa/lang/PrimProcedure.java (<init>): Set right opcode from method.
  4563. * kawa/lang/Translator.java (rewrite_pair): Directly call static apply.
  4564. Sat Aug 29 09:12:55 1998 Per Bothner <bothner@cygnus.com>
  4565. * **/Makefile.in, configure, aclocal.m4: Re-generated.
  4566. * kawa/Makefile.am (Version.java): Depend on configure.in.
  4567. 1998-08-28 Per Bothner <bothner@cygnus.com>
  4568. * configure.in (AC_CONFIG_AUX_DIR): Removed.
  4569. Set version to 1.6.55.
  4570. * install-sh, mkinstalldirs: Removed, now gotten from .. .
  4571. * kawa/lang/Translator.java (resolve): Remove.
  4572. * kawa.standard/location.java: New Syntax.
  4573. * kawa/standard/Makefile.am, kawa/standard/Scheme.java: Update.
  4574. * kawa/standard/{define.java,set_b}.java: Translator.resolve is now gone.
  4575. Mon Aug 3 13:21:22 1998 Per Bothner <bothner@cygnus.com>
  4576. * kawa/lang/FString.java (hashCode): Fix typo: 32 -> 31.
  4577. Fri Jul 24 16:05:10 1998 Per Bothner <bothner@cygnus.com>
  4578. * kawa/standard/makeProcLocation.java: New helper class.
  4579. * kawa/standard/Makefile.am (java_JAVA): Add makeProcLocation.java.
  4580. * kawa/standard/Scheme.java: Define location and %makeProcLocation.
  4581. * kawa/lang/FString.java (hashCode): New method.
  4582. * kawa/lang/ScmRead.java (readSymbol): Allow :KEY as well as KEY:.
  4583. Tue Jul 21 23:19:35 1998 Per Bothner <bothner@cygnus.com>
  4584. * gnu/mapping, gnu/expr: New packages.
  4585. * kawa/lang: Moved many classes from here to gnu.mapping or gnu.expr.
  4586. * kawa/{,lang,standard}: Update import statements.
  4587. * configure.in (AC_OUTPUT): Add gnu/{mapping,expr}/Makefile.
  4588. * Makefile.am (install-html): Simplify to call gnu/Makefile.
  4589. * kawa/lang/SchemeLoader.java:
  4590. Moved to gnu/bytecode/ArrayClassLoader.java.
  4591. * kawa/standard/Scheme (makeModuleExp): New function.
  4592. * kawa/standard: Some functions moved to kawa.lib.
  4593. * configure.in: Set version to 1.6.54.
  4594. Sun Jun 28 23:07:49 1998 Per Bothner <bothner@cygnus.com>
  4595. * configure.in: Set version to 1.6.53.
  4596. (AC_OUTPUT): Add gnu/text/Makefile.
  4597. * kawa/lang/ApplyExp.java (compile): Fix incorrect implementation
  4598. of tail-recursion. Use CodeAttr.emitTailCall.
  4599. * kawa/lang/LambdaExp.java (start_label): Removed - no longer needed.
  4600. * kawa/lang/Compilation.java (addClass): Don't set lexp.start_label.
  4601. * kawa/lang/Char.java: Add some extra named characters.
  4602. (toScmReadableString): New method. May emit octal form.
  4603. (print): Use toScmReadableString.
  4604. * kawa/lang/FString.java (makeUpperCase, makeLowerCase,
  4605. makeCapitalize): New methods.
  4606. * kawa/lang/Special.java (dfault): New static.
  4607. * kawa/lang/Keyword.java (searchForKeyword): If no match, return
  4608. Special.dfault, not null, to allow #!null as a default.
  4609. * kawa/lang/Compilation.java (addClass): Update for new default
  4610. return value of searchForKeyword (Special.dfault).
  4611. * kawa/lang/LambdaExp.java (<init>): Set file name.
  4612. * kawa/lang/{Lexer.java, LineBufferedReader.java, SourceError.java,
  4613. SyntaxException.java}: Moved to gnu.text package.
  4614. * kawa/Shell.java, kawa/lang/{CompileFile,InPort,Interpreter}.java,
  4615. kawa/standard/read.java: Update because of moved classes.
  4616. * kawa/lang/{Makefile.am/Makefile.in}: Update accordingly.
  4617. * kawa/lang/PairWithPosition.java (<init>): Use LineBufferedReader.
  4618. * kawa/lang/ScmRead.java (readCharacter): Support octal notation.
  4619. (readSpecial): Read #!default as Special.dfault.
  4620. Add some casts to (InPort) to get readState. Yuck.
  4621. * kawa/standard/LispFormat.java: New class - Common Lisp-style format.
  4622. * kawa/standard/ObjectFormat.java: New - plain Object formatting.
  4623. * kawa/standard/ParseFormat.java: New Procedure1.
  4624. * kawa/standard/Makefile.am, Makefile.in: Update for new classes.
  4625. * kawa/standard/Scheme.java: Update for new procedures.
  4626. Sun May 24 13:13:52 1998 Per Bothner <bothner@cygnus.com>
  4627. * configure.in: Set version to 1.6.52.
  4628. Thu May 21 21:38:24 1998 Per Bothner <bothner@cygnus.com>
  4629. * kawa/lang/Lexer.java: New class (extends Reader).
  4630. * kawa/lang/ScmRead.java: New class (extends Lexer).
  4631. * kawa/lang/SourceError.java: New class.
  4632. * kawa/lang/SyntaxException.java: New class (extends Exception).
  4633. * kawa/lang/ReadError.java: No longer used.
  4634. * kawa/lang/EofReadError.java: No longer used.
  4635. * kawa/lang/InPort.java: Scheme reader methods now in ScmRead,
  4636. * kawa/lang/Interpreter.java (read): New throws SyntaxException.
  4637. * kawa/lang/Makefile.am: Update for new and removed classes.
  4638. * kawa/standard/read.java: Update for new reader.
  4639. * kawa/standard/string2number.java (parse): Update for new reader.
  4640. Optimize - don't convert <string> to <String> to char[].
  4641. * Shell.java: Changes for new Lexer framework.
  4642. * */Makefile.in: Update for automake 1.3.
  4643. * kawa/lang/LambdaExp.java (<init>): Handle #!null as default arg.
  4644. * kawa/lang/CompileFile.java (readBody): New method.
  4645. * kawa/lang/Eval.java (eval): Re-organize methods.
  4646. (evalBody): New method. Save and restore current Environment.
  4647. * kawa/lang/ModuleExp.java (eval_module): Rename to evalModule.
  4648. * kawa/standard/Scheme.java (eval): Use Eval.readBody.
  4649. * kawa/lang/PrimProcedure.java (getNamedType): Add <record>, <type>,
  4650. and <class-type>.
  4651. * kawa/lang/Record.java (makeRecordType): Return ClassType, not Class.
  4652. (typeFieldNames): New overload taking ClassType.
  4653. * kawa/lang/RecordConstructor.java (numArgs): New method.
  4654. (applyN): Throw WrongArguments if wrong number of arguments.
  4655. (getname): New method.
  4656. (<init>): New constructor takes ClassType (overloaded with Class).
  4657. * kawa/lang/SetFieldProc.java (<init>): Add overload taking ClassType.
  4658. * kawa/lang/GetFieldProc.java: Likewise.
  4659. Tue Apr 28 21:58:49 1998 Per Bothner <bothner@cygnus.com>
  4660. * kawa/Makefile.am: Change AUTOMAKE_OPTIONS to cygnus.
  4661. Mon Apr 27 00:03:51 1998 Per Bothner <bothner@cygnus.com>
  4662. * kawa/lang/LambdaExp.java (declareThis): New method.
  4663. Make some fields public (for EcmaScript).
  4664. * kawa/lang/SysInPort.java (fill): Work-around for NTEmacs shell mode.
  4665. * kawa/lang/TtyInPort.java (tie): Make protected.
  4666. * kawa/lang/InPort.java (readSchemeReal): Cleaner (and more
  4667. portable I hope) handling of inexact zero denominator.
  4668. Tue Apr 14 10:09:17 1998 Patrick Barta <patr@welchlink.welch.jhu.edu>
  4669. * kawa/lang/InPort.java (readSchemeReal): Simplification that
  4670. avoids javac (on NT) problem.
  4671. Sat Apr 4 17:53:18 1998 Per Bothner <bothner@cygnus.com>
  4672. * configure.in: Set version number to 1.6.51.
  4673. * kawa/lang/Char.java (toString): New method.
  4674. * kawa/lang/ConditionalTarget.java: New Target class.
  4675. * kawa/lang/Compilation.java (compileConstant):
  4676. Handle ConditionalTarget.
  4677. * kawa/lang/QuoteExp.java (voidExp, trueExp): New statics.
  4678. * kawa/lang/IfExp.java (compile): Re-write to use ConditionalTarget.
  4679. * kawa/lang/TryExp.java (compile): Let CodeAttr handle saving result.
  4680. * kawa/lang/Future.java (<init>): Initialize in, out, and err fields.
  4681. (waitForResult): Simplify exception handling.
  4682. * */Makefile.am: Re-write to compile all out-of-date *.java at once.
  4683. Changes for gnu.ecmascript:
  4684. * kawa/lang/LineBufferedReader.java (pos, limit, buffer): Make public.
  4685. * kawa/lang/InPort.java (readOptionalExponent): Make public.
  4686. * kawa/lang/EofReadError.java (<init>): Make public.
  4687. * kawa/lang/Compilation.java (trueConstant, falseConstant): Likewise.
  4688. * kawa/standard/{eq_p, not}.java: Inline; handle ConditionalTarget.
  4689. * kawa/standard/Scheme.java (initScheme): Get 'and from kawa.lib.
  4690. Added port-line, port-column, and set-port-line! (from Guile).
  4691. * kawa/repl.java (main): Allow multiple source files after -C flag.
  4692. * kawa/Version.java.in: Use VERSION instead of @VERSION@ as template.
  4693. * kawa/Makefile.am (Version.java): New generated at build time.
  4694. (EXTRA_DIST): Also distribute generated Version.java.
  4695. * configure.in (AC_OUTPUT): Remove kawa/Version.java.
  4696. Fri Mar 13 22:11:59 1998 Per Bothner <bothner@cygnus.com>
  4697. * kawa/lang/Target.java: New abstract class - represents the
  4698. destination for the value of an Expression.
  4699. * kawa/lang/{StackTarget.java,TailTarget.java,IgnoreTarget.java}:
  4700. New classes that extend Target.
  4701. * kawa/lang/Makefile.am: Update for new target classes.
  4702. * kawa/lang/Expression.java (compile): Take Target instead of flags.
  4703. (IGNORED, LAST): Removed flags.
  4704. (compile_with_linenumber): Renamed to compileWithPosition; take Target.
  4705. * kawa/lang/Compilation.java (compileConstant): New overload.
  4706. * kawa/lang/{ApplyExp.java,BeginExp.java,CatchClause.java,
  4707. Compilation.java,ErrorExp.java,GetFieldProc.java,IfExp.java,
  4708. Inlineable.java,LambdaExp.java,LetExp.java,PrimArrayGet.java,
  4709. PrimArrayLength.java,PrimArrayNew.java,PrimArraySet.java,
  4710. PrimGetStatic.java,PrimProcedure.java,PrimSetStatic.java,QuoteExp.java,
  4711. ReferenceExp.java,SetApplyExp.java,SetExp.java,SetFieldProc.java,
  4712. TryExp.java} (compile): Update to take a Target.
  4713. * kawa/standard/{convert.java,instance.java,prim_throw.java}: Likewise.
  4714. Wed Mar 11 17:00:00 1998 Per Bothner <bothner@cygnus.com>
  4715. Kawa version 1.6 released.
  4716. Tue Mar 10 20:01:37 1998 Per Bothner <bothner@cygnus.com>
  4717. * kawa/lang/ApplyExp.java (getFunction): New method.
  4718. * kawa/lang/PrimArrayNew.java (compile): Fix compile target type bug.
  4719. * kawa/lang/PrimProcedure.java (applyN): Use coerced args values.
  4720. * kawa/lang/PrimArraySet.java (compile): Convert value.
  4721. * kawa/standard/Scheme.java (getTypeValue): New static method.
  4722. (initScheme): Add "constant-fold", "system", and more. Minor fixes.
  4723. * kawa/standard/Makefile.am: Update.
  4724. * kawa/standard/constant_fold.java: New Syntax.
  4725. * kawa/standard/{convert.java,instance.java}: Use Scheme.getTypeValue.
  4726. Various small fixes and improvements.
  4727. Mon Mar 9 17:53:33 1998 Per Bothner <bothner@cygnus.com>
  4728. * kawa/lang/SysInPort.java: New TtyInPort class.
  4729. * kawa/lang/InPort.java (systemInPort, defaultInPort): Replace inp.
  4730. (systemInPort): Is now a SysInPort, instead of TtyInPort.
  4731. * kawa/lang/Makefile.am: Update accordingly.
  4732. * kawa/lang/PairWithPosition.java: Line and column nums are 1-origin.
  4733. * kawa/lang/PrimProcedure.java (compile): Renamed for gnu.bytecode.
  4734. * kawa/lang/ReferenceExp.java (getName, getBinding): New methods.
  4735. * kawa/lang/PrimArraySet.java (apply3): Convert value.
  4736. * kawa/lang/SetFieldProc.java (apply2): Add type convertion.
  4737. Tue Mar 3 11:51:08 1998 Per Bothner <bothner@cygnus.com>
  4738. * configure.in (AC_OUTPUT): Generate kawa/Version.java.
  4739. * kawa/{Makefile.am,kawa/Makefile.in}: Update to generate Version.java.
  4740. * kawa/repl.java (main): Handle --version and --main.
  4741. Moving definition of symbol-read-case to Scheme.java.
  4742. * kawa/Version.java.in: New template used to generate Version.java.
  4743. * kawa/lang/Compilation.java (generateMain, generateMainDefault): New.
  4744. (addClass): Generate main method if generateMain is true.
  4745. * kawa/lang/ModuleBody.java (runAsMain): New method.
  4746. * kawa/lang/{ApplyExp.java,Compilation.java,Literal.java,
  4747. ReferenceExp.java,SetApplyExp.java,SetExp.java,SyntaxRules.java,
  4748. Vector.java}: Update for moved gnu.bytecode methods.
  4749. * kawa/lang/{GetFieldProc.java,SetFieldProc.java}: Rewrite to
  4750. work with ClassType (not just Class) and implement Inlineable.
  4751. * kawa/lang/{PrimGetStatic.java,PrimSetStatic.java}: New Procedures.
  4752. * kawa/lang/{PrimArrayGet.java,PrimArrayLength.java,
  4753. PrimArrayNew.java,PrimArraySet.java}: New Inlineable Procedures.
  4754. * kawa/lang/{Makefile.am,Makefile.in}: Update for new classes.
  4755. * kawa/standard/Scheme.java: Add new methods from kawa.lib.reflection.
  4756. * kawa/lang/LineBufferedReader.java (fill): Fix minor think-o.
  4757. * kawa/lang/TtyInPort.java (fill): Likewise.
  4758. Tue Feb 24 18:32:21 1998 Per Bothner <bothner@cygnus.com>
  4759. * kawa/lang/Keyword.java (getName): New method.
  4760. * kawa/lang/HasSetter.java: New interface.
  4761. * kawa/lang/Procedure.java (getSetter, set0, set1, setN): New methods.
  4762. * kawa/lang/Compilation.java: Make various static values public.
  4763. * kawa/lang/SetApplyExp.java: New Expression class.
  4764. * kawa/lang/Setter.java: New class, extends ProcedureN.
  4765. * kawa/lang/Setter0.java: New. A 0-argument (not counting RHS) Setter.
  4766. * kawa/lang/Setter1.java: New. A 1-argument (not counting RHS) Setter.
  4767. * kawa/lang/Makefile.am: Update for new classes.
  4768. * kawa/lang/AutoloadProcedure.java (getSetter): New method.
  4769. * kawa/standard/set_b.java (rewrite): Handle (set! (f . args) v).
  4770. * kawa/lang/Record.java (apply): Added, since we extend Procedure1.
  4771. (set1): Method added, as implementation of interface HasSetter.
  4772. (print): Method added, overrides Procedure.print.
  4773. * kawa/lang/Named.java (sym_name): Change from public to protected.
  4774. * kawa/lang/Translator.java (rewrite): Don't check for <TYPE> here.
  4775. * kawa/lang/ReferenceExp.java (lookup): New method, checks for
  4776. <TYPE>, but only if otherwise not defined.
  4777. (eval, compile): Use lookup to handle "<NAME>".
  4778. * kawa/standard/car.java (set1): New, to implement HasSetter.
  4779. * kawa/standard/cdr.java (set1): New, to implement HasSetter.
  4780. * kawa/standard/cxr.java (set1): New, to implement HasSetter.
  4781. * kawa/standard/setter.java: New Procedure1 class.
  4782. * kawa/standard/make.java: New ProcedureN class.
  4783. * kawa/standard/Makefile.am, kawa/standard/Scheme.java: Update.
  4784. Thu Feb 19 18:36:18 1998 Per Bothner <bothner@cygnus.com>
  4785. * Makefile.am, Makefile.in (kawa-@VERSION@-compiled.zip): Build
  4786. archive from .class files in ".", not installed ones.
  4787. * kawa/lang/InPort.java: New constructors controlling char conversion.
  4788. (convertToReader, openFile): New static methods.
  4789. (readChar, readString): Always convert CR and CRLF to LF.
  4790. * kawa/lang/TtyInPort.java: Always convert CR and CRLF to LF.
  4791. * kawa/standard/open_input_file.java: Simplify - logic
  4792. for selection char encoding is now in InPort.openFile.
  4793. * kawa/lang/CompileFile.java (read): Use new InPort.openFile method.
  4794. * kawa/Shell.java (runFile): Likewise.
  4795. * kawa/standard/call_with_input_file.java (apply2): Likewise.
  4796. * kawa/standard/with_input_from_file.java: Likewise.
  4797. * kawa/standard/load.java (loadSource, apply2): Likewise.
  4798. Wed Feb 18 22:12:13 1998 Per Bothner <bothner@cygnus.com>
  4799. * kawa/standard/open_input_file.java: If binary file, do setBuffer.
  4800. Do setConvertCR(true) for text files.
  4801. * kawa/lang/LineBufferedReader.java: Fix so line and column numbers
  4802. will be correct for CRLF is seen, even if !getConvertCR().
  4803. * kawa/lang/InPort.java (skipWhitespaceAndComments): '\r'
  4804. terminates comments starting with ';'.
  4805. * kawa/lang/FString.java (open): Return plain InPort (to match
  4806. call-with-input-string in kawa.lib).
  4807. * kawa/lang/CharArrayInPort.java (read): Remove bad optimization.
  4808. * kawa/lang/PrimProcedure.java: Remove second <float> definition.
  4809. Mon Feb 16 16:01:37 1998 Per Bothner <bothner@cygnus.com>
  4810. * Makefile.am (EXTRA_DIST): Add Debian source package files.
  4811. * kawa/standard/{call_with_input_string.java,input_port_p.java,
  4812. kawa/standard/output_port_p.java}: Replaced by functions in kawa/lib.
  4813. * kawa/standard/{Scheme.java,Makefile.am}: Update accordingly.
  4814. * kawa/lang/PrimProcedure.java (string2Type): Check that name is
  4815. valid Java class name only for not-yet-defined types.
  4816. (getNamedType): Add input-port and output-port.
  4817. * kawa/lang/Translator.java (rewrite): Don't call
  4818. PrimProcedure.string2Type here - now handled by string2Type.
  4819. * kawa/standard/prim_method.java (exp2Type): Likewise.
  4820. * kawa/lang/LineBufferedReader.java: Re-write for increased
  4821. performance, some extra features, and maybe some bug-fixes.
  4822. (getConvertCR, setBuffer, skip_quick, unread_quick): New methods.
  4823. (fill): New overrideable method, subsubmes readHook.
  4824. (readHook): Removed.
  4825. * kawa/lang/InPort.java: Efficiency improvements.
  4826. (readDigits): New method.
  4827. * kawa/lang/TtyInPort.java (fill): New method, replaces readHook.
  4828. * kawa/lang/{CharArrayInPort.java,NullReader.java}: New classes.
  4829. * kawa/lang/{Makefile.am,Makefile.in} (OBJ): Update for new classes.
  4830. * kawa/lang/FString.java (open): New method.
  4831. * kawa/standard/string2number.java (parse): Use CharArrayInPort.
  4832. * kawa/standard/Scheme.java (eval): Likewise.
  4833. * kawa/Shell.java (runString): Likewise.
  4834. * kawa/standard/{convert.java,instance.java}: Fix error messages.
  4835. Sun Feb 8 15:01:42 1998 Per Bothner <bothner@cygnus.com>
  4836. * configure.in (VERSION): Set to 1.6.
  4837. Fri Feb 6 17:17:17 1998 Per Bothner <bothner@cygnus.com>
  4838. * */Makefile.am, */Makefile.in (javadir): Change from $(prefix)/java
  4839. to $(datadir)/java. More compatible with GNU standards and Linux FHS.
  4840. * kawa/Makefile.am (kawa#(BAT)): Update KAWALIB location accordingly.
  4841. * kawa/Makefile.am (CLEANFILES): Use *.class instead of $(OBJ).
  4842. * kawa/standard/Scheme.java: Add scheme-window procedure.
  4843. * kawa/repl.java (main): Add -w flag (creates new GuiConsole).
  4844. Tue Feb 3 12:57:50 1998 Per Bothner <bothner@cygnus.com>
  4845. * configure.in, configure: Set version to 1.5.95.
  4846. * kawa/GuiConsole.java (close): Make non-private.
  4847. (Works around javac bug in some JDK versions.)
  4848. * kawa/Shell.java: Better handling of WrongArguments.
  4849. * kawa/repl.java (main): If compilation throws exception, print stack.
  4850. * kawa/standard/{abs,angle,complex_p.denominator,exp,imag_part,log,
  4851. magnitude,make_polar,make_rectangular,number_p,numerator,quantity_p,
  4852. quotient,rational_p,real_p,real_part,remainder,zero_p}.java:
  4853. Replaced by functions in lib.
  4854. * kawa/standard.Scheme.java: Many functions moved to kawa.lib.numbers.
  4855. * kawa/standard/Makefile.{am,in}: Update for removed files.
  4856. * kawa/lang/PrimProcedure.java (getNamedType): Add more logical names.
  4857. * kawa/standard/convert.java: New Procedure2 implements "as".
  4858. * kawa/standard/instance.java: New Procedure2 implements "instance?".
  4859. * kawa.standard/{char_p,vector_p}.java: Replaced by Scheme functions.
  4860. * kawa/standard/Scheme.java: Update for new or moved procedures.
  4861. (byteType ... charType): New Scheme-specific SpecialType Types.
  4862. * kawa/standard/Makefile.am: Update accordingly.
  4863. * kawa/lang/{AnyPat,ApplyExp,Char,Compilation,EqualPat,FString,IfExp,
  4864. Keyword,LambdaExp,Literal,ListRepeatPat,Pair,PairPat,PrimProcedure,
  4865. Record,ReferenceExp,SetExp,Special,SyntaxRule,SyntaxRules,Vector}.java:
  4866. Update calls to gnu.bytecode methods (from compile_xxx to emitXxx).
  4867. * kawa/lang/Char.java: Use Scheme.charType.
  4868. * kawa/lang/ApplyExp.java (compile): Split off to new static function.
  4869. * kawa/lang/CompileFile.java (read): Check if unmatched ')' follows.
  4870. * kawa/lang/InPort.java (readListBody): Fix line-num off-by-one error.
  4871. * kawa/lang/ReadError.java (construct_message): Likewise.
  4872. * kawa/lang/QuoteExp.java (getValue): New final method.
  4873. * kawa/lang/Translator.java (rewrite_pair): If functions is an
  4874. Inlineable Procedure, check that the number of args is ok.
  4875. (rewrite): Use string2Type instead of getNamedType.
  4876. * kawa/lang/SpecialType.java: New class - extends PrimType.
  4877. * kawa/lang/Makefile.am: Added SpecialType.class.
  4878. * kawa/lang/Expression.java (compile(Compilation,int,Type)): No
  4879. longer need special handling here for char and boolean primtive types.
  4880. * kawa/lang/Named.java (getName): Make non-final.
  4881. * kawa/lang/PrimProcedure.java (applyN): Make work.
  4882. (getNamedType): Use new Scheme SpecialType objects.
  4883. (getname): new overriding method.
  4884. (compile): Can simplify, because of new SpecialType objects.
  4885. * kawa/lang/WrongArguments.java (getMessage, constructor): New.
  4886. (checkArgCount): New static method.
  4887. Inherit from IllegalArgumentException, not RuntimeException.
  4888. * kawa/lang/Procedure.java (numArgs): New virtual method.
  4889. (minArgs, maxArgs): New final methods.
  4890. (checkArgCount): New static method.
  4891. * kawa/lang/{Procedure0,Procedure0or1,Procedure1,Procedure1or2,
  4892. Procedure2,Procedure3,Procedure4}.java
  4893. (numArgs): Add overriding method.
  4894. (applyX): Remove unneeded throws specifications.
  4895. (applyX): Use new WrongArguments constructor.
  4896. * kawa/lang/Compilation.java: If compiling to a ProcedureN class,
  4897. emit numArgs method, and call to cehckArgs.
  4898. Tue Jan 27 12:02:33 1998 Per Bothner <bothner@cygnus.com>
  4899. * configure.in (VERSION): Set to 1.5.94.
  4900. Mon Jan 26 16:38:14 1998 Per Bothner <bothner@cygnus.com>
  4901. * kawa/lang/CatchClause.java: Fixes to get things working.
  4902. (getNext, setNext, getBody, setBody): New methods.
  4903. * kawa/lang/TryExp.java: More fixes.
  4904. (getCatchClauses, setCatchClauses): New.
  4905. * kawa/standard/prim_throw.java: New class implements primitive-throw.
  4906. * kawa/standard/throw_name.java: New Procedure implements throw.
  4907. * kawa/standard/try_catch.java: new syntax, implements try-catch.
  4908. * kawa/standard/error.java: Removed class.
  4909. * kawa/lang/Named.java (getName): New method.
  4910. * kawa/standard/Scheme.java (define_proc): New method overload.
  4911. (initScheme): Add new methods. Give name() to old ones.
  4912. * kawa/{lang,standard}/Makefile.am: Update for new/removed classes.
  4913. * kawa/lang/Inlineable.java: New interface.
  4914. * kawa/lang/PrimApplyExp.java: Removed - subsumed by PrimProcedure.
  4915. * kawa/lang/PrimProcedure.java: Implement Inlineable.
  4916. (compile): New method, taken from PrimApplyExp.compile.
  4917. * kawa/lang/ApplyExp.java (getArgs): New method.
  4918. (compile): If a quoted Inlineable function, call its compile method.
  4919. * kawa/lang/Translator.java (rewrite_pair): Check if func name is
  4920. bound to an Inlineable proc; if so, wrap it in a QuoteExp.
  4921. But we no longer need to handle PrimProcedure specially.
  4922. * kawa/standard/prim_method.java (exp2Type): New method.
  4923. (rewrite): Use exp2Type.
  4924. * kawa/lang/NamedException.java: New class.
  4925. * kawa/lang/PrimProcedure.java (getnamedType): Don't put
  4926. predefined <TYPENAME>s in types; let rewrite handle it.
  4927. * kawa/lang/Translator.java (rewrite): Handle generate <TYPENAME>.
  4928. * kawa/lang/InPort.java (readListBody): Allow "(. x)", so change
  4929. return type to Object instead of List.
  4930. * kawa/lang/ModuleExp.java (constructor): Update for readListBody.
  4931. * kawa/lang/CompileFile.java (read): Likewise.
  4932. * kawa/lang/{WrongArguments.java,WrongType.java,UnboundSymbol.java,
  4933. GenericError.java}: Inherit from RuntimeException.
  4934. Sat Jan 24 14:31:52 1998 Per Bothner <bothner@cygnus.com>
  4935. * kawa/MessageArea.java (endMark, length, out_stream): New fields.
  4936. (enter): Don't pass KeyEvent, or do consume here.
  4937. Better handling of various edits, including multi-line paste.
  4938. (write): New method, body taken from TextAreaWriter.
  4939. (deleteOldText): New method.
  4940. (textValueChanged): New listener method.
  4941. * kawa/GuiConsole.java (constructor): Create GuiInPort, not TtyInPort.
  4942. (actionPerformed): Use MessageArea.deleteOldText.
  4943. * kawa/GuiInPort.java: New class.
  4944. * kawa/TextAreaWriter.java (write(String)): Call MessageArea.write.
  4945. (write): Add cast from int to char. (Patch from Albert Ting.)
  4946. * kawa/Makefile.am, kawa/Makefile.in (OBJ): Add GuiInPort.class.
  4947. Tue Jan 20 10:28:24 1998 Alternator Petrofsky <albatros@wco.com>
  4948. * kawa/lang/InPort.java (readState): Changed to StringBuffer.
  4949. isDelimiter, readNestedComment, readVector): New functions
  4950. (skipWhitespaceAndComments): Handle nested comments.
  4951. (readListBody): Update. Use isDelimiter after dot.
  4952. Wed Jan 21 12:37:10 1998 Per Bothner <bothner@cygnus.com>
  4953. General cleanup of how Environments work, especially how they
  4954. interact with Interpreters (i.e. Scheme) and Futures.
  4955. * kawa/lang/Environment.java (global): New static.
  4956. (getCurrent, setCurrrent): If current thread is not a Future,
  4957. get/set global, rather than Scheme.env.
  4958. * kawa/lang/Future.java: New constuctor, with given Environment.
  4959. * kawa/lang/Interpreter.java (environ): Make protected.
  4960. (getEnvironment, setEnvironment): New methods.
  4961. (define, lookup): Moved here from kawa/standard/Scheme.java.
  4962. * kawa/standard/Scheme.java (builtin): New static method.
  4963. (curEnvironment, setEnvironment, makeEnvironment): Removed.
  4964. (env): Removed static field.
  4965. (initcheme): Use environ, in place of env.
  4966. (constructor): Re-write more cleanly.
  4967. * kawa/standard/user_env.java: Use Environment.user().
  4968. * kawa/Shell.java (apply): Set and restore current Environment.
  4969. * kawa/repl.java (main): Fix for new Scheme interface.
  4970. * kawa/GuiConsole.java (constructor): Add new Scheme environment
  4971. to Future (instead of creating a new one).
  4972. (main): Update for new ENvironment conventions.
  4973. * kawa/{Makefile.am,Makefile.in} (SECONDARY_OBJS):
  4974. Remove GuiConsole$$_MenuAction.class.
  4975. * kawa/TextAreaWriter.java (write(String)): New method.
  4976. Insert at outputMark if writing to a MessageArea.
  4977. * kawa/MessageArea.java (append): Remove.
  4978. (enter): Nicer behavior.
  4979. * kawa/GuiConsole.java: More menu actions. Various improvements.
  4980. Mon Jan 19 14:44:09 1998 Per Bothner <bothner@cygnus.com>
  4981. * configure.in: Set version to 1.5.93.
  4982. * kawa/lang/Compilation.java (mangleClassName): Renamed to mangleName.
  4983. * kawa/lang/LambdaExp.java: Update.
  4984. * kawa/lang/Declaration.java (constructor): Set Variable.name to
  4985. mangled name (with mangleName), while Declaration.sym is source name.
  4986. * kawa/Shell.java: Extend Procedure0, so it can be passed to Future.
  4987. Add contsructur, various fields, and make methods non-static.
  4988. Remove code now in Scheme (read and print methods).
  4989. (run, runString) Take Interpreter arguemnts, not Environment.
  4990. * kawa/repl.java: Update for new Shell.run interfaces.
  4991. * kawa/{TextAreaWriter.java,GuiConsole.java,MessageArea.java}:
  4992. New classes, for making a Frame with a repl.
  4993. * kawa/Makefile.am: Add new classes.
  4994. * kawa/standard/load.java (loadSource): Update for new Shell.run.
  4995. * kawa/lang/Interpreter.java (read, print): New abstract methods.
  4996. * kawa/standard/Scheme.java (read, print): New methods.
  4997. (Scheme): Support multiple instances and environments.
  4998. (initScheme): New method, created from Scheme constructor.
  4999. Add port-char-encoding, copy-file, input-port-read-state.
  5000. * kawa/lang/Expression.java (eval): Make non-abstract. Throw error.
  5001. * kawa/lang/LetExp.java (eval): Remove.
  5002. * kawa/lang/LineBufferedReader.java (convertCR) New field.
  5003. (setConvertCR): New method.
  5004. (read): Only squash CR and CRLF to LF if convertCR.
  5005. * kawa/standard/{open_input_file.java,open_output_file.java}:
  5006. Use port-char-encoding to select char conversion and text vs binary.
  5007. * kawa/lang/OutPort.java (outDefault, setOutDefault, errDefault,
  5008. setErrDefault): Get/set thread-local port (in current Future).
  5009. * kawa/lang/InPort.java (inDefault, setInDefault): Likewise.
  5010. * kawa/lang/QueueReader.java: New class.
  5011. * kawa/lang/TryExp.java: Add code to implement try-catch.
  5012. * kawa/lang/CatchClause.java: New class, for try-catch catch clause.
  5013. * kawa/lang/Makefile.am: Add QueueReader and CatchClause.
  5014. * kawa/lang/PrimProcedure.java (toString): Added.
  5015. (member): New field.
  5016. (applyN): Implement (partially) using reflection.
  5017. Thu Jan 15 13:03:02 1998 Per Bothner <bothner@cygnus.com>
  5018. * kawa/lang/InPort.java (readState): New field.
  5019. (getReadState): New method. (Used by input-port-read-state.)
  5020. (readList, readSchemeObject): Set and restore readState.
  5021. Sat Jan 10 13:42:48 1998 Alcibiades Petrofsky <albatros@wco.com>
  5022. * kawa/lang/Continuation.java: Support multi-value continuation.
  5023. Support full R4RS number syntax, including polar, plus infinity/NaN.
  5024. * kawa/lang/InPort.java (readSchemeComplex): New method.
  5025. (readSchemeNumber, readSchemeReal): Re-write.
  5026. * kawa/standard/string2number.java: Update.
  5027. Sun Dec 14 22:42:44 1997 Per Bothner <bothner@cygnus.com>
  5028. * configure.in: Set version to 1.5.92.
  5029. * kawa/repl.java: Define new variable symbol-read-case.
  5030. * kawa/lang/InPort.java (getReadCase): New function.
  5031. (readSymbol): Check value of getReadCase.
  5032. * kawa/langEnvironment.java (user): Now just returns value of current.
  5033. Sun Dec 14 16:12:19 1997 Per Bothner <bothner@cygnus.com>
  5034. * kawa/lang/*.java: More updates for gnu.bytecode changes.
  5035. * kawa/lang/Compilation.java (addClass): Fix type of "this".
  5036. * kawa/lang/Environment.java (current): Renamed to getCurrent.
  5037. (setCurrent): New method.
  5038. Various fixes to support per-thread environments.
  5039. * kawa/lang/ModuleExp.java (eval_module): Set and restore
  5040. current Environment if we must compile.
  5041. * kawa/lang/Expression.java (getType): New method.
  5042. * kawa/lang/TryExp.java: New class, for try-finally expressions.
  5043. * kawa/lang/Makefile.am: Add TryExp.
  5044. * kawa/standard/Scheme.java (setEnvironment): New method.
  5045. (Scheme): Define dynamic-wind and fluid-let.
  5046. * kawa/standard/try_finally.java: New class which extends Syntax.
  5047. * kawa/standard/Makefile.am: Added try_finally.
  5048. * kawa/standard/load.java (loadCompiled): Update ZipLoaded constuctor.
  5049. Thu Nov 27 21:42:08 1997 Per Bothner <bothner@cygnus.com>
  5050. * kawa/lang/*.java: Update for gnu.bytecode changes.
  5051. (Mostly change Method.compile_xxx to CodeAttr.emitXxx.)
  5052. * kawa/repl.java (checkInitFile): Fix thinko (sense of test).
  5053. On non-Unix-like system, read kawarc.scm instead of .kawarc.scm.
  5054. Wed Nov 12 22:25:56 1997 Per Bothner <bothner@cygnus.com>
  5055. * kawa/lang/ApplyExp.java (compile): Fix typo.
  5056. Sat Nov 1 23:30:16 1997 Per Bothner <bothner@cygnus.com>
  5057. * configure.in: Change version to 1.5.91.
  5058. * */Makefile.am: Add JCFLAGS.
  5059. * configure.in, */Makefile.am: Remove --with-jdk11 flag, and stuff
  5060. that depends on it Make the reflection stuff non-optional.
  5061. * kawa/lang/Compilation.java (addClass): Generate literals in
  5062. <clinit>, not <init>.
  5063. * kawa/stadard/Scheme.java: Add environment-bound? and
  5064. scheme-implementation-version from kawa.lib.misc.
  5065. * kawa/lang/Compilation.java (compileConstant):
  5066. Inlined call to Literal.compile.
  5067. If value is String, just compile_push_string (if !immediate).
  5068. (addClass): Call method.initCode() - gnu.bytecode changed.
  5069. * kawa/lang/Literal.java (compile): Removed.
  5070. (emit): Handle Strings to always use CONSTANT_String.
  5071. * kawa/lang/LambdaExp.java (compile): Set type of this.
  5072. * kawa/lang/SchemeLoader.java (loadClass): Add extra name arg to
  5073. defineClass call, to match new JDK1.1 non-deprecated interface.
  5074. Fri Sep 26 21:34:39 1997 Per Bothner <bothner@cygnus.com>
  5075. * kawa/lang/Symbol: This is now a helper class, with no instances.
  5076. Scheme symbols are now represented by java.lang.String objects.
  5077. All methods are static. Also, add some debugging utilities.
  5078. * kawa/lang/Interpreter.java (trueObject, falseObject):
  5079. Use Boolean.TRUE and Boolean.FALSE.
  5080. * kawa/lang/PrimProcedure.java: Update <symbol> to String.
  5081. Add <function>.
  5082. * kawa/*/*.java: Change Symbol parameters and variables to String.
  5083. Remove duplicates methods. Replace Symbol.make("xxx") by plain "xxx".
  5084. * kawa/lang/Compilation.java: Update replacing Symbol by String.
  5085. * kawa/lang/Environment.java (remove(Binding)): Fix bug when chained.
  5086. (remove(String), remove(Object)): New overloaded methods.
  5087. * kawa/lang/SyntaxRule.java (indexOf): New method.
  5088. * kawa/lang/Translator.java (syntaxError): Use OutPort.errDefault()
  5089. instead of System.err.
  5090. (current_decls): Change from Hashtable to Environment.
  5091. * kawa/standard/{substring,string_copy,string_fill_b}.java:
  5092. Removed. Replaced by kawa/lib/strings.scm.
  5093. * kawa/standard/Makefile.am: Removed old classes.
  5094. * kawa/standard/Scheme.java: Update for new string and symbol code.
  5095. * kawa/standard/real_part.java: Fix thinko.
  5096. * kawa/lang/FString.java (fill): New method.
  5097. * kawa/lang/ApplyExp.java (compile): Remove unused variable func_name.
  5098. * kawa/lang/Nameable.java: Removed - not used.
  5099. * kawa/lang/OutPort.java (errInitial): Set autoflush.
  5100. (outInitial): Initialize using System.out, not System.err.
  5101. (setLogFile, closeLogFile): New methods.
  5102. * ALL/Makefile.in: Re-generate using automake 1.2.
  5103. Wed Jul 2 16:26:35 1997 Per Bothner <bothner@cygnus.com>
  5104. * kawa/lang/*: Change representation of (interned) Scheme symbols
  5105. to interned java.lang.String.
  5106. * kawa/standard/*, kawa/Shell.java: Likewise.
  5107. * kawa/lang/Interpreter.java (falseObject, trueObject):
  5108. Use Boolean.FALSE and Boolean.TRUE. Make static fields final.
  5109. Sun Jun 22 14:07:48 1997 Per Bothner <bothner@cygnus.com>
  5110. Use JDK1.1 I/O characters-oriented Reader/Writer classes.
  5111. * kawa/lang/*.java (print): Update .PrintStream -> PrintWriter.
  5112. Update FileInputStream -> FileReader.
  5113. * kawa/standard/*.java (print): Likewise.
  5114. * kawa/lang/LineBufferedReader.java: New class extends FilterReader.
  5115. * kawa/lang/InPort.java: Much functionality now in LineBufferedReader.
  5116. Use read instead of readChar.
  5117. * kawa/lang/LogWriter.java: New class - extends FilterWriter.
  5118. * kawa/lang/Compilation.java (compileConstant): Handle null.
  5119. * kawa/lang/TtyInPort.java: New class extends InPort.
  5120. * kawa/lang/OutPort.java: Now inherits from PrintWriter.
  5121. * kawa/lang/SFormat.java: Substantial re-write.
  5122. * kawa/lang/PrimProcedure.java (getNamedType): New worker function
  5123. for string2Type. Support RScheme/Dylan-style names (e.g. <symbol>).
  5124. * kawa/lang/Translator.java: Recognize <symbol> etc.
  5125. * kawa/standard/Scheme.java: Add new procedures.
  5126. * kawa/standard/call_with_input_string.java: Can now simplify.
  5127. * kawa/standard/call_with_input_string.java: Can now simplify.
  5128. * kawa/standard/call_with_output_string.java: Likewise.
  5129. * kawa/standard/char_ready_p.java: Handle both Reader and InputStream.
  5130. * kawa/standard/readchar.java: Likewise.
  5131. * kawa/Shell.java (run): New (overloaded) method.
  5132. Re-write to new I/O implementation. (Prompt handled by Reader itself.)
  5133. * kawa/repl.java: Re-write for new I/O.
  5134. Thu May 29 14:34:45 1997 Per Bothner <bothner@cygnus.com>
  5135. * kawa/standard/apply.java (applyN): Generalize to general sequences.
  5136. * kawa/standard/load.java. Fix thinko. (Reported by Jay Krell.)
  5137. * kawa/lang/PrimProcedure.java (string2Type): Handle array types.
  5138. * kawa/lang/PrimApplyExp.java (compile): Allow array return type.
  5139. Mon May 26 12:11:52 1997 Per Bothner <bothner@deneb.cygnus.com>
  5140. * configure.in, configure (VERSION): Set to 1.5.
  5141. * **/Makefile.{am,in}: Use CPASSPATH environment variable (which
  5142. add to standard path), instead of -classpath (which replaces).
  5143. * kawa/standard/load.java (loadSource): Do fstream.close when done.
  5144. (apply2): Fix filenames.
  5145. * kawa/standard/Scheme.java: Add new functions from lib/files.scm.
  5146. * kawa/repl.java: Add support for home-directory, and reading
  5147. init file from ~/.kawarc.scm.
  5148. Tue May 20 22:13:25 1997 Per Bothner <bothner@deneb.cygnus.com>
  5149. * kawa/lang/InPort.java (readOptionalExponent); Handle sign.
  5150. (readSchemeNumber): Update Complex.imOne use from field to method.
  5151. Wed May 7 12:26:28 1997 Per Bothner <bothner@deneb.cygnus.com>
  5152. * kawa/lang/InPort.java: Fix some problems in reading numbers.
  5153. Tue Apr 1 18:55:47 1997 Per Bothner <bothner@deneb.cygnus.com>
  5154. * kawa/lang/Compilation.java (mangleClassName): Mangle common Scheme
  5155. identifier chars more legibly.
  5156. (generateClassName): Except for the mainClass, use mainClass+'$'
  5157. as classPrefix, a la JDK 1.1 Inner Classes.
  5158. * kawa/standard/{cons,append,vector_v,vector_append}.java:
  5159. Add import java.lang.Error to work around case-fold bug in
  5160. JDK 1.0.2 in NT.
  5161. Mon Mar 31 16:56:50 1997 Per Bothner <bothner@deneb.cygnus.com>
  5162. * configure.in (VERSION): Change to 1.4.
  5163. Move kawa.math to gnu.math.
  5164. Update kawa.math -> gnu.math various places.
  5165. * kawa/Makefile.{am,in} (SUBDIRS): Remove math.
  5166. Tue Mar 25 15:27:34 1997 Per Bothner <bothner@kalessin.cygnus.com>
  5167. Move codegen to gnu/bytecode.
  5168. Update for moved package codegen -> gnu.bytecode and new method names.
  5169. * kawa/lang/Symbol.java (gentemp): New method.
  5170. * kawa/lang/DefMacro.java, kawa/lang/Makefile.am: New Syntax class.
  5171. * kawa/lang/Lambda.java: Handle syntax errors better.
  5172. * kawa/standard/Scheme.java: Update for lib/syntax.scm additions.
  5173. Wed Mar 19 11:08:04 1997 Per Bothner <bothner@deneb.cygnus.com>
  5174. * kawa/Shell.java (run): Don't special case #!null result.
  5175. * kawa/lang/PrimProcedure.java (<init>): If opcode is invokeinterface,
  5176. make classtype an interface.
  5177. Tue Mar 18 14:03:58 1997 Per Bothner <bothner@deneb.cygnus.com>
  5178. * configure.in, configure: Change VERSION to 1.3beta.
  5179. * kawa/lang/AutuloadSyntax.java (load): Make more robust.
  5180. * kawa/standard/{greater_oper,greaterequal_oper,less_oper,
  5181. lessequal_oper}.java: Generalize from RealNum to Numeric.
  5182. * kawa/standard/equal_oper.java: Use Numeric.compare, not equals.
  5183. * kawa/standard/Scheme.java (define-unit): Fix location.
  5184. Mon Mar 17 17:20:20 1997 Per Bothner <bothner@deneb.cygnus.com>
  5185. * configure.in: Add --with-jdk11 option. Add new substitution
  5186. variables JAVA, JAVAC, EXTRA_OBJ, EXTR_MISC, JAVA_VERSION.
  5187. * kawa/lang/{PrimProcedure,PrimApplyExp}.java: Generalize, for the
  5188. sake of primitive-constructor and primitive-interface-method.
  5189. * kawa/standard/prim_method.java: Likewise.
  5190. * kawa/lang/Keyword.java: New class, for keyword values.
  5191. * kawa/lang/Special.java: New class, for special values.
  5192. * kawa/lang/Symbol.java: Add new static print method overloading.
  5193. * kawa/lang/Sequence.java (eofValue): Re-initialize as Special.eof.
  5194. * kawa/lang/Values.java (empty): New static field, for #!void.
  5195. (print): If printing Values.empty, print as #!void.
  5196. (make): If no values, return Values.empty.
  5197. * kawa/lang/Interpreter (voidObject): Redefine as Values.empty.
  5198. (nullObject): Removed.
  5199. * kawa/lang/*.java: Update Interpreter.nullObject -> List.Empty.
  5200. * kawa/standard/{string2list,vector2list}.java: Likewise.
  5201. * kawa/lang/Translator.java (rewrite): Treat null as any other
  5202. literal value. (Needed to make #!null work.)
  5203. * kawa/lang/Char.java (charNames): Make array of String, not Symbol.
  5204. * kawa/lang/InPort.java (readSymbol): Modify to recognize keywords.
  5205. (readSpecial): New function.
  5206. (readCharacter): Assume charNames is String array.
  5207. * kawa/lang/SFormat.java (print): Print null as #!null.
  5208. Remove special handling for StringBuffer (no longer used for strings).
  5209. * kawa/lang/LambdaExp.java: Support more general formal parameter
  5210. list (with DSSSL-inspired #!optional, #!rest or #!keyword).
  5211. * kawa/lang/Compilation.java (addClass(LambdaExp,String)): Likewise.
  5212. * kawa/lang/{GetFieldProc,SetFieldProc,Record,RecordConstructor}.java:
  5213. New classes for record feature.
  5214. * kawa/lang/Makefile.{am,in}: Update accordingly.
  5215. * kawa/lang/{FString,Literal,SyntaxRule,SyntaxRules,Vector}.java:
  5216. Update for renamed compile_invoke_nonvirtual -> compile_invoke_special.
  5217. * kawa/langFString.java (print): If !readable, just call
  5218. PrintStream.print (to get better autoflush behavior).
  5219. * kawa/lang/WrongArguments.java: Simplify, make more robust.
  5220. * kawa/lang/QuoteExp.java (falseExp): New static field.
  5221. * kawa/standard/ifp.java: Make default else value be #!void.
  5222. * kawa/standard/{eof_object_p,exit,make_string,newline,
  5223. string_length}.java: Removed - replaced by precedures in ../lib.
  5224. * kawa/standard/error.java: New procedure (from DSSSL).
  5225. * kawa/standard/Scheme.java: Update for new and moved procedures.
  5226. * kawa/standard/Makefile.{am,in}: Likewise update.
  5227. * kawa/standard/values_v.java: Use Values.make.
  5228. Sat Mar 8 11:00:24 1997 Per Bothner <bothner@deneb.cygnus.com>
  5229. * kawa/lang/LambdaExp.java (hasNestedScopes): Removed. Replaced by:
  5230. * kawa/lang/ModuleExp.java (mustCompile): New field.
  5231. (eval_module): Test mustCompile instead of hasNestedScopes.
  5232. * kawa/lang/Translator.java (mustCompileHere): New method.
  5233. (rewrite_pair): If we create a PrimApplyExp, call mustCompileHere.
  5234. * kawa/lang/ScopeExp.java (push): Re-implement - use mustCompileHere.
  5235. * kawa/standard/Scheme.java: Add define-unit.
  5236. Mon Mar 3 13:24:01 1997 Per Bothner <bothner@deneb.cygnus.com>
  5237. * kawa/lang/SetExp.java: Add extra casts for multiple static links.
  5238. Tue Feb 11 20:06:49 1997 Per Bothner <bothner@deneb.cygnus.com>
  5239. * configure.in (VERSION): Set to 1.2.
  5240. * Makefile.am (kawa-@VERSION@-compiled.zip): New rule.
  5241. Tue Feb 4 22:16:51 1997 Per Bothner <bothner@deneb.cygnus.com>
  5242. * kawa/lang/Expression.java (Compile with Type): Cast to
  5243. boolean_type such that result is false iff arg is #f.
  5244. * kawa/lang/PrimProcedure.java (getStaticFlag, getParameterTypes): New.
  5245. * kawa/lang/Translator.java (rewrite_pair): Use new methods
  5246. (and don't crash on primitive-op1).
  5247. Mon Feb 3 17:05:29 1997 Per Bothner <bothner@kalessin.cygnus.com>
  5248. * configure.in (VERSION): Set to 1.2 beta.
  5249. * kawa/repl.java: Merge in kawac features.
  5250. * kawac.java: Remove - no longer needed.
  5251. * Makefile.am: Simplify, since we no longer have any .java files here.
  5252. * kawa/Makefilea.am: Make all-recursive depend on repl.class.
  5253. * kawa/lang/Future.java (toString): New.
  5254. * kawa/lang/Translator.java (rewrite_pair): Look for PrimProcedure.
  5255. * kawa/lang/PrimApplyExp.java, kawa/lang/PrimProcedure.java,
  5256. kawa/standard/prim_method.java: New classes.
  5257. * kawa/lang/Char.java (makeCharMethod): Make public.
  5258. (charValueMethod, initMakeMethods): New methods.
  5259. * kawa/lang/Expression.java (compile): New overload - takes Type.
  5260. * kawa/Shell.java (run): Make prompt arg be String, not boolean.
  5261. * kawa/{Shell,repl}.java, kawa/standard/load.java: Update callers.
  5262. * kawa/standard/{char2integer,char_downcase,char_lower_case_p,
  5263. char_numeric_p,char_upcase,char_upper_case_p,char_whitespace_p,
  5264. integer2char}.java: Removed. Superceded by ../lib/characters.scm.
  5265. * kawa/standard/{list2vector,vector_length,vector_ref,
  5266. vector_set_b,vector_v}.java: Superceded by ../lib/vectors.scm.
  5267. * kawa/standard/Scheme.java: Update for new and moved methods.
  5268. * kawa/standard/Makefile.am: Update - mostly removed classes.
  5269. * kawa/standard/negative_p.java: Use isNegative rather than sign.
  5270. Sat Jan 25 12:00:08 1997 Per Bothner <bothner@deneb.cygnus.com>
  5271. * kawa.java: Moved to kawa/repl.java.
  5272. * doc: New directory. Moved documentation there.
  5273. * Makefile.am, kawa/Makefile.am: Updated.
  5274. * kawa/Makefile.am: Create kawa shell-script.
  5275. * */Makefile.in: Update, using new automake version.
  5276. * kawa/lang/Eval.java (eval): Change back to public.
  5277. * kawa/standard/Scheme.java (eval): Update to changed Eval.eval.
  5278. * kawa/lang/Translator.java (check_if_syntax, scan_body): New methods.
  5279. (rewrite_body): Re-write to handle internal definitions.
  5280. * kawa/standard/Scheme.java (beginSyntax, defineSyntax): New statics.
  5281. * kawa/standard/define.java (rewrite): Re-structure, and
  5282. handled internal definition as a set!.
  5283. * kawa/lang/SyntaxRule.java (execute_template): Don't fully rewrite.
  5284. * kawa/lang/SyntaxRules.java (rewrite1): New method.
  5285. * kawa/lang/ScopeExp.java (countDecls): New method.
  5286. * kawa/standard/define_syntax.java: Add rules to translation
  5287. environment, so macro will work when compiling.
  5288. * kawa/standard/load.java (loadSource): Evaluate expressions
  5289. one by one, so macros will work.
  5290. * kawa/lang/Eval.java (eval): Make private and add argument.
  5291. * kawa/lang/Translator.java (currentScope, addGlobal): New methods.
  5292. Tue Jan 21 18:12:53 1997 Per Bothner <bothner@deneb.cygnus.com>
  5293. * kawa/standard/{make_polar,angle}.java: New Procedures.
  5294. * kawa/standard/Makefile.{am,in}: Add make_polar and angle.
  5295. * kawa/standard/Scheme.java: Liekwise. Add magnitude as abs synonym.
  5296. * kawa/standard/{exp,expt,,log,sqrt}.java: Re-implement.
  5297. * kawa/lang/Pattern.java (match): Change return type to boolean.
  5298. * kawa/lang/{AnyPat,EqualPat,ListPat,ListRepeatPat,PairPat,
  5299. VarListPat}.java (match): Update return type and value.
  5300. * kawa/lang/PairPat.java (car_count, cdr_count): New fields.
  5301. * kawa/lang/SyntaxRules.java (rewrite): Change call to match.
  5302. Mon Jan 20 16:23:28 1997 Per Bothner <bothner@kalessin.cygnus.com>
  5303. * kawa/lang/Compilation.java: Add new addClass overloading,
  5304. based on the code from compilefunc.compile.
  5305. * kawa/lang/LambdaExp.java: Use Compilation.addClass.
  5306. * kawa/lang/compilefunc.java: No longer needed.
  5307. * kawa/standard/callcc.java: Remove redundant cast.
  5308. * kawa/lang/Future.java: New class.
  5309. * kawa/standard/force.java: Handle Future as well as Promise.
  5310. * kawa/standard/{make_future,sleep}.java: New procedures.
  5311. * kawa/standard/Scheme,java: Add future, %make-future. and sleep.
  5312. * kawa/{lang,standard}/Makefile.{am,in}: Update as needed.
  5313. * kawa/lang/InPort.java (readSchemeReal): Only recognize
  5314. exponent marker as such if followed by '+', '-', or digit.
  5315. Sun Jan 5 19:18:27 1997 Per Bothner <bothner@deneb.cygnus.com>
  5316. Create new Translator class from the rewrite-related methods and data
  5317. in Interpreter, and create new Translator for each top-level ModuleExp.
  5318. * kawa/lang/CompileFile.java (compile_to_files): Return true
  5319. if syntax errors seen.
  5320. * kawa/lang/Translator.java: New class, comtaining non-static data
  5321. and rewrite-related methods from Interpreter.
  5322. * kawa/lang/Environment.java (lookup_global,define_global):
  5323. Moved here from Interpreter.
  5324. * kawa/lang/Compilation.java (lookupGlobalMethod, defineGlobalMethod):
  5325. Update accordingly.
  5326. * kawa/lang/Interpreter.java: Only static fields and boolObject remain.
  5327. * kawa/lang/LambdaExp (eval_module): Moved to ModuleExp.
  5328. * kawa/lang/ModuleExp.java (constructor): Take extra filename arg.
  5329. * kawa/lang/{AutoloadProcedure,AutoloadSyntax,CompileFile,Declaration,
  5330. Eval,Expression,LambdaExp,Quote,ScopeExp,Syntax,SyntaxRule,SyntaxRules}
  5331. .java, kawa/standard/{and_or,begin,define,define_syntax,ifp,let,letrec,
  5332. load,quasiquote,set_b,syntax_error}.java, kawa/Shell.java:
  5333. Update Interpreter -> Translator.
  5334. Update statics in Interpreter to Scheme.
  5335. * kawa.java, kawac.java: Update.
  5336. * kawa/standard/Scheme.java (makeEnvironment): New function.
  5337. (define,lookup,env): Moved from Interpreter.
  5338. Fri Jan 3 17:35:43 1997 Per Bothner <bothner@deneb.cygnus.com>
  5339. * kawa/lang/ModuleExp.java: New class.
  5340. * kawa/lang/Makefile.{am,in}: Update accordingly.
  5341. * kawa/lang/ModuleBody.java (env_formal, formals): Moved to ModuleExp.
  5342. * kawa/lang/LambdaExp.java (is_module_body): Field removed.
  5343. (isModuleBody): Reimplement as instanceof ModuleExp.
  5344. (setModuleBody): Removed.
  5345. (constructors): Remove one, simplify another.
  5346. * kawa/lang/{CompileFile,Eval}.java: Create ModuleExp, not LambdaExp.
  5347. * kawa/Shell.java (run): Likewise.
  5348. * kawa/lang/InPort.java (readSchemeReal): New.
  5349. (readSchemeNumber): Re-write. Add support for complex and units.
  5350. (readAlphaWord, readOptionalExponent): New helper methods.
  5351. * kawa/standard/equal_oper.java: Just use equals method.
  5352. * kawa/standard/expt.java: Use new Numeric.power(IntNum) virtual.
  5353. * kawa/standard/integer_p.java: Handle integral DFloNum.
  5354. * kawa/standard/{complex_p,imag_part,make_quantity,make_rectangular,
  5355. quantity2number,quantity2unit,quantity_p,real_part}.java: New.
  5356. * kawa/standard/{Makefile.{am,in},Scheme.java}: Update accordingly.
  5357. Sun Dec 15 22:29:30 1996 Per Bothner <bothner@deneb.cygnus.com>
  5358. * configure, configure.in: Support new testsuite directory.
  5359. * Makefile.{am,in} (SUBDIRS): Add new testsuite directory.
  5360. * kawa/standard/{ceiling,floor,round,truncate}.java: Use new
  5361. RealNum.toInt virtual method.
  5362. * kawa/standard/inexact2exact.java: Use new RealNum.toExact.
  5363. * kawa/standard/rationalize.java: New procedure.
  5364. * kawa/standard/{Makefile.{am,in},Scheme.java}: Update accordingly.
  5365. Fri Dec 13 15:57:47 1996 Per Bothner <bothner@deneb.cygnus.com>
  5366. * kawa/lang/Environment.java (define): New overloaded method.
  5367. * kawa/lang/Interpreter.java (rewrite_body): Use List.list_length.
  5368. * kawa/lang/InPort.java (read): Catch IOException from in.available.
  5369. (Needed on some Java implementations.)
  5370. (readSymbol, readSchemeNumber, readSchemeObject): Provide and use
  5371. overloaded versions that are passed next character, avoiding backup.
  5372. (readString): Handle C-style and Java-style escapes.
  5373. (readListBody): New, re-written from readList, with new interface.
  5374. * kawa/lang/CompileFile.java (read): Use InPort.readListBody.
  5375. * kawa/lang/LambdaExp.java: New constructor for ModuleBody,
  5376. * kawa/lang/Eval.java (eval): New overloaded versions.
  5377. * kawa/standard/{bit_extract.logand,logbit_p,logcount,logior,lognot,
  5378. logop,logtest,logxor}.java: New procedures.
  5379. * kawa/standard/{Makefile.am,Makefile.in,Scheme.java}: Update.
  5380. * kawa/standard/expt.java: Simplify - use RatNum.power.
  5381. * kawa/standard/eqv_p.java (eqv_p): Rename to isEqv.
  5382. * kawa/standard/exact2inexact.java: Use RealNum.doubleValue,
  5383. Sun Nov 24 13:04:49 1996 Per Bothner <bothner@deneb.cygnus.com>
  5384. * kawa/lang/SFormat.java: New class.
  5385. * kawa/lang/print.java: Moved print to SFormat. Removed.
  5386. * kawa/lang/Makefile.{am,in}: Update accordingly.
  5387. * kawa/lang/{Equalpat,LambdaExp,ListRepeatPat,OutPort,Pair,PairPat,
  5388. Promise,QuoteExp,ReferenceExp,SetExp,SyntaxRule,SyntaxRules,Values,
  5389. Vector}.java, kawa/Shell.java: Replace print.print by SFormat.print.
  5390. Wed Nov 20 23:02:32 1996 Per Bothner <bothner@deneb.cygnus.com>
  5391. * kawa/lang/InPort.java (available): Handle IOException.
  5392. * kawa/lang/InPort.java (readSchemeNumber): Handle fraction.
  5393. * kawa/standard/int_length.java: New procedure and class.
  5394. * kawa/standard/length.java: Remove length method (using
  5395. method with same name as class confuses J++).
  5396. * kawa/lang/Interpreter.java: Change length.length to List.length.
  5397. * kawa/standard/{apply,length,let,letrec}.java: Likewise.
  5398. * kawa/standard/values.java: Rename to values_v to avoid case problem.
  5399. * kawa/standard/{Scheme.java,Makefile.{am,in}}: Update.
  5400. Sat Nov 16 15:08:42 1996 Per Bothner <bothner@deneb.cygnus.com>
  5401. * kawa/lang/compilefunc.java (compile): Only compile_return
  5402. if reachableHere ().
  5403. * kawa/lang/IfExp.java (compile): Use new Method methods for
  5404. IfState: compile_ifneq, compile_else, compile_fi.
  5405. Mon Nov 4 16:07:08 1996 Per Bothner <bothner@deneb.cygnus.com>
  5406. * kawa/standard/{eq_p,eqv_p,equal_p,list_p,symbol2string}.java:
  5407. Remove redundant name qualification (which J++ complains about).
  5408. Remove constructors. Generally remove verbosity.
  5409. * kawa/standard/equal_p.java (equal_p): Remove.
  5410. (J++ thinks static method is constructor.)
  5411. * kawa/standard/Scheme.java: Don't depend on eq_p.name etc.
  5412. * kawa/lang/EqualPat.java (match): Remove use of equal_p.equal_p.
  5413. Thu Oct 24 12:39:52 1996 Per Bothner <bothner@deneb.cygnus.com>
  5414. * kawa/standard/list.java: Renamed to list_v to avoid problems
  5415. on case-insenstive filesystems.
  5416. * kawa/standard/{Scheme.java,Makefile.{am,in}}: Update accordingly.
  5417. Tue Oct 22 23:14:49 1996 Per Bothner <bothner@deneb.cygnus.com>
  5418. * configure.in (VERSION): Set to 1.1alpha.
  5419. * kawa/standard/letstar.java: Removed.
  5420. * kawa/standard/Scheme.java: Update syntax class names.
  5421. * kawa/standard/Makefile.{am,in}: Update accordingly.
  5422. Mon Oct 21 12:58:17 1996 Per Bothner <bothner@deneb.cygnus.com>
  5423. * kawa/Shell.java (runFile): Re-write to call load.loadSource.
  5424. This forces compilation, which has better line number support.
  5425. Also rmeoved unused formal parameters.
  5426. * kawa.java: Update for new Shell.runFile calling convention.
  5427. * kawa/standard/Scheme.java: Update string -> string_v.
  5428. * kawa/lang/FString.java: New file. Replaces uses of StringBuffer.
  5429. * kawa/lang/Makefile.{am,in}: Add FString.class.
  5430. * kawa/lang/InPort.java (readString): Return FString not StringBuffer.
  5431. * kawa/lang/Literal.java (emit): Remove StringBuffer support.
  5432. * kawa/lang/Compilation.java: Likewise.
  5433. * kawa/lang/Sequence.java (eofValue): New static.
  5434. * kawa/lang/Interpreter.java (eofObject): Removed.
  5435. * kawa/lang/Compilation.java (scmSequenceType): Added.
  5436. * kawa/lang/Compilation.java (mangleClassName): Handle general Unicode.
  5437. * kawa/Shell.java, kawa/lang/{CompileFile,InPort}.java,
  5438. kawa/standard/{eof_object_p,load,readchar}.java:
  5439. Update Interpreter.eofObject -> Sequence.eofValue.
  5440. * kawa/standard/{string_ci_equal_p,string_ci_greaterequal_p,
  5441. string_ci_greaterthan_p,string_ci_lessequal_p,string_ci_lessthan_p,
  5442. string_copy,string_equal_p,string_greaterequal_p,string_greaterthan_p,
  5443. string_lessequal_p,string_lessthan_p,with_input_from_file,
  5444. with_output_to_file}.java: Remove StringBuffer coercion.
  5445. This makes the code more general, efficient, and handles FString.
  5446. * kawa/standard/{call_with_input_file,call_with_output_file,
  5447. call_with_output_string,list2string,make_string,number2string,
  5448. open_input_file,open_output_file,string2list,string2symbol,
  5449. string_append,string_fill_b,string_length,string_p,string_ref,
  5450. string_set_b,string_v,substring,symbol2string}.java:
  5451. Update from StringBuffer to FString for Scheme string values.
  5452. * kawa/lang/CompileFile.java: Likewise.
  5453. Fri Oct 18 14:06:40 1996 Per Bothner <bothner@deneb.cygnus.com>
  5454. * kawa/lang/Environment.java: Rewrite.
  5455. Remove stuff for lexical scopes.
  5456. Make into first-class object like Dictionary, but with "inheritance."
  5457. * kawa/lang/{Binding,Location}.java: New classes.
  5458. * kawa/lang/Declaration.java (getvalue, getframe, setvalue):
  5459. Remove - eval no longer deal with lexical scoping.
  5460. * kawa/lang/LambdaExp.java (hasNestedScopes): New field.
  5461. (compile_setLiterals): No longer needs to worry about a static
  5462. link in outer-most lambda from evaluated LetExp.
  5463. * kawa/lang/LetExp.java (eval): Just throw exception.
  5464. * kawa/lang/SetExp.java (eval): Now only handle top-level names.
  5465. * kawa/lang/ScopeExp.java (eval): Likewise.
  5466. * kawa/lang/ReferenceExp.java (eval): Likewise.
  5467. (compile_load): Use recursive compile_load for staticLink.
  5468. * kawa/lang/ModuleBody.java: New abstract interface, using run.
  5469. * kawa/lang/LambdaExp.java (<init>): Support ModuleBody interface.
  5470. (eval_module): New interface (pass Environment).
  5471. * kawa/lang/CompileFile.java (read): New interface to set modulebody.
  5472. * kawa/lang/compilefunc.java: ModuleBody now takes Environment.
  5473. * kawa/lang/{AutoloadProcedure,AutoloadSyntax}.java: Update likewise.
  5474. * kawa/standard/load.java, kawa/Shell.java: Likewise.
  5475. * kawa/lang/{Lambda,LambdaExp,Quote}.java, kawa/standard/{and_or,
  5476. begin,define,define_syntax,ifp,let,letstar,letrec,quasiquote,set_b,
  5477. syntax_error}.java:
  5478. Replace throw new WrongArguments by return interp.syntaxError.
  5479. * kawa/standard/letstar.java: Remove a pointless use of VarListPat(1).
  5480. * kawa/lang/Syntax.java (rewrite): No longer throws WrongArguments.
  5481. * kawa/lang/Interpreter (rewrite*): Likewise.
  5482. * kawa/lang/AutoloadSyntax (load etc): Likewise.
  5483. * kawa/lang/SyntaxRule.java (2-arg execute_template): Do rewrite here,
  5484. and thus return an expression instead of an Object.
  5485. * kawa/lang/SyntaxRules.java (rewrite): Therefore do not rewrite here.
  5486. * kawa/standard/StandardInterpreter.java: Renamed to Scheme.java.
  5487. * kawa/standard/ashift.java: New function (arithmetic-shift).
  5488. * kawa/standard/not.java: Fix broken semantics (required Boolean).
  5489. * kawa/standard/{string,vector}.java: Renamed to string_v.java and
  5490. vector_v.java to avoid confusion on case-insensitive filesystems.
  5491. * kawa/standard/quasiquote.java: Update accordingly.
  5492. * {kawa,kawac}.java: Update StandardInterpreter->Scheme.
  5493. * kawa/lang/Interpreter.java (curEnvironment): New [temporary] method.
  5494. (rewrite_pair): Deal with hygiene Symbol in current_decls.
  5495. * kawa/lang/Eval.java: New class, for "eval" function.
  5496. * kawa/lang/Makefile.{am,in}: New files Location, Binding, Eval.
  5497. * kawa/standard/{scheme_env,null_env,user_env}.java: New classes.
  5498. * kawa/standard/Makefile.{am,in}: Update accordingly.
  5499. * kawa/lang/InPort.java (readSchemeNumber): Make more robust.
  5500. * kawa/standard/string2number.java: On ReadError, return #f.
  5501. * kawa/lang/Pair.java (pair): Remove redundant call to super.
  5502. * kawa/lang/Compilation (findLiteral): Never allocate a field
  5503. for a String - more efficient to just use a CONSTANT_String.
  5504. * kawa/lang/Literal.java (emit): String is never ALLOCATED now.
  5505. Mon Sep 16 11:04:28 1996 Per Bothner <bothner@deneb.cygnus.com>
  5506. * configure.in (VERSION): Set to 1.0. (Yeah!)
  5507. * Makefile.{am,in}: Add rule to make kawa.html and include it in dist.
  5508. * Makefile.{am,in} (EXTRA_DIST): Add license.terms and scm2java.html.
  5509. * scm2java.html: Warn that it is not current, and fix some typos.
  5510. * kawa/standard/{floor,ceiling,truncate,round}.java: Handle IntNum.
  5511. * kawa/standard/{lcm,max,min,modulo,quotient,remainder}.java: New.
  5512. * kawa/standard/{StandardInterpreter.java,Makefile.{am,in}}: Update.
  5513. Sun Sep 15 11:07:48 1996 Per Bothner <bothner@deneb.cygnus.com>
  5514. * **/Makefile.{am,in}: (javadir): Use $(subdir)
  5515. {DEP_,}DISTFILES): Do not include DATA (i.e. *.class).
  5516. Replace generated EXTRA_DIST with ditto SOURCES.
  5517. * kawa/Shell.java: Less verbose error messages.
  5518. * kawa/standard/{gcd,string2number,call_with_output_string}.java: New.
  5519. * kawa/standard/{StandardInterpreter.java,Makefile.{am,in}}: Update.
  5520. * CompileFile.java (read): Take Environment, not Interpreter.
  5521. Add overloaded method that uses an InPort.
  5522. * kawa/lang/Environment.java (getInterpreter): New method.
  5523. * kawa/lang/InPort.java (throws clauses): ReadError -> SyntaxError.
  5524. * kawa/lang/InPort (readNumber -> readSchemeNumber): Make more general.
  5525. * kawa/lang/LambdaExp.java (fileFunctionName): New static field.
  5526. * kawa/lang/Named.java: Don't implement no-longer-existing Nameable.
  5527. * kawa/lang/ReadError.java: Change so getMessage gets raw message,
  5528. * kawa/lang/SetExp.java (compile): Do maybe_compile_checkcast.
  5529. * kawa/lang/SyntaxError.java: Removed.
  5530. * kawa/lang/UnboundSymbol.java: Call super so getMessage works.
  5531. Fri Sep 13 14:27:31 1996 Per Bothner <bothner@deneb.cygnus.com>
  5532. * configure{.in,}: Update to version 0.5.
  5533. * kawac.java (main): Allow infile to follow switches.
  5534. * kawa.texi: Use VERSION macro.
  5535. * mdate-sh, version.texi: New files, needed for VERSION macro.
  5536. * kawa/standard/{ceiling,exact2inexact,floor,inexact2exact,
  5537. round,truncate}.java: More standard Scheme functions.
  5538. * kawa/standard/{StandardInterpreter.java,Makefile.{am,in}}: Update.
  5539. * kawa/lang/Continuation.java: Improve error message.
  5540. * kawa/lang/Interpreter.java (read): Removed.
  5541. * {,kawa/{,lang/,math/,standard/,lib/}}Makefile.{am,in}: Fix
  5542. javac classpath so both build and source directories are searched.
  5543. Do not change directory (which confuses make and is not needed).
  5544. Fri Sep 13 08:21:33 1996 Per Bothner <bothner@deneb.cygnus.com>
  5545. * kawa/standard/call_with_input_string.javaL New class.
  5546. * kawa/standard/{StandardInterpreter.java,Makefile.{am,in}}: Update.
  5547. * kawac.java, kawa/Shell.java: Don't use old GenericError.message.
  5548. * kawa.java: Re-write to do options processing.
  5549. * kawa/Shell.java: Remove constructor. Make run method static.
  5550. (runString, runFile): New static methods.
  5551. * kawa.texi: New documentation file.
  5552. * texinfo.tex: New support file, needed for kawa.texi.
  5553. * Makefile.{am,in}: Update for kawa.texi.
  5554. Thu Sep 12 16:22:47 1996 Per Bothner <bothner@deneb.cygnus.com>
  5555. * kawa/lang/Literal.java: Make flags public.
  5556. (emit): Do flags|=ALLOCATED|INITIALIZED when done, so
  5557. class-specific code does not have to.
  5558. * kawa/lang/{AnyPat,Char,EqualPat,ListRepeatPat,Literal,Pair,PairPat,
  5559. Symbol,SyntaxRule,SyntaxRules,Vector}.java: Remove now-redundant
  5560. setting of Literal.flags.
  5561. * kawa/lang/InPort.java (readNumber): Only recognize float if decimal.
  5562. Return new kawa.math.IntNum and kawa.math.DFloNum object.
  5563. * kawa/lang/Environment.java (frames, lookup): Removed - unsued.
  5564. * kawa/lang/Interpreter.java: Remove unused eval functions.
  5565. Define quote and lambda in StandardInterpreter, not here.
  5566. * kawa/lang/Procedure1or2.java: Add default constructor.
  5567. * kawa/{,lang,standard,lib}/Makefile.{am,in}: Add EXTRA_DIST rule.
  5568. Use $*.java instead of possibly-less-portable $(<F).
  5569. * kawa/Makefile.{am,in} (SUBDIRS): Add math sub-directory.
  5570. * kawa/configure{.in,} (AC_OUTPUT): Add kawa/math/Makefile.
  5571. * kawa/standard/*.java: Update to use new Numeric classes.
  5572. * kawa/standard/{acos,asin,atan,cos,denominator,even_p,exact_p,
  5573. exp,expt,inexact_p,log,number2string,odd_p,rational_p,sin,sqrt,
  5574. tan}.java: New classes for number functions.
  5575. * kawa/standard/Makefile.{am,in} (OBJ): Add new classes.
  5576. Sun Sep 8 21:23:33 1996 Per Bothner <bothner@deneb.cygnus.com>
  5577. * configure.in (VERSION): Set to 0.4.
  5578. * {,kawa/,kawa/lang/,kawa/standard/}Makefile.{am,in} (JAVA):
  5579. Fix -classpath argument.
  5580. * kawa/lang/GenericError.java: Fix to pass message to super.
  5581. * kawa/lang/InPort.java (skipWhitespaceAndComments, readList):
  5582. Handle unexpected EOF.
  5583. * kawa/lang/LambdaExp.java (eval): Mangle class name.
  5584. * kawa/lang/Compilation.java (mangleClassName): New function.
  5585. (generateClassName): Use it.
  5586. * kawa/lang/Makefile.{am,in}: Add Promise.class.
  5587. * kawa/lang/Promise.java: New class for Scheme promise objects.
  5588. * kawa/lang/SyntaxRule.java (translate_template): Don't
  5589. rename identifiers inside quote or quasiquote.
  5590. * kawa/lang/SyntaxRules.java (init): Mark linenumber info.
  5591. * kawa/standard/cond.java: Removed. (Replaced by ../lib/cond.scm.)
  5592. * kawa/standard/Makefile.{am,in}: Add new classes. Remove cond.
  5593. * kawa/standard/StandardInterpreter.java:
  5594. Use macro version of cond and let from ../lib.
  5595. Add new functions and macros.
  5596. * kawa/standard/cxr.java: Fix bugs that trashed fields.
  5597. * kawa/standard/{force,make_promise}.java: New Procedure1 classes.
  5598. * kawa/standard/syntax_error.java: New syntax.
  5599. Sat Sep 7 12:11:18 1996 Per Bothner <bothner@deneb.cygnus.com>
  5600. Mostly fixes to improve stack traces.
  5601. * kawa/lang/Compilation.java (source_filename): New field.
  5602. (constructors): Set source_filename from LambdaExp filename.
  5603. (addClass): Set ClassType sourcefile from source_filename.
  5604. * kawa/lang/CompileFile.java (read): Set filename of LambdaExp.
  5605. * kawa/lang/{Expression,PairWithPosition}.java: Make methods public.
  5606. * kawa/lang/Expression.java (compile_with_linenumber): New method.
  5607. * kawa/lang/{BeginExp,IfExp,LetExp,compilefunc}.java (compile):
  5608. Use compile_with_linenumber to emit line numbers where appropriate.
  5609. * kawa/lang/LambdaExp.java (eval): Set classname from function name.
  5610. Set function name using named.setName.
  5611. * kawa/lang/Literal.java (constructor): Set default type to Object.
  5612. (compile): Do a cast if needed.
  5613. * kawa/lang/compilefunc.java (compile): Do not set name
  5614. (apply2): Remove. No longer extend Procedure2.
  5615. * kawa/standard/define.java (rewrite): Set line number info.
  5616. * kawa/Shell.java (run): Do printStackTrace on exception.
  5617. * kawa/lang/LambdaExp: Always compile. Remove doCompile field.
  5618. * kawa/lang/LambdaProcedure.java: Remove. Never used.
  5619. * kawa/lang/Makefile.{am,in}: Remove LambdaProcedure.class.
  5620. Implement quasi-quoatation (backquote):
  5621. * kawa/standard/vector_append.java: New ProcedureN.
  5622. * kawa/standard/{append,cons,vector}.java: Allocate a new Procedure
  5623. of this type. This is so quasiquote can access these standard
  5624. functions by value (not name). Also implement Compilable.
  5625. * kawa/standard/quasiquote.java: New primitive syntax.
  5626. * kawa/standard/StandardInterpreter.java: Add quasiquote,
  5627. vector-append. Change cons, append, vector to use static procs.
  5628. Remove non-working compile-func.
  5629. * kawa/standard/Makefile.{am,in}: Add quasiquote, vector_append.
  5630. Thu Sep 5 00:00:13 1996 Per Bothner <bothner@deneb.cygnus.com>
  5631. * kawa/standard/{abs,append,apply,char_ci_greater_equal_p,
  5632. char_ci_greater_p,char_ci_less_equal_p,char_ci_less_p,char_equal_p,
  5633. char_greater_equal_p,char_greater_p,char_less_equal_p,char_less_p,
  5634. char_ready_p,define,equal_oper,greater_oper,greaterequal_oper,
  5635. less_oper,lessequal_oper,list_ref,list_tail,load,make_string,
  5636. make_vector,minus_oper,multiply_oper,negative_p,newline,not,
  5637. plus_oper,positive_p,read,reverse,setcar_b,setcdr_b,string,
  5638. string2symbol,string_length,string_ref,string_set_b,symbol2string,
  5639. vector_length,writechar,zero_p}.java: Update to use Named.name().
  5640. * kawa/standard/{car,cdr}.java: Named.name is now a method.
  5641. * kawa/standard/cxr.java: New class. Generalization of c[ad]*r.
  5642. * kawa/standard/caaaar,caaadr,caaar,caadar,caaddr,caadr,caar,cadaar,
  5643. cadadr,cadar,caddar,cadddr,caddr,cadr,cdaaar,cdaadr,cdaar,cdadar,
  5644. cdaddr,cdadr,cdar,cddaar,cddadr,cddar,cdddar,cddddr,cdddr,cddr}.java:
  5645. Removed - superseded by cxr.java.
  5646. * kawa/standard/{StandardInterpreter,Makefile.{am,in}}: Update.
  5647. Wed Sep 4 13:43:32 1996 Per Bothner <bothner@deneb.cygnus.com>
  5648. * kawa/lang/CompileFile.java (compile_to_files): New function,
  5649. to compile to one or more source files.
  5650. * kawa/lang/SchemeLoader.java: Zip archive support moved
  5651. to codegen/ZipArchive.java.
  5652. * kawa/lang/compilefunc.java: Maybe compile to ModuleBody.
  5653. * kawa/lang/{SyntaxRuleSyntaxRules}.java: New classes, to support
  5654. define-syntax/syntax-rules (R5RS hygienic top-level macros).
  5655. * kawa/lang/AutoloadProcedure.java (name): Replace by super.name().
  5656. (load) Support autoloading an entire module.
  5657. * kawa/lang/AutoloadSyntax.java: New class, to autoload macros.
  5658. * kawa/lang/{Nameable,Named}.java: Store a symbol, not a String.
  5659. (name): Change from String field to Symbol-returning method.
  5660. * kawa/lang/{Procedure,Procedure0,Procedure1,Procedure2,Procedure3,
  5661. Procedure4,Procedure0or1,Procedure1or2,Interpreter,LambdaProcedure,
  5662. Syntax,compilefunc}.java: Update to use Named.name().
  5663. * kawa/lang/Compilation.java (nameField): Update name and Type.
  5664. * kawa/lang/ProcedureN.java: Add Symbol-taking constructor.
  5665. * kawa/lang/LambdaExp.java (name): Change from String to Symbol.
  5666. * kawa/lang/LambdaProcedure.java (constructor): Name is now Symbol.
  5667. * kawa/lang/compilefunc.java (compile): Name is now a Symbol.
  5668. * kawa/lang/Syntax.java (print): New method to implement Printable.
  5669. * kawa/lang/UnboundSymbol.java: Store a Symbol rather than a String.
  5670. * kawa/lang/ReferenceExp.java (eval): Update for UnboundSymbol fix.
  5671. * kawa/lang/LambdaExp.java (is_module_body): New field,
  5672. (isModuleBody,setModuleBody): New methods.
  5673. * kawa/lang/Procedure.java: No longer implement Executable.
  5674. (execute): Remove obsolete interface.
  5675. * kawa/lang/Interpreter.java (quasiquote,unquote, unquotesplicing):
  5676. Remove unused fields.
  5677. * kawa/lang/Interpreter.java (resolve): Add extra argument
  5678. so caller can do current_decls.get and test for renamed global.
  5679. * kawa/lang/ReadError.java: Include line number info in error message.
  5680. * kawa/lang/Interpreter.java (rewrite_car, rewrite_pair_with_position,
  5681. rewrite_pair): New functions to rewrite with line numbers.
  5682. (syntaxError): Report filename and line/column position.
  5683. * kawa/lang/Expression.java (filename, position): New fields.
  5684. (setFile, setLine, getFile, setFule, getColumn): New methods.
  5685. * kawa/lang/Pattern.java (match): New abstract calling interface.
  5686. (varCount): New abstract method.
  5687. * kawa/lang/{EqualPat,ListPat,VarListPat}.java (match):
  5688. Change to match new interface. Implement varCount.
  5689. * kawa/lang/EqualPat.java (makeLiteral, emit): Implement Compilable.
  5690. * kawa/lang/{AnyPat,ListRepeatPat,PairPat).java: New Pattern classes.
  5691. * kawa/lang/ModuleBody.java: New sub-class of Procedure0.
  5692. * kawa/lang/ErrorExp.java (compile): Fix reversed test.
  5693. * kawa/lang/InPort.java: Keep track of line and column position.
  5694. Supports marks and reset.
  5695. (readQuote): Generalize with extra argument.
  5696. (readQuasiQuote): Superseded by generalized readQuote.
  5697. * kawa/lang/Literal.java (emitArray): New method.
  5698. (emit): Support (Object[]), (Symbol[]), (String) type literals.
  5699. (check_cycle): New method.
  5700. * kawa/lang/{WrongArguments,WrongType}.java: Add Symbol-taking init.
  5701. * kawa/lang/IfExp.java (eval,compile): Missing else returns voidObject.
  5702. * kawa/lang/print.java (print): Handle (int[]).
  5703. * kawa/lang/Compilation (emitLiteral): New method.
  5704. (scmPatternType,symbolArrayType,scmNamedType,nameField): New statics.
  5705. (findLiteral): Handle Object[] values.
  5706. (findNamedClass, generateClassName, constructor): New methods.
  5707. * kawa/lang/LambdaExp.java (compile): Use new generateClassName.
  5708. (eval): Use more natural class names.
  5709. * kawa/lang/Vector.java (findLiteral):
  5710. Simplify by using new support for emitting Object[] values.
  5711. * kawa/lang/{Pair,Vector}.java (emit): Use new emitLiteral method.
  5712. * kawa/lang/PairWithPosition.java: New class extends Pair.
  5713. * kawa/lang/{Executable,Syntaxable,QuasiQuote,Unquote,
  5714. UnquoteSplicing}.java: Remove obsolete classes.
  5715. * kawa/lang/Makefile.{am,in}: Update for new and removed classes.
  5716. * kawa/standard/{begin,cond,define,ifp,let,letrec,letstar,set_b}.java:
  5717. Remove print method. No longer needed.
  5718. * kawa/standard/{apply,boolean_p,procedure_p}.java:
  5719. Remove non-default constructor. Name binding handled by autoload.
  5720. * kawa/standard/{ass,mem,readchar,write}.java: Use new Named.name().
  5721. * kawa/standard/define.java (rewrite): Call setName with Symbol.
  5722. * kawa/standard/define_syntax.java: New class - hygienic macros.
  5723. * kawa/standard/StandardInterpreter.java (define_syntax): New function.
  5724. (constructor): Add new macros. Some cleanup here and there.
  5725. * kawa/standard/load.java (loadClassFile): New function.
  5726. (apply1): Also support loading from a .class file.
  5727. * kawa/standard/{unless,when}.java: Replaced by lib.when_unless.
  5728. * kawa/standard/Makefile.{am,in}: Update. Fix SUFFIXES.
  5729. * kawa/lib: New directory.
  5730. * kawa/Makefile.{am,in}: Add lib to SUBDIRS.
  5731. * configure{.in,} (AC_OUTPUT): Add kawa/lib/Makefile.
  5732. * kawac.java: New application class.
  5733. * Makefile.{am,in}: Build kawac.class. Fix SUFFIXES.
  5734. Tue Aug 20 13:59:36 1996 Per Bothner <bothner@deneb.cygnus.com>
  5735. * kawa/lang/Values.java: New class.
  5736. * kawa/standard/{values,call_with_values}.java: New functions.
  5737. * kawa/standard/StandardInterpreter.java: Define new functions.
  5738. * kawa/{lang,standard}/Makefile.{am,in}: Add new classes.
  5739. * kawa/standard/and_or.java: Do setSimple on temp if top-level.
  5740. Sat Jul 20 11:25:05 1996 Per Bothner <bothner@deneb.cygnus.com>
  5741. Make kawa-0.3 release.
  5742. * configure.in, configure (AC_INIT): Look for kawa.java now.
  5743. * kawa/Shell.java: Re-structure.
  5744. * kawa/standard/{and,or}.java: Remove old-style implementations.
  5745. * kawa/standard/{and_or,with_output_to_file}.java: New classes.
  5746. * kawa/standard/{StandardInterpreter.java,Makefile.{am,in}: Update.
  5747. * kawa/standard/{let,letstar,letrec,set_b}.java (rewrite):
  5748. Call Declaration.noteValue.
  5749. * kawa/standard/minus_oper.java (applyN): Fix sign/logic error.
  5750. * kawa/lang/Interpreter.java (apply): Remove obsolete method.
  5751. (lookup_global): Fix typeo.
  5752. Implement tail-recursion-elimination (and fix more bugs).
  5753. * kawa/lang/Expression.java (compile): Changed to take flag mask
  5754. instead of boolean. Added IGNORED and LAST.
  5755. * kawa/lang/{ApplyExp,BeginExp,ErrorExp,IfExp,LambdaExp,LetExp,
  5756. QuoteExp,ReferenceExp,SetExp}.java: Update definitions and
  5757. uses of compile methods accordingly.
  5758. * kawa/lang/IfExp.java (compile): Only goto end_label if reachableHere.
  5759. * kawa/lang/ApplyExp.java (compile): Check for and optimize
  5760. tail-recursion.
  5761. * kawa/lang/LambdaExp.java (argsArray): New, replaces local array_args.
  5762. * kawa/lang/LambdaExp.java: Call noteValue appropriately,
  5763. * kawa/lang/LambdaExp.java (getArgs): New method.
  5764. * kawa/lang/LetExp.java (print): Deal with artificial Variables.
  5765. * kawa/lang/QuoteExp.java (undefined_exp): New static field.
  5766. * kawa/lang/Declaration.java (value): New field.
  5767. (noteValue): New method.
  5768. * kawa/lang/compilefunc.java (compile): Set start_label.
  5769. * kawa/lang/Compilation.java: Make int1Args a field, not a local.
  5770. * kawa/standard/exit.java: Take optional status. Call System.exit.
  5771. * kawa/lang/Exit.java: Removed. No longer needed.
  5772. * kawa/lang/{Makefile.am,Makefile.in} Remove Exit.class.
  5773. * kawa/lang/ScopeExp.java (assign_space): If outside any lambda,
  5774. make all variables non-simple (and allocate a heapFrame).
  5775. * kawa/lang/Named.java: Don't make pointless copy of name.
  5776. * kawa/lang/Procedure.java: Deafult is name is now null.
  5777. * kawa/lang/Procedure0or1.java: Add default constructor.
  5778. * kawa/lang/AutoloadProcedure.java (load): If we have a name but
  5779. the loaded Procedure has none, use the former for the latter.
  5780. * kawa/standard/{plus_oper,minus_oper,multiply_oper,divide_oper).java:
  5781. Remove constructor. Naming is handled by autoloader.
  5782. Sat Jul 20 17:40:46 1996 Anthony Green <green@csk3.cygnus.com>
  5783. * */Makefile.am, */Makefile.in: srcdir is no longer
  5784. forced to be at the same level as build dir.
  5785. Fri Jul 19 14:55:52 1996 Per Bothner <bothner@deneb.cygnus.com>
  5786. * kawa/standard/{call_with_input_file,call_with_output_file,
  5787. char_ready_p,current_input_port,current_output_port,
  5788. with_input_from_file}.java: New functions.
  5789. * kawa/standard/{StandardInterpreter.java,Makefile.{am,in}: Update.
  5790. Thu Jul 18 15:04:46 1996 Per Bothner <bothner@deneb.cygnus.com>
  5791. * kawa/lang/Literal.java (emit): Fix StringBuffer init invocation.
  5792. * kawa/lang/Vector.java: Add makeLiteral, print; implement Compilable.
  5793. * kawa/standard/string{,_ci}_{greater,less}thanequal_p.java:
  5794. Rename to avoid the redundant "than".
  5795. * kawa/standard/{string_fill_b,vector_fill_b,vector_set_b}.java:
  5796. Return Interpreter.voidObject.
  5797. * kawa/standard/string_append.java: Allow 0 arguments.
  5798. * kawa/standard/{setcar_b,setcar_b).java: Return voidObject.
  5799. * kawa/standard/{car,car).java: Fix exception message.
  5800. * kawa/standard/list_ref.java: Fix typo.
  5801. * kawa/{char2integer,char_alphabetic_p,char_downcase,
  5802. char_lower_case_p,char_numeric_p,char_upcase,char_upper_case_p,
  5803. char_whitespace_p,integer2char}.java: Add remaining char functions.
  5804. * kawa/standard/reverse.java: Add last missing list function.
  5805. * kawa/standard/{StandardInterpreter.java,Makefile.{am,in}: Update.
  5806. * kawa/lang/InPort.java: Fix mis-reading of ,@ (unquote-splicing).
  5807. (readUnquoteSplicing,readUnquote): Inline single calls, and remove.
  5808. * kawa/lang/Symbol.java (print): Slashify if printReadable.
  5809. * kawa/lang/Char.java: Add makeLiteral, print; implement Compilable.
  5810. * kawa/lang/CompileFile.jave: Don't add redundant .zip extension.
  5811. Wed Jul 17 20:34:37 1996 Per Bothner <bothner@deneb.cygnus.com>
  5812. * kawa/Shell.java: Don't exit if eval returns #<eof>.
  5813. * kawa/lang/{InPort,OutPort}: Add name field.
  5814. Add print methods and implement Printable.
  5815. * kawa/lang/Compilable.java (makeLiteral): New method.
  5816. * kawa/lang/{Pair,Symbol}.java: Implement makeLiteral.
  5817. * kawa/lang/Compilation.java: Use makeLiteral if value is Compilable.
  5818. * kawa/lang/Interpreter.java (eofObject): Change print-name.
  5819. Wed Jul 17 19:34:00 1996 R. Alexander Milowski <sgml@winternet.com>
  5820. * kawa/standard/{char_ci_equal_p,char_ci_less_p,char_ci_less_equal_p,
  5821. char_ci_greater_p,char_ci_greater_equal_p,
  5822. input_port_p,output_port_p,open_input_file,open_output_file,
  5823. close_input_file,close_output_file}.java: New Scheme procedures.
  5824. * kawa/standard/{StandardInterpreter.java,Makefile.{am,in}: Update.
  5825. Tue Jul 16 23:23:16 1996 Per Bothner <bothner@deneb.cygnus.com>
  5826. Lots of fixes and improvements, mostly compiler-related.
  5827. * kawa/lang/Compilable.java: New interface.
  5828. * kawa/lang/Pair.java: Implement emit method; Compilable interface.
  5829. * kawa/lang/Symbol.java: Likewise.
  5830. * LetExp.java (eval): Update for space_needed->frameSize; heapFrame.
  5831. (compile): Don't do redundant add_var's.
  5832. * SchemeLoader.java: Support loading classes form a ZipArchive.
  5833. * kawa/lang/Interpreter.java (lookup_global, define_global):
  5834. Now take Symbol rather than String.
  5835. (resolve): Do decl.setSimple(false) also for top-level lexical defs.
  5836. * kawa/lang/LambdaExp.java: Move heapFrame and heapSize to ...
  5837. * kawa/lang/ScopeExp.java: ... here. Rename heapSize -> frameSize.
  5838. (assign_space): Fix for non-function lexical scope.
  5839. (space_needed): Removed, subsumed by frameSize.
  5840. * kawa/lang/LambdaExp.java (compile_setLiterals): New method.
  5841. * kawa/lang Compilation.java: New constructor interface.
  5842. Many new pre-defined ClassTypes, Methods, Fields.
  5843. (findLiteral): New recursive function.
  5844. * CompileFile.java: New class - read and compile an entire file.
  5845. * kawa/lang/Declaration.java (getValue, getFrame): Handle heapFrame.
  5846. * kawa/lang/Literal.java: Now generates code to initialize literals
  5847. when compiling to a file. Handles circular data.
  5848. * kawa/lang/ReferenceExp.java (compile, compile_load): Various fixes.
  5849. * kawa/lang/SetExp.java (compile): Push symbol rather than string.
  5850. * kawa/lang/compilefunc.java: Lots of re-arranging and fixes
  5851. for file compilation, lexical outer-function scopes, etc.
  5852. Move setLiterals-related code to LambdaExp.compile_setLiterals.
  5853. * kawa/standard/load.java: Can now load from compiled .zip file
  5854. as well as from a .scm source file.
  5855. * kawa/lang/{Makefile.am,Makefile.in}: Add new classes.
  5856. Tue Jul 16 19:09:36 1996 Per Bothner <bothner@deneb.cygnus.com>
  5857. * kawa/lang/AutoloadProcedure.java: New class, for autoloading.
  5858. * kawa/standard/StandardInterpreter.java (define_proc): New method.
  5859. (<init>): Use new autoloading define_proc extensively.
  5860. * Makefile.{am,in}: Add {newline,map,callcc}.class.
  5861. * kawa/lang/{Continuation,CalledContinuation}>java: New classes.
  5862. * kawa/standard/callcc.java: Implement limited call/cc.
  5863. * kawa/lang/List.java (toVector): New method.
  5864. * kawa/lang/InPort.java (readSchemeObject): Handle vector syntax.
  5865. * kawa/standard/list2vector.java (apply1): Use List.toVector.
  5866. * kawa/standard/list_tail.java (listTail): New method.
  5867. * kawa/standard/{list_tail,list_ref}: Use list_tail.listTail.
  5868. * kawa/standard/{minus_oper,multiply_oper,divide_oper,equal_oper,
  5869. greater_oper,greaterequal_oper,less_oper,lessequal_oper}.java:
  5870. Re-write to extend ProcedureN, rather than Named.
  5871. * kawa/standard/map.java: New class, implements map and for-each.
  5872. * kawa/standard/newline.java: New class, implements newline function.
  5873. * kawa/lang/print.java (print): Handle Object[].
  5874. * kawa/lang/Expression.java (compile): Make abstract.
  5875. * kawa/lang/ErrorExp.java (compile): Added.
  5876. Tue Jul 16 19:05:50 1996 R. Alexander Milowski <sgml@winternet.com>
  5877. * kawa/lang/InPort.java (readCharacter): Recognize letters, e.g. #\A.
  5878. Thu Jul 11 15:10:14 1996 Per Bothner <bothner@deneb.cygnus.com>
  5879. Major re-write. All functions are now byte-compiled,
  5880. using the codegen package.
  5881. * kawa/lang/{Compilation,CompiledProc,Literal,SchemeLoader,
  5882. compilefunc,loadcompiled}.java: New classes - compilation-related.
  5883. * Makefile.{am,in} (OBJ): Add new classes.
  5884. * kawa/lang/{Expression,ApplyExp,BeginExp,IfExp,LambdaExp,LetExp,
  5885. QuoteExp,ReferenceExp,SetExp}.java: Add compile method.
  5886. * kawa/lang/Declaration.java (getFrame, getValue, setValue): New.
  5887. * kawa/lang/Interpreter.java(lookup_global,define_global,resolve): New.
  5888. * kawa/lang/LambdaExp/(staticLink, heapFrame): New variables.
  5889. (eval): Actually compile to get new bytecode.
  5890. * kawa/lang/List.java: New makeList methods.
  5891. * kawa/lang/Procedure{,0,2,3,4}.java: Add default initializer.
  5892. * kawa/lang/ReferenceExp.java (compile_load): New method.
  5893. * kawa/lang/ScopeExp.java: A ScopeExp now contains Scope, which
  5894. includes all the Variables/Declarations as a linked list.
  5895. (num_decls, decls) Removed.
  5896. (firstVar, currentLambda): New methods.
  5897. * kawa/lang/SetExp.java (isDefining, setDefining, compile_store): New.
  5898. * kawa/standard/Makefile.{am,in}: Fix typos (bogus 'eq' in string ops).
  5899. * kawa/standard/let.java: Remove pointless pattern.match.
  5900. * kawa/standard/{let,letstar}.java: Don't allocate array of
  5901. Declarations (since we now use links).
  5902. * kawa/standard/define.java: Set DEFINING_FLAG on result.
  5903. * kawa/standard/letrec.java: Re-written to use extend Syntax.
  5904. * kawa/standard/StandardInterpreter.java: Upadet for new letrec.
  5905. * kawa/standard/load.java: Close on port on eof.
  5906. * kawa/standard/string2list.java: Use Char.make rather than new Char.
  5907. Tue Jul 2 11:34:24 1996 Anthony Green <green@csk3.cygnus.com>
  5908. * Makefile.am, Makefile.in, configure.in: Added the codegen
  5909. directory to the build procedure.
  5910. * */Makefile.am */Makefile.in: Added "make clean" support.
  5911. Fri Jun 28 17:47:12 1996 Per Bothner <bothner@deneb.cygnus.com>
  5912. * kawa/standard/cond.java: Re-write to use recursion.
  5913. Fri Jun 28 15:02:21 1996 R. Alexander Milowski <sgml@winternet.com>
  5914. * kawa/standard/{list2string,list2vector,string2list,string_append,
  5915. string_ci_equal_p,string_ci_greaterthan_p,string_ci_greaterthanequal_p,
  5916. string_ci_lessthan_p,string_ci_lessthanequal_p,string_copy,
  5917. string_equal_p,string_fill_b,string_greaterthan_p,
  5918. string_greaterthanequal_p,string_lessthan_p,string_lessthanequal_p,
  5919. substring,vector2list,vector_fill_b}.java: New classes.
  5920. * kawa/standard/cond.java: Implement cond syntax.
  5921. * kawa/standard/StandardInterpreter.java: Update accordingly.
  5922. * kawa/standard/Makefile{am,in}: Add new files.
  5923. Tue Jun 25 20:40:57 1996 Per Bothner <bothner@deneb.cygnus.com>
  5924. * kawa/lang/Char.java: New class, for representing Scheme characters,
  5925. * kawa/lang/{SyntaxError,ReadError,EofReadError}.java: New Exceptions.
  5926. * kawa/lang/{EOFInComment,EOFInString,InvalidCharacterName,
  5927. InvalidPoundConstruct,MalformedList,NotImplemented,NumberTooLong,
  5928. UnexpectedCloseParen}.java: Replaced by SyntaxError sub-classes.
  5929. * kawa/lang/{InPort,OutPort}.java: New classes, replace iport & oport.
  5930. * kawa/lang/{iport,oport}.java: Removed.
  5931. * kawa/lang/Procedure0or1.java: New Procedure sub-class.
  5932. * kawa/lang/{Procedure,Expression}.java: Implement Printable interface.
  5933. * kawa/lang/LambdaExp.java: Add optional name field, setName method.
  5934. * kawa/lang/LambdaProcedure.java: Use and print LamdaExp.name.
  5935. * kawa/lang/ErrorExp.java: New Expression sub-class.
  5936. * kawa/lang/Interpreter.java: Move read-related functions to InPort.
  5937. * kawa/lang/Interpreter.java: Update iport->InPort, oport->OutPort.
  5938. * kawa/lang/SetExp.java (eval): Return voidObject.
  5939. * kawa/lang/Symbol.java: New makeUninterned, generate methods.
  5940. Add make as a (preferred) synonym for intern.
  5941. * kawa/lang/print.java: Print obj.toString() as the default.
  5942. Print Scheme strings with quoting if OutPort.printReadable.
  5943. * kawa/{lang,standard}/Makefile.{am,in}: Updated accordingly.
  5944. * kawa.java, kawa/Shell.java: Update iport->InPort, oport->OutPort.
  5945. * kawa/Shell.java: Use eofObject. No longer catch removed Exceptions.
  5946. * kawa/standard/StandardInterpreter.java (define_proc): new method.
  5947. Use it to add new primitives.
  5948. * kawa/standard/{char_equal_p,char_greater_equal_p,char_greater_p,
  5949. char_less_equal_p,char_less_p,char_p,make_string,string,string_ref,
  5950. string_set_b}.java: Stylistic changes.
  5951. Update java.lang.Character->Char.
  5952. * kawa/standard/{eof_object_p,load,read,readchar,write,writechar}.java:
  5953. New classes to implement I/O primitives.
  5954. * kawa/standard/eqv_p.java: Chars are now equal? iff eq?.
  5955. * kawa/standard/ifp,set_b}.java: Use new Interpreter.syntaxError.
  5956. * kawa/standard/define.java: Likewise. Also do LambdaExp.setname.
  5957. * license.term: New license Based on Tcl copyright.
  5958. * COPYING: Removed.
  5959. Fri Jun 21 00:03:34 1996 Per Bothner <bothner@deneb.cygnus.com>
  5960. * kawa/lang/Declaration (context): New field.
  5961. (Declaration): Initialize index to -1.
  5962. * kawa/lang/ScopeExp.java (assign_space, add_decl): New methods.
  5963. (shared, num_decls, space_needed): New fields.
  5964. * kawa/lang/LambdaProcedure.java (applyN): Always allocate
  5965. new frame using LambdaExp.space_needed field.
  5966. * kawa/lang/LetExp.java (eval): Use Declaration.index when setting.
  5967. * kawa/lang/ReferenceExp.java (eval): Search up lexical scope chain.
  5968. * kawa/lang/SetExp.java (eval): Likewise.
  5969. * kawa/lang/LambdaExp.java (LambdaExp): Use new ScopeExp.add_decl.
  5970. * kawa/standard/{let,letstar}.java (rewrite): Likewise.
  5971. * kawa/lang/ApplyExp.java (print): Fix thinko.
  5972. * kawa/lang/BeginExp.java (eval): Fix typo.
  5973. Wed Jun 19 17:00:03 1996 Per Bothner <bothner@deneb.cygnus.com>
  5974. * kawa/lang/Sequence.java: New abstract class.
  5975. * kawa/lang/List.java: Now inherits from Sequence.
  5976. * kawa/lang/Makefile.am: Update accordingly.
  5977. * kawa/lang/Pair.java (equalds, length, elementAt): New methods.
  5978. * kawa/lang/vector.java -> Vector.java: Renamed and re-implemented.
  5979. * kawa/standard/equal_p.java: Re-implement to use equals method.
  5980. * kawa/standard/{make_vector,vector,vector_length,vector_p}.java,
  5981. kawa/standard/{vector_ref,vector_set_b}.java: Use new Vector class.
  5982. Wed Jun 19 10:16:59 1996 Per Bothner <bothner@deneb.cygnus.com>
  5983. * kawa/lang/symbol.java -> Symbol.java: Renamed class.
  5984. * kawa/lang/List.java: New class.
  5985. * kawa/lang/pair.java -> Pair.java: Renamed; made sub-class of List.
  5986. * kawa/lang/snull.java: Removed. Use static List.Empty instead.
  5987. * kawa/lang/Procedure1or2.java: New sub-class of Procedure.
  5988. * kawa/lang/{*.java,Makefile.am,Makefile.in}: Update accordingly.
  5989. * kawa/standard{*.java,Makefile.am,Makefile.in}: Update accordingly.
  5990. * kawa/standard/{append,apply.make_vector,string,vector}.java:
  5991. Re-write as Procedure sub-class.
  5992. * kawa/standard/{ass,mem}.java: Minor cleanups and optimizations.
  5993. * kawa/standard/list_p.java: Use List.list_length.
  5994. Tue Jun 18 12:19:46 1996 Per Bothner <bothner@deneb.cygnus.com>
  5995. * kawa/lang/Expression.java: New abstract class.
  5996. * kawa/lang/{ApplyExp,BeginExp,IfExp,LambdaExp,LetExp,QuoteExp,
  5997. ReferenceExp,ScopeExp,SetExp}.java: New sub-classes of Expression.
  5998. * kawa/lang/Pattern.java: New abstract class (for pattern matching).
  5999. * kawa/lang/{ListPat,VarListPat}.java: New sub-classes of Pattern.
  6000. * kawa/lang/{Declaration,Environment}.java: New classes.
  6001. * kawa/lang/Procedure.java: New abstract class.
  6002. * kawa/lang/Procedure{0,1,2,3,4}.java: Re-written to extend Procedure.
  6003. * kawa/lang/ProcedureN.java: New sub-class of Procedure.
  6004. * kawa/lang/LambdaProcedure.java: Re-written to extend Procedure.
  6005. * kawa/lang/Syntax.java: New abstract class.
  6006. * kawa/lang/Syntax{0,1,2,3,4}.java: Removed. No longer used.
  6007. * kawa/lang/{Lambda,Quote}.java: Re-written to extend Syntax.
  6008. * kawa/lang/print.java: Handle null Object.
  6009. * kawa/lang/symbol.java: Re-write to intern in hashTable,
  6010. and removed public constructor.
  6011. * kawa/lang/Interpreter.java: New methods: rewrite and rewrite_body.
  6012. Removed some no-longer used stuff, and added some minor stuff.
  6013. * kawa/Shell.java: Re-write raw expression before eval.
  6014. Print message if null returned. Re-indent.
  6015. * kawa/standard/{begin,define,ifp,let,set_b}.java:
  6016. Re-write as sub-class of Syntax.
  6017. * kawa/standard/letstar.java: Syntax sub-class for "let*".
  6018. * kawa/standard/length.java: Add static int-returning "work" function.
  6019. * kawa/standard/{equal_p,eqv_p}.java: Add similar boolean function.
  6020. * kawa/standard/{list,plus_oper}.java: Re-written to extend ProcedureN.
  6021. * kawa/standard/string2symbol.java: Should not fold case.
  6022. * kawa/standard/StandardInterpreter.java: Update accordingly.
  6023. Wed Jun 12 22:06:58 1996 Per Bothner <bothner@deneb.cygnus.com>
  6024. * kawa/lang/print.java: New class, with just a print method (for now).
  6025. * kawa/lang/pair.java (print): Just call printNoParen.
  6026. (printNoParen): Use loop (not recursion), and kawa.lang.print.print.
  6027. * kawa/lang/vector.java (print): Use kawa.lang.print.print.
  6028. * kawa/Shell.java (run): Use kawa.lang.print.print.
  6029. * Makefile (JAVAC): Search ".:, not ".." for classpath.
  6030. * kawa/lang/Makefile (OBJ): Add print.class.
  6031. Wed Jun 12 19:34:35 1996 Per Bothner <bothner@deneb.cygnus.com>
  6032. * kawa/lang/Interpreter.java (trueObject, falseObject,
  6033. nullObject, undefinedObject): Make static.
  6034. * kawa/lang/Procedure[01234].java: Rename execute[0-4] -> apply[0-4].
  6035. Remove Interpreter and frame arguments.
  6036. * kawa/standards/*.java: Change most execute methods to new apply
  6037. methods. Use static references to get trueObject etc.
  6038. * Check in Kawa 0.2.
  6039. =============================================================================
  6040. Changes since 0.1:
  6041. ==================
  6042. Kawa 0.2 (6-10-96)
  6043. Created an Executable and Syntaxable interface for procedures and syntaxes.
  6044. Changed class names to get rid of name conflicts that were causing
  6045. problems due to java compiler bugs.
  6046. Changed string to be java.lang.StringBuffer
  6047. Added Procedure0, Procedure1, Procedure2, Procedure3, Procedure4 classes
  6048. for simplifying procedure parameter checking.
  6049. Added Syntax0, Syntax1, Syntax2, Syntax3, Syntax4 classes for simplifying
  6050. syntax parameter checking.
  6051. Fixed lambda to clone the current execution frames. Thus, the following now
  6052. works:
  6053. (define x 5)
  6054. (define foo (lambda () x))
  6055. (let ((x 10)) (foo)) => 5
  6056. -and-
  6057. (define bar (let ((x 1)) (lambda () x)))
  6058. (bar) => 1
  6059. Created the kawa.lang.iport and kawa.lang.oport classes for input and output
  6060. ports, respectively.
  6061. Finished the kawa.Shell class.
  6062. Create in, out, err members on the kawa.lang.Interpreter class for the stdin,
  6063. stdout, stderr respectively (as iport or oport).