1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531 |
- *version6.txt* For Vim version 9.0. Last change: 2022 Apr 06
- VIM REFERENCE MANUAL by Bram Moolenaar
- Welcome to Vim Version 6.0! A large number of features has been added. This
- file mentions all the new items that have been added, changes to existing
- features and bug fixes compared to Vim 5.x.
- See |vi_diff.txt| for an overview of differences between Vi and Vim 6.0.
- See |version4.txt| for differences between Vim 3.0 and Vim 4.0.
- See |version5.txt| for differences between Vim 4.0 and Vim 5.0.
- INCOMPATIBLE CHANGES |incompatible-6|
- Cursor position in Visual mode |curpos-visual|
- substitute command Vi compatible |substitute-CR|
- global option values introduced |new-global-values|
- 'fileencoding' changed |fileencoding-changed|
- Digraphs changed |digraphs-changed|
- Filetype detection changed |filetypedetect-changed|
- Unlisted buffers introduced |new-unlisted-buffers|
- CTRL-U in Command-line mode changed |CTRL-U-changed|
- Ctags gone |ctags-gone|
- Documentation reorganized |documentation-6|
- Modeless selection and clipboard |modeless-and-clipboard|
- Small incompatibilities |incomp-small-6|
- NEW FEATURES |new-6|
- Folding |new-folding|
- Vertically split windows |new-vertsplit|
- Diff mode |new-diff-mode|
- Easy Vim: click-and-type |new-evim|
- User manual |new-user-manual|
- Flexible indenting |new-indent-flex|
- Extended search patterns |new-searchpat|
- UTF-8 support |new-utf-8|
- Multi-language support |new-multi-lang|
- Plugin support |new-plugins|
- Filetype plugins |new-filetype-plugins|
- File browser |new-file-browser|
- Editing files over a network |new-network-files|
- Window for command-line editing |new-cmdwin|
- Debugging mode |new-debug-mode|
- Cursor in virtual position |new-virtedit|
- Debugger interface |new-debug-itf|
- Communication between Vims |new-vim-server|
- Buffer type options |new-buftype|
- Printing |new-printing|
- Ports |ports-6|
- Quickfix extended |quickfix-6|
- Operator modifiers |new-operator-mod|
- Search Path |new-search-path|
- Writing files improved |new-file-writing|
- Argument list |new-argument-list|
- Restore a View |new-View|
- Color schemes |new-color-schemes|
- Various new items |new-items-6|
- IMPROVEMENTS |improvements-6|
- COMPILE TIME CHANGES |compile-changes-6|
- BUG FIXES |bug-fixes-6|
- VERSION 6.1 |version-6.1|
- Changed |changed-6.1|
- Added |added-6.1|
- Fixed |fixed-6.1|
- VERSION 6.2 |version-6.2|
- Changed |changed-6.2|
- Added |added-6.2|
- Fixed |fixed-6.2|
- VERSION 6.3 |version-6.3|
- Changed |changed-6.3|
- Added |added-6.3|
- Fixed |fixed-6.3|
- VERSION 6.4 |version-6.4|
- Changed |changed-6.4|
- Added |added-6.4|
- Fixed |fixed-6.4|
- ==============================================================================
- INCOMPATIBLE CHANGES *incompatible-6*
- These changes are incompatible with previous releases. Check this list if you
- run into a problem when upgrading from Vim 5.x to 6.0
- Cursor position in Visual mode *curpos-visual*
- ------------------------------
- When going from one window to another window on the same buffer while in
- Visual mode, the cursor position of the other window is adjusted to keep the
- same Visual area. This can be used to set the start of the Visual area in one
- window and the end in another. In vim 5.x the cursor position of the other
- window would be used, which could be anywhere and was not very useful.
- Substitute command Vi compatible *substitute-CR*
- --------------------------------
- The substitute string (the "to" part of the substitute command) has been made
- Vi compatible. Previously a CTRL-V had a special meaning and could be used to
- prevent a <CR> to insert a line break. This made it impossible to insert a
- CTRL-V before a line break. Now a backslash is used to prevent a <CR> to
- cause a line break. Since the number of backslashes is halved, it is still
- possible to insert a line break at the end of the line. This now works just
- like Vi, but it's not compatible with Vim versions before 6.0.
- When a ":s" command doesn't make any substitutions, it no longer sets the '[
- and '] marks. This is not related to Vi, since it doesn't have these marks.
- Global option values introduced *new-global-values*
- -------------------------------
- There are now global values for options which are local to a buffer or window.
- Previously the local options were copied from one buffer to another. When
- editing another file this could cause option values from a modeline to be used
- for the wrong file. Now the global values are used when entering a buffer
- that has not been used before. Also, when editing another buffer in a window,
- the local window options are reset to their global values. The ":set" command
- sets both the local and global values, this is still compatible. But a
- modeline only sets the local value, this is not backwards compatible.
- ":let &opt = val" now sets the local and global values, like ":set". New
- commands have been added to set the global or local value:
- :let &opt = val like ":set"
- :let &g:opt = val like ":setglobal"
- :let &l:opt = val like ":setlocal"
- 'fileencoding' changed *fileencoding-changed*
- ----------------------
- 'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim.
- This was a bit strange, because it was local to a buffer and worked for all
- buffers. It could never be different between buffers, because it changed the
- way text in all buffers was interpreted.
- It is now used for the encoding of the file related to the buffer. If you
- still set 'fileencoding' it is likely to be overwritten by the detected
- encoding from 'fileencodings', thus it is "mostly harmless".
- The old FileEncoding autocommand now does the same as the new EncodingChanged
- event.
- Digraphs changed *digraphs-changed*
- ----------------
- The default digraphs now correspond to RFC1345. This is very different from
- what was used in Vim 5.x. |digraphs|
- Filetype detection changed *filetypedetect-changed*
- --------------------------
- The filetype detection previously was using the "filetype" autocommand group.
- This caused confusion with the FileType event name (case is ignored). The
- group is now called "filetypedetect". It still works, but if the "filetype"
- group is used the autocommands will not be removed by ":filetype off".
- The support for 'runtimepath' has made the "myfiletypefile" and
- "mysyntaxfile" mechanism obsolete. They are still used for backwards
- compatibility.
- The connection between the FileType event and setting the 'syntax' option was
- previously in the "syntax" autocommand group. That caused confusion with the
- Syntax event name. The group is now called "syntaxset".
- The distributed syntax files no longer contain "syntax clear". That makes it
- possible to include one in the other without tricks. The syntax is now
- cleared when the 'syntax' option is set (by an autocommand added from
- synload.vim). This makes the syntax cleared when the value of 'syntax' does
- not correspond to a syntax file. Previously the existing highlighting was
- kept.
- Unlisted buffers introduced *new-unlisted-buffers*
- ---------------------------
- There is now a difference between buffers which don't appear in the buffer
- list and buffers which are really not in the buffer list. Commands like
- ":ls", ":bnext", ":blast" and the Buffers menu will skip buffers not in the
- buffer list. |unlisted-buffer|
- The 'buflisted' option can be used to make a buffer appear in the buffer list
- or not.
- Several commands that previously added a buffer to the buffer list now create
- an unlisted buffer. This means that a ":bnext" and ":ball" will not find these
- files until they have actually been edited. For example, buffers used for the
- alternative file by ":write file" and ":read file".
- Other commands previously completely deleted a buffer and now only remove
- the buffer from the buffer list. Commands relying on a buffer not to be
- present might fail. For example, a ":bdelete" command in an autocommand that
- relied on something following to fail (was used in the automatic tests).
- |:bwipeout| can be used for the old meaning of ":bdelete".
- The BufDelete autocommand event is now triggered when a buffer is removed from
- the buffer list. The BufCreate event is only triggered when a buffer is
- created that is added to the buffer list, or when an existing buffer is added
- to the buffer list. BufAdd is a new name for BufCreate.
- The new BufNew event is for creating any buffer and BufWipeout for really
- deleting a buffer.
- When doing Insert mode completion, only buffers in the buffer list are
- scanned. Added the 'U' flag to 'complete' to do completion from unlisted
- buffers.
- Unlisted buffers are not stored in a viminfo file.
- CTRL-U in Command-line mode changed *CTRL-U-changed*
- -----------------------------------
- Using CTRL-U when editing the command line cleared the whole line. Most
- shells only delete the characters before the cursor. Made it work like that.
- (Steve Wall)
- You can get the old behavior with CTRL-E CTRL-U: >
- :cnoremap <C-U> <C-E><C-U>
- Ctags gone *ctags-gone*
- ----------
- Ctags is no longer part of the Vim distribution. It's now a grown-up program
- by itself, it deserves to be distributed separately.
- Ctags can be found here: http://ctags.sf.net/.
- Documentation reorganized *documentation-6*
- -------------------------
- The documentation has been reorganized, an item may not be where you found it
- in Vim 5.x.
- - The user manual was added, some items have been moved to it from the
- reference manual.
- - The quick reference is now in a separate file (so that it can be printed).
- The examples in the documentation were previously marked with a ">" in the
- first column. This made it difficult to copy/paste them. There is now a
- single ">" before the example and it ends at a "<" or a non-blank in the first
- column. This also looks better without highlighting.
- 'helpfile' is no longer used to find the help tags file. This allows a user
- to add its own help files (e.g., for plugins).
- Modeless selection and clipboard *modeless-and-clipboard*
- --------------------------------
- The modeless selection is used to select text when Visual mode can't be used,
- for example when editing the command line or at the more prompt.
- In Vim 5.x the modeless selection was always used. On MS-Windows this caused
- the clipboard to be overwritten, with no way to avoid that. The modeless
- selection now obeys the 'a' and 'A' flags in 'guioptions' and "autoselect" and
- "autoselectml" in 'clipboard'. By default there is no automatic copy on
- MS-Windows. Use the |c_CTRL-Y| command to manually copy the selection.
- To get the old behavior back, do this: >
- :set clipboard^=autoselectml guioptions+=A
- Small incompatibilities *incomp-small-6*
- -----------------------
- 'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg',
- 'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg',
- 'viminfo' and 'runtimepath' can no longer be set from a modeline, for better
- security.
- Removed '_' from the 'breakat' default: It's commonly used in keywords.
- The default for 'mousehide' is on, because this works well for most people.
- The Amiga binary is now always compiled with "big" features. The "big" binary
- archive no longer exists.
- The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in
- 'statusline' no longer have a leading space.
- Non-Unix systems: When expanding wildcards for the Vim arguments, don't use
- 'suffixes'. It now works as if the shell had expanded the arguments.
- The 'lisp', 'smartindent' and 'cindent' options are not switched off when
- 'paste' is set. The auto-indenting is disabled when 'paste' is set, but
- manual indenting with "=" still works.
- When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there
- is no change in indent, this is not counted as a change ('modified' isn't set
- and there is nothing to undo).
- Report 'modified' as changed when 'fileencoding' or 'fileformat' was set.
- Thus it reflects the possibility to abandon the buffer without losing changes.
- The "Save As" menu entry now edits the saved file. Most people expect it to
- work like this.
- A buffer for a directory is no longer added to the Buffers menu.
- Renamed <Return> to <Enter>, since that's what it's called on most keyboards.
- Thus it's now the hit-enter prompt instead of the hit-return prompt.
- Can map <Enter> just like <CR> or <Return>.
- The default for the 'viminfo' option is now '20,"50,h when 'compatible' isn't
- set. Most people will want to use it, including beginners, but it required
- setting the option, which isn't that easy.
- After using ":colder" the newer error lists are overwritten. This makes it
- possible to use ":grep" to browse in a tree-like way. Must use ":cnewer 99"
- to get the old behavior.
- The patterns in 'errorformat' would sometimes ignore case (MS-Windows) and
- sometimes not (Unix). Now case is always ignored. Add "\C" to the pattern to
- match case.
- The 16 bit MS-DOS version is now compiled without the +listcmds feature
- (buffer list manipulation commands). They are not often needed and this
- executable needs to be smaller.
- 'sessionoptions' now includes "curdir" by default. This means that restoring
- a session will result in the current directory being restored, instead of
- going to the directory where the session file is located.
- A session deleted all buffers, deleting all marks. Now keep the buffer list,
- it shouldn't hurt for some existing buffers to remain present.
- When the argument list is empty ":argdel *" caused an error message.
- No longer put the search pattern from a tag jump in the history.
- Use "SpecialKey" highlighting for unprintable characters instead of "NonText".
- The idea is that unprintable text or any text that's displayed differently
- from the characters in the file is using "SpecialKey", and "NonText" is used
- for text that doesn't really exist in the file.
- Motif now uses the system default colors for the menu and scrollbar. Used to
- be grey. It's still possible to set the colors with ":highlight" commands and
- resources.
- Formatting text with "gq" breaks a paragraph at a non-empty blank line.
- Previously the line would be removed, which wasn't very useful.
- ":normal" does no longer hang when the argument ends in half a command.
- Previously Vim would wait for more characters to be typed, without updating
- the screen. Now it pretends an <Esc> was typed.
- Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but in
- the "bitmaps" directories in 'runtimepath'.
- Now use the Cmdline-mode menus for the hit-enter prompt instead of the Normal
- mode menus. This generally works better and allows using the "Copy" menu to
- produce CTRL-Y to copy the modeless selection.
- Moved the font selection from the Window to the Edit menu, together with the
- other settings.
- The default values for 'isfname' include more characters to make "gf" work
- better.
- Changed the license for the documentation to the Open Publication License.
- This seemed fair, considering the inclusion of parts of the Vim book, which is
- also published under the OPL. The downside is that we can't force someone who
- would sell copies of the manual to contribute to Uganda.
- After "ayy don't let ""yy or :let @" = val overwrite the "a register.
- Use the unnamed register instead.
- MSDOS: A pattern "*.*" previously also matched a file name without a dot.
- This was inconsistent with other versions.
- In Insert mode, CTRL-O CTRL-\ CTRL-N {cmd} remains in Normal mode. Previously
- it would go back to Insert mode, thus confusing the meaning of CTRL-\ CTRL-N,
- which is supposed to take us to Normal mode (especially in ":amenu").
- Allow using ":" commands after an operator. Could be used to implement a new
- movement command. Thus it no longer aborts a pending operator.
- For the Amiga the "-d {device}" argument was possible. When compiled with the
- diff feature, this no longer works. Use "-dev {device}" instead. |-dev|
- Made the default mappings for <S-Insert> in Insert mode insert the text
- literally, avoids that special characters like BS cause side effects.
- Using ":confirm" applied to the rest of the line. Now it applies only to the
- command right after it. Thus ":confirm if x | edit | endif" no longer works,
- use ":if x | confirm edit | endif". This was the original intention, that it
- worked differently was a bug.
- ==============================================================================
- NEW FEATURES *new-6*
- Folding *new-folding*
- -------
- Vim can now display a buffer with text folded. This allows overviewing the
- structure of a file quickly. It is also possible to yank, delete and put
- folded text, for example to move a function to another position.
- There is a whole bunch of new commands and options related to folding.
- See |folding|.
- Vertically split windows *new-vertsplit*
- ------------------------
- Windows can also be split vertically. This makes it possible to have windows
- side by side. One nice use for this is to compare two similar files (see
- |new-diff-mode|). The 'scrollbind' option can be used to synchronize
- scrolling.
- A vertical split can be created with the commands:
- :vsplit or CTRL-W v or CTRL-W CTRL-V |:vsplit|
- :vnew |:vnew|
- :vertical {cmd} |:vertical|
- The last one is a modifier, which has a meaning for any command that splits a
- window. For example: >
- :vertical stag main
- Will vertically split the window and jump to the tag "main" in the new window.
- Moving from window to window horizontally can be done with the |CTRL-W_h| and
- |CTRL-W_l| commands. The |CTRL-W_k| and |CTRL-W_j| commands have been changed
- to jump to the window above or below the cursor position.
- The vertical and horizontal splits can be mixed as you like. Resizing windows
- is easy when using the mouse, just position the pointer on a status line or
- vertical separator and drag it. In the GUI a special mouse pointer shape
- indicates where you can drag a status or separator line.
- To resize vertically split windows use the |CTRL-W_<| and |CTRL-W_>| commands.
- To make a window the maximum width use the CTRL-W | command |CTRL-W_bar|.
- To force a new window to use the full width or height of the Vim window,
- these two modifiers are available:
- :topleft {cmd} New window appears at the top with full
- width or at the left with full height.
- :botright {cmd} New window appears at the bottom with full
- width or at the right with full height.
- This can be combined with ":vertical" to force a vertical split: >
- :vert bot dsplit DEBUG
- This will open a window at the far right, occupying the full height of the Vim
- window, with the cursor on the first definition of "DEBUG".
- The help window is opened at the top, like ":topleft" was used, if the current
- window is fewer than 80 characters wide.
- A few options can be used to set the preferences for vertically split windows.
- They work similarly to their existing horizontal equivalents:
- horizontal vertical ~
- 'splitbelow' 'splitright'
- 'winheight' 'winwidth'
- 'winminheight' 'winminwidth'
- It's possible to set 'winminwidth' to zero, so that temporarily unused windows
- hardly take up space without closing them.
- The new 'eadirection' option tells where 'equalalways' applies:
- :set eadirection=both both directions
- :set eadirection=ver equalize window heights
- :set eadirection=hor equalize windows widths
- This can be used to avoid changing window sizes when you want to keep them.
- Since windows can become quite narrow with vertical splits, text lines will
- often not fit. The 'sidescrolloff' has been added to keep some context left
- and right of the cursor. The 'listchars' option has been extended with the
- "precedes" item, to show a "<" for example, when there is text left off the
- screen. (Utz-Uwe Haus)
- "-O" command line argument: Like "-o" but split windows vertically. (Scott
- Urban)
- Added commands to move the current window to the very top (CTRL-W K), bottom
- (CTRL-W J), left (CTRL-W H) and right (CTRL-W L). In the new position the
- window uses the full width/height of the screen.
- When there is not enough room in the status line for both the file name and
- the ruler, use up to half the width for the ruler. Useful for narrow windows.
- Diff mode *new-diff-mode*
- ---------
- In diff mode Vim shows the differences between two, three or four files.
- Folding is used to hide the parts of the file that are equal.
- Highlighting is used to show deleted and changed lines.
- See |diff-mode|.
- An easy way to start in diff mode is to start Vim as "vimdiff file1 file2".
- Added the vimdiff manpage.
- In a running Vim the |:diffsplit| command starts diff mode for the current
- file and another file. The |:diffpatch| command starts diff mode using the
- current file and a patch file. The |:diffthis| command starts diff mode for
- the current window.
- Differences can be removed with the |:diffget| and |:diffput| commands.
- - The 'diff' option switches diff mode on in a window.
- - The |:diffupdate| command refreshes the diffs.
- - The 'diffopt' option changes how diffs are displayed.
- - The 'diffexpr' option can be set how a diff is to be created.
- - The 'patchexpr' option can be set how patch is applied to a file.
- - Added the "diff" folding method. When opening a window for diff-mode, set
- 'foldlevel' to zero and 'foldenable' on, to close the folds.
- - Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to
- specify the highlighting for differences. The defaults are ugly...
- - Unix: make a vimdiff symbolic link for "make install".
- - Removed the now obsolete "vimdiff.vim" script from the distribution.
- - Added the "[c" and "]c" commands to move to the next/previous change in diff
- mode.
- Easy Vim: click-and-type *new-evim*
- ------------------------
- eVim stands for "Easy Vim". This is a separate program, but can also be
- started as "vim -y".
- This starts Vim with 'insertmode' set to allow click-and-type editing. The
- $VIMRUNTIME/evim.vim script is used to add mappings and set options to be able
- to do most things like Notepad. This is only for people who can't stand two
- modes.
- eView does the same but in readonly mode.
- In the GUI a CTRL-C now only interrupts when busy with something, not when
- waiting for a character. Allows using CTRL-C to copy text to the clipboard.
- User manual *new-user-manual*
- -----------
- The user manual has been added. It is organised around editing tasks. It
- reads like a book, from start to end. It should allow beginners to start
- learning Vim. It helps everybody to learn using the most useful Vim features.
- It is much easier to read than the reference manual, but omits details. See
- |user-manual|.
- The user manual includes parts of the Vim book by Steve Oualline |frombook|.
- It is published under the OPL |manual-copyright|.
- When syntax highlighting is not enabled, the characters in the help file which
- mark examples ('>' and '<') and header lines ('~') are replaced with a space.
- When closing the help window, the window layout is restored from before
- opening it, if the window layout didn't change since then.
- When opening the help window, put it at the top of the Vim window if the
- current window is fewer than 80 characters and not full width.
- Flexible indenting *new-indent-flex*
- ------------------
- Automatic indenting is now possible for any language. It works with a Vim
- script, which makes it very flexible to compute the indent.
- The ":filetype indent on" command enables using the provided indent scripts.
- This is explained in the user manual: |30.3|.
- The 'indentexpr' option is evaluated to get the indent for a line. The
- 'indentkeys' option tells when to trigger re-indenting. Normally these
- options are set from an indent script. Like Syntax files, indent scripts will
- be created and maintained by many people.
- Extended search patterns *new-searchpat*
- ------------------------
- Added the possibility to match more than one line with a pattern. (partly by
- Loic Grenie)
- New items in a search pattern for multi-line matches:
- \n match end-of-line, also in []
- \_[] match characters in range and end-of-line
- \_x match character class and end-of-line
- \_. match any character or end-of-line
- \_^ match start-of-line, can be used anywhere in the regexp
- \_$ match end-of-line, can be used anywhere in the regexp
- Various other new items in search patterns:
- \c ignore case for the whole pattern
- \C match case for the whole pattern
- \m magic on for the following
- \M magic off for the following
- \v make following characters "very magic"
- \V make following characters "very nomagic"
- \@! don't match atom before this.
- Example: "foo\(bar\)\@!" matches "foo " but not "foobar".
- \@= match atom, resulting in zero-width match
- Example: "foo\(bar\)\@=" matches "foo" in "foobar".
- \@<! don't match preceding atom before the current position
- \@<= match preceding atom before the current position
- \@> match preceding atom as a subexpression
- \& match only when branch before and after it match
- \%[] optionally match a list of atoms; "end\%[if]" matches "end",
- "endi" and "endif"
- \%(\) like \(\), but without creating a back-reference; there can be
- any number of these, overcomes the limit of nine \( \) pairs
- \%^ match start-of-file (Chase Tingley)
- \%$ match end-of-file (Chase Tingley)
- \%# Match with the cursor position. (Chase Tingley)
- \? Just like "\=" but can't be used in a "?" command.
- \%23l match in line 23
- \%<23l match before line 23
- \%>23l match after line 23
- \%23c, \%<23c, \%>23c match in/before/after column 23
- \%23v, \%<23v, \%>23v match in/before/after virtual column 23
- For syntax items:
- \z(...\) external reference match set (in region start pattern)
- \z1 - \z9 external reference match use (in region skip or end pattern)
- (Scott Bigham)
- \zs use position as start of match
- \ze use position as end of match
- Removed limit of matching only up to 32767 times with *, \+, etc.
- Added support to match multibyte characters. (partly by Muraoka Taro)
- Made "\<" and "\>" work for UTF-8. (Muraoka Taro)
- UTF-8 support *new-utf-8*
- -------------
- Vim can now edit files in UTF-8 encoding. Up to 31 bit characters can be
- used, but only 16 bit characters are displayed. Up to two combining
- characters are supported, they overprint the preceding character.
- Double-wide characters are also supported. See |UTF-8|.
- UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted to
- UTF-8 internally. There is also support for editing Unicode files in a Latin1
- environment. Other encodings are converted with iconv() or an external
- converter specified with 'charconvert'.
- Many new items for Multi-byte support:
- - Added 'encoding' option: specifies character encoding used inside Vim. It
- can be any 8-bit encoding, some double-byte encodings or Unicode.
- It is initialized from the environment when a supported value is found.
- - Added 'fileencoding' and 'fileencodings': specify character coding in a
- file, similar to 'fileformat' and 'fileformats'.
- When 'encoding' is "utf-8" and 'fileencodings' is "utf-8,latin1" this will
- automatically switch to latin1 if a file does not contain valid UTF-8.
- - Added 'bomb' option and detection of a BOM at the start of a file. Can be
- used with "ucs-bom" in 'fileencodings' to automatically detect a Unicode
- file if it starts with a BOM. Especially useful on MS-Windows (NT and
- 2000), which uses ucs-2le files with a BOM (e.g., when exporting the
- registry).
- - Added the 'termencoding' option: Specifies the encoding used for the
- terminal. Useful to put Vim in utf-8 mode while in a non-Unicode locale: >
- :let &termencoding = &encoding
- :set encoding=utf-8
- - When 'viminfo' contains the 'c' flag, the viminfo file is converted from the
- 'encoding' it was written with to the current 'encoding'.
- - Added ":scriptencoding" command: convert lines in a sourced script to
- 'encoding'. Useful for menu files.
- - Added 'guifontwide' to specify a font for double-wide characters.
- - Added Korean support for character class detection. Also fix cls() in
- search.c. (Chong-Dae Park)
- - Win32: Typing multibyte characters without IME. (Alexander Smishlajev)
- - Win32 with Mingw: compile with iconv library. (Ron Aaron)
- - Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
- - Make it possible to build a version with multibyte and iconv support with
- Borland 5.5. (Yasuhiro Matsumoto)
- - Added 'delcombine' option: Delete combining character separately. (Ron
- Aaron)
- - The "xfontset" feature isn't required for "xim". These are now two
- independent features.
- - XIM: enable XIM when typing a language character (Insert mode, Search
- pattern, "f" or "r" command). Disable XIM when typing a Normal mode
- command.
- - When the XIM is active, show "XIM" in the 'showmode' message. (Nam SungHyun)
- - Support "CursorIM" for XIM. (Nam SungHyun)
- - Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
- each multibyte character, not only at a space.
- - Made ":syntax keyword" work with multibyte characters.
- - Added support for Unicode upper/lowercase flipping and comparing. (based on
- patch by Raphael Finkel)
- Let "~" on multibyte characters that have a third case ("title case")
- switch between the three cases. (Raphael Finkel)
- Allow defining digraphs for multibyte characters.
- Added RFC1345 digraphs for Unicode.
- Most Normal mode commands that accept a character argument, like "r", "t" and
- "f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain
- Vi compatible.
- Added Language mapping and 'keymap' to be able to type multibyte characters:
- - Added the ":lmap" command and friends: Define mappings that are used when
- typing characters in the language of the text. Also for "r", "t", etc. In
- Insert and Command-line mode CTRL-^ switches the use of the mappings on/off.
- CTRL-^ also toggles the use of an input method when no language mappings are
- present. Allows switching the IM back on halfway typing.
- - "<char-123>" argument to ":map", allows to specify the decimal, octal or
- hexadecimal value of a character.
- - Implemented the 'keymap' option: Load a keymap file. Uses ":lnoremap" to
- define mappings for the keymap. The new ":loadkeymap" command is used in
- the keymap file.
- - Added 'k' flag in 'statusline': Value of "b:keymap_name" or 'keymap' when
- it's being used. Uses "<lang>" when no keymap is loaded and ":lmap"s are
- active. Show this text in the default statusline too.
- - Added the 'iminsert' and 'imsearch' options: Specify use of langmap mappings
- and Input Method with an option. (Muraoka Taro)
- Added 'imcmdline' option: When set the input method is always enabled when
- starting to edit a command line. Useful for a XIM that uses dead keys to
- type accented characters.
- Added 'imactivatekey' option to better control XIM. (Muraoka Taro)
- - When typing a mapping that's not finished yet, display the last character
- under the cursor in Insert mode and Command-line mode. Looks good for dead
- characters.
- - Made the 'langmap' option recognize multibyte characters. But mapping only
- works for 8-bit characters. Helps when using UTF-8.
- - Use a different cursor for when ":lmap" mappings are active. Can specify
- two highlight groups for an item in 'guicursor'. By default "lCursor" and
- "Cursor" are equal, the user must set a color he likes.
- Use the cursor color for hangul input as well. (Sung-Hyun Nam)
- - Show "(lang)" for 'showmode' when language mapping is enabled.
- - UTF-8: Made "r" work with a ":lmap" that includes a composing character.
- Also works for "f", which now works to find a character that includes a
- composing character.
- Other multibyte character additions:
- - Support double-byte single-width characters for euc-jp: Characters starting
- with 0x8E. Added ScreenLines2[] to store the second byte.
- Multi-language support *new-multi-lang*
- ----------------------
- The messages used in Vim can be translated. Several translations are
- available. This uses the gettext mechanism. It allows adding a translation
- without recompiling Vim. |multi-lang| (partly by Marcin Dalecki)
- The translation files are in the src/po directory. The src/po/README.txt file
- explains a few things about doing a translation.
- Menu translations are available as well. This uses the new |:menutranslate|
- command. The translations are found in the runtime directory "lang". This
- allows a user to add a translation.
- Added |:language| command to set the language (locale) for messages, time and
- character type. This allows switching languages in Vim without changing the
- locale outside of Vim.
- Made it possible to have vimtutor use different languages. (Eduardo Fernandez)
- Spanish (Eduardo Fernandez), Italian (Antonio Colombo), Japanese (Yasuhiro
- Matsumoto) and French (Adrien Beau) translations are included.
- Added "vimtutor.bat": script to start Vim on a copy of the tutor file for
- MS-Windows. (Dan Sharp)
- - Added v:lang variable to be able to get current language setting.
- (Marcin Dalecki) Also v:lc_time and v:ctype.
- - Make it possible to translate the dialogs used by the menus. Uses global
- "menutrans_" variables. ":menutrans clear" deletes them.
- - removed "broken locale" (Marcin Dalecki).
- - Don't use color names in icons, use RGB values. The names could be
- translated.
- - Win32: Added global IME support (Muraoka)
- - Win32: Added dynamic loading of IME support.
- - ":messages" prints a message about who maintains the messages or the
- translations. Useful to find out where to make a remark about a wrong
- translation.
- - --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun
- Nam)
- - Added NLS support for Win32 with the MingW compiler. (Eduardo Fernandez)
- - When available, call bind_textdomain_codeset() to have gettext() translate
- messages to 'encoding'. This requires GNU gettext 0.10.36 or later.
- - Added gettext support for Win32. This means messages will be translated
- when the locale is set and libintl.dll can be found. (Muraoka Taro)
- Also made it work with MingW compiler. (Eduardo Fernandez)
- Detect the language and set $LANG to get the appropriate translated messages
- (if supported). Also use $LANG to select a language, v:lang is a very
- different kind of name.
- - Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto)
- Plugin support *new-plugins*
- --------------
- To make it really easy to load a Vim script when starting Vim, the "plugin"
- runtime directory can be used. All "*.vim" files in it will be automatically
- loaded. For Unix, the directory "~/.vim/plugin" is used by default. The
- 'runtimepath' option can be set to look in other directories for plugins.
- |load-plugins| |add-plugin|
- The |:runtime| command has been added to load one or more files in
- 'runtimepath'.
- Standard plugins:
- netrw.vim - Edit files over a network |new-network-files|
- gzip.vim - Edit compressed files
- explorer.vim - Browse directories |new-file-browser|
- Added support for local help files. |add-local-help|.
- When searching for help tags, all "doc/tags" files in 'runtimepath' are used.
- Added the ":helptags" command: Generate a tags file for a help directory.
- The first line of each help file is automagically added to the "LOCAL
- ADDITIONS" section in doc/help.txt.
- Added the <unique> argument to ":map": only add a mapping when it wasn't
- defined before.
- When displaying an option value with 'verbose' set will give a message about
- where the option was last set. Very useful to find out which script did set
- the value.
- The new |:scriptnames| command displays a list of all scripts that have been
- sourced.
- GUI: For Athena, Motif and GTK look for a toolbar bitmap in the "bitmaps"
- directories in 'runtimepath'. Allows adding your own bitmaps.
- Filetype plugins *new-filetype-plugins*
- -----------------
- A new group of files has been added to do settings for specific file types.
- These can be options and mappings which are specifically used for one value of
- 'filetype'.
- The files are located in "$VIMRUNTIME/ftplugin". The 'runtimepath' option
- makes it possible to use several sets of plugins: Your own, system-wide,
- included in the Vim distribution, etc.
- To be able to make this work, several features were added:
- - Added the "s:" variables, local to a script. Avoids name conflicts with
- global variables. They can be used in the script and in functions,
- autocommands and user commands defined in the script. They are kept between
- invocations of the same script. |s:var|
- - Added the global value for local options. This value is used when opening
- a new buffer or editing another file. The option value specified in a
- modeline or filetype setting is not carried over to another buffer.
- ":set" sets both the local and the global value.
- ":setlocal" sets the local option value only.
- ":setglobal" sets or displays the global value for a local option.
- ":setlocal name<" sets a local option to its global value.
- - Added the buffer-local value for some global options: 'equalprg', 'makeprg',
- 'errorformat', 'grepprg', 'path', 'dictionary', 'thesaurus', 'tags',
- 'include' and 'define'. This allows setting a local value for these global
- options, without making it incompatible.
- - Added mappings and abbreviations local to a buffer: ":map <buffer>".
- - In a mapping "<Leader>" can be used to get the value of the "mapleader"
- variable. This simplifies mappings that use "mapleader". "<Leader>"
- defaults to "\". "<LocalLeader>" does the same with "maplocalleader". This
- is to be used for mappings local to a buffer.
- - Added <SID> Script ID to define functions and mappings local to a script.
- - Added <script> argument to ":noremap" and ":noremenu": Only remap
- script-local mappings. Avoids that mappings from other scripts get in the
- way, but does allow using mappings defined in the script.
- - User commands can be local to a buffer: ":command -buffer".
- The new ":setfiletype" command is used in the filetype detection autocommands,
- to avoid that 'filetype' is set twice.
- File browser *new-file-browser*
- ------------
- When editing a directory, the explorer plugin will list the files in the
- directory. Pressing <Enter> on a file name edits that file. Pressing <Enter>
- on a directory moves the browser to that directory.
- There are several other possibilities, such as opening a file in the preview
- window, renaming files and deleting files.
- Editing files over a network *new-network-files*
- ----------------------------
- Files starting with scp://, rcp://, ftp:// and http:// are recognized as
- remote files. An attempt is made to access these files with the indicated
- method. For http:// only reading is possible, for the others writing is also
- supported. Uses the netrw.vim script as a standard "plugin". |netrw|
- Made "gf" work on a URL. It no longer assumes the file is local on the
- computer (mostly didn't work anyway, because the full path was required).
- Adjusted test2 for this.
- Allow using a URL in 'path'. Makes ":find index.html" work.
- GTK: Allow dropping a http:// and ftp:// URL on Vim. The netrw plugin takes
- care of downloading the file. (Mikael Berthe)
- Window for command-line editing *new-cmdwin*
- -------------------------------
- The Command-line window can be used to edit a command-line with Normal and
- Insert mode commands. When it is opened it contains the history. This allows
- copying parts of previous command lines. |cmdwin|
- The command-line window can be opened from the command-line with the key
- specified by the 'cedit' option (like Nvi). It can also be opened directly
- from Normal mode with "q:", "q/" and "q?".
- The 'cmdwinheight' is used to specify the initial height of the window.
- In Insert mode CTRL-X CTRL-V can be used to complete an Ex command line, like
- it's done on the command-line. This is also useful for writing Vim scripts!
- Additionally, there is "improved Ex mode". Entered when Vim is started as
- "exim" or "vim -E", and with the "gQ" command. Works like repeated use of
- ":", with full command-line editing and completion. (Ulf Carlsson)
- Debugging mode *new-debug-mode*
- --------------
- In debugging mode sourced scripts and user functions can be executed line by
- line. There are commands to step over a command or step into it. |debug-mode|
- Breakpoints can be set to run until a certain line in a script or user
- function is executed. |:breakadd|
- Debugging can be started with ":debug {cmd}" to debug what happens when a
- command executes. The |-D| argument can be used to debug while starting up.
- Cursor in virtual position *new-virtedit*
- --------------------------
- Added the 'virtualedit' option: Allow positioning the cursor where there is no
- actual character in Insert mode, Visual mode or always. (Matthias Kramm)
- This is especially useful in Visual-block mode. It allows positioning a
- corner of the area where there is no text character. (Many improvements by
- Chase Tingley)
- Debugger interface *new-debug-itf*
- ------------------
- This was originally made to work with Sun Visual Workshop. (Gordon Prieur)
- See |debugger.txt|, |sign.txt| and |workshop.txt|.
- Added the ":sign" command to define and place signs. They can be displayed
- with two ASCII characters or an icon. The line after it can be highlighted.
- Useful to display breakpoints and the current PC position.
- Added the :wsverb command to execute debugger commands.
- Added balloon stuff: 'balloondelay' and 'ballooneval' options.
- Added "icon=" argument for ":menu". Allows defining a specific icon for a
- ToolBar item.
- Communication between Vims *new-vim-server*
- --------------------------
- Added communication between two Vims. Makes it possible to send commands from
- one Vim to another. Works for X-Windows and MS-Windows |clientserver|.
- Use "--remote" to have files be edited in an already running Vim.
- Use "--remote-wait" to do the same and wait for the editing to finish.
- Use "--remote-send" to send commands from one Vim to another.
- Use "--remote-expr" to have an expression evaluated in another Vim.
- Use "--serverlist" to list the currently available Vim servers. (X only)
- There are also functions to communicate between the server and the client.
- |remote_send()| |remote_expr()|
- (X-windows version implemented by Flemming Madsen, MS-Windows version by Paul
- Moore)
- Added the command server name to the window title, so you can see which server
- name belongs to which Vim.
- Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from the
- distribution. Can now use "gvim --remote" and "gvim --remote-send", which is
- portable.
- GTK+: Support running Vim inside another window. Uses the --socketid argument
- (Neil Bird)
- Buffer type options *new-buftype*
- -------------------
- The 'buftype' and 'bufhidden' options have been added. They can be set to
- have different kinds of buffers. For example:
- - 'buftype' = "quickfix": buffer with error list
- - 'buftype' = "nofile" and 'bufhidden' = "delete": scratch buffer that will be
- deleted as soon as there is no window displaying it.
- 'bufhidden' can be used to overrule the 'hidden' option for one buffer.
- In combination with 'buflisted' and 'swapfile' this offers the possibility to
- use various kinds of special buffers. See |special-buffers|.
- Printing *new-printing*
- --------
- Included first implementation of the ":hardcopy" command for printing
- to paper. For MS-Windows any installed printer can be used. For other
- systems a PostScript file is generated, which can be printed with the
- 'printexpr' option.
- (MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
- Mike Williams)
- Made ":hardcopy" work with multibyte characters. (Muraoka Taro, Yasuhiro
- Matsumoto)
- Added options to tune the way printing works: (Vince Negri)
- - 'printoptions' defines various things.
- - 'printheader' specifies the header format. Added "N" field to 'statusline'
- for the page number.
- - 'printfont' specifies the font name and attributes.
- - 'printdevice' defines the default printer for ":hardcopy!".
- Ports *ports-6*
- -----
- Port to OS/390 Unix (Ralf Schandl)
- - A lot of changes to handle EBCDIC encoding.
- - Changed Ctrl('x') to Ctrl_x define.
- Included jsbmouse support. (Darren Garth)
- Support for dec mouse in Unix. (Steve Wall)
- Port to 16-bit MS-Windows (Windows 3.1x) (Vince Negri)
- Port to QNX. Supports the Photon GUI, mouse, etc. (Julian Kinraid)
- Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron)
- Added Python support for compiling with Mingw. (Ron Aaron)
- Dos 32 bit: Added support the Windows clipboard. (David Kotchan)
- Win32: Dynamically load Perl and Python. Allows compiling Vim with these
- interfaces and will try to find the DLLs at runtime. (Muraoka Taro)
- Compiling the Win32 GUI with Cygwin. Also compile vimrun, dosinst and
- uninstall. (Gerfried)
- Mac: Make Vim compile with the free MPW compiler supplied by Apple. And
- updates for CodeWarrior. (Axel Kielhorn)
- Added typecasts and ifdefs as a start to make Vim work on Win64 (George
- Reilly)
- Quickfix extended *quickfix-6*
- -----------------
- Added the "error window". It contains all the errors of the current error
- list. Pressing <Enter> in a line makes Vim jump to that line (in another
- window). This makes it easy to navigate through the error list.
- |quickfix-window|.
- - |:copen| opens the quickfix window.
- - |:cclose| closes the quickfix window.
- - |:cwindow| takes care that there is a quickfix window only when there are
- recognized errors. (Dan Sharp)
- - Quickfix also knows "info", next to "warning" and "error" types. "%I" can be
- used for the start of a multi-line informational message. (Tony Leneis)
- - The "%p" argument can be used in 'errorformat' to get the column number from
- a line where "^" points to the column. (Stefan Roemer)
- - When using "%f" in 'errorformat' on a DOS/Windows system, also include "c:"
- in the filename, even when using "%f:".
- Operator modifiers *new-operator-mod*
- ------------------
- Insert "v", "V" or CTRL-V between an operator and a motion command to force
- the operator to work characterwise, linewise or blockwise. |o_v|
- Search Path *new-search-path*
- -----------
- Vim can search in a directory tree not only in downwards but also upwards.
- Works for the 'path', 'cdpath' and 'tags' options. (Ralf Schandl)
- Also use "**" for 'tags' option. (Ralf Schandl)
- Added 'includeexpr', can be used to modify file name found by 'include'
- option.
- Also use 'includeexpr' for "gf" and "<cfile>" when the file can't be found
- without modification. Useful for doing "gf" on the name after an include or
- import statement.
- Added the 'cdpath' option: Locations to find a ":cd" argument. (Raf)
- Added the 'suffixesadd' option: Suffixes to be added to a file name when
- searching for a file for the "gf", "[I", etc. commands.
- Writing files improved *new-file-writing*
- ----------------------
- Added the 'backupcopy' option: Select whether a file is to be copied or
- renamed to make a backup file. Useful on Unix to speed up writing an ordinary
- file. Useful on other systems to preserve file attributes and when editing a
- file on a Unix filesystem.
- Added the 'autowriteall' option. Works like 'autowrite' but for more
- commands.
- Added the 'backupskip' option: A list of file patterns to skip making a backup
- file when it matches. The default for Unix includes "/tmp/*", this makes
- "crontab -e" work.
- Added support for Access Control Lists (ACL) for FreeBSD and Win32. The ACL
- is copied from the original file to the new file (or the backup if it's
- copied).
- ACL is also supported for AIX, Solaris and generic POSIX. (Tomas Ogren)
- And on SGI.
- Argument list *new-argument-list*
- -------------
- The support for the argument list has been extended. It can now be
- manipulated to contain the files you want it to contain.
- The argument list can now be local to a window. It is created with the
- |:arglocal| command. The |:argglobal| command can be used to go back to the
- global argument list.
- The |:argdo| command executes a command on all files in the argument list.
- File names can be added to the argument list with |:argadd|. File names can
- be removed with |:argdelete|.
- "##" can be used like "#", it is replaced by all the names in the argument
- list concatenated. Useful for ":grep foo ##".
- The |:argedit| adds a file to the argument list and edits it. Like ":argadd"
- and then ":edit".
- Restore a View *new-View*
- --------------
- The ":mkview" command writes a Vim script with the settings and mappings for
- one window. When the created file is sourced, the view of the window is
- restored. It's like ":mksession" for one window.
- The View also contains the local argument list and manually created, opened
- and closed folds.
- Added the ":loadview" command and the 'viewdir' option: Allows for saving and
- restoring views of a file with simple commands. ":mkview 1" saves view 1 for
- the current file, ":loadview 1" loads it again. Also allows quickly switching
- between two views on one file. And saving and restoring manual folds and the
- folding state.
- Added 'viewoptions' to specify how ":mkview" works.
- ":mksession" now also works fine with vertical splits. It has been further
- improved and restores the view of each window. It also works properly with
- preview and quickfix windows.
- 'sessionoptions' is used for ":mkview" as well.
- Added "curdir" and "sesdir" to 'sessionoptions'. Allows selection of what
- the current directory will be restored to.
- The session file now also contains the argument list(s).
- Color schemes *new-color-schemes*
- -------------
- Support for loading a color scheme. Added the ":colorscheme" command.
- Automatically add menu entries for available schemes.
- Should now properly reset the colors when 'background' or 't_Co' is changed.
- ":highlight clear" sets the default colors again.
- ":syntax reset" sets the syntax highlight colors back to the defaults.
- For ":set bg&" guess the value. This allows a color scheme to switch back to
- the default colors.
- When syntax highlighting is switched on and a color scheme was defined, reload
- the color scheme to define the colors.
- Various new items *new-items-6*
- -----------------
- Normal mode commands: ~
- "gi" Jump to the ^ mark and start Insert mode. Also works when the
- mark is just after the line. |gi|
- "g'm" and "g`m"
- Jump to a mark without changing the jumplist. Now you can use
- g`" to jump to the last known position in a file without side
- effects. Also useful in mappings.
- [', [`, ]' and ]`
- move the cursor to the next/previous lowercase mark.
- g_ Go to last non-blank in line. (Steve Wall)
- Options: ~
- 'autoread' When detected that a file changed outside of Vim,
- automatically read a buffer again when it's not changed.
- It has a global and a local value. Use ":setlocal autoread<"
- to go back to using the global value for 'autoread'.
- 'debug' When set to "msg" it will print error messages that would
- otherwise be omitted. Useful for debugging 'indentexpr' and
- 'foldexpr'.
- 'lispwords' List of words used for lisp indenting. It was previously hard
- coded. Added a number of Lisp names to the default.
- 'fold...' Many new options for folding.
- 'modifiable' When off, it is impossible to make changes to a buffer.
- The %m and %M items in 'statusline' show a '-'.
- 'previewwindow' Set in the preview window. Used in a session file to mark a
- window as the preview window.
- 'printfont'
- 'printexpr'
- 'printheader'
- 'printdevice'
- 'printoptions' for ":hardcopy".
- 'buflisted' Makes a buffer appear in the buffer list or not.
- Use "vim{version}:" for modelines, only to be executed when the version is
- >= {version}. Also "vim>{version}", "vim<{version}" and "vim={version}".
- Ex commands: ~
- :sav[eas][!] {file}
- Works like ":w file" and ":e #", but without loading the file
- again and avoiding other side effects. |:saveas|
- :silent[!] {cmd}
- Execute a command silently. Also don't use a delay that would
- come after the message. And don't do 'showmatch'.
- RISCOS: Removed that "!~cmd" didn't output anything, and
- didn't wait for <Enter> afterwards. Can use ":silent !cmd"
- now.
- :menu <silent> Add a menu that won't echo Ex commands.
- :map <silent> Add a mapping that won't echo Ex commands.
- :checktime Check for changed buffers.
- :verbose {cmd} Set 'verbose' for one command.
- :echomsg {expr}
- :echoerr {expr} Like ":echo" but store the message in the history. (Mark
- Waggoner)
- :grepadd Works just like ":grep" but adds to the current error list
- instead of defining a new list. |:grepadd|
- :finish Finish sourcing a file. Can be used to skip the rest of a Vim
- script. |:finish|
- :leftabove
- :aboveleft Split left/above current window.
- :rightbelow
- :belowright Split right/below current window.
- :first, :bfirst, :ptfirst, etc.
- Alias for ":rewind". It's more logical compared to ":last".
- :enew Edit a new, unnamed buffer. This is needed, because ":edit"
- re-edits the same file. (Wall)
- :quitall Same as ":qall".
- :match Define match highlighting local to a window. Allows
- highlighting an item in the current window without interfering
- with syntax highlighting.
- :menu enable
- :menu disable Commands to enable/disable menu entries without removing them.
- (Monish Shah)
- :windo Execute a command in all windows.
- :bufdo Execute a command in all buffers.
- :wincmd Window (CTRL-W) command. Useful when a Normal mode command
- can't be used (e.g., for a CursorHold autocommand). See
- |CursorHold-example| for a nice application with it.
- :lcd and :lchdir
- Set local directory for a window. (Benjie Chen)
- :hide {command}
- Execute {command} with 'hidden' set.
- :emenu in Visual mode to execute a ":vmenu" entry.
- :popup Pop up a popup menu.
- :redraw Redraw the screen even when busy with a script or function.
- :hardcopy Print to paper.
- :compiler Load a Vim script to do settings for a specific compiler.
- :z# List numbered lines. (Bohdan Vlasyuk)
- New marks: ~
- '( and ') Begin or end of current sentence. Useful in Ex commands.
- '{ and '} Begin or end of current paragraph. Useful in Ex commands.
- '. Position of the last change in the current buffer.
- '^ Position where Insert mode was stopped.
- Store the ^ and . marks in the viminfo file. Makes it possible to jump to the
- last insert position or changed text.
- New functions: ~
- argidx() Current index in argument list.
- buflisted() Checks if the buffer exists and has 'buflisted' set.
- cindent() Get indent according to 'cindent'.
- eventhandler() Returns 1 when inside an event handler and interactive
- commands can't be used.
- executable() Checks if a program or batch script can be executed.
- filewritable() Checks if a file can be written. (Ron Aaron)
- foldclosed() Find out if there is a closed fold. (Johannes Zellner).
- foldclosedend() Find the end of a closed fold.
- foldlevel() Find out the foldlevel. (Johannes Zellner)
- foreground() Move the GUI window to the foreground.
- getchar() Get one character from the user. Can be used to define a
- mapping that takes an argument.
- getcharmod() Get last used key modifier.
- getbufvar() gets the value of an option or local variable in a buffer (Ron
- Aaron)
- getfsize() Return the size of a file.
- getwinvar() gets the value of an option or local variable in a window (Ron
- Aaron)
- globpath() Find matching files in a list of directories.
- hasmapto() Detect if a mapping to a string is already present.
- iconv() Convert a string from one encoding to another.
- indent() gets the indent of a line (Ron Aaron)
- inputdialog() Like input() but use a GUI dialog when possible. Currently
- only works for Win32, Motif, Athena and GTK.
- Use inputdialog() for the Edit/Settings/Text Width menu. Also
- for the Help/Find.. and Toolbar FindHelp items.
- (Win32 support by Thore B. Karlsen)
- (Win16 support by Vince Negri)
- inputsecret() Ask the user to type a string without showing the typed keys.
- (Charles Campbell)
- libcall() for Unix (Neil Bird, Johannes Zellner, Stephen Wall)
- libcallnr() for Win32 and Unix
- lispindent() Get indent according to 'lisp'.
- mode() Return a string that indicates the current mode.
- nextnonblank() Skip blank lines forwards.
- prevnonblank() Skip blank lines backwards. Useful to for indent scripts.
- resolve() MS-Windows: resolve a shortcut to the file it points to.
- Unix: resolve a symbolic link.
- search() Search for a pattern.
- searchpair() Search for matching pair. Can be used in indent files to find
- the "if" matching an endif.
- setbufvar() sets an option or variable local to a buffer (Ron Aaron)
- setwinvar() sets an option or variable local to a window (Ron Aaron)
- stridx() Search for first occurrence of one string in another.
- strridx() Search for last occurrence of one string in another.
- tolower() Convert string to all-lowercase.
- toupper() Convert string to all-uppercase.
- type() Check the type of an expression.
- wincol() window column of the cursor
- winwidth() Width of a window. (Johannes Zellner)
- winline() window line of the cursor
- Added expansion of curly braces in variable and function names. This can be
- used for variable names that include the value of an option. Or a primitive
- form of arrays. (Vince Negri)
- New autocommand events: ~
- BufWinEnter Triggered when a buffer is displayed in a window, after using
- the modelines. Can be used to load a view.
- BufWinLeave Triggered when a buffer is no longer in a window. Also
- triggered when exiting Vim. Can be used to save views.
- FileChangedRO Triggered before making the first change to a read-only file.
- Can be used to check-out the file. (Scott Graham)
- TermResponse Triggered when the terminal replies to the version-request.
- The v:termresponse internal variable holds the result. Can be
- used to react to the version of the terminal. (Ronald Schild)
- FileReadCmd Triggered before reading a file.
- BufReadCmd Triggered before reading a file into a buffer.
- FileWriteCmd Triggered before writing a file.
- BufWriteCmd Triggered before writing a buffer into a file.
- FileAppendCmd Triggered before appending to a file.
- FuncUndefined Triggered when a user function is not defined. (Ron Aaron)
- The autocommands for the *Cmd events read or write the file instead of normal
- file read/write. Use this in netrw.vim to be able to edit files on a remote
- system. (Charles Campbell)
- New Syntax files: ~
- bdf BDF font definition (Nikolai Weibull)
- catalog SGML catalog (Johannes Zellner)
- debchangelog Debian Changelog (Wichert Akkerman)
- debcontrol Debian Control (Wichert Akkerman)
- dot dot (Markus Mottl)
- dsl DSSSL syntax (Johannes Zellner)
- eterm Eterm configuration (Nikolai Weibull)
- indent Indent profile (Nikolai Weibull)
- lftp LFTP (Nikolai Weibull)
- lynx Lynx config (Doug Kearns)
- mush mush sourcecode (Bek Oberin)
- natural Natural (Marko Leipert)
- pilrc Pal resource compiler (Brian Schau)
- plm PL/M (Philippe Coulonges)
- povini Povray configuration (David Necas)
- ratpoison Ratpoison config/command (Doug Kearns)
- readline readline config (Nikolai Weibull)
- screen Screen RC (Nikolai Weibull)
- specman Specman (Or Freund)
- sqlforms SQL*Forms (Austin Ziegler)
- terminfo terminfo (Nikolai Weibull)
- tidy Tidy configuration (Doug Kearns)
- wget Wget configuration (Doug Kearns)
- Updated many syntax files to work both with Vim 5.7 and 6.0.
- Interface to Ruby. (Shugo Maeda)
- Support dynamic loading of the Ruby interface on MS-Windows. (Muraoka Taro)
- Support this for Mingw too. (Benoit Cerrina)
- Win32: Added possibility to load TCL dynamically. (Muraoka Taro)
- Also for Borland 5.5. (Dan Sharp)
- Win32: When editing a file that is a shortcut (*.lnk file), edit the file it
- links to. Unless 'binary' is set, then edit the shortcut file itself.
- (Yasuhiro Matsumoto)
- The ":command" command now accepts a "-bar" argument. This allows the user
- command to be followed by "| command".
- The preview window is now also used by these commands:
- - |:pedit| edits the specified file in the preview window
- - |:psearch| searches for a word in included files, like |:ijump|, and
- displays the found text in the preview window.
- Added the CTRL-W P command: go to preview window.
- MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc. Mostly
- for NT systems with multiple users.
- A double-click of the mouse on a character that has a "%" match selects from
- that character to the match. Similar to "v%".
- "-S session.vim" argument: Source a script file when starting up. Convenient
- way to start Vim with a session file.
- Added "--cmd {command}" Vim argument to execute a command before a vimrc file
- is loaded. (Vince Negri)
- Added the "-M" Vim argument: reset 'modifiable' and 'write', thus disallow
- making changes and writing files.
- Added runtime/delmenu.vim. Source this to remove all menus and prepare for
- loading new menus. Useful when changing 'langmenu'.
- Perl script to filter Perl error messages to quickfix usable format. (Joerg
- Ziefle)
- Added runtime/macros/less.vim: Vim script to simulate less, but with syntax
- highlighting.
- MS-Windows install program: (Jon Merz)
- - The Win32 program can now create shortcuts on the desktop and install Vim in
- the Start menu.
- - Possibly remove old "Edit with Vim" entries.
- - The Vim executable is never moved or $PATH changed. A small batch file is
- created in a directory in $PATH. Fewer choices to be made.
- - Detect already installed Vim versions and offer to uninstall them first.
- Improved the MS-Windows uninstal program. It now also deletes the entries in
- the Start menu, icons from the desktop and the created batch files. (Jon Merz)
- Also made it possible to delete only some of these. Also unregister gvim for
- OLE.
- Generate a self-installing Vim package for MS-Windows. This uses NSIS. (Jon
- Merz et al.)
- Added ":filetype detect". Try detecting the filetype again. Helps when
- writing a new shell script, after adding "#!/bin/csh".
- Added ":augroup! name" to delete an autocommand group. Needed for the
- client-server "--remote-wait".
- Add the Vim version number to the viminfo file, useful for debugging.
- ==============================================================================
- IMPROVEMENTS *improvements-6*
- Added the 'n' flag in 'cpoptions': When omitted text of wrapped lines is not
- put between line numbers from 'number' option. Makes it a lot easier to read
- wrapped lines.
- When there is a format error in a tags file, the byte position is reported so
- that the error can be located.
- "gf" works in Visual mode: Use the selected text as the file name. (Chase
- Tingley)
- Allow ambiguous mappings. Thus "aa" and "aaa" can both be mapped, the longest
- matching one is used. Especially useful for ":lmap" and 'keymap'.
- Encryption: Ask the key to be typed twice when crypting the first time.
- Otherwise a typo might cause the text to be lost forever. (Chase Tingley)
- The window title now has "VIM" on the end. The file name comes first, useful
- in the taskbar. A "+" is added when the file is modified. "=" is added for
- a read-only file. "-" is added for a file with 'modifiable' off.
- In Visual mode, mention the size of the selected area in the 'showcmd'
- position.
- Added the "b:changedtick" variable. Incremented at each change, also for
- undo. Can be used to take action only if the buffer has been changed.
- In the replacement string of a ":s" command "\=" can be used to replace with
- the result of an expression. From this expression the submatch() function can
- be used to access submatches.
- When doing ":qall" and there is a change in a buffer that is being edited in
- another window, jump to that window, instead of editing that buffer in the
- current window.
- Added the "++enc=" and "++ff=" arguments to file read/write commands to force
- using the given 'encoding' or 'fileformat'. And added the "v:cmdarg"
- variable, to be used for FileReadCmd autocommands that read/write the file
- themselves.
- When reading stdin, first read the text in binary mode and then re-read it
- with automatic selection of 'fileformat' and 'fileencoding'. This avoids
- problems with not being able to rewind the file (e.g., when a line near the
- end of the file ends in LF instead of CR-LF).
- When reading text from stdin and the buffer is empty, don't mark it changed.
- Allows exiting without trouble.
- Added an ID to many error messages. This will make it easier to find help for
- a message.
- Insert mode:
- - "CTRL-G j" and "CTRL-G k" can be used to insert in another line in the same
- column. Useful for editing a table.
- - Added Thesaurus completion with CTRL-X CTRL-T. (Vince Negri)
- - Added the 'thesaurus' option, to use instead of 'dictionary' for thesaurus
- completion. Added the 's' flag in 'complete'.
- - Made CTRL-X CTRL-L in Insert mode use the 'complete' option. It now also
- scans other loaded buffers for matching lines.
- - CTRL-R now also works in Insert mode while doing completion with CTRL-X or
- CTRL-N. (Neil Bird)
- - When doing Insert mode completion, when completion is finished check for a
- match with words from 'cinkeys' or 'indentkeys'.
- Performance:
- - Made display updating more efficient. Insert/delete lines may be used for
- all changes, also for undo/redo.
- - The display is not redrawn when there is typeahead in Insert mode. Speeds
- up CTRL-R a lot.
- - Improved speed of screen output for 32 bit DOS version. (Vince Negri)
- - When dragging with the mouse, there is a lookahead to skip mouse codes when
- there is another one next. Makes dragging with the mouse a lot faster.
- - Also a memory usage improvement: When calling u_save with a single line,
- don't save it if the line was recently saved for the same undo already.
- - When using a script that appends one character at a time, the amount of
- allocated memory was growing steadily. Also when 'undolevels' is -1.
- Caused by the line saved for "U" never to be freed. Now free an undo block
- when it becomes empty.
- - GUI and Dos32: Use a vertical scroll region, to make scrolling in a
- vertically split window faster. No need to redraw the whole window.
- - When scrolling isn't possible with terminal codes (e.g., for a vertically
- split window) redraw from ScreenLines[]. That should be faster than going
- through the lines with win_line(), especially when using syntax
- highlighting.
- - The Syntax menu is now pre-generated by a separate script. Makes loading
- the menu 70% faster. This can halve the startup time of gvim.
- - When doing ":help tag", don't open help.txt first, jump directly to the help
- tag. It's faster and avoids an extra message.
- - Win32: When a file name doesn't end in ".lnk" don't try resolving a
- shortcut, it takes quite a bit of time.
- - Don't update the mouse pointer shape while there are typeahead characters.
- - Change META[] from a string into an array, avoids using strchr() on it.
- - Don't clear the command line when adding characters, avoids that screen_fill
- is called but doesn't do anything.
- Robustness:
- - Unix: Check for running out of stack space when executing a regexp. Avoids
- a nasty crash. Only works when the system supports running the signal
- function on another stack.
- - Disallow ":source <dirname>". On unix it's possible to read a directory,
- does not make sense to use it as Vim commands.
- Security:
- - When reading from or writing to a temporary file, check that it isn't a
- symbolic link. Gives some protection against symlink attacks.
- - When creating a backup file copy or a swap file, check for it already
- existing to avoid a symlink attack. (Colin Phipps)
- - Evaluating options which are an expression is done in a |sandbox|. If the
- option was set by a modeline, it cannot cause damage.
- - Use a secure way to generate temp file names: Create a private directory for
- temp files. Used for Unix, MS-DOS and OS/2.
- - 'makeef' can be empty, which means that an internally generated file name is
- used. The old default was "/tmp/file", which is a security risk.
- Writing 'makeef' in the current directory fails in a read-only directory and
- causes trouble when using ":grep" on all files. Made the default empty for
- all systems, so that a temp file is used.
- - The command from a tags file is executed in the sandbox for better security.
- - The Ruby, Tcl and Python interfaces cannot be used from the sandbox. They
- might do dangerous things. Perl is still possible, but limited to the Safe
- environment. (Donnie Smith)
- Syntax highlighting:
- - Optimized the speed by caching the state stack all over the file, not just
- the part being displayed. Required for folding.
- - Added ":syntax sync fromstart": Always parse from the start of the file.
- - Added the "display" argument for syntax items: use the item only when
- displaying the result. Can make parsing faster for text that isn't going to
- be displayed.
- - When using CTRL-L, the cached states are deleted, to force parsing the text
- again.
- - Use elfhash algorithm for table of keywords. This should give a better
- distribution and speedup keyword lookup. (Campbell)
- - Also allow the "lc" leading context for skip and end patterns. (Scott
- Bigham)
- - Syntax items can have the "extend" argument to undo the effect of a
- "keepend" argument of an item it is contained in. Makes it possible to have
- some contained items extend a region while others don't.
- - ":syntax clear" now deletes the b:current_syntax variable. That's logical,
- since no syntax is defined after this command.
- - Added ":syntax enable": switch on syntax highlighting without changing the
- colors. This allows specifying the colors in the .vimrc file without the
- need for a mysyntaxfile.
- - Added ":syntax reset": reset the colors to their defaults.
- - Added the "contains=TOP" and "contains=CONTAINED" arguments. Makes it
- possible to define a transparent item that doesn't contain itself.
- - Added a "containedin" argument to syntax items. Allows adding a contained
- item to an existing item (e.g., to highlight a name in a comment).
- Modeless selection:
- - When in the command-line window, use modeless selection in the other
- windows. Makes it possible to copy visible text to the command-line window.
- - Support modeless selection on the cmdline in a terminal. Previously it was
- only possible for the GUI.
- - Make double-right-click in modeless selection select a whole word. Single
- right click doesn't use the word selection started by a double-left-click.
- Makes it work like in Visual mode.
- - The modeless selection no longer has an implied automatic copy to the
- clipboard. It now obeys the 'a' and 'A' flags in 'guioptions' or
- "autoselect" and "autoselectml" in 'clipboard'.
- - Added the CTRL-Y command in Cmdline-mode to copy the modeless selection to
- the clipboard. Also works at the hit-enter prompt and the more prompt.
- Removed the mappings in runtime/mswin.vim for CTRL-Y and CTRL-Z in
- cmdline-mode to be able to use CTRL-Y in the new way.
- Reduced the amount of stack space used by regmatch() to allow it to handle
- complicated patterns on a longer text.
- 'isfname' now includes '%' and '#'. Makes "vim dir\#file" work for MS-DOS.
- Added keypad special keys <kEnter>, <k0> - <k9>. When not mapped they behave
- like the ASCII equivalent. (Ivan Wellesz and Vince Negri)
- Recognize a few more xterm keys: <C-Right>, <C-Left>, <C-End>, <C-Home>
- Also trigger the BufUnload event when Vim is going to exit. Perhaps a script
- needs to do some cleaning up.
- Expand expression in backticks: `={expr}`. Can be used where backtick
- expansion is done. (Vince Negri)
- GUI:
- - Added 'L' and 'R' flags in 'guioptions': Add a left or right scrollbar only
- when there is a vertically split window.
- - X11: When a color can't be allocated, use the nearest match from the
- colormap. This avoids that black is used for many things. (Monish Shah)
- Also do this for the menu and scrollbar, to avoid that they become black.
- - Win32 and X11: Added 'mouseshape' option: Adjust the mouse pointer shape to
- the current mode. (Vince Negri)
- - Added the 'linespace' option: Insert a pixel line between lines. (Nam)
- - Allow modeless selection (without moving the cursor) by keeping CTRL and
- SHIFT pressed. (Ivan Wellesz)
- - Motif: added toolbar. (Gordon Prieur) Also added tooltips.
- - Athena: added toolbar and tooltips. (David Harrison -- based on Gordon
- Prieur's work)
- - Made the 'toolbar' option work for Athena and Motif. Can now switch between
- text and icons on the fly. (David Harrison)
- - Support menu separator lines for Athena. (David Harrison)
- - Athena: Adjust the arrow pixmap used in a pullright menu to the size of the
- font. (David Harrison)
- - Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
- Khodush)
- - When no --enable-xim argument is given, automatically enable it when a X GUI
- is used. Required for dead key support (and multibyte input).
- - After a file selection dialog, check that the edited files were not changed
- or deleted. The Win32 dialog allows deleting and renaming files.
- - Motif and Athena: Added support for "editres". (Marcin Dalecki)
- - Motif and Athena: Added "menuFont" to be able to specify a font or fontset
- for the menus. Can also be set with the "Menu" highlight group. Useful
- when the locale is different from 'encoding'. (David Harrison)
- When FONTSET_ALWAYS is defined, always use a fontset for the menus. Should
- avoid trouble with changing from a font to a fontset. (David Harrison)
- - Highlighting and font for the tooltips can be specified with the "Tooltip"
- highlight group. (David Harrison)
- - The Cmdline-mode menus can be used at the more-prompt. This mostly works
- fine, because they start with a CTRL-C. The "Copy" menu works to copy the
- modeless selection. Allows copying the output of ":set all" or ":intro"
- without auto-selection.
- - When starting the GUI when there is no terminal connected to stdout and
- stderr, display error messages in a dialog. Previously they wouldn't be
- displayed at all.
- - Allow setting 'browsedir' to the name of a directory, to be used for the
- file dialog. (Dan Sharp)
- - b:browsefilter and g:browsefilter can be set to the filters used for the
- file dialog. Supported for Win32 and Motif GUI. (Dan Sharp)
- X11:
- - Support for the clipboard selection as register "+. When exiting or
- suspending copy the selection to cut buffer 0. Should allow copy/paste with
- more applications in a X11-standard way. (Neil Bird)
- - Use the X clipboard in any terminal, not just in an xterm.
- Added "exclude:" in 'clipboard': Specify a pattern to match against terminal
- names for which no connection should be made to the X server. The default
- currently work for FreeBSD and Linux consoles.
- - Added a few messages for when 'verbose' is non-zero to show what happens
- when trying to connect to the X server. Should help when trying to find out
- why startup is slow.
- GTK GUI: (partly by Marcin Dalecki)
- - With some fonts the characters can be taller than ascent + descent. E.g.,
- "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Add one to the character
- cell height.
- - Implement "no" value for 'winaltkeys': don't use Alt-Key as a menu shortcut,
- when 'wak' changed after creating the menus.
- - Setting 'wak' after the GUI started works.
- - recycle text GC's to reduce communication.
- - Adjust icon size to window manager.
- - Cleanup in font handling.
- - Replace XQueryColor with GDK calls.
- - Gnome support. Detects Gnome in configure and uses different widgets.
- Otherwise it's much like GTK. (Andy Kahn)
- It is disabled by default, because it causes a few problems.
- - Removed the special code to fork first and then start the GUI. Now use
- _exit() instead of exit(), this works fine without special tricks.
- - Dialogs sometimes appeared a bit far away. Position the dialogs inside
- the gvim window. (Brent Verner)
- - When dropping a file on Vim, remove extra slashes from the start of the
- path. Also shorten the file name if possible.
- Motif: (Marcin Dalecki)
- - Made the dialog layout better.
- - Added find and find/replace dialogs.
- - For the menus, change "iso-8859" to "iso_8859", Linux appears to need this.
- - Added icon to dialogs, like for GTK.
- - Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include
- file when it's available.
- - Change the shadow of the toolbar items to get a visual feedback of it being
- pressed on non-LessTif.
- - Use gadgets instead of windows for some items for speed.
- Command line completion:
- - Complete environment variable names. (Mike Steed)
- - For ":command", added a few completion methods: "mapping", "function",
- "expression" and "environment".
- - When a function doesn't take arguments, let completion add () instead of (.
- For MS-DOS, MS-Windows and OS/2: Expand %VAR% environment variables like $VAR.
- (Walter Briscoe)
- Redirect messages to the clipboard ":redir @*" and to the unnamed register
- ":redir @"". (Wall)
- ":let @/ = ''" clears the search pattern, instead of setting it to an empty
- string.
- Expression evaluation:
- - "? :" can be used like in C.
- - col("$") returns the length of the cursor line plus one. (Stephen P. Wall)
- - Optional extra argument for match(), matchend() and matchstr(): Offset to
- start looking for a match.
- - Made third argument to strpart() optional. (Paul Moore, Zdenek Sekera)
- - exists() can also be used to check for Ex commands and defined autocommands.
- - Added extra argument to input(): Default text.
- - Also set "v:errmsg" when using ":silent! cmd".
- - Added the v:prevcount variable: v:count for the previous command.
- - Added "v:progname", name with which Vim was started. (Vince Negri)
- - In the verbose message about returning from a function, also show the return
- value.
- Cscope:
- - Added the cscope_connection() function. (Andy Kahn)
- - ":cscope kill -1" kills all cscope connections. (Andy Kahn)
- - Added the 'cscopepathcomp' option. (Scott Hauck)
- - Added ":scscope" command, split window and execute Cscope command. (Jason
- Duell)
- VMS:
- - Command line arguments are always uppercase. Interpret a "-X" argument as
- "-x" and "-/X" as "-X".
- - Set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy)
- - Use the X-clipboard feature and the X command server. (Zoltan Arpadffy)
- Macintosh: (Dany St-Amant)
- - Allow a tags file to have CR, CR-LF or LF line separator. (Axel Kielhorn)
- - Carbonized (while keeping non Carbon code)
- (Some work "stolen" from Ammon Skidmore)
- - Improved the menu item index handling (should be faster)
- - Runtime commands now handle / in file name (MacOS 9 version)
- - Added ":winpos" support.
- - Support using "~" in file names for home directory.
- Options:
- - When using set += or ^= , check for items used twice. Duplicates are
- removed. (Vince Negri)
- - When setting an option that is a list of flags, remove duplicate flags.
- - If possible, use getrlimit() to set 'maxmemtot' and 'maxmem'. (Pina)
- - Added "alpha" to 'nrformats': increment or decrement an alphabetic character
- with CTRL-A and CTRL-X.
- - ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim
- default. Useful to set 'cpo' to its Vim default without knowing what flags
- that includes.
- - 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the
- window.
- - Added more option settings to the default menus.
- - Updated the option window with new options. Made it a bit easier to read.
- Internal changes:
- - Split line pointers in text part and attributes part. Allows for future
- change to make attribute more than one byte.
- - Provide a qsort() function for systems that don't have it.
- - Changed the big switch for Normal mode commands into a table. This cleans
- up the code considerably and avoids trouble for some optimizing compilers.
- - Assigned a negative value to special keys, to avoid them being mixed up with
- Unicode characters.
- - Global variables expand_context and expand_pattern were not supposed to be
- global. Pass them to ExpandOne() and all functions called by it.
- - No longer use the global reg_ic flag. It caused trouble and in a few places
- it was not set.
- - Removed the use of the stuff buffer for "*", "K", CTRL-], etc. Avoids
- problem with autocommands.
- - Moved some code from ex_docmd.c to ex_cmds2.c. The file was getting too
- big. Also moved some code from screen.c to move.c.
- - Don't include the CRC table for encryption, generate it. Saves quite a bit
- of space in the source code. (Matthias Kramm)
- - Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems.
- - Removed the GTK implementation of ":findhelp", it now uses the
- ToolBar.FindHelp menu entry.
- - Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and
- mch_shellinit() to mch_init().
- Highlighting:
- - In a ":highlight" listing, show "xxx" with the highlight color.
- - Added support for xterm with 88 or 256 colors. The right color numbers will
- be used for the name used in a ":highlight" command. (Steve Wall)
- - Added "default" argument for ":highlight". When included, the command is
- ignored if highlighting for the group was already defined.
- All syntax files now use ":hi default ..." to allow the user to specify
- colors in his vimrc file. Also, the "if did_xxx_syntax_inits" is not needed
- anymore. This greatly simplifies using non-default colors for a specific
- language.
- - Adjusted colortest.vim: Included colors on normal background and reduced the
- size by using a while loop. (Rafael Garcia-Suarez)
- - Added the "DarkYellow" color name. Just to make the list of standard colors
- consistent, it's not really a nice color to use.
- When an xterm is in 8-bit mode this is detected by the code returned for
- |t_RV|. All key codes are automatically converted to their 8-bit versions.
- The OPT_TCAP_QUERY in xterm patch level 141 and later is used to obtain the
- actual key codes used and the number of colors for t_Co. Only when |t_RV| is
- also used.
- ":browse set" now also works in the console mode. ":browse edit" will give an
- error message.
- ":bdelete" and ":bunload" only report the number of deleted/unloaded buffers
- when more than 'report'. The message was annoying when deleting a buffer in a
- script.
- Jump list:
- - The number of marks kept in the jumplist has been increased from 50 to 100.
- - The jumplist is now stored in the viminfo file. CTRL-O can be used to jump
- to positions from a previous edit session.
- - When doing ":split" copy the jumplist to the new window.
- Also set the '[ and '] marks for the "~" and "r" commands. These marks are
- now always set when making a change with a Normal mode command.
- Python interface: Allow setting the width of a vertically split window. (John
- Cook)
- Added "=word" and "=~word" to 'cinkeys' (also used in 'indentkeys').
- Added "j1" argument in 'cinoptions': indent {} inside () for Java. (Johannes
- Zellner)
- Added the "l" flag in 'cinoptions'. (Anduin Withers)
- Added 'C', 'U', 'w' and 'm' flags to 'cinoptions'. (Servatius Brandt)
- When doing ":wall" or ":wqall" and a modified buffer doesn't have a name,
- mention its buffer number in the error message.
- ":function Name" lists the function with line numbers. Makes it easier to
- find out where an error happened.
- In non-blockwise Visual mode, "r" replaces all selected characters with the
- typed one, like in blockwise Visual mode.
- When editing the last file in the argument list in any way, allow exiting.
- Previously this was only possible when getting to that file with ":next" or
- ":last".
- Added the '1' flag to 'formatoptions'. (Vit Stradal)
- Added 'n' flag in 'formatoptions': format a numbered list.
- Swap file:
- - When a swap file already exists, and the user selects "Delete" at the
- ATTENTION prompt, use the same ".swp" swapfile, to avoid creating a ".swo"
- file which won't always be found.
- - When giving the ATTENTION message and the date of the file is newer than the
- date of swap file, give a warning about this.
- - Made the info for an existing swap file a bit shorter, so that it still fits
- on a 24 line screen.
- - It was possible to make a symlink with the name of a swap file, linking to a
- file that doesn't exist. Vim would then silently use another file (if open
- with O_EXCL refuses a symlink). Now check for a symlink to exist. Also do
- another check for an existing swap file just before creating it to catch a
- symlink attack.
- The g CTRL-G command also works in Visual mode and counts the number of words.
- (Chase Tingley)
- Give an error message when using 'shell' and it's empty.
- Added the possibility to include "%s" in 'shellpipe'.
- Added "uhex" value for 'display': show non-printable characters as <xx>.
- Show unprintable characters with NonText highlighting, also in the command
- line.
- When asked to display the value of a hidden option, tell it's not supported.
- Win32:
- - When dropping a shortcut on gvim (.lnk file) edit the target, not the
- shortcut itself. (Yasuhiro Matsumoto)
- - Added C versions of the OpenWithVim and SendToVim programs. (Walter Briscoe)
- - When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr too.
- Also check for the Unix shell names.
- - When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME. (Craig
- Barkhouse)
- Win32 console version:
- - Includes the user and system name in the ":version" message, when available.
- It generates a pathdef.c file for this. (Jon Miner)
- - Set the window icon to Vim's icon (only for Windows 2000). While executing
- a shell command, modify the window title to show this. When exiting,
- restore the cursor position too. (Craig Barkhouse)
- - The Win32 console version can be compiled with OLE support. It can only
- function as a client, not as an OLE server.
- Errorformat:
- - Let "%p" in 'errorformat' (column of error indicated by a row of characters)
- also accept a line of dots.
- - Added "%v" item in 'errorformat': Virtual column number. (Dan Sharp)
- - Added a default 'errorformat' value for VMS. (Jim Bush)
- The "p" command can now be used in Visual mode. It overwrites the selected
- text with the contents of a register.
- Highlight the <> items in the intro message to make clear they are special.
- When using the "c" flag for ":substitute", allow typing "l" for replacing this
- item and then stop: "last".
- When printing a verbose message about sourcing another file, print the line
- number.
- When resizing the Vim window, don't use 'equalalways'. Avoids that making the
- Vim window smaller makes split windows bigger. And it's what the docs say.
- When typing CTRL-D in Insert mode, just after an autoindent, then hitting CR
- kept the remaining white space. Now made it work like BS: delete the
- autoindent to avoid a blank non-empty line results.
- Added a GetHwnd() call to the OLE interface. (Vince Negri)
- Made ":normal" work in an event handler. Useful when dropping a file on Vim
- and for CursorHold autocommands.
- For the MS-Windows version, don't change to the directory of the file when a
- slash is used instead of a backslash. Explorer should always use a backslash,
- the user can use a slash when typing the command.
- Timestamps:
- - When a buffer was changed outside of Vim and regaining focus, give a dialog
- to allow the user to reload the file. Now also for other GUIs than
- MS-Windows. And also used in the console, when compiled with dialog
- support.
- - Inspect the file contents to find out if it really changed, ignore
- situations where only the time stamp changed (e.g., checking the file out
- from CVS).
- - When checking the timestamp, first check if the file size changed, to avoid
- a file compare then. Makes it quicker for large (log) files that are
- appended to.
- - Don't give a warning for a changed or deleted file when 'buftype' is set.
- - No longer warn for a changed directory. This avoids that the file explorer
- produces warnings.
- - Checking timestamps is only done for buffers that are not hidden. These
- will be checked when they become unhidden.
- - When checking for a file being changed outside of Vim, also check if the
- file permissions changed. When the file contents didn't change but the
- permissions did, give a warning.
- - Avoid checking too often, otherwise the dialog keeps popping up for a log
- file that steadily grows.
- Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
- "utf-8" causes the first byte of a multibyte to be mapped. Can cause very
- hard to find problems. Disallow mapping part of a multibyte character.
- For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
- Also for ":ruby" and ":perl". (Benoit Cerrina)
- Made ":syn include" use 'runtimepath' when the file name is not a full path.
- When 'switchbuf' contains "split" and the current window is empty, don't split
- the window.
- Unix: Catch SIGPWR to preserve files when the power is about to go down.
- Sniff interface: (Anton Leherbauer)
- - fixed windows code, esp. the event handling stuff
- - adaptations for sniff 4.x ($SNIFF_DIR4)
- - support for adding sniff requests at runtime
- Support the notation <A-x> as an alias for <M-x>. This logical, since the Alt
- key is used.
- ":find" accepts a count, which means that the count'th match in 'path' is
- used.
- ":ls" and ":buffers" output shows modified/readonly/modifiable flag. When a
- buffer is active show "a" instead of nothing. When a buffer isn't loaded
- show nothing instead of "-".
- Unix install:
- - When installing the tools, set absolute paths in tools scripts efm_perl.pl
- and mve.awk. Avoids that the user has to edit these files.
- - Install Icons for KDE when the directories exist and the icons do not exist
- yet.
- Added has("win95"), to be able to distinguish between MS-Windows 95/98/ME and
- NT/2000/XP in a Vim script.
- When a ":cd" command was typed, echo the new current directory. (Dan Sharp)
- When using ":winpos" before the GUI window has been opened, remember the
- values until it is opened.
- In the ":version" output, add "/dyn" for features that are dynamically loaded.
- This indicates the feature may not always work.
- On Windows NT it is possible that a directory is read-only, but a file can be
- deleted. When making a backup by renaming the file and 'backupdir' doesn't
- use the current directory, this causes the original file to be deleted,
- without the possibility to create a new file. Give an extra error message
- then to warn to user about this.
- Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's
- consistent with Insert mode.
- ==============================================================================
- COMPILE TIME CHANGES *compile-changes-6*
- All generated files have been moved out of the "src" directory. This makes it
- easy to see which files are not edited by hand. The files generated by
- configure are now in the "src/auto" directory. For Unix, compiled object
- files go in the objects directory.
- The source archive was over the 1.4M floppy limit. The archives are now split
- up into two runtime and two source archives. Also provide a bzip2 compressed
- archive that contains all the sources and runtime files.
- Added "reconfig" as a target for make. Useful when changing some of the
- arguments that require flushing the cache, such as switching from GTK to
- Motif. Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistent
- over different GUIs.
- Added src/README.txt to give an overview of the main parts of the source code.
- The Unix Makefile now fully supports using $(DESTDIR) to install to a specific
- location. Replaces the manual setting of *ENDLOC variables.
- Added the possibility for a maintainer of a binary version to include his
- e-mail address with the --with-compiledby configure argument.
- Included features are now grouped in "tiny", "small", "normal", "big" and
- "huge". This replaces "min-features" and "max-features". Using "tiny"
- disables multiple windows for a really small Vim.
- For the tiny version or when FEAT_WINDOWS is not defined: Firstwin and lastwin
- are equal to curwin and don't use w_next and w_prev.
- Added the +listcmds feature. Can be used to compile without the Vim commands
- that manipulate the buffer list and argument list (the buffer list itself is
- still there, can't do without it).
- Added the +vreplace feature. It is disabled in the "small" version to avoid
- that the 16 bit DOS version runs out of memory.
- Removed GTK+ support for versions older than 1.1.16.
- The configure checks for using PTYs have been improved. Code taken from a
- recent version of screen.
- Added configure options to install Vim, Ex and View under another name (e.g.,
- vim6, ex6 and view6).
- Added "--with-global-runtime" configure argument. Allows specifying the
- global directory used in the 'runtimepath' default.
- Made enabling the SNiFF+ interface possible with a configure argument.
- Configure now always checks /usr/local/lib for libraries and
- /usr/local/include for include files. Helps finding the stuff for iconv() and
- gettext().
- Moved the command line history stuff into the +cmdline_hist feature, to
- exclude the command line history from the tiny version.
- MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c. Avoids
- having to change two files for one problem. (Vince Negri)
- Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri)
- The jumplist is now a separate feature. It is disabled for the "small"
- version (16 bit MS-DOS).
- Renamed all types ending in _t to end in _T. Avoids potential problems with
- system types.
- Added a configure check for X11 header files that implicitly define the return
- type to int. (Steve Wall)
- "make doslang" in the top directory makes an archive with the menu and .mo
- files for Windows. This uses the files generated on Unix, these should work
- on MS-Windows as well.
- Merged a large part of os_vms.c with os_unix.c. The code was duplicated in
- the past which made maintenance more work. (Zoltan Arpadffy)
- Updated the Borland C version 5 Makefile: (Dan Sharp)
- - Fixed the Perl build
- - Added python and tcl builds
- - Added dynamic perl and dynamic python builds
- - Added uninstal.exe build
- - Use "yes" and "no" for the options, like in Make_mvc.mak.
- Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak. It's
- much smaller, many unnecessary text has been removed. (Walter Briscoe)
- Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak in
- MS-Devstudio. (Walter Briscoe)
- MS-Windows: The big gvim.exe, which includes OLE, now also includes
- dynamically loaded Tcl, Perl and Python. This uses ActivePerl 5.6.1,
- ActivePython 2.1.1 and ActiveTCL 8.3.3
- Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" for
- Cygwin or MingW. Renamed SUFFIX to EXEEXT in Makefile.
- Win32: Load comdlg32.dll delayed for faster startup. Only when using VC 6.
- (Vipin Aravind)
- Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto)
- Win32: Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro
- Matsumoto)
- ==============================================================================
- BUG FIXES *bug-fixes-6*
- When checking the command name for "gvim", "ex", etc. ignore case. Required
- for systems where case is ignored in command names.
- Search pattern "[a-c-e]" also matched a 'd' and didn't match a '-'.
- When double-clicking in another window, wasn't recognized as double click,
- because topline is different. Added set_mouse_topline().
- The BROKEN_LOCALE check was broken. (Marcin Dalecki)
- When "t_Co" is set, the default colors remain the same, thus wrong. Reset the
- colors after changing "t_Co". (Steve Wall)
- When exiting with ":wqall" the messages about writing files could overwrite
- each other and be lost forever.
- When starting Vim with an extremely long file name (around 1024 characters) it
- would crash. Added a few checks to avoid buffer overflows.
- CTRL-E could get stuck in a file with very long lines.
- ":au syntax<Tab>" expanded event names while it should expand groups starting
- with "syntax".
- When expanding a file name caused an error (e.g., for <amatch>) it was
- produced even when inside an "if 0".
- 'cindent' formatted C comments differently from what the 'comments' option
- specified. (Steve Wall)
- Default for 'grepprg' didn't include the file name when only grepping in one
- file. Now /dev/null has been added for Unix.
- Opening the option window twice caused trouble. Now the cursor goes to the
- existing option window.
- ":sview" and ":view" didn't set 'readonly' for an existing buffer. Now do set
- 'readonly', unless the buffer is also edited in another window.
- GTK GUI: When 'guioptions' excluded 'g', the more prompt caused the toolbar
- and menubar to disappear and resize the window (which clears the text).
- Now always grey-out the toplevel menus to avoid that the menubar changes size
- or disappears.
- When re-using the current buffer for a new buffer, buffer-local variables were
- not deleted.
- GUI: when 'scrolloff' is 0 dragging the mouse above the window didn't cause a
- down scroll. Now pass on a mouse event with mouse_row set to -1.
- Win32: Console version didn't work on telnet, because of switching between two
- console screens. Now use one console screen and save/restore the contents
- when needed. (Craig Barkhouse)
- When reading a file the magic number for encryption was included in the file
- length. (Antonio Colombo)
- The quickfix window contained leading whitespace and NULs for multi-line
- messages. (David Harrison)
- When using cscope, redundant tags were removed. This caused a numbering
- problem, because they were all listed. Don't remove redundant cscope tags.
- (David Bustos).
- Cscope: Test for which matches are in the current buffer sometimes failed,
- causing a jump to another match than selected. (David Bustos)
- Win32: Buffer overflow when adding a charset name in a font.
- 'titlestring' and 'iconstring' were evaluating an expression in the current
- context, which could be a user function, which is a problem for local
- variables vs global variables.
- Win32 GUI: Mapping <M-F> didn't work. Now handle SHIFT and CTRL in
- _OnSysChar().
- Win32 GUI: (on no file), :vs<CR>:q<CR> left a trail of pixels down the middle.
- Could also happen for the ruler. screen_puts() didn't clear the right char in
- ScreenLines[] for the bold trick.
- Win32: ":%!sort|uniq" didn't work, because the input file name touches the
- "|". Insert a space before the "|".
- OS/2: Expanding wildcards included non-existing files. Caused ":runtime" to
- fail, which caused syntax highlighting to fail.
- Pasting a register containing CTRL-R on the command line could cause an
- endless loop that can't be interrupted. Now it can be stopped with CTRL-C.
- When 'verbose' is set, a message for file read/write could overwrite the
- previous message.
- When 'verbose' is set, the header from ":select" was put after the last
- message. Now start a new line.
- The hit-enter prompt reacted to the response of the t_RV string, causing
- messages at startup to disappear.
- When t_Co was set to 1, colors were still used. Now only use color when t_Co
- > 1.
- Listing functions with ":function" didn't quit when 'q' or ':' was typed at
- the more prompt.
- Use mkstemp() instead of mktemp() when it's available, avoids a warning for
- linking on FreeBSD.
- When doing Insert mode completion it's possible that b_sfname is NULL. Don't
- give it to printf() for the "Scanning" message.
- ":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards
- was done after trying to remove the string. Now for ":set opt+=val" and ":set
- opt-=val" the expansion of wildcards is done before adding or removing "val".
- Using CTRL-V with the "r" command with a blockwise Visual selection inserted a
- CTRL-V instead of getting a special character.
- Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE
- after -lXdmcp. Should fix link problem on HP-UX 10.20.
- Don't remove the last "-lm" from the link line. Vim may link but fail later
- when the GUI starts.
- When the shell returns with an error when trying to expand wildcards, do
- include the pattern when the "EW_NOTFOUND" flag was set.
- When expanding wildcards with the shell fails, give a clear error message
- instead of just "1 returned".
- Selecting a Visual block, with the start partly on a Tab, deleting it leaves
- the cursor too far to the left. Causes "s" to work in the wrong position.
- Pound sign in normal.c caused trouble on some compilers. Use 0xA3 instead.
- Warning for changing a read-only file wasn't given when 'insertmode' was set.
- Win32: When 'shellxquote' is set to a double quote (e.g., using csh), ":!start
- notepad file" doesn't work. Remove the double quotes added by 'shellxquote'
- when using ":!start". (Pavol Juhas)
- The "<f-args>" argument of ":command" didn't accept Tabs for white space.
- Also, don't add an empty argument when there are trailing blanks.
- ":e test\\je" edited "test\je", but ":next test\\je" edited "testje".
- Backslashes were removed one time too many for ":next".
- VMS: "gf" didn't work properly. Use vms_fixfilename() to translate the file
- name. (Zoltan Arpadffy)
- After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all
- characters are redrawn with the right background.
- When doing "make test" without +eval or +windows feature, many tests failed.
- Now have test1 generate a script to copy the correct output, so that a test
- that doesn't work is skipped.
- On FreeBSD the Perl interface added "-lc" to the link command and Python added
- "-pthread". These two don't work together, because the libc_r library should
- be used. Removed "-lc" from Perl, it should not be needed.
- Also: Add "-pthread" to $LIBS, so that the checks for functions is done with
- libc_r. Sigaltstack() appears to be missing from libc_r.
- The Syntax sub-menus were getting too long, reorganized them and added another
- level for some languages.
- Visual block "r"eplace didn't work well when a Tab is partly included.
- (Matthias Kramm)
- When yanking a Visual block, where some lines end halfway the block, putting
- the text somewhere else doesn't insert a block. Padd with spaces for missing
- characters. Added "y_width" to struct yankreg. (Matthias Kramm)
- If a substitute string has a multibyte character after a backslash only the
- first byte of it was skipped. (Muraoka Taro)
- Win32: Numeric keypad keys were missing from the builtin termcap entry.
- When a file was read-only ":wa!" didn't force it to be written. (Vince Negri)
- Amiga: A file name starting with a colon was considered absolute but it isn't.
- Amiga: ":pwd" added a slash when in the root of a drive.
- Don't let 'ttymouse' default to "dec" when compiled with dec mouse support.
- It breaks the gpm mouse (Linux console).
- The prototypes for the Perl interface didn't work for threaded Perl. Added a
- sed command to remove the prototypes from proto/if_perl.pro and added them
- manually to if_perl.xs.
- When ":w!" resets the 'readonly' option the title and status lines were not
- updated.
- ":args" showed the current file when the argument list was empty. Made this
- work like Vi: display nothing.
- "99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode.
- Don't set v:count when executing a stuffed command.
- Amiga: Got a requester for "home:" because it's in the default runtime path.
- Don't bring up a requester when searching for a file in 'path', sourcing the
- .vimrc file or using ":runtime".
- Win16 and Win32: Considered a file "\path\file" absolute. Can cause the same
- file to appear as two different buffers.
- Win32: Renaming a file to an empty string crashed Vim. Happened when using
- explorer.vim and hitting ESC at the rename prompt.
- Win32: strftime() crashed when called with a "-1" value for the time.
- Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not
- to be found.
- Cscope sometimes jumped to the wrong tag. (David Bustos)
- OS/2: Could not find the tags file. mch_expand_wildcards() added another
- slash to a directory name.
- When using ">>" the `] mark was not in the last column.
- When Vim was compiled without menu support, filetype.vim was still trying to
- source the menu.vim script. (Rafael Garcia-Suarez)
- ":ptag" added an item to the tag stack.
- Win32 IME: "gr" didn't use IME mode.
- In the "vim --help" message the term "options" was used for arguments. That's
- confusing, call them "arguments".
- When there are two windows, and a BufUnload autocommand for closing window #1
- closed window #2, Vim would crash.
- When there is a preview window and only one other window, ":q" wouldn't exit.
- In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed.
- On Unix glob(".*") returned "." and "..", on Windows it didn't. On Windows
- glob("*") also returned files starting with a dot. Made this work like Unix
- on all systems.
- Win32: Removed old code to open a console. Vimrun is now used and works fine.
- Compute the room needed by the intro message accurately, so that it also fits
- on a 25 line console. (Craig Barkhouse)
- ":ptnext" was broken. Now remember the last tag used in the preview window
- separately from the tagstack.
- Didn't check for "-display" being the last argument. (Wichert Akkerman)
- GTK GUI: When starting "gvim" under some conditions there would be an X error.
- Don't replace the error handler when creating the xterm clipboard. (Wichert
- Akkerman)
- Adding a space after a help tag caused the tag not to be found. E.g., ":he
- autoindent ".
- Was trying to expand a URL into a full path name. On Windows this resulted in
- the current directory to be prepended to the URL. Added vim_isAbsName() and
- vim_FullName() to avoid that various machine specific functions do it
- differently.
- ":n *.c" ":cd .." ":n" didn't use the original directory of the file. Vi only
- does it for the current file (looks like a bug). Now remember the buffer used
- for the entry in the argument list and use its name (adjusted when doing
- ":cd"), unless it's deleted.
- When inserting a special key as its name ("<F8>" as four characters) after
- moving around in Insert mode, undo didn't work properly.
- Motif GUI: When using the right mouse button, for some people gvim froze for
- a couple of seconds (Motif 1.2?). This doesn't happen when there is no Popup
- menu. Solved by only creating a popup menu when 'mousemodel' is "popup" or
- "popup_setpos". (David Harrison)
- Motif: When adding many menu items, the "Help" menu disappeared but the
- menubar didn't wrap. Now manually set the menubar height.
- When using <BS> in Insert mode to remove a line break, or using "J" to join
- lines, the cursor could end up halfway a multibyte character. (Muraoka Taro)
- Removed defining SVR4 in configure. It causes problems for some X header
- files and doesn't appear to be used anywhere.
- When 'wildignore' is used, 'ignorecase' for a tag match was not working.
- When 'wildignore' contains "*~" it was impossible to edit a file ending in a
- "~". Now don't recognize a file ending in "~" as containing wildcards.
- Disabled the mouse code for OS/2. It was not really used.
- ":mksession" always used the full path name for a buffer, also when the short
- name could be used.
- ":mkvimrc" and ":mksession" didn't save 'wildchar' and 'pastetoggle' in such a
- way that they would be restored. Now use the key name if possible, this is
- portable.
- After recovering a file and abandoning it, an ":edit" command didn't give the
- ATTENTION prompt again. Would be useful to be able to delete the file in an
- easy way. Reset the BF_RECOVERED flag when unloading the buffer.
- histdel() could match or ignore case, depending on what happened before it.
- Now always match case.
- When a window size was specified when splitting a window, it would still get
- the size from 'winheight' or 'winwidth' if it's larger.
- When using "append" or "insert" inside a function definition, a line starting
- with "function" or "endfunction" caused confusion. Now recognize the commands
- and skip lines until a ".".
- At the end of any function or sourced file need_wait_return could be reset,
- causing messages to disappear when redrawing.
- When in a while loop the line number for error messages stayed fixed. Now the
- line number is remembered in the while loop.
- "cd c:/" didn't work on MS-DOS. mch_isdir() removed a trailing slash.
- MS-Windows: getftime() didn't work when a directory had a trailing slash or
- backslash. Didn't show the time in the explorer because of this.
- When doing wildcard completion, a directory "a/" sorted after "a-b". Now
- recognize path separators when sorting files.
- Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they were
- created as different buffers, although it's the same file. Expand to a full
- file name also when an absolute name contains "..".
- "g&" didn't repeat the last substitute properly.
- When 'clipboard' was set to "unnamed", a "Y" command would not write to "0.
- Now make a copy of register 0 to the clipboard register.
- When the search pattern matches in many ways, it could not always be
- interrupted with a CTRL-C. And CTRL-C would have to be hit once for every
- line when 'hlsearch' is on.
- When 'incsearch' is on and interrupting the search for a match, don't abandon
- the command line.
- When turning a directory name into a full path, e.g., with fnamemodify(),
- sometimes a slash was added. Make this consistent: Don't add a slash.
- When a file name contains a "!", using it in a shell command will cause
- trouble: ":!cat %". Escape the "!" to avoid that. Escape it another time
- when 'shell' contains "sh".
- Completing a file name that has a tail that starts with a "~" didn't work:
- ":e view/~<Tab>".
- Using a ":command" argument that contains < and > but not for a special
- argument was not skipped properly.
- The DOS install program: On Win2000 the check for a vim.exe or gvim.exe in
- $PATH didn't work, it always found it in the current directory.
- Rename the vim.exe in the current dir to avoid this. (Walter Briscoe)
- In the MS-DOS/Windows install program, use %VIM% instead of an absolute path,
- so that moving Vim requires only one change in the batch file.
- Mac: mch_FullName() changed the "fname" argument and didn't always initialize
- the buffer.
- MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute file
- name.
- "echo expand("%:p:h")" with an empty file name removed one directory name on
- MS-DOS. For Unix, when the file name is a directory, the directory name was
- removed. Now make it consistent: "%:p" adds a path separator for all systems,
- but no path separator is added in other situations.
- Unix: When checking for a CTRL-C (could happen any time) and there is an X
- event (e.g., clipboard updated) and there is typeahead, Vim would hang until a
- character was typed.
- MS-DOS, MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends in a colon,
- had the slash removed.
- ":he \^=" gave an error for using \_. ":he ^=" didn't find tag :set^=. Even
- "he :set^=" didn't find it.
- A tags file name "D:/tags" was used as file "tags" in "D:". That doesn't work
- when the current path for D: isn't the root of the drive.
- Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary.
- When using a dtterm or various other color terminals, and the Normal group has
- been set to use a different background color, the background wouldn't always
- be displayed with that color. Added check for "ut" termcap entry: If it's
- missing, clearing the screen won't give us the current background color. Need
- to draw each character instead. Vim now also works when the "cl" (clear
- screen) termcap entry is missing.
- When repeating a "/" search command with a line offset, the "n" did use the
- offset but didn't make the motion linewise. Made "d/pat/+2" and "dn" do the
- same.
- Win32: Trying to use ":tearoff" for a menu that doesn't exist caused a crash.
- OpenPTY() didn't work on Sequent. Add a configure check for getpseudotty().
- C-indenting: Indented a line starting with ")" with the matching "(", but not
- a line starting with "x)" looks strange. Also compute the indent for aligning
- with items inside the () and use the lowest indent.
- MS-DOS and Windows: ":n *.vim" also matched files ending in "~".
- Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they are
- equal.
- Macintosh: (Dany St-Amant)
- - In Vi-compatible mode didn't read files with CR line separators.
- - Fixed a bug in the handling of Activate/Deactivate Event
- - Fixed a bug in gui_mch_dialog (using wrong pointer)
- Multibyte GDK XIM: While composing a multibyte-word, if user presses a
- mouse button, then the word is removed. It should remain and composing end.
- (Sung-Hyun Nam)
- MS-DOS, MS-Windows and OS/2: When reading from stdin, automatic CR-LF
- conversion by the C library got in the way of detecting a "dos" 'fileformat'.
- When 'smartcase' is set, patterns with "\S" would also make 'ignorecase'
- reset.
- When clicking the mouse in a column larger than 222, it moved to the first
- column. Can't encode a larger number in a character. Now limit the number to
- 222, don't jump back to the first column.
- GUI: In some versions CSI would cause trouble, either when typed directly or
- when part of a multibyte sequence.
- When using multibyte characters in a ":normal" command, a trailing byte that
- is CSI or K_SPECIAL caused problems.
- Wildmenu didn't handle multibyte characters.
- ":sleep 10" could not be interrupted on Windows, while "gs" could. Made them
- both work the same.
- Unix: When waiting for a character is interrupted by an X-windows event (e.g.,
- to obtain the contents of the selection), the wait time would not be honored.
- A message could be overwritten quickly. Now compute the remaining waiting
- time.
- Windows: Completing "\\share\c$\S" inserted a backslash before the $ and then
- the name is invalid. Don't insert the backslash.
- When doing an auto-write before ":make", IObuff was overwritten and the wrong
- text displayed later.
- On the Mac the directories "c:/tmp" and "c:/temp" were used in the defaults
- for 'backupdir' and 'directory', they don't exist.
- The check for a new file not to be on an MS-DOS filesystem created the file
- temporarily, which can be slow. Don't do this if there is another check for
- the swap file being on an MS-DOS filesystem.
- Don't give the "Changing a readonly file" warning when reading from stdin.
- When using the "Save As" menu entry and not entering a file name, would get an
- error message for the trailing ":edit #". Now only do that when the
- alternate file name was changed.
- When Vim owns the X11 selection and is being suspended, an application that
- tries to use the selection hangs. When Vim continues it could no longer
- obtain the selection. Now give up the selection when suspending.
- option.h and globals.h were included in some files, while they were already
- included in vim.h. Moved the definition of EXTERN to vim.h to avoid doing it
- twice.
- When repeating an operator that used a search pattern and the search pattern
- contained characters that have a special meaning on the cmdline (e.g., CTRL-U)
- it didn't work.
- Fixed various problems with using K_SPECIAL (0x80) and CSI (0x9b) as a byte in
- a (multibyte) character. For example, the "r" command could not be repeated.
- The DOS/Windows install program didn't always work from a directory with a
- long filename, because $VIM and the executable name would not have the same
- path.
- Multi-byte:
- - Using an any-but character range [^x] in a regexp didn't work for UTF-8.
- (Muraoka Taro)
- - When backspacing over inserted characters in Replace mode multibyte
- characters were not handled correctly. (Muraoka Taro)
- - Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
- Taro)
- - Word completion in Insert mode didn't work with multibyte characters.
- (Muraoka Taro)
- - Athena/Motif GUI: when 'linespace' is non-zero the cursor would be drawn too
- wide (number of bytes instead of cell width).
- - When changing 'encoding' to "euc-jp" and inserting a character Vim would
- crash.
- - For euc-jp characters positioning the cursor would sometimes be wrong.
- Also, with two characters with 0x8e leading byte only the first one would be
- displayed.
- - When using DYNAMIC_ICONV on Win32 conversion might fail because of using the
- wrong error number. (Muraoka Taro)
- - Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
- the right character.
- - When using Visual block selection and only the left half of a double-wide
- character is selected, the highlighting continued to the end of the line.
- - Visual-block delete didn't work properly when deleting the right half of a
- double-wide character.
- - Overstrike mode for the cmdline replaced only the first byte of a multibyte
- character.
- - The cursor in Replace mode (also in the cmdline) was too small on a
- double-wide character.
- - When a multibyte character contained a 0x80 byte, it didn't work (was using
- a CSI byte instead). (Muraoka Taro)
- - Wordwise selection with the mouse didn't work.
- - Yanking a modeless selection of multibyte characters didn't work.
- - When 'selection' is "exclusive", selecting a word that ends in a multibyte
- character used wrong highlighting for the following character.
- Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
- Win32 GUI: When "vimrun.exe" is used to execute an external command, don't
- give a message box with the return value, it was already printed by vimrun.
- Also avoid printing the return value of the shell when ":silent!" is used.
- Win32: selecting a lot of text and using the "find/replace" dialog caused a
- crash.
- X11 GUI: When typing a character with the 8th bit set and the Meta/Alt
- modifier, the modifier was removed without changing the character.
- Truncating a message to make it fit on the command line, using "..." for the
- middle, didn't always compute the space correctly.
- Could not imap <C-@>. Now it works like <Nul>.
- VMS:
- - Fixed a few things for VAXC. os_vms_fix.com had some strange CTRL-M
- characters. (Zoltan Arpadffy and John W. Hamill)
- - Added VMS-specific defaults for the 'isfname' and 'isprint' options.
- (Zoltan Arpadffy)
- - Removed os_vms_osdef.h, it's no longer used.
- The gzip plugin used a ":normal" command, this doesn't work when dropping a
- compressed file on Vim.
- In very rare situations a binary search for a tag would fail, because an
- uninitialized value happens to be half the size of the tag file. (Narendran)
- When using BufEnter and BufLeave autocommands to enable/disable a menu, it
- wasn't updated right away.
- When doing a replace with the "c"onfirm flag, the cursor was positioned after
- the ruler, instead of after the question. With a long replacement string the
- screen could scroll up and cause a "more" prompt. Now the message is
- truncated to make it fit.
- Motif: The autoconf check for the Xp library didn't work.
- When 'verbose' is set to list lines of a sourced file, defining a function
- would reset the counter used for the "more" prompt.
- In the Win32 find/replace dialog, a '/' character caused problems. Escape it
- with a backslash.
- Starting a shell with ":sh" was different from starting a shell for CTRL-Z
- when suspending doesn't work. They now work the same way.
- Jumping to a file mark while in a changed buffer gave a "mark not set" error.
- ":execute histget("cmd")" causes an endless loop and crashed Vim. Now catch
- all commands that cause too much recursiveness.
- Removed "Failed to open input method" error message, too many people got this
- when they didn't want to use a XIM.
- GUI: When compiled without the +windows feature, the scrollbar would start
- below line one.
- Removed the trick with redefining character class functions from regexp.c.
- Win32 GUI: Find dialog gives focus back to main window, when typing a
- character mouse pointer is blanked, it didn't reappear when moving it in the
- dialog window. (Vince Negri)
- When recording and typing a CTRL-C, no character was recorded. When in Insert
- mode or cancelling half a command, playing back the recorded sequence wouldn't
- work. Now record the CTRL-C.
- When the GUI was started, mouse codes for DEC and netterm were still checked
- for.
- GUI: When scrolling and 'writedelay' is non-zero, the character under the
- cursor was displayed in the wrong position (one line above/below with
- CTRL-E/CTRL-Y).
- A ":normal" command would reset the 'scrollbind' info. Causes problems when
- using a ":normal" command in an autocommand for opening a file.
- Windows GUI: a point size with a dot, like "7.5", wasn't recognized. (Muraoka
- Taro)
- When 'scrollbind' wasn't set would still remember the current position,
- wasting time.
- GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of
- exit() when the child couldn't execute the shell.
- Multi-byte:
- - GUI with double-byte encoding: a mouse click in left half of double-wide
- character put the cursor in previous char.
- - Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
- included the character after the word.
- - When using a double-byte encoding and there is a lead byte at the end of the
- line, the preceding line would be displayed. "ga" also showed wrong info.
- - "gf" didn't include multibyte characters before the cursor properly.
- (Muraoka Taro)
- GUI: The cursor was sometimes not removed when scrolling. Changed the policy
- from redrawing the cursor after each call to gui_write() to only update it at
- the end of update_screen() or when setting the cursor position. Also only
- update the scrollbars at the end of update_screen(), that's the only place
- where the window text may have been scrolled.
- Formatting "/*<Tab>long text", produced "* <Tab>" in the next line. Now
- remove the space before the Tab.
- Formatting "/*<Tab> long text", produced "* <Tab> long text" in the next
- line. Now keep the space after the Tab.
- In some places non-ASCII alphabetical characters were accepted, which could
- cause problems. For example, ":X" (X being such a character).
- When a pattern matches the end of the line, the last character in the line was
- highlighted for 'hlsearch'. That looks wrong for "/\%3c". Now highlight the
- character just after the line.
- Motif: If a dialog was closed by clicking on the "X" of the window frame Vim
- would no longer respond.
- When using CTRL-X or CTRL-A on a number with many leading zeros, Vim would
- crash. (Matsumoto)
- When 'insertmode' is set, the mapping in mswin.vim for CTRL-V didn't work in
- Select mode. Insert mode wasn't restarted after overwriting the text.
- Now allow nesting Insert mode with insert and change commands. CTRL-O
- cwfoo<Esc> now also works.
- Clicking with the right mouse button in another window started Visual mode,
- but used the start position of the current window. Caused ml_get errors when
- the line number was invalid. Now stay in the same window.
- When 'selection' is "exclusive", "gv" sometimes selected one character fewer.
- When 'comments' contains more than one start/middle/end triplet, the optional
- flags could be mixed up. Also didn't align the end with the middle part.
- Double-right-click in Visual mode didn't update the shown mode.
- When the Normal group has a font name, it was never used when starting up.
- Now use it when 'guifont' and 'guifontset' are empty.
- Setting a font name to a highlight group before the GUI was started didn't
- work.
- "make test" didn't use the name of the generated Vim executable.
- 'cindent' problems:
- - Aligned with an "else" inside a do-while loop for a line below that loop.
- (Meikel Brandmeyer)
- - A line before a function would be indented even when terminated with a
- semicolon. (Meikel Brandmeyer)
- - 'cindent' gave too much indent to a line after a "};" that ends an array
- init.
- - Support declaration lines ending in "," and "\". (Meikel Brandmeyer)
- - A case statement inside a do-while loop was used for indenting a line after
- the do-while loop. (Meikel Brandmeyer)
- - When skipping a string in a line with one double quote it could continue in
- the previous line. (Meikel Brandmeyer)
- When 'list' is set, 'hlsearch' didn't highlight a match at the end of the
- line. Now highlight the '$'.
- The Paste menu item in the menu bar, the popup menu and the toolbar were all
- different. Now made them all equal to how it was done in mswin.vim.
- st_dev can be smaller than "unsigned". The compiler may give an overflow
- warning. Added a configure check for dev_t.
- Athena: closing a confirm() dialog killed Vim.
- Various typos in the documentation. (Matt Dunford)
- Python interface: The definition of _DEBUG could cause trouble, undefine it.
- The error message for not being able to load the shared library wasn't
- translated. (Muraoka Taro)
- Mac: (Dany St-Amant and Axel Kielhorn)
- - Several fixes.
- - Vim was eating 80% of the CPU time.
- - The project os_mac.pbxproj didn't work, Moved it to a subdirectory.
- - Made the menu priority work for the menubar.
- - Fixed a problem with dragging the scrollbar.
- - Cleaned up the various #ifdefs.
- Unix: When catching a deadly signal and we keep getting one use _exit() to
- exit in a quick and dirty way.
- Athena menu ordering didn't work correctly. (David Harrison)
- A ":make" or ":grep" command with a long argument could cause a crash.
- Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new
- window.
- GTK: When starting the GUI and there is an error in the .vimrc file, don't
- present the wait-return prompt, since the message was given in the terminal.
- When there was an error in a .vimrc file the terminal where gvim was started
- could be cleared. Set msg_row in main.c before writing any messages.
- GTK and X11 GUI: When trying to read characters from the user (e.g. with
- input()) before the Vim window was opened caused Vim to hang when it was
- started from the desktop.
- OS/390 uses 31 bit pointers. That broke some computations with MAX_COL.
- Reduce MAX_COL by one bit for OS/390. (Ralf Schandl)
- When defining a function and it already exists, Vim didn't say it existed
- until after typing it. Now do this right away when typing it.
- The message remembered for displaying later (keep_msg) was sometimes pointing
- into a generic buffer, which might be changed by the time the message is
- displayed. Now make a copy of the message.
- When using multibyte characters in a menu and a trailing byte is a backslash,
- the menu would not be created correctly. (Muraoka Taro)
- Using a multibyte character in the substitute string where a trail byte is a
- backslash didn't work. (Muraoka Taro)
- When setting "t_Co" in a vimrc file, then setting it automatically from an
- xterm termresponse and then setting it again manually caused a crash.
- When getting the value of a string option that is not supported, the number
- zero was returned. This breaks a check like "&enc == "asdf". Now an empty
- string is returned for string options.
- Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting
- 'title' in the gvimrc and starting the GUI with ":gui". Closed the connection
- to the X server accidentally.
- Had to hit return after selecting an entry for ":ts".
- The message from ":cn" message was sometimes cleared. Now display it after
- redrawing if it doesn't cause a scroll (truncated when necessary).
- hangulin.c didn't compile when the GUI was disabled. Disable it when it won't
- work.
- When setting a termcap option like "t_CO", the value could be displayed as
- being for a normal key with a modifier, like "<M-=>".
- When expanding the argument list, entries which are a directory name did not
- get included. This stopped "vim c:/" from opening the file explorer.
- ":syn match sd "^" nextgroup=asdf" skipped the first column and matched the
- nextgroup in the second column.
- GUI: When 'lazyredraw' is set, 'showmatch' didn't work. Required flushing
- the output.
- Don't define the <NetMouse> termcode in an xterm, reduces the problem when
- someone types <Esc> } in Insert mode.
- Made slash_adjust() work correctly for multibyte characters. (Yasuhiro
- Matsumoto)
- Using a filename in Big5 encoding for autocommands didn't work (backslash in
- trailbyte). (Yasuhiro Matsumoto)
- DOS and Windows: Expanding *.vim also matched file.vimfoo. Expand path like
- Unix to avoid problems with Windows dir functions. Merged the DOS and Win32
- functions.
- Win32: GvimExt could not edit more than a few files at once, the length of the
- argument was fixed.
- "ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to
- raw mode when needed. Use dup() to copy the stderr file descriptor to stdin
- to make shell commands work. No longer requires an external program to do
- this.
- When using ":filetype off", ftplugin and indent usage would be switched off at
- the same time. Don't do this, setting 'filetype' manually can still use them.
- GUI: When writing a double-byte character, it could be split up in two calls
- to gui_write(), which doesn't work. Now flush before the output buffer
- becomes full.
- When 'laststatus' is set and 'cmdheight' is two or bigger, the intro message
- would be written over the status line.
- The ":intro" command didn't work when there wasn't enough room.
- Configuring for Ruby failed with a recent version of Ruby. (Akinori Musha)
- Athena: When deleting the directory in which Vim was started, using the file
- browser made Vim exit. Removed the use of XtAppError().
- When using autoconf 2.50, UNIX was not defined. Moved the comment for "#undef
- UNIX" to a separate line.
- Win32: Disabled _OnWindowPosChanging() to make maximize work better.
- Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe)
- Athena:
- - Finally fixed the problems with deleting a menu. (David Harrison)
- - Athena: When closing the confirm() dialog, worked like OK was pressed,
- instead of Cancel.
- The file explorer didn't work in compatible mode, because of line
- continuation.
- Didn't give an error message for ":digraph a".
- When using Ex mode in the GUI and typing a special key, <BS> didn't delete it
- correctly. Now display '?' for a special key.
- When an operator is pending, clicking in another window made it apply to that
- window, even though the line numbers could be beyond the end of the buffer.
- When a function call doesn't have a terminating ")" Vim could crash.
- Perl interface: could crash on exit with perl 5.6.1. (Anduin Withers)
- Using %P in 'errorformat' wasn't handled correctly. (Tomas Zellerin)
- Using a syntax cluster that includes itself made Vim crash.
- GUI: With 'ls' set to 2, dragging the status line all the way up, then making
- the Vim window smaller: Could not the drag status line anymore.
- "vim -c startinsert! file" placed cursor on last char of a line, instead of
- after it. A ":set" command in the buffer menu set w_set_curswant. Now don't
- do this when w_curswant is MAXCOL.
- Win32: When the gvim window was maximized and selecting another font, the
- window would no longer fill the screen.
- The line with 'pastetoggle' in ":options" didn't show the right value when it
- is a special key. Hitting <CR> didn't work either.
- Formatting text, resulting in a % landing in the first line, repeated the % in
- the following lines, like it's the start of a comment.
- GTK: When adding a toolbar item while gvim is already running, it wasn't
- possible to use the tooltip. Now it works by adding the tooltip first.
- The output of "g CTRL-G" mentioned "Char" but it's actually bytes.
- Searching for the end of a oneline region didn't work correctly when there is
- an offset for the highlighting.
- Syntax highlighting: When synchronizing on C-comments, //*/ was seen as the
- start of a comment.
- Win32: Without scrollbars present, the MS mouse scroll wheel didn't work.
- Also handle the scrollbars when they are not visible.
- Motif: When there is no right scrollbar, the bottom scrollbar would still
- leave room for it. (Marcin Dalecki)
- When changing 'guicursor' and the value is invalid, some of the effects would
- still take place. Now first check for errors and only make the new value
- effective when it's OK.
- Using "A" In Visual block mode, appending to lines that don't extend into the
- block, padding was wrong.
- When pasting a block of text, a character that occupies more than one screen
- column could be deleted and spaces inserted instead. Now only do that with a
- tab.
- Fixed conversion of documentation to HTML using Perl. (Dan Sharp)
- Give an error message when a menu name starts with a dot.
- Avoid a hang when executing a shell from the GUI on HP-UX by pushing "ptem"
- even when sys/ptem.h isn't present.
- When creating the temp directory, make sure umask is 077, otherwise the
- directory is not accessible when it was set to 0177.
- Unix: When resizing the window and a redraw is a bit slow, could get a window
- resize event while redrawing, resulting in a messed up window. Any input
- (e.g., a mouse click) would redraw.
- The "%B" item in the status line became zero in Insert mode (that's normal)
- for another than the current window.
- The menu entries to convert to xxd and back didn't work in Insert mode.
- When ":vglobal" didn't find a line where the pattern doesn't match, the error
- message would be the wrong way around.
- When ignoring a multi-line error message with "%-A", the continuation lines
- would be used anyway. (Servatius Brandt)
- "grx" on a double-wide character inserted "x", instead of replacing the
- character with "x ". "gR" on <xx> ('display' set the "uhex") didn't replace
- at all. When doing "gRxx" on a control character the first "x" would be
- inserted, breaking the alignment.
- Added "0)" to 'cinkeys', so that when typing a ) it is put in the same place
- as where "==" would put it.
- Win32: When maximized, adding/removing toolbar didn't resize the text area.
- When using <C-RightMouse> a count was discarded.
- When typing CTRL-V and <RightMouse> in the command line, would insert
- <LeftMouse>.
- Using "vis" or "vas" when 'selection' is exclusive didn't include the last
- character.
- When adding to an option like 'grepprg', leading space would be lost. Don't
- expand environment variables when there is no comma separating the items.
- GUI: When using a bold-italic font, would still use the bold trick and
- underlining.
- Motif: The default button didn't work in dialogs, the first one was always
- used. Had to give input focus to the default button.
- When using CTRL-T to jump within the same file, the '' mark wasn't set.
- Undo wasn't Vi compatible when using the 'c' flag for ":s". Now it undoes the
- whole ":s" command instead of each confirmed replacement.
- The Buffers menu, when torn-off, disappeared when being refreshed. Add a
- dummy item to avoid this.
- Removed calling msg_start() in main(), it should not be needed.
- vim_strpbrk() did not support multibyte characters. (Muraoka Taro)
- The Amiga version didn't compile, the code was too big for relative jumps.
- Moved a few files from ex_docmd.c to ex_cmds2.c
- When evaluating the "= register resulted in the "= register being changed, Vim
- would crash.
- When doing ":view file" and it fails, the current buffer was made read-only.
- Motif: For some people the separators in the toolbar disappeared when resizing
- the Vim window. (Marcin Dalecki)
- Win32 GUI: when setting 'lines' to a huge number, would not compute the
- available space correctly. Was counting the menu height twice.
- Conversion of the docs to HTML didn't handle the line with the +quickfix tag
- correctly. (Antonio Colombo)
- Win32: fname_case() didn't handle multibyte characters correctly. (Yasuhiro
- Matsumoto)
- The Cygwin version had trouble with fchdir(). Don't use that function for
- Cygwin.
- The generic check in scripts.vim for "conf" syntax was done before some checks
- in filetype.vim, resulting in "conf" syntax too often.
- Dos32: Typing lagged behind. Would wait for one biostick when checking if a
- character is available.
- GTK: When setting 'columns' while starting up "gvim", would set the width of
- the terminal it was started in.
- When using ESC in Insert mode, an autoindent that wraps to the next line
- caused the cursor to move to the end of the line temporarily. When the
- character before the cursor was a double-wide multibyte character the cursor
- would be on the right half, which causes problems with some terminals.
- Didn't handle multibyte characters correctly when expanding a file name.
- (Yasuhiro Matsumoto)
- Win32 GUI: Errors generated before the GUI is decided to start were not
- reported.
- globpath() didn't reserve enough room for concatenated results. (Anduin
- Withers)
- When expanding an option that is very long already, don't do the expansion, it
- would be truncated to MAXPATHL. (Anduin Withers)
- When 'selection' is "exclusive", using "Fx" in Visual mode only moved until
- just after the character.
- When using IME on the console to enter a file name, the screen may scroll up.
- Redraw the screen then. (Yasuhiro Matsumoto)
- Motif: In the find/replace dialog the "Replace" button didn't work first time,
- second time it replaced all matches. Removed the use of ":s///c".
- GTK: Similar problems with the find/replace dialog, moved the code to a common
- function.
- X11: Use shared GC's for text. (Marcin Dalecki)
- "]i" found the match under the cursor, instead of the first one below it.
- Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D".
- Win16: When maximized and the font is changed, don't change the window size.
- (Vince Negri)
- When 'lbr' is set, deleting a block of text could leave the cursor in the
- wrong position.
- Win32: When opening a file with the "Edit with Vim" popup menu entry,
- wildcards would cause trouble. Added the "--literal" argument to avoid
- expanding file names.
- When using "gv", it didn't restore that "$" was used in Visual block mode.
- Win32 GUI: While waiting for a shell command to finish, the window wasn't
- redrawn at all. (Yasuhiro Matsumoto)
- Syntax highlighting: A match that continues on a next line because of a
- contained region didn't end when that region ended.
- The ":s" command didn't allow flags like 'e' and 'i' right after it.
- When using ":s" to split a line, marks were moved to the next line. Vi keeps
- them in the first line.
- When using ":n" ":rew", the previous context mark was at the top of the file,
- while Vi puts it in the same place as the cursor. Made it Vi compatible.
- Fixed Vi incompatibility: Text was not put in register 1 when using "c" and
- "d" with a motion character, when deleting within one line with one of the
- commands: % ( ) `<character> / ? N n { }
- Win32 GUI: The tooltip for tear-off items remained when the tear-off item was
- no longer selected.
- GUI: When typing ":" at the more prompt, would return to Normal mode and not
- redraw the screen.
- When starting Vim with an argument "-c g/at/p" the printed lines would
- overwrite each other.
- BeOS: Didn't compile. Configure didn't add the os_beos files, the QNX check
- removed them. Various changes to os_beos.cc. (Joshua Haberman)
- Removed the check for the hardware platform, the BeBox has not been produced
- for a long time now.
- Win32 GUI: don't use a message box when the shell returns an error code,
- display the message in the Vim window.
- Make_mvc.mak always included "/debug" for linking. "GUI=no" argument didn't
- work. Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp)
- When a line in the tags file ended in ;" (no TAB following) the command would
- not be recognized as a search command.
- X11: The inputMethod resource never worked. Don't use the "none" input method
- for SGI, it apparently makes the first character in Input method dropped.
- Fixed incorrect tests in os_mac.h. (Axel Kielhorn)
- Win32 console: When the console where Vim runs in is closed, Vim could hang in
- trying to restore the window icon. (Yasuhiro Matsumoto)
- When using ":3call func()" or ":3,3call func() the line number was ignored.
- When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes
- continued until the end of the line.
- GTK GUI: Tearoff items were added even when 'guioptions' didn't contain 't'
- when starting up.
- MS-Windows: When the current directory includes a "~", searching files with
- "gf" or ":find" didn't work. A "$" in the directory had the same problem.
- Added mch_has_exp_wildcard() functions.
- When reducing the Vim window height while starting up, would get an
- out-of-memory error message.
- When editing a very long search pattern, 'incsearch' caused the redraw of the
- command line to fail.
- Motif GUI: On some systems the "Help" menu would not be on the far right, as
- it should be. On some other systems (esp. IRIX) the command line would not
- completely show. Solution is to only resize the menubar for Lesstif.
- Using "%" in a line that contains "\\" twice didn't take care of the quotes
- properly. Now make a difference between \" and \\".
- For non-Unix systems a dummy file is created when finding a swap name to
- detect a 8.3 filesystem. When there is an existing swap file, would get a
- warning for the file being created outside of Vim. Also, when closing the Vim
- window the file would remain.
- Motif: The menu height was always computed, using a "-menuheight" argument
- was setting the room for the command line. Now make clear the argument is not
- supported.
- For some (EBCDIC) systems, POUND was equal to '#'. Added an #if for that to
- avoid a duplicate case in a switch.
- The GUI may have problems when forking. Always call _exit() instead of exit()
- in the parent, the child will call exit().
- Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus.
- Now use CP_ACP instead of CP_OEMCP. (Vince Negri)
- When displaying text with syntax highlighting causes an error (e.g., running
- out of stack) the syntax highlighting is disabled to avoid further messages.
- When a command in a .vimrc or .gvimrc causes an ATTENTION prompt, and Vim was
- started from the desktop (no place to display messages) it would hang. Now
- open the GUI window early to be able to display the messages and pop up the
- dialog.
- "r<CR>" on a multibyte character deleted only the first byte of the
- character. "3r<CR>" deleted three bytes instead of three characters.
- When interrupting reading a file, Vi considers the buffer modified. Added the
- 'i' flag in 'cpoptions' flag for this (we don't want it modified to be able to
- do ":q").
- When using an item in 'guicursor' that starts with a colon, Vim would get
- stuck or crash.
- When putting a file mark in a help file and later jumping back to it, the
- options would not be set. Extended the modeline in all help files to make
- this work better.
- When a modeline contained "::" the local option values would be printed. Now
- ignore it.
- Some help files did not use a 8.3 names, which causes problems when using
- MS-DOS unzip. Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to
- "rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to
- "os_risc.txt".
- When Visual mode is blockwise, using "iw" or "aw" made it characterwise. That
- doesn't seem right, only do this when in linewise mode. But then do it
- always, not only when start and end of Visual mode are equal.
- When using "viw" on a single-letter word and 'selection' is exclusive, would
- not include the word.
- When formatting text from Insert mode, using CTRL-O, could mess up undo
- information.
- While writing a file (also for the backup file) there was no check for an
- interrupt (hitting CTRL-C). Vim could hang when writing a large file over a
- slow network, and moving the mouse didn't make it appear (when 'mousehide' is
- set) and the screen wasn't updated in the GUI. Also allow interrupting when
- syncing the swap file, it can take a long time.
- When using ":mksession" while there is help window, it would later be restored
- to the right file but not marked as a help buffer. ":help" would then open
- another window. Now use the value "help" for 'buftype' to mark a help buffer.
- The session file contained absolute path names in option values, that doesn't
- work when the home directory depends on the situation. Replace the home
- directory with ~/ when possible.
- When using 'showbreak' a TAB just after the shown break would not be counted
- correctly, the cursor would be positioned wrong.
- With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting
- tabs did not work right. Could cause a crash. Backspacing was also wrong,
- could get stuck at a line break.
- Win32: crashed when tearing off a menu with over 300 items.
- GUI: A menu or toolbar item would appear when only a tooltip was defined for
- it.
- When 'scrolloff' is non-zero and "$" is in 'cpoptions', using "s" while the
- last line of the file is the first line on screen, the text wasn't displayed.
- When running "autoconf", delete the configure cache to force starting cleanly
- when configure is run again.
- When changing the Normal colors for cterm, the value of 'background' was
- changed even when the GUI was used.
- The warning for a missing vimrun.exe was always given on startup, but some
- people just editing a file don't need to be bothered by it. Only show it when
- vimrun would be used.
- When using "%" in a multibyte text it could get confused by trailbytes that
- match. (Muraoka Taro)
- Termcap entry for RiscOS was wrong, using 7 and 8 in octal codes.
- Athena: The title of a dialog window and the file selector window were not
- set. (David Harrison)
- The "htmlLink" highlight group specified colors, which gives problems when
- using a color scheme. Added the "Underlined" highlight group for this.
- After using ":insert" or ":change" the '[ mark would be one line too low.
- When looking for the file name after a match with 'include' one character was
- skipped. Same for 'define'.
- Win32 and DJGPP: When editing a file with a short name in a directory, and
- editing the same file but using the long name, would end up with two buffers
- on the same file.
- "gf" on a filename that starts with "../" only worked when the file being
- edited is in the current directory. An include file search didn't work
- properly for files starting with "../" or ".". Now search both relative to
- the file and to the current directory.
- When 'printheader', 'titlestring', 'iconstring', 'rulerformat' or 'statusline'
- contained "%{" but no following "}" memory was corrupted and a crash could
- happen.
- ":0append" and then inserting two lines did not redraw the blank lines that
- were scrolled back down.
- When using insert mode completion in a narrow window, the message caused a
- scroll up. Now shorten the message if it doesn't fit and avoid writing the
- ruler over the message.
- XIM still didn't work correctly on some systems, especially SGI/IRIX. Added
- the 'imdisable' option, which is set by default for that system.
- Patch 6.0aw.008
- Problem: When the first character of a file name is over 127, the Buffers
- menu entry would get a negative priority and cause problems.
- Solution: Reduce the multiplier for the first character when computing
- the hash value for a Buffers menu entry.
- Files: runtime/menu.vim
- Patch 6.0aw.010
- Problem: Win32: ":browse edit dir/dir" didn't work. (Vikas)
- Solution: Change slashes to backslashes in the directory passed to the file
- browser.
- Files: src/gui_w48.c
- Athena file browser: On some systems wcstombs() can't be used to get the
- length of a multibyte string. Use the maximum length then. (Yasuhiro
- Matsumoto)
- Patch 6.0ax.001
- Problem: When 'patchmode' is set, appending to a file gives an empty
- original file. (Ed Ralston)
- Solution: Also make a backup copy when appending and 'patchmode' is set.
- Files: src/fileio.c
- Patch 6.0ax.002
- Problem: When 'patchmode' is set, appending to a compressed file gives an
- uncompressed original file. (Ed Ralston)
- Solution: Create the original file before decompressing.
- Files: runtime/plugin/gzip.vim
- Patch 6.0ax.005
- Problem: Athena file selector keeps the title of the first invocation.
- Solution: Set the title each time the file selector is opened. (David
- Harrison)
- Files: src/gui_at_fs.c
- Patch 6.0ax.007
- Problem: When using GPM (mouse driver in a Linux console) a double click is
- interpreted as a scroll wheel click.
- Solution: Check if GPM is being used when deciding if a mouse event is for
- the scroll wheel.
- Files: src/term.c
- Patch 6.0ax.010
- Problem: The Edit.Save menu and the Save toolbar button didn't work when
- the buffer has no file name.
- Solution: Use a file browser to ask for a file name. Also fix the toolbar
- Find item in Visual mode.
- Files: runtime/menu.vim
- Patch 6.0ax.012
- Problem: When 'cpoptions' contains "$", breaking a line for 'textwidth'
- doesn't redraw properly. (Stefan Schulze)
- Solution: Remove the dollar before breaking the line.
- Files: src/edit.c
- Patch 6.0ax.014
- Problem: Win32: On Windows 98 ":make -f file" doesn't work when 'shell' is
- "command.com" and 'makeprg' is "nmake". The environment isn't
- passed on to "nmake".
- Solution: Also use vimrun.exe when redirecting the output of a command.
- Files: src/os_win32.c
- Patch 6.0ax.016
- Problem: The version number was reported wrong in the intro screen.
- Solution: Check for a version number with two additional letters.
- Files: src/version.c
- Patch 6.0ax.019
- Problem: When scrolling a window with folds upwards, switching to another
- vertically split window and back may not update the scrollbar.
- Solution: Limit w_botline to the number of lines in the buffer plus one.
- Files: src/move.c
- ==============================================================================
- VERSION 6.1 *version-6.1*
- This section is about improvements made between version 6.0 and 6.1.
- This is a bug-fix release, there are not really any new features.
- Changed *changed-6.1*
- -------
- 'iminsert' and 'imsearch' are no longer set as a side effect of defining a
- language-mapping using ":lmap".
- Added *added-6.1*
- -----
- Syntax files:
- ampl AMPL (David Krief)
- ant Ant (Johannes Zellner)
- baan Baan (Her van de Vliert)
- cs C# (Johannes Zellner)
- lifelines Lifelines (Patrick Texier)
- lscript LotusScript (Taryn East)
- moo MOO (Timo Frenay)
- nsis NSIS (Alex Jakushev)
- ppd Postscript Printer Description (Bjoern Jacke)
- rpl RPL/2 (Joel Bertrand)
- scilab Scilab (Benoit Hamelin)
- splint Splint (Ralf Wildenhues)
- sqlj SQLJ (Andreas Fischbach)
- wvdial WvDial (Prahlad Vaidyanathan)
- xf86conf XFree86 config (Nikolai Weibull)
- xmodmap Xmodmap (Nikolai Weibull)
- xslt Xslt (Johannes Zellner)
- monk Monk (Mike Litherland)
- xsd Xsd (Johannes Zellner)
- cdl CDL (Raul Segura Acevedo)
- sendpr Send-pr (Hendrik Scholz)
- Added indent file for Scheme. (Dorai Sitaram)
- Added indent file for Prolog. (Kontra Gergely)
- Added indent file for Povray (David Necas)
- Added indent file for IDL (Aleksandar Jelenak)
- Added C# indent and ftplugin scripts.
- Added Ukrainian menu translations. (Bohdan Vlasyuk)
- Added ASCII version of the Czech menus. (Jiri Brezina)
- Added Simplified Chinese translation of the tutor. (Mendel L Chan)
- Added Russian keymap for yawerty keyboard.
- Added an explanation of using the vimrc file in the tutor.
- Changed tutor.vim to get the right encoding for the Taiwanese tutor.
- Added Russian tutor. (Andrey Kiselev)
- Added Polish tutor. (Mikolaj Machowski)
- Added darkblue color scheme. (Bohdan Vlasyuk)
- When packing the dos language archive automatically generate the .mo files
- that are required.
- Improved NSIS script to support NSIS 180. Added icons for the
- enabled/disabled status. (Mirek Pruchnik)
- cp1250 version of the Slovak message translations.
- Compiler plugins for IRIX compilers. (David Harrison)
- Fixed *fixed-6.1*
- -----
- The license text was updated to make the meaning clearer and make it
- compatible with the GNU GPL. Otherwise distributors have a problem when
- linking Vim with a GPL'ed library.
- When installing the "less.sh" script it was not made executable. (Chuck Berg)
- Win32: The "9" key on the numpad wasn't working. (Julian Kinraid)
- The NSIS install script didn't work with NSIS 1.80 or later. Also add
- Vim-specific icons. (Pruchnik)
- The script for conversion to HTML contained an "if" in the wrong place.
- (Michael Geddes)
- Allow using ":ascii" in the sandbox, it's harmless.
- Removed creat() from osdef2.h.in, it wasn't used and may cause a problem when
- it's redefined to creat64().
- The text files in the VisVim directory were in "dos" format. This caused
- problems when applying a patch. Now keep them in "unix" format and convert
- them to "dos" format only for the PC archives.
- Add ruby files to the dos source archive, they can be used by Make_mvc.mak.
- (Mirek Pruchnik)
- "cp -f" doesn't work on all systems. Change "cp -f" in the Makefile to "rm
- -f" and "cp".
- Didn't compile on a Compaq Tandem Himalaya OSS. (Michael A. Benzinger)
- The GTK file selection dialog didn't include the "Create Dir", "Delete File"
- and "Rename File" buttons.
- When doing ":browse source" the dialog has the title "Run Macro". Better
- would be "Source Vim script". (Yegappan Lakshmanan)
- Win32: Don't use the printer font as default for the font dialog.
- "make doslang" didn't work when configure didn't run (yet). Set $MAKEMO to
- "yes". (Mirek Pruchnik)
- The ToolBar TagJump item used "g]", which prompts for a selection even when
- there is only one matching tag. Use "g<C-]>" instead.
- The ming makefile for message translations didn't have the right list of
- files.
- The MS-Windows 3.1 version complains about LIBINTL.DLL not found. Compile
- this version without message translations.
- The Borland 5 makefile contained a check for Ruby which is no longer needed.
- The URLs for the TCL library was outdated. (Dan Sharp)
- The eviso.ps file was missing from the DOS runtime archive, it's needed for
- printing PostScript in the 32bit DOS version.
- In menu files ":scriptencoding" was used in a wrong way after patch 6.1a.032
- Now use ":scriptencoding" in the file where the translations are given. Do
- the same for all menus in latin1 encoding.
- Included a lot of fixes for the Macintosh, mostly to make it work with Carbon.
- (Dany StAmant, Axel Kielhorn, Benji Fisher)
- Improved the vimtutor shell script to use $TMPDIR when it exists, and delete
- the copied file when exiting in an abnormal way. (Max Ischenko)
- When "iconv.dll" can't be found, try using "libiconv.dll".
- When encryption is used, filtering with a shell command wasn't possible.
- DJGPP: ":cd c:" always failed, can't get permissions for "c:".
- Win32: ":cd c:/" failed if the previous current directory on c: had become
- invalid.
- DJGPP: Shift-Del and Del both produce \316\123. Default mapping for Del is
- wrong. Disabled it.
- Dependencies on header files in MingW makefile was wrong.
- Win32: Don't use ACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe)
- Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providing a
- different argument to make didn't regenerate it.
- Win32 with MSVC: Make_ivc.mak generates a new if_ole.h in a different
- directory, the if_ole.h in the src directory may be used instead. Delete the
- distributed file.
- When a window is vertically split and then ":ball" is used, the window layout
- is messed up, can cause a crash. (Muraoka Taro)
- When 'insertmode' is set, using File/New menu and then double clicking, "i" is
- soon inserted. (Merlin Hansen)
- When Select mode is active and using the Buffers menu to switch to another
- buffer, an old selection comes back. Reset VIsual_reselect for a ":buffer"
- command.
- When Select mode is active and 'insertmode' is set, using the Buffers menu to
- switch to another buffer, did not return to Insert mode. Make sure
- "restart_edit" is set.
- When double clicking on the first character of a word while 'selection' is
- "exclusive" didn't select that word.
- Patch 6.0.001
- Problem: Loading the sh.vim syntax file causes error messages. (Corinna
- Vinschen)
- Solution: Add an "if". (Charles Campbell)
- Files: runtime/syntax/sh.vim
- Patch 6.0.002
- Problem: Using a '@' item in 'viminfo' doesn't work. (Marko Leipert)
- Solution: Add '@' to the list of accepted items.
- Files: src/option.c
- Patch 6.0.003
- Problem: The configure check for ACLs on AIX doesn't work.
- Solution: Fix the test program so that it compiles. (Tomas Ogren)
- Files: src/configure.in, src/auto/configure
- Patch 6.0.004
- Problem: The find/replace dialog doesn't reuse a previous argument
- properly.
- Solution: After removing a "\V" terminate the string. (Zwane Mwaikambo)
- Files: src/gui.c
- Patch 6.0.005
- Problem: In Insert mode, "CTRL-O :ls" has a delay before redrawing.
- Solution: Don't delay just after wait_return() was called. Added the
- did_wait_return flag.
- Files: src/globals.h, src/message.c, src/normal.c, src/screen.c
- Patch 6.0.006
- Problem: With a vertical split, 'number' set and 'scrolloff' non-zero,
- making the window width very small causes a crash. (Niklas
- Lindstrom)
- Solution: Check for a zero width.
- Files: src/move.c
- Patch 6.0.007
- Problem: When setting 'filetype' while there is no FileType autocommand, a
- following ":setfiletype" would set 'filetype' again. (Kobus
- Retief)
- Solution: Set did_filetype always when 'filetype' has been set.
- Files: src/option.c
- Patch 6.0.008
- Problem: 'imdisable' is missing from the options window. (Michael Naumann)
- Solution: Add an entry for it.
- Files: runtime/optwin.vim
- Patch 6.0.009
- Problem: Nextstep doesn't have S_ISBLK. (John Beppu)
- Solution: Define S_ISBLK using S_IFBLK.
- Files: src/os_unix.h
- Patch 6.0.010
- Problem: Using "gf" on a file name starting with "./" or "../" in a buffer
- without a name causes a crash. (Roy Lewis)
- Solution: Check for a NULL file name.
- Files: src/misc2.c
- Patch 6.0.011
- Problem: Python: After replacing or deleting lines get an ml_get error.
- (Leo Lipelis)
- Solution: Adjust the cursor position for deleted or added lines.
- Files: src/if_python.c
- Patch 6.0.012
- Problem: Polish translations contain printf format errors, this can result
- in a crash when using one of them.
- Solution: Fix for translated messages. (Michal Politowski)
- Files: src/po/pl.po
- Patch 6.0.013
- Problem: Using ":silent! cmd" still gives some error messages, like for an
- invalid range. (Salman Halim)
- Solution: Reset emsg_silent after calling emsg() in do_one_cmd().
- Files: src/ex_docmd.c
- Patch 6.0.014
- Problem: When 'modifiable' is off and 'virtualedit' is "all", "rx" on a TAB
- still changes the buffer. (Muraoka Taro)
- Solution: Check if saving the line for undo fails.
- Files: src/normal.c
- Patch 6.0.015
- Problem: When 'cpoptions' includes "S" and "filetype plugin on" has been
- used, can get an error for deleting the b:did_ftplugin variable.
- (Ralph Henderson)
- Solution: Only delete the variable when it exists.
- Files: runtime/ftplugin.vim
- Patch 6.0.016
- Problem: bufnr(), bufname() and bufwinnr() don't find unlisted buffers when
- the argument is a string. (Hari Krishna Dara)
- Also for setbufvar() and getbufvar().
- Solution: Also find unlisted buffers.
- Files: src/eval.c
- Patch 6.0.017
- Problem: When 'ttybuiltin' is set and a builtin termcap entry defines t_Co
- and the external one doesn't, it gets reset to empty. (David
- Harrison)
- Solution: Only set t_Co when it wasn't set yet.
- Files: src/term.c
- Patch 6.0.018
- Problem: Initializing 'encoding' may cause a crash when setlocale() is not
- used. (Dany St-Amant)
- Solution: Check for a NULL pointer.
- Files: src/mbyte.c
- Patch 6.0.019
- Problem: Converting a string with multibyte characters to a printable
- string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
- Solution: Correctly compute the length of the result in transstr().
- Files: src/charset.c
- Patch 6.0.020
- Problem: When obtaining the value of a global variable internally, could
- get the function-local value instead. Applies to using <Leader>
- and <LocalLeader> and resetting highlighting in a function.
- Solution: Prepend "g:" to the variable name. (Aric Blumer)
- Files: src/syntax.c, src/term.c
- Patch 6.0.021
- Problem: The 'cscopepathcomp' option didn't work.
- Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng)
- Files: src/option.c
- Patch 6.0.022
- Problem: When using the 'langmap' option, the second character of a command
- starting with "g" isn't adjusted.
- Solution: Apply 'langmap' to the second character. (Alex Kapranoff)
- Files: src/normal.c
- Patch 6.0.023
- Problem: Loading the lhaskell syntax doesn't work. (Thore B. Karlsen)
- Solution: Use ":runtime" instead of "source" to load haskell.vim.
- Files: runtime/syntax/lhaskell.vim
- Patch 6.0.024
- Problem: Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah
- Levitt)
- Solution: Don't insert a NUL byte in the text, use a newline.
- Files: src/misc1.c
- Patch 6.0.025
- Problem: The pattern "\vx(.|$)" doesn't match "x" at the end of a line.
- (Preben Peppe Guldberg)
- Solution: Always see a "$" as end-of-line after "\v". Do the same for "^".
- Files: src/regexp.c
- Patch 6.0.026
- Problem: GTK: When using arrow keys to navigate through the menus, the
- separators are selected.
- Solution: Set the separators "insensitive". (Pavel Kankovsky)
- Files: src/gui_gtk.c, src/gui_gtk_x11.c
- Patch 6.0.027
- Problem: VMS: Printing doesn't work, the file is deleted too quickly.
- No longer need the VMS specific printing menu.
- gethostname() is not available with VAXC.
- The makefile was lacking selection of the tiny-huge feature set.
- Solution: Adjust the 'printexpr' option default. Fix the other problems and
- update the documentation. (Zoltan Arpadffy)
- Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt,
- src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h
- Patch 6.0.028
- Problem: Can't compile without +virtualedit and with +visualextra. (Geza
- Lakner)
- Solution: Add an #ifdef for +virtualedit.
- Files: src/ops.c
- Patch 6.0.029
- Problem: When making a change in line 1, then in line 2 and then deleting
- line 1, undo info could be wrong. Only when the changes are undone
- at once. (Gerhard Hochholzer)
- Solution: When not saving a line for undo because it was already done
- before, remember for which entry the last line must be computed.
- Added ue_getbot_entry pointer for this. When the number of lines
- changes, adjust the position of newer undo entries.
- Files: src/structs.h, src/undo.c
- Patch 6.0.030
- Problem: Using ":source! file" doesn't work inside a loop or after
- ":argdo". (Pavol Juhas)
- Solution: Execute the commands in the file right away, do not let the main
- loop do it.
- Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h,
- src/proto/ex_docmd.pro, src/proto/getchar.pro
- Patch 6.0.031
- Problem: Nextstep doesn't have setenv() or putenv(). (John Beppu)
- Solution: Move putenv() from pty.c to misc2.c
- Files: src/misc2.c, src/pty.c
- Patch 6.0.032
- Problem: When changing a setting that affects all folds, they are not
- displayed immediately.
- Solution: Set the redraw flag in foldUpdateAll().
- Files: src/fold.c
- Patch 6.0.033
- Problem: Using 'wildmenu' on MS-Windows, file names that include a space
- are only displayed starting with that space. (Xie Yuheng)
- Solution: Don't recognize a backslash before a space as a path separator.
- Files: src/screen.c
- Patch 6.0.034
- Problem: Calling searchpair() with three arguments could result in a crash
- or strange error message. (Kalle Bjorklid)
- Solution: Don't use the fifth argument when there is no fourth argument.
- Files: src/eval.c
- Patch 6.0.035
- Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work
- when 'ignorecase' is set. (Allen Castaban)
- Solution: Always match case when checking if a flag is already present in
- 'guioptions'.
- Files: runtime/menu.vim
- Patch 6.0.036
- Problem: OS/2, MS-DOS and MS-Windows: Using a path that starts with a
- slash in 'tags' doesn't work as expected. (Mathias Koehrer)
- Solution: Only use the drive, not the whole path to the current directory.
- Also make it work for "c:dir/file".
- Files: src/misc2.c
- Patch 6.0.037
- Problem: When the user has set "did_install_syntax_menu" to avoid the
- default Syntax menu it still appears. (Virgilio)
- Solution: Don't add the three default items when "did_install_syntax_menu"
- is set.
- Files: runtime/menu.vim
- Patch 6.0.038
- Problem: When 'selection' is "exclusive", deleting a block of text at the
- end of a line can leave the cursor beyond the end of the line.
- Solution: Correct the cursor position.
- Files: src/ops.c
- Patch 6.0.039
- Problem: "gP" leaves the cursor in the wrong position when 'virtualedit' is
- used. Using "c" in blockwise Visual mode leaves the cursor in a
- strange position.
- Solution: For "gP" reset the "coladd" field for the '] mark. For "c" leave
- the cursor on the last inserted character.
- Files: src/ops.c
- Patch 6.0.040
- Problem: When 'fileencoding' is invalid and writing fails because of
- this, the original file is gone. (Eric Carlier)
- Solution: Restore the original file from the backup.
- Files: src/fileio.c
- Patch 6.0.041
- Problem: Using ":language messages en" when LC_MESSAGES is undefined
- results in setting LC_CTYPE. (Eric Carlier)
- Solution: Set $LC_MESSAGES instead.
- Files: src/ex_cmds2.c
- Patch 6.0.042
- Problem: ":mksession" can't handle file names with a space.
- Solution: Escape special characters in file names with a backslash.
- Files: src/ex_docmd.c
- Patch 6.0.043
- Problem: Patch 6.0.041 was wrong.
- Solution: Use mch_getenv() instead of vim_getenv().
- Files: src/ex_cmds2.c
- Patch 6.0.044
- Problem: Using a "containedin" list for a syntax item doesn't work for an
- item that doesn't have a "contains" argument. Also, "containedin"
- doesn't ignore a transparent item. (Timo Frenay)
- Solution: When there is a "containedin" argument somewhere, always check for
- contained items. Don't check for the transparent item but the
- item it's contained in.
- Files: src/structs.h, src/syntax.c
- Patch 6.0.045
- Problem: After creating a fold with a Visual selection, another window
- with the same buffer still has inverted text. (Sami Salonen)
- Solution: Redraw the inverted text.
- Files: src/normal.c
- Patch 6.0.046
- Problem: When getrlimit() returns an 8 byte number the check for running
- out of stack may fail. (Anthony Meijer)
- Solution: Skip the stack check if the limit doesn't fit in a long.
- Files: src/auto/configure, src/config.h.in, src/configure.in,
- src/os_unix.c
- Patch 6.0.047
- Problem: Using a regexp with "\(\)" inside a "\%[]" item causes a crash.
- (Samuel Lacas)
- Solution: Don't allow nested atoms inside "\%[]".
- Files: src/regexp.c
- Patch 6.0.048
- Problem: Win32: In the console the mouse doesn't always work correctly.
- Sometimes after getting focus a mouse movement is interpreted like
- a button click.
- Solution: Use a different function to obtain the number of mouse buttons.
- Avoid recognizing a button press from undefined bits. (Vince Negri)
- Files: src/os_win32.c
- Patch 6.0.049
- Problem: When using evim the intro screen is misleading. (Adrian Nagle)
- Solution: Mention whether 'insertmode' is set and the menus to be used.
- Files: runtime/menu.vim, src/version.c
- Patch 6.0.050
- Problem: UTF-8: "viw" doesn't include non-ASCII characters before the
- cursor. (Bertilo Wennergren)
- Solution: Use dec_cursor() instead of decrementing the column number.
- Files: src/search.c
- Patch 6.0.051
- Problem: UTF-8: Using CTRL-R on the command line doesn't insert composing
- characters. (Ron Aaron)
- Solution: Also include the composing characters and fix redrawing them.
- Files: src/ex_getln.c, src/ops.c
- Patch 6.0.052
- Problem: The check for rlim_t in patch 6.0.046 does not work on some
- systems. (Zdenek Sekera)
- Solution: Also look in sys/resource.h for rlim_t.
- Files: src/auto/configure, src/configure.in
- Patch 6.0.053 (extra)
- Problem: Various problems with QNX.
- Solution: Minor fix for configure. Switch on terminal clipboard support in
- main.c. Fix "pterm" mouse support. os_qnx.c didn't build without
- photon. (Julian Kinraid)
- Files: src/auto/configure, src/configure.in, src/gui_photon.c,
- src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h,
- src/syntax.c
- Patch 6.0.054
- Problem: When using mswin.vim, CTRL-V pastes a block of text like it is
- normal text. Using CTRL-V in blockwise Visual mode leaves "x"
- characters behind.
- Solution: Make CTRL-V work as it should. Do the same for the Paste menu
- entries.
- Files: runtime/menu.vim, runtime/mswin.vim
- Patch 6.0.055
- Problem: GTK: The selection isn't copied the first time.
- Solution: Own the selection at the right moment.
- Files: src/gui_gtk_x11.c
- Patch 6.0.056
- Problem: Using "CTRL-O cw" in Insert mode results in a nested Insert mode.
- <Esc> doesn't leave Insert mode then.
- Solution: Only use nested Insert mode when 'insertmode' is set or when a
- mapping is used.
- Files: src/normal.c
- Patch 6.0.057
- Problem: Using ":wincmd g}" in a function doesn't work. (Gary Holloway)
- Solution: Execute the command directly, instead of putting it in the
- typeahead buffer.
- Files: src/normal.c, src/proto/normal.pro, src/window.c
- Patch 6.0.058
- Problem: When a Cursorhold autocommand moved the cursor, the ruler wasn't
- updated. (Bohdan Vlasyuk)
- Solution: Update the ruler after executing the autocommands.
- Files: src/gui.c
- Patch 6.0.059
- Problem: Highlighting for 'hlsearch' isn't visible in lines that are
- highlighted for diff highlighting. (Gary Holloway)
- Solution: Let 'hlsearch' highlighting overrule diff highlighting.
- Files: src/screen.c
- Patch 6.0.060
- Problem: Motif: When the tooltip is to be popped up, Vim crashes.
- (Gary Holloway)
- Solution: Check for a NULL return value from gui_motif_fontset2fontlist().
- Files: src/gui_beval.c
- Patch 6.0.061
- Problem: The toolbar buttons to load and save a session do not correctly
- use v:this_session.
- Solution: Check for v:this_session to be empty instead of existing.
- Files: runtime/menu.vim
- Patch 6.0.062
- Problem: Crash when 'verbose' is > 3 and using ":shell". (Yegappan
- Lakshmanan)
- Solution: Avoid giving a NULL pointer to printf(). Also output a newline
- and switch the cursor on.
- Files: src/misc2.c
- Patch 6.0.063
- Problem: When 'cpoptions' includes "$", using "cw" to type a ')' on top of
- the "$" doesn't update syntax highlighting after it.
- Solution: Stop displaying the "$" when typing a ')' in its position.
- Files: src/search.c
- Patch 6.0.064 (extra)
- Problem: The NSIS install script doesn't work with newer versions of NSIS.
- The diff feature doesn't work when there isn't a good diff.exe on
- the system.
- Solution: Replace the GetParentDir instruction by a user function.
- Fix a few cosmetic problems. Use defined constants for the
- version number, so that it's defined in one place only.
- Only accept the install directory when it ends in "vim".
- (Eduardo Fernandez)
- Add a diff.exe and use it from the default _vimrc.
- Files: nsis/gvim.nsi, nsis/README.txt, src/dosinst.c
- Patch 6.0.065
- Problem: When using ":normal" in 'indentexpr' it may use redo characters
- before its argument. (Neil Bird)
- Solution: Save and restore the stuff buffer in ex_normal().
- Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h
- Patch 6.0.066
- Problem: Sometimes undo for one command is split into two undo actions.
- (Halim Salman)
- Solution: Don't set the undo-synced flag when reusing a line that was
- already saved for undo.
- Files: src/undo.c
- Patch 6.0.067
- Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined
- in the usual header file (e.g., AIX). (Mark Waggoner)
- Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it.
- Files: src/if_xcmdsrv.c
- Patch 6.0.068
- Problem: When formatting a Visually selected area with "gq" and the number
- of lines increases the last line may not be redrawn correctly.
- (Yegappan Lakshmanan)
- Solution: Correct the area to be redrawn for inserted/deleted lines.
- Files: src/ops.c
- Patch 6.0.069
- Problem: Using "K" on a word that includes a "!" causes a "No previous
- command" error, because the "!" is expanded. (Craig Jeffries)
- Solution: Put a backslash before the "!".
- Files: src/normal.c
- Patch 6.0.070
- Problem: Win32: The error message for a failed dynamic linking of a Perl,
- Ruby, Tcl and Python library is unclear about what went wrong.
- Solution: Give the name of the library or function that could not be loaded.
- Also for the iconv and gettext libraries when 'verbose' is set.
- Files: src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c,
- src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro,
- src/proto/if_python.pro, src/proto/if_ruby.pro,
- src/proto/if_tcl.pro, src/proto/mbyte.pro
- Patch 6.0.071
- Problem: The "iris-ansi" builtin termcap isn't very good.
- Solution: Fix the wrong entries. (David Harrison)
- Files: src/term.c
- Patch 6.0.072
- Problem: When 'lazyredraw' is set, a mapping that stops Visual mode, moves
- the cursor and starts Visual mode again causes a redraw problem.
- (Brian Silverman)
- Solution: Redraw both the old and the new Visual area when necessary.
- Files: src/normal.c, src/screen.c
- Patch 6.0.073 (extra)
- Problem: DJGPP: When using CTRL-Z to start a shell, the prompt is halfway
- the text. (Volker Kiefel)
- Solution: Position the system cursor before starting the shell.
- Files: src/os_msdos.c
- Patch 6.0.074
- Problem: When using "&" in a substitute string a multibyte character with
- a trailbyte 0x5c is not handled correctly.
- Solution: Recognize multibyte characters inside the "&" part. (Muraoka Taro)
- Files: src/regexp.c
- Patch 6.0.075
- Problem: When closing a horizontally split window while 'eadirection' is
- "hor" another horizontally split window is still resized. (Aron
- Griffis)
- Solution: Only resize windows in the same top frame as the window that is
- split or closed.
- Files: src/main.c, src/proto/window.pro, src/window.c
- Patch 6.0.076
- Problem: Warning for wrong pointer type when compiling.
- Solution: Use char instead of char_u pointer.
- Files: src/version.c
- Patch 6.0.077
- Problem: Patch 6.0.075 was incomplete.
- Solution: Fix another call to win_equal().
- Files: src/option.c
- Patch 6.0.078
- Problem: Using "daw" at the end of a line on a single-character word didn't
- include the white space before it. At the end of the file it
- didn't work at all. (Gavin Sinclair)
- Solution: Include the white space before the word.
- Files: src/search.c
- Patch 6.0.079
- Problem: When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can
- still overwrite a read-only file, because it's renamed. (Gary
- Holloway)
- Solution: Add a check for a read-only file before renaming the file to
- become the backup.
- Files: src/fileio.c
- Patch 6.0.080
- Problem: When using a session file that has the same file in two windows,
- the fileinfo() call in do_ecmd() causes a scroll and a hit-enter
- prompt. (Robert Webb)
- Solution: Don't scroll this message when 'shortmess' contains 'O'.
- Files: src/ex_cmds.c
- Patch 6.0.081
- Problem: After using ":saveas" the new buffer name is added to the Buffers
- menu with a wrong number. (Chauk-Mean Proum)
- Solution: Trigger BufFilePre and BufFilePost events for the renamed buffer
- and BufAdd for the old name (which is with a new buffer).
- Files: src/ex_cmds.c
- Patch 6.0.082
- Problem: When swapping screens in an xterm and there is an (error) message
- from the vimrc script, the shell prompt is after the message.
- Solution: Output a newline when there was output on the alternate screen.
- Also when starting the GUI.
- Files: src/main.c
- Patch 6.0.083
- Problem: GTK: When compiled without menu support the buttons in a dialog
- don't have any text. (Erik Edelmann)
- Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define
- GTK_USE_ACCEL also when not using menus.
- Files: src/gui_gtk.c
- Patch 6.0.084
- Problem: UTF-8: a "r" command with an argument that is a keymap for a
- character with a composing character can't be repeated with ".".
- (Raphael Finkel)
- Solution: Add the composing characters to the redo buffer.
- Files: src/normal.c
- Patch 6.0.085
- Problem: When 'mousefocus' is set, using "s" to go to Insert mode and then
- moving the mouse pointer to another window stops Insert mode,
- while this doesn't happen with "a" or "i". (Robert Webb)
- Solution: Reset finish_op before calling edit().
- Files: src/normal.c
- Patch 6.0.086
- Problem: When using "gu" the message says "~ed".
- Solution: Make the message say "changed".
- Files: src/ops.c
- Patch 6.0.087 (lang)
- Problem: Message translations are incorrect, which may cause a crash.
- (Peter Figura)
- The Turkish translations needed more work and the maintainer
- didn't have time.
- Solution: Fix order of printf arguments. Remove %2$d constructs.
- Add "-v" to msgfmt to get a warning for wrong translations.
- Don't install the Turkish translations for now.
- Update a few more translations.
- Files: src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po,
- src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po,
- src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po,
- src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po,
- src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.po
- Patch 6.0.088
- Problem: "." doesn't work after using "rx" in Visual mode. (Charles
- Campbell)
- Solution: Also store the replacement character in the redo buffer.
- Files: src/normal.c
- Patch 6.0.089
- Problem: In a C file, using "==" to align a line starting with "* " after
- a line with "* -" indents one space too few. (Piet Delport)
- Solution: Align with the previous line if the comment-start-string matches
- there.
- Files: src/misc1.c
- Patch 6.0.090
- Problem: When a wrapping line does not fit in a window and 'scrolloff' is
- bigger than half the window height, moving the cursor left or
- right causes the screen to flash badly. (Lubomir Host)
- Solution: When there is not enough room to show 'scrolloff' screen lines and
- near the end of the line, show the end of the line.
- Files: src/move.c
- Patch 6.0.091
- Problem: Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the
- cursor is after the end-of-line, moves the cursor left. (Yegappan
- Lakshmanan)
- Solution: Keep the cursor in the same position.
- Files: src/edit.c
- Patch 6.0.092
- Problem: The explorer plugin doesn't ignore case of 'suffixes' on
- MS-Windows. (Mike Williams)
- Solution: Match or ignore case as appropriate for the OS.
- Files: runtime/plugin/explorer.vim
- Patch 6.0.093
- Problem: When the Tcl library couldn't be loaded dynamically, get an error
- message when closing a buffer or window. (Muraoka Taro)
- Solution: Only free structures if already using the Tcl interpreter.
- Files: src/if_tcl.c
- Patch 6.0.094
- Problem: Athena: When clicking in the horizontal scrollbar Vim crashes.
- (Paul Ackersviller)
- Solution: Use the thumb size instead of the window pointer of the scrollbar
- (which is NULL). (David Harrison)
- Also avoid that scrolling goes the wrong way in a narrow window.
- Files: src/gui_athena.c
- Patch 6.0.095
- Problem: Perl: Deleting lines may leave the cursor beyond the end of the
- file.
- Solution: Check the cursor position after deleting a line. (Serguei)
- Files: src/if_perl.xs
- Patch 6.0.096
- Problem: When ":saveas fname" fails because the file already exists, the
- file name is changed anyway and a following ":w" will overwrite
- the file. (Eric Carlier)
- Solution: Don't change the file name if the file already exists.
- Files: src/ex_cmds.c
- Patch 6.0.097
- Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a
- multibyte encoding.
- Solution: Avoid using a character before the start of a line. (Sergey
- Vlasov)
- Files: src/edit.c
- Patch 6.0.098
- Problem: GTK: When using Gnome the "Search" and "Search and Replace" dialog
- boxes are not translated.
- Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez)
- Files: src/gui_gtk.c, src/gui_gtk_x11.c
- Patch 6.0.099
- Problem: Cygwin: When running Vi compatible MS-DOS line endings cause
- trouble.
- Solution: Make the default for 'fileformats' "unix,dos" in Vi compatible
- mode. (Michael Schaap)
- Files: src/option.h
- Patch 6.0.100
- Problem: ":badd +0 test%file" causes a crash.
- Solution: Take into account that the "+0" is NUL terminated when allocating
- room for replacing the "%".
- Files: src/ex_docmd.c
- Patch 6.0.101
- Problem: ":mksession" doesn't restore editing a file that has a '#' or '%'
- in its name. (Wolfgang Blankenburg)
- Solution: Put a backslash before the '#' and '%'.
- Files: src/ex_docmd.c
- Patch 6.0.102
- Problem: When changing folds the cursor may appear halfway a closed fold.
- (Nam SungHyun)
- Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto)
- Files: src/move.c
- Patch 6.0.103
- Problem: When using 'scrollbind' a large value of 'scrolloff' will make the
- scroll binding stop near the end of the file. (Coen Engelbarts)
- Solution: Don't use 'scrolloff' when limiting the topline for scroll
- binding. (Dany StAmant)
- Files: src/normal.c
- Patch 6.0.104
- Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide
- character that overwrites the left half of an old double-wide
- character causes a redraw problem and the cursor stops blinking.
- Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)
- Files: src/edit.c, src/screen.c
- Patch 6.0.105
- Problem: Multi-byte: In a window of one column wide, with syntax
- highlighting enabled a crash might happen.
- Solution: Skip getting the syntax attribute when the character doesn't fit
- anyway. (Yasuhiro Matsumoto)
- Files: src/screen.c
- Patch 6.0.106 (extra)
- Problem: Win32: When the printer font is wrong, there is no error message.
- Solution: Give an appropriate error message. (Yasuhiro Matsumoto)
- Files: src/os_mswin.c
- Patch 6.0.107 (extra)
- Problem: VisVim: When editing another file, a modified file may be written
- unexpectedly and without warning.
- Solution: Split the window if a file was modified.
- Files: VisVim/Commands.cpp
- Patch 6.0.108
- Problem: When using folding could try displaying line zero, resulting in an
- error for a NULL pointer.
- Solution: Stop decrementing w_topline when the first line of a window is in
- a closed fold.
- Files: src/window.c
- Patch 6.0.109
- Problem: XIM: When the input method is enabled, repeating an insertion with
- "." disables it. (Marcel Svitalsky)
- Solution: Don't store the input method status when a command comes from the
- stuff buffer.
- Files: src/ui.c
- Patch 6.0.110
- Problem: Using undo after executing "OxjAxkdd" from a register in
- an empty buffer gives an error message. (Gerhard Hochholzer)
- Solution: Don't adjust the bottom line number of an undo block when it's
- zero. Add a test for this problem.
- Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok
- Patch 6.0.111
- Problem: The virtcol() function doesn't take care of 'virtualedit'.
- Solution: Add the column offset when needed. (Yegappan Lakshmanan)
- Files: src/eval.c
- Patch 6.0.112
- Problem: The explorer plugin doesn't sort directories with a space or
- special character after a directory with a shorter name.
- Solution: Ignore the trailing slash when comparing directory names. (Mike
- Williams)
- Files: runtime/plugin/explorer.vim
- Patch 6.0.113
- Problem: ":edit ~/fname" doesn't work if $HOME includes a space. Also,
- expanding wildcards with the shell may fail. (John Daniel)
- Solution: Escape spaces with a backslash when needed.
- Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c
- Patch 6.0.114
- Problem: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a
- full path. For Win32 the current directory was prepended.
- (Michael Geddes)
- Solution: Expand the home directory.
- Files: src/eval.c
- Patch 6.0.115 (extra)
- Problem: Win32: When using a dialog with a textfield it cannot scroll the
- text.
- Solution: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes)
- Files: src/gui_w32.c
- Patch 6.0.116 (extra)
- Problem: MS-Windows NT/2000/XP: filewritable() doesn't work correctly for
- filesystems that use ACLs.
- Solution: Use ACL functions to check if a file is writable. (Mike Williams)
- Files: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro
- Patch 6.0.117 (extra)
- Problem: Win32: when disabling the menu, "set lines=999" doesn't use all
- the available screen space.
- Solution: Don't subtract the fixed caption height but the real menu height
- from the available screen space. Also: Avoid recursion in
- gui_mswin_get_menu_height().
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 6.0.118
- Problem: When $TMPDIR is a relative path, the temp directory is missing a
- trailing slash and isn't deleted when Vim exits. (Peter Holm)
- Solution: Add the slash after expanding the directory to an absolute path.
- Files: src/fileio.c
- Patch 6.0.119 (depends on patch 6.0.116)
- Problem: VMS: filewritable() doesn't work properly.
- Solution: Use the same method as for Unix. (Zoltan Arpadffy)
- Files: src/eval.c
- Patch 6.0.120
- Problem: The conversion to html isn't compatible with XHTML.
- Solution: Quote the values. (Jess Thrysoee)
- Files: runtime/syntax/2html.vim
- Patch 6.0.121 (extra) (depends on patch 6.0.116)
- Problem: Win32: After patch 6.0.116 Vim doesn't compile with mingw32.
- Solution: Add an #ifdef HAVE_ACL.
- Files: src/os_win32.c
- Patch 6.0.122 (extra)
- Problem: Win16: Same resize problems as patch 6.0.117 fixed for Win32. And
- dialog textfield problem from patch 6.0.115.
- Solution: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag.
- (Vince Negri)
- Files: src/gui_w16.c
- Patch 6.0.123 (depends on patch 6.0.119)
- Problem: Win16: Compilation problems.
- Solution: Move "&&" to other lines. (Vince Negri)
- Files: src/eval.c
- Patch 6.0.124
- Problem: When using a ":substitute" command that starts with "\="
- (evaluated as an expression), "~" was still replaced with the
- previous substitute string.
- Solution: Skip the replacement when the substitute string starts with "\=".
- Also adjust the documentation about doubling backslashes.
- Files: src/ex_cmds.c, runtime/doc/change.txt
- Patch 6.0.125 (extra)
- Problem: Win32: When using the multi_byte_ime feature pressing the shift
- key would be handled as if a character was entered, thus mappings
- with a shifted key didn't work. (Charles Campbell)
- Solution: Ignore pressing the shift, control and alt keys.
- Files: src/os_win32.c
- Patch 6.0.126
- Problem: The python library was always statically linked.
- Solution: Link the python library dynamically. (Matthias Klose)
- Files: src/auto/configure, src/configure.in
- Patch 6.0.127
- Problem: When using a terminal that swaps screens and the Normal background
- color has a different background, using an external command may
- cause the color of the wrong screen to be changed. (Mark Waggoner)
- Solution: Don't call screen_stop_highlight() in stoptermcap().
- Files: src/term.c
- Patch 6.0.128
- Problem: When moving a vertically split window to the far left or right,
- the scrollbars are not adjusted. (Scott E Lee) When 'mousefocus'
- is set the mouse pointer wasn't adjusted.
- Solution: Adjust the scrollbars and the mouse pointer.
- Files: src/window.c
- Patch 6.0.129
- Problem: When using a very long file name, ":ls" (repeated a few times)
- causes a crash. Test with "vim `perl -e 'print "A"x1000'`".
- (Tejeda)
- Solution: Terminate a string before getting its length in buflist_list().
- Files: src/buffer.c
- Patch 6.0.130
- Problem: When using ":cprev" while the error window is open, and the new
- line at the top wraps, the window isn't correctly drawn.
- (Yegappan Lakshmanan)
- Solution: When redrawing the topline don't scroll twice.
- Files: src/screen.c
- Patch 6.0.131
- Problem: When using bufname() and there are two matches for listed buffers
- and one match for an unlisted buffer, the unlisted buffer is used.
- (Aric Blumer)
- Solution: When there is a match with a listed buffer, don't check for
- unlisted buffers.
- Files: src/buffer.c
- Patch 6.0.132
- Problem: When setting 'iminsert' in the vimrc and using an xterm with two
- screens the ruler is drawn in the wrong screen. (Igor Goldenberg)
- Solution: Only draw the ruler when using the right screen.
- Files: src/option.c
- Patch 6.0.133
- Problem: When opening another buffer while 'keymap' is set and 'iminsert'
- is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg)
- Solution: Don't set 'iminsert' as a side effect of defining a ":lmap"
- mapping. Only do that when 'keymap' is set.
- Files: src/getchar.c, src/option.c
- Patch 6.0.134
- Problem: When completing ":set tags=" a path with an embedded space causes
- the completion to stop. (Sektor van Skijlen)
- Solution: Escape spaces with backslashes, like for ":set path=". Also take
- backslashes into account when searching for the start of the path
- to complete (e.g., for 'backupdir' and 'cscopeprg').
- Files: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h
- Patch 6.0.135
- Problem: Menus that are not supposed to do anything used "<Nul>", which
- still produced an error beep.
- When CTRL-O is mapped for Insert mode, ":amenu" commands didn't
- work in Insert mode.
- Menu language falls back to English when $LANG ends in "@euro".
- Solution: Use "<Nop>" for a menu item that doesn't do anything, just like
- mappings.
- Use ":anoremenu" instead of ":amenu".
- Ignore "@euro" in the locale name.
- Files: runtime/makemenu.vim, runtime/menu.vim, src/menu.c
- Patch 6.0.136
- Problem: When completing in Insert mode, a mapping could be unexpectedly
- applied.
- Solution: Don't use mappings when checking for a typed character.
- Files: src/edit.c
- Patch 6.0.137
- Problem: GUI: When using the find or find/replace dialog from Insert mode,
- the input mode is stopped.
- Solution: Don't use the input method status when the main window doesn't
- have focus.
- Files: src/ui.c
- Patch 6.0.138
- Problem: GUI: When using the find or find/replace dialog from Insert mode,
- the text is inserted when CTRL-O is mapped. (Andre Pang)
- When opening the dialog again, a whole word search isn't
- recognized.
- When doing "replace all" a whole word search was never done.
- Solution: Don't put a search or replace command in the input buffer,
- execute it directly.
- Recognize "\<" and "\>" after removing "\V".
- Add "\<" and "\>" also for "replace all".
- Files: src/gui.c
- Patch 6.0.139
- Problem: When stopping 'wildmenu' completion, the statusline of the
- bottom-left vertically split window isn't redrawn. (Yegappan
- Lakshmanan)
- Solution: Redraw all the bottom statuslines.
- Files: src/ex_getln.c, src/proto/screen.pro, src/screen.c
- Patch 6.0.140
- Problem: Memory allocated for local mappings and abbreviations is leaked
- when the buffer is wiped out.
- Solution: Clear the local mappings when deleting a buffer.
- Files: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h
- Patch 6.0.141
- Problem: When using ":enew" in an empty buffer, some buffer-local things
- are not cleared. b:keymap_name is not set.
- Solution: Clear user commands and mappings local to the buffer when re-using
- the current buffer. Reload the keymap.
- Files: src/buffer.c
- Patch 6.0.142
- Problem: When Python is linked statically, loading dynamic extensions might
- fail.
- Solution: Add an extra linking flag when needed. (Andrew Rodionoff)
- Files: src/configure.in, src/auto/configure
- Patch 6.0.143
- Problem: When a syntax item includes a line break in a pattern, the syntax
- may not be updated properly when making a change.
- Solution: Add the "linebreaks" argument to ":syn sync".
- Files: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c
- Patch 6.0.144
- Problem: After patch 6.0.088 redoing "veU" doesn't work.
- Solution: Don't add the "U" to the redo buffer, it will be used as an undo
- command.
- Files: src/normal.c
- Patch 6.0.145
- Problem: When Vim can't read any input it might get stuck. When
- redirecting stdin and stderr Vim would not read commands from a
- file. (Servatius Brandt)
- Solution: When repeatedly trying to read a character when it's not possible,
- exit Vim. When stdin and stderr are not a tty, still try reading
- from them, but don't do a blocking wait.
- Files: src/ui.c
- Patch 6.0.146
- Problem: When 'statusline' contains "%{'-'}" this results in a zero.
- (Milan Vancura)
- Solution: Don't handle numbers with a minus as a number, they were not
- displayed anyway.
- Files: src/buffer.c
- Patch 6.0.147
- Problem: It's not easy to mark a Vim version as being modified. The new
- license requires this.
- Solution: Add the --modified-by argument to configure and the MODIFIED_BY
- define. It's used in the intro screen and the ":version" output.
- Files: src/auto/configure, src/configure.in, src/config.h.in,
- src/feature.h, src/version.c
- Patch 6.0.148
- Problem: After "p" in an empty line, `[ goes to the second character.
- (Kontra Gergely)
- Solution: Don't increment the column number in an empty line.
- Files: src/ops.c
- Patch 6.0.149
- Problem: The pattern "\(.\{-}\)*" causes a hang. When using a search
- pattern that causes a stack overflow to be detected Vim could
- still hang.
- Solution: Correctly report "operand could be empty" when using "\{-}".
- Check for "out_of_stack" inside loops to avoid a hang.
- Files: src/regexp.c
- Patch 6.0.150
- Problem: When using a multibyte encoding, patch 6.0.148 causes "p" to work
- like "P". (Sung-Hyun Nam)
- Solution: Compute the byte length of a multibyte character.
- Files: src/ops.c
- Patch 6.0.151
- Problem: Redrawing the status line and ruler can be wrong when it contains
- multibyte characters.
- Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)
- Files: src/screen.c
- Patch 6.0.152
- Problem: strtrans() could hang on an illegal UTF-8 byte sequence.
- Solution: Skip over illegal bytes. (Yasuhiro Matsumoto)
- Files: src/charset.c
- Patch 6.0.153
- Problem: When using (illegal) double-byte characters and Vim syntax
- highlighting Vim can crash. (Yasuhiro Matsumoto)
- Solution: Increase a pointer over a character instead of a byte.
- Files: src/regexp.c
- Patch 6.0.154
- Problem: MS-DOS and MS-Windows: The menu entries for xxd don't work when
- there is no xxd in the path.
- When converting back from Hex the filetype may remain "xxd" if it
- is not detected.
- Solution: When xxd is not in the path use the one in the runtime directory,
- where the install program has put it.
- Clear the 'filetype' option before detecting the new value.
- Files: runtime/menu.vim
- Patch 6.0.155
- Problem: Mac: compilation problems in ui.c after patch 6.0.145. (Axel
- Kielhorn)
- Solution: Don't call mch_inchar() when NO_CONSOLE is defined.
- Files: src/ui.c
- Patch 6.0.156
- Problem: Starting Vim with the -b argument and two files, ":next" doesn't
- set 'binary' in the second file, like Vim 5.7. (Norman Diamond)
- Solution: Set the global value for 'binary'.
- Files: src/option.c
- Patch 6.0.157
- Problem: When defining a user command with "-complete=dir" files will also
- be expanded. Also, "-complete=mapping" doesn't appear to work.
- (Michael Naumann)
- Solution: Use the expansion flags defined with the user command.
- Handle expanding mappings specifically.
- Files: src/ex_docmd.c
- Patch 6.0.158
- Problem: When getting the warning for a file being changed outside of Vim
- and reloading the file, the 'readonly' option is reset, even when
- the permissions didn't change. (Marcel Svitalsky)
- Solution: Keep 'readonly' set when reloading a file and the permissions
- didn't change.
- Files: src/fileio.c
- Patch 6.0.159
- Problem: Wildcard expansion for ":emenu" also shows separators.
- Solution: Skip menu separators for ":emenu", ":popup" and ":tearoff".
- Also, don't handle ":tmenu" as if it was ":tearoff". And leave
- out the alternatives with "&" included.
- Files: src/menu.c
- Patch 6.0.160
- Problem: When compiling with GCC 3.0.2 and using the "-O2" argument, the
- optimizer causes a problem that makes Vim crash.
- Solution: Add a configure check to avoid "-O2" for this version of gcc.
- Files: src/configure.in, src/auto/configure
- Patch 6.0.161 (extra)
- Problem: Win32: Bitmaps don't work with signs.
- Solution: Make it possible to use bitmaps with signs. (Muraoka Taro)
- Files: src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c,
- src/proto/gui_w32.pro, src/proto/gui_x11.pro
- Patch 6.0.162
- Problem: Client-server: An error message for a wrong expression appears in
- the server instead of the client.
- Solution: Pass the error message from the server to the client. Also
- adjust the example code. (Flemming Madsen)
- Files: src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c,
- src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro,
- runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.c
- Patch 6.0.163
- Problem: When using a GUI dialog, a file name is sometimes used like it was
- a directory.
- Solution: Separate path and file name properly.
- For GTK, Motif and Athena concatenate directory and file name for
- the default selection.
- Files: src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
- src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.c
- Patch 6.0.164
- Problem: After patch 6.0.135 the menu entries for pasting don't work in
- Insert and Visual mode. (Muraoka Taro)
- Solution: Add <script> to allow script-local mappings.
- Files: runtime/menu.vim
- Patch 6.0.165
- Problem: Using --remote and executing locally gives unavoidable error
- messages.
- Solution: Add --remote-silent and --remote-wait-silent to silently execute
- locally.
- For Win32 there was no error message when a server didn't exist.
- Files: src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c,
- src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro
- Patch 6.0.166
- Problem: GUI: There is no way to avoid dialogs to pop up.
- Solution: Add the 'c' flag to 'guioptions': Use console dialogs. (Yegappan
- Lakshmanan)
- Files: runtime/doc/options.txt, src/option.h, src/message.c
- Patch 6.0.167
- Problem: When 'fileencodings' is "latin2" some characters in the help files
- are displayed wrong.
- Solution: Force the 'fileencoding' for the help files to be "latin1".
- Files: src/fileio.c
- Patch 6.0.168
- Problem: ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser)
- Solution: Don't skip matches after joining two lines.
- Files: src/ex_cmds.c
- Patch 6.0.169
- Problem: When run as evim and the GUI can't be started we get stuck in a
- terminal without menus in Insert mode.
- Solution: Exit when using "evim" and "gvim -y" when the GUI can't be
- started.
- Files: src/main.c
- Patch 6.0.170
- Problem: When printing double-width characters the size of tabs after them
- is wrong. (Muraoka Taro)
- Solution: Correctly compute the column after a double-width character.
- Files: src/ex_cmds2.c
- Patch 6.0.171
- Problem: With 'keymodel' including "startsel", in Insert mode after the end
- of a line, shift-Left does not move the cursor. (Steve Hall)
- Solution: CTRL-O doesn't move the cursor left, need to do that explicitly.
- Files: src/edit.c
- Patch 6.0.172
- Problem: CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while it
- does in most other situations.
- Solution: Make CTRL-X CTRL-Q work like CTRL-X CTRL-V in Insert mode.
- Files: src/edit.c
- Patch 6.0.173
- Problem: When using "P" to insert a line break the cursor remains past the
- end of the line.
- Solution: Check for the cursor being beyond the end of the line.
- Files: src/ops.c
- Patch 6.0.174
- Problem: After using "gd" or "gD" the search direction for "n" may still be
- backwards. (Servatius Brandt)
- Solution: Reset the search direction to forward.
- Files: src/normal.c, src/search.c, src/proto/search.pro
- Patch 6.0.175
- Problem: ":help /\z(\)" doesn't work. (Thomas Koehler)
- Solution: Double the backslashes.
- Files: src/ex_cmds.c
- Patch 6.0.176
- Problem: When killed by a signal autocommands are still triggered as if
- nothing happened.
- Solution: Add the v:dying variable to allow autocommands to work differently
- when a deadly signal has been trapped.
- Files: src/eval.c, src/os_unix.c, src/vim.h
- Patch 6.0.177
- Problem: When 'commentstring' is empty and 'foldmethod' is "marker", "zf"
- doesn't work. (Thomas S. Urban)
- Solution: Add the marker even when 'commentstring' is empty.
- Files: src/fold.c, src/normal.c
- Patch 6.0.178
- Problem: Uninitialized memory read from xp_backslash field.
- Solution: Initialize xp_backslash field properly.
- Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c
- Patch 6.0.179
- Problem: Win32: When displaying UTF-8 characters may read uninitialized
- memory.
- Solution: Add utfc_ptr2len_check_len() to avoid reading past the end of a
- string.
- Files: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c
- Patch 6.0.180
- Problem: Expanding environment variables in a string that ends in a
- backslash could go past the end of the string.
- Solution: Detect the trailing backslash.
- Files: src/misc1.c
- Patch 6.0.181
- Problem: When using ":cd dir" memory was leaked.
- Solution: Free the allocated memory. Also avoid an uninitialized memory
- read.
- Files: src/misc2.c
- Patch 6.0.182
- Problem: When using a regexp on multibyte characters, could try to read a
- character before the start of the line.
- Solution: Don't decrement a pointer to before the start of the line.
- Files: src/regexp.c
- Patch 6.0.183
- Problem: Leaking memory when ":func!" redefines a function.
- Solution: Free the function name when it's not used.
- Files: src/eval.c
- Patch 6.0.184
- Problem: Leaking memory when expanding option values.
- Solution: Don't always copy the expanded option into allocated memory.
- Files: src/option.c
- Patch 6.0.185
- Problem: Crash in Vim when pasting a selection in another application, on a
- 64 bit machine.
- Solution: Fix the format for an Atom to 32 bits. (Peter Derr)
- Files: src/ui.c
- Patch 6.0.186
- Problem: X11: Three warnings when compiling the client-server code.
- Solution: Add a typecast to unsigned char.
- Files: src/if_xcmdsrv.c
- Patch 6.0.187
- Problem: "I" in Visual mode and then "u" reports too many changes. (Andrew
- Stryker)
- "I" in Visual linewise mode adjusts the indent for no apparent
- reason.
- Solution: Only save those lines for undo that are changed.
- Don't change the indent after inserting in Visual linewise mode.
- Files: src/ops.c
- Patch 6.0.188
- Problem: Win32: After patch 6.0.161 signs defined in the vimrc file don't
- work.
- Solution: Initialize the sign icons after initializing the GUI. (Vince
- Negri)
- Files: src/gui.c, src/gui_x11.c
- Patch 6.0.189
- Problem: The size of the Visual area isn't always displayed when scrolling
- ('ruler' off, 'showcmd' on). Also not when using a search
- command. (Sylvain Hitier)
- Solution: Redisplay the size of the selection after showing the mode.
- Files: src/screen.c
- Patch 6.0.190
- Problem: GUI: when 'mouse' is empty a click with the middle button still
- moves the cursor.
- Solution: Paste at the cursor position instead of the mouse position.
- Files: src/normal.c
- Patch 6.0.191
- Problem: When no servers are available serverlist() gives an error instead
- of returning an empty string. (Hari Krishna)
- Solution: Don't give an error message.
- Files: src/eval.c
- Patch 6.0.192
- Problem: When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew
- Nikitin)
- Solution: Reset the flag that w_virtcol is valid when moving the cursor back
- to the start of the operated area.
- Files: src/normal.c
- Patch 6.0.193
- Problem: When 'virtualedit' is set, col(".") after the end of the line
- should return one extra.
- Solution: Add one to the column.
- Files: src/eval.c
- Patch 6.0.194
- Problem: "--remote-silent" tries to send a reply to the client, like it was
- "--remote-wait".
- Solution: Properly check for the argument.
- Files: src/main.c
- Patch 6.0.195
- Problem: When 'virtualedit' is set and a search starts in virtual space
- ":call search('x')" goes to the wrong position. (Eric Long)
- Solution: Reset coladd when finding a match.
- Files: src/search.c
- Patch 6.0.196
- Problem: When 'virtualedit' is set, 'selection' is "exclusive" and visually
- selecting part of a tab at the start of a line, "x" joins it with
- the previous line. Also, when the selection spans more than one
- line the whole tab is deleted.
- Solution: Take coladd into account when adjusting for 'selection' being
- "exclusive". Also expand a tab into spaces when deleting more
- than one line.
- Files: src/normal.c, src/ops.c
- Patch 6.0.197
- Problem: When 'virtualedit' is set and 'selection' is "exclusive", "v$x"
- doesn't delete the last character in the line. (Eric Long)
- Solution: Don't reset the inclusive flag. (Helmut Stiegler)
- Files: src/normal.c
- Patch 6.0.198
- Problem: When 'virtualedit' is set and 'showbreak' is not empty, moving the
- cursor over the line break doesn't work properly. (Eric Long)
- Solution: Make getviscol() and getviscol2() use getvvcol() to obtain the
- virtual cursor position. Adjust coladvance() and oneleft() to
- skip over the 'showbreak' characters.
- Files: src/edit.c, src/misc2.c
- Patch 6.0.199
- Problem: Multi-byte: could use iconv() after calling iconv_end().
- (Yasuhiro Matsumoto)
- Solution: Stop converting input and output stream after calling iconv_end().
- Files: src/mbyte.c
- Patch 6.0.200
- Problem: A script that starts with "#!perl" isn't recognized as a Perl
- filetype.
- Solution: Ignore a missing path in a script header. Also, speed up
- recognizing scripts by simplifying the patterns used.
- Files: runtime/scripts.vim
- Patch 6.0.201
- Problem: When scrollbinding and doing a long jump, switching windows jumps
- to another position in the file. Scrolling a few lines at a time
- is OK. (Johannes Zellner)
- Solution: When setting w_topline reset the flag that indicates w_botline is
- valid.
- Files: src/diff.c
- Patch 6.0.202
- Problem: The "icon=" argument for the menu command to define a toolbar icon
- with a file didn't work for GTK. (Christian J. Robinson)
- For Motif and Athena a full path was required.
- Solution: Search the icon file using the specified path. Expand environment
- variables in the file name.
- Files: src/gui_gtk.c, src/gui_x11.c
- Patch 6.0.203
- Problem: Can change 'fileformat' even though 'modifiable' is off.
- (Servatius Brandt)
- Solution: Correct check for kind of set command.
- Files: src/option.c
- Patch 6.0.204
- Problem: ":unlet" doesn't work for variables with curly braces. (Thomas
- Scott Urban)
- Solution: Handle variable names with curly braces properly. (Vince Negri)
- Files: src/eval.c
- Patch 6.0.205 (extra)
- Problem: "gvim -f" still forks when using the batch script to start Vim.
- Solution: Add an argument to "start" to use a foreground session (Michael
- Geddes)
- Files: src/dosinst.c
- Patch 6.0.206
- Problem: Unix: if expanding a wildcard in a file name results in a
- wildcard character and there are more parts in the path with a
- wildcard, it is expanded again.
- Windows: ":edit \[abc]" could never edit the file "[abc]".
- Solution: Don't expand wildcards in already expanded parts.
- Don't remove backslashes used to escape the special meaning of a
- wildcard; can edit "[abc]" if '[' is removed from 'isfname'.
- Files: src/misc1.c, src/os_unix.c
- Patch 6.0.207 (extra)
- Problem: Win32: The shortcuts and start menu entries let Vim startup in the
- desktop directory, which is not very useful.
- Solution: Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH.
- Files: src/dosinst.c
- Patch 6.0.208
- Problem: GUI: When using a keymap and the cursor is not blinking, CTRL-^ in
- Insert mode doesn't directly change the cursor color. (Alex
- Solow)
- Solution: Force a redraw of the cursor after CTRL-^.
- Files: src/edit.c
- Patch 6.0.209
- Problem: GUI GTK: After selecting a 'guifont' with the font dialog there
- are redraw problems for multibyte characters.
- Solution: Separate the font dialog from setting the new font name to avoid
- that "*" is used to find wide and bold fonts.
- When redrawing extra characters for the bold trick, take care of
- UTF-8 characters.
- Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro,
- src/proto/gui_gtk_x11.pro
- Patch 6.0.210
- Problem: After patch 6.0.167 it's no longer possible to edit a help file in
- another encoding than latin1.
- Solution: Let the "++enc=" argument overrule the encoding.
- Files: src/fileio.c
- Patch 6.0.211
- Problem: When reading a file fails, the buffer is empty, but it might still
- be possible to write it with ":w" later. The original file is
- lost then. (Steve Amerige)
- Solution: Set the 'readonly' option for the buffer.
- Files: src/fileio.c
- Patch 6.0.212
- Problem: GUI GTK: confirm("foo", "") causes a crash.
- Solution: Don't make a non-existing button the default. Add a default "OK"
- button if none is specified.
- Files: src/eval.c, src/gui_gtk.c
- Patch 6.0.213
- Problem: When a file name contains unprintable characters, CTRL-G and other
- commands don't work well.
- Solution: Turn unprintable into printable characters. (Yasuhiro Matsumoto)
- Files: src/buffer.c, src/charset.c
- Patch 6.0.214
- Problem: When there is a buffer without a name, empty entries appear in the
- jumplist saved in the viminfo file.
- Solution: Don't write jumplist entries without a file name.
- Files: src/mark.c
- Patch 6.0.215
- Problem: After using "/" from Visual mode the Paste menu and Toolbar
- entries don't work. Pasting with the middle mouse doesn't work
- and modeless selection doesn't work.
- Solution: Use the command line mode menus and use the mouse like in the
- command line.
- Files: src/gui.c, src/menu.c, src/ui.c
- Patch 6.0.216
- Problem: After reloading a file, displayed in another window than the
- current one, which was changed outside of Vim the part of the file
- around the cursor set by autocommands may be displayed, but
- jumping back to the original cursor position when entering the
- window again.
- Solution: Restore the topline of the window.
- Files: src/fileio.c
- Patch 6.0.217
- Problem: When getting help from a help file that was used before, an empty
- unlisted buffer remains in the buffer list. (Eric Long)
- Solution: Wipe out the buffer used to do the tag jump from.
- Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro
- Patch 6.0.218
- Problem: With explorer plugin: "vim -o filename dirname" doesn't load the
- explorer window until entering the window.
- Solution: Call s:EditDir() for each window after starting up.
- Files: runtime/plugin/explorer.vim
- Patch 6.0.219
- Problem: ":setlocal" and ":setglobal", without arguments, display terminal
- options. (Zdenek Sekera)
- Solution: Skip terminal options for these two commands.
- Files: src/option.c
- Patch 6.0.220
- Problem: After patch 6.0.218 get a beep on startup. (Muraoka Taro)
- Solution: Don't try going to another window when there isn't one.
- Files: runtime/plugin/explorer.vim
- Patch 6.0.221
- Problem: When using ":bdel" and all other buffers are unloaded the lowest
- numbered buffer is jumped to instead of the most recent one. (Dave
- Cecil)
- Solution: Prefer an unloaded buffer from the jumplist.
- Files: src/buffer.c
- Patch 6.0.222
- Problem: When 'virtualedit' is set and using autoindent, pressing Esc after
- starting a new line leaves behind part of the autoindent. (Helmut
- Stiegler)
- Solution: After deleting the last char in the line adjust the cursor
- position in del_bytes().
- Files: src/misc1.c, src/ops.c
- Patch 6.0.223
- Problem: When splitting a window that contains the explorer, hitting CR on
- a file name gives error messages.
- Solution: Set the window variables after splitting the window.
- Files: runtime/plugin/explorer.vim
- Patch 6.0.224
- Problem: When 'sidescroll' and 'sidescrolloff' are set in a narrow window
- the text may jump left-right and the cursor is displayed in the
- wrong position. (Aric Blumer)
- Solution: When there is not enough room, compute the left column for the
- window to put the cursor in the middle.
- Files: src/move.c
- Patch 6.0.225
- Problem: In Visual mode "gk" gets stuck in a closed fold. (Srinath
- Avadhanula)
- Solution: Behave differently in a closed fold.
- Files: src/normal.c
- Patch 6.0.226
- Problem: When doing ":recover file" get the ATTENTION prompt.
- After recovering the same file five times get a read error or a
- crash. (Alex Davis)
- Solution: Set the recoverymode flag before setting the file name.
- Correct the amount of used memory for the size of block zero.
- Files: src/ex_docmd.c
- Patch 6.0.227 (extra)
- Problem: The RISC OS port has several problems.
- Solution: Update the makefile and fix some of the problems. (Andy Wingate)
- Files: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h,
- src/proto/os_riscos.pro, src/search.c
- Patch 6.0.228
- Problem: After putting text in Visual mode the '] mark is not at the end of
- the put text.
- Undo doesn't work properly when putting a word into a Visual
- selection that spans more than one line.
- Solution: Correct the '] mark for the deleting the Visually selected text.
- #ifdef code that depends on FEAT_VISUAL properly.
- Also fix that "d" crossing line boundary puts '[ just before
- deleted text.
- Fix undo by saving all deleted lines at once.
- Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c,
- src/structs.h, src/vim.h
- Patch 6.0.229
- Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
- at a multibyte char followed by an ASCII char, and the other way
- around. (Muraoka Taro)
- When joining lines a space is inserted between multibyte
- characters, which is not always wanted.
- Solution: Check for multibyte character before and after the breakpoint.
- Don't insert a space before or after a multibyte character when
- joining lines and the 'M' flag is in 'formatoptions'. Don't
- insert a space between multibyte characters when the 'B' flag is
- in 'formatoptions'.
- Files: src/edit.c, src/ops.c, src/option.h
- Patch 6.0.230
- Problem: The ":" used as a motion after an operator is exclusive, but
- sometimes it should be inclusive.
- Solution: Make the "v" in between an operator and motion toggle
- inclusive/exclusive. (Servatius Brandt)
- Files: runtime/doc/motion.txt, src/normal.c
- Patch 6.0.231
- Problem: "gd" and "gD" don't work when the variable matches in a comment
- just above the match to be found. (Servatius Brandt)
- Solution: Continue searching in the first column below the comment.
- Files: src/normal.c
- Patch 6.0.232
- Problem: "vim --version" prints on stderr while "vim --help" prints on
- stdout.
- Solution: Make "vim --version" use stdout.
- Files: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c
- Patch 6.0.233
- Problem: "\1\{,8}" in a regexp is not allowed, but it should work, because
- there is an upper limit. (Jim Battle)
- Solution: Allow using "\{min,max}" after an atom that can be empty if there
- is an upper limit.
- Files: src/regexp.c
- Patch 6.0.234
- Problem: It's not easy to set the cursor position without modifying marks.
- Solution: Add the cursor() function. (Yegappan Lakshmanan)
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 6.0.235
- Problem: When writing a file and renaming the original file to make the
- backup, permissions could change when setting the owner.
- Solution: Only set the owner when it's needed and set the permissions again
- afterwards.
- When 'backupcopy' is "auto" check that the owner and permissions
- of a newly created file can be set properly.
- Files: src/fileio.c
- Patch 6.0.236
- Problem: ":edit" without argument should move cursor to line 1 in Vi
- compatible mode.
- Solution: Add 'g' flag to 'cpoptions'.
- Files: runtime/doc/options.txt, src/ex_docmd.c, src/option.h
- Patch 6.0.237
- Problem: In a C file, using the filetype plugin, re-indenting a comment
- with two spaces after the middle "*" doesn't align properly.
- Solution: Don't use a middle entry from a start/middle/end to line up with
- the start of the comment when the start part doesn't match with
- the actual comment start.
- Files: src/misc1.c
- Patch 6.0.238
- Problem: Using a ":substitute" command with a substitute() call in the
- substitution expression causes errors. (Srinath Avadhanula)
- Solution: Save and restore pointers when doing substitution recursively.
- Files: src/regexp.c
- Patch 6.0.239
- Problem: Using "A" to append after a Visually selected block which is after
- the end of the line, spaces are inserted in the wrong line and
- other unexpected effects. (Michael Naumann)
- Solution: Don't advance the cursor to the next line.
- Files: src/ops.c
- Patch 6.0.240
- Problem: Win32: building with Python 2.2 doesn't work.
- Solution: Add support for Python 2.2 with dynamic linking. (Paul Moore)
- Files: src/if_python.c
- Patch 6.0.241
- Problem: Win32: Expanding the old value of an option that is a path that
- starts with a backslash, an extra backslash is inserted.
- Solution: Only insert backslashes where needed.
- Also handle multibyte characters properly when removing
- backslashes.
- Files: src/option.c
- Patch 6.0.242
- Problem: GUI: On a system with an Exceed X server sometimes get a "Bad
- Window" error. (Tommi Maekitalo)
- Solution: When forking, use a pipe to wait in the parent for the child to
- have done the setsid() call.
- Files: src/gui.c
- Patch 6.0.243
- Problem: Unix: "vim --version" outputs a NL before the last line instead of
- after it. (Charles Campbell)
- Solution: Send the NL to the same output stream as the text.
- Files: src/message.c, src/os_unix.c, src/proto/message.pro
- Patch 6.0.244
- Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and
- file name (e.g., icon text, status line).
- Solution: Correctly handle unprintable characters. Catch illegal UTF-8
- characters and replace them with <xx>. Truncating the status line
- wasn't done correctly at a multibyte character. (Yasuhiro
- Matsumoto)
- Added correct_cmdspos() and transchar_byte().
- Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
- src/message.c, src/screen.c, src/vim.h
- Patch 6.0.245
- Problem: After using a color scheme, setting the 'background' option might
- not work. (Peter Horst)
- Solution: Disable the color scheme if it switches 'background' back to the
- wrong value.
- Files: src/option.c
- Patch 6.0.246
- Problem: ":echomsg" didn't use the highlighting set by ":echohl". (Gary
- Holloway)
- Solution: Use the specified attributes for the message. (Yegappan
- Lakshmanan)
- Files: src/eval.c
- Patch 6.0.247
- Problem: GTK GUI: Can't use gvim in a kpart widget.
- Solution: Add the "--echo-wid" argument to let Vim echo the window ID on
- stdout. (Philippe Fremy)
- Files: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c,
- src/main.c
- Patch 6.0.248
- Problem: When using compressed help files and 'encoding' isn't "latin1",
- Vim converts the help file before decompressing. (David Reviejo)
- Solution: Don't convert a help file when 'binary' is set.
- Files: src/fileio.c
- Patch 6.0.249
- Problem: "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit().
- Solution: Don't set the cursor on the first line for "-c" arguments when
- there also is a "-t" argument.
- Files: src/main.c
- Patch 6.0.250 (extra)
- Problem: Macintosh: Various problems when compiling.
- Solution: Various fixes, mostly #ifdefs. (Dany St. Amant)
- Files: src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h,
- src/os_mac.pbproj/project.pbxproj, src/os_unix.c
- Patch 6.0.251 (extra)
- Problem: Macintosh: menu shortcuts are not very clear.
- Solution: Show the shortcut with the Mac clover symbol. (raindog)
- Files: src/gui_mac.c
- Patch 6.0.252
- Problem: When a user function was defined with "abort", an error that is
- not inside if/endif or while/endwhile doesn't abort the function.
- (Servatius Brandt)
- Solution: Don't reset did_emsg when the function is to be aborted.
- Files: src/ex_docmd.c
- Patch 6.0.253
- Problem: When 'insertmode' is set, after "<C-O>:edit file" the next <C-O>
- doesn't work. (Benji Fisher) <C-L> has the same problem.
- Solution: Reset need_start_insertmode once in edit().
- Files: src/edit.c
- Patch 6.0.254 (extra)
- Problem: Borland C++ 5.5: Checking for stack overflow doesn't work
- correctly. Matters when using a complicated regexp.
- Solution: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto)
- Files: src/Make_bc5.mak
- Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121)
- Problem: Win32: ACL support doesn't work well on Samba drives.
- Solution: Add a check for working ACL support. (Mike Williams)
- Files: src/os_win32.c
- Patch 6.0.256 (extra)
- Problem: Win32: ":highlight Comment guifg=asdf" does not give an error
- message. (Randall W. Morris) Also for other systems.
- Solution: Add gui_get_color() to give one error message for all systems.
- Files: src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c,
- src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c,
- src/proto/gui.pro, src/syntax.c
- Patch 6.0.257
- Problem: Win32: When 'mousefocus' is set and there is a BufRead
- autocommand, after the dialog for permissions changed outside of
- Vim: 'mousefocus' stops working. (Robert Webb)
- Solution: Reset need_mouse_correct after checking timestamps.
- Files: src/fileio.c
- Patch 6.0.258
- Problem: When 'scrolloff' is 999 and there are folds, the text can jump up
- and down when moving the cursor down near the end of the file.
- (Lubomir Host)
- Solution: When putting the cursor halfway the window start counting lines at
- the end of a fold.
- Files: src/move.c
- Patch 6.0.259
- Problem: MS-DOS: after editing the command line the cursor shape may remain
- like in Insert mode. (Volker Kiefel)
- Solution: Reset the cursor shape after editing the command line.
- Files: src/ex_getln.c
- Patch 6.0.260
- Problem: GUI: May crash while starting up when giving an error message for
- missing color. (Servatius Brandt)
- Solution: Don't call gui_write() when still starting up. Don't give error
- message for empty color name. Don't use 't_vb' while the GUI is
- still starting up.
- Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
- Patch 6.0.261
- Problem: nr2char() and char2nr() don't work with multibyte characters.
- Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto)
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 6.0.262 (extra)
- Problem: Win32: IME doesn't work properly. OnImeComposition() isn't used
- at all.
- Solution: Adjust various things for IME.
- Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro,
- src/structs.h, src/ui.c
- Patch 6.0.263
- Problem: GTK: When a dialog is closed by the window manager, Vim hangs.
- (Christian J. Robinson)
- Solution: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE().
- Files: src/gui_gtk.c, src/gui_gtk_x11.c
- Patch 6.0.264
- Problem: The amount of virtual memory is used to initialize 'maxmemtot',
- which may be much more than the amount of physical memory,
- resulting in a lot of swapping.
- Solution: Get the amount of physical memory with sysctl(), sysconf() or
- sysinfo() when possible.
- Files: src/auto/configure, src/configure.in, src/config.h.in,
- src/os_unix.c, src/os_unix.h
- Patch 6.0.265
- Problem: Win32: Using backspace while 'fkmap' is set causes a crash.
- (Jamshid Oasjmoha)
- Solution: Don't try mapping special keys.
- Files: src/farsi.c
- Patch 6.0.266
- Problem: The rename() function deletes the file if the old and the new name
- are the same. (Volker Kiefel)
- Solution: Don't do anything if the names are equal.
- Files: src/fileio.c
- Patch 6.0.267
- Problem: UTF-8: Although 'isprint' says a character is printable,
- utf_char2cells() still considers it unprintable.
- Solution: Use vim_isprintc() for characters up to 0x100. (Yasuhiro Matsumoto)
- Files: src/mbyte.c
- Patch 6.0.268 (extra) (depends on patch 6.0.255)
- Problem: Win32: ACL check crashes when using forward slash in file name.
- Solution: Improve the check for the path in the file name.
- Files: src/os_win32.c
- Patch 6.0.269
- Problem: Unprintable characters in a file name may cause problems when
- using the 'statusline' option or when 'buftype' is "nofile".
- Solution: call trans_characters() for the resulting statusline. (Yasuhiro
- Matsumoto)
- Files: src/buffer.c, src/screen.c, src/charset.c
- Patch 6.0.270 (depends on patch 6.0.267)
- Problem: A tab causes UTF-8 text to be displayed in the wrong position.
- (Ron Aaron)
- Solution: Correct utf_char2cells() again.
- Files: src/mbyte.c
- Patch 6.1a.001 (extra)
- Problem: 32bit DOS: copying text to the clipboard may cause a crash.
- (Jonathan D Johnston)
- Solution: Don't copy one byte too much in SetClipboardData().
- Files: src/os_msdos.c
- Patch 6.1a.002
- Problem: GTK: On some configurations, when closing a dialog from the window
- manager, Vim hangs.
- Solution: Catch the "destroy" signal. (Aric Blumer)
- Files: src/gui_gtk.c
- Patch 6.1a.003
- Problem: Multi-byte: With UTF-8 double-wide char and 'virtualedit' set:
- yanking in Visual mode doesn't include the last byte. (Eric Long)
- Solution: Don't add a space for a double-wide character.
- Files: src/ops.c
- Patch 6.1a.004 (extra)
- Problem: MINGW: undefined type. (Ron Aaron)
- Solution: Make GetCompositionString_inUCS2() static.
- Files: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro
- Patch 6.1a.005 (extra)
- Problem: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan
- Johnston)
- Solution: Don't keep the driver context when using ":hardcopy!". (Vince
- Negri)
- Files: src/os_mswin.c
- Patch 6.1a.006
- Problem: multibyte: after setting 'encoding' the window title might be
- wrong.
- Solution: Force resetting the title. (Yasuhiro Matsumoto)
- Files: src/option.c
- Patch 6.1a.007
- Problem: Filetype detection for "*.inc" doesn't work.
- Solution: Use a ":let" command. (David Schweikert)
- Files: runtime/filetype.vim
- Patch 6.1a.008 (extra)
- Problem: Win32: ACL detection for network shares doesn't work.
- Solution: Include the trailing (back)slash in the root path. (Mike Williams)
- Files: src/os_win32.c
- Patch 6.1a.009
- Problem: When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a ()
- part that follows, but it generates an error message.
- Solution: Allow a forward reference when there is a following "\@<=" or
- "\@<!".
- Files: runtime/doc/pattern.txt, src/regexp.c
- Patch 6.1a.010
- Problem: When using ":help" and opening a new window, the alternate file
- isn't set.
- Solution: Set the alternate file to the previously edited file.
- Files: src/ex_cmds.c
- Patch 6.1a.011
- Problem: GTK: ":set co=77", change width with the mouse, ":set co=77"
- doesn't resize the window. (Darren Hiebert)
- Solution: Set the form size after handling a resize event.
- Files: src/gui_gtk_x11.c
- Patch 6.1a.012
- Problem: GTK: The file browser always returns a full path. (Lohner)
- Solution: Shorten the file name if possible.
- Files: src/gui_gtk.c
- Patch 6.1a.013
- Problem: When using "=~word" in 'cinkeys' or 'indentkeys', the case of the
- last character of the word isn't ignored. (Raul Segura Acevedo)
- Solution: Ignore case when checking the last typed character.
- Files: src/edit.c
- Patch 6.1a.014
- Problem: After patch 6.1a.006 can't compile without the title feature.
- Solution: Add an #ifdef.
- Files: src/option.c
- Patch 6.1a.015
- Problem: MS-Windows: When expanding a file name that contains a '[' or '{'
- an extra backslash is inserted. (Raul Segura Acevedo)
- Solution: Avoid adding the backslash.
- Files: src/ex_getln.c
- Patch 6.1a.016
- Problem: Completion after ":language" doesn't include "time". (Raul Segura
- Acevedo)
- Solution: Add the alternative to the completions.
- Files: src/ex_cmds2.c
- Patch 6.1a.017
- Problem: Clicking the mouse in the top row of a window where the first line
- doesn't fit moves the cursor to the wrong column.
- Solution: Add the skipcol also for the top row of a window.
- Files: src/ui.c
- Patch 6.1a.018
- Problem: When 'scrolloff' is one and the window height is one, "gj" can put
- the cursor above the window. (Raul Segura Acevedo)
- Solution: Don't let skipcol become bigger than the cursor column.
- Files: src/move.c
- Patch 6.1a.019
- Problem: When using a composing character on top of an ASCII character, the
- "l" command clears the composing character. Only when 'ruler' and
- 'showcmd' are off. (Raphael Finkel)
- Solution: Don't move the cursor by displaying characters when there are
- composing characters.
- Files: src/screen.c
- Patch 6.1a.020
- Problem: GTK: after patch 6.1a.011 resizing with the mouse doesn't always
- work well for small sizes. (Adrien Beau)
- Solution: Use another way to avoid the problem with ":set co=77".
- Files: src/gui_gtk_x11.c
- Patch 6.1a.021
- Problem: Several Syntax menu entries are wrong or confusing.
- Solution: Rephrase and correct the menu entries. (Adrien Beau)
- Files: runtime/makemenu.vim, runtime/menu.vim
- Patch 6.1a.022
- Problem: A tags file might be used twice on case insensitive systems.
- (Rick Swanton)
- Solution: Don't use the same file name twice in the default for the 'tags'
- option. Ignore case when comparing names of already visited
- files.
- Files: src/misc2.c, src/option.c
- Patch 6.1a.023
- Problem: When starting the GUI get "C" characters echoed in the terminal.
- Solution: Don't try sending a clear-screen command while the GUI is starting
- up.
- Files: src/screen.c
- Patch 6.1a.024
- Problem: In other editors CTRL-F is often used for a find dialog.
- Solution: In evim use CTRL-F for the find dialog.
- Files: runtime/evim.vim
- Patch 6.1a.025
- Problem: The choices for the fileformat dialog can't be translated.
- Solution: Add g:menutrans_fileformat_choices. (Adrien Beau)
- Files: runtime/menu.vim
- Patch 6.1a.026
- Problem: Indenting Java files is wrong with "throws", "extends" and
- "implements" clauses.
- Solution: Update the Java indent script.
- Files: runtime/indent/java.vim
- Patch 6.1a.027
- Problem: A few Syntax menu entries missing or incorrect.
- Solution: Add and correct the menu entries. (Adrien Beau)
- Shorten a few menus to avoid they become too long.
- Files: runtime/makemenu.vim, runtime/menu.vim
- Patch 6.1a.028
- Problem: XIM: problems with feedback and some input methods.
- Solution: Use iconv for calculating the cells. Remove the queue for
- key_press_event only when text was changed. (Yasuhiro Matsumoto)
- Files: src/globals.h, src/mbyte.c, src/screen.c
- Patch 6.1a.029
- Problem: After patch 6.1a.028 can't compile GTK version with XIM but
- without multibyte chars.
- Solution: Add an #ifdef. (Aschwin Marsman)
- Files: src/mbyte.c
- Patch 6.1a.030
- Problem: With double-byte encodings toupper() and tolower() may have wrong
- results.
- Solution: Skip double-byte characters. (Eric Long)
- Files: src/eval.c
- Patch 6.1a.031
- Problem: Accessing the 'balloondelay' variable may cause a crash.
- Solution: Make the variable for 'balloondelay' a long. (Olaf Seibert)
- Files: src/option.h
- Patch 6.1a.032 (extra)
- Problem: Some menu files used a wrong encoding name for "scriptencoding".
- Solution: Move the translations to a separate file, which is sourced after
- setting "scriptencoding".
- Also add Czech menu translations in ASCII and update the other
- encodings.
- Files: runtime/lang/menu_cs_cz.iso_8859-1.vim,
- runtime/lang/menu_cs_cz.iso_8859-2.vim,
- runtime/lang/menu_czech_czech_republic.1250.vim,
- runtime/lang/menu_czech_czech_republic.1252.vim,
- runtime/lang/menu_czech_czech_republic.ascii.vim,
- runtime/lang/menu_de_de.iso_8859-1.vim,
- runtime/lang/menu_de_de.latin1.vim,
- runtime/lang/menu_fr_fr.iso_8859-1.vim,
- runtime/lang/menu_fr_fr.latin1.vim,
- runtime/lang/menu_french_france.1252.vim,
- runtime/lang/menu_german_germany.1252.vim,
- runtime/lang/menu_ja_jp.euc-jp.vim,
- runtime/lang/menu_ja_jp.utf-8.vim,
- runtime/lang/menu_japanese_japan.932.vim
- Patch 6.1a.033
- Problem: XIM: doesn't reset input context.
- Solution: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka)
- Files: src/mbyte.c
- Patch 6.1a.034 (extra)
- Problem: Win32: The ACL checks for a readonly file still don't work well.
- Solution: Remove the ACL checks, go back to how it worked in Vim 6.0.
- Files: src/os_win32.c
- Patch 6.1a.035
- Problem: multibyte: When using ":sh" in the GUI, typed and displayed
- multibyte characters are not handled correctly.
- Solution: Deal with multibyte characters to and from the shell. (Yasuhiro
- Matsumoto) Also handle UTF-8 composing characters.
- Files: src/os_unix.c
- Patch 6.1a.036
- Problem: GTK: the save-yourself event was not handled.
- Solution: Catch the save-yourself event and preserve swap files. (Neil Bird)
- Files: src/gui_gtk_x11.c
- Patch 6.1a.037
- Problem: The MS-Windows key mapping doesn't include CTRL-S for saving.
- (Vlad Sandrini)
- Solution: Map CTRL-S to ":update".
- Files: runtime/mswin.vim
- Patch 6.1a.038
- Problem: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't
- work. (Antonio Colombo)
- Solution: Don't include sys/sysinfo.h when not calling sysinfo().
- Files: src/os_unix.c
- Patch 6.1a.039
- Problem: Not all visual basic files are recognized.
- Solution: Add checks to catch *.ctl files. (Raul Segura Acevedo)
- Files: runtime/filetype.vim
- Patch 6.1a.040
- Problem: A *.pl file is recognized as Perl, but it could be a prolog file.
- Solution: Check the first non-empty line. (Kontra Gergely)
- Files: runtime/filetype.vim
- Patch 6.1a.041
- Problem: When pressing the left mouse button in the command line and them
- moving the mouse upwards, nearly all the text is selected.
- Solution: Don't try extending a modeless selection when there isn't one.
- Files: src/ui.c
- Patch 6.1a.042
- Problem: When merging files, ":diffput" and ":diffget" are used a lot, but
- they require a lot of typing.
- Solution: Add "dp" for ":diffput" and "do" for ":diffget".
- Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro
- Patch 6.1b.001 (extra)
- Problem: Checking for wildcards in a path does not handle multibyte
- characters with a trail byte which is a wildcard.
- Solution: Handle multibyte characters correctly. (Muraoka Taro)
- Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
- src/os_unix.c
- Patch 6.1b.002
- Problem: A regexp that ends in "\{" is not flagged as an error. May cause
- a stack overflow when 'incsearch' is set. (Gerhard Hochholzer)
- Solution: Handle a missing "}" as an error.
- Files: src/regexp.c
- Patch 6.1b.003 (extra)
- Problem: The RISC OS GUI doesn't compile.
- Solution: Include changes since Vim 5.7. (Andy Wingate)
- Files: src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c,
- src/os_riscos.h, src/proto/gui_riscos.pro
- Patch 6.1b.004
- Problem: col("'>") returns a negative number for linewise selection. (Neil
- Bird)
- Solution: Don't add one to MAXCOL.
- Files: src/eval.c
- Patch 6.1b.005
- Problem: Using a search pattern that causes an out-of-stack error while
- 'hlsearch' is set keeps giving the hit-Enter prompt.
- A search pattern that takes a long time delays typing when
- 'incsearch' is set.
- Solution: Stop 'hlsearch' highlighting when the regexp causes an error.
- Stop searching for 'incsearch' when a character is typed.
- Files: src/globals.h, src/message.c, src/screen.c, src/search.c,
- src/vim.h
- Patch 6.1b.006
- Problem: When entering a composing character on the command line with
- CTRL-V, the text isn't redrawn correctly.
- Solution: Redraw the text under and after the cursor.
- Files: src/ex_getln.c
- Patch 6.1b.007
- Problem: When the cursor is in the white space between two sentences, "dis"
- deletes the first character of the following sentence, "das"
- deletes a space after the sentence.
- Solution: Backup the cursor one character in these situations.
- Files: src/search.c
- Patch 6.1b.008
- Problem: *.xsl files are not recognized as xslt but xml.
- Monk files are not recognized.
- Solution: Delete the duplicate line for *.xsl. (Johannes Zellner)
- Recognize monk files.
- Files: runtime/filetype.vim
- Patch 6.1b.009
- Problem: Can't always compile small features and then adding eval feature,
- "sandbox" is undefined. (Axel Kielhorn)
- Solution: Always define "sandbox" when the eval feature is used.
- Files: src/globals.h
- Patch 6.1b.010 (extra)
- Problem: When compiling gvimext.cpp with MSVC 4.2 get a number of warnings.
- Solution: Change "true" to "TRUE". (Walter Briscoe)
- Files: GvimExt/gvimext.cpp
- Patch 6.1b.011
- Problem: When using a very long string for confirm(), can't quit the
- displaying at the more prompt. (Hari Krishna Dara)
- Solution: Jump to the end of the message to show the choices.
- Files: src/message.c
- Patch 6.1b.012
- Problem: Multi-byte: When 'showbreak' is set and a double-wide character
- doesn't fit at the right window edge the cursor gets stuck there.
- Using cursor-left gets stuck when 'virtualedit' is set. (Eric
- Long)
- Solution: Fix the way the extra ">" character is counted when 'showbreak' is
- set. Don't correct cursor for virtual editing on a double-wide
- character.
- Files: src/charset.c, src/edit.c
- Patch 6.1b.013
- Problem: A user command that partly matches with a buffer-local user
- command and matches full with a global user command unnecessarily
- gives an 'ambiguous command' error.
- Solution: Find the full global match even after a partly local match.
- Files: src/ex_docmd.c
- Patch 6.1b.014
- Problem: EBCDIC: switching mouse events off causes garbage on screen.
- Positioning the cursor in the GUI causes garbage.
- Solution: Insert an ESC in the terminal code. (Ralf Schandl)
- Use "\b" instead of "\010" for KS_LE.
- Files: src/os_unix.c, src/term.c
- Patch 6.1b.015
- Problem: Vimtutor has a typo. Get a warning for "tempfile" if it
- doesn't exist.
- Solution: Move a quote to the end of a line. (Max Ischenko)
- Use "mktemp" first, more systems have it.
- Files: src/vimtutor
- Patch 6.1b.016
- Problem: GTK: loading a fontset that works partly, Vim might hang or crash.
- Solution: Avoid that char_width becomes zero. (Yasuhiro Matsumoto)
- Files: src/gui_gtk_x11.c
- Patch 6.1b.017
- Problem: GUI: When using ":shell" and there is a beep, nothing happens.
- Solution: Call vim_beep() to produce the beep from the shell. (Yasuhiro
- Matsumoto)
- Files: src/message.c
- Patch 6.1b.018 (depends on 6.1b.006)
- Problem: When entering the encryption key, special keys may still reveal
- the typed characters.
- Solution: Make sure stars are used or nothing is shown in all cases.
- Files: src/digraph.c, src/getchar.c, src/ex_getln.c
- Patch 6.1b.019 (depends on 6.1b.005)
- Problem: A search pattern that takes a long time slows down typing when
- 'incsearch' is set.
- Solution: Pass SEARCH_PEEK to dosearch().
- Files: src/ex_getln.c
- Patch 6.1b.020
- Problem: When using the matchit plugin, "%" finds a match on the "end" of a
- ":syntax region" command in Vim scripts.
- Solution: Skip over ":syntax region" commands by setting b:match_skip.
- Files: runtime/ftplugin/vim.vim
- Patch 6.1b.021
- Problem: when 'mousefocus' is set, CTRL-W CTRL-] sometimes doesn't warp the
- pointer to the new window. (Robert Webb)
- Solution: Don't reset need_mouse_correct when checking the timestamp of a
- file.
- Files: src/fileio.c
- Patch 6.1b.022
- Problem: With lots of folds "j" does not obey 'scrolloff' properly.
- (Srinath Avadhanula)
- Solution: Go to end of the fold before counting context lines.
- Files: src/move.c
- Patch 6.1b.023
- Problem: On MS-Windows system() may cause checking timestamps, because Vim
- loses and gains input focus, while this doesn't happen on Unix.
- Solution: Don't check timestamps while system() is busy.
- Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c
- Patch 6.1b.024 (extra)
- Problem: Gettext 0.11 complains that "sjis" is not a standard name.
- Solution: Use "cp932" instead.
- Files: src/po/sjiscorr.c
- Patch 6.1b.025 (extra)
- Problem: Win32: When closing gvim while it is minimized and has a changed
- file, the file-changed dialog pops up in a corner of the screen.
- Solution: Put the dialog in the middle of the screen.
- Files: src/gui_w48.c
- Patch 6.1b.026
- Problem: When 'diffopt' contains 'iwhite' but not 'icase': differences in
- case are not highlighted properly. (Gerhard Hochholzer)
- Solution: Don't ignore case when ignoring white space differences.
- Files: src/diff.c
- Patch 6.1b.027
- Problem: "vim --remote +" may cause a crash.
- Solution: Check for missing file name argument. (Martin Kahlert)
- Files: src/main.c
- Patch 6.1b.028 (extra)
- Problem: Win16: Can't compile after patch 6.1b.025.
- Solution: Add code specifically for Win16. (Vince Negri)
- Files: src/gui_w48.c
- Patch 6.1b.029
- Problem: Win32: When a directory on an NTFS partition is read/execute (no
- delete,modify,write) and the file has modify rights, trying to
- write the file deletes it. Making the file read/write/execute
- (not delete) solves it. (Mark Canup)
- Solution: Use the Unix code to check for a writable directory. If not, then
- make a backup copy and overwrite the file.
- Files: src/fileio.c
- Patch 6.1b.030 (extra)
- Problem: Mac: small mistake in the build script and prototypes.
- Solution: Fix the build script and add the prototypes. (Axel Kielhorn)
- Files: src/os_mac.build, src/gui_mac.c
- Patch 6.1b.031 (extra)
- Problem: Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting
- font name. (Vlad Sandrini)
- Solution: Put the code back in gui_mch_init_font() to form the font name out
- of the logfont.
- Files: src/gui_w48.c
- Patch 6.1b.032
- Problem: Athena: Setting a color scheme before the GUI has started causes a
- crash. (Todd Blumer)
- Solution: Don't try using color names that haven't been set yet.
- Files: src/gui_athena.c
- Patch 6.1b.033
- Problem: When using a count after a ":s" command may get ml_get errors.
- (Dietmar Lang)
- Solution: Check that the resulting range does not go past the end of the
- buffer.
- Files: src/ex_cmds.c
- Patch 6.1b.034
- Problem: After sourcing mswin.vim, when using <C-S-Right> after
- auto-indenting and then <Del>, get warning for allocating
- ridiculous amount of memory. (Dave Delgreco)
- Solution: Adjust the start of the Visual area when deleting the auto-indent.
- Files: src/edit.c
- Patch 6.1b.035
- Problem: When using evim, dropping a file on Vim and then double clicking
- on a word, it is changed to "i". (Merlin Hansen)
- Solution: Reset need_start_insertmode after editing the file.
- Files: src/ex_docmd.c
- ==============================================================================
- VERSION 6.2 *version-6.2*
- This section is about improvements made between version 6.1 and 6.2.
- This is mainly a bug-fix release. There are also a few new features.
- Main new features:
- - Support for GTK 2. (Daniel Elstner)
- - Support for editing Arabic text. (Nadim Shaikli & Isam Bayazidi)
- - ":try" command and exception handling. (Servatius Brandt)
- - Support for the neXtaw GUI toolkit (mostly like Athena). (Alexey Froloff)
- - Cscope support for Win32. (Khorev Sergey)
- - Support for PostScript printing in various 8-bit encodings. (Mike Williams)
- Changed *changed-6.2*
- -------
- Removed the scheme indent file, the internal Lisp indenting works well now.
- Moved the GvimEXt, OleVim and VisVim directories into the "src" directory.
- This is more consistent with how xxd is handled.
- The VisVim.dll file is installed in the top directory, next to gvimext.dll,
- instead of in a subdirectory "VisVim". Fixes that NSIS was uninstalling it
- from the wrong directory.
- Removed the art indent file, it didn't do anything.
- submatch() returned line breaks with CR instead of LF.
- Changed the Win32 Makefiles to become more uniform and compile gvimext.dll.
- (Dan Sharp)
- 'cindent': Align a "//" comment with a "//" comment in a previous line.
- (Helmut Stiegler)
- Previously only for xterm-like terminals parent widgets were followed to find
- the title and icon label. Now do this for all terminal emulators.
- Made it possible to recognize backslashes for "%" matching. The 'M' flag in
- 'cpoptions' disables it. (Haakon Riiser)
- Removed the Make_tcc.mak makefile for Turbo C. It didn't work and we probably
- can't make it work (the compiler runs out of memory).
- Even though the documentation refers to keywords, "[ CTRL-D" was using
- 'isident' to find matches. Changed it to use 'iskeyword'. Also applies to
- other commands that search for defined words in included files such as
- ":dsearch", "[D" and "[d".
- Made 'keywordprg' global-local. (Christian Robinson)
- Enabled the Netbeans interface by default. Reversed the configure argument
- from "--enable-netbeans" to "--disable-netbeans".
- Added *added-6.2*
- -----
- New options:
- 'arabic'
- 'arabicshape'
- 'ambiwidth'
- 'autochdir'
- 'casemap'
- 'copyindent'
- 'cscopequickfix'
- 'preserveindent'
- 'printencoding'
- 'rightleftcmd'
- 'termbidi'
- 'toolbariconsize'
- 'winfixheight'
- New keymaps:
- Serbian (Aleksandar Veselinovic)
- Chinese Pinyin (Fredrik Roubert)
- Esperanto (Antoine J. Mechelynck)
- New syntax files:
- Valgrind (Roger Luethi)
- Smarty template (Manfred Stienstra)
- MySQL (Kenneth Pronovici)
- RockLinux package description (Piotr Esden-Tempski)
- MMIX (Dirk Huesken)
- gkrellmrc (David Necas)
- Tilde (Tobias Rundtrom)
- Logtalk (Paulo Moura)
- PLP (Juerd Waalboer)
- fvwm2m4 (David Necas)
- IPfilter (Hendrik Scholz)
- fstab (Radu Dineiu)
- Quake (Nikolai Weibull)
- Occam (Mario Schweigler)
- lpc (Shizhu Pan)
- Exim conf (David Necas)
- EDIF (Artem Zankovich)
- .cvsrc (Nikolai Weibull)
- .fetchmailrc (Nikolai Weibull)
- GNU gpg (Nikolai Weibull)
- Grub (Nikolai Weibull)
- Modconf (Nikolai Weibull)
- RCS (Dmitry Vasiliev)
- Art (Dorai Sitaram)
- Renderman Interface Bytestream (Andrew J Bromage)
- Mailcap (Doug Kearns)
- Subversion commit file (Dmitry Vasiliev)
- Microsoft IDL (Vadim Zeitlin)
- WildPackets EtherPeek Decoder (Christopher Shinn)
- Spyce (Rimon Barr)
- Resolv.conf (Radu Dineiu)
- A65 (Clemens Kirchgatterer)
- sshconfig and sshdconfig (David Necas)
- Cheetah and HTMLCheetah (Max Ischenko)
- Packet filter (Camiel Dobbelaar)
- New indent files:
- Eiffel (David Clarke)
- Tilde (Tobias Rundtrom)
- Occam (Mario Schweigler)
- Art (Dorai Sitaram)
- PHP (Miles Lott)
- Dylan (Brent Fulgham)
- New tutor translations:
- Slovak (Lubos Celko)
- Greek (Christos Kontas)
- German (Joachim Hofmann)
- Norwegian (Øyvind Holm)
- New filetype plugins:
- Occam (Mario Schweigler)
- Art (Dorai Sitaram)
- ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim,
- jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim,
- xhtml.vim, xml.vim, xsd.vim. (Dan Sharp)
- New compiler plugins:
- Checkstyle (Doug Kearns)
- g77 (Ralf Wildenhues)
- fortran (Johann-Guenter Simon)
- Xmllint (Doug Kearns)
- Ruby (Tim Hammerquist)
- Modelsim vcom (Paul Baleme)
- New menu translations:
- Brazilian (José de Paula)
- British (Mike Williams)
- Korean in UTF-8. (Nam SungHyun)
- Norwegian (Øyvind Holm)
- Serbian (Aleksandar Jelenak)
- New message translation for Norwegian. (Øyvind Holm)
- New color scheme:
- desert (Hans Fugal)
- Arabic specific features. 'arabicshape', 'termbidi', 'arabic' and
- 'rightleftcmd' options. (Nadim Shaikli & Isam Bayazidi)
- Support for neXtaw GUI toolkit, mostly like Athena. (Alexey Froloff)
- Win32: cscope support. (Khorev Sergey)
- VMS: various improvements to documentation and makefiles. (Zoltan Arpadffy)
- Added "x" key to the explorer plugin: execute the default action. (Yasuhiro
- Matsumoto)
- Compile gvimext.dll with MingW. (Rene de Zwart)
- Add the "tohtml.vim" plugin. It defines the ":TOhtml" user command, an easy
- way to convert text to HTML.
- Added ":try" / ":catch" / ":finally" / ":endtry" commands. Add E999 numbers
- to all error messages, so that they can be caught by the number.
- (Servatius Brandt)
- Moved part of ex_docmd.c to the new ex_eval.c source file.
- Include support for GTK+ 2.2.x (Daniel Elstner)
- Adds the "~" register: drag & drop text.
- Adds the 'toolbariconsize' option.
- Add -Dalloca when running lint to work around a problem with alloca()
- prototype.
- When selecting an item in the error window to jump to, take some effort to
- find an ordinary window to show the file in (not a preview window).
- Support for PostScript printing of various 8-bit encodings. (Mike Williams)
- inputdialog() accepts a third argument that is used when the dialog is
- cancelled. Makes it possible to see a difference between cancelling and
- entering nothing.
- Included Aap recipes. Can be used to update Vim to the latest version,
- building and installing.
- "/" option in 'cinoptions': extra indent for comment lines. (Helmut Stiegler)
- Vim variable "v:register" and functions setreg(), getreg() and getregtype().
- (Michael Geddes)
- "v" flag in 'cpoptions': Leave text on screen with backspace in Insert mode.
- (Phillip Vandry)
- Dosinst.exe also finds gvimext.dll in the "GvimExt" directory. Useful when
- running install in the "src" directory for testing.
- Support tag files that were sorted with case ignored. (Flemming Madsen)
- When completing a wildcard in a leading path element, as in "../*/Makefile",
- only the last part ("Makefile") was listed. Support custom defined
- command line completion. (Flemming Madsen)
- Also recognize "rxvt" as an xterm-like terminal. (Tomas Styblo)
- Proper X11 session management. Fixes that the WM_SAVE_YOURSELF event was not
- used by popular desktops. (Neil Bird)
- Not used for Gnome 2, it has its own handling.
- Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (Walter
- Briscoe)
- Support page breaks for printing. Adds the "formfeed" field in
- 'printoptions'. (Mike Williams)
- Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, Axel
- Kielhorn)
- "\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron)
- Added 'preserveindent' and 'copyindent' options. They use existing white
- space characters instead of using Tabs as much as possible. (Chris Leishman)
- Updated Unicode tables to Unicode 4.0. (Raphael Finkel)
- Support for the mouse wheel in rxvt. (AIDA Shinra)
- Win32: Added ":8" file modifier to get short filename. Test50 tests the ":8"
- expansion on Win32 systems. (Michael Geddes)
- 'cscopequickfix' option: Open quickfix window for Cscope commands. Also
- cleanup the code for giving messages. (Khorev Sergey)
- GUI: Support more than 222 columns for mouse positions.
- ":stopinsert" command: Don't return to Insert mode.
- "interrupt" command for debug mode. Useful for simulating CTRL-C. (Servatius
- Brandt)
- Fixed *fixed-6.2*
- -----
- Removed a few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h.
- The Vim icons in PNG format didn't have a transparent background. (Greg
- Roelofs)
- Fixed a large number of spelling mistakes in the docs. (Adri Verhoef)
- The #defines for prototype generation were causing trouble. Changed them to
- typedefs.
- A new version of libintl.h uses __asm__, which confuses cproto. Define a
- dummy __asm__ macro.
- When 'virtualedit' is set can't move to halfway an unprintable character.
- Cripples CTRL-V selection. (Taro Muraoka)
- Allow moving to halfway an unprintable character. Don't let getvvcol() change
- the pos->coladd argument.
- When a tab wraps to the next line, 'listchars' is set and 'foldcolumn' is
- non-zero, only one character of the foldcolumn is highlighted. (Muraoka Taro)
- When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto)
- When no argument given use the ".*" pattern.
- Win32: When gvim.exe is started from a shortcut with the window style property
- set to maximize Vim doesn't start with a maximized window. (Yasuhiro
- Matsumoto) Open the window with the default size and don't call ShowWindow()
- again when it's already visible. (Helmut Stiegler)
- gui_gtk.c used MAX, but it's undefined to avoid a conflict with system header
- files.
- Win32: When closing a window from a mapping some pixels remain on the
- statusline. (Yasuhiro Matsumoto)
- A column number in an errorformat that goes beyond the end of the line may
- cause a crash.
- ":throw 'test'" crashes Vim. (Yasuhiro Matsumoto)
- The file selector's scrollbar colors are not set after doing a ":hi Scrollbar
- guifg=color". And the file selector's colors are not changed by the
- colorscheme command. (David Harrison)
- Motif: When compiling with FEAT_FOOTER defined, the text area gets a few
- pixels extra space on the right. Remove the special case in
- gui_get_base_width(). (David Harrison)
- Using CTRL-R CTRL-P in Insert mode puts the '] mark in the wrong position.
- (Helmut Stiegler)
- When 'formatoptions' includes "awct" a non-comment wasn't auto-formatted.
- Using a "--cmd" argument more than 10 times caused a crash.
- DEC style mouse support didn't work if the page field is not empty.
- (Uribarri)
- "vim -l one two" did only set 'lisp' in the first file. Vi does it for every
- file.
- ":set tw<" didn't work. Was checking for '^' instead of '<'.
- In ":hardcopy > %.ps" the "%" was not expanded to the current filename.
- Made ":redraw" also update the Visual area.
- When a not implemented command, such as ":perl", has wrong arguments the less
- important error was reported, giving the user the idea the command could work.
- On non-Unix systems autocommands for writing did not attempt a match with the
- short file name, causing a pattern like "a/b" to fail.
- VMS: e_screenmode was not defined and a few other fixes for VMS. (Zoltan
- Arpadffy)
- redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (Walter
- Briscoe)
- Various changes for the PC Makefiles. (Walter Briscoe)
- Use _truename() instead of our own code to expand a file name into a full
- path. (Walter Briscoe)
- Error in filetype check for /etc/modutils. (Lubomir Host)
- Cscope interface: allocated a buffer too small.
- Win16: remove a trailing backslash from a path when obtaining the permission
- flags. (Vince Negri)
- When searching for tags with case ignored Vim could hang.
- When searching directories with a stopdir could get a crash. Did not
- re-allocate enough memory. (Vince Negri)
- A user command may cause a crash. Don't use the command index when it's
- negative. (Vince Negri)
- putenv() didn't work for MingW and Cygwin. (Dan Sharp)
- Many functions were common between os_msdos.c and os_win16.c. Use os_msdos.c
- for compiling the Win16 version and remove the functions from os_win16.c.
- (Vince Negri)
- For terminals that behave like an xterm but didn't have a name that is
- recognized, the window title would not always be set.
- When syntax highlighting is off ":hardcopy" could still attempt printing
- colors.
- Crash when using ":catch" without an argument. (Servatius Brandt)
- Win32: ":n #" doubled the backslashes.
- Fixed Arabic shaping for the command line. (Nadim Shaikli)
- Avoid splitting up a string displayed on the command line into individual
- characters, it breaks Arabic shaping.
- Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp)
- 2html.vim didn't work with 'nomagic' set.
- When a local argument list is used and doing ":only" Vim could crash later.
- (Muraoka Taro)
- When using "%P" in 'statusline' and the fillchar is "-", a percentage of 3%
- could result in "-3%". Also avoid changing a space inside a filename to the
- fill character.
- MSwin: Handling of backslashes and double quotes for command line arguments
- was not like what other applications do. (Walter Briscoe)
- Test32 sometimes didn't work, because test11.out was written as TEST11.OUT.
- Avoid pointer conversions warnings for Borland C 5.5 in dosinst.c and
- uninstal.c.
- More improvements for Make_bc3.mak file. (Walter Briscoe)
- When ":syn sync linebreaks=1" is used, editing the first line caused a redraw
- of the whole screen.
- Making translated messages didn't work, if_perl.xs wasn't found. (Vlad
- Sandrini)
- Motif and Athena: moving Vim to the foreground didn't uniconify it. Use
- XMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran)
- When using ":ptag" in a window where 'scrollbind' is set the preview window
- would also have 'scrollbind' set. Also reset 'foldcolumn' and 'diff'.
- Various commands that split a window took over 'scrollbind', which is hardly
- ever desired. Esp. for "q:" and ":copen". Mostly reset 'scrollbind' when
- splitting a window.
- When 'shellslash' is set in the vimrc file the first entry of ":scriptnames"
- would still have backslashes. Entries in the quickfix list could also have
- wrong (back)slashes.
- Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
- When using a multibyte character with a K_SPECIAL byte or a special key code
- with "--remote-send" the received byte sequence was mangled. Put it in the
- typeahead buffer instead of the input buffer.
- Win32: The cursor position was incorrect after changing cursor shape.
- (Yasuhiro Matsumoto).
- Win32: When 'encoding' is not the current codepage the title could not be set
- to non-ascii characters.
- "vim -d scp://machine/file1 scp://machine/file2" did not work, there was only
- one window. Fixed the netrw plugin not to wipe out the buffer if it is
- displayed in other windows.
- "/$" caused "e" in last column of screen to disappear, a highlighted blank was
- displayed instead.
- ":s/ *\ze\n//e" removed the line break and introduced arbitrary text. Was
- using the line count including what matched after the "\ze".
- Using the "c" flag with ":s" changed the behavior when a line break is
- replaced and "\@<=" is used. Without "c" a following match was not found.
- ":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n".
- VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy)
- When a delete prompts if a delete should continue when yanking is not
- possible, restore msg_silent afterwards.
- ":sign" did not complain about a missing argument.
- When adding or deleting a sign 'hlsearch' highlighting could disappear.
- Use the generic functions for updating signs.
- On MS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing.
- Makes the tests work on more systems.
- In the DOS tests don't create "/tmp" to avoid an error.
- Mac classic: Problems with reading files with CR vs CR/LF. Rely on the
- library version of fgets() to work correctly for Metrowerks 2.2. (Axel
- Kielhorn)
- When typing a password a "*" was shown for each byte instead of for each
- character. Added multibyte handling to displaying the stars. (Yasuhiro
- Matsumoto)
- When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use
- different code for 5.6 and 5.8. (Dan Sharp)
- MingW and Cygwin: Don't strip the debug executable. (Dan Sharp)
- An assignment to a variable with curlies that includes "==" doesn't work.
- Skip over the curlies before searching for an "=". (Vince Negri)
- When cancelling the selection of alternate matching tags the tag stack index
- could be advanced too far, resulting in an error message when using CTRL-T.
- Patch 6.1.001
- Problem: When formatting UTF-8 text it might be wrapped at a space that is
- followed by a composing character. (Raphael Finkel)
- Also correct a display error for removing a composing char on top
- of a space.
- Solution: Check for a composing character on a space.
- Files: src/edit.c, src/misc1.c, src/screen.c
- Patch 6.1.002 (extra)
- Problem: Win32: after a ":popup" command the mouse pointer stays hidden.
- Solution: Unhide the mouse pointer before showing the menu.
- Files: src/gui_w48.c
- Patch 6.1.003
- Problem: When 'laststatus' is zero and there is a vertical split, the
- vertical separator is drawn in the command line. (Srikant
- Sankaran)
- Solution: Don't draw the vertical separator where there is no statusline.
- Files: src/screen.c
- Patch 6.1.004
- Problem: Unicode 3.2 changes width and composing of a few characters.
- (Markus Kuhn)
- Solution: Adjust the Unicode functions for the character width and composing
- characters.
- Files: src/mbyte.c
- Patch 6.1.005
- Problem: When using more than 50 items in 'statusline' Vim might crash.
- (Steve Hall)
- Solution: Increment itemcnt in check_stl_option(). (Flemming Madsen)
- Files: src/option.c
- Patch 6.1.006
- Problem: When using "P" in Visual mode to put linewise selected text, the
- wrong text is deleted. (Jakub Turski)
- Solution: Put the text before the Visual area and correct the text to be
- deleted for the inserted lines.
- Also fix that "p" of linewise text in Visual block mode doesn't
- work correctly.
- Files: src/normal.c, src/ops.c
- Patch 6.1.007
- Problem: Using ":filetype plugin off" when filetype plugins were never
- enabled causes an error message. (Yiu Wing)
- Solution: Use ":silent!" to avoid the error message.
- Files: runtime/ftplugof.vim
- Patch 6.1.008
- Problem: The "%" command doesn't ignore \" inside a string, it's seen as
- the end of the string. (Ken Clark)
- Solution: Skip a double quote preceded by an odd number of backslashes.
- Files: src/search.c
- Patch 6.1.009
- Problem: Vim crashes when using a huge number for the maxwid value in a
- statusline. (Robert M. Nowotniak)
- Solution: Check for an overflow that makes maxwid negative.
- Files: src/buffer.c
- Patch 6.1.010
- Problem: Searching backwards for a question mark with "?\?" doesn't work.
- (Alan Isaac) Same problem in ":s?\??" and ":g?\??".
- Solution: Change the "\?" in a pattern to "?" when using "?" as delimiter.
- Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c,
- src/search.c, src/syntax.c, src/tag.c
- Patch 6.1.011
- Problem: XIM: doesn't work correctly when 'number' is set. Also, a focus
- problem when selecting candidates.
- Solution: Fix the XIM problems. (Yasuhiro Matsumoto)
- Files: src/mbyte.c, src/screen.c
- Patch 6.1.012
- Problem: A system() call might fail if fread() does CR-LF to LF
- translation.
- Solution: Open the output file in binary mode. (Pavol Huhas)
- Files: src/misc1.c
- Patch 6.1.013
- Problem: Win32: The default for 'printexpr' doesn't work when there are
- special characters in 'printdevice'.
- Solution: Add double quotes around the device name. (Mike Williams)
- Files: runtime/doc/option.txt, src/option.c
- Patch 6.1.014
- Problem: An operator like "r" used in Visual block mode doesn't use
- 'virtualedit' when it's set to "block".
- Solution: Check for 'virtualedit' being active in Visual block mode when the
- operator was started.
- Files: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c,
- src/ops.c, src/undo.c
- Patch 6.1.015
- Problem: After patch 6.1.014 can't compile with tiny features. (Christian
- J. Robinson)
- Solution: Add the missing define of virtual_op.
- Files: src/vim.h
- Patch 6.1.016 (extra)
- Problem: Win32: Outputting Hebrew or Arabic text might have a problem with
- reversing.
- Solution: Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron)
- Files: src/gui_w32.c
- Patch 6.1.017
- Problem: Cygwin: After patch 6.1.012 Still doesn't do binary file I/O.
- (Pavol Juhas)
- Solution: Define BINARY_FILE_IO for Cygwin.
- Files: src/os_unix.h
- Patch 6.1.018
- Problem: Error message when using cterm highlighting. (Leonardo Di Lella)
- Solution: Remove a backslash before a question mark.
- Files: runtime/syntax/cterm.vim
- Patch 6.1.019 (extra)
- Problem: Win32: File name is messed up when editing just a drive name.
- (Walter Briscoe)
- Solution: Append a NUL after the drive name. (Vince Negri)
- Files: src/os_win32.c
- Patch 6.1.020
- Problem: col("'>") returns a huge number after using Visual line mode.
- Solution: Return the length of the line instead.
- Files: src/eval.c
- Patch 6.1.021 (depends on patch 6.1.009)
- Problem: Vim crashes when using a huge number for the minwid value in a
- statusline. (Robert M. Nowotniak)
- Solution: Check for an overflow that makes minwid negative.
- Files: src/buffer.c
- Patch 6.1.022
- Problem: Grabbing the status line above the command-line window works like
- the bottom status line was grabbed. (Jim Battle)
- Solution: Make it possible to grab the status line above the command-line
- window, so that it can be resized.
- Files: src/ui.c
- Patch 6.1.023 (extra)
- Problem: VMS: running tests doesn't work properly.
- Solution: Adjust the makefile. (Zoltan Arpadffy)
- Files: src/testdir/Make_vms.mms
- Patch 6.1.024
- Problem: When header files use a new syntax for declaring functions, Vim
- can't figure out missing prototypes properly.
- Solution: Accept braces around a function name. (M. Warner Losh)
- Files: src/osdef.sh
- Patch 6.1.025
- Problem: Five messages for "vim --help" don't start with a capital. (Vlad
- Sandrini)
- Solution: Make the messages consistent.
- Files: src/main.c
- Patch 6.1.026
- Problem: *.patch files are not recognized as diff files. In a script a
- "VAR=val" argument after "env" isn't ignored. PHP scripts are not
- recognized.
- Solution: Add *.patch for diff filetypes. Ignore "VAR=val". Recognize PHP
- scripts. (Roman Neuhauser)
- Files: runtime/filetype.vim, runtime/scripts.vim
- Patch 6.1.027
- Problem: When 'foldcolumn' is non-zero, a special character that wraps to
- the next line disturbs the foldcolumn highlighting. (Yasuhiro
- Matsumoto)
- Solution: Only use the special highlighting when drawing text characters.
- Files: src/screen.c
- Patch 6.1.028
- Problem: Client-server: When a --remote-expr fails, Vim still exits with
- status zero.
- Solution: Exit Vim with a non-zero status to indicate the --remote-expr
- failed. (Thomas Scott Urban)
- Files: src/main.c
- Patch 6.1.029
- Problem: When 'encoding' is an 8-bit encoding other than "latin1", editing
- a utf-8 or other Unicode file uses the wrong conversion. (Jan
- Fedak)
- Solution: Don't use Unicode to latin1 conversion for 8-bit encodings other
- than "latin1".
- Files: src/fileio.c
- Patch 6.1.030
- Problem: When CTRL-N is mapped in Insert mode, it is also mapped after
- CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F.
- (Kontra Gergely)
- Solution: Don't map CTRL-N after CTRL-X CTRL-N. Same for CTRL-P.
- Files: src/getchar.c
- Patch 6.1.031
- Problem: Cygwin: Xxd could read a file in text mode instead of binary mode.
- Solution: Use "rb" or "rt" when needed. (Pavol Juhas)
- Files: src/xxd/xxd.c
- Patch 6.1.032
- Problem: Can't specify a quickfix file without jumping to the first error.
- Solution: Add the ":cgetfile" command. (Yegappan Lakshmanan)
- Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h,
- src/quickfix.c
- Patch 6.1.033
- Problem: GUI: When the selection is lost and the Visual highlighting is
- changed to underlining, the cursor is left in a different
- position. (Christian Michon)
- Solution: Update the cursor position after redrawing the selection.
- Files: src/ui.c
- Patch 6.1.034
- Problem: A CVS diff file isn't recognized as diff filetype.
- Solution: Skip lines starting with "? " before checking for an "Index:" line.
- Files: runtime/scripts.vim
- Patch 6.1.035 (extra, depends on 6.1.016)
- Problem: Win32: Outputting Hebrew or Arabic text might have a problem with
- reversing on MS-Windows 95/98/ME.
- Solution: Restore the RevOut() function and use it in specific situations
- only. (Ron Aaron)
- Files: src/gui_w32.c
- Patch 6.1.036
- Problem: This command may cause a crash: ":v/./,//-j". (Ralf Arens)
- Solution: Compute the right length of the regexp when it's empty.
- Files: src/search.c
- Patch 6.1.037
- Problem: When 'lazyredraw' is set, pressing "q" at the hit-enter prompt
- causes an incomplete redraw and the cursor isn't positioned.
- (Lubomir Host)
- Solution: Overrule 'lazyredraw' when do_redraw is set.
- Files: src/main.c, src/screen.c
- Patch 6.1.038
- Problem: Multi-byte: When a ":s" command contains a multibyte character
- where the trail byte is '~' the text is messed up.
- Solution: Properly skip multibyte characters in regtilde() (Muraoka Taro)
- Files: src/regexp.c
- Patch 6.1.039
- Problem: When folds are defined and the file is changed outside of Vim,
- reloading the file doesn't update the folds. (Anders
- Schack-Nielsen)
- Solution: Recompute the folds after reloading the file.
- Files: src/fileio.c
- Patch 6.1.040
- Problem: When changing directory for expanding a file name fails there is
- no error message.
- Solution: Give an error message for this situation. Don't change directory
- if we can't return to the original directory.
- Files: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c,
- src/os_unix.c
- Patch 6.1.041
- Problem: ":mkvimrc" doesn't handle a mapping that has a leading space in
- the rhs. (Davyd Ondrejko)
- Solution: Insert a CTRL-V before the leading space. Also display leading
- and trailing white space in <> form.
- Files: src/getchar.c, src/message.c
- Patch 6.1.042
- Problem: "vim -r" doesn't show all matches when 'wildignore' removes swap
- files. (Steve Talley)
- Solution: Keep all matching swap file names.
- Files: src/memline.c
- Patch 6.1.043
- Problem: After patch 6.1.040 a few warnings are produced.
- Solution: Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn)
- Files: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c
- Patch 6.1.044 (extra)
- Problem: GUI: When using the find/replace dialog with text that contains a
- slash, an invalid substitute command is generated.
- On Win32 a find doesn't work when 'insertmode' is set.
- Solution: Escape slashes with a backslash.
- Make the Win32, Motif and GTK gui use common code for the
- find/replace dialog.
- Add the "match case" option for Motif and GTK.
- Files: src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h,
- src/gui_motif.c, src/gui_gtk.c, src/gui_w48.c
- Patch 6.1.045
- Problem: In Visual mode, with lots of folds and 'scrolloff' set to 999,
- moving the cursor down near the end of the file causes the text to
- jump up and down. (Lubomir Host)
- Solution: Take into account that the cursor may be on the last line of a
- closed fold.
- Files: src/move.c
- Patch 6.1.046
- Problem: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black
- rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor
- disappear. (Nam SungHyun)
- Solution: Correctly compute the height of the horizontal cursor.
- Files: src/gui_gtk_x11.c, src/gui_x11.c
- Patch 6.1.047
- Problem: When skipping commands after an error was encountered, expressions
- for ":if", ";elseif" and ":while" are still evaluated.
- Solution: Skip the expression after an error. (Servatius Brandt)
- Files: src/ex_docmd.c
- Patch 6.1.048
- Problem: Unicode 3.2 changes were missing a few Hangul Jamo characters.
- Solution: Recognize more characters as composing characters. (Jungshik Shin)
- Files: src/mbyte.c
- Patch 6.1.049 (extra)
- Problem: On a 32 bit display a valid color may cause an error message,
- because its pixel value is negative. (Chris Paulson-Ellis)
- Solution: Check for -11111 instead of the color being negative.
- Don't add one to the pixel value, -1 may be used for white.
- Files: src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c,
- src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c,
- src/gui_mac.c, src/gui_motif.c, src/gui_photon.c,
- src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c,
- src/gui_x11.c, src/mbyte.c, src/syntax.c
- Patch 6.1.050 (depends on 6.1.049)
- Problem: After patch 6.1.049 the non-GUI version doesn't compile.
- Solution: Add an #ifdef FEAT_GUI. (Robert Stanton)
- Files: src/syntax.c
- Patch 6.1.051 (depends on 6.1.044)
- Problem: Doesn't compile with GUI and small features.
- Solution: Adjust the #if for ga_append().
- Files: src/misc2.c
- Patch 6.1.052
- Problem: Unix: The executable() function doesn't work when the "which"
- command isn't available.
- Solution: Go through $PATH manually. Also makes it work for VMS.
- Files: src/os_unix.c
- Patch 6.1.053
- Problem: When 'sessionoptions' contains "globals", or "localoptions" and an
- option value contains a line break, the resulting script is wrong.
- Solution: Use "\n" and "\r" for a line break. (Srinath Avadhanula)
- Files: src/eval.c
- Patch 6.1.054
- Problem: GUI: A mouse click is not recognized at the more prompt, even when
- 'mouse' includes 'r'.
- Solution: Recognize a mouse click at the more prompt.
- Also accept a mouse click in the last line in the GUI.
- Add "ml" entry in 'mouseshape'.
- Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c,
- src/structs.h
- Patch 6.1.055
- Problem: When editing a compressed file, Vim will inspect the contents to
- guess the filetype.
- Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files.
- Files: runtime/filetype.vim, runtime/plugin/gzip.vim
- Patch 6.1.056
- Problem: Loading the Syntax menu can take quite a bit of time.
- Solution: Add the "skip_syntax_sel_menu" variable. When it's defined the
- available syntax files are not in the Syntax menu.
- Files: runtime/doc/gui.txt, runtime/menu.vim
- Patch 6.1.057
- Problem: An ESC inside a mapping doesn't work as documented when
- 'insertmode' is set, it does go from Visual or Normal mode to
- Insert mode. (Benji Fisher)
- Solution: Make it work as documented.
- Files: src/normal.c
- Patch 6.1.058
- Problem: When there is a closed fold just above the first line in the
- window, using CTRL-X CTRL-Y in Insert mode will show only one line
- of the fold. (Alexey Marinichev)
- Solution: Correct the topline by putting it at the start of the fold.
- Files: src/move.c
- Patch 6.1.059
- Problem: ":redir > ~/file" doesn't work. (Stephen Rasku)
- Solution: Expand environment variables in the ":redir >" argument.
- Files: src/ex_docmd.c
- Patch 6.1.060
- Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting
- a character just before a tab changes the tab into spaces. Undo
- doesn't restore the tab. (Helmut Stiegler)
- Solution: Don't replace the tab by spaces when it's not needed. Correctly
- save the line before it's changed.
- Files: src/ops.c
- Patch 6.1.061
- Problem: When 'virtualedit' is set and 'selection' is "exclusive", a Visual
- selection that ends just after a tab doesn't include that tab in
- the highlighting. (Helmut Stiegler)
- Solution: Use a different way to exclude the character under the cursor.
- Files: src/screen.c
- Patch 6.1.062
- Problem: The "man" filetype plugin doesn't work properly on Solaris 5.
- Solution: Use a different way to detect that "man -s" should be used. (Hugh
- Sasse)
- Files: runtime/ftplugin/man.vim
- Patch 6.1.063
- Problem: Java indenting doesn't work properly.
- Solution: Ignore comments when checking if the indent doesn't increase after
- a "}".
- Files: runtime/indent/java.vim
- Patch 6.1.064
- Problem: The URLs that the netrw plugin recognized for ftp and rcp did not
- conform to the standard method://[user@]host[:port]/path.
- Solution: Use ftp://[user@]host[[:#]port]/path, which supports both the new
- and the previous style. Also added a bit of dav/cadaver support.
- (Charles Campbell)
- Files: runtime/plugin/netrw.vim
- Patch 6.1.065
- Problem: VMS: The colorscheme, keymap and compiler menus are not filled in.
- Solution: Ignore case when looking for ".vim" files. (Coen Engelbarts)
- Files: runtime/menu.vim
- Patch 6.1.066 (extra)
- Problem: When calling system() in a plugin reading stdin hangs.
- Solution: Don't set the terminal to RAW mode when it wasn't in RAW mode
- before the system() call.
- Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c,
- src/os_win16.c, src/os_win32.c
- Patch 6.1.067
- Problem: ":set viminfo+=f0" is not working. (Benji Fisher)
- Solution: Check the "f" flag instead of "'" in 'viminfo'.
- Files: src/mark.c
- Patch 6.1.068
- Problem: When a file is reloaded after it was changed outside of Vim, diff
- mode isn't updated. (Michael Naumann)
- Solution: Invalidate the diff info so that it's updated when needed.
- Files: src/fileio.c
- Patch 6.1.069
- Problem: When 'showmatch' is set and "$" is in 'cpoptions', using
- "C}<Esc>" may forget to remove the "$". (Preben Guldberg)
- Solution: Restore dollar_vcol after displaying the matching cursor position.
- Files: src/search.c
- Patch 6.1.070 (depends on 6.1.060)
- Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams)
- Solution: Add a typecast to int.
- Files: src/ops.c
- Patch 6.1.071
- Problem: When 'selection' is exclusive, g CTRL-G in Visual mode counts one
- character too much. (David Necas)
- Solution: Subtract one from the end position.
- Files: src/ops.c
- Patch 6.1.072
- Problem: When a file name in a tags file starts with http:// or something
- else for which there is a BufReadCmd autocommand, the file isn't
- opened anyway.
- Solution: Check if there is a matching BufReadCmd autocommand and try to
- open the file.
- Files: src/fileio.c, src/proto/fileio.pro, src/tag.c
- Patch 6.1.073 (extra)
- Problem: BC5: Can't easily specify a tiny, small, normal, big or huge
- version.
- Solution: Allow selecting the version with the FEATURES variable. (Ajit
- Thakkar)
- Files: src/Make_bc5.mak
- Patch 6.1.074
- Problem: When 'cdpath' includes "../..", changing to a directory in which
- we currently already are doesn't work. ff_check_visited() adds
- the directory both when using it as the root for searching and for
- the actual matches. (Stephen Rasku)
- Solution: Use a separate list for the already searched directories.
- Files: src/misc2.c
- Patch 6.1.075 (depends on 6.1.072)
- Problem: Can't compile fileio.c on MS-Windows.
- Solution: Add a declaration for the "p" pointer. (Madoka Machitani)
- Files: src/fileio.c
- Patch 6.1.076 (extra)
- Problem: Macintosh: explorer plugin doesn't work on Mac Classic.
- IME doesn't work. Dialog boxes don't work on Mac OS X
- Solution: Fix explorer plugin and key modifiers. (Axel Kielhorn)
- Fix IME support. (Muraoka Taro)
- Disable dialog boxes. (Benji Fisher)
- Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c
- Patch 6.1.077
- Problem: On a Debian system with ACL linking fails. (Lubomir Host)
- Solution: When the "acl" library is used, check if the "attr" library is
- present and use it.
- Files: src/auto/configure, src/configure.in, src/link.sh
- Patch 6.1.078
- Problem: When using 'foldmethod' "marker" and the end marker appears before
- the start marker in the file, no fold is found. (Nazri Ramliy)
- Solution: Don't let the fold depth go negative.
- Files: src/fold.c
- Patch 6.1.079
- Problem: When using "s" in Visual block mode with 'virtualedit' set, when
- the selected block is after the end of some lines the wrong text
- is inserted and some lines are skipped. (Servatius Brandt)
- Solution: Insert the right text and extend short lines.
- Files: src/ops.c
- Patch 6.1.080
- Problem: When using gcc with /usr/local already in the search path, adding
- it again causes problems.
- Solution: Adjust configure.in to avoid adding /usr/local/include and
- /usr/local/lib when using GCC and they are already used. (Johannes
- Zellner)
- Files: src/auto/configure, src/configure.in
- Patch 6.1.081
- Problem: ":help CTRL-\_CTRL-N" doesn't work. (Christian J. Robinson)
- Solution: Double the backslash to avoid the special meaning of "\_".
- Files: src/ex_cmds.c
- Patch 6.1.082
- Problem: On MS-Windows the vimrc_example.vim script is sourced and then
- mswin.vim. This enables using select mode, but since "p" is
- mapped it doesn't replace the selection.
- Solution: Remove the mapping of "p" from vimrc_example.vim, it's obsolete.
- (Vlad Sandrini)
- Files: runtime/vimrc_example.vim
- Patch 6.1.083
- Problem: When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found.
- (Martin Lacko)
- Solution: Guess the right menu file based on the system.
- Files: runtime/lang/menu_sk_sk.vim
- Patch 6.1.084 (depends on 6.1.080)
- Problem: "include" and "lib" are mixed up when checking the directories gcc
- already searches.
- Solution: Swap the variable names. (SunHo Kim)
- Files: src/auto/configure, src/configure.in
- Patch 6.1.085
- Problem: When using CTRL-O CTRL-\ CTRL-N from Insert mode, the displayed
- mode "(insert)" isn't removed. (Benji Fisher)
- Solution: Clear the command line.
- Files: src/normal.c
- Patch 6.1.086 (depends on 6.1.049)
- Problem: The guifg color for CursorIM doesn't take effect.
- Solution: Use the foreground color when it's defined. (Muraoka Taro)
- Files: src/gui.c
- Patch 6.1.087
- Problem: A thesaurus with Japanese characters has problems with characters
- in different word classes.
- Solution: Only separate words with single-byte non-word characters.
- (Muraoka Taro)
- Files: src/edit.c
- Patch 6.1.088 (extra)
- Problem: Win32: no debugging info is generated. Tags file excludes .cpp
- files.
- Solution: Add "/map" to compiler flags. Add "*.cpp" to ctags command.
- (Muraoka Taro)
- Files: src/Make_mvc.mak
- Patch 6.1.089
- Problem: On BSDI systems there is no ss_sp field in stack_t. (Robert Jan)
- Solution: Use ss_base instead.
- Files: src/auto/configure, src/configure.in, src/config.h.in,
- src/os_unix.c
- Patch 6.1.090
- Problem: CTRL-F gets stuck when 'scrolloff' is non-zero and there is a mix
- of long wrapping lines and a non-wrapping line.
- Solution: Check that CTRL-F scrolls at least one line.
- Files: src/move.c
- Patch 6.1.091
- Problem: GTK: Can't change preeditstate without setting 'imactivatekey'.
- Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro
- Matsumoto)
- Files: src/mbyte.c
- Patch 6.1.092
- Problem: ":mapclear <buffer>" doesn't work. (Srikanth Adayapalam)
- Solution: Allow an argument for ":mapclear".
- Files: src/ex_cmds.h
- Patch 6.1.093 (extra)
- Problem: Mac and MS-Windows GUI: when scrolling while ":s" is working the
- results can be messed up, because the cursor is moved.
- Solution: Disallow direct scrolling when not waiting for a character.
- Files: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
- Patch 6.1.094
- Problem: Cygwin: Passing a file name that has backslashes isn't handled
- very well.
- Solution: Convert file name arguments to Posix. (Chris Metcalf)
- Files: src/main.c
- Patch 6.1.095
- Problem: When using signs can free an item on the stack.
- Overruling sign colors doesn't work. (Srikanth Sankaran)
- Solution: Don't free the item on the stack. Use NULL instead of "none" for
- the value of the color.
- Files: src/gui_x11.c
- Patch 6.1.096
- Problem: When erasing the right half of a double-byte character, it may
- cause further characters to be erased. (Yasuhiro Matsumoto)
- Solution: Make sure only one character is erased.
- Files: src/screen.c
- Patch 6.1.097 (depends on 6.1.090)
- Problem: When 'scrolloff' is set to a huge value, CTRL-F at the end of the
- file scrolls one line. (Lubomir Host)
- Solution: Don't scroll when CTRL-F detects the end-of-file.
- Files: src/move.c
- Patch 6.1.098
- Problem: MS-Windows: When the xxd program is under "c:\program files" the
- "Convert to Hex" menu doesn't work. (Brian Mathis)
- Solution: Put the path to xxd in double quotes.
- Files: runtime/menu.vim
- Patch 6.1.099
- Problem: Memory corrupted when closing a fold with more than 99999 lines.
- Solution: Allocate more space for the fold text. (Walter Briscoe)
- Files: src/eval.c
- Patch 6.1.100 (extra, depends on 6.1.088)
- Problem: Win32: VC5 and earlier don't support the /mapinfo option.
- Solution: Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro)
- Files: src/Make_mvc.mak
- Patch 6.1.101
- Problem: After using ":options" the tabstop of a new window is 15. Entry
- in ":options" window for 'autowriteall' is wrong. (Antoine J
- Mechelynck) Can't insert a space in an option value.
- Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
- Don't map space in Insert mode.
- Files: runtime/optwin.vim
- Patch 6.1.102
- Problem: Unprintable and multibyte characters in a statusline item are not
- truncated correctly. (Yasuhiro Matsumoto)
- Solution: Count the width of characters instead of the number of bytes.
- Files: src/buffer.c
- Patch 6.1.103
- Problem: A function returning from a while loop, with 'verbose' set to 12
- or higher, doesn't mention the return value. A function with the
- 'abort' attribute may return -1 while the verbose message says
- something else.
- Solution: Move the verbose message about returning from a function to
- call_func(). (Servatius Brandt)
- Files: src/eval.c
- Patch 6.1.104
- Problem: GCC 3.1 appears to have an optimizer problem that makes test 3
- crash.
- Solution: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug.
- Filter out extra info from "gcc --version".
- Files: src/auto/configure, src/configure.in
- Patch 6.1.105
- Problem: Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion
- Nicolaas)
- Solution: Redirect stderr, depending on the shell (like for 'shellredir').
- Files: src/option.c
- Patch 6.1.106
- Problem: The maze program crashes.
- Solution: Change "11" to "27" and it works. (Greg Roelofs)
- Files: runtime/macros/maze/mazeansi.c
- Patch 6.1.107
- Problem: When 'list' is set the current line in the error window may be
- displayed wrong. (Muraoka Taro)
- Solution: Don't continue the line after the $ has been displayed and the
- rightmost column is reached.
- Files: src/screen.c
- Patch 6.1.108
- Problem: When interrupting a filter command such as "!!sleep 20" the file
- becomes read-only. (Mark Brader)
- Solution: Only set the read-only flag when opening a buffer is interrupted.
- When the shell command was interrupted, read the output that was
- produced so far.
- Files: src/ex_cmds.c, src/fileio.c
- Patch 6.1.109
- Problem: When 'eadirection' is "hor", using CTRL-W = doesn't equalize the
- window heights. (Roman Neuhauser)
- Solution: Ignore 'eadirection' for CTRL-W =
- Files: src/window.c
- Patch 6.1.110
- Problem: When using ":badd file" when "file" is already present but not
- listed, it stays unlisted. (David Frey)
- Solution: Set 'buflisted'.
- Files: src/buffer.c
- Patch 6.1.111
- Problem: It's not possible to detect using the Unix sources on Win32 or Mac.
- Solution: Add has("macunix") and has("win32unix").
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 6.1.112
- Problem: When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to
- the cursor position from before this command but every position
- where the argument was executed.
- Solution: Only remember the cursor position from before the ":argdo",
- ":bufdo" and ":windo".
- Files: src/ex_cmds2.c, src/mark.c
- Patch 6.1.113
- Problem: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser)
- Solution: Decide what buffer to go to next before executing the command.
- Files: src/ex_cmds2.c
- Patch 6.1.114
- Problem: ":python import vim", ":python vim.current.buffer[0:0] = []" gives
- a lalloc(0) error. (Chris Southern)
- Solution: Don't allocate an array when it's size is zero.
- Files: src/if_python.c
- Patch 6.1.115
- Problem: "das" on the white space at the end of a paragraph does not delete
- the "." the sentence ends with.
- Solution: Don't exclude the last character when it is not white space.
- Files: src/search.c
- Patch 6.1.116
- Problem: When 'endofline' is changed while 'binary' is set a file should be
- considered modified. (Olaf Buddenhagen)
- Solution: Remember the 'eol' value when editing started and consider the
- file changed when the current value is different and 'binary' is
- set. Also fix that the window title isn't updated when 'ff' or
- 'bin' changes.
- Files: src/option.c, src/structs.h
- Patch 6.1.117
- Problem: Small problem with editing a file over ftp: and with Cygwin.
- Solution: Remove a dot from a ":normal" command. Use "cygdrive" where
- appropriate. (Charles Campbell)
- Files: runtime/plugin/netrw.vim
- Patch 6.1.118
- Problem: When a file in diff mode is reloaded because it changed outside
- of Vim, other windows in diff mode are not always updated.
- (Michael Naumann)
- Solution: After reloading a file in diff mode mark all windows in diff mode
- for redraw.
- Files: src/diff.c
- Patch 6.1.119 (extra)
- Problem: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be
- a crash when connecting to Sniff.
- Solution: Initialize sniff_rq_sep such that its value can be changed.
- (Martin Egloff)
- Files: src/if_sniff.c
- Patch 6.1.120 (depends on 6.1.097)
- Problem: When 'scrolloff' is non-zero and there are folds, CTRL-F at the
- end of the file scrolls part of a closed fold. (Lubomir Host)
- Solution: Adjust the first line to the start of a fold.
- Files: src/move.c
- Patch 6.1.121 (depends on 6.1.098)
- Problem: When starting Select mode from Insert mode, then using the Paste
- menu entry, the cursor is left before the last pasted character.
- (Mario Schweigler)
- Solution: Set the cursor for Insert mode one character to the right.
- Files: runtime/menu.vim
- Patch 6.1.122
- Problem: ":file name" creates a new buffer to hold the old buffer name,
- which becomes the alternate file. This buffer is unexpectedly
- listed.
- Solution: Create the buffer for the alternate name unlisted.
- Files: src/ex_cmds.c
- Patch 6.1.123
- Problem: A ":match" command with more than one argument doesn't report an
- error.
- Solution: Check for extra characters. (Servatius Brandt)
- Files: src/ex_docmd.c
- Patch 6.1.124
- Problem: When trying to exit and there is a hidden buffer that had 'eol'
- off and 'bin' set exiting isn't possible. (John McGowan)
- Solution: Set b_start_eol when clearing the buffer.
- Files: src/buffer.c
- Patch 6.1.125
- Problem: Explorer plugin asks for saving a modified buffer even when it's
- open in another window as well.
- Solution: Count the number of windows using the buffer.
- Files: runtime/plugin/explorer.vim
- Patch 6.1.126
- Problem: Adding the choices in the syntax menu is consuming much of the
- startup time of the GUI while it's not often used.
- Solution: Only add the choices when the user wants to use them.
- Files: Makefile, runtime/makemenu.vim, runtime/menu.vim,
- runtime/synmenu.vim, src/Makefile
- Patch 6.1.127
- Problem: When using "--remote file" and the server has 'insertmode' set,
- commands are inserted instead of being executed. (Niklas Volbers)
- Solution: Go to Normal mode again after the ":drop" command.
- Files: src/main.c
- Patch 6.1.128
- Problem: The expression "input('very long prompt')" puts the cursor in the
- wrong line (column is OK).
- Solution: Add the wrapped lines to the indent. (Yasuhiro Matsumoto)
- Files: src/ex_getln.c
- Patch 6.1.129
- Problem: On Solaris editing "file/" and then "file" results in using the
- same buffer. (Jim Battle)
- Solution: Before using stat(), check that there is no illegal trailing
- slash.
- Files: src/auto/configure, src/config.h.in, src/configure.in,
- src/macros.h src/misc2.c, src/proto/misc2.pro
- Patch 6.1.130
- Problem: The documentation for some of the 'errorformat' items is unclear.
- Solution: Add more examples and explain hard to understand items. (Stefan
- Roemer)
- Files: runtime/doc/quickfix.txt
- Patch 6.1.131
- Problem: X11 GUI: when expanding a CSI byte in the input stream to K_CSI,
- the CSI byte itself isn't copied.
- Solution: Copy the CSI byte.
- Files: src/gui_x11.c
- Patch 6.1.132
- Problem: Executing a register in Ex mode may cause commands to be skipped.
- (John McGowan)
- Solution: In Ex mode use an extra check if the register contents was
- consumed, to avoid input goes into the typeahead buffer.
- Files: src/ex_docmd.c
- Patch 6.1.133
- Problem: When drawing double-wide characters in the statusline, may clear
- half of a character. (Yasuhiro Matsumoto)
- Solution: Force redraw of the next character by setting the attributes
- instead of putting a NUL in ScreenLines[]. Do put a NUL in
- ScreenLines[] when overwriting half of a double-wide character.
- Files: src/screen.c
- Patch 6.1.134
- Problem: An error for a trailing argument of ":match" should not be given
- after ":if 0". (Servatius Brandt)
- Solution: Only do the check when executing commands.
- Files: src/ex_docmd.c
- Patch 6.1.135
- Problem: Passing a command to the shell that includes a newline always has
- a backslash before the newline.
- Solution: Remove one backslash before the newline. (Servatius Brandt)
- Files: src/ex_docmd.c
- Patch 6.1.136
- Problem: When $TERM is "linux" the default for 'background' is "dark", even
- though the GUI uses a light background. (Hugh Allen)
- Solution: Don't mark the option as set when defaulting to "dark" for the
- linux console. Also reset 'background' to "light" when the GUI
- has a light background.
- Files: src/option.c
- Patch 6.1.137
- Problem: Converting to HTML has a clumsy way of dealing with tabs which may
- change the highlighting.
- Solution: Replace tabs with spaces after converting a line to HTML. (Preben
- Guldberg)
- Files: runtime/syntax/2html.vim
- Patch 6.1.138 (depends on 6.1.126)
- Problem: Adding extra items to the Syntax menu can't be done when the "Show
- individual choices" menu is used.
- Solution: Use ":runtime!" instead of ":source", so that all synmenu.vim
- files in the runtime path are loaded. (Servatius Brandt)
- Also fix that a translated menu can't be removed.
- Files: runtime/menu.vim
- Patch 6.1.139
- Problem: Cygwin: PATH_MAX is not defined.
- Solution: Include limits.h. (Dan Sharp)
- Files: src/main.c
- Patch 6.1.140
- Problem: Cygwin: ":args `ls *.c`" does not work if the shell command
- produces CR NL line separators.
- Solution: Remove the CR characters ourselves. (Pavol Juhas)
- Files: src/os_unix.c
- Patch 6.1.141
- Problem: ":wincmd gx" may cause problems when mixed with other commands.
- ":wincmd c" doesn't close the window immediately. (Benji Fisher)
- Solution: Pass the extra command character directly instead of using the
- stuff buffer and call ex_close() directly.
- Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro,
- src/proto/window.pro, src/window.c
- Patch 6.1.142
- Problem: Defining paragraphs without a separating blank line isn't
- possible. Paragraphs can't be formatted automatically.
- Solution: Allow defining paragraphs with lines that end in white space.
- Added the 'w' and 'a' flags in 'formatoptions'.
- Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c,
- src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro,
- src/vim.h
- Patch 6.1.143 (depends on 6.1.142)
- Problem: Auto formatting near the end of the file moves the cursor to a
- wrong position. In Insert mode some lines are made one char too
- narrow. When deleting a line undo might not always work properly.
- Solution: Don't always move to the end of the line in the last line. Don't
- position the cursor past the end of the line in Insert mode.
- After deleting a line save the cursor line for undo.
- Files: src/edit.c, src/ops.c, src/normal.c
- Patch 6.1.144
- Problem: Obtaining the size of a line in screen characters can be wrong.
- A pointer may wrap around zero.
- Solution: In win_linetabsize() check for a MAXCOL length argument. (Jim
- Dunleavy)
- Files: src/charset.c
- Patch 6.1.145
- Problem: GTK: Drag&drop with more than 3 files may cause a crash. (Mickael
- Marchand)
- Solution: Rewrite the code that parses the received list of files to be more
- robust.
- Files: src/charset.c, src/gui_gtk_x11.c
- Patch 6.1.146
- Problem: MS-Windows: When $HOME is constructed from $HOMEDRIVE and
- $HOMEPATH, it is not used for storing the _viminfo file. (Normal
- Diamond)
- Solution: Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH.
- Files: src/misc1.c
- Patch 6.1.147 (extra)
- Problem: MS-Windows: When a dialog has no default button, pressing Enter
- ends it anyway and all buttons are selected.
- Solution: Don't end a dialog when there is no default button. Don't select
- all button when there is no default. (Vince Negri)
- Files: src/gui_w32.c
- Patch 6.1.148 (extra)
- Problem: MS-Windows: ACL is not properly supported.
- Solution: Add an access() replacement that also works for ACL. (Mike
- Williams)
- Files: runtime/doc/editing.txt, src/os_win32.c
- Patch 6.1.149 (extra)
- Problem: MS-Windows: Can't use diff mode from the file explorer.
- Solution: Add a "diff with Vim" context menu entry. (Dan Sharp)
- Files: GvimExt/gvimext.cpp, GvimExt/gvimext.h
- Patch 6.1.150
- Problem: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd()
- still uses backslash. (Yegappan Lakshmanan)
- Solution: Adjust slashes in getcwd().
- Files: src/eval.c
- Patch 6.1.151 (extra)
- Problem: Win32: The NTFS substream isn't copied.
- Solution: Copy the substream when making a backup copy. (Muraoka Taro)
- Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro
- Patch 6.1.152
- Problem: When $LANG is iso8859-1 translated menus are not used.
- Solution: Change iso8859 to iso_8859.
- Files: runtime/menu.vim
- Patch 6.1.153
- Problem: Searching in included files may search recursively when the path
- starts with "../". (Sven Berkvens-Matthijsse)
- Solution: Compare full file names, use inode/device when possible.
- Files: src/search.c
- Patch 6.1.154 (extra)
- Problem: DJGPP: "vim -h" leaves the cursor in a wrong position.
- Solution: Don't position the cursor using uninitialized variables. (Jim
- Dunleavy)
- Files: src/os_msdos.c
- Patch 6.1.155
- Problem: Win32: Cursor may sometimes disappear in Insert mode.
- Solution: Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe)
- Files: src/option.c
- Patch 6.1.156
- Problem: Conversion between DBCS and UCS-2 isn't implemented cleanly.
- Solution: Clean up a few things.
- Files: src/mbyte.c, src/structs.h
- Patch 6.1.157
- Problem: 'hlsearch' highlights only the second comma in ",,,,," with
- "/,\@<=[^,]*". (Preben Guldberg)
- Solution: Also check for an empty match to start just after a previous
- match.
- Files: src/screen.c
- Patch 6.1.158
- Problem: "zs" and "ze" don't work correctly with ":set nowrap siso=1".
- (Preben Guldberg)
- Solution: Take 'siso' into account when computing the horizontal scroll
- position for "zs" and "ze".
- Files: src/normal.c
- Patch 6.1.159
- Problem: When expanding an abbreviation that includes a multibyte
- character too many characters are deleted. (Andrey Urazov)
- Solution: Delete the abbreviation counting characters instead of bytes.
- Files: src/getchar.c
- Patch 6.1.160
- Problem: ":$read file.gz" doesn't work. (Preben Guldberg)
- Solution: Don't use the '[ mark after it has become invalid.
- Files: runtime/plugin/gzip.vim
- Patch 6.1.161 (depends on 6.1.158)
- Problem: Warning for signed/unsigned compare. Can set 'siso' to a negative
- value. (Mike Williams)
- Solution: Add a typecast. Add a check for 'siso' being negative.
- Files: src/normal.c, src/option.c
- Patch 6.1.162
- Problem: Python interface: Didn't initialize threads properly.
- Solution: Call PyEval_InitThreads() when starting up.
- Files: src/if_python.c
- Patch 6.1.163
- Problem: Win32: Can't compile with Python after 6.1.162.
- Solution: Dynamically load PyEval_InitThreads(). (Dan Sharp)
- Files: src/if_python.c
- Patch 6.1.164
- Problem: If 'modifiable' is off, converting to xxd fails and 'filetype' is
- changed to "xxd" anyway.
- Solution: Don't change 'filetype' when conversion failed.
- Files: runtime/menu.vim
- Patch 6.1.165
- Problem: Making changes in several lines and then a change in one of these
- lines that splits it in two or more lines, undo information was
- corrupted. May cause a crash. (Dave Fishburn)
- Solution: When skipping to save a line for undo because it was already
- saved, move it to become the last saved line, so that when the
- command changes the line count other saved lines are not involved.
- Files: src/undo.c
- Patch 6.1.166
- Problem: When 'autoindent' is set and mswin.vim has been sourced, pasting
- with CTRL-V just after auto-indenting removes the indent. (Shlomi
- Fish)
- Solution: First insert an "x" and delete it again, so that the auto-indent
- remains.
- Files: runtime/mswin.vim
- Patch 6.1.167
- Problem: When giving a negative argument to ":retab" strange things start
- happening. (Hans Ginzel)
- Solution: Check for a negative value.
- Files: src/ex_cmds.c
- Patch 6.1.168
- Problem: Pressing CTRL-C at the hit-enter prompt doesn't end the prompt.
- Solution: Make CTRL-C stop the hit-enter prompt.
- Files: src/message.c
- Patch 6.1.169
- Problem: bufexists() finds a buffer by using the name of a symbolic link to
- it, but bufnr() doesn't. (Yegappan Lakshmanan)
- Solution: When bufnr() can't find a buffer, try using the same method as
- bufexists().
- Files: src/eval.c
- Patch 6.1.170
- Problem: Using ":mksession" uses the default session file name, but "vim
- -S" doesn't. (Hans Ginzel)
- Solution: Use the default session file name if "-S" is the last command
- line argument or another option follows.
- Files: runtime/doc/starting.txt, src/main.c
- Patch 6.1.171
- Problem: When opening a line just above a closed fold with "O" and the
- comment leader is automatically inserted, the cursor is displayed
- in the first column. (Sung-Hyun Nam)
- Solution: Update the flag that indicates the cursor is in a closed fold.
- Files: src/misc1.c
- Patch 6.1.172
- Problem: Command line completion of ":tag /pat" does not show the same
- results as the tags the command actually finds. (Gilles Roy)
- Solution: Don't modify the pattern to make it a regexp.
- Files: src/ex_getln.c, src/tag.c
- Patch 6.1.173
- Problem: When using remote control to edit a position in a file and this
- file is the current buffer and it's modified, the window is split
- and the ":drop" command fails.
- Solution: Don't split the window, keep editing the same buffer.
- Use the ":drop" command in VisVim to avoid the problem there.
- Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro,
- VisVim/Commands.cpp
- Patch 6.1.174
- Problem: It is difficult to know in a script whether an option not only
- exists but really works.
- Solution: Add "exists('+option')".
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 6.1.175
- Problem: When reading commands from a pipe and a CTRL-C is pressed, Vim
- will hang. (Piet Delport)
- Solution: Don't keep reading characters to clear typeahead when an interrupt
- was detected, stop when a single CTRL-C is read.
- Files: src/getchar.c, src/ui.c
- Patch 6.1.176
- Problem: When the stack limit is very big a false out-of-stack error may
- be detected.
- Solution: Add a check for overflow of the stack limit computation. (Jim
- Dunleavy)
- Files: src/os_unix.c
- Patch 6.1.177 (depends on 6.1.141)
- Problem: ":wincmd" does not allow a following command. (Gary Johnson)
- Solution: Check for a following " | cmd". Also give an error for trailing
- characters.
- Files: src/ex_docmd.c
- Patch 6.1.178
- Problem: When 'expandtab' is set "r<C-V><Tab>" still expands the Tab.
- (Bruce deVisser)
- Solution: Replace with a literal Tab.
- Files: src/normal.c
- Patch 6.1.179 (depends on 6.1.091)
- Problem: When using X11R5 XIMPreserveState is undefined. (Albert Chin)
- Solution: Include the missing definitions.
- Files: src/mbyte.c
- Patch 6.1.180
- Problem: Use of the GUI code for forking is inconsistent.
- Solution: Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer)
- Files: src/gui.c
- Patch 6.1.181
- Problem: If the terminal doesn't wrap from the last char in a line to the
- next line, the last column is blanked out. (Peter Karp)
- Solution: Don't output a space to mark the wrap, but the same character
- again.
- Files: src/screen.c
- Patch 6.1.182 (depends on 6.1.142)
- Problem: It is not possible to auto-format comments only. (Moshe Kaminsky)
- Solution: When the 'a' and 'c' flags are in 'formatoptions' only auto-format
- comments.
- Files: runtime/doc/change.txt, src/edit.c
- Patch 6.1.183
- Problem: When 'fencs' is empty and 'enc' is utf-8, reading a file with
- illegal bytes gives "CONVERSION ERROR" even though no conversion
- is done. 'readonly' is set, even though writing the file results
- in an unmodified file.
- Solution: For this specific error use "ILLEGAL BYTE" and don't set
- 'readonly'.
- Files: src/fileio.c
- Patch 6.1.184 (extra)
- Problem: The extra mouse buttons found on some mice don't work.
- Solution: Support two extra buttons for MS-Windows. (Michael Geddes)
- Files: runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c,
- src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c,
- src/misc1.c, src/misc2.c, src/normal.c, src/vim.h
- Patch 6.1.185 (depends on 6.1.182)
- Problem: Can't compile without +comments feature.
- Solution: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson)
- Files: src/edit.c
- Patch 6.1.186 (depends on 6.1.177)
- Problem: ":wincmd" does not allow a following comment. (Aric Blumer)
- Solution: Check for a following double quote.
- Files: src/ex_docmd.c
- Patch 6.1.187
- Problem: Using ":doarg" with 'hidden' set and the current file is the only
- argument and was modified gives an error message. (Preben
- Guldberg)
- Solution: Don't try re-editing the same file.
- Files: src/ex_cmds2.c
- Patch 6.1.188 (depends on 6.1.173)
- Problem: Unused variable in the small version.
- Solution: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS.
- Files: src/ex_cmds2.c
- Patch 6.1.189
- Problem: inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric
- Blumer)
- Solution: Fall back to the input() function in this situation.
- Files: src/eval.c
- Patch 6.1.190 (extra)
- Problem: VMS: doesn't build with GTK GUI. Various other problems.
- Solution: Fix building for GTK. Improved Perl, Python and TCL support.
- Improved VMS documentation. (Zoltan Arpadffy)
- Added Vimtutor for VMS (T. R. Wyant)
- Files: runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h,
- src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms,
- src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com,
- src/testdir/Make_vms.mms
- Patch 6.1.191
- Problem: When using "vim -s script" and redirecting the output, the delay
- for the "Output is not to a terminal" warning slows Vim down too
- much.
- Solution: Don't delay when reading commands from a script.
- Files: src/main.c
- Patch 6.1.192
- Problem: ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson)
- Solution: Add "hor" to 'scrollopt' each time ":diffsplit" is used.
- Files: src/diff.c, src/main.c
- Patch 6.1.193
- Problem: Crash in in_id_list() for an item with a "containedin" list. (Dave
- Fishburn)
- Solution: Check for a negative syntax id, used for keywords.
- Files: src/syntax.c
- Patch 6.1.194
- Problem: When "t_ti" is set but it doesn't cause swapping terminal pages,
- "ZZ" may cause the shell prompt to appear on top of the file-write
- message.
- Solution: Scroll the text up in the Vim page before swapping to the terminal
- page. (Michael Schroeder)
- Files: src/os_unix.c
- Patch 6.1.195
- Problem: The quickfix and preview windows always keep their height, while
- other windows can't fix their height.
- Solution: Add the 'winfixheight' option, so that a fixed height can be
- specified for any window. Also fix that the wildmenu may resize a
- one-line window to a two-line window if 'ls' is zero.
- Files: runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c,
- src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c,
- src/screen.c, src/structs.h, src/window.c
- Patch 6.1.196 (depends on 6.1.084)
- Problem: On Mac OS X 10.2 generating osdef.h fails.
- Solution: Add -no-cpp-precomp to avoid using precompiled header files, which
- disables printing the search path. (Ben Fowler)
- Files: src/auto/configure, src/configure.in
- Patch 6.1.197
- Problem: ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>) gives an
- error message. (Servatius Brandt)
- Solution: Double the backslash in "CTRL-\".
- Files: src/ex_cmds.c
- Patch 6.1.198 (extra) (depends on 6.1.076)
- Problem: Mac OS X: Dialogues don't work.
- Solution: Fix a crashing problem for some GUI dialogues. Fix a problem when
- saving to a new file from the GUI. (Peter Cucka)
- Files: src/feature.h, src/gui_mac.c
- Patch 6.1.199
- Problem: 'guifontwide' doesn't work on Win32.
- Solution: Output each wide character separately. (Michael Geddes)
- Files: src/gui.c
- Patch 6.1.200
- Problem: ":syn sync fromstart" is not skipped after ":if 0". This can make
- syntax highlighting very slow.
- Solution: Check "eap->skip" appropriately. (Rob West)
- Files: src/syntax.c
- Patch 6.1.201 (depends on 6.1.192)
- Problem: Warning for illegal pointer combination. (Zoltan Arpadffy)
- Solution: Add a typecast.
- Files: src/diff.c
- Patch 6.1.202 (extra)(depends on 6.1.148)
- Problem: Win32: filewritable() doesn't work properly on directories.
- Solution: fix filewritable(). (Mike Williams)
- Files: src/os_win32.c
- Patch 6.1.203
- Problem: ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway)
- Solution: Avoid reading past the end of a line when "~" is empty.
- Files: src/regexp.c
- Patch 6.1.204 (depends on 6.1.129)
- Problem: Warning for an illegal pointer on Solaris.
- Solution: Add a typecast. (Derek Wyatt)
- Files: src/misc2.c
- Patch 6.1.205
- Problem: The gzip plugin changes the alternate file when editing a
- compressed file. (Oliver Fuchs)
- Solution: Temporarily remove the 'a' and 'A' flags from 'cpo'.
- Files: runtime/plugin/gzip.vim
- Patch 6.1.206
- Problem: The script generated with ":mksession" doesn't work properly when
- some commands are mapped.
- Solution: Use ":normal!" instead of ":normal". And use ":wincmd" where
- possible. (Muraoka Taro)
- Files: src/ex_docmd.c, src/fold.c
- Patch 6.1.207
- Problem: Indenting a Java file hangs below a line with a comment after a
- command.
- Solution: Break out of a loop. (Andre Pang)
- Also line up } with matching {.
- Files: runtime/indent/java.vim
- Patch 6.1.208
- Problem: Can't use the buffer number from the Python interface.
- Solution: Add buffer.number. (Michal Vitecek)
- Files: src/if_python.c
- Patch 6.1.209
- Problem: Printing doesn't work on Mac OS classic.
- Solution: Use a ":" for path separator when opening the resource file. (Axel
- Kielhorn)
- Files: src/ex_cmds2.c
- Patch 6.1.210
- Problem: When there is an iconv() conversion error when reading a file
- there can be an error the next time iconv() is used.
- Solution: Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto)
- Files: src/fileio.c
- Patch 6.1.211
- Problem: The message "use ! to override" is confusing.
- Solution: Make it "add ! to override".
- Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c,
- src/globals.h
- Patch 6.1.212
- Problem: When Vim was started with "-R" ":new" creates a buffer
- 'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg)
- Solution: Don't set 'readonly' in a new empty buffer for ":enew".
- Files: src/ex_docmd.c
- Patch 6.1.213
- Problem: Using CTRL-W H may cause a big gap to appear below the last
- window. (Aric Blumer)
- Solution: Don't set the window height when there is a vertical split.
- (Yasuhiro Matsumoto)
- Files: src/window.c
- Patch 6.1.214
- Problem: When installing Vim and the runtime files were checked out from
- CVS the CVS directories will also be installed.
- Solution: Avoid installing the CVS dirs and their contents.
- Files: src/Makefile
- Patch 6.1.215
- Problem: Win32: ":pwd" uses backslashes even when 'shellslash' is set.
- (Xiangjiang Ma)
- Solution: Adjust backslashes before printing the message.
- Files: src/ex_docmd.c
- Patch 6.1.216
- Problem: When dynamically loading the iconv library, the error codes may be
- confused.
- Solution: Use specific error codes for iconv and redefine them for dynamic
- loading. (Yasuhiro Matsumoto)
- Files: src/fileio.c, src/mbyte.c, src/vim.h
- Patch 6.1.217
- Problem: When sourcing the same Vim script using a different name (symbolic
- link or MS-Windows 8.3 name) it is listed twice with
- ":scriptnames". (Tony Mechelynck)
- Solution: Turn the script name into a full path before using it. On Unix
- compare inode/device numbers.
- Files: src/ex_cmds2.c
- Patch 6.1.218
- Problem: No error message for using the function argument "5+". (Servatius
- Brandt)
- Solution: Give an error message if a function or variable is expected but is
- not found.
- Files: src/eval.c
- Patch 6.1.219
- Problem: When using ":amenu :b 1<CR>" with a Visual selection and
- 'insertmode' is set, Vim does not return to Insert mode. (Mickael
- Marchand)
- Solution: Add the command CTRL-\ CTRL-G that goes to Insert mode if
- 'insertmode' is set and to Normal mode otherwise. Append this to
- menus defined with ":amenu".
- Files: src/edit.c, src/ex_getln.c, src/normal.c
- Patch 6.1.220
- Problem: When using a BufReadPost autocommand that changes the line count,
- e.g., "$-1join", reloading a file that was changed outside Vim
- does not work properly. (Alan G Isaac)
- Solution: Make the buffer empty before reading the new version of the file.
- Save the lines in a dummy buffer, so that they can be put back
- when reading the file fails.
- Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h,
- src/proto/buffer.pro
- Patch 6.1.221
- Problem: Changing case may not work properly, depending on the current
- locale.
- Solution: Add the 'casemap' option to let the user choose how changing case
- is to be done.
- Also fix lowering case when an UTF-8 character doesn't keep the
- same byte length.
- Files: runtime/doc/options.txt, src/ascii.h, src/auto/configure,
- src/buffer.c, src/charset.c, src/config.h.in, src/configure.in,
- src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c
- src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc,
- src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c,
- src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c,
- src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h,
- src/syntax.c
- Patch 6.1.222 (depends on 6.1.219)
- Problem: Patch 6.1.219 was incomplete.
- Solution: Add the changes for ":amenu".
- Files: src/menu.c
- Patch 6.1.223 (extra)
- Problem: Win32: When IME is activated 'iminsert' is set, but it might never
- be reset when IME is disabled. (Muraoka Taro)
- All systems: 'iminsert' is set to 2 when leaving Insert mode, even
- when langmap is being used. (Peter Valach)
- Solution: Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro)
- Don't store the status of the input method in 'iminsert' when
- 'iminsert' is one. Also for editing the command line and for
- arguments to Normal mode commands.
- Files: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c
- Patch 6.1.224
- Problem: "expand('$VAR')" returns an empty string when the expanded $VAR
- is not an existing file. (Aric Blumer)
- Solution: Included non-existing files, as documented.
- Files: src/eval.c
- Patch 6.1.225
- Problem: Using <C-O><C-^> in Insert mode has a delay when starting "vim -u
- NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses
- fileinfo(), the redraw is done after a delay to give the user time
- to read the message.
- Solution: Put the message from fileio() in "keep_msg", so that the redraw is
- done before the delay (still needed to avoid the mode message
- overwrites the fileinfo() message).
- Files: src/buffer.c
- Patch 6.1.226
- Problem: Using ":debug" with a ":normal" command may cause a hang. (Colin
- Keith)
- Solution: Save the typeahead buffer when obtaining a debug command.
- Files: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro
- Patch 6.1.227
- Problem: It is possible to use a variable name "asdf:asdf" and ":let j:asdf
- = 5" does not give an error message. (Mikolaj Machowski)
- Solution: Check for a ":" inside the variable name.
- Files: src/eval.c
- Patch 6.1.228 (extra)
- Problem: Win32: The special output function for Hangul is used too often,
- causing special handling for other situations to be skipped.
- bInComposition is always FALSE, causing ImeGetTempComposition()
- always to return NULL.
- Solution: Remove HanExtTextOut(). Delete the dead code around
- bInComposition and ImeGetTempComposition().
- Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
- Patch 6.1.229
- Problem: Win32: Conversion to/from often used codepages requires the iconv
- library, which is not always available.
- Solution: Use standard MS-Windows functions for the conversion when
- possible. (mostly by Glenn Maynard)
- Also fixes missing declaration for patch 6.1.220.
- Files: src/fileio.c
- Patch 6.1.230 (extra)
- Problem: Win16: building doesn't work.
- Solution: Exclude the XBUTTON handling. (Vince Negri)
- Files: src/gui_w48.c
- Patch 6.1.231
- Problem: Double clicking with the mouse to select a word does not work for
- multibyte characters.
- Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
- is used instead of 'isident'. Also fix that mixing ASCII with
- multibyte word characters doesn't work, the mouse class for
- punctuation and word characters was mixed up.
- Files: src/normal.c
- Patch 6.1.232 (depends on 6.1.226)
- Problem: Using ex_normal_busy while it might not be available. (Axel
- Kielhorn)
- Solution: Only use ex_normal_busy when FEAT_EX_EXTRA is defined.
- Files: src/ex_cmds2.c
- Patch 6.1.233
- Problem: ":help expr-||" does not work.
- Solution: Don't use the '|' as a command separator
- Files: src/ex_cmds.c
- Patch 6.1.234 (depends on 6.1.217)
- Problem: Get a warning for using a negative value for st_dev.
- Solution: Don't assign a negative value to st_dev.
- Files: src/ex_cmds2.c
- Patch 6.1.235 (depends on 6.1.223)
- Problem: 'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter
- Valach)
- Solution: Check "State" before resetting it to NORMAL.
- Files: src/edit.c
- Patch 6.1.236
- Problem: Memory leaks when appending lines for ":diffget" or ":diffput" and
- when reloading a changed buffer.
- Solution: Free a line after calling ml_append().
- Files: src/diff.c, src/fileio.c
- Patch 6.1.237
- Problem: Putting in Visual block mode does not work correctly when "$" was
- used or when the first line is short. (Christian Michon)
- Solution: First delete the selected text and then put the new text. Save
- and restore registers as necessary.
- Files: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro,
- src/vim.h
- Patch 6.1.238 (extra)
- Problem: Win32: The "icon=" argument for the ":menu" command does not
- search for the bitmap file.
- Solution: Expand environment variables and search for the bitmap file.
- (Vince Negri)
- Make it consistent, use the same mechanism for X11 and GTK.
- Files: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c,
- src/proto/gui.pro
- Patch 6.1.239
- Problem: Giving an error for missing :endif or :endwhile when being
- interrupted.
- Solution: Don't give these messages when interrupted.
- Files: src/ex_docmd.c, src/os_unix.c
- Patch 6.1.240 (extra)
- Problem: Win32 with BCC 5: CPU may be defined in the environment, which
- causes a wrong argument for the compiler. (Walter Briscoe)
- Solution: Use CPUNR instead of CPU.
- Files: src/Make_bc5.mak
- Patch 6.1.241
- Problem: Something goes wrong when drawing or undrawing the cursor.
- Solution: Remember when the cursor invalid in a better way.
- Files: src/gui.c
- Patch 6.1.242
- Problem: When pasting a large number of lines on the command line it is not
- possible to interrupt. (Jean Jordaan)
- Solution: Check for an interrupt after each pasted line.
- Files: src/ops.c
- Patch 6.1.243 (extra)
- Problem: Win32: When the OLE version is started and wasn't registered, a
- message pops up to suggest registering, even when this isn't
- possible (when the registry is not writable).
- Solution: Check if registering is possible before asking whether it should
- be done. (Walter Briscoe)
- Also avoid restarting Vim after registering.
- Files: src/if_ole.cpp
- Patch 6.1.244
- Problem: Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg)
- Solution: Include it here.
- Files: src/vim.h
- Patch 6.1.245
- Problem: Comparing with ignored case does not work properly for Unicode
- with a locale where case folding an ASCII character results in a
- multibyte character. (Glenn Maynard)
- Solution: Handle ignore-case compare for Unicode differently.
- Files: src/mbyte.c
- Patch 6.1.246
- Problem: ":blast" goes to the first buffer if the last one is unlisted.
- (Andrew Stryker)
- Solution: From the last buffer search backwards for the first listed buffer
- instead of forwards.
- Files: src/ex_docmd.c
- Patch 6.1.247
- Problem: ACL support doesn't always work properly.
- Solution: Add a configure argument to disable ACL "--disable-acl". (Thierry
- Vignaud)
- Files: src/auto/configure, src/configure.in
- Patch 6.1.248
- Problem: Typing 'q' at the more-prompt for ":let" does not quit the
- listing. (Hari Krishna Dara)
- Solution: Quit the listing when got_int is set.
- Files: src/eval.c
- Patch 6.1.249
- Problem: Can't expand a path on the command line if it includes a "|" as a
- trail byte of a multibyte character.
- Solution: Check for multibyte characters. (Yasuhiro Matsumoto)
- Files: src/ex_docmd.c
- Patch 6.1.250
- Problem: When changing the value of 'lines' inside the expression set with
- 'diffexpr' Vim might crash. (Dave Fishburn)
- Solution: Don't allow changing the screen size while updating the screen.
- Files: src/globals.h, src/option.c, src/screen.c
- Patch 6.1.251
- Problem: Can't use completion for ":lcd" and ":lchdir" like ":cd".
- Solution: Expand directory names for these commands. (Servatius Brandt)
- Files: src/ex_docmd.c
- Patch 6.1.252
- Problem: "vi}" does not include a line break when the "}" is at the start
- of a following line. (Kamil Burzynski)
- Solution: Include the line break.
- Files: src/search.c
- Patch 6.1.253 (extra)
- Problem: Win32 with Cygwin: Changes the path of arguments in a wrong way.
- (Xiangjiang Ma)
- Solution: Don't use cygwin_conv_to_posix_path() for the Win32 version.
- Update the Cygwin makefile to support more features. (Dan Sharp)
- Files: src/Make_cyg.mak, src/if_ole.cpp, src/main.c
- Patch 6.1.254
- Problem: exists("foo{bar}") does not work. ':unlet v{"a"}r' does not work.
- ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work.
- ":delfunc F{" does not give an error message. ':delfunc F{"F"}'
- does not work.
- Solution: Support magic braces for the exists() argument. (Vince Negri)
- Check for trailing comments explicitly for ":unlet". Add support
- for magic braces in further arguments of ":let". Look for a
- parenthesis only after the function name. (Servatius Brandt)
- Also expand magic braces for "exists('*expr')". Give an error
- message for an invalid ":delfunc" argument. Allow quotes in the
- ":delfunc" argument.
- Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c
- Patch 6.1.255 (depends on 6.1.254)
- Problem: Crash when loading menu.vim a second time. (Christian Robinson)
- ":unlet garbage foo" tries unletting "foo" after an error message.
- (Servatius Brandt)
- Very long function arguments cause very long messages when
- 'verbose' is 14 or higher.
- Solution: Avoid reading from uninitialized memory.
- Break out of a loop after an invalid argument for ":unlet".
- Truncate long function arguments to 80 characters.
- Files: src/eval.c
- Patch 6.1.256 (depends on 6.1.255)
- Problem: Defining a function after ":if 0" could still cause an error
- message for an existing function.
- Leaking memory when there are trailing characters for ":delfunc".
- Solution: Check the "skip" flag. Free the memory. (Servatius Brandt)
- Files: src/eval.c
- Patch 6.1.257
- Problem: ":cwindow" always sets the previous window to the last but one
- window. (Benji Fisher)
- Solution: Set the previous window properly.
- Files: src/globals.c, src/quickfix.c, src/window.c
- Patch 6.1.258
- Problem: Buffers menu doesn't work properly for multibyte buffer names.
- Solution: Use a pattern to get the left and right part of the name.
- (Yasuhiro Matsumoto)
- Files: runtime/menu.vim
- Patch 6.1.259 (extra)
- Problem: Mac: with 'patchmode' is used filenames are truncated.
- Solution: Increase the BASENAMELEN for Mac OS X. (Ed Ralston)
- Files: src/os_mac.h
- Patch 6.1.260 (depends on 6.1.104)
- Problem: GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El)
- Solution: Use the same configure check as used for GCC 3.1.
- Files: src/auto/configure, src/configure.in
- Patch 6.1.261
- Problem: When deleting a line in a buffer which is not the current buffer,
- using the Perl interface Delete(), the cursor in the current
- window may move. (Chris Houser)
- Solution: Don't adjust the cursor position when changing another buffer.
- Files: src/if_perl.xs
- Patch 6.1.262
- Problem: When jumping over folds with "z[", "zj" and "zk" the previous
- position is not remembered. (Hari Krishna Dara)
- Solution: Set the previous context mark before jumping.
- Files: src/fold.c
- Patch 6.1.263
- Problem: When typing a multibyte character that triggers an abbreviation
- it is not inserted properly.
- Solution: Handle adding the typed multibyte character. (Yasuhiro Matsumoto)
- Files: src/getchar.c
- Patch 6.1.264 (depends on patch 6.1.254)
- Problem: exists() does not work for built-in functions. (Steve Wall)
- Solution: Don't check for the function name to start with a capital.
- Files: src/eval.c
- Patch 6.1.265
- Problem: libcall() can be used in 'foldexpr' to call any system function.
- rename(), delete() and remote_send() can also be used in
- 'foldexpr'. These are security problems. (Georgi Guninski)
- Solution: Don't allow using libcall(), rename(), delete(), remote_send() and
- similar functions in the sandbox.
- Files: src/eval.c
- Patch 6.1.266 (depends on 6.1.265)
- Problem: Win32: compile error in eval.c. (Bill McCarthy)
- Solution: Move a variable declaration.
- Files: src/eval.c
- Patch 6.1.267
- Problem: Using "p" to paste into a Visual selected area may cause a crash.
- Solution: Allocate enough memory for saving the register contents. (Muraoka
- Taro)
- Files: src/ops.c
- Patch 6.1.268
- Problem: When triggering an abbreviation with a multibyte character, this
- character is not correctly inserted after expanding the
- abbreviation. (Taro Muraoka)
- Solution: Add ABBR_OFF to all characters above 0xff.
- Files: src/edit.c, src/ex_getln.c, src/getchar.c
- Patch 6.1.269
- Problem: After using input() text written with ":redir" gets extra indent.
- (David Fishburn)
- Solution: Restore msg_col after using input().
- Files: src/ex_getln.c
- Patch 6.1.270 (depends on 6.1.260)
- Problem: GCC 3.2.1 still seems to have an optimizer problem.
- Solution: Use the same configure check as used for GCC 3.1.
- Files: src/auto/configure, src/configure.in
- Patch 6.1.271
- Problem: When compiling without the +syntax feature there are errors.
- Solution: Don't use some code for syntax highlighting. (Roger Cornelius)
- Make test 45 work without syntax highlighting.
- Also fix an error in a pattern matching: "\%(" was not supported.
- Files: src/ex_cmds2.c, src/regexp.c, src/testdir/test45.in
- Patch 6.1.272
- Problem: After using ":set define<" a crash may happen. (Christian Robinson)
- Solution: Make a copy of the option value in allocated memory.
- Files: src/option.c
- Patch 6.1.273
- Problem: When the cursor doesn't blink, redrawing an exposed area may hide
- the cursor.
- Solution: Always draw the cursor, also when it didn't move. (Muraoka Taro)
- Files: src/gui.c
- Patch 6.1.274 (depends on 6.1.210)
- Problem: Resetting the iconv() state after each error is wrong for an
- incomplete sequence.
- Solution: Don't reset the iconv() state.
- Files: src/fileio.c
- Patch 6.1.275
- Problem: When using "v" in a startup script, get warning message that
- terminal cannot highlight. (Charles Campbell)
- Solution: Only give the message after the terminal has been initialized.
- Files: src/normal.c
- Patch 6.1.276
- Problem: "gvim --remote file" doesn't prompt for an encryption key.
- Solution: The further characters the client sends to the server are used.
- Added inputsave() and inputrestore() to allow prompting the
- user directly and not using typeahead.
- Also fix possible memory leak for ":normal".
- Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c,
- src/main.c, src/proto/getchar.pro, src/proto/ui.pro,
- src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.h
- Patch 6.1.277 (depends on 6.1.276)
- Problem: Compilation error when building with small features.
- Solution: Define trash_input_buf() when needed. (Kelvin Lee)
- Files: src/ui.c
- Patch 6.1.278
- Problem: When using signs the line number of a closed fold doesn't line up
- with the other line numbers. (Kamil Burzynski)
- Solution: Insert two spaces for the sign column.
- Files: src/screen.c
- Patch 6.1.279
- Problem: The prototype for smsg() and smsg_attr() do not match the function
- definition. This may cause trouble for some compilers. (Nix)
- Solution: Use va_list for systems that have stdarg.h. Use "int" instead of
- "void" for the return type.
- Files: src/auto/configure, src/config.h.in, src/configure.in,
- src/proto.h, src/message.c
- Patch 6.1.280
- Problem: It's possible to use an argument "firstline" or "lastline" for a
- function but using "a:firstline" or "a:lastline" in the function
- won't work. (Benji Fisher)
- Solution: Give an error message for these arguments.
- Also avoid that the following function body causes a whole row of
- errors, skip over it after an error in the first line.
- Files: src/eval.c
- Patch 6.1.281
- Problem: In Insert mode CTRL-X CTRL-G leaves the cursor after the ruler.
- Solution: Set the cursor position before waiting for the argument of CTRL-G.
- (Yasuhiro Matsumoto)
- Files: src/edit.c
- Patch 6.1.282
- Problem: Elvis uses "se" in a modeline, Vim doesn't recognize this.
- Solution: Also accept "se " where "set " is accepted in a modeline.
- (Yasuhiro Matsumoto)
- Files: src/buffer.c
- Patch 6.1.283
- Problem: For ":sign" the icon file name cannot contain a space.
- Solution: Handle backslashes in the file name. (Yasuhiro Matsumoto)
- Files: src/ex_cmds.c
- Patch 6.1.284
- Problem: On Solaris there is a warning for "struct utimbuf".
- Solution: Move including "utime.h" to outside the function. (Derek Wyatt)
- Files: src/fileio.c
- Patch 6.1.285
- Problem: Can't wipe out a buffer with 'bufhide' option.
- Solution: Add "wipe" value to 'bufhide'. (Yegappan Lakshmanan)
- Files: runtime/doc/options.txt, src/buffer.c, src/option.c,
- src/quickfix.c
- Patch 6.1.286
- Problem: 'showbreak' cannot contain multibyte characters.
- Solution: Allow using all printable characters for 'showbreak'.
- Files: src/charset.c, src/move.c, src/option.c
- Patch 6.1.287 (depends on 6.1.285)
- Problem: Effect of "delete" and "wipe" in 'bufhide' were mixed up.
- Solution: Wipe out when wiping out is asked for.
- Files: src/buffer.c
- Patch 6.1.288
- Problem: ":silent function F" hangs. (Hari Krishna Dara)
- Solution: Don't use msg_col, it is not incremented when using ":silent".
- Also made the function output look a bit better. Don't translate
- "function".
- Files: src/eval.c
- Patch 6.1.289 (depends on 6.1.278)
- Problem: Compiler warning for pointer. (Axel Kielhorn)
- Solution: Add a typecast for " ".
- Files: src/screen.c
- Patch 6.1.290 (extra)
- Problem: Truncating long text for message box may break multibyte
- character.
- Solution: Adjust to start of multibyte character. (Yasuhiro Matsumoto)
- Files: src/os_mswin.c
- Patch 6.1.291 (extra)
- Problem: Win32: CTRL-@ doesn't work. Don't even get a message for it.
- Solution: Recognize the keycode for CTRL-@. (Yasuhiro Matsumoto)
- Files: src/gui_w48.c
- Patch 6.1.292 (extra, depends on 6.1.253)
- Problem: Win32: Can't compile with new MingW compiler.
- Borland 5 makefile doesn't generate pathdef.c.
- Solution: Remove -wwide-multiply argument. (Rene de Zwart)
- Various fixes for other problems in Win32 makefiles. (Dan Sharp)
- Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak,
- src/Make_mvc.mak
- Patch 6.1.293
- Problem: byte2line() returns a wrong result for some values.
- Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith)
- Add one to the line number when at the end of a block.
- Files: src/memline.c
- Patch 6.1.294
- Problem: Can't include a multibyte character in a string by its hex value.
- (Benji Fisher)
- Solution: Add "\u....": a character specified with up to four hex numbers
- and stored according to the value of 'encoding'.
- Files: src/eval.c
- Patch 6.1.295 (extra)
- Problem: Processing the cs.po file generates an error. (Rahul Agrawal)
- Solution: Fix the printf format characters in the translation.
- Files: src/po/cs.po
- Patch 6.1.296
- Problem: Win32: When cancelling the font dialog 'guifont' remains set to
- "*".
- Solution: Restore the old value of 'guifont' (Yasuhiro Matsumoto)
- Files: src/option.c
- Patch 6.1.297
- Problem: "make test" fails in test6 in an UTF-8 environment. (Benji Fisher)
- Solution: Before executing the BufReadPost autocommands save the current
- fileencoding, so that the file isn't marked changed.
- Files: src/fileio.c
- Patch 6.1.298
- Problem: When using signs and the first line of a closed fold has a sign
- it can be redrawn as if the fold was open. (Kamil Burzynski)
- Solution: Don't redraw a sign inside a closed fold.
- Files: src/screen.c
- Patch 6.1.299
- Problem: ":edit +set\ ro file" doesn't work.
- Solution: Halve the number of backslashes in the "+cmd" argument.
- Files: src/ex_docmd.c
- Patch 6.1.300 (extra)
- Problem: Handling of ETO_IGNORELANGUAGE is confusing.
- Solution: Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard)
- Files: src/gui_w32.c
- Patch 6.1.301 (extra)
- Problem: French translation of file-save dialog doesn't show file name.
- Solution: Insert a star in the printf string. (Francois Terrot)
- Files: src/po/fr.po
- Patch 6.1.302
- Problem: Counting lines of the Visual area is incorrect for closed folds.
- (Mikolaj Machowski)
- Solution: Correct the start and end for the closed fold.
- Files: src/normal.c
- Patch 6.1.303 (extra)
- Problem: The Top/Bottom/All text does not always fit in the ruler when
- translated to Japanese. Problem with a character being wider when
- in a bold font.
- Solution: Use ETO_PDY to specify the width of each character. (Yasuhiro
- Matsumoto)
- Files: src/gui_w32.c
- Patch 6.1.304 (extra, depends on 6.1.292)
- Problem: Win32: Postscript is always enabled in the MingW Makefile.
- Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro
- Matsumoto)
- Solution: Change an ifdef to an ifeq. (Madoka Machitani)
- Use the Borland make redirection to generate pathdef.c. (Maurice
- Barnum)
- Files: src/Make_bc5.mak, src/Make_ming.mak
- Patch 6.1.305
- Problem: When 'verbose' is 14 or higher, a function call may cause reading
- uninitialized data. (Walter Briscoe)
- Solution: Check for end-of-string in trunc_string().
- Files: src/message.c
- Patch 6.1.306
- Problem: The AIX VisualAge cc compiler doesn't define __STDC__.
- Solution: Use __EXTENDED__ like __STDC__. (Jess Thrysoee)
- Files: src/os_unix.h
- Patch 6.1.307
- Problem: When a double-byte character has an illegal tail byte the display
- is messed up. (Yasuhiro Matsumoto)
- Solution: Draw "XX" instead of the wrong character.
- Files: src/screen.c
- Patch 6.1.308
- Problem: Can't reset the Visual mode returned by visualmode().
- Solution: Use an optional argument to visualmode(). (Charles Campbell)
- Files: runtime/doc/eval.txt, src/eval.c, src/normal.c,
- src/structs.h
- Patch 6.1.309
- Problem: The tutor doesn't select German if the locale name is
- "German_Germany.1252". (Joachim Hofmann)
- Solution: Check for "German" in the locale name. Also check for
- ".ge". And include the German and Greek tutors.
- Files: runtime/tutor/tutor.de, runtime/tutor/tutor.vim,
- runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737
- Patch 6.1.310 (depends on 6.1.307)
- Problem: All double-byte characters are displayed as "XX".
- Solution: Use ">= 32" instead of "< 32". (Yasuhiro Matsumoto)
- Files: src/screen.c
- Patch 6.1.311 (extra)
- Problem: VMS: path in window title doesn't include necessary separator.
- file version doesn't always work properly with Unix.
- Crashes because of memory overwrite in GUI.
- Didn't always handle files with lowercase and correct path.
- Solution: Fix the problems. Remove unnecessary file name translations.
- (Zoltan Arpadffy)
- Files: src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c,
- src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.c
- Patch 6.1.312
- Problem: When using ":silent" debugging is also done silently.
- Solution: Disable silence while at the debug prompt.
- Files: src/ex_cmds2.c
- Patch 6.1.313
- Problem: When a ":drop fname" command is used and "fname" is open in
- another window, it is also opened in the current window.
- Solution: Change to the window with "fname" instead.
- Don't redefine the argument list when dropping only one file.
- Files: runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c,
- src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro
- Patch 6.1.314 (depends on 6.1.126)
- Problem: Missing backslash in "Generic Config file" syntax menu.
- Solution: Insert the backslash. (Zak Beck)
- Files: runtime/makemenu.vim, runtime/synmenu.vim
- Patch 6.1.315 (extra)
- Problem: A very long hostname may lead to an unterminated string. Failing
- to obtain a hostname may result in garbage. (Walter Briscoe)
- Solution: Add a NUL at the end of the hostname buffer.
- Files: src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c,
- src/os_win32.c
- Patch 6.1.316
- Problem: When exiting with "wq" and there is a hidden buffer, after the
- "file changed" dialog there is a warning for a changed buffer.
- (Ajit Thakkar)
- Solution: Do update the buffer timestamps when exiting.
- Files: src/fileio.c
- Patch 6.1.317
- Problem: Closing a window may cause some of the remaining windows to be
- positioned wrong if there is a mix of horizontal and vertical
- splits. (Stefan Ingi Valdimarsson)
- Solution: Update the frame sizes before updating the window positions.
- Files: src/window.c
- Patch 6.1.318
- Problem: auto/pathdef.c can include wrong quotes when a compiler flag
- includes quotes.
- Solution: Put a backslash before the quotes in compiler flags. (Shinra Aida)
- Files: src/Makefile
- Patch 6.1.319 (depends on 6.1.276)
- Problem: Using "--remote +cmd file" does not execute "cmd".
- Solution: Call inputrestore() in the same command line as inputsave(),
- otherwise it will never get executed.
- Files: src/main.c
- Patch 6.1.320 (depends on 6.1.313)
- Problem: When a ":drop one\ file" command is used the file "one\ file" is
- opened, the backslash is not removed. (Taro Muraoka)
- Solution: Handle backslashes correctly. Always set the argument list to
- keep it simple.
- Files: runtime/doc/windows.txt, src/ex_cmds.c
- Patch 6.1.321
- Problem: When 'mouse' includes 'n' but not 'v', don't allow starting Visual
- mode with the mouse.
- Solution: Don't use MOUSE_MAY_VIS when there is no 'v' in 'mouse'. (Flemming
- Madsen)
- Files: src/normal.c
- Patch 6.1.322 (extra, depends on 6.1.315)
- Problem: Win32: The host name is always "PC " plus the real host name.
- Solution: Don't insert "PC " before the host name.
- Files: src/os_win32.c
- Patch 6.1.323
- Problem: ":registers" doesn't stop listing for a "q" at the more prompt.
- (Hari Krishna Dara)
- Solution: Check for interrupt and got_int.
- Files: src/ops.c, src/proto/ops.pro
- Patch 6.1.324
- Problem: Crash when dragging a vertical separator when <LeftMouse> is
- remapped to jump to another window.
- Solution: Pass the window pointer to the function doing the dragging instead
- of always using the current window. (Daniel Elstner)
- Also fix that starting a drag changes window focus.
- Files: src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h,
- src/window.c
- Patch 6.1.325
- Problem: Shift-Tab is not automatically recognized in an xterm.
- Solution: Add <Esc>[Z as the termcap code. (Andrew Pimlott)
- Files: src/term.c
- Patch 6.1.326
- Problem: Using a search pattern may read from uninitialized data (Yasuhiro
- Matsumoto)
- Solution: Initialize pointers to NULL.
- Files: src/regexp.c
- Patch 6.1.327
- Problem: When opening the "mbyte.txt" help file the utf-8 characters are
- unreadable, because the fileencoding is forced to be latin1.
- Solution: Check for utf-8 encoding first in help files. (Daniel Elstner)
- Files: runtime/doc/mbyte.txt, src/fileio.c
- Patch 6.1.328
- Problem: Prototype for enc_canon_search() is missing.
- Solution: Add the prototype. (Walter Briscoe)
- Files: src/mbyte.c
- Patch 6.1.329
- Problem: When editing a file "a b c" replacing "%" in ":Cmd %" or ":next %"
- does not work properly. (Hari Krishna Dara)
- Solution: Always escape spaces when expanding "%". Don't split argument for
- <f-args> in a user command when only one argument is used.
- Files: src/ex_docmd.c
- Patch 6.1.330
- Problem: GTK, Motif and Athena: Keypad keys produce the same code as
- non-keypad keys, making it impossible to map them separately.
- Solution: Use different termcap codes for the keypad keys. (Neil Bird)
- Files: src/gui_gtk_x11.c, src/gui_x11.c
- Patch 6.1.331
- Problem: When translating the help files, "LOCAL ADDITIONS" no longer marks
- the spot where help files from plugins are to be listed.
- Solution: Add a "local-additions" tag and use that to find the right spot.
- Files: runtime/doc/help.txt, src/ex_cmds.c
- Patch 6.1.332 (extra)
- Problem: Win32: Loading Perl dynamically doesn't work with Perl 5.8.
- Perl 5.8 also does not work with Cygwin and Ming.
- Solution: Adjust the function calls. (Taro Muraoka)
- Adjust the cyg and ming makefiles. (Dan Sharp)
- Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
- src/if_perl.xs
- Patch 6.1.333 (extra)
- Problem: Win32: Can't handle Unicode text on the clipboard.
- Can't pass NUL byte, it becomes a line break. (Bruce DeVisser)
- Solution: Support Unicode for the clipboard (Ron Aaron and Glenn Maynard)
- Also support copy/paste of NUL bytes.
- Files: src/os_mswin.c, src/os_win16.c src/os_win32.c
- Patch 6.1.334 (extra, depends on 6.1.303)
- Problem: Problem with drawing Hebrew characters.
- Solution: Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto)
- Files: src/gui_w32.c
- Patch 6.1.335 (extra)
- Problem: Failure of obtaining the cursor position and window size is
- ignored.
- Solution: Remove a semicolon after an "if". (Walter Briscoe)
- Files: src/gui_w32.c
- Patch 6.1.336 (extra)
- Problem: Warning for use of function prototypes of smsg().
- Solution: Define HAVE_STDARG_H. (Walter Briscoe)
- Files: src/os_win32.h
- Patch 6.1.337
- Problem: When using "finish" in debug mode in function B() for ":call
- A(B())" does not stop after B() is finished.
- Solution: Increase debug_level while evaluating a function.
- Files: src/ex_docmd.c
- Patch 6.1.338
- Problem: When using a menu that checks out the current file from Insert
- mode, there is no warning for the changed file until exiting
- Insert mode. (Srikanth Sankaran)
- Solution: Add a check for need_check_timestamps in the Insert mode loop.
- Files: src/edit.c
- Patch 6.1.339
- Problem: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji
- Fisher)
- Solution: Return "g:var" for global variables when that is what is being
- expanded. (Flemming Madsen)
- Files: src/eval.c
- Patch 6.1.340 (extra, depends on 6.1.332)
- Problem: Win32: Can't compile the Perl interface with nmake.
- Solution: Don't compare the version number as a string but as a number.
- (Juergen Kraemer)
- Files: src/Make_mvc.mak
- Patch 6.1.341
- Problem: In Insert mode with 'rightleft' set the cursor is drawn halfway a
- double-wide character. For CTRL-R and CTRL-K in Insert mode the "
- or ? is not displayed.
- Solution: Draw the cursor in the next character cell. Display the " or ?
- over the right half of the double-wide character. (Yasuhiro
- Matsumoto) Also fix that cancelling a digraph doesn't redraw
- a double-byte character correctly.
- Files: src/edit.c, src/gui.c, src/mbyte.c
- Patch 6.1.342 (depends on 6.1.341)
- Problem: With 'rightleft' set typing "c" on a double-wide character causes
- the cursor to be displayed one cell to the left.
- Solution: Draw the cursor in the next character cell. (Yasuhiro Matsumoto)
- Files: src/gui.c
- Patch 6.1.343 (depends on 6.1.342)
- Problem: Cannot compile with the +multi_byte feature but without +rightleft.
- Cannot compile without the GUI.
- Solution: Fix the #ifdefs. (partly by Nam SungHyun)
- Files: src/gui.c, src/mbyte.c, src/ui.c
- Patch 6.1.344
- Problem: When using ":silent filetype" the output is still put in the
- message history. (Hari Krishna Dara)
- Solution: Don't add messages in the history when ":silent" is used.
- Files: src/message.c
- Patch 6.1.345 (extra)
- Problem: Win32: 'imdisable' doesn't work.
- Solution: Make 'imdisable' work. (Yasuhiro Matsumoto)
- Files: src/gui_w32.c
- Patch 6.1.346
- Problem: The scroll wheel can only scroll the current window.
- Solution: Make the scroll wheel scroll the window that the mouse points to.
- (Daniel Elstner)
- Files: src/edit.c, src/gui.c, src/normal.c, src/term.c
- Patch 6.1.347
- Problem: When using cscope to list matching tags, the listed number is
- sometimes not equal to what cscope uses. (Vihren Milev)
- Solution: For cscope tags use only one table, don't give tags in the current
- file a higher priority.
- Files: src/tag.c
- Patch 6.1.348
- Problem: Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme
- <tab>" results in "zellner" instead of the first entry. (Anand
- Hariharan)
- Solution: Don't call ExpandOne() from globpath(). (Flemming Madsen)
- Files: src/ex_getln.c
- Patch 6.1.349
- Problem: "vim --serverlist" when no server was ever started gives an error
- message without "\n".
- "vim --serverlist" doesn't exit when the X server can't be
- contacted, it starts Vim unexpectedly. (Ricardo Signes)
- Solution: Don't give an error when no Vim server was ever started.
- Treat failing of opening the display equal to errors inside the
- remote*() functions. (Flemming Madsen)
- Files: src/if_xcmdsrv.c, src/main.c
- Patch 6.1.350
- Problem: When entering a buffer with ":bnext" for the first time, using an
- autocommand to restore the last used cursor position doesn't work.
- (Paolo Giarusso)
- Solution: Don't use the last known cursor position of the current Vim
- invocation if an autocommand changed the position.
- Files: src/buffer.c
- Patch 6.1.351 (depends on 6.1.349)
- Problem: Crash when starting Vim the first time in an X server. (John
- McGowan)
- Solution: Don't call xFree() with a fixed string.
- Files: src/if_xcmdsrv.c
- Patch 6.1.352 (extra, depends on 6.1.345)
- Problem: Win32: Crash when setting "imdisable" in _vimrc.
- Solution: Don't call IME functions when imm32.dll was not loaded (yet).
- Also add typecasts to avoid Compiler warnings for
- ImmAssociateContext() argument.
- Files: src/gui_w32.c
- Patch 6.1.353 (extra, depends on 6.1.334)
- Problem: Problem with drawing Arabic characters.
- Solution: Don't use ETO_PDY, do use padding.
- Files: src/gui_w32.c
- Patch 6.1.354 (extra, depends on 6.1.333)
- Problem: MS-Windows 98: Notepad can't paste text copied from Vim when
- 'encoding' is "utf-8".
- Solution: Also make CF_TEXT available on the clipboard. (Ron Aaron)
- Files: src/os_mswin.c
- Patch 6.1.355
- Problem: In a regexp '\n' will never match anything in a string.
- Solution: Make '\n' match a newline character.
- Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c,
- src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c,
- src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.h
- Patch 6.1.356 (extra, depends on, well, eh, several others)
- Problem: Compiler warnings for using convert_setup() and a few other
- things.
- Solution: Add typecasts.
- Files: src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.c
- Patch 6.1.357
- Problem: CR in the quickfix window jumps to the error under the cursor, but
- this doesn't work in Insert mode. (Srikanth Sankaran)
- Solution: Handle CR in Insert mode in the quickfix window.
- Files: src/edit.c
- Patch 6.1.358
- Problem: The tutor doesn't select another locale version properly.
- Solution: Insert the "let" command. (Yasuhiro Matsumoto)
- Files: runtime/tutor/tutor.vim
- Patch 6.1.359 (extra)
- Problem: Mac Carbon: Vim doesn't get focus when started from the command
- line. Crash when using horizontal scroll bar.
- Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka)
- Files: src/gui_mac.c
- Patch 6.1.360 (depends on 6.1.341)
- Problem: In Insert mode CTRL-K ESC messes up a multibyte character.
- (Anders Helmersson)
- Solution: Save all bytes of a character when displaying a character
- temporarily.
- Files: src/edit.c, src/proto/screen.pro, src/screen.c
- Patch 6.1.361
- Problem: Cannot jump to a file mark with ":'M".
- Solution: Allow jumping to another file for a mark in an Ex address when it
- is the only thing in the command line.
- Files: src/ex_docmd.c
- Patch 6.1.362
- Problem: tgetent() may return zero for success. tgetflag() may return -1
- for an error.
- Solution: Check tgetflag() for returning a positive value. Add an autoconf
- check for the value that tgetent() returns.
- Files: src/auto/configure, src/config.h.in, src/configure.in, src/term.c
- Patch 6.1.363
- Problem: byte2line() can return one more than the number of lines.
- Solution: Return -1 if the offset is one byte past the end.
- Files: src/memline.c
- Patch 6.1.364
- Problem: That the FileChangedShell autocommand event never nests makes it
- difficult to reload a file in a normal way.
- Solution: Allow nesting for the FileChangedShell event but do not allow
- triggering itself again.
- Also avoid autocommands for the cmdline window in rare cases.
- Files: src/ex_getln.c, src/fileio.c, src/window.c
- Patch 6.1.365 (depends on 6.1.217)
- Problem: Setting a breakpoint in a sourced file with a relative path name
- doesn't work. (Servatius Brandt)
- Solution: Expand the file name to a full path.
- Files: src/ex_cmds2.c
- Patch 6.1.366
- Problem: Can't use Vim with Netbeans.
- Solution: Add the Netbeans interface. Includes support for sign icons and
- "-fg" and "-bg" arguments for GTK. Add the 'autochdir'
- option. (Gordon Prieur, George Hernandez, Dave Weatherford)
- Make it possible to display both a sign with a text and one with
- line highlighting in the same line.
- Add support for Agide, interface version 2.1.
- Also fix that when 'iskeyword' includes '?' the "*" command
- doesn't work properly on a word that includes "?" (Bill McCarthy):
- Don't escape "?" to "\?" when searching forward.
- Files: runtime/doc/Makefile, runtime/doc/netbeans.txt,
- runtime/doc/options.txt, runtime/doc/various.txt,
- src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in,
- src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c,
- src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h,
- src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c,
- src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c,
- src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c,
- src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro,
- src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro,
- src/proto/gui_x11.pro, src/proto/misc2.pro,
- src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro,
- src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c,
- src/vim.h, src/window.c, src/workshop.c
- Patch 6.1.367 (depends on 6.1.365)
- Problem: Setting a breakpoint in a function doesn't work. For a sourced
- file it doesn't work when symbolic links are involved. (Servatius
- Brandt)
- Solution: Expand the file name in the same way as do_source() does. Don't
- prepend the path to a function name.
- Files: src/ex_cmds2.c
- Patch 6.1.368
- Problem: Completion for ":map" does not include <silent> and <script>.
- ":mkexrc" do not save the <silent> attribute of mappings.
- Solution: Add "<silent>" to the generated map commands when appropriate.
- (David Elstner)
- Add <silent> and <script> to command line completion.
- Files: src/getchar.c
- Patch 6.1.369 (extra)
- Problem: VMS: Vim hangs when attempting to edit a read-only file in the
- terminal. Problem with VMS filenames for quickfix.
- Solution: Rewrite low level input. Remove version number from file name in
- a couple more places. Fix crash after patch 6.1.362. Correct
- return code for system(). (Zoltan Arpadffy, Tomas Stehlik)
- Files: src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro,
- src/os_vms_conf.h, src/quickfix.c, src/ui.c
- Patch 6.1.370
- Problem: #ifdef nesting is unclear.
- Solution: Insert spaces to indicate the nesting.
- Files: src/os_unix.c
- Patch 6.1.371
- Problem: "%V" in 'statusline' doesn't show "0-1" in an empty line.
- Solution: Add one to the column when comparing with virtual column (Andrew
- Pimlott)
- Files: src/buffer.c
- Patch 6.1.372
- Problem: With 16 bit ints there are compiler warnings. (Walter Briscoe)
- Solution: Change int into long.
- Files: src/structs.h, src/syntax.c
- Patch 6.1.373
- Problem: The default page header for printing is not translated.
- Solution: Add _() around the two places where "Page" is used. (Mike
- Williams) Translate the default value of the 'titleold' and
- 'printheader' options.
- Files: src/ex_cmds2.c, src/option.c
- Patch 6.1.374 (extra)
- Problem: MS-Windows: Cannot build GvimExt with MingW or Cygwin.
- Solution: Add makefile and modified resource files. (Rene de Zwart)
- Also support Cygwin. (Alejandro Lopez_Valencia)
- Files: GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile,
- GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rc
- Patch 6.1.375
- Problem: MS-Windows: ':!dir "%"' does not work for a file name with spaces.
- (Xiangjiang Ma)
- Solution: Don't insert backslashes for spaces in a shell command.
- Files: src/ex_docmd.c
- Patch 6.1.376
- Problem: "vim --version" and "vim --help" have a non-zero exit code.
- That is unusual. (Petesea)
- Solution: Use a zero exit code.
- Files: src/main.c
- Patch 6.1.377
- Problem: Can't add words to 'lispwords' option.
- Solution: Add P_COMMA and P_NODUP flags. (Haakon Riiser)
- Files: src/option.c
- Patch 6.1.378
- Problem: When two buffer-local user commands are ambiguous, a full match
- with a global user command isn't found. (Hari Krishna Dara)
- Solution: Detect this situation and accept the global command.
- Files: src/ex_docmd.c
- Patch 6.1.379
- Problem: Linux with kernel 2.2 can't use the alternate stack in combination
- with threading, causes an infinite loop.
- Solution: Don't use the alternate stack in this situation.
- Files: src/os_unix.c
- Patch 6.1.380
- Problem: When 'winminheight' is zero and the quickfix window is zero lines,
- entering the window doesn't make it higher. (Christian J.
- Robinson)
- Solution: Make sure the current window is at least one line high.
- Files: src/window.c
- Patch 6.1.381
- Problem: When a BufWriteCmd is used and it leaves the buffer modified, the
- window may still be closed. (Hari Krishna Dara)
- Solution: Return FAIL from buf_write() when the buffer is still modified
- after a BufWriteCmd autocommand was used.
- Files: src/fileio.c
- Patch 6.1.382 (extra)
- Problem: Win32 GUI: When using two monitors, the code that checks/fixes the
- window size and position (e.g. when a font changes) doesn't work
- properly. (George Reilly)
- Solution: Handle a double monitor situation. (Helmut Stiegler)
- Files: src/gui_w32.c
- Patch 6.1.383
- Problem: The filling of the status line doesn't work properly for
- multibyte characters. (Nam SungHyun)
- There is no check for going past the end of the buffer.
- Solution: Properly distinguish characters and bytes. Properly check for
- running out of buffer space.
- Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.c
- Patch 6.1.384
- Problem: It is not possible to find if a certain patch has been included.
- (Lubomir Host)
- Solution: Support using has() to check if a patch was included.
- Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
- src/version.c
- Patch 6.1.385 (depends on 6.1.383)
- Problem: Can't compile without the multibyte feature.
- Solution: Move an #ifdef. (Christian J. Robinson)
- Files: src/buffer.c
- Patch 6.1.386
- Problem: Get duplicate tags when running ":helptags".
- Solution: Do the other half of moving a section to another help file.
- Files: runtime/tagsrch.txt
- Patch 6.1.387 (depends on 6.1.373)
- Problem: Compiler warning for pointer cast.
- Solution: Add (char_u *).
- Files: src/option.c
- Patch 6.1.388 (depends on 6.1.384)
- Problem: Compiler warning for pointer cast.
- Solution: Add (char *). Only include has_patch() when used.
- Files: src/eval.c, src/version.c
- Patch 6.1.389 (depends on 6.1.366)
- Problem: Balloon evaluation doesn't work for GTK.
- has("balloon_eval") doesn't work.
- Solution: Add balloon evaluation for GTK. Also improve displaying of signs.
- (Daniel Elstner)
- Also make ":gui" start the netbeans connection and avoid using
- netbeans functions when the connection is not open.
- Files: src/Makefile, src/feature.h, src/gui.c, src/gui.h,
- src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c,
- src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c,
- src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro,
- src/structs.h, src/syntax.c, src/ui.c, src/workshop.c
- Patch 6.1.390 (depends on 6.1.389)
- Problem: It's not possible to tell Vim to save and exit through the
- Netbeans interface. Would still try to send balloon eval text
- after the connection is closed.
- Can't use Unicode characters for sign text.
- Solution: Add functions "saveAndExit" and "getModified". Check for a
- working connection before sending a balloonText event.
- various other cleanups.
- Support any character for sign text. (Daniel Elstner)
- Files: runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c,
- src/netbeans.c, src/screen.c
- Patch 6.1.391
- Problem: ml_get() error when using virtualedit. (Charles Campbell)
- Solution: Get a line from a specific window, not the current one.
- Files: src/charset.c
- Patch 6.1.392 (depends on 6.1.383)
- Problem: Highlighting in the 'statusline' is in the wrong position when an
- item is truncated. (Zak Beck)
- Solution: Correct the start of 'statusline' items properly for a truncated
- item.
- Files: src/buffer.c
- Patch 6.1.393
- Problem: When compiled with Python and threads, detaching the terminal may
- cause Vim to loop forever.
- Solution: Add -pthread to $CFLAGS when using Python and gcc. (Daniel
- Elstner)
- Files: src/auto/configure,, src/configure.in
- Patch 6.1.394 (depends on 6.1.390)
- Problem: The netbeans interface doesn't recognize multibyte glyph names.
- Solution: Check the number of cells rather than bytes to decide
- whether a glyph name is not a filename. (Daniel Elstner)
- Files: src/netbeans.c
- Patch 6.1.395 (extra, depends on 6.1.369)
- Problem: VMS: OLD_VMS is never defined. Missing function prototype.
- Solution: Define OLD_VMS in Make_vms.mms. Add vms_sys_status() to
- os_vms.pro. (Zoltan Arpadffy)
- Files: src/Make_vms.mms, src/proto/os_vms.pro
- Patch 6.1.396 (depends on 6.1.330)
- Problem: Compiler warnings for using enum.
- Solution: Add typecast to char_u.
- Files: src/gui_gtk_x11.c, src/gui_x11.c
- Patch 6.1.397 (extra)
- Problem: The install program may use a wrong path for the diff command if
- there is a space in the install directory path.
- Solution: Use double quotes around the path if necessary. (Alejandro
- Lopez-Valencia) Also use double quotes around the file name
- arguments.
- Files: src/dosinst.c
- Patch 6.1.398
- Problem: Saving the typeahead for debug mode causes trouble for a test
- script. (Servatius Brandt)
- Solution: Add the ":debuggreedy" command to avoid saving the typeahead.
- Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c,
- src/ex_docmd.c, src/proto/ex_cmds2.pro
- Patch 6.1.399
- Problem: Warning for unused variable.
- Solution: Remove the variable two_or_more.
- Files: src/ex_cmds.c
- Patch 6.1.400 (depends on 6.1.381)
- Problem: When a BufWriteCmd wipes out the buffer it may still be accessed.
- Solution: Don't try accessing a buffer that has been wiped out.
- Files: src/fileio.c
- Patch 6.1.401 (extra)
- Problem: Building the Win16 version with Borland 5.01 doesn't work.
- "make test" doesn't work with Make_dos.mak. (Walter Briscoe)
- Solution: Various fixes to the w16 makefile. (Walter Briscoe)
- Don't use deltree. Use "mkdir \tmp" instead of "mkdir /tmp".
- Files: src/Make_w16.mak, src/testdir/Make_dos.mak
- Patch 6.1.402
- Problem: When evaluating a function name with curly braces, an error
- is not handled consistently.
- Solution: Accept the result of a curly braces expression when an
- error was encountered. Skip evaluating an expression in curly
- braces when skipping. (Servatius Brandt)
- Files: src/eval.c
- Patch 6.1.403 (extra)
- Problem: MS-Windows 16 bit: compiler warnings.
- Solution: Add typecasts. (Walter Briscoe)
- Files: src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c,
- src/syntax.c
- Patch 6.1.404 (extra)
- Problem: Various small problems.
- Solution: Fix comments. Various small additions, changes in indent, removal
- of unused items and fixes.
- Files: Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim,
- src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak,
- src/Make_cyg.mak, src/Make_ming.mak, src/Makefile,
- src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c,
- src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c,
- src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c,
- src/message.c, src/misc1.c, src/misc2.c, src/normal.c,
- src/option.c, src/os_os2_cfg.h, src/os_win32.c,
- src/proto/getchar.pro, src/proto/message.pro,
- src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c,
- src/term.c, src/testdir/test15.in, src/testdir/test15.ok,
- src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/Makefile
- Patch 6.1.405
- Problem: A few files are missing from the toplevel Makefile.
- Solution: Add the missing files.
- Files: Makefile
- Patch 6.1.406 (depends on 6.1.392)
- Problem: When a statusline item doesn't fit arbitrary text appears.
- (Christian J. Robinson)
- Solution: When there is just enough room but not for the "<" truncate the
- statusline item like there is no room.
- Files: src/buffer.c
- Patch 6.1.407
- Problem: ":set scrollbind | help" scrollbinds the help window. (Andrew
- Pimlott)
- Solution: Reset 'scrollbind' when opening a help window.
- Files: src/ex_cmds.c
- Patch 6.1.408
- Problem: When 'rightleft' is set unprintable character 0x0c is displayed as
- ">c0<".
- Solution: Reverse the text of the hex character.
- Files: src/screen.c
- Patch 6.1.409
- Problem: Generating tags for the help doesn't work for some locales.
- Solution: Set LANG=C LC_ALL=C in the environment for "sort". (Daniel
- Elstner)
- Files: runtime/doc/Makefile
- Patch 6.1.410 (depends on 6.1.390)
- Problem: Linking error when compiling with Netbeans but without sign icons.
- (Malte Neumann)
- Solution: Don't define buf_signcount() when sign icons are unavailable.
- Files: src/buffer.c
- Patch 6.1.411
- Problem: When 'virtualedit' is set, highlighting a Visual block beyond the
- end of a line may be wrong.
- Solution: Correct the virtual column when the end of the line is before the
- displayed part of the line. (Muraoka Taro)
- Files: src/screen.c
- Patch 6.1.412
- Problem: When swapping terminal screens and using ":gui" to start the GUI,
- the shell prompt may be after a hit-enter prompt.
- Solution: Output a newline in the terminal when starting the GUI and there
- was a hit-enter prompt..
- Files: src/gui.c
- Patch 6.1.413
- Problem: When 'clipboard' contains "unnamed", "p" in Visual mode doesn't
- work correctly.
- Solution: Save the register before overwriting it and put the resulting text
- on the clipboard afterwards. (Muraoka Taro)
- Files: src/normal.c, src/ops.c
- Patch 6.1.414 (extra, depends on 6.1.369)
- Problem: VMS: Vim busy waits when waiting for input.
- Solution: Delay for a short while before getting another character. (Zoltan
- Arpadffy)
- Files: src/os_vms.c
- Patch 6.1.415
- Problem: When there is a vertical split and a quickfix window, reducing the
- size of the Vim window may result in a wrong window layout and a
- crash.
- Solution: When reducing the window size and there is not enough space for
- 'winfixheight' set the frame height to the larger height, so that
- there is a retry while ignoring 'winfixheight'. (Yasuhiro
- Matsumoto)
- Files: src/window.c
- Patch 6.1.416 (depends on 6.1.366)
- Problem: When using the Netbeans interface, a line with a sign cannot be
- changed.
- Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
- area.
- Files: src/netbeans.c
- Patch 6.1.417
- Problem: Unprintable multibyte characters are not handled correctly.
- Multi-byte characters above 0xffff are displayed as another
- character.
- Solution: Handle unprintable multibyte characters. Display multibyte
- characters above 0xffff with a marker. Recognize UTF-16 words and
- BOM words as unprintable. (Daniel Elstner)
- Files: src/charset.c, src/mbyte.c, src/screen.c
- Patch 6.1.418
- Problem: The result of strftime() is in the current locals. Need to
- convert it to 'encoding'.
- Solution: Obtain the current locale and convert the argument for strftime()
- to it and the result back to 'encoding'. (Daniel Elstner)
- Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c,
- src/proto/mbyte.pro, src/option.c, src/os_mswin.c
- Patch 6.1.419
- Problem: Vim doesn't compile on AIX 5.1.
- Solution: Don't define _NO_PROTO on this system. (Uribarri)
- Files: src/auto/configure, src/configure.in
- Patch 6.1.420 (extra)
- Problem: convert_input() has an unnecessary STRLEN().
- Conversion from UCS-2 to a codepage uses word count instead of
- byte count.
- Solution: Remove the STRLEN() call. (Daniel Elstner)
- Always use byte count for string_convert().
- Files: src/gui_w32.c, src/mbyte.c
- Patch 6.1.421 (extra, depends on 6.1.354)
- Problem: MS-Windows 9x: When putting text on the clipboard it can be in
- the wrong encoding.
- Solution: Convert text to the active codepage for CF_TEXT. (Glenn Maynard)
- Files: src/os_mswin.c
- Patch 6.1.422
- Problem: Error in .vimrc doesn't cause hit-enter prompt when swapping
- screens. (Neil Bird)
- Solution: Set msg_didany also when sending a message to the terminal
- directly.
- Files: src/message.c
- Patch 6.1.423
- Problem: Can't find arbitrary text in help files.
- Solution: Added the ":helpgrep" command.
- Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
- src/proto/quickfix.pro, src/quickfix.c
- Patch 6.1.424 (extra)
- Problem: Win32: gvim compiled with VC++ 7.0 run on Windows 95 does not show
- menu items.
- Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO.
- (Muraoka Taro)
- Files: src/Make_mvc.mak
- Patch 6.1.425
- Problem: ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag.
- Solution: Do add the "help-tags" tag for that specific directory.
- Files: src/ex_cmds.c
- Patch 6.1.426
- Problem: "--remote-wait +cmd file" waits forever. (Valery Kondakoff)
- Solution: Don't wait for the "+cmd" argument to have been edited.
- Files: src/main.c
- Patch 6.1.427
- Problem: Several error messages for regexp patterns are not translated.
- Solution: Use _() properly. (Muraoka Taro)
- Files: src/regexp.c
- Patch 6.1.428
- Problem: FreeBSD: wait() may hang when compiled with Python support and
- doing a system() call in a startup script.
- Solution: Use waitpid() instead of wait() and poll every 10 msec, just like
- what is done in the GUI.
- Files: src/os_unix.c
- Patch 6.1.429 (depends on 6.1.390)
- Problem: Crash when using showmarks.vim plugin. (Charles Campbell)
- Solution: Check for sign_get_text() returning a NULL pointer.
- Files: src/screen.c
- Patch 6.1.430
- Problem: In Lisp code backslashed parens should be ignored for "%". (Dorai)
- Solution: Skip over backslashed parens.
- Files: src/search.c
- Patch 6.1.431
- Problem: Debug commands end up in redirected text.
- Solution: Disable redirection while handling debug commands.
- Files: src/ex_cmds2.c
- Patch 6.1.432 (depends on 6.1.375)
- Problem: MS-Windows: ":make %:p" inserts extra backslashes. (David Rennalls)
- Solution: Don't add backslashes, handle it like ":!cmd".
- Files: src/ex_docmd.c
- Patch 6.1.433
- Problem: ":popup" only works for Win32.
- Solution: Add ":popup" support for GTK. (Daniel Elstner)
- Files: runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c,
- src/proto/gui_gtk.pro
- Patch 6.1.434 (extra)
- Problem: Win32: When there are more than 32767 lines, the scrollbar has a
- roundoff error.
- Solution: Make a click on an arrow move one line. Also move the code to
- gui_w48.c, there is hardly any difference between the 16 bit and
- 32 bit versions. (Walter Briscoe)
- Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
- Patch 6.1.435
- Problem: ":winsize x" resizes the Vim window to the minimal size. (Andrew
- Pimlott)
- Solution: Give an error message for wrong arguments of ":winsize" and
- ":winpos".
- Files: src/ex_docmd.c
- Patch 6.1.436
- Problem: When a long UTF-8 file contains an illegal byte it's hard to find
- out where it is. (Ron Aaron)
- Solution: Add the line number to the error message.
- Files: src/fileio.c
- Patch 6.1.437 (extra, depends on 6.1.421)
- Problem: Using multibyte functions when they are not available.
- Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri)
- Also fix a pointer type mistake. (Walter Briscoe)
- Files: src/os_mswin.c
- Patch 6.1.438
- Problem: When Perl has thread support Vim cannot use the Perl interface.
- Solution: Add a configure check and disable Perl when it will not work.
- (Aron Griffis)
- Files: src/auto/configure, src/configure.in
- Patch 6.1.439
- Problem: Netbeans: A "create" function doesn't actually create a buffer,
- following functions may fail.
- Solution: Create a Vim buffer without a name when "create" is called.
- (Gordon Prieur)
- Files: runtime/doc/netbeans.txt, src/netbeans.c
- Patch 6.1.440
- Problem: The "@*" command doesn't obtain the actual contents of the
- clipboard. (Hari Krishna Dara)
- Solution: Obtain the clipboard text before executing the command.
- Files: src/ops.c
- Patch 6.1.441
- Problem: "zj" and "zk" cannot be used as a motion command after an
- operator. (Ralf Hetzel)
- Solution: Accept these commands as motion commands.
- Files: src/normal.c
- Patch 6.1.442
- Problem: Unicode 3.2 defines more space and punctuation characters.
- Solution: Add the new characters to the Unicode tables. (Raphael Finkel)
- Files: src/mbyte.c
- Patch 6.1.443 (extra)
- Problem: Win32: The gvimext.dll build with Borland 5.5 requires another
- DLL.
- Solution: Build a statically linked version by default. (Dan Sharp)
- Files: GvimExt/Make_bc5.mak
- Patch 6.1.444 (extra)
- Problem: Win32: Enabling a build with gettext support is not consistent.
- Solution: Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp)
- Files: src/Make_bc5.mak, src/Make_mvc.mak
- Patch 6.1.445 (extra)
- Problem: DJGPP: get warning for argument of putenv()
- Solution: Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe)
- Files: src/os_msdos.h
- Patch 6.1.446 (extra)
- Problem: Win32: The MingW makefile uses a different style of arguments than
- other makefiles.
- Dynamic IME is not supported for Cygwin.
- Solution: Use "no" and "yes" style arguments. Remove the use of the
- dyn-ming.h include file. (Dan Sharp)
- Do not include the ime.h file and adjust the makefile. (Alejandro
- Lopez-Valencia)
- Files: src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c,
- src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.c
- Patch 6.1.447
- Problem: "make install" uses "make" directly for generating help tags.
- Solution: Use $(MAKE) instead of "make". (Tim Mooney)
- Files: src/Makefile
- Patch 6.1.448
- Problem: 'titlestring' has a default maximum width of 50 chars per item.
- Solution: Remove the default maximum (also for 'statusline').
- Files: src/buffer.c
- Patch 6.1.449
- Problem: When "1" and "a" are in 'formatoptions', auto-formatting always
- moves a newly added character to the next line. (Servatius Brandt)
- Solution: Don't move a single character to the next line when it was just
- typed.
- Files: src/edit.c
- Patch 6.1.450
- Problem: Termcap entry "kB" for back-tab is not recognized.
- Solution: Use back-tab as the shift-tab code.
- Files: src/keymap.h, src/misc2.c, src/term.c
- Patch 6.1.451
- Problem: GUI: When text in the find dialog contains a slash, a backslash is
- inserted the next time it is opened. (Mezz)
- Solution: Remove escaped backslashes and question marks. (Daniel Elstner)
- Files: src/gui.c
- Patch 6.1.452 (extra, after 6.1.446)
- Problem: Win32: IME support doesn't work for MSVC.
- Solution: Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia)
- Files: src/gui_w32.c
- Patch 6.1.453 (after 6.1.429)
- Problem: When compiled without sign icons but with sign support, adding a
- sign may cause a crash.
- Solution: Check for the text sign to exist before using it. (Kamil
- Burzynski)
- Files: src/screen.c
- Patch 6.1.454 (extra)
- Problem: Win32: pasting Russian text in Vim with 'enc' set to cp1251
- results in utf-8 bytes. (Perelyubskiy)
- Conversion from DBCS to UCS2 does not work when 'encoding' is not
- the active codepage.
- Solution: Introduce enc_codepage and use it for conversion to 'encoding'
- (Glenn Maynard)
- Use MultiByteToWideChar() and WideCharToMultiByte() instead of
- iconv(). Should do most needed conversions without iconv.dll.
- Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c,
- src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.h
- Patch 6.1.455
- Problem: Some Unicode characters can be one or two character cells wide.
- Solution: Add the 'ambiwidth' option to tell Vim how to display these
- characters. (Jungshik Shin)
- Also reset the script ID when setting an option to its default
- value, so that ":verbose set" won't give wrong info.
- Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h
- Patch 6.1.456 (extra, after 6.1.454)
- Problem: Win32: IME doesn't work.
- Solution: ImmGetCompositionStringW() returns the size in bytes, not words.
- (Yasuhiro Matsumoto) Also fix typecast problem.
- Files: src/gui_w32.c, src/os_mswin.c
- Patch 6.1.457
- Problem: An empty register in viminfo causes conversion to fail.
- Solution: Don't convert an empty string. (Yasuhiro Matsumoto)
- Files: src/ex_cmds.c, src/mbyte.c
- Patch 6.1.458
- Problem: Compiler warning for pointer.
- Solution: Add a typecast.
- Files: src/ex_cmds.c
- Patch 6.1.459 (extra)
- Problem: Win32: libcall() may return an invalid pointer and cause Vim to
- crash.
- Solution: Add a strict check for the returned pointer. (Bruce Mellows)
- Files: src/os_mswin.c
- Patch 6.1.460
- Problem: GTK: after scrolling the text one line with a key, clicking the
- arrow of the scrollbar does not always work. (Nam SungHyun)
- Solution: Always update the scrollbar thumb when the value changed, even
- when it would not move, like for RISCOS. (Daniel Elstner)
- Files: src/gui.c, src/gui.h
- Patch 6.1.461
- Problem: When a keymap is active, typing a character in Select mode does
- not use it. (Benji Fisher)
- Solution: Apply Insert mode mapping to the character typed in Select mode.
- Files: src/normal.c
- Patch 6.1.462
- Problem: When autocommands wipe out a buffer, a crash may happen. (Hari
- Krishna Dara)
- Solution: Don't decrement the window count of a buffer before calling the
- autocommands for it. When re-using the current buffer, watch out
- for autocommands changing the current buffer.
- Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro
- Patch 6.1.463
- Problem: When writing a compressed file, the file name that gzip stores in
- the file is the weird temporary file name. (David Rennalls)
- Solution: Use the real file name when possible.
- Files: runtime/plugin/gzip.vim
- Patch 6.1.464
- Problem: Crash when using C++ syntax highlighting. (Gerhard Hochholzer)
- Solution: Check for a negative index.
- Files: src/syntax.c
- Patch 6.1.465 (after 6.1.454)
- Problem: Compile error when using cygwin.
- Solution: Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia)
- Undefine WIN32 after including windows.h
- Files: src/mbyte.c
- Patch 6.1.466
- Problem: The "-f" argument is a bit obscure.
- Solution: Add the "--nofork" argument. Improve the help text a bit.
- Files: runtime/doc/starting.txt, src/main.c
- Patch 6.1.467
- Problem: Setting the window title doesn't work for Chinese.
- Solution: Use an X11 function to convert text to a text property. (Kentaro
- Nakazawa)
- Files: src/os_unix.c
- Patch 6.1.468
- Problem: ":mksession" also stores folds for buffers which will not be
- restored.
- Solution: Only store folds for a buffer with 'buftype' empty and help files.
- Files: src/ex_docmd.c
- Patch 6.1.469
- Problem: 'listchars' cannot contain multibyte characters.
- Solution: Handle multibyte UTF-8 list characters. (Matthew Samsonoff)
- Files: src/message.c, src/option.c, src/screen.c
- Patch 6.1.470 (lang)
- Problem: Polish messages don't show up correctly on MS-Windows.
- Solution: Convert messages to cp1250. (Mikolaj Machowski)
- Also add English message translations, because it got in the way
- of the patch.
- Files: Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.po
- Patch 6.1.471
- Problem: ":jumps" output continues after pressing "q" at the more-prompt.
- (Hari Krishna Dara)
- Solution: Check for "got_int" being set.
- Files: src/mark.c
- Patch 6.1.472
- Problem: When there is an authentication error when connecting to the X
- server Vim exits.
- Solution: Use XSetIOErrorHandler() to catch the error and longjmp() to avoid
- the exit. Also do this in the main loop, so that when the X
- server exits a Vim running in a console isn't killed.
- Files: src/globals.h, src/main.c, src/os_unix.c
- Patch 6.1.473
- Problem: Referring to $curwin or $curbuf in Perl 5.6 causes a crash.
- Solution: Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto)
- Files: src/if_perl.xs
- Patch 6.1.474
- Problem: When opening the command-line window in Ex mode it's impossible to
- go back. (Pavol Juhas)
- Solution: Reset "exmode_active" and restore it when the command-line window
- is closed.
- Files: src/ex_getln.c
- Patch 6.2f.001
- Problem: The configure check for Ruby didn't work properly for Ruby 1.8.0.
- Solution: Change the way the Ruby check is done. (Aron Griffis)
- Files: src/auto/configure, src/configure.in
- Patch 6.2f.002
- Problem: The output of ":ls" doesn't show whether a buffer had read errors.
- Solution: Add the "x" flag in the ":ls" output.
- Files: runtime/doc/windows.txt, src/buffer.c
- Patch 6.2f.003
- Problem: Test49 doesn't properly test the behavior of ":catch" without an
- argument.
- Solution: Update test49. (Servatius Brandt)
- Files: src/testdir/test49.ok, src/testdir/test49.vim
- Patch 6.2f.004
- Problem: "vim --version" always uses CR/LF in the output.
- Solution: Omit the CR.
- Files: src/message.c, src/os_unix.c
- Patch 6.2f.005
- Problem: Two error messages without a colon after the number.
- Solution: Add the colon. (Taro Muraoka)
- Files: src/if_cscope.c
- Patch 6.2f.006
- Problem: When saving a file takes a while and Vim regains focus this can
- result in a "file changed outside of Vim" warning and ml_get()
- errors. (Mike Williams)
- Solution: Add the "b_saving" flag to avoid checking the timestamp while the
- buffer is being saved. (Michael Schaap)
- Files: src/fileio.c, src/structs.h
- Patch 6.2f.007
- Problem: Irix compiler complains about multiple defined symbols.
- vsnprintf() is not available. (Charles Campbell)
- Solution: Insert EXTERN for variables in globals.h. Change the configure
- check for vsnprintf() from compiling to linking.
- Files: src/auto/configure, src/configure.in, src/globals.h
- Patch 6.2f.008
- Problem: The Aap recipe doesn't work with Aap 0.149.
- Solution: Change targetarg to TARGETARG. Update the mysign file.
- Files: src/main.aap, src/mysign
- Patch 6.2f.009 (extra)
- Problem: Small problem when building with Borland 5.01.
- Solution: Use mkdir() instead of _mkdir(). (Walter Briscoe)
- Files: src/dosinst.h
- Patch 6.2f.010
- Problem: Warning for missing prototypes.
- Solution: Add missing prototypes. (Walter Briscoe)
- Files: src/if_cscope.c
- Patch 6.2f.011
- Problem: The configure script doesn't work with autoconf 2.5x.
- Solution: Add square brackets around a header check. (Aron Griffis)
- Note: touch src/auto/configure after applying this patch.
- Files: src/configure.in
- Patch 6.2f.012
- Problem: ":echoerr" doesn't work correctly inside try/endtry.
- Solution: Don't reset did_emsg inside a try/endtry. (Servatius Brandt)
- Files: src/eval.c
- Patch 6.2f.013 (extra)
- Problem: Macintosh: Compiler warning for a trigraph.
- Solution: Insert a backslash before each question mark. (Peter Cucka)
- Files: src/os_mac.h
- Patch 6.2f.014 (extra)
- Problem: Macintosh: ex_eval is not included in the project file.
- Solution: Add ex_eval. (Dany St-Amant)
- Files: src/os_mac.pbproj/project.pbxproj
- Patch 6.2f.015 (extra)
- Problem: Win32: When changing header files not all source files involved
- are recompiled.
- Solution: Improve the dependency rules. (Dan Sharp)
- Files: src/Make_cyg.mak, src/Make_ming.mak
- Patch 6.2f.016
- Problem: "vim --version > ff" on non-Unix systems results in a file with a
- missing line break at the end. (Bill McCarthy)
- Solution: Add a line break.
- Files: src/main.c
- Patch 6.2f.017
- Problem: Unix: starting Vim in the background and then bringing it to the
- foreground may cause the terminal settings to be wrong.
- Solution: Check for tcsetattr() to return an error, retry when it does.
- (Paul Tapper)
- Files: src/os_unix.c
- Patch 6.2f.018
- Problem: Mac OS X 10.2: OK is defined to zero in curses.h while Vim uses
- one. Redefining it causes a warning message.
- Solution: Undefine OK before defining it to one. (Taro Muraoka)
- Files: src/vim.h
- Patch 6.2f.019
- Problem: Mac OS X 10.2: COLOR_BLACK and COLOR_WHITE are defined in
- curses.h.
- Solution: Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE.
- Files: src/ex_cmds2.c
- Patch 6.2f.020
- Problem: Win32: test50 produces beeps and fails with some versions of diff.
- Solution: Remove empty lines and convert the output to dos fileformat.
- Files: src/testdir/test50.in
- Patch 6.2f.021
- Problem: Running configure with "--enable-netbeans" disables Netbeans.
- (Gordon Prieur)
- Solution: Fix the tests in configure.in where the default is to enable a
- feature. Fix that "--enable-acl" reported "yes" confusingly.
- Files: src/auto/configure, src/configure.in, src/mysign
- Patch 6.2f.022
- Problem: A bogus value for 'foldmarker' is not rejected, possibly causing a
- hang. (Derek Wyatt)
- Solution: Check for a non-empty string before and after the comma.
- Files: src/option.c
- Patch 6.2f.023
- Problem: When the help files are not in $VIMRUNTIME but 'helpfile' is
- correct Vim still can't find the help files.
- Solution: Also look for a tags file in the directory of 'helpfile'.
- Files: src/tag.c
- Patch 6.2f.024
- Problem: When 'delcombine' is set and a character has more than two
- composing characters "x" deletes them all.
- Solution: Always delete only the last composing character.
- Files: src/misc1.c
- Patch 6.2f.025
- Problem: When reading a file from stdin that has DOS line endings but a
- missing end-of-line for the last line 'fileformat' becomes "unix".
- (Bill McCarthy)
- Solution: Don't add the missing line break when re-reading the text from the
- buffer.
- Files: src/fileio.c
- Patch 6.2f.026
- Problem: When typing new text at the command line, old composing characters
- may be displayed.
- Solution: Don't read composing characters from after the end of the
- text to be displayed.
- Files: src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro,
- src/screen.c
- Patch 6.2f.027
- Problem: Compiler warnings for unsigned char pointers. (Tony Leneis)
- Solution: Add typecasts to char pointer.
- Files: src/quickfix.c
- Patch 6.2f.028
- Problem: GTK: When 'imactivatekey' is empty and XIM is inactive it can't be
- made active again. Cursor isn't updated immediately when changing
- XIM activation. Japanese XIM may hang when using 'imactivatekey'.
- Can't activate XIM after typing fFtT command or ":sh".
- Solution: Properly set the flag that indicates the IM is active. Update the
- cursor right away. Do not send a key-release event. Handle
- Normal mode and running an external command differently.
- (Yasuhiro Matsumoto)
- Files: src/mbyte.c
- Patch 6.2f.029
- Problem: Mixing use of int and enum.
- Solution: Adjust argument type of cs_usage_msg(). Fix wrong typedef.
- Files: src/if_cscope.c, src/if_cscope.h
- Patch 6.2f.030 (after 6.2f.028)
- Problem: Cursor moves up when using XIM.
- Solution: Reset im_preedit_cursor. (Yasuhiro Matsumoto)
- Files: src/mbyte.c
- Patch 6.2f.031
- Problem: Crash when listing a function argument in the debugger. (Ron Aaron)
- Solution: Init the name field of an argument to NULL.
- Files: src/eval.c
- Patch 6.2f.032
- Problem: When a write fails for a ":silent!" while inside try/endtry the
- BufWritePost autocommands are not triggered.
- Solution: Check the emsg_silent flag in should_abort(). (Servatius Brandt)
- Files: src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vim
- Patch 6.2f.033
- Problem: Cscope: re-entrance problem for ":cscope" command. Checking for
- duplicate database didn't work well for Win95. Didn't check for
- duplicate databases after an empty entry.
- Solution: Don't set postponed_split too early. Remember first empty
- database entry. (Sergey Khorev)
- Files: src/if_cscope.c
- Patch 6.2f.034
- Problem: The netbeans interface cannot be used on systems without
- vsnprintf(). (Tony Leneis)
- Solution: Use EMSG(), EMSGN() and EMSG2() instead.
- Files: src/auto/configure, src/configure.in, src/netbeans.c
- Patch 6.2f.035
- Problem: The configure check for the netbeans interface doesn't work if the
- socket and nsl libraries are required.
- Solution: Check for the socket and nsl libraries before the netbeans check.
- Files: src/auto/configure, src/configure.in
- Patch 6.2f.036
- Problem: Moving leftwards over text with an illegal UTF-8 byte moves one
- byte instead of one character.
- Solution: Ignore an illegal byte after the cursor position.
- Files: src/mbyte.c
- Patch 6.2f.037
- Problem: When receiving a Netbeans command at the hit-enter or more prompt
- the screen is redrawn but Vim is still waiting at the prompt.
- Solution: Quit the prompt like a CTRL-C was typed.
- Files: src/netbeans.c
- Patch 6.2f.038
- Problem: The dependency to run autoconf causes a patch for configure.in
- to run autoconf, even though the configure script was updated as
- well.
- Solution: Only run autoconf with "make autoconf".
- Files: src/Makefile
- Patch 6.2f.039
- Problem: CTRL-W K makes the new top window very high.
- Solution: When 'equalalways' is set equalize the window heights.
- Files: src/window.c
- ==============================================================================
- VERSION 6.3 *version-6.3*
- This section is about improvements made between version 6.2 and 6.3.
- This is mainly a bug-fix release. There are also a few new features.
- The major number of new items is in the runtime files and translations.
- Changed *changed-6.3*
- -------
- The intro message also displays a note about sponsoring Vim, mixed randomly
- with the message about helping children in Uganda.
- Included the translated menus, keymaps and tutors with the normal runtime
- files. The separate "lang" archive now only contains translated messages.
- Made the translated menu file names a bit more consistent. Use "latin1" for
- "iso_8859-1" and "iso_8859-15".
- Removed the "file_select.vim" script from the distribution. It's not more
- useful than other scripts that can be downloaded from www.vim.org.
- The "runtime/doc/tags" file is now always in unix fileformat. On MS-Windows
- it used to be dos fileformat, but ":helptags" generates a unix format file.
- Added *added-6.3*
- -----
- New commands:
- :cNfile go to last error in previous file
- :cpfile idem
- :changes print the change list
- :keepmarks following command keeps marks where they are
- :keepjumps following command keeps jumplist and marks
- :lockmarks following command keeps marks where they are
- :redrawstatus force a redraw of the status line(s)
- New options:
- 'antialias' Mac OS X: use smooth, antialiased fonts
- 'helplang' preferred help languages
- Syntax files:
- Arch inventory (Nikolai Weibull)
- Calendar (Nikolai Weibull)
- Ch (Wayne Cheng)
- Controllable Regex Mutilator (Nikolai Weibull)
- D (Jason Mills)
- Desktop (Mikolaj Machowski)
- Dircolors (Nikolai Weibull)
- Elinks configuration (Nikolai Weibull)
- FASM (Ron Aaron)
- GrADS scripts (Stefan Fronzek)
- Icewm menu (James Mahler)
- LDIF (Zak Johnson)
- Locale input, fdcc. (Dwayne Bailey)
- Pinfo config (Nikolai Weibull)
- Pyrex (Marco Barisione)
- Relax NG Compact (Nikolai Weibull)
- Slice (Morel Bodin)
- VAX Macro Assembly (Tom Uijldert)
- grads (Stefan Fronzek)
- libao (Nikolai Weibull)
- mplayer (Nikolai Weibull)
- rst (Nikolai Weibull)
- tcsh (Gautam Iyer)
- yaml (Nikolai Weibull)
- Compiler plugins:
- ATT dot (Marcos Macedo)
- Apple Project Builder (Alexander von Below)
- Intel (David Harrison)
- bdf (Nikolai Weibull)
- icc (Peter Puck)
- javac (Doug Kearns)
- neato (Marcos Macedo)
- onsgmls (Robert B. Rowsome)
- perl (Christian J. Robinson)
- rst (Nikolai Weibull)
- se (SmartEiffel) (Doug Kearns)
- tcl (Doug Kearns)
- xmlwf (Robert B. Rowsome)
- Filetype plugins:
- Aap (Bram Moolenaar)
- Ch (Wayne Cheng)
- Css (Nikolai Weibull)
- Pyrex (Marco Barisione)
- Rst (Nikolai Weibull)
- Indent scripts:
- Aap (Bram Moolenaar)
- Ch (Wayne Cheng)
- DocBook (Nikolai Weibull)
- MetaPost (Eugene Minkovskii)
- Objective-C (Kazunobu Kuriyama)
- Pyrex (Marco Barisione)
- Rst (Nikolai Weibull)
- Tcsh (Gautam Iyer)
- XFree86 configuration file (Nikolai Weibull)
- Zsh (Nikolai Weibull)
- Keymaps:
- Greek for cp1253 (Panagiotis Louridas)
- Hungarian (Magyar) (Laszlo Zavaleta)
- Persian-Iranian (Behnam Esfahbod)
- Message translations:
- Catalan (Ernest Adrogue)
- Russian (Vassily Ragosin)
- Swedish (Johan Svedberg)
- Menu translations:
- Catalan (Ernest Adrogue)
- Russian (Tim Alexeevsky)
- Swedish (Johan Svedberg)
- Tutor translations:
- Catalan (Ernest Adrogue)
- Russian in cp1251 (Alexey Froloff)
- Slovak in cp1250 and iso8859-2 (Lubos Celko)
- Swedish (Johan Svedberg)
- Korean (Kee-Won Seo)
- UTF-8 version of the Japanese tutor (Yasuhiro Matsumoto) Use this as
- the original, create the other Japanese tutor by conversion.
- Included "russian.txt" help file. (Vassily Ragosin)
- Include Encapsulated PostScript and PDF versions of the Vim logo in the extra
- archive.
- The help highlighting finds the highlight groups and shows them in the color
- that is actually being used. (idea from Yakov Lerner)
- The big Win32 version is now compiled with Ruby interface, version 1.8. For
- Python version 2.3 is used. For Perl version 5.8 is used.
- The "ftdetect" directory is mentioned in the documentation. The DOS install
- program creates it.
- Fixed *fixed-6.3*
- -----
- Test 42 failed on MS-Windows. Set and reset 'fileformat' and 'binary' options
- here and there. (Walter Briscoe)
- The explorer plugin didn't work for double-byte 'encoding's.
- Use "copy /y" in Make_bc5.mak to avoid a prompt for overwriting.
- Patch 6.2.001
- Problem: The ":stopinsert" command doesn't have a help tag.
- Solution: Add the tag. (Antoine J. Mechelynck)
- Files: runtime/doc/insert.txt, runtime/doc/tags
- Patch 6.2.002
- Problem: When compiled with the +multi_byte feature but without +eval,
- displaying UTF-8 characters may cause a crash. (Karsten Hopp)
- Solution: Also set the default for 'ambiwidth' when compiled without the
- +eval feature.
- Files: src/option.c
- Patch 6.2.003
- Problem: GTK 2: double-wide characters below 256 are not displayed
- correctly.
- Solution: Check the cell width for characters above 127. (Yasuhiro
- Matsumoto)
- Files: src/gui_gtk_x11.c
- Patch 6.2.004
- Problem: With a line-Visual selection at the end of the file a "p" command
- puts the text one line upwards.
- Solution: Detect that the last line was deleted and put forward. (Taro
- Muraoka)
- Files: src/normal.c
- Patch 6.2.005
- Problem: GTK: the "Find" and "Find and Replace" tools don't work. (Aschwin
- Marsman)
- Solution: Show the dialog after creating it. (David Necas)
- Files: src/gui_gtk.c
- Patch 6.2.006
- Problem: The Netbeans code contains an obsolete function that uses "vim61"
- and sets the fall-back value for $VIMRUNTIME.
- Solution: Delete the obsolete function.
- Files: src/main.c, src/netbeans.c, src/proto/netbeans.pro
- Patch 6.2.007
- Problem: Listing tags for Cscope doesn't always work.
- Solution: Avoid using smgs_attr(). (Sergey Khorev)
- Files: src/if_cscope.c
- Patch 6.2.008
- Problem: XIM with GTK 2: After backspacing preedit characters are wrong.
- Solution: Reset the cursor position. (Yasuhiro Matsumoto)
- Files: src/mbyte.c
- Patch 6.2.009
- Problem: Win32: The self-installing executable "Full" selection only
- selects some of the items to install. (Salman Mohsin)
- Solution: Change commas to spaces in between section numbers.
- Files: nsis/gvim.nsi
- Patch 6.2.010
- Problem: When 'virtualedit' is effective and a line starts with a
- multibyte character, moving the cursor right doesn't work.
- Solution: Obtain the right character to compute the column offset. (Taro
- Muraoka)
- Files: src/charset.c
- Patch 6.2.011
- Problem: Alpha OSF1: stat() is a macro and doesn't allow an #ifdef halfway.
- (Moshe Kaminsky)
- Solution: Move the #ifdef outside of stat().
- Files: src/os_unix.c
- Patch 6.2.012
- Problem: May hang when polling for a character.
- Solution: Break the wait loop when not waiting for a character.
- Files: src/os_unix.c
- Patch 6.2.013 (extra)
- Problem: Win32: The registry key for uninstalling GvimExt still uses "6.1".
- Solution: Change the version number to "6.2". (Ajit Thakkar)
- Files: src/GvimExt/GvimExt.reg
- Patch 6.2.014 (after 6.2.012)
- Problem: XSMP doesn't work when using poll().
- Solution: Use xsmp_idx instead of gpm_idx. (Neil Bird)
- Files: src/os_unix.c
- Patch 6.2.015
- Problem: The +xsmp feature is never enabled.
- Solution: Move the #define for USE_XSMP to below where WANT_X11 is defined.
- (Alexey Froloff)
- Files: src/feature.h
- Patch 6.2.016
- Problem: Using ":scscope find" with 'cscopequickfix' does not always split
- the window. (Gary Johnson)
- Win32: ":cscope add" could make the script that contains it
- read-only until the corresponding ":cscope kill".
- Errors during ":cscope add" may not be handled properly.
- Solution: When using the quickfix window may need to split the window.
- Avoid file handle inheritance for the script.
- Check for a failed connection and/or process. (Sergey Khorev)
- Files: src/ex_cmds2.c, src/if_cscope.c
- Patch 6.2.017
- Problem: Test11 sometimes prompts the user, because a file would have been
- changed outside of Vim. (Antonio Colombo)
- Solution: Add a FileChangedShell autocommand to avoid the prompt.
- Files: src/testdir/test11.in
- Patch 6.2.018
- Problem: When using the XSMP protocol and reading from stdin Vim may wait
- for a key to be pressed.
- Solution: Avoid that RealWaitForChar() is used recursively.
- Files: src/os_unix.c
- Patch 6.2.019 (lang)
- Problem: Loading the Portuguese menu causes an error message.
- Solution: Join two lines. (Jose Pedro Oliveira, José de Paula)
- Files: runtime/lang/menu_pt_br.vim
- Patch 6.2.020
- Problem: The "Syntax/Set syntax only" menu item causes an error message.
- (Oyvind Holm)
- Solution: Set the script-local variable in a function. (Benji Fisher)
- Files: runtime/synmenu.vim
- Patch 6.2.021
- Problem: The user manual section on exceptions contains small mistakes.
- Solution: Give a good example of an error that could be missed and other
- improvements. (Servatius Brandt)
- Files: runtime/doc/usr_41.txt
- Patch 6.2.022 (extra)
- Problem: Win32: After deleting a menu item it still appears in a tear-off
- window.
- Solution: Set the mode to zero for the deleted item. (Yasuhiro Matsumoto)
- Files: src/gui_w32.c
- Patch 6.2.023 (extra)
- Problem: Win32: Make_ivc.mak does not clean everything.
- Solution: Delete more files in the clean rule. (Walter Briscoe)
- Files: src/Make_ivc.mak
- Patch 6.2.024 (extra)
- Problem: Win32: Compiler warnings for typecasts.
- Solution: Use DWORD instead of WORD. (Walter Briscoe)
- Files: src/gui_w32.c
- Patch 6.2.025
- Problem: Missing prototype for sigaltstack().
- Solution: Add the prototype when it is not found in a header file.
- Files: src/os_unix.c
- Patch 6.2.026
- Problem: Warning for utimes() argument.
- Solution: Add a typecast.
- Files: src/fileio.c
- Patch 6.2.027
- Problem: Warning for uninitialized variable.
- Solution: Set mb_l to one when not using multibyte characters.
- Files: src/message.c
- Patch 6.2.028
- Problem: Cscope connection may kill Vim process and others.
- Solution: Check for pid being larger than one. (Khorev Sergey)
- Files: src/if_cscope.c
- Patch 6.2.029
- Problem: When using the remote server functionality Vim may leak memory.
- (Srikanth Sankaran)
- Solution: Free the result of XListProperties().
- Files: src/if_xcmdsrv.c
- Patch 6.2.030
- Problem: Mac: Warning for not being able to use precompiled header files.
- Solution: Don't redefine select. Use -no-cpp-precomp for compiling, so that
- function prototypes are still found.
- Files: src/os_unix.c, src/osdef.sh
- Patch 6.2.031
- Problem: The langmenu entry in the options window doesn't work. (Rodolfo
- Lima)
- With GTK 1 the ":options" command causes an error message.
- (Michael Naumann)
- Solution: Change "lmenu" to "langmenu". Only display the 'tbis' option for
- GTK 2.
- Files: runtime/optwin.vim
- Patch 6.2.032
- Problem: The lpc filetype is never recognized. (Shizhu Pan)
- Solution: Check for g:lpc_syntax_for_c instead of the local variable
- lpc_syntax_for_c. (Benji Fisher)
- Files: runtime/filetype.vim
- Patch 6.2.033 (extra)
- Problem: Mac: Various compiler warnings.
- Solution: Don't include Classic-only headers in Unix version.
- Remove references to several unused variables. (Ben Fowler)
- Fix double definition of DEFAULT_TERM.
- Use int instead of unsigned short for pixel values, so that the
- negative error values are recognized.
- Files: src/gui_mac.c, src/term.c
- Patch 6.2.034
- Problem: Mac: Compiler warning for redefining DEFAULT_TERM.
- Solution: Fix double definition of DEFAULT_TERM.
- Files: src/term.c
- Patch 6.2.035
- Problem: Mac: Compiler warnings in Python interface.
- Solution: Make a difference between pure Mac and Unix-Mac. (Peter Cucka)
- Files: src/if_python.c
- Patch 6.2.036 (extra)
- Problem: Mac Unix version: If foo is a directory, then ":e f<Tab>" should
- expand to ":e foo/" instead of ":e foo" . (Vadim Zeitlin)
- Solution: Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher)
- Files: src/os_mac.h
- Patch 6.2.037
- Problem: Win32: converting an encoding name to a codepage could result in
- an arbitrary number.
- Solution: make encname2codepage() return zero if the encoding name doesn't
- contain a codepage number.
- Files: src/mbyte.c
- Patch 6.2.038 (extra)
- Problem: Warning messages when using the MingW compiler. (Bill McCarthy)
- Can't compile console version without +mouse feature.
- Solution: Initialize variables, add parenthesis.
- Add an #ifdef around g_nMouseClick. (Ajit Thakkar)
- Files: src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.c
- Patch 6.2.039 (extra)
- Problem: More warning messages when using the MingW compiler.
- Solution: Initialize variables. (Bill McCarthy)
- Files: src/os_mswin.c
- Patch 6.2.040
- Problem: FreeBSD: Crash while starting up when compiled with +xsmp feature.
- Solution: Pass a non-NULL argument to IceAddConnectionWatch().
- Files: src/os_unix.c
- Patch 6.2.041 (extra, after 6.2.033)
- Problem: Mac: Compiler warnings for conversion types, missing prototype,
- missing return type.
- Solution: Change sscanf "%hd" to "%d", the argument is an int now. Add
- gui_mch_init_check() prototype. Add "int" to termlib functions.
- Files: src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c.
- Patch 6.2.042 (extra)
- Problem: Cygwin: gcc 3.2 has an optimizer problem, sometimes causing a
- crash.
- Solution: Add -fno-strength-reduce to the compiler arguments. (Dan Sharp)
- Files: src/Make_cyg.mak
- Patch 6.2.043
- Problem: Compiling with both netbeans and workshop doesn't work.
- Solution: Move the shellRectangle() function to gui_x11.c. (Gordon Prieur)
- Files: src/gui_x11.c, src/integration.c, src/netbeans.c,
- src/proto/netbeans.pro
- Patch 6.2.044
- Problem: ":au filetypedetect" gives an error for a non-existing event name,
- but it's actually a non-existing group name. (Antoine Mechelynck)
- Solution: Make the error message clearer.
- Files: src/fileio.c
- Patch 6.2.045
- Problem: Obtaining the '( mark changes the '' mark. (Gary Holloway)
- Solution: Don't set the '' mark when searching for the start/end of the
- current sentence/paragraph.
- Files: src/mark.c
- Patch 6.2.046
- Problem: When evaluating an argument of a function throws an exception the
- function is still called. (Hari Krishna Dara)
- Solution: Don't call the function when an exception was thrown.
- Files: src/eval.c
- Patch 6.2.047 (extra)
- Problem: Compiler warnings when using MingW. (Bill McCarthy)
- Solution: Give the s_dwLastClickTime variable a type. Initialize dwEndTime.
- Files: src/os_win32.c
- Patch 6.2.048
- Problem: The Python interface doesn't compile with Python 2.3 when
- dynamically loaded.
- Solution: Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore)
- Files: src/if_python.c
- Patch 6.2.049
- Problem: Using a "-range=" argument with ":command" doesn't work and
- doesn't generate an error message.
- Solution: Generate an error message.
- Files: src/ex_docmd.c
- Patch 6.2.050
- Problem: Test 32 didn't work on MS-Windows.
- Solution: Write the temp file in Unix fileformat. (Walter Briscoe)
- Files: src/testdir/test32.in
- Patch 6.2.051
- Problem: When using "\=submatch(0)" in a ":s" command, line breaks become
- NUL characters.
- Solution: Change NL to CR characters, so that they become line breaks.
- Files: src/regexp.c
- Patch 6.2.052
- Problem: A few messages are not translated.
- Solution: Add _() to the messages. (Muraoka Taro)
- Files: src/ex_cmds.c
- Patch 6.2.053
- Problem: Prototype for bzero() doesn't match most systems.
- Solution: Use "void *" instead of "char *" and "size_t" instead of "int".
- Files: src/osdef1.h.in
- Patch 6.2.054
- Problem: A double-byte character with a second byte that is a backslash
- causes problems inside a string.
- Solution: Skip over multibyte characters in a string properly. (Yasuhiro
- Matsumoto)
- Files: src/eval.c
- Patch 6.2.055
- Problem: Using col('.') from CTRL-O in Insert mode does not return the
- correct value for multibyte characters.
- Solution: Correct the cursor position when it is necessary, move to the
- first byte of a multibyte character. (Yasuhiro Matsumoto)
- Files: src/edit.c
- Patch 6.2.056 (extra)
- Problem: Building with Sniff++ doesn't work.
- Solution: Use the multi-threaded libc when needed. (Holger Ditting)
- Files: src/Make_mvc.mak
- Patch 6.2.057 (extra)
- Problem: Mac: With -DMACOS_X putenv() is defined twice, it is in a system
- library. Get a warning for redefining OK. Unused variables in
- os_mac.c
- Solution: Define HAVE_PUTENV. Undefine OK after including curses.h.
- Remove declarations for unused variables.
- Files: src/os_mac.c, src/os_mac.h, src/vim.h
- Patch 6.2.058
- Problem: When 'autochdir' is set ":bnext" to a buffer without a name causes
- a crash.
- Solution: Don't call vim_chdirfile() when the file name is NULL. (Taro
- Muraoka)
- Files: src/buffer.c
- Patch 6.2.059
- Problem: When 'scrolloff' is a large number and listing completion results
- on the command line, then executing a command that jumps close to
- where the cursor was before, part of the screen is not updated.
- (Yakov Lerner)
- Solution: Don't skip redrawing part of the window when it was scrolled.
- Files: src/screen.c
- Patch 6.2.060 (extra)
- Problem: Win32: When 'encoding' is set to "iso-8859-7" copy/paste to/from
- the clipboard gives a lalloc(0) error. (Kriton Kyrimis)
- Solution: When the string length is zero allocate one byte. Also fix that
- when the length of the Unicode text is zero (conversion from
- 'encoding' to UCS-2 was not possible) the normal text is used.
- Files: src/os_mswin.c
- Patch 6.2.061
- Problem: GUI: Using the left mouse button with the shift key should work
- like "*" but it scrolls instead. (Martin Beller)
- Solution: Don't recognize an rxvt scroll wheel event when using the GUI.
- Files: src/term.c
- Patch 6.2.062
- Problem: When one buffer uses a syntax with "containedin" and another
- buffer does not, redrawing depends on what the current buffer is.
- (Brett Pershing Stahlman)
- Solution: Use "syn_buf" instead of "curbuf" to get the b_syn_containedin
- flag.
- Files: src/syntax.c
- Patch 6.2.063
- Problem: When using custom completion end up with no matches.
- Solution: Make cmd_numfiles and cmd_files local to completion to avoid that
- they are overwritten when ExpandOne() is called recursively by
- f_glob().
- Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro,
- src/misc1.c, src/structs.h, src/tag.c
- Patch 6.2.064
- Problem: resolve() only handles one symbolic link, need to repeat it to
- resolve all of them. Then need to simplify the file name.
- Solution: Make resolve() resolve all symbolic links and simplify the result.
- Add simplify() to just simplify a file name. Fix that test49
- doesn't work if /tmp is a symbolic link. (Servatius Brandt)
- Files: runtime/doc/eval.txt, src/eval.c, src/tag.c,
- src/testdir/test49.vim
- Patch 6.2.065
- Problem: ":windo 123" only updates other windows when entering them.
- (Walter Briscoe)
- Solution: Update the topline before going to the next window.
- Files: src/ex_cmds2.c
- Patch 6.2.066 (extra)
- Problem: Ruby interface doesn't work with Ruby 1.8.0.
- Solution: Change "defout" to "stdout". (Aron Griffis)
- Change dynamic loading. (Taro Muraoka)
- Files: src/if_ruby.c, src/Make_mvc.mak
- Patch 6.2.067
- Problem: When searching for a string that starts with a composing character
- the command line isn't drawn properly.
- Solution: Don't count the space to draw the composing character on and
- adjust the cursor column after drawing the string.
- Files: src/message.c
- Patch 6.2.068
- Problem: Events for the netbeans interface that include a file name with
- special characters don't work properly.
- Solution: Use nb_quote() on the file name. (Sergey Khorev)
- Files: src/netbeans.c
- Patch 6.2.069 (after 6.2.064)
- Problem: Unused variables "limit" and "new_st" and unused label "fail" in
- some situation. (Bill McCarthy)
- Solution: Put the declarations inside an #ifdef. (Servatius Brandt)
- Files: src/eval.c, src/tag.c
- Patch 6.2.070 (after 6.2.069)
- Problem: Still unused variable "new_st". (Bill McCarthy)
- Solution: Move the declaration to the right block this time.
- Files: src/tag.c
- Patch 6.2.071
- Problem: 'statusline' can only contain 50 % items. (Antony Scriven)
- Solution: Allow 80 items and mention it in the docs.
- Files: runtime/doc/option.txt, src/vim.h
- Patch 6.2.072
- Problem: When using expression folding, foldexpr() mostly returns -1 for
- the previous line, which makes it difficult to write a fold
- expression.
- Solution: Make the level of the previous line available while still looking
- for the end of a fold.
- Files: src/fold.c
- Patch 6.2.073
- Problem: When adding detection of a specific filetype for a plugin you need
- to edit "filetype.vim".
- Solution: Source files from the "ftdetect" directory, so that a filetype
- detection plugin only needs to be dropped in a directory.
- Files: runtime/doc/filetype.txt, runtime/doc/usr_05.txt,
- runtime/doc/usr_41.txt, runtime/filetype.vim
- Patch 6.2.074
- Problem: Warnings when compiling the Python interface. (Ajit Thakkar)
- Solution: Use ANSI function declarations.
- Files: src/if_python.c
- Patch 6.2.075
- Problem: When the temp file for writing viminfo can't be used "NULL"
- appears in the error message. (Ben Lavender)
- Solution: Print the original file name when there is no temp file name.
- Files: src/ex_cmds.c
- Patch 6.2.076
- Problem: The tags listed for cscope are in the wrong order. (Johannes
- Stezenbach)
- Solution: Remove the reordering of tags for the current file. (Sergey
- Khorev)
- Files: src/if_cscope.c
- Patch 6.2.077
- Problem: When a user function specifies custom completion, the function
- gets a zero argument instead of an empty string when there is no
- word before the cursor. (Preben Guldberg)
- Solution: Don't convert an empty string to a zero.
- Files: src/eval.c
- Patch 6.2.078
- Problem: "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis)
- Solution: Build Vim before running the tests.
- Files: src/Makefile
- Patch 6.2.079
- Problem: ":w ++enc=utf-8 !cmd" doesn't work.
- Solution: Check for the "++" argument before the "!".
- Files: src/ex_docmd.c
- Patch 6.2.080
- Problem: When 't_ti' is not empty but doesn't swap screens, using "ZZ" in
- an unmodified file doesn't clear the last line.
- Solution: Call msg_clr_eos() when needed. (Michael Schroeder)
- Files: src/os_unix.c
- Patch 6.2.081
- Problem: Problem when using a long multibyte string for the statusline.
- Solution: Use the right pointer to get the cell size. (Taro Muraoka)
- Files: src/buffer.c
- Patch 6.2.082
- Problem: Can't compile with Perl 5.8.1.
- Solution: Rename "e_number" to "e_number_exp". (Sascha Blank)
- Files: src/digraph.c, src/globals.h
- Patch 6.2.083
- Problem: When a compiler uses ^^^^ to mark a word the information is not
- visible in the quickfix window. (Srikanth Sankaran)
- Solution: Don't remove the indent for a line that is not recognized as an
- error message.
- Files: src/quickfix.c
- Patch 6.2.084
- Problem: "g_" in Visual mode always goes to the character after the line.
- (Jean-Rene David)
- Solution: Ignore the NUL at the end of the line.
- Files: src/normal.c
- Patch 6.2.085
- Problem: ":verbose set ts" doesn't say an option was set with a "-c" or
- "--cmd" argument.
- Solution: Remember the option was set from a Vim argument.
- Files: src/main.c, src/ex_cmds2.c, src/vim.h
- Patch 6.2.086
- Problem: "{" and "}" stop inside a closed fold.
- Solution: Only stop once inside a closed fold. (Stephen Riehm)
- Files: src/search.c
- Patch 6.2.087
- Problem: CTRL-^ doesn't use the 'confirm' option. Same problem with
- ":bnext". (Yakov Lerner)
- Solution: Put up a dialog for a changed file when 'confirm' is set in more
- situations.
- Files: src/buffer.c, src/ex_cmds.c
- Patch 6.2.088
- Problem: When 'sidescrolloff' is set 'showmatch' doesn't work correctly if
- the match is less than 'sidescrolloff' off from the side of the
- window. (Roland Stahn)
- Solution: Set 'sidescrolloff' to zero while displaying the match.
- Files: src/search.c
- Patch 6.2.089
- Problem: ":set isk+=" adds a comma. (Mark Waggoner)
- Solution: Don't add a comma when the added value is empty.
- Files: src/option.c
- Patch 6.2.090 (extra)
- Problem: Win32: MingW compiler complains about #pragmas. (Bill McCarthy)
- Solution: Put an #ifdef around the #pragmas.
- Files: src/os_win32.c
- Patch 6.2.091
- Problem: When an autocommand is triggered when a file is dropped on Vim and
- it produces output, messages from a following command may be
- scrolled unexpectedly. (David Rennalls)
- Solution: Save and restore msg_scroll in handle_drop().
- Files: src/ex_docmd.c
- Patch 6.2.092
- Problem: Invalid items appear in the help file tags. (Antonio Colombo)
- Solution: Only accept tags with white space before the first "*".
- Files: runtime/doc/doctags.c, src/ex_cmds.c
- Patch 6.2.093
- Problem: ":nnoremenu" also defines menu for Visual mode. (Klaus Bosau)
- Solution: Check the second command character for an "o", not the third.
- Files: src/menu.c
- Patch 6.2.094
- Problem: Can't compile with GTK and tiny features.
- Solution: Include handle_drop() and vim_chdirfile() when FEAT_DND is defined.
- Do not try to split the window.
- Files: src/ex_docmd.c, src/misc2.c
- Patch 6.2.095
- Problem: The message "Cannot go to buffer x" is confusing for ":buf 6".
- (Frans Englich)
- Solution: Make it "Buffer x does not exist".
- Files: src/buffer.c
- Patch 6.2.096
- Problem: Win32: ":let @* = ''" put a newline on the clipboard. (Klaus
- Bosau)
- Solution: Put zero bytes on the clipboard for an empty string.
- Files: src/ops.c
- Patch 6.2.097
- Problem: Setting or resetting 'insertmode' in a BufEnter autocommand
- doesn't always have immediate effect. (Nagger)
- Solution: When 'insertmode' is set, set need_start_insertmode, when it's
- reset set stop_insert_mode.
- Files: src/option.c
- Patch 6.2.098 (after 6.2.097)
- Problem: Can't build Vim with tiny features. (Christian J. Robinson)
- Solution: Declare stop_insert_mode always.
- Files: src/edit.c, src/globals.h
- Patch 6.2.099 (extra)
- Problem: Test 49 fails. (Mikolaj Machowski)
- Solution: The Polish translation must not change "E116" to "R116".
- Files: src/po/pl.po
- Patch 6.2.100
- Problem: "make proto" fails when compiled with the Perl interface.
- Solution: Remove "-fno.*" from PERL_CFLAGS, cproto sees it as its option.
- Files: src/auto/configure, src/configure.in
- Patch 6.2.101
- Problem: When using syntax folding, opening a file slows down a lot when
- it's size increases by only 20%. (Gary Johnson)
- Solution: The array with cached syntax states is leaking entries. After
- cleaning up the list obtain the current entry again.
- Files: src/syntax.c
- Patch 6.2.102
- Problem: The macros equal() and CR conflict with a Carbon header file.
- Solution: Rename equal() to equalpos(). Rename CR to CAR.
- Do this in the non-extra files only.
- Files: src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c,
- src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c,
- src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c,
- src/gui_motif.c, src/macros.h, src/mark.c, src/message.c,
- src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c,
- src/regexp.c, src/search.c, src/ui.c, src/workshop.c
- Patch 6.2.103 (extra)
- Problem: The macros equal() and CR conflict with a Carbon header file.
- Solution: Rename equal() to equalpos(). Rename CR to CAR.
- Do this in the extra files only.
- Files: src/gui_photon.c, src/gui_w48.c
- Patch 6.2.104
- Problem: Unmatched braces in the table with options.
- Solution: Move the "}," outside of the #ifdef. (Yakov Lerner)
- Files: src/option.c
- Patch 6.2.105
- Problem: When the cursor is past the end of the line when calling
- get_c_indent() a crash might occur.
- Solution: Don't look past the end of the line. (NJ Verenini)
- Files: src/misc1.c
- Patch 6.2.106
- Problem: Tag searching gets stuck on a very long line in the tags file.
- Solution: When skipping back to search the first matching tag remember the
- offset where searching started looking for a line break.
- Files: src/tag.c
- Patch 6.2.107 (extra)
- Problem: The NetBeans interface cannot be used on Win32.
- Solution: Add support for the NetBeans for Win32. Add support for reading
- XPM files on Win32. Also fixes that a sign icon with a space in
- the file name did not work through the NetBeans interface.
- (Sergey Khorev)
- Also: avoid repeating error messages when the connection is lost.
- Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak,
- src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
- src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h,
- src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c,
- src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h,
- src/proto/gui_beval.pro, src/proto/gui_w32.pro,
- src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h,
- src/xpm_w32.c, src/xpm_w32.h
- Patch 6.2.108
- Problem: Crash when giving a message about ignoring case in a tag. (Manfred
- Kuehn)
- Solution: Use a longer buffer for the message.
- Files: src/tag.c
- Patch 6.2.109
- Problem: Compiler warnings with various Amiga compilers.
- Solution: Add typecast, prototypes, et al. that are also useful for other
- systems. (Flavio Stanchina)
- Files: src/eval.c, src/ops.c
- Patch 6.2.110
- Problem: When $LANG includes the encoding, a menu without an encoding name
- is not found.
- Solution: Also look for a menu file without any encoding.
- Files: runtime/menu.vim
- Patch 6.2.111
- Problem: Encoding "cp1251" is not recognized.
- Solution: Add "cp1251" to the table of encodings. (Alexey Froloff)
- Files: src/mbyte.c
- Patch 6.2.112
- Problem: After applying patches test32 fails. (Antonio Colombo)
- Solution: Have "make clean" in the testdir delete *.rej and *.orig files.
- Use this when doing "make clean" in the src directory.
- Files: src/Makefile, src/testdir/Makefile
- Patch 6.2.113
- Problem: Using ":startinsert" after "$" works like "a" instead of "i".
- (Ajit Thakkar)
- Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit().
- Files: src/edit.c, src/ex_docmd.c
- Patch 6.2.114
- Problem: When stdout is piped through "tee", the size of the screen may not
- be correct.
- Solution: Use stdin instead of stdout for ioctl() when stdin is a tty and
- stdout isn't.
- Files: src/os_unix.c
- Patch 6.2.115 (extra)
- Problem: Compiler warnings with various Amiga compilers.
- Solution: Add typecast, prototypes, et al. Those changes that are
- Amiga-specific. (Flavio Stanchina)
- Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h,
- src/vim.h
- Patch 6.2.116 (extra)
- Problem: German keyboard with Numlock set different from system startup
- causes problems.
- Solution: Ignore keys with code 0xff. (Helmut Stiegler)
- Files: src/gui_w48.c
- Patch 6.2.117
- Problem: Breakpoints in loops of sourced files and functions are not
- detected. (Hari Krishna Dara)
- Solution: Check for breakpoints when using lines that were previously read.
- (Servatius Brandt)
- Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro,
- src/proto/ex_cmds2.pro
- Patch 6.2.118 (extra)
- Problem: Mac: Compiling is done in a non-standard way.
- Solution: Use the Unix method for Mac OS X, with autoconf. Add "CARBONGUI"
- to Makefile and configure. (Eric Kow)
- Move a few prototypes from os_mac.pro to gui_mac.pro.
- Files: src/Makefile, src/auto/configure, src/configure.in,
- src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c,
- src/proto/gui_mac.pro, src/proto/os_mac.pro,
- src/infplist.xml, src/vim.h
- Patch 6.2.119 (after 6.2.107)
- Problem: When packing the MS-Windows archives a few files are missing.
- (Guopeng Wen)
- Solution: Add gui_beval.* to the list of generic source files.
- Files: Makefile
- Patch 6.2.120
- Problem: Win32 GUI: The console dialogs are not supported on MS-Windows,
- disabling the 'c' flag of 'guioptions'. (Servatius Brandt)
- Solution: Define FEAT_CON_DIALOG also for GUI-only builds.
- Files: src/feature.h
- Patch 6.2.121 (after 6.2.118)
- Problem: Not all make programs support "+=". (Charles Campbell)
- Solution: Use a normal assignment.
- Files: src/Makefile
- Patch 6.2.122 (after 6.2.119)
- Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen)
- Solution: Use a simpler pattern. Add the Aap recipe for the maze program
- and a clean version of the source code.
- Files: Makefile, runtime/macros/maze/Makefile,
- runtime/macros/maze/README.txt, runtime/macros/maze/main.aap,
- runtime/macros/maze/mazeclean.c
- Patch 6.2.123 (after 6.2.118)
- Problem: Running configure fails. (Tony Leneis)
- Solution: Change "==" to "=" for a test.
- Files: src/auto/configure, src/configure.in
- Patch 6.2.124 (after 6.2.121)(extra)
- Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim
- directly it can't find the runtime files. (Emily Jackson)
- Using GNU constructs causes warnings with other make programs.
- (Ronald Schild)
- Solution: Use another name for the M4FLAGS variable.
- Don't remove "Vim.app" from the path.
- Update the explanation for compiling on the Mac. (Eric Kow)
- Don't use $(shell ) and $(addprefix ).
- Files: src/INSTALLmac.txt, src/Makefile, src/misc1.c
- Patch 6.2.125 (after 6.2.107)
- Problem: The "winsock2.h" file isn't always available.
- Solution: Don't include this header file.
- Files: src/netbeans.c
- Patch 6.2.126
- Problem: Typing CTRL-C at a confirm() prompt doesn't throw an exception.
- Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set
- in _OnChar().
- Files: src/misc1.c
- Patch 6.2.127 (extra)
- Problem: Win32 console: Typing CTRL-C doesn't throw an exception.
- Solution: Set got_int immediately when CTRL-C is typed, don't wait for
- mch_breakcheck() being called.
- Files: src/os_win32.c
- Patch 6.2.128 (after 6.2.118)
- Problem: src/auto/configure is not consistent with src/configure.in.
- Solution: Use the newly generated configure script.
- Files: src/auto/configure
- Patch 6.2.129
- Problem: When 'number' is set 'wrapmargin' does not work Vi-compatible.
- (Yasuhiro Matsumoto)
- Solution: Reduce the textwidth when 'number' is set. Also for 'foldcolumn'
- and similar things.
- Files: src/edit.c
- Patch 6.2.130 (extra)
- Problem: Win32 console: When 'restorescreen' is not set exiting Vim causes
- the screen to be cleared. (Michael A. Mangino)
- Solution: Don't clear the screen when exiting and 'restorescreen' isn't set.
- Files: src/os_win32.c
- Patch 6.2.131 (extra)
- Problem: Win32: Font handles are leaked.
- Solution: Free italic, bold and bold-italic handles before overwriting them.
- (Michael Wookey)
- Files: src/gui_w48.c
- Patch 6.2.132 (extra)
- Problem: Win32: console version doesn't work on latest Windows Server 2003.
- Solution: Copy 12000 instead of 15000 cells at a time to avoid running out
- of memory.
- Files: src/os_win32.c
- Patch 6.2.133
- Problem: When starting the GUI a bogus error message about 'imactivatekey'
- may be given.
- Solution: Only check the value of 'imactivatekey' when the GUI is running.
- Files: src/gui.c, src/option.c
- Patch 6.2.134 (extra)
- Problem: Win32: When scrolling parts of the window are redrawn when this
- isn't necessary.
- Solution: Only invalidate parts of the window when they are obscured by
- other windows. (Michael Wookey)
- Files: src/gui_w48.c
- Patch 6.2.135
- Problem: An item <> in the ":command" argument is interpreted as <args>.
- Solution: Avoid that <> is recognized as <args>.
- Files: src/ex_docmd.c
- Patch 6.2.136
- Problem: ":e ++enc=latin1 newfile" doesn't set 'fenc' when the file doesn't
- exist. (Miroslaw Dobrzanski-Neumann)
- Solution: Set 'fileencoding' to the specified encoding when editing a file
- that does not exist.
- Files: src/fileio.c
- Patch 6.2.137
- Problem: "d:cmd<CR>" cannot be repeated with ".". Breaks repeating "d%"
- when using the matchit plugin.
- Solution: Store the command to be repeated. This is restricted to
- single-line commands.
- Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.h
- Patch 6.2.138 (extra)
- Problem: Compilation problem on VMS with dynamic buffer on the stack.
- Solution: Read one byte less than the size of the buffer, so that we can
- check for the string length without an extra buffer.
- Files: src/os_vms.c
- Patch 6.2.139
- Problem: Code is repeated in the two Perl files.
- Solution: Move common code from if_perl.xs and if_perlsfio.c to vim.h.
- Also fix a problem with generating prototypes.
- Files: src/if_perl.xs, src/if_perlsfio.c, src/vim.h
- Patch 6.2.140 (after 6.2.121)
- Problem: Mac: Compiling with Python and Perl doesn't work.
- Solution: Adjust the configure check for Python to use "-framework Python"
- for Python 2.3 on Mac OS/X.
- Move "-ldl" after "DynaLoader.a" in the link command.
- Change "perllibs" to "PERL_LIBS".
- Files: src/auto/configure, src/configure.in, src/config.mk.in
- Patch 6.2.141 (extra)
- Problem: Mac: The b_FSSpec field is sometimes unused.
- Solution: Change the #ifdef to FEAT_CW_EDITOR and defined it in feature.h
- Files: src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.h
- Patch 6.2.142 (after 6.2.124)
- Problem: Mac: building without GUI through configure doesn't work.
- When the system is slow, unpacking the resource file takes too
- long.
- Solution: Don't always define FEAT_GUI_MAC when MACOS is defined, define it
- in the Makefile.
- Add a configure option to skip Darwin detection.
- Use a Python script to unpack the resources to avoid a race
- condition. (Taro Muraoka)
- Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
- src/dehqx.py, src/vim.h
- Patch 6.2.143
- Problem: Using "K" on Visually selected text doesn't work if it ends in
- a multibyte character.
- Solution: Include all the bytes of the last character. (Taro Muraoka)
- Files: src/normal.c
- Patch 6.2.144
- Problem: When "g:html_use_css" is set the HTML header generated by the
- 2html script is wrong.
- Solution: Add the header after adding HREF for links.
- Also use ":normal!" instead of ":normal" to avoid mappings
- getting in the way.
- Files: runtime/syntax/2html.vim
- Patch 6.2.145 (after 6.2.139)
- Problem: Undefining "bool" doesn't work for older systems. (Wojtek Pilorz)
- Solution: Only undefine "bool" on Mac OS.
- Files: src/vim.h
- Patch 6.2.146
- Problem: On some systems the prototype for iconv() is wrong, causing a
- warning message.
- Solution: Use a cast (void *) to avoid the warning. (Charles Campbell)
- Files: src/fileio.c, src/mbyte.c
- Patch 6.2.147
- Problem: ":s/pat/\=col('.')" always replaces with "1".
- Solution: Set the cursor to the start of the match before substituting.
- (Helmut Stiegler)
- Files: src/ex_cmds.c
- Patch 6.2.148
- Problem: Can't break an Insert into several undoable parts.
- Solution: Add the CTRL-G u command.
- Files: runtime/doc/insert.txt, src/edit.c
- Patch 6.2.149
- Problem: When the cursor is on a line past 21,474,748 the indicated
- percentage of the position is invalid. With that many lines
- "100%" causes a negative cursor line number, resulting in a crash.
- (Daniel Goujot)
- Solution: Divide by 100 instead of multiplying. Avoid overflow when
- computing the line number for "100%".
- Files: src/buffer.c, src/ex_cmds2.c, src/normal.c
- Patch 6.2.150
- Problem: When doing "vim - < file" lines are broken at NUL chars.
- (Daniel Goujot)
- Solution: Change NL characters back to NUL when reading from the temp
- buffer.
- Files: src/fileio.c
- Patch 6.2.151
- Problem: When doing "vim --remote +startinsert file" some commands are
- inserted as text. (Klaus Bosau)
- Solution: Put all the init commands in one Ex line, not using a <CR>, so
- that Insert mode isn't started too early.
- Files: src/main.c
- Patch 6.2.152
- Problem: The cursor() function doesn't reset the column offset for
- 'virtualedit'.
- Solution: Reset the offset to zero. (Helmut Stiegler)
- Files: src/eval.c
- Patch 6.2.153
- Problem: Win32: ":lang german" doesn't use German messages.
- Solution: Add a table to translate the Win32 language names to two-letter
- language codes.
- Files: src/ex_cmds2.c
- Patch 6.2.154
- Problem: Python bails out when giving a warning message. (Eugene
- Minkovskii)
- Solution: Set sys.argv[] to an empty string.
- Files: src/if_python.c
- Patch 6.2.155
- Problem: Win32: Using ":tjump www" in a help file gives two results.
- (Dave Roberts)
- Solution: Ignore differences between slashes and backslashes when checking
- for identical tag matches.
- Files: src/tag.c
- Patch 6.2.156 (after 6.2.125)
- Problem: Win32: Netbeans fails to build, EINTR is not defined.
- Solution: Redefine EINTR to WSAEINTR. (Mike Williams)
- Files: src/netbeans.c
- Patch 6.2.157
- Problem: Using "%p" in 'errorformat' gives a column number that is too
- high.
- Solution: Set the flag to use the number as a virtual column. (Lefteris
- Koutsoloukas)
- Files: src/quickfix.c
- Patch 6.2.158
- Problem: The sed command on Solaris and HPUX doesn't work for a line that
- doesn't end in a newline.
- Solution: Add a newline when feeding text to sed. (Mark Waggoner)
- Files: src/configure.in, src/auto/configure
- Patch 6.2.159
- Problem: When using expression folding and 'foldopen' is "undo" an undo
- command doesn't always open the fold.
- Solution: Save and restore the KeyTyped variable when evaluating 'foldexpr'.
- (Taro Muraoka)
- Files: src/fold.c
- Patch 6.2.160
- Problem: When 'virtualedit' is "all" and 'selection' is "exclusive",
- selecting a double-width character below a single-width character
- may cause a crash.
- Solution: Avoid overflow on unsigned integer decrement. (Taro Muraoka)
- Files: src/normal.c
- Patch 6.2.161 (extra)
- Problem: VMS: Missing header file. Reading input busy loops.
- Solution: Include termdef.h. Avoid the use of a wait function in
- vms_read(). (Frank Ries)
- Files: src/os_unix.h, src/os_vms.c
- Patch 6.2.162
- Problem: ":redraw" doesn't always display the text that includes the cursor
- position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii)
- Solution: Call update_topline() before redrawing.
- Files: src/ex_docmd.c
- Patch 6.2.163
- Problem: "make install" may also copy AAPDIR directories.
- Solution: Delete AAPDIR directories, just like CVS directories.
- Files: src/Makefile
- Patch 6.2.164 (after 6.2.144)
- Problem: When "g:html_use_css" is set the HTML header generated by the
- 2html script is still wrong.
- Solution: Search for a string instead of jumping to a fixed line number.
- Go to the start of the line before inserting the header.
- (Jess Thrysoee)
- Files: runtime/syntax/2html.vim
- Patch 6.2.165
- Problem: The configure checks hang when using autoconf 2.57.
- Solution: Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis)
- Files: src/auto/configure, src/configure.in
- Patch 6.2.166
- Problem: When $GZIP contains "-N" editing compressed files doesn't work
- properly.
- Solution: Add "-n" to "gzip -d" to avoid restoring the file name. (Oyvind
- Holm)
- Files: runtime/plugin/gzip.vim
- Patch 6.2.167
- Problem: The Python interface leaks memory when assigning lines to a
- buffer. (Sergey Khorev)
- Solution: Do not copy the line when calling ml_replace().
- Files: src/if_python.c
- Patch 6.2.168
- Problem: Python interface: There is no way to get the indices from a range
- object.
- Solution: Add the "start" and "end" attributes. (Maurice S. Barnum)
- Files: src/if_python.c, runtime/doc/if_pyth.txt
- Patch 6.2.169
- Problem: The prototype for _Xmblen() appears in a recent XFree86 header
- file, causing a warning for our prototype. (Hisashi T Fujinaka)
- Solution: Move the prototype to an osdef file, so that it's filtered out.
- Files: src/mbyte.c, src/osdef2.h.in
- Patch 6.2.170
- Problem: When using Sun WorkShop the current directory isn't changed to
- where the file is.
- Solution: Set the 'autochdir' option when using WorkShop. And avoid using
- the basename when 'autochdir' is not set.
- Files: src/gui_x11.c, src/ex_cmds.c
- Patch 6.2.171 (after 6.2.163)
- Problem: The "-or" argument of "find" doesn't work for SysV systems.
- Solution: Use "-o" instead. (Gordon Prieur)
- Files: src/Makefile
- Patch 6.2.172 (after 6.2.169)
- Problem: The prototype for _Xmblen() still causes trouble.
- Solution: Include the X11 header file that defines the prototype.
- Files: src/osdef2.h.in, src/osdef.sh
- Patch 6.2.173 (extra)
- Problem: Win32: Ruby interface doesn't work with Ruby 1.8.0 for other
- compilers than MSVC.
- Solution: Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp)
- Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak
- Patch 6.2.174
- Problem: After the ":intro" message only a mouse click in the last line
- gets past the hit-return prompt.
- Solution: Accept a click at or below the hit-return prompt.
- Files: src/gui.c, src/message.c
- Patch 6.2.175
- Problem: Changing 'backupext' in a *WritePre autocommand doesn't work.
- (William Natter)
- Solution: Move the use of p_bex to after executing the *WritePre
- autocommands. Also avoids reading allocated memory after freeing.
- Files: src/fileio.c
- Patch 6.2.176
- Problem: Accented characters in translated help files are not handled
- correctly. (Fabien Vayssiere)
- Solution: Include "192-255" in 'iskeyword' for the help window.
- Files: src/ex_cmds.c
- Patch 6.2.177 (extra)
- Problem: VisVim: Opening a file with a space in the name doesn't work. (Rob
- Retter) Arbitrary commands are being executed. (Neil Bird)
- Solution: Put a backslash in front of every space in the file name.
- (Gerard Blais) Terminate the CTRL-\ CTRL-N command with a NUL.
- Files: src/VisVim/Commands.cpp, src/VisVim/VisVim.rc
- Patch 6.2.178
- Problem: People who don't know how to exit Vim try pressing CTRL-C.
- Solution: Give a message how to exit Vim when CTRL-C is pressed and it
- doesn't cancel anything.
- Files: src/normal.c
- Patch 6.2.179 (extra)
- Problem: The en_gb messages file isn't found on case sensitive systems.
- Solution: Rename en_gb to en_GB. (Mike Williams)
- Files: src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak,
- src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txt
- Patch 6.2.180
- Problem: Compiling with GTK2 on Win32 doesn't work.
- Solution: Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula)
- Files: src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.c
- Patch 6.2.181 (after 6.2.171)
- Problem: The "-o" argument of "find" has lower priority than the implied
- "and" with "-print".
- Solution: Add parenthesis around the "-o" expression. (Gordon Prieur)
- Files: src/Makefile
- Patch 6.2.182 (after 6.2.094)
- Problem: Compilation with tiny features fails because of missing
- get_past_head() function.
- Solution: Adjust the #ifdef for get_past_head().
- Files: src/misc1.c
- Patch 6.2.183 (after 6.2.178)
- Problem: Warning for char/unsigned char mixup.
- Solution: Use MSG() instead of msg(). (Tony Leneis)
- Files: src/normal.c
- Patch 6.2.184
- Problem: With 'formatoptions' set to "1aw" inserting text may cause the
- paragraph to be ended. (Alan Schmitt)
- Solution: Temporarily add an extra space to make the paragraph continue
- after moving the word after the cursor to the next line.
- Also format when pressing Esc.
- Files: src/edit.c, src/normal.c, src/proto/edit.pro
- Patch 6.2.185
- Problem: Restoring a session with zero-height windows does not work
- properly. (Charles Campbell)
- Solution: Accept a zero argument to ":resize" as intended. Add a window
- number argument to ":resize" to be able to set the size of other
- windows, because the current window cannot be zero-height.
- Fix the explorer plugin to avoid changing the window sizes. Add
- the winrestcmd() function for this.
- Files: runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c,
- src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.c
- Patch 6.2.186 (after 6.2.185)
- Problem: Documentation file eval.txt contains examples without indent.
- Solution: Insert the indent. Also fix other mistakes.
- Files: runtime/doc/eval.txt
- Patch 6.2.187
- Problem: Using Insure++ reveals a number of bugs. (Dominique Pelle)
- Solution: Initialize variables where needed. Free allocated memory to avoid
- leaks. Fix comparing tags to avoid reading past allocated memory.
- Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c,
- src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.c
- Patch 6.2.188 (extra)
- Problem: MS-Windows: Multi-byte characters in a filename cause trouble for
- the window title.
- Solution: Return when the wide function for setting the title did its work.
- Files: src/gui_w48.c
- Patch 6.2.189
- Problem: When setting 'viminfo' after editing a new buffer its marks are
- not stored. (Keith Roberts)
- Solution: Set the "b_marks_read" flag when skipping to read marks from the
- viminfo file.
- Files: src/fileio.c
- Patch 6.2.190
- Problem: When editing a compressed files, marks are lost.
- Solution: Add the ":lockmarks" modifier and use it in the gzip plugin.
- Make exists() also check for command modifiers, so that the
- existence of ":lockmarks" can be checked for.
- Also add ":keepmarks" to avoid that marks are deleted when
- filtering text.
- When deleting lines put marks 'A - 'Z and '0 - '9 at the first
- deleted line instead of clearing the mark. They were kept in the
- viminfo file anyway.
- Avoid that the gzip plugin puts deleted text in registers.
- Files: runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c,
- src/ex_docmd.c, src/mark.c, src/structs.h
- Patch 6.2.191
- Problem: The intro message is outdated. Information about sponsoring and
- registering is missing.
- Solution: Show info about sponsoring and registering Vim in the intro
- message now and then. Add help file about sponsoring.
- Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags,
- runtime/menu.vim, src/version.c
- Patch 6.2.192
- Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonathan
- Hankins)
- Solution: Avoid calling change_indent() recursively.
- Files: src/edit.c
- Patch 6.2.193
- Problem: When recalling a search pattern from the history from a ":s,a/c,"
- command the '/' ends the search string. (JC van Winkel)
- Solution: Store the separator character with the history entries. Escape
- characters when needed, replace the old separator with the new one.
- Also fixes that recalling a "/" search for a "?" command messes up
- trailing flags.
- Files: src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro,
- src/search.c, src/tag.c
- Patch 6.2.194 (after 6.2.068)
- Problem: For NetBeans, instead of writing the file and sending an event
- about it, tell NetBeans to write the file.
- Solution: Add the "save" command, "netbeansBuffer" command and
- "buttonRelease" event to the netbeans protocol. Updated the
- interface to version 2.2. (Gordon Prieur)
- Also: open a fold when the cursor has been positioned.
- Also: fix memory leak, free result of nb_quote().
- Files: runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c,
- src/normal.c, src/proto/netbeans.pro, src/structs.h
- Patch 6.2.195 (after 6.2.190)
- Problem: Compiling fails for missing CPO_REMMARK symbol.
- Solution: Add the patch I forgot to include...
- Files: src/option.h
- Patch 6.2.196 (after 6.2.191)
- Problem: Rebuilding the documentation doesn't use the sponsor.txt file.
- Solution: Add sponsor.txt to the Makefile. (Christian J. Robinson)
- Files: runtime/doc/Makefile
- Patch 6.2.197
- Problem: It is not possible to force a redraw of status lines. (Gary
- Johnson)
- Solution: Add the ":redrawstatus" command.
- Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
- src/screen.c
- Patch 6.2.198
- Problem: A few messages are not translated. (Ernest Adrogue)
- Solution: Mark the messages to be translated.
- Files: src/ex_cmds.c
- Patch 6.2.199 (after 6.2.194)
- Problem: Vim doesn't work perfectly well with NetBeans.
- Solution: When NetBeans saves the file, reset the timestamp to avoid "file
- changed" warnings. Close a buffer in a proper way. Don't try
- giving a debug message with an invalid pointer. Send a
- newDotAndMark message when needed. Report a change by the "r"
- command to NetBeans. (Gordon Prieur)
- Files: src/netbeans.c, src/normal.c
- Patch 6.2.200
- Problem: When recovering a file, 'fileformat' is always the default, thus
- writing the file may result in differences. (Penelope Fudd)
- Solution: Before recovering the file try reading the original file to obtain
- the values of 'fileformat', 'fileencoding', etc.
- Files: src/memline.c
- Patch 6.2.201
- Problem: When 'autowriteall' is set ":qall" still refuses to exit if there
- is a modified buffer. (Antoine Mechelynck)
- Solution: Attempt writing modified buffers as intended.
- Files: src/ex_cmds2.c
- Patch 6.2.202
- Problem: Filetype names of CHILL and ch script are confusing.
- Solution: Rename "ch" to "chill" and "chscript" to "ch".
- Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim
- runtime/syntax/ch.vim, runtime/syntax/chill.vim
- Patch 6.2.203
- Problem: With characterwise text that has more than one line, "3P" works
- wrong. "3p" has the same problem. There also is a display
- problem. (Daniel Goujot)
- Solution: Perform characterwise puts with a count in the right position.
- Files: src/ops.c
- Patch 6.2.204 (after 6.2.086)
- Problem: "]]" in a file with closed folds moves to the end of the file.
- (Nam SungHyun)
- Solution: Find one position in each closed fold, then move to after the fold.
- Files: src/search.c
- Patch 6.2.205 (extra)
- Problem: MS-Windows: When the taskbar is at the left or top of the screen,
- the Vim window placement is wrong.
- Solution: Compute the size and position of the window correctly. (Taro
- Muraoka)
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 6.2.206
- Problem: Multi-byte characters cannot be used as hotkeys in a console
- dialog. (Mattias Erkisson)
- Solution: Handle multibyte characters properly. Also put () or [] around
- default hotkeys.
- Files: src/message.c, src/macros.h
- Patch 6.2.207
- Problem: When 'encoding' is a multibyte encoding, expanding an
- abbreviation that starts where insertion started results in
- characters before the insertion to be deleted. (Xiangjiang Ma)
- Solution: Stop searching leftwards for the start of the word at the position
- where insertion started.
- Files: src/getchar.c
- Patch 6.2.208
- Problem: When using fold markers, three lines in a row have the start
- marker and deleting the first one with "dd", a nested fold is not
- deleted. (Kamil Burzynski)
- Using marker folding, a level 1 fold doesn't stop when it is
- followed by "{{{2", starting a level 2 fold.
- Solution: Don't stop updating folds at the end of a change when the nesting
- level of folds is larger than the fold level.
- Correctly compute the number of folds that start at "{{{2".
- Also avoid a crash for a NULL pointer.
- Files: src/fold.c
- Patch 6.2.209
- Problem: A bogus fold is created when using "P" while the cursor is in the
- middle of a closed fold. (Kamil Burzynski)
- Solution: Correct the line number where marks are modified for closed folds.
- Files: src/ops.c
- Patch 6.2.210 (extra)
- Problem: Mac OSX: antialiased fonts are not supported.
- Solution: Add the 'antialias' option to switch on antialiasing on Mac OSX
- 10.2 and later. (Peter Cucka)
- Files: runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.c
- Patch 6.2.211 (extra)
- Problem: Code for handling file dropped on Vim is duplicated.
- Solution: Move the common code to gui_handle_drop().
- Add code to drop the files in the window under the cursor.
- Support drag&drop on the Macintosh. (Taro Muraoka)
- When dropping a directory name edit that directory (using the
- explorer plugin)
- Fix that changing directory with Shift pressed didn't work for
- relative path names.
- Files: src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c,
- src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.pro
- Patch 6.2.212 (after 6.2.199)
- Problem: NetBeans: Replacing with a count is not handled correctly.
- Solution: Move reporting the change outside of the loop for the count.
- (Gordon Prieur)
- Files: src/normal.c
- Patch 6.2.213 (after 6.2.208)
- Problem: Using marker folding, "{{{1" doesn't start a new fold when already
- at fold level 1. (Servatius Brandt)
- Solution: Correctly compute the number of folds that start at "{{{1".
- Files: src/fold.c
- Patch 6.2.214 (after 6.2.211) (extra)
- Problem: Warning for an unused variable.
- Solution: Delete the declaration. (Bill McCarthy)
- Files: src/gui_w48.c
- Patch 6.2.215
- Problem: NetBeans: problems saving an unmodified file.
- Solution: Add isNetbeansModified() function. Disable netbeans_unmodified().
- (Gordon Prieur)
- Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
- runtime/doc/netbeans.txt, runtime/doc/tags
- Patch 6.2.216 (after 6.2.206)
- Problem: Multi-byte characters still cannot be used as hotkeys in a console
- dialog. (Mattias Erkisson)
- Solution: Make get_keystroke() handle multibyte characters.
- Files: src/misc1.c
- Patch 6.2.217
- Problem: GTK: setting the title doesn't always work correctly.
- Solution: Invoke gui_mch_settitle(). (Tomas Stehlik)
- Files: src/os_unix.c
- Patch 6.2.218
- Problem: Warning for function without prototype.
- Solution: Add argument types to the msgCB field of the BalloonEval struct.
- Files: src/gui_beval.h
- Patch 6.2.219
- Problem: Syntax highlighting hangs on an empty match of an item with a
- nextgroup. (Charles Campbell)
- Solution: Remember that the item has already matched and don't match it
- again at the same position.
- Files: src/syntax.c
- Patch 6.2.220
- Problem: When a Vim server runs in a console a remote command isn't handled
- before a key is typed. (Joshua Neuheisel)
- Solution: Don't try reading more input when a client-server command has been
- received.
- Files: src/os_unix.c
- Patch 6.2.221
- Problem: No file name completion for ":cscope add".
- Solution: Add the XFILE flag to ":cscope". (Gary Johnson)
- Files: src/ex_cmds.h
- Patch 6.2.222
- Problem: Using "--remote" several times on a row only opens some of the
- files. (Dany St-Amant)
- Solution: Don't delete all typeahead when the server receives a command from
- a client, only delete typed characters.
- Files: src/main.c
- Patch 6.2.223
- Problem: Cscope: Avoid a hang when cscope waits for a response while Vim
- waits for a prompt.
- Error messages from Cscope mess up the display.
- Solution: Detect the hit-enter message and respond by sending a return
- character to cscope. (Gary Johnson)
- Use EMSG() and strerror() when possible. Replace perror() with
- PERROR() everywhere, add emsg3().
- Files: src/diff.c, src/if_cscope.c, src/integration.c, src/message.c,
- src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.h
- Patch 6.2.224
- Problem: Mac: Can't compile with small features. (Axel Kielhorn)
- Solution: Also include vim_chdirfile() when compiling for the Mac.
- Files: src/misc2.c
- Patch 6.2.225
- Problem: NetBeans: Reported modified state isn't exactly right.
- Solution: Report a file being modified in the NetBeans way.
- Files: src/netbeans.c
- Patch 6.2.226 (after 6.2.107) (extra)
- Problem: The "ws2-32.lib" file isn't always available.
- Solution: Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp)
- Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak
- Patch 6.2.227 (extra)
- Problem: The "PC" symbol is defined but not used anywhere.
- Solution: Remove "-DPC" from the makefiles.
- Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak,
- src/Make_ming.mak
- Patch 6.2.228
- Problem: Receiving CTRL-\ CTRL-N after typing "f" or "m" doesn't switch Vim
- back to Normal mode. Same for CTRL-\ CTRL-G.
- Solution: Check if the character typed after a command is CTRL-\ and obtain
- another character to check for CTRL-N or CTRL-G, waiting up to
- 'ttimeoutlen' msec.
- Files: src/normal.c
- Patch 6.2.229
- Problem: ":function" with a name that uses magic curlies does not work
- inside a function. (Servatius Brandt)
- Solution: Skip over the function name properly.
- Files: src/eval.c
- Patch 6.2.230 (extra)
- Problem: Win32: a complex pattern may cause a crash.
- Solution: Use __try and __except to catch the exception and handle it
- gracefully, when possible. Add myresetstkoflw() to reset the
- stack overflow. (Benjamin Peterson)
- Files: src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h,
- src/proto/os_win32.pro, src/regexp.c
- Patch 6.2.231 (after 6.2.046)
- Problem: Various problems when an error exception is raised from within a
- builtin function. When it is invoked while evaluating arguments
- to a function following arguments are still evaluated. When
- invoked with a line range it will be called for remaining lines.
- Solution: Update "force_abort" also after calling a builtin function, so
- that aborting() always returns the correct value. (Servatius
- Brandt)
- Files: src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro,
- src/testdir/test49.ok, src/testdir/test49.vim
- Patch 6.2.232
- Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene
- Minkovskii)
- Solution: Disallow executing a Python command recursively and give an error
- message.
- Files: src/if_python.c
- Patch 6.2.233
- Problem: On Mac OSX adding -pthread for Python only generates a warning.
- The test for Perl threads rejects Perl while it's OK.
- Tcl doesn't work at all.
- The test for Ruby fails if ruby exists but there are no header
- files. The Ruby library isn't detected properly
- Solution: Avoid adding -pthread on Mac OSX. Accept Perl threads when it's
- not the 5.5 threads.
- Use the Tcl framework for header files. For Ruby rename cWindow
- to cVimWindow to avoid a name clash. (Ken Scott)
- Only enable Ruby when the header files can be found. Use "-lruby"
- instead of "libruby.a" when it can't be found.
- Files: src/auto/configure, src/configure.in, src/if_ruby.c
- Patch 6.2.234
- Problem: GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command
- line.
- Solution: Flush output before removing scrollbars. Also do this in other
- places where gui_mch_*() functions are invoked.
- Files: src/ex_cmds.c, src/option.c, src/window.c
- Patch 6.2.235 (extra)
- Problem: Win32: Cursor isn't removed with a 25x80 window and doing:
- "1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto)
- Solution: Remove the call to gui_undraw_cursor() from gui_mch_insert_lines().
- Files: src/gui_w48.c
- Patch 6.2.236
- Problem: Using gvim with Agide gives "connection lost" error messages.
- Solution: Only give the "connection lost" message when the buffer was once
- owned by NetBeans.
- Files: src/netbeans.c, src/structs.h
- Patch 6.2.237
- Problem: GTK 2: Thai text is drawn wrong. It changes when moving the
- cursor over it.
- Solution: Disable the shaping engine, it moves combining characters to a
- wrong position and combines characters, while drawing the cursor
- doesn't combine characters.
- Files: src/gui_gtk_x11.c
- Patch 6.2.238 (after 6.2.231)
- Problem: ":function" does not work inside a while loop. (Servatius Brandt)
- Solution: Add get_while_line() and pass it to do_one_cmd() when in a while
- loop, so that all lines are stored and can be used again when
- repeating the loop.
- Adjust test 49 so that it checks for the fixed problems.
- (Servatius Brandt)
- Files: src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
- src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro,
- src/testdir/test49.in, src/testdir/test49.ok,
- src/testdir/test49.vim
- Patch 6.2.239
- Problem: GTK 2: With closed folds the arrow buttons of a vertical scrollbar
- often doesn't scroll. (Moshe Kaminsky)
- Solution: Hackish solution: Detect that the button was pressed from the
- mouse pointer position.
- Files: src/gui_gtk.c, src/gui.c
- Patch 6.2.240
- Problem: GTK 2: Searching for bitmaps for the toolbar doesn't work as with
- other systems. Need to explicitly use "icon=name". (Ned Konz,
- Christian J. Robinson)
- Solution: Search for icons like done for Motif.
- Files: src/gui_gtk.c
- Patch 6.2.241
- Problem: GTK 2: Search and Search/Replace dialogs are synced, that makes no
- sense. Buttons are sometimes greyed-out. (Jeremy Messenger)
- Solution: Remove the code to sync the two dialogs. Adjust the code to react
- to an empty search string to also work for GTK2. (David Necas)
- Files: src/gui_gtk.c
- Patch 6.2.242
- Problem: Gnome: "vim --help" only shows the Gnome arguments, not the Vim
- arguments.
- Solution: Don't let the Gnome code remove the "--help" argument and don't
- exit at the end of usage().
- Files: src/gui_gtk_x11.c, src/main.c
- Patch 6.2.243 (extra)
- Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt.
- Solution: Move the dropped files to the global argument list, instead of the
- usual drop handling. (Eckehard Berns)
- Files: src/main.c, src/gui_mac.c
- Patch 6.2.244
- Problem: ':echo "\xf7"' displays the illegal byte as if it was a character
- and leaves "cho" after it.
- Solution: When checking the length of a UTF-8 byte sequence and it's shorter
- than the number of bytes available, assume it's an illegal byte.
- Files: src/mbyte.c
- Patch 6.2.245
- Problem: Completion doesn't work for ":keepmarks" and ":lockmarks".
- Solution: Add the command modifiers to the table of commands. (Madoka
- Machitani)
- Files: src/ex_cmds.h, src/ex_docmd.c
- Patch 6.2.246
- Problem: Mac: Starting Vim from Finder doesn't show error messages.
- Solution: Recognize that output is being displayed by stderr being
- "/dev/console". (Eckehard Berns)
- Files: src/main.c, src/message.c
- Patch 6.2.247 (after 6.2.193)
- Problem: When using a search pattern from the viminfo file the last
- character is replaced with a '/'.
- Solution: Store the separator character in the right place. (Kelvin Lee)
- Files: src/ex_getln.c
- Patch 6.2.248
- Problem: GTK: When XIM is enabled normal "2" and keypad "2" cannot be
- distinguished.
- Solution: Detect that XIM changes the keypad key to the expected ASCII
- character and fall back to the non-XIM code. (Neil Bird)
- Files: src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.pro
- Patch 6.2.249
- Problem: ":cnext" moves to the error in the next file, but there is no
- method to go back.
- Solution: Add ":cpfile" and ":cNfile".
- Files: src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txt
- Patch 6.2.250
- Problem: Memory leaks when using signs. (Xavier de Gaye)
- Solution: Delete the list of signs when unloading a buffer.
- Files: src/buffer.c
- Patch 6.2.251
- Problem: GTK: The 'v' flag in 'guioptions' doesn't work. (Steve Hall)
- Order of buttons is reversed for GTK 2.2.4. Don't always get
- focus back after handling a dialog.
- Solution: Make buttons appear vertically when desired. Reverse the order in
- which buttons are added to a dialog. Move mouse pointer around
- when the dialog is done and we don't have focus.
- Files: src/gui_gtk.c
- Patch 6.2.252 (extra, after 6.2.243)
- Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt for
- Mac OS classic.
- Solution: Remove the #ifdef from the code that fixes it for Mac OSX.
- Files: src/gui_mac.c
- Patch 6.2.253
- Problem: When 'tagstack' is not set a ":tag id" command does not work after
- a ":tjump" command.
- Solution: Set "new_tag" when 'tagstack' isn't set. (G. Narendran)
- Files: src/tag.c
- Patch 6.2.254
- Problem: May run out of space for error messages.
- Solution: Keep room for two more bytes.
- Files: src/quickfix.c
- Patch 6.2.255
- Problem: GTK: A new item in the popup menu is put just after instead of
- just before the right item. (Gabriel Zachmann)
- Solution: Don't increment the menu item index.
- Files: src/gui_gtk.c
- Patch 6.2.256
- Problem: Mac: "macroman" encoding isn't recognized, need to use
- "8bit-macroman".
- Solution: Recognize "macroman" with an alias "mac". (Eckehard Berns)
- Files: src/mbyte.c
- Patch 6.2.257 (after 6.2.250)
- Problem: Signs are deleted for ":bdel", but they could still be useful.
- Solution: Delete signs only for ":bwipe".
- Files: src/buffer.c
- Patch 6.2.258
- Problem: GUI: can't disable (grey-out) a popup menu item. (Ajit Thakkar)
- Solution: Loop over the popup menus for all modes.
- Files: src/menu.c
- Patch 6.2.259
- Problem: If there are messages when exiting, on the console there is a
- hit-enter prompt while the message can be read; in the GUI the
- message may not be visible.
- Solution: Use the hit-enter prompt when there is an error message from
- writing the viminfo file or autocommands, or when there is any
- output in the GUI and 'verbose' is set. Don't use a hit-enter
- prompt for the non-GUI version unless there is an error message.
- Files: src/main.c
- Patch 6.2.260
- Problem: GTK 2: Can't quit a dialog with <Esc>.
- GTK 1 and 2: <Enter> always gives a result, even when the default
- button has been disabled.
- Solution: Handle these keys explicitly. When no default button is specified
- use the first one (works mostly like it was before).
- Files: src/gui_gtk.c
- Patch 6.2.261
- Problem: When 'autoindent' and 'cindent' are set and a line is recognized
- as a comment, starting a new line won't do 'cindent' formatting.
- Solution: Also use 'cindent' formatting for lines that are used as a
- comment. (Servatius Brandt)
- Files: src/misc1.c
- Patch 6.2.262
- Problem: 1 CTRL-W w beeps, even though going to the first window is
- possible. (Charles Campbell)
- Solution: Don't beep.
- Files: src/window.c
- Patch 6.2.263
- Problem: Lint warnings: Duplicate function prototypes, duplicate macros,
- use of a zero character instead of a zero pointer, unused
- variable. Clearing allocated memory in a complicated way.
- Solution: Remove the function prototypes from farsi.h. Remove the
- duplicated lines in keymap.h. Change getvcol() argument from NUL
- to NULL. Remove the "col" variable in regmatch(). Use
- lalloc_clear() instead of lalloc(). (Walter Briscoe)
- Files: src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.c
- Patch 6.2.264 (after 6.2.247)
- Problem: Writing past allocated memory when using a command line from the
- viminfo file.
- Solution: Store the NUL in the right place.
- Files: src/ex_getln.c
- Patch 6.2.265
- Problem: Although ":set" is not allowed in the sandbox, ":let &opt = val"
- works.
- Solution: Do allow changing options in the sandbox, but not the ones that
- can't be changed from a modeline.
- Files: src/ex_cmds.h, src/options.c
- Patch 6.2.266
- Problem: When redirecting output and using ":silent", line breaks are
- missing from output of ":map" and ":tselect". Alignment of
- columns is wrong.
- Solution: Insert a line break where "msg_didout" was tested. Update msg_col
- when redirecting and using ":silent".
- Files: src/getchar.c, src/message.c
- Patch 6.2.267 (extra)
- Problem: Win32: "&&" in a tearoff menu is not shown. (Luc Hermitte)
- Solution: Use the "name" item from the menu instead of the "dname" item.
- Files: src/gui_w32.c, src/menu.c
- Patch 6.2.268
- Problem: GUI: When changing 'guioptions' part of the window may be off
- screen. (Randall Morris)
- Solution: Adjust the size of the window when changing 'guioptions', but only
- when adding something.
- Files: src/gui.c
- Patch 6.2.269
- Problem: Diff mode does not highlight a change in a combining character.
- (Raphael Finkel)
- Solution: Make diff_find_change() multibyte aware: find the start byte of
- a character that contains a change.
- Files: src/diff.c
- Patch 6.2.270
- Problem: Completion in Insert mode, then repeating with ".", doesn't handle
- composing characters in the completed text. (Raphael Finkel)
- Solution: Don't skip over composing chars when adding completed text to the
- redo buffer.
- Files: src/getchar.c
- Patch 6.2.271
- Problem: NetBeans: Can't do "tail -f" on the log. Passing socket info with
- an argument or environment variable is not secure.
- Solution: Wait after initializing the log. Allow passing the socket info
- through a file. (Gordon Prieur)
- Files: runtime/doc/netbeans.txt, src/main.c, src/netbeans.c
- Patch 6.2.272
- Problem: When the "po" directory exists, but "po/Makefile" doesn't,
- building fails. Make loops when the "po" directory has been
- deleted after running configure.
- Solution: Check for the "po/Makefile" instead of just the "po" directory.
- Check this again before trying to run make with that Makefile.
- Files: src/auto/configure, src/configure.in, src/Makefile
- Patch 6.2.273
- Problem: Changing the sort order in an explorer window for an empty
- directory produces error messages. (Doug Kearns)
- Solution: When an invalid range is used for a function that is not going to
- be executed, skip over the arguments anyway.
- Files: src/eval.c
- Patch 6.2.274
- Problem: ":print" skips empty lines when 'list' is set and there is no
- "eol" in 'listchars'. (Yakov Lerner)
- Solution: Skip outputting a space for an empty line only when 'list' is set
- and the end-of-line character is not empty.
- Files: src/message.c
- Patch 6.2.275 (extra, after 6.2.267)
- Problem: Warning for uninitialized variable when using gcc.
- Solution: Initialize "acLen" to zero. (Bill McCarthy)
- Files: src/gui_w32.c
- Patch 6.2.276
- Problem: ":echo X()" does not put a line break between the message that X()
- displays and the text that X() returns. (Yakov Lerner)
- Solution: Invoke msg_start() after evaluating the argument.
- Files: src/eval.c
- Patch 6.2.277
- Problem: Vim crashes when a ":runtime ftplugin/ada.vim" causes a recursive
- loop. (Robert Nowotniak)
- Solution: Restore "msg_list" before returning from do_cmdline().
- Files: src/ex_docmd.c
- Patch 6.2.278
- Problem: Using "much" instead of "many".
- Solution: Correct the error message.
- Files: src/eval.c
- Patch 6.2.279
- Problem: There is no default choice for a confirm() dialog, now that it is
- possible not to have a default choice.
- Solution: Make the first choice the default choice.
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 6.2.280
- Problem: "do" and ":diffget" don't work in the first line and the last line
- of a buffer. (Aron Griffis)
- Solution: Find a difference above the first line and below the last line.
- Also fix a few display updating bugs.
- Files: src/diff.c, src/fold.c, src/move.c
- Patch 6.2.281
- Problem: PostScript printing doesn't work on Mac OS X 10.3.2.
- Solution: Adjust the header file. (Mike Williams)
- Files: runtime/print/prolog.ps
- Patch 6.2.282
- Problem: When using CTRL-O to go back to a help file, it becomes listed.
- (Andrew Nesbit)
- Using ":tag" or ":tjump" in a help file doesn't keep the help file
- settings (e.g. for 'iskeyword').
- Solution: Don't mark a buffer as listed when its help flag is set. Put all
- the option settings for a help buffer together in do_ecmd().
- Files: src/ex_cmds.c
- Patch 6.2.283
- Problem: The "local additions" in help.txt are used without conversion,
- causing latin1 characters showing up wrong when 'enc' is utf-8.
- (Antoine J. Mechelynck)
- Solution: Convert the text to 'encoding'.
- Files: src/ex_cmds.c
- Patch 6.2.284
- Problem: Listing a function puts "endfunction" in the message history.
- Typing "q" at the more prompt isn't handled correctly when listing
- variables and functions. (Hara Krishna Dara)
- Solution: Don't use msg() for "endfunction". Check "got_int" regularly.
- Files: src/eval.c
- Patch 6.2.285
- Problem: GUI: In a single wrapped line that fills the window, "gj" in the
- last screen line leaves the cursor behind. (Ivan Tarasov)
- Solution: Undraw the cursor before scrolling the text up.
- Files: src/gui.c
- Patch 6.2.286
- Problem: When trying to rename a file and it doesn't exist, the destination
- file is deleted anyway. (Luc Deux)
- Solution: Don't delete the destination when the source doesn't exist. (Taro
- Muraoka)
- Files: src/fileio.c
- Patch 6.2.287 (after 6.2.264)
- Problem: Duplicate lines are added to the viminfo file.
- Solution: Compare with existing entries without an offset. Also fixes
- reading very long history lines from viminfo.
- Files: src/ex_getln.c
- Patch 6.2.288 (extra)
- Problem: Mac: An external program can't be interrupted.
- Solution: Don't use the 'c' key for backspace. (Eckehard Berns)
- Files: src/gui_mac.c
- Patch 6.2.289
- Problem: Compiling the Tcl interface with thread support causes ":make" to
- fail. (Juergen Salk)
- Solution: Use $TCL_DEFS from the Tcl config script to obtain the required
- compile flags for using the thread library.
- Files: src/auto/configure, src/configure.in
- Patch 6.2.290 (extra)
- Problem: Mac: The mousewheel doesn't work.
- Solution: Add mousewheel support. Also fix updating the thumb after a drag
- and then using another way to scroll. (Eckehard Berns)
- Files: src/gui_mac.c
- Patch 6.2.291 (extra)
- Problem: Mac: the plus button and close button don't do anything.
- Solution: Make the plus button maximize the window and the close button
- close Vim. (Eckehard Berns)
- Files: src/gui.c, src/gui_mac.c
- Patch 6.2.292
- Problem: Motif: When removing GUI arguments from argv[] a "ps -ef" shows
- the last argument repeated.
- Solution: Set argv[argc] to NULL. (Michael Jarvis)
- Files: src/gui_x11.c
- Patch 6.2.293 (after 6.2.255)
- Problem: GTK: A new item in a menu is put before the tearoff item.
- Solution: Do increment the menu item index for non-popup menu items.
- Files: src/gui_gtk.c
- Patch 6.2.294 (extra)
- Problem: Mac: Cannot use modifiers with Space, Tab, Enter and Escape.
- Solution: Handle all modifiers for these keys. (Eckehard Berns)
- Files: src/gui_mac.c
- Patch 6.2.295
- Problem: When in debug mode, receiving a message from a remote client
- causes a crash. Evaluating an expression causes Vim to wait for
- "cont" to be typed, without a prompt. (Hari Krishna Dara)
- Solution: Disable debugging when evaluating an expression for a client.
- (Michael Geddes) Don't try reading into the typeahead buffer when
- it may have been filled in another way.
- Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c,
- src/misc1.c, src/proto/getchar.pro, src/proto/main.pro,
- src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h,
- src/os_unix.c, src/ui.c
- Patch 6.2.296 (extra)
- Problem: Same as 6.2.295.
- Solution: Extra files for patch 6.2.295.
- Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c,
- src/proto/os_amiga.pro, src/proto/os_msdos.pro,
- src/proto/os_riscos.pro, src/proto/os_win32.pro
- Patch 6.2.297 (after 6.2.232)
- Problem: Cannot invoke Python commands recursively.
- Solution: With Python 2.3 and later use the available mechanisms to invoke
- Python recursively. (Matthew Mueller)
- Files: src/if_python.c
- Patch 6.2.298
- Problem: A change always sets the '. mark and an insert always sets the '^
- mark, even when this is not wanted.
- Cannot go back to the position of older changes without undoing
- those changes.
- Solution: Add the ":keepjumps" command modifier.
- Add the "g," and "g;" commands.
- Files: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c,
- src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro,
- src/structs.h, src/undo.c
- Patch 6.2.299
- Problem: Can only use one language for help files.
- Solution: Add the 'helplang' option to select the preferred language(s).
- Make ":helptags" generate tags files for all languages.
- Files: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile,
- src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c,
- src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro,
- src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h,
- src/tag.c, src/vim.h
- Patch 6.2.300 (after 6.2.297)
- Problem: Cannot build Python interface with Python 2.2 or earlier.
- Solution: Add a semicolon.
- Files: src/if_python.c
- Patch 6.2.301
- Problem: The "select all" item from the popup menu doesn't work for Select
- mode.
- Solution: Use the same commands as for the "Edit.select all" menu.
- (Benji Fisher)
- Files: runtime/menu.vim
- Patch 6.2.302
- Problem: Using "CTRL-O ." in Insert mode doesn't work properly. (Benji
- Fisher)
- Solution: Restore "restart_edit" after an insert command that was not typed.
- Avoid waiting with displaying the mode when there is no text to be
- overwritten.
- Fix that "CTRL-O ." sometimes doesn't put the cursor back after
- the end-of-line. Only reset the flag that CTRL-O was used past
- the end of the line when restarting editing. Update "o_lnum"
- number when inserting text and "o_eol" is set.
- Files: src/edit.c, src/normal.c
- Patch 6.2.303
- Problem: Cannot use Unicode digraphs while 'encoding' is not Unicode.
- Solution: Convert the character from Unicode to 'encoding' when needed.
- Use the Unicode digraphs for the Macintosh. (Eckehard Berns)
- Files: src/digraph.c
- Patch 6.2.304 (extra, after 6.2.256)
- Problem: Mac: No proper support for 'encoding'. Conversion without iconv()
- is not possible.
- Solution: Convert input from 'termencoding' to 'encoding'. Add
- mac_string_convert(). Convert text for the clipboard when needed.
- (Eckehard Berns)
- Files: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h
- Patch 6.2.305 (after 6.2.300)
- Problem: Win32: Cannot build Python interface with Python 2.3. (Ajit
- Thakkar)
- Solution: Add two functions to the dynamic loading feature.
- Files: src/if_python.c
- Patch 6.2.306 (extra)
- Problem: Win32: Building console version with BCC 5.5 gives a warning for
- get_cmd_args() prototype missing. (Ajit Thakkar)
- Solution: Don't build os_w32exe.c for the console version.
- Files: src/Make_bc5.mak
- Patch 6.2.307 (after 6.2.299)
- Problem: Installing help files fails.
- Solution: Expand wildcards for translated help files separately.
- Files: src/Makefile
- Patch 6.2.308
- Problem: Not all systems have "whoami", resulting in an empty user name.
- Solution: Use "logname" when possible, "whoami" otherwise. (David Boyce)
- Files: src/Makefile
- Patch 6.2.309
- Problem: "3grx" waits for two ESC to be typed. (Jens Paulus)
- Solution: Append the ESC to the stuff buffer when redoing the "gr" insert.
- Files: src/edit.c
- Patch 6.2.310
- Problem: When setting 'undolevels' to -1, making a change and setting
- 'undolevels' to a positive value an "undo list corrupt" error
- occurs. (Madoka Machitani)
- Solution: Sync undo before changing 'undolevels'.
- Files: src/option.c
- Patch 6.2.311 (after 6.2.298)
- Problem: When making several changes in one line the changelist grows
- quickly. There is no error message for reaching the end of the
- changelist. Reading changelist marks from viminfo doesn't work
- properly.
- Solution: Only make a new entry in the changelist when making a change in
- another line or 'textwidth' columns away. Add E662, E663 and E664
- error messages. Put a changelist mark from viminfo one position
- before the end.
- Files: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c
- Patch 6.2.312 (after 6.2.299)
- Problem: "make install" clears the screen when installing the docs.
- Solution: Execute ":helptags" in silent mode.
- Files: runtime/doc/Makefile
- Patch 6.2.313
- Problem: When opening folds in a diff window, other diff windows no longer
- show the same text.
- Solution: Sync the folds in diff windows.
- Files: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro,
- src/proto/move.pro
- Patch 6.2.314
- Problem: When 'virtualedit' is set "rx" may cause a crash with a blockwise
- selection and using "$". (Moritz Orbach)
- Solution: Don't try replacing chars in a line that has no characters in the
- block.
- Files: src/ops.c
- Patch 6.2.315
- Problem: Using CTRL-C in a Visual mode mapping while 'insertmode' is set
- stops Vim from returning to Insert mode.
- Solution: Don't reset "restart_edit" when a CTRL-C is found and 'insertmode'
- is set.
- Files: src/normal.c
- Patch 6.2.316 (after 6.2.312)
- Problem: "make install" tries connecting to the X server when installing
- the docs. (Stephen Thomas)
- Solution: Add the "-X" argument.
- Files: runtime/doc/Makefile
- Patch 6.2.317 (after 6.2.313)
- Problem: When using "zi" in a diff window, other diff windows are not
- adjusted. (Richard Curnow)
- Solution: Distribute a change in 'foldenable' to other diff windows.
- Files: src/normal.c
- Patch 6.2.318
- Problem: When compiling with _THREAD_SAFE external commands don't echo
- typed characters.
- Solution: Don't set the terminal mode to TMODE_SLEEP when it's already at
- TMODE_COOK.
- Files: src/os_unix.c
- Patch 6.2.319 (extra)
- Problem: Building gvimext.dll with Mingw doesn't work properly.
- Solution: Use gcc instead of dllwrap. Use long option names. (Alejandro
- Lopez-Valencia)
- Files: src/GvimExt/Make_ming.mak
- Patch 6.2.320
- Problem: Win32: Adding and removing the menubar resizes the Vim window.
- (Jonathon Merz)
- Solution: Don't let a resize event change 'lines' unexpectedly.
- Files: src/gui.c
- Patch 6.2.321
- Problem: When using modeless selection, wrapping lines are not recognized,
- a line break is always inserted.
- Solution: Add LineWraps[] to remember whether a line wrapped or not.
- Files: src/globals.h, src/screen.c, src/ui.c
- Patch 6.2.322
- Problem: With 'showcmd' set, after typing "dd" the next "d" may not be
- displayed. (Jens Paulus)
- Solution: Redraw the command line after updating the screen, scrolling may
- have set "clear_cmdline".
- Files: src/screen.c
- Patch 6.2.323
- Problem: Win32: expanding "~/file" in an autocommand pattern results in
- backslashes, while this pattern should only have forward slashes.
- Solution: Make expanding environment variables respect 'shellslash' and set
- p_ssl when expanding the autocommand pattern.
- Files: src/fileio.c, src/misc1.c, src/proto/fileio.pro
- Patch 6.2.324 (extra)
- Problem: Win32: when "vimrun.exe" has a path with white space, such as
- "Program Files", executing external commands may fail.
- Solution: Put double quotes around the path to "vimrun".
- Files: src/os_win32.c
- Patch 6.2.325
- Problem: When $HOME includes a space, doing ":set tags=~/tags" doesn't
- work, the space is used to separate file names. (Brett Stahlman)
- Solution: Escape the space with a backslash.
- Files: src/option.c
- Patch 6.2.326
- Problem: ":windo set syntax=foo" doesn't work. (Tim Chase)
- Solution: Don't change 'eventignore' for ":windo".
- Files: src/ex_cmds2.c
- Patch 6.2.327
- Problem: When formatting text all marks in the formatted lines are lost.
- A word is not joined to a previous line when this would be
- possible. (Mikolaj Machowski)
- Solution: Try to keep marks in the same position as much as possible.
- Also keep mark positions when joining lines.
- Start auto-formatting in the previous line when appropriate.
- Add the "gw" operator: Like "gq" but keep the cursor where it is.
- Files: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c,
- src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro,
- src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h
- Patch 6.2.328
- Problem: XIM with GTK: It is hard to understand what XIM is doing.
- Solution: Add xim_log() to log XIM events and help with debugging.
- Files: src/mbyte.c
- Patch 6.2.329
- Problem: ":=" does not work Vi compatible. (Antony Scriven)
- Solution: Print the last line number instead of the current line. Don't
- print "line".
- Files: src/ex_cmds.h, src/ex_docmd.c
- Patch 6.2.330 (extra, after 6.2.267)
- Problem: Win32: Crash when tearing off a menu.
- Solution: Terminate a string with a NUL. (Yasuhiro Matsumoto)
- Files: src/gui_w32.c
- Patch 6.2.331 (after 6.2.327)
- Problem: "gwap" leaves cursor in the wrong line.
- Solution: Remember the cursor position before finding the ends of the
- paragraph.
- Files: src/normal.c, src/ops.c, src/structs.h
- Patch 6.2.332 (extra)
- Problem: Amiga: Compile error for string array. Compiling the Amiga GUI
- doesn't work.
- Solution: Use a char pointer instead. Move including "gui_amiga.h" to after
- including "vim.h". Add a semicolon. (Ali Akcaagac)
- Files: src/gui_amiga.c, src/os_amiga.c
- Patch 6.2.333 (extra)
- Problem: Win32: printing doesn't work with specified font charset.
- Solution: Use the specified font charset. (Mike Williams)
- Files: src/os_mswin.c
- Patch 6.2.334 (extra, after 6.2.296)
- Problem: Win32: evaluating client expression in debug mode requires typing
- "cont".
- Solution: Use eval_client_expr_to_string().
- Files: src/os_mswin.c
- Patch 6.2.335
- Problem: The ":sign" command cannot be followed by another command.
- Solution: Add TRLBAR to the command flags.
- Files: src/ex_cmds.h
- Patch 6.2.336 (after 6.2.327)
- Problem: Mixup of items in an expression.
- Solution: Move "== NUL" to the right spot.
- Files: src/edit.c
- Patch 6.2.337 (extra, after 6.2.319)
- Problem: Building gvimext.dll with Mingw doesn't work properly.
- Solution: Fix white space and other details. (Alejandro Lopez-Valencia)
- Files: src/GvimExt/Make_ming.mak
- Patch 6.2.338 (after 6.2.331)
- Problem: When undoing "gwap" the cursor is always put at the start of the
- paragraph. When undoing auto-formatting the cursor may be above
- the change.
- Solution: Try to move the cursor back to where it was or to the first line
- that actually changed.
- Files: src/normal.c, src/ops.c, src/undo.c
- Patch 6.2.339
- Problem: Crash when using many different highlight groups and a User
- highlight group. (Juergen Kraemer)
- Solution: Do not use the sg_name_u pointer when it is NULL. Also simplify
- use of the highlight group table.
- Files: src/syntax.c
- Patch 6.2.340
- Problem: ":reg" doesn't show the actual contents of the clipboard if it was
- filled outside of Vim. (Stuart MacDonald)
- Solution: Obtain the clipboard contents before displaying it.
- Files: src/ops.c
- Patch 6.2.341 (extra)
- Problem: Win32: When the path to diff.exe contains a space and using the
- vimrc generated by the install program, diff mode does not work.
- Solution: Put the first double quote just before the space instead of before
- the path.
- Files: src/dosinst.c
- Patch 6.2.342 (extra)
- Problem: Win32: macros are not always used as expected.
- Solution: Define WINVER to 0x0400 instead of 0x400. (Alejandro
- Lopez-Valencia)
- Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak
- Patch 6.2.343
- Problem: Title doesn't work with some window managers. X11: Setting the
- text property for the window title is hard coded.
- Solution: Use STRING format when possible. Use the UTF-8 function when
- it's available and 'encoding' is utf-8. Use
- XStringListToTextProperty(). Do the same for the icon name.
- (David Harrison)
- Files: src/os_unix.c
- Patch 6.2.344 (extra, after 6.2.337)
- Problem: Cannot build gvimext.dll with MingW on Linux.
- Solution: Add support for cross compiling. (Ronald Hoellwarth)
- Files: src/GvimExt/Make_ming.mak
- Patch 6.2.345 (extra)
- Problem: Win32: Copy/paste between two Vims fails if 'encoding' is not set
- properly or there are illegal bytes.
- Solution: Use a raw byte format. Always set it when copying. When pasting
- use the raw format if 'encoding' is the same.
- Files: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h
- Patch 6.2.346
- Problem: Win32 console: After using "chcp" Vim does not detect the
- different codepage.
- Solution: Use GetConsoleCP() and when it is different from GetACP() set
- 'termencoding'.
- Files: src/option.c
- Patch 6.2.347 (extra)
- Problem: Win32: XP theme support is missing.
- Solution: Add a manifest and refer to it from the resource file. (Michael
- Wookey)
- Files: Makefile, src/gvim.exe.mnf, src/vim.rc
- Patch 6.2.348
- Problem: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname'
- default value doesn't contain parentheses.
- Solution: Temporarily add '(' and ')' to 'isfname' when expanding file name
- arguments.
- Files: src/main.c
- Patch 6.2.349
- Problem: Finding a match using 'matchpairs' may cause a crash.
- 'matchpairs' is not used for 'showmatch'.
- Solution: Don't look past the NUL in 'matchpairs'. Use 'matchpairs' for
- 'showmatch'. (Dave Olszewkski)
- Files: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c
- Patch 6.2.350
- Problem: Not enough info about startup timing.
- Solution: Add a few more TIME_MSG() calls.
- Files: src/main.c
- Patch 6.2.351
- Problem: Win32: $HOME may be set to %USERPROFILE%.
- Solution: Expand %VAR% at the start of $HOME.
- Files: src/misc1.c
- Patch 6.2.352 (after 6.2.335)
- Problem: ":sign texthl=||" does not work.
- Solution: Remove the check for a following command. Give an error for extra
- arguments after "buff=1".
- Files: src/ex_cmds.c, src/ex_cmds.h
- Patch 6.2.353 (extra)
- Problem: Win32: Supported server name length is limited. (Paul Bossi)
- Solution: Use MAX_PATH instead of 25.
- Files: src/os_mswin.c
- Patch 6.2.354 (extra)
- Problem: Win32: When the mouse pointer is on a tear-off menu it is hidden
- when typing but is not redisplayed when moved. (Markx Hackmann)
- Solution: Handle the pointer move event for the tear-off menu window.
- Files: src/gui_w32.c
- Patch 6.2.355 (after 6.2.303)
- Problem: When 'encoding' is a double-byte encoding different from the
- current locale, the width of characters is not correct.
- Possible failure and memory leak when using iconv, Unicode
- digraphs and 'encoding' is not "utf-8".
- Solution: Use iconv() to discover the actual width of characters.
- Add the "vc_fail" field to vimconv_T.
- When converting a digraph, init the conversion type to NONE and
- cleanup afterwards.
- Files: src/digraph.c, src/mbyte.c, src/structs.h
- Patch 6.2.356
- Problem: When using a double-byte 'encoding' and 'selection' is
- "exclusive", "vy" only yanks the first byte of a double-byte
- character. (Xiangjiang Ma)
- Solution: Correct the column in unadjust_for_sel() to position on the first
- byte, always include the trailing byte of the selected text.
- Files: src/normal.c
- Patch 6.2.357 (after 6.2.321)
- Problem: Memory leak when resizing the Vim window.
- Solution: Free the LineWraps array.
- Files: src/screen.c
- Patch 6.2.358 (after 6.2.299)
- Problem: Memory leak when using ":help" and the language doesn't match.
- Solution: Free the array with matching tags.
- Files: src/ex_cmds.c
- Patch 6.2.359 (after 6.2.352)
- Problem: Compiler warning for long to int type cast.
- Solution: Add explicit type cast.
- Files: src/ex_cmds.c
- Patch 6.2.360
- Problem: "100|" in an empty line results in a ruler "1,0-100". (Pavol
- Juhas)
- Solution: Recompute w_virtcol if the target column was not reached.
- Files: src/misc2.c
- Patch 6.2.361 (extra)
- Problem: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while
- pressing Esc, then release Alt: Cursor disappears and typing a key
- causes a beep. (Hari Krishna Dara)
- Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled.
- Files: src/gui_w32.c
- Patch 6.2.362 (extra, after 6.2.347)
- Problem: Win32: The manifest causes gvim not to work. (Dave Roberts)
- Solution: Change "x86" to "X86". (Serge Pirotte)
- Files: src/gvim.exe.mnf
- Patch 6.2.363
- Problem: In an empty file with 'showmode' off, "i" doesn't change the ruler
- from "0-1" to "1". Typing "x<BS>" does show "1", but then <Esc>
- doesn't make it "0-1" again. Same problem for ruler in
- statusline. (Andrew Pimlott)
- Solution: Remember the "empty line" flag with Insert mode and'ed to it.
- Files: src/screen.c
- Patch 6.2.364
- Problem: HTML version of the documentation doesn't mention the encoding,
- which is a problem for mbyte.txt.
- Solution: Adjust the awk script. (Ilya Sher)
- Files: runtime/doc/makehtml.awk
- Patch 6.2.365
- Problem: The configure checks for Perl and Python may add compile and link
- arguments that break building Vim.
- Solution: Do a sanity check: try building with the arguments.
- Files: src/auto/configure, src/configure.in
- Patch 6.2.366
- Problem: When the GUI can't start because no valid font is found, there is
- no error message. (Ugen)
- Solution: Add an error message.
- Files: src/gui.c
- Patch 6.2.367
- Problem: Building the help tags file while installing may fail if there is
- another Vim in $PATH.
- Solution: Specify the just installed Vim executable. (Gordon Prieur)
- Files: src/Makefile
- Patch 6.2.368
- Problem: When 'autochdir' is set, closing a window doesn't change to the
- directory of the new current window. (Salman Halim)
- Solution: Handle 'autochdir' always when a window becomes the current one.
- Files: src/window.c
- Patch 6.2.369
- Problem: Various memory leaks: when using globpath(), when searching for
- help tags files, when defining a function inside a function, when
- giving an error message through an exception, for the final "."
- line in ":append", in expression "cond ? a : b" that fails and for
- missing ")" in an expression. Using NULL pointer when adding
- first user command and for pointer computations with regexp.
- (tests by Dominique Pelle)
- Solution: Fix the leaks by freeing the allocated memory. Don't use the
- array of user commands when there are no entries. Use a macro
- instead of a function call for saving and restoring regexp states.
- Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c,
- src/misc2.c, src/regexp.c, src/screen.c, src/tag.c
- Patch 6.2.370 (extra, after6.2.341)
- Problem: Win32: When the path to diff.exe contains a space and using the
- vimrc generated by the install program, diff mode may not work.
- (Alejandro Lopez-Valencia)
- Solution: Do not use double quotes for arguments that do not have a space.
- Files: src/dosinst.c
- Patch 6.2.371
- Problem: When 'virtualedit' is set and there is a Tab before the next "x",
- "dtx" does not delete the whole Tab. (Ken Hashishi)
- Solution: Move the cursor to the last position of the Tab. Also for
- "df<Tab>".
- Files: src/normal.c
- Patch 6.2.372
- Problem: When using balloon evaluation, no value is displayed for members
- of structures and items of an array.
- Solution: Include "->", "." and "[*]" in the expression.
- Files: src/gui_beval.c, src/normal.c, src/vim.h
- Patch 6.2.373
- Problem: When 'winminheight' is zero and a window is reduced to zero
- height, the ruler always says "Top" instead of the cursor
- position. (Antoine J. Mechelynck)
- Solution: Don't recompute w_topline for a zero-height window.
- Files: src/window.c
- Patch 6.2.374
- Problem: ":echo "hello" | silent normal n" removes the "hello" message.
- (Servatius Brandt)
- Solution: Don't echo the search string when ":silent" was used. Also don't
- show the mode. In general: don't clear to the end of the screen.
- Files: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro,
- src/screen.c, src/search.c, src/window.c
- Patch 6.2.375
- Problem: When changing 'guioptions' the hit-enter prompt may be below the
- end of the Vim window.
- Solution: Call screen_alloc() before showing the prompt.
- Files: src/message.c
- Patch 6.2.376
- Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6.
- Solution: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina)
- Files: src/if_ruby.c
- Patch 6.2.377 (after 6.2.372)
- Problem: Compiler warnings for signed/unsigned compare. (Michael Wookey)
- Solution: Add type cast.
- Files: src/normal.c
- Patch 6.2.378 (extra, after 6.2.118)
- Problem: Mac: cannot build with Project Builder.
- Solution: Add remove_tail_with_ext() to locate and remove the "build"
- directory from the runtime path. Include os_unix.c when needed.
- (Dany St Amant)
- Files: src/misc1.c, src/os_macosx.c, src/vim.h
- Patch 6.2.379
- Problem: Using ":mkvimrc" in the ":options" window sets 'bufhidden' to
- "delete". (Michael Naumann)
- Solution: Do not add buffer-specific option values to a global vimrc file.
- Files: src/option.c
- Patch 6.2.380 (extra)
- Problem: DOS: "make test" fails when running it again. Can't "make test"
- with Borland C.
- Solution: Make sure ".out" files are deleted when they get in the way. Add
- a "test" target to the Borland C Makefile.
- Files: src/Make_bc5.mak, src/testdir/Make_dos.mak
- Patch 6.2.381
- Problem: Setting 'fileencoding' to a comma-separated list (confusing it
- with 'fileencodings') does not result in an error message.
- Setting 'fileencoding' in an empty file marks it as modified.
- There is no "+" in the title after setting 'fileencoding'.
- Solution: Check for a comma in 'fileencoding'. Only consider a non-empty
- file modified by changing 'fileencoding'. Update the title after
- changing 'fileencoding'.
- Files: src/option.c
- Patch 6.2.382
- Problem: Running "make test" puts marks from test files in viminfo.
- Solution: Specify a different viminfo file to use.
- Files: src/testdir/test15.in, src/testdir/test49.in
- Patch 6.2.383
- Problem: ":hi foo term='bla" crashes Vim. (Antony Scriven)
- Solution: Check that the closing ' is there.
- Files: src/syntax.c
- Patch 6.2.384
- Problem: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated.
- Solution: Also compare the names without '&' characters.
- Files: src/menu.c
- Patch 6.2.385 (extra)
- Problem: Win32: forward_slash() and trash_input_buf() are undefined when
- compiling with small features. (Ajit Thakkar)
- Solution: Change the #ifdefs for forward_slash(). Don't call
- trash_input_buf() if the input buffer isn't used.
- Files: src/fileio.c, src/os_win32.c
- Patch 6.2.386
- Problem: Wasting time trying to read marks from the viminfo file for a
- buffer without a name.
- Solution: Skip reading marks when the buffer has no name.
- Files: src/fileio.c
- Patch 6.2.387
- Problem: There is no highlighting of translated items in help files.
- Solution: Search for a "help_ab.vim" syntax file when the help file is
- called "*.abx". Also improve the help highlighting a bit.
- Files: runtime/syntax/help.vim
- Patch 6.2.388
- Problem: GTK: When displaying some double-width characters they are drawn
- as single-width, because of conversion to UTF-8.
- Solution: Check the width that GTK uses and add a space if it's one instead
- of two.
- Files: src/gui_gtk_x11.c
- Patch 6.2.389
- Problem: When working over a slow connection, it's very annoying that the
- last line is partly drawn and then cleared for every change.
- Solution: Don't redraw the bottom line if no rows were inserted or deleted.
- Don't draw the line if we know "@" lines will be used.
- Files: src/screen.c
- Patch 6.2.390
- Problem: Using "r*" in Visual mode on multibyte characters only replaces
- every other character. (Tyson Roberts)
- Solution: Correct the cursor position after replacing each character.
- Files: src/ops.c
- Patch 6.2.391 (extra)
- Problem: The ":highlight" command is not tested.
- Solution: Add a test script for ":highlight".
- Files: src/testdir/Makefile, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/test51.in,
- src/testdir/test51.ok
- Patch 6.2.392 (after 6.2.384)
- Problem: Unused variable.
- Solution: Remove "dlen".
- Files: src/menu.c
- Patch 6.2.393
- Problem: When using very long lines the viminfo file can become very big.
- Solution: Add the "s" flag to 'viminfo': skip registers with more than the
- specified Kbyte of text.
- Files: runtime/doc/options.txt, src/ops.c, src/option.c
- Patch 6.2.394 (after 6.2.391)
- Problem: Test 51 fails on a terminal with 8 colors. (Tony Leneis)
- Solution: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute.
- Files: src/testdir/test51.in
- Patch 6.2.395
- Problem: When using ":tag" or ":pop" the previous matching tag is used.
- But since the current file is different, the ordering of the tags
- may change.
- Solution: Remember what the current buffer was for when re-using cur_match.
- Files: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h,
- src/tag.c
- Patch 6.2.396
- Problem: When CTRL-T jumps to another file and an autocommand moves the
- cursor to the '" mark, don't end up on the right line. (Michal
- Malecki)
- Solution: Set the line number after loading the file.
- Files: src/tag.c
- Patch 6.2.397
- Problem: When using a double-byte 'encoding' mapping <M-x> doesn't work.
- (Yasuhiro Matsumoto)
- Solution: Do not set the 8th bit of the character but use a modifier.
- Files: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c
- Patch 6.2.398 (extra)
- Problem: Win32 console: no extra key modifiers are supported.
- Solution: Encode the modifiers into the input stream. Also fix that special
- keys are converted and stop working when 'tenc' is set. Also fix
- that when 'tenc' is initialized the input and output conversion is
- not setup properly until 'enc' or 'tenc' is set.
- Files: src/getchar.c, src/option.c, src/os_win32.c
- Patch 6.2.399
- Problem: A ":set" command that fails still writes a message when it is
- inside a try/catch block.
- Solution: Include all the text of the message in the error message.
- Files: src/charset.c, src/option.c
- Patch 6.2.400
- Problem: Can't compile if_xcmdsrv.c on HP-UX 11.0.
- Solution: Include header file poll.h. (Malte Neumann)
- Files: src/if_xcmdsrv.c
- Patch 6.2.401
- Problem: When opening a buffer that was previously opened, Vim does not
- restore the cursor position if the first line starts with white
- space. (Gregory Margo)
- Solution: Don't skip restoring the cursor position if it is past the blanks
- in the first line.
- Files: src/buffer.c
- Patch 6.2.402
- Problem: Mac: "make install" doesn't generate help tags. (Benji Fisher)
- Solution: Generate help tags before copying the runtime files.
- Files: src/Makefile
- Patch 6.2.403
- Problem: ":@y" checks stdin if there are more commands to execute. This
- fails if stdin is not connected, e.g., when starting the GUI from
- KDE. (Ned Konz)
- Solution: Only check for a next command if there still is typeahead.
- Files: src/ex_docmd.c
- Patch 6.2.404
- Problem: Our own function to determine width of Unicode characters may get
- outdated. (Markus Kuhn)
- Solution: Use wcwidth() when it is available. Also use iswprint().
- Files: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c
- Patch 6.2.405
- Problem: Cannot map zero without breaking the count before a command.
- (Benji Fisher)
- Solution: Disable mapping zero when entering a count.
- Files: src/getchar.c, src/globals.h, src/normal.c
- Patch 6.2.406
- Problem: ":help \zs", ":help \@=" and similar don't find useful help.
- Solution: Prepend "/\" to the arguments to find the desired help tag.
- Files: src/ex_cmds.c
- Patch 6.2.407 (after 6.2.299)
- Problem: ":help \@<=" doesn't find help.
- Solution: Avoid that ":help \@<=" searches for the "<=" language.
- Files: src/tag.c
- Patch 6.2.408
- Problem: ":compiler" is not consistent: Sets local options and a global
- variable. (Douglas Potts) There is no error message when a
- compiler is not supported.
- Solution: Use ":compiler!" to set a compiler globally, otherwise it's local
- to the buffer and "b:current_compiler" is used. Give an error
- when no compiler script could be found.
- Note: updated compiler plugins can be found at
- ftp://ftp.vim.org/pub/vim/runtime/compiler/
- Files: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c,
- src/ex_cmds2.c
- Patch 6.2.409
- Problem: The cursor ends up in the last column instead of after the line
- when doing "i//<Esc>o" with 'indentexpr' set to "cindent(v:lnum)".
- (Toby Allsopp)
- Solution: Adjust the cursor as if in Insert mode.
- Files: src/misc1.c
- Patch 6.2.410 (after 6.2.389)
- Problem: In diff mode, when there are more filler lines than fit in the
- window, they are not drawn.
- Solution: Check for filler lines when skipping to draw a line that doesn't
- fit.
- Files: src/screen.c
- Patch 6.2.411
- Problem: A "\n" inside a string is not seen as a line break by the regular
- expression matching. (Hari Krishna Dara)
- Solution: Add the vim_regexec_nl() function for strings where "\n" is to be
- matched with a line break.
- Files: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c
- Patch 6.2.412
- Problem: Ruby: "ruby << EOF" inside a function doesn't always work. Also
- for ":python", ":tcl" and ":perl".
- Solution: Check for "<< marker" and skip until "marker" before checking for
- "endfunction".
- Files: src/eval.c
- Patch 6.2.413 (after 6.2.411)
- Problem: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky)
- Solution: Now really include the prototype.
- Files: src/proto/regexp.pro
- Patch 6.2.414
- Problem: The function used for custom completion of user commands cannot
- have <SID> to make it local. (Hari Krishna Dara)
- Solution: Pass the SID of the script where the user command was defined on
- to the completion. Also clean up #ifdefs.
- Files: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h
- Patch 6.2.415
- Problem: Vim may crash after a sequence of events that change the window
- size. The window layout assumes a larger window than is actually
- available. (Servatius Brandt)
- Solution: Invoke win_new_shellsize() from screenalloc() instead of from
- set_shellsize().
- Files: src/screen.c, src/term.c
- Patch 6.2.416
- Problem: Compiler warning for incompatible pointer.
- Solution: Remove the "&" in the call to poll(). (Xavier de Gaye)
- Files: src/os_unix.c
- Patch 6.2.417 (after 6.2.393)
- Problem: Many people forget that the '"' item in 'viminfo' needs to be
- preceded with a backslash,
- Solution: Add '<' as an alias for the '"' item.
- Files: runtime/doc/options.txt, src/ops.c, src/option.c
- Patch 6.2.418
- Problem: Using ":nnoremap <F12> :echo "cheese" and ":cabbr cheese xxx":
- when pressing <F12> still uses the abbreviation. (Hari Krishna)
- Solution: Also apply "noremap" to abbreviations.
- Files: src/getchar.c
- Patch 6.2.419 (extra)
- Problem: Win32: Cannot open the Vim window inside another application.
- Solution: Add the "-P" argument to specify the window title of the
- application to run inside. (Zibo Zhao)
- Files: runtime/doc/starting.txt, src/main.c, src/gui_w32.c,
- src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c,
- src/proto/gui_w32.pro
- Patch 6.2.420
- Problem: Cannot specify a file to be edited in binary mode without setting
- the global value of the 'binary' option.
- Solution: Support ":edit ++bin file".
- Files: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h,
- src/ex_docmd.c, src/fileio.c, src/misc2.c
- Patch 6.2.421
- Problem: Cannot set the '[ and '] mark, which may be necessary when an
- autocommand simulates reading a file.
- Solution: Allow using "m[" and "m]".
- Files: runtime/doc/motion.txt, src/mark.c
- Patch 6.2.422
- Problem: In CTRL-X completion messages the "/" makes them less readable.
- Solution: Remove the slashes. (Antony Scriven)
- Files: src/edit.c
- Patch 6.2.423
- Problem: ":vertical wincmd ]" does not split vertically.
- Solution: Add "postponed_split_flags".
- Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c
- Patch 6.2.424
- Problem: A BufEnter autocommand that sets an option stops 'mousefocus' from
- working in Insert mode (Normal mode is OK). (Gregory Seidman)
- Solution: In the Insert mode loop invoke gui_mouse_correct() when needed.
- Files: src/edit.c
- Patch 6.2.425
- Problem: Vertical split and command line window: can only drag status line
- above the cmdline window on the righthand side, not lefthand side.
- Solution: Check the status line row instead of the window pointer.
- Files: src/ui.c
- Patch 6.2.426
- Problem: A syntax region end match with a matchgroup that includes a line
- break only highlights the last line with matchgroup. (Gary
- Holloway)
- Solution: Also use the line number of the position where the region
- highlighting ends.
- Files: src/syntax.c
- Patch 6.2.427 (extra)
- Problem: When pasting a lot of text in a multibyte encoding, conversion
- from 'termencoding' to 'encoding' may fail for some characters.
- (Kuang-che Wu)
- Solution: When there is an incomplete byte sequence at the end of the read
- text keep it for the next time.
- Files: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro,
- src/proto/os_mswin.pro, src/ui.c
- Patch 6.2.428
- Problem: The X11 clipboard supports the Vim selection for char/line/block
- mode, but since the encoding is not included can't copy/paste
- between two Vims with a different 'encoding'.
- Solution: Add a new selection format that includes the 'encoding'. Perform
- conversion when necessary.
- Files: src/gui_gtk_x11.c, src/ui.c, src/vim.h
- Patch 6.2.429
- Problem: Unix: glob() doesn't work for a directory with a single quote in
- the name. (Nazri Ramliy)
- Solution: When using the shell to expand, only put double quotes around
- spaces and single quotes, not the whole thing.
- Files: src/os_unix.c
- Patch 6.2.430
- Problem: BOM at start of a vim script file is not recognized and causes an
- error message.
- Solution: Detect the BOM and skip over it. Also fix that after using
- ":scriptencoding" the iconv() file descriptor was not closed
- (memory leak).
- Files: src/ex_cmds2.c
- Patch 6.2.431
- Problem: When using the horizontal scrollbar, the scrolling is limited to
- the length of the cursor line.
- Solution: Make the scroll limit depend on the longest visible line. The
- cursor is moved when necessary. Including the 'h' flag in
- 'guioptions' disables this.
- Files: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c,
- src/misc2.c, src/option.h
- Patch 6.2.432 (after 6.2.430 and 6.2.431)
- Problem: Lint warnings.
- Solution: Add type casts.
- Files: src/ex_cmds2.c, src/gui.c
- Patch 6.2.433
- Problem: Translating "VISUAL" and "BLOCK" separately doesn't give a good
- result. (Alejandro Lopez Valencia)
- Solution: Use a string for each combination.
- Files: src/screen.c
- Patch 6.2.434 (after 6.2.431)
- Problem: Compiler warning. (Salman Halim)
- Solution: Add type casts.
- Files: src/gui.c
- Patch 6.2.435
- Problem: When there are vertically split windows the minimal Vim window
- height is computed wrong.
- Solution: Use frame_minheight() to correctly compute the minimal height.
- Files: src/window.c
- Patch 6.2.436
- Problem: Running the tests changes the user's viminfo file.
- Solution: In test 49 tell the extra Vim to use the test viminfo file.
- Files: src/testdir/test49.vim
- Patch 6.2.437
- Problem: ":mksession" always puts "set nocompatible" in the session file.
- This changes option settings. (Ron Aaron)
- Solution: Add an "if" to only change 'compatible' when needed.
- Files: src/ex_docmd.c
- Patch 6.2.438
- Problem: When the 'v' flag is present in 'cpoptions', backspacing and then
- typing text again: one character too much is overtyped before
- inserting is done again.
- Solution: Set "dollar_vcol" to the right column.
- Files: src/edit.c
- Patch 6.2.439
- Problem: GTK 2: Changing 'lines' may cause a mismatch between the window
- layout and the size of the window.
- Solution: Disable the hack with force_shell_resize_idle().
- Files: src/gui_gtk_x11.c
- Patch 6.2.440
- Problem: When 'lazyredraw' is set the window title is still updated.
- The size of the Visual area and the ruler are displayed too often.
- Solution: Postpone redrawing the window title. Only show the Visual area
- size when waiting for a character. Don't draw the ruler
- unnecessary.
- Files: src/buffer.c, src/normal.c, src/screen.c
- Patch 6.2.441
- Problem: ":unabbreviate foo " doesn't work, because of the trailing space,
- while an abbreviation with a trailing space is not possible. (Paul
- Jolly)
- Solution: Accept a match with the lhs of an abbreviation without the
- trailing space.
- Files: src/getchar.c
- Patch 6.2.442
- Problem: Cannot manipulate the command line from a function.
- Solution: Add getcmdline(), getcmdpos() and setcmdpos() functions and the
- CTRL-\ e command.
- Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c
- src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
- src/proto/ops.pro
- Patch 6.2.443
- Problem: With ":silent! echoerr something" you don't get the position of
- the error. emsg() only writes the message itself and returns.
- Solution: Also redirect the position of the error.
- Files: src/message.c
- Patch 6.2.444
- Problem: When adding the 'c' flag to a ":substitute" command it may replace
- more times than without the 'c' flag. Happens for a match that
- starts with "\ze" (Marcel Svitalsky) and when using "\@<=" (Klaus
- Bosau).
- Solution: Correct "prev_matchcol" when replacing the line. Don't replace
- the line when the pattern uses look-behind matching.
- Files: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c
- Patch 6.2.445
- Problem: Copying vimtutor to /tmp/something is not secure, a symlink may
- cause trouble.
- Solution: Create a directory and create the file in it. Use "umask" to
- create the directory with mode 700. (Stefan Nordhausen)
- Files: src/vimtutor
- Patch 6.2.446 (after 6.2.404)
- Problem: Using library functions wcwidth() and iswprint() results in
- display problems for Hebrew characters. (Ron Aaron)
- Solution: Disable the code to use the library functions, use our own.
- Files: src/mbyte.c
- Patch 6.2.447 (after 6.2.440)
- Problem: Now that the title is only updated when redrawing, it is no longer
- possible to show it while executing a function. (Madoka Machitani)
- Solution: Make ":redraw" also update the title.
- Files: src/ex_docmd.c
- Patch 6.2.448 (after 6.2.427)
- Problem: Mac: conversion done when 'termencoding' differs from 'encoding'
- fails when pasting a longer text.
- Solution: Check for an incomplete sequence at the end of the chunk to be
- converted. (Eckehard Berns)
- Files: src/mbyte.c
- Patch 6.2.449 (after 6.2.431)
- Problem: Get error messages when switching files.
- Solution: Check for a valid line number when calculating the width of the
- horizontal scrollbar. (Helmut Stiegler)
- Files: src/gui.c
- Patch 6.2.450
- Problem: " #include" and " #define" are not recognized with the default
- option values for 'include' and 'defined'. (RG Kiran)
- Solution: Adjust the default values to allow white space before the #.
- Files: runtime/doc/options.txt, src/option.c
- Patch 6.2.451
- Problem: GTK: when using XIM there are various problems, including setting
- 'modified' and breaking undo at the wrong moment.
- Solution: Add "xim_changed_while_preediting", "preedit_end_col" and
- im_is_preediting(). (Yasuhiro Matsumoto)
- Files: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c,
- src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c,
- src/undo.c
- Patch 6.2.452
- Problem: In diff mode, when DiffAdd and DiffText highlight settings are
- equal, an added line is highlighted with DiffChange. (Tom Schumm)
- Solution: Remember the diff highlight type instead of the attributes.
- Files: src/screen.c
- Patch 6.2.453
- Problem: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar".
- (Pavel Papushev)
- Solution: When the pattern can match a line break also try matching at the
- NUL at the end of a line.
- Files: src/ex_cmds.c, src/regexp.c
- Patch 6.2.454
- Problem: ":let b:changedtick" doesn't work. (Alan Schmitt) ":let
- b:changedtick = 99" does not give an error message.
- Solution: Add code to recognize ":let b:changedtick".
- Files: src/eval.c
- Patch 6.2.455 (after 6.2.297)
- Problem: In Python commands the current locale changes how certain Python
- functions work. (Eugene M. Minkovskii)
- Solution: Set the LC_NUMERIC locale to "C" while executing a Python command.
- Files: src/if_python.c
- Patch 6.2.456 (extra)
- Problem: Win32: Editing a file by its Unicode name (dropping it on Vim or
- using the file selection dialog) doesn't work. (Yakov Lerner, Alex
- Jakushev)
- Solution: Use wide character functions when file names are involved and
- convert from/to 'encoding' where needed.
- Files: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c,
- src/os_mswin.c, src/os_win32.c
- Patch 6.2.457 (after 6.2.244)
- Problem: When 'encoding' is "utf-8" and writing text with chars above 0x80
- in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm)
- Solution: Correct the utf_ptr2len_check_len() function and fix the problem
- of displaying 0xf7 in utfc_ptr2len_check_len().
- Files: src/mbyte.c
- Patch 6.2.458
- Problem: When 'virtualedit' is set "$" doesn't move to the end of an
- unprintable character, causing "y$" not to include that character.
- (Fred Ma)
- Solution: Set "coladd" to move the cursor to the end of the character.
- Files: src/misc2.c
- Patch 6.2.459 (after 6.2.454)
- Problem: Variable "b" cannot be written. (Salman Halim)
- Solution: Compare strings properly.
- Files: src/eval.c
- Patch 6.2.460 (extra, after 6.2.456)
- Problem: Compiler warnings for missing prototypes.
- Solution: Include the missing prototypes.
- Files: src/proto/os_win32.pro
- Patch 6.2.461
- Problem: After using a search command "x" starts putting single characters
- in the numbered registers.
- Solution: Reset "use_reg_one" at the right moment.
- Files: src/normal.c
- Patch 6.2.462
- Problem: Finding a matching parenthesis does not correctly handle a
- backslash in a trailing byte.
- Solution: Handle multibyte characters correctly. (Taro Muraoka)
- Files: src/search.c
- Patch 6.2.463 (extra)
- Problem: Win32: An NTFS file system may contain files with extra info
- streams. The current method to copy them creates one and then
- deletes it again. (Peter Toennies) Also, only three streams with
- hard coded names are copied.
- Solution: Use BackupRead() to check which info streams the original file
- contains and only copy these streams.
- Files: src/os_win32.c
- Patch 6.2.464 (extra, after 6.2.427)
- Problem: Amiga: Compilation error with gcc. (Ali Akcaagac)
- Solution: Move the #ifdef outside of Read().
- Files: src/os_amiga.c
- Patch 6.2.465
- Problem: When resizing the GUI window the window manager sometimes moves it
- left of or above the screen. (Michael McCarty)
- Solution: Check the window position after resizing it and move it onto the
- screen when it isn't.
- Files: src/gui.c
- Patch 6.2.466 (extra, after 6.2.456)
- Problem: Win32: Compiling with Borland C fails, and an un/signed warning.
- Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
- Matsumoto)
- Files: src/os_win32.c
- Patch 6.2.467 (extra, after 6.2.463)
- Problem: Win32: can't compile without multibyte feature. (Ajit Thakkar)
- Solution: Add #ifdefs around the info stream code.
- Files: src/os_win32.c
- Patch 6.2.468
- Problem: Compiler warnings for shadowed variables. (Matthias Mohr)
- Solution: Delete superfluous variables and rename others.
- Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c,
- src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c,
- src/regexp.c
- Patch 6.2.469 (extra, after 6.2.456)
- Problem: Win32: Can't create swap file when 'encoding' differs from the
- active code page. (Kriton Kyrimis)
- Solution: In enc_to_ucs2() terminate the converted string with a NUL
- Files: src/os_mswin.c
- Patch 6.2.470
- Problem: The name returned by tempname() may be equal to the file used for
- shell output when ignoring case.
- Solution: Skip 'O' and 'I' in tempname().
- Files: src/eval.c
- Patch 6.2.471
- Problem: "-L/usr/lib" is used in the link command, even though it's
- supposed to be filtered out. "-lw" and "-ldl" are not
- automatically added when needed for "-lXmu". (Antonio Colombo)
- Solution: Check for a space after the argument instead of before. Also
- remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl"
- before trying "-lXmu".
- Files: src/auto/configure, src/configure.in, src/link.sh
- Patch 6.2.472
- Problem: When using a FileChangedShell autocommand that changes the current
- buffer, a buffer exists that can't be wiped out.
- Also, Vim sometimes crashes when executing an external command
- that changes the buffer and a FileChangedShell autocommand is
- used. (Hari Krishna Dara)
- Users are confused by the warning for a file being changed outside
- of Vim.
- Solution: Avoid that the window counter for a buffer is incremented twice.
- Avoid that buf_check_timestamp() is used recursively.
- Add a hint to look in the help for more info.
- Files: src/ex_cmds.c, src/fileio.c
- Patch 6.2.473
- Problem: Using CTRL-] in a help buffer without a name causes a crash.
- Solution: Check for name to be present before using it. (Taro Muraoka)
- Files: src/tag.c
- Patch 6.2.474 (extra, after 6.2.456)
- Problem: When Vim is starting up conversion is done unnecessarily. Failure
- to find the runtime files on Windows 98. (Randall W. Morris)
- Solution: Init enc_codepage negative, only use it when not negative.
- Don't use GetFileAttributesW() on Windows 98 or earlier.
- Files: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c,
- src/os_win32.c
- Patch 6.2.475
- Problem: Commands after "perl <<EOF" are parsed as Vim commands when they
- are not executed.
- Solution: Properly skip over the perl commands.
- Files: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c,
- src/if_ruby.c, src/if_tcl.c, src/misc2.c
- Patch 6.2.476
- Problem: When reloading a hidden buffer changed outside of Vim and the
- current buffer is read-only, the reloaded buffer becomes
- read-only. (Hari Krishna Dara)
- Solution: Save the 'readonly' flag of the reloaded buffer instead of the
- current buffer.
- Files: src/fileio.c
- Patch 6.2.477
- Problem: Using remote_send(v:servername, "\<C-V>") causes Vim to hang.
- (Yakov Lerner)
- Solution: When the resulting string is empty don't set received_from_client.
- Files: src/main.c
- Patch 6.2.478
- Problem: Win32: "--remote file" fails changing directory if the current
- directory name starts with a single quote. (Iestyn Walters)
- Solution: Add a backslash where it will be removed later.
- Files: src/main.c, src/misc2.c, src/proto/misc2.pro
- Patch 6.2.479
- Problem: The error message for errors during recovery goes unnoticed.
- Solution: Avoid that the hit-enter prompt overwrites the message. Add a few
- lines to make the error stand out.
- Files: src/main.c, src/message.c, src/memline.c
- Patch 6.2.480
- Problem: NetBeans: Using negative index in array. backslash at end of
- message may cause Vim to crash. (Xavier de Gaye)
- Solution: Initialize buf_list_used to zero. Check for trailing backslash.
- Files: src/netbeans.c
- Patch 6.2.481
- Problem: When writing a file it is not possible to specify that hard and/or
- symlinks are to be broken instead of preserved.
- Solution: Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'.
- (Simon Ekstrand)
- Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h
- Patch 6.2.482
- Problem: Repeating insert of CTRL-K 1 S doesn't work. The superscript 1 is
- considered to be a digit. (Juergen Kraemer)
- Solution: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for
- speed where possible. Also add vim_isxdigit().
- Files: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c,
- src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c,
- src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c,
- src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h,
- src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c,
- src/misc2.c, src/normal.c, src/ops.c, src/option.c,
- src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c,
- src/syntax.c, src/tag.c, src/term.c, src/termlib.c
- Patch 6.2.483 (extra, after 6.2.482)
- Problem: See 6.2.482.
- Solution: Extra part of patch 6.2.482.
- Files: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c
- Patch 6.2.484
- Problem: MS-Windows: With the included diff.exe, differences after a CTRL-Z
- are not recognized. (Peter Keresztes)
- Solution: Write the files with unix fileformat and invoke diff with --binary
- if possible.
- Files: src/diff.c
- Patch 6.2.485
- Problem: A BufWriteCmd autocommand cannot know if "!" was used or not.
- (Hari Krishna Dara)
- Solution: Add the v:cmdbang variable.
- Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro,
- src/fileio.c, src/vim.h
- Patch 6.2.486 (6.2.482)
- Problem: Diff for eval.c is missing.
- Solution: Addition to patch 6.2.482.
- Files: src/eval.c
- Patch 6.2.487 (extra, after 6.2.456)
- Problem: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia)
- Solution: Delete the prototype for Handle_WM_Notify().
- Files: src/proto/gui_w32.pro
- Patch 6.2.488
- Problem: Missing ")" in *.ch filetype detection.
- Solution: Add the ")". (Ciaran McCreesh)
- Files: runtime/filetype.vim
- Patch 6.2.489
- Problem: When accidentally opening a session in Vim which has already been
- opened in another Vim there is a long row of ATTENTION prompts.
- Need to quit each of them to get out. (Robert Webb)
- Solution: Add the "Abort" alternative to the dialog.
- Files: src/memline.c
- Patch 6.2.490
- Problem: With 'paragraph' it is not possible to use a single dot as a
- paragraph boundary. (Dorai Sitaram)
- Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
- ". $"
- Files: src/search.c
- Patch 6.2.491
- Problem: Decrementing a position doesn't take care of multibyte chars.
- Solution: Adjust the column for multibyte characters. Remove mb_dec().
- (Yasuhiro Matsumoto)
- Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
- Patch 6.2.492
- Problem: When using ":redraw" while there is a message, the next ":echo"
- still causes text to scroll. (Yasuhiro Matsumoto)
- Solution: Reset msg_didout and msg_col, so that after ":redraw" the next
- message overwrites an existing one.
- Files: src/ex_docmd.c
- Patch 6.2.493
- Problem: "@x" doesn't work when 'insertmode' is set. (Benji Fisher)
- Solution: Put "restart_edit" in the typeahead buffer, so that it's used
- after executing the register contents.
- Files: src/ops.c
- Patch 6.2.494
- Problem: Using diff mode with two windows, when moving horizontally in
- inserted lines, a fold in the other window may open.
- Solution: Compute the line number in the other window correctly.
- Files: src/diff.c
- Patch 6.2.495 (extra, after 6.2.456)
- Problem: Win32: The file dialog doesn't work on Windows 95.
- Solution: Put the wide code of gui_mch_browse() in gui_mch_browseW() and use
- it only on Windows NT/2000/XP.
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 6.2.496
- Problem: FreeBSD 4.x: When compiled with the pthread library (Python) a
- complicated pattern may cause Vim to crash. Catching the signal
- doesn't work.
- Solution: When compiled with threads, instead of using the normal stacksize
- limit, use the size of the initial stack.
- Files: src/auto/configure, src/config.h.in, src/configure.in,
- src/os_unix.c
- Patch 6.2.497 (extra)
- Problem: Russian messages are only available in one encoding.
- Solution: Convert the messages to MS-Windows codepages. (Vassily Ragosin)
- Files: src/po/Makefile
- Patch 6.2.498
- Problem: Non-latin1 help files are not properly supported.
- Solution: Support utf-8 help files and convert them to 'encoding' when
- needed.
- Files: src/fileio.c
- Patch 6.2.499
- Problem: When writing a file and halting the system, the file might be lost
- when using a journaling file system.
- Solution: Use fsync() to flush the file data to disk after writing a file.
- (Radim Kolar)
- Files: src/fileio.c
- Patch 6.2.500 (extra)
- Problem: The DOS/MS-Windows the installer doesn't use the --binary flag for
- diff.
- Solution: Add --binary to the diff argument in MyDiff(). (Alejandro Lopez-
- Valencia)
- Files: src/dosinst.c
- Patch 6.2.501
- Problem: Vim does not compile with MorphOS.
- Solution: Add a Makefile and a few changes to make Vim work with MorphOS.
- (Ali Akcaagac)
- Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt,
- src/Make_morphos.mak, src/memfile.c, src/term.c
- Patch 6.2.502
- Problem: Building fails for generating message files.
- Solution: Add dummy message files.
- Files: src/po/ca.po, src/po/ru.po, src/po/sv.po
- Patch 6.2.503
- Problem: Mac: Can't compile MacRoman conversions without the GUI.
- Solution: Also link with the Carbon framework for the terminal version, for
- the MacRoman conversion functions. (Eckehard Berns)
- Remove -ltermcap from the GUI link command, it is not needed.
- Files: src/auto/configure, src/Makefile, src/configure.in
- Patch 6.2.504
- Problem: Various problems with 'cindent', among which that a
- list of variable declarations is not indented properly.
- Solution: Fix the wrong indenting. Improve indenting of C++ methods.
- Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by
- Helmut Stiegler)
- Improve indenting of preprocessor-continuation lines.
- Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
- src/testdir/test3.ok
- Patch 6.2.505
- Problem: Help for -P argument is missing. (Ronald Hoellwarth)
- Solution: Add the patch that was missing in 6.2.419.
- Files: runtime/doc/starting.txt
- Patch 6.2.506 (extra)
- Problem: Win32: When 'encoding' is a codepage then reading a utf-8 file
- only works when iconv is available. Writing a file in another
- codepage uses the wrong kind of conversion.
- Solution: Use internal conversion functions. Enable reading and writing
- files with 'fileencoding' different from 'encoding' for all valid
- codepages and utf-8 without the need for iconv.
- Files: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in,
- src/testdir/test52.ok
- Patch 6.2.507
- Problem: The ownership of the file with the password for the NetBeans
- connection is not checked. "-nb={file}" doesn't work for GTK.
- Solution: Only accept the file when owned by the user and not accessible by
- others. Detect "-nb=" for GTK.
- Files: src/netbeans.c, src/gui_gtk_x11.c
- Patch 6.2.508
- Problem: Win32: "v:lang" does not show the current language for messages if
- it differs from the other locale settings.
- Solution: Use the value of the $LC_MESSAGES environment variable.
- Files: src/ex_cmds2.c
- Patch 6.2.509 (after 6.2.508)
- Problem: Crash when $LANG is not set.
- Solution: Add check for NULL pointer. (Ron Aaron)
- Files: src/ex_cmds2.c
- Patch 6.2.510 (after 6.2.507)
- Problem: Warning for pointer conversion.
- Solution: Add a type cast.
- Files: src/gui_gtk_x11.c
- Patch 6.2.511
- Problem: Tags in Russian help files are in utf-8 encoding, which may be
- different from 'encoding'.
- Solution: Use the "TAG_FILE_ENCODING" field in the tags file to specify the
- encoding of the tags. Convert help tags from 'encoding' to the
- tag file encoding when searching for matches, do the reverse when
- listing help tags.
- Files: runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.c
- Patch 6.2.512
- Problem: Translating "\"\n" is useless. (Gerfried Fuchs)
- Solution: Remove the _() around it.
- Files: src/main.c, src/memline.c
- Patch 6.2.513 (after 6.2.507)
- Problem: NetBeans: the check for owning the connection info file can be
- simplified. (Nikolay Molchanov)
- Solution: Only check if the access mode is right.
- Files: src/netbeans.c
- Patch 6.2.514
- Problem: When a highlight/syntax group name contains invalid characters
- there is no warning.
- Solution: Add an error for unprintable characters and a warning for other
- invalid characters.
- Files: src/syntax.c
- Patch 6.2.515
- Problem: When using the options window 'swapfile' is reset.
- Solution: Use ":setlocal" instead of ":set".
- Files: runtime/optwin.vim
- Patch 6.2.516
- Problem: The sign column cannot be seen, looks like there are two spaces
- before the text. (Rob Retter)
- Solution: Add the SignColumn highlight group.
- Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c,
- src/screen.c, src/syntax.c, src/vim.h
- Patch 6.2.517
- Problem: Using "r*" in Visual mode on multibyte characters replaces
- too many characters. In Visual Block mode replacing with a
- multibyte character doesn't work.
- Solution: Adjust the operator end for the difference in byte length of the
- original and the replaced character. Insert all bytes of a
- multibyte character, take care of double-wide characters.
- Files: src/ops.c
- Patch 6.2.518
- Problem: Last line of a window is not updated after using "J" and then "D".
- (Adri Verhoef)
- Solution: When no line is found below a change that doesn't need updating,
- update all lines below the change.
- Files: src/screen.c
- Patch 6.2.519
- Problem: Mac: cannot read/write files in MacRoman format.
- Solution: Do internal conversion from/to MacRoman to/from utf-8 and latin1.
- (Eckehard Berns)
- Files: src/fileio.c
- Patch 6.2.520 (extra)
- Problem: The NSIS installer is outdated.
- Solution: Make it work with NSIS 2.0. Also include console executables for
- Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use
- "/oname" to avoid having to rename files before running NSIS.
- Files: Makefile, nsis/gvim.nsi
- Patch 6.2.521
- Problem: When using silent Ex mode the "changing a readonly file" warning
- is omitted but the one second wait isn't. (Yakov Lerner)
- Solution: Skip the delay when "silent_mode" is set.
- Files: src/misc1.c
- Patch 6.2.522
- Problem: GUI: when changing 'cmdheight' in the gvimrc file the window
- layout is messed up. (Keith Dart)
- Solution: Skip updating the window layout when changing 'cmdheight' while
- still starting up.
- Files: src/option.c
- Patch 6.2.523
- Problem: When loading a session and aborting when a swap file already
- exists, the user is left with useless windows. (Robert Webb)
- Solution: Load one file before creating the windows.
- Files: src/ex_docmd.c
- Patch 6.2.524 (extra, after 6.2.520)
- Problem: Win32: (un)installing gvimext.dll may fail if it was used.
- The desktop and start menu links are created for the current user
- instead of all users.
- Using the home directory as working directory for the links is a
- bad idea for multi-user systems.
- Cannot use Vim from the "Open With..." menu.
- Solution: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use
- macros for the directory of the source and runtime files. Use
- "CSIDL_COMMON_*" instead of "CSIDL_*" when possible.
- Do not specify a working directory in the links.
- Add Vim to the "Open With..." menu. (Giuseppe Bilotta)
- Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c
- Patch 6.2.525
- Problem: When the history contains a very long line ":history" causes a
- crash. (Volker Kiefel)
- Solution: Shorten the history entry to fit it in one line.
- Files: src/ex_getln.c
- Patch 6.2.526
- Problem: When s:lang is "ja" the Japanese menus are not used.
- Solution: Add 'encoding' to the language when there is no charset.
- Files: runtime/menu.vim
- Patch 6.2.527
- Problem: The 2html script uses ":wincmd p", which breaks when using some
- autocommands.
- Solution: Remember the window numbers and jump to them with ":wincmd w".
- Also add XHTML support. (Panagiotis Issaris)
- Files: runtime/syntax/2html.vim
- Patch 6.2.528
- Problem: NetBeans: Changes of the "~" command are not reported.
- Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur)
- Also change NetBeans debugging to append to the log file.
- Also fix that "~" in Visual block mode changes too much if there
- are multibyte characters.
- Files: src/nbdebug.c, src/normal.c, src/ops.c
- Patch 6.2.529 (extra)
- Problem: VisVim only works for Admin. Doing it for one user doesn't work.
- (Alexandre Gouraud)
- Solution: When registering the module fails, simply continue.
- Files: src/VisVim/VisVim.cpp
- Patch 6.2.530
- Problem: Warning for missing prototype on the Amiga.
- Solution: Include time.h
- Files: src/version.c
- Patch 6.2.531
- Problem: In silent ex mode no messages are given, which makes debugging
- very difficult.
- Solution: Do output messages when 'verbose' is set.
- Files: src/message.c, src/ui.c
- Patch 6.2.532 (extra)
- Problem: Compiling for Win32s with VC 4.1 doesn't work.
- Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON*
- when not defined.
- Files: src/dosinst.h, src/fileio.c
- Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto)
- Patch 6.3a.001
- Problem: Win32: if testing for the "--binary" option fails, diff isn't used
- at all.
- Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto)
- Files: src/diff.c
- Patch 6.3a.002
- Problem: NetBeans: An insert command from NetBeans beyond the end of a
- buffer crashes Vim. (Xavier de Gaye)
- Solution: Use a local pos_T structure for the position.
- Files: src/netbeans.c
- Patch 6.3a.003
- Problem: E315 error with auto-formatting comments. (Henry Van Roessel)
- Solution: Pass the line number to same_leader().
- Files: src/ops.c
- Patch 6.3a.004
- Problem: Test32 fails on Windows XP for the DJGPP version. Renaming
- test11.out fails.
- Solution: Don't try renaming, create new files to use for the test.
- Files: src/testdir/test32.in, src/testdir/test32.ok
- Patch 6.3a.005
- Problem: ":checkpath!" does not use 'includeexpr'.
- Solution: Use a file name that was found directly. When a file was not
- found and the located name is empty, use the rest of the line.
- Files: src/search.c
- Patch 6.3a.006
- Problem: "yip" moves the cursor to the first yanked line, but not to the
- first column. Looks like not all text was yanked. (Jens Paulus)
- Solution: Move the cursor to the first column.
- Files: src/search.c
- Patch 6.3a.007
- Problem: 'cindent' recognizes "enum" but not "typedef enum".
- Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler)
- Also avoid that searching for this item goes too far back.
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 6.3a.008 (extra)
- Problem: Windows 98: Some of the wide functions are not implemented,
- resulting in file I/O to fail. This depends on what Unicode
- support is installed.
- Solution: Handle the failure and fall back to non-wide functions.
- Files: src/os_win32.c
- Patch 6.3a.009
- Problem: Win32: Completion of filenames does not work properly when
- 'encoding' differs from the active code page.
- Solution: Use wide functions for expanding wildcards when appropriate.
- Files: src/misc1.c
- Patch 6.3a.010 (extra)
- Problem: Win32: Characters in the window title that do not appear in the
- active codepage are replaced by a question mark.
- Solution: Use DefWindowProcW() instead of DefWindowProc() when possible.
- Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro,
- src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
- Patch 6.3a.011
- Problem: Using the explorer plugin changes a local directory to the global
- directory.
- Solution: Don't use ":chdir" to restore the current directory. Make
- "expand('%:p')" remove "/../" and "/./" items from the path.
- Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c
- Patch 6.3a.012 (extra)
- Problem: On Windows 98 the installer doesn't work, don't even get the "I
- agree" button. The check for the path ending in "vim" makes the
- browse dialog hard to use. The default path when no previous Vim
- is installed is "c:\vim" instead of "c:\Program Files\Vim".
- Solution: Remove the background gradient command. Change the
- .onVerifyInstDir function to a leave function for the directory
- page. Don't let the install program default to c:\vim when no
- path could be found.
- Files: nsis/gvim.nsi, src/dosinst.c
- Patch 6.3a.013 (extra)
- Problem: Win32: Characters in the menu that are not in the active codepage
- are garbled.
- Solution: Convert menu strings from 'encoding' to the active codepage.
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 6.3a.014
- Problem: Using multibyte text and highlighting in a statusline causes gaps
- to appear. (Helmut Stiegler)
- Solution: Advance the column by text width instead of number of bytes. Add
- the vim_strnsize() function.
- Files: src/charset.c, src/proto/charset.pro, src/screen.c
- Patch 6.3a.015
- Problem: Using the "select all" menu item when 'insertmode' is set and
- clicking the mouse button doesn't return to Insert mode. The
- Buffers/Delete menu doesn't offer a choice to abandon a changed
- buffer. (Jens Paulus)
- Solution: Don't use CTRL-\ CTRL-N. Add ":confirm" for the Buffers menu
- items.
- Files: runtime/menu.vim
- Patch 6.3a.016
- Problem: After cancelling the ":confirm" dialog the error message and
- hit-enter prompt may not be displayed properly.
- Solution: Flush output after showing the dialog.
- Files: src/message.c
- Patch 6.3a.017
- Problem: servername() doesn't work when Vim was started with the "-X"
- argument or when the "exclude" in 'clipboard' matches the terminal
- name. (Robert Nowotniak)
- Solution: Force connecting to the X server when using client-server
- commands.
- Files: src/eval.c, src/globals.h, src/os_unix.c
- Patch 6.3a.018 (after 6.3a.017)
- Problem: Compiler warning for return value of make_connection().
- Solution: Use void return type.
- Files: src/eval.c
- Patch 6.3a.019 (extra)
- Problem: Win32: typing non-latin1 characters doesn't work.
- Solution: Invoke _OnChar() directly to avoid that the argument is truncated
- to a byte. Convert the UTF-16 character to bytes according to
- 'encoding' and ignore 'termencoding'. Same for _OnSysChar().
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 6.3a.020 (extra)
- Problem: Missing support for AROS (AmigaOS reimplementation). Amiga GUI
- doesn't work.
- Solution: Add AROS support. (Adam Chodorowski)
- Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac)
- Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h,
- src/memfile.c, src/os_amiga.c, src/term.c
- Patch 6.3a.021 (after 6.3a.017)
- Problem: Can't compile with X11 but without GUI.
- Solution: Put use of "gui.in_use" inside an #ifdef.
- Files: src/eval.c
- Patch 6.3a.022
- Problem: When typing Tabs when 'softtabstop' is used and 'list' is set a
- tab is counted for two spaces.
- Solution: Use the "L" flag in 'cpoptions' to tell whether a tab is counted
- as two spaces or as 'tabstop'. (Antony Scriven)
- Files: runtime/doc/options.txt, src/edit.c
- Patch 6.3a.023
- Problem: Completion on the command line doesn't handle backslashes
- properly. Only the tail of matches is shown, even when not
- completing filenames.
- Solution: When turning the string into a pattern double backslashes. Don't
- omit the path when not expanding files or directories.
- Files: src/ex_getln.c
- Patch 6.3a.024
- Problem: The "save all" toolbar item fails for buffers that don't have a
- name. When using ":wa" or closing the Vim window and there are
- nameless buffers, browsing for a name may cause the name being
- given to the wrong buffer or not stored properly. ":browse" only
- worked for one file.
- Solution: Use ":confirm browse" for "save all".
- Pass buffer argument to setfname(). Restore "browse" flag and
- "forceit" after doing the work for one file.
- Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c,
- src/message.c, src/window.c, src/proto/buffer.pro,
- src/proto/ex_cmds2.pro, src/proto/memline.pro
- Patch 6.3a.025
- Problem: Setting 'virtualedit' moves the cursor. (Benji Fisher)
- Solution: Update the virtual column before using it.
- Files: src/option.c
- Patch 6.3a.026 (extra, after 6.3a.008)
- Problem: Editing files on Windows 98 doesn't work when 'encoding' is
- "utf-8" (Antoine Mechelynck)
- Warning for missing function prototype.
- Solution: For all wide functions check if it failed because it is not
- implemented. Use ANSI function declaration for char_to_string().
- Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.c
- Patch 6.3a.027 (extra, after 6.3a.026)
- Problem: Compiler warning for function argument.
- Solution: Declare both char and WCHAR arrays.
- Files: src/gui_w48.c
- Patch 6.3a.028
- Problem: ":normal ." doesn't work inside a function, because redo is saved
- and restored. (Benji Fisher)
- Solution: Make a copy of the redo buffer when executing a function.
- Files: src/getchar.c
- Patch 6.3b.001 (extra)
- Problem: Bcc 5: The generated auto/pathdef can't be compiled.
- Solution: Fix the way quotes and backslashes are escaped.
- Files: src/Make_bc5.mak
- Patch 6.3b.002
- Problem: Win32: conversion during file write fails when a double-byte
- character is split over two writes.
- Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka)
- Files: src/fileio.c
- Patch 6.3b.003 (extra)
- Problem: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8"
- then Vim can't open files under MS-Windows 98. (Antoine J.
- Mechelynck)
- Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation.
- Files: src/os_mswin.c, src/os_win32.c
- Patch 6.3b.004
- Problem: ":helpgrep" includes a trailing CR in the text line.
- Solution: Remove the CR.
- Files: src/quickfix.c
- Patch 6.3b.005
- Problem: ":echo &g:ai" results in the local option value. (Salman Halim)
- Solution: Pass the flags from find_option_end() to get_option_value().
- Files: src/eval.c
- Patch 6.3b.006
- Problem: When using "mswin.vim", CTRL-V in Insert mode leaves cursor before
- last pasted character. (Mathew Davis)
- Solution: Use the same Paste() function as in menu.vim.
- Files: runtime/mswin.vim
- Patch 6.3b.007
- Problem: Session file doesn't restore view on windows properly. (Robert
- Webb)
- Solution: Restore window sizes both before and after restoring the view, so
- that the view, cursor position and size are restored properly.
- Files: src/ex_docmd.c
- Patch 6.3b.008
- Problem: Using ":finally" in a user command doesn't always work. (Hari
- Krishna Dara)
- Solution: Don't assume that using getexline() means the command was typed.
- Files: src/ex_docmd.c
- Patch 6.3b.009 (extra)
- Problem: Win32: When the -P argument is not found in a window title, there
- is no error message.
- Solution: When the window can't be found give an error message and exit.
- Also use try/except to catch failing to open the MDI window.
- (Michael Wookey)
- Files: src/gui_w32.c
- Patch 6.3b.010
- Problem: Win32: Using the "-D" argument and expanding arguments may cause a
- hang, because the terminal isn't initialized yet. (Vince Negri)
- Solution: Don't go into debug mode before the terminal is initialized.
- Files: src/main.c
- Patch 6.3b.011
- Problem: Using CTRL-\ e while obtaining an expression aborts the command
- line. (Hari Krishna Dara)
- Solution: Insert the CTRL-\ e as typed.
- Files: src/ex_getln.c
- Patch 6.3b.012 (after 6.3b.010)
- Problem: Can't compile with tiny features. (Norbert Tretkowski)
- Solution: Add #ifdefs.
- Files: src/main.c
- Patch 6.3b.013
- Problem: Loading a session file results in editing the wrong file in the
- first window when this is not the file at the current position in
- the argument list. (Robert Webb)
- Solution: Check w_arg_idx_invalid to decide whether to edit a file.
- Files: src/ex_docmd.c
- Patch 6.3b.014
- Problem: ":runtime! foo*.vim" may using freed memory when a sourced script
- changes the value of 'runtimepath'.
- Solution: Make a copy of 'runtimepath' when looping over the matches.
- Files: src/ex_cmds2.c
- Patch 6.3b.015
- Problem: Get lalloc(0) error when using "p" in Visual mode while
- 'clipboard' contains "autoselect,unnamed". (Mark Wagonner)
- Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary.
- Files: src/ops.c
- Patch 6.3b.016
- Problem: When 'virtualedit' is used "x" doesn't delete the last character
- of a line that has as many characters as 'columns'. (Yakov Lerner)
- Solution: When the cursor isn't moved let oneright() return FAIL.
- Files: src/edit.c
- Patch 6.3b.017
- Problem: Win32: "vim --remote-wait" doesn't exit when the server finished
- editing the file. (David Fishburn)
- Solution: In the rrhelper plugin change backslashes to forward slashes and
- escape special characters.
- Files: runtime/plugin/rrhelper.vim
- Patch 6.3b.018
- Problem: The list of help files in the "local additions" table doesn't
- recognize utf-8 encoding. (Yasuhiro Matsumoto)
- Solution: Recognize utf-8 characters.
- Files: src/ex_cmds.c
- Patch 6.3b.019
- Problem: When $VIMRUNTIME is not a full path name the "local additions"
- table lists all the help files.
- Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory
- names.
- Files: src/ex_cmds.c
- Patch 6.3b.020
- Problem: When using CTRL-^ when entering a search string, the item in the
- statusline that indicates the keymap is not updated. (Ilya
- Dogolazky)
- Solution: Mark the statuslines for updating.
- Files: src/ex_getln.c
- Patch 6.3b.021
- Problem: The swapfile is not readable for others, the ATTENTION prompt does
- not show all info when someone else is editing the same file.
- (Marcel Svitalsky)
- Solution: Use the protection of original file for the swapfile and set it
- after creating the swapfile.
- Files: src/fileio.c
- Patch 6.3b.022
- Problem: Using "4v" to select four times the old Visual area may put the
- cursor beyond the end of the line. (Jens Paulus)
- Solution: Correct the cursor column.
- Files: src/normal.c
- Patch 6.3b.023
- Problem: When "3dip" starts in an empty line, white lines after the
- non-white lines are not deleted. (Jens Paulus)
- Solution: Include the white lines.
- Files: src/search.c
- Patch 6.3b.024
- Problem: "2daw" does not delete leading white space like "daw" does. (Jens
- Paulus)
- Solution: Include the white space when a count is used.
- Files: src/search.c
- Patch 6.3b.025
- Problem: Percentage in ruler isn't updated when a line is deleted. (Jens
- Paulus)
- Solution: Check for a change in line count when deciding to update the ruler.
- Files: src/screen.c, src/structs.h
- Patch 6.3b.026
- Problem: When selecting "abort" at the ATTENTION prompt for a file that is
- already being edited Vim crashes.
- Solution: Don't abort creating a new buffer when we really need it.
- Files: src/buffer.c, src/vim.h
- Patch 6.3b.027
- Problem: Win32: When enabling the menu in a maximized window, Vim uses more
- lines than what is room for. (Shizhu Pan)
- Solution: When deciding to call shell_resized(), also compare the text area
- size with Rows and Columns, not just with screen_Rows and
- screen_Columns.
- Files: src/gui.c
- Patch 6.3b.028
- Problem: When in diff mode, setting 'rightleft' causes a crash. (Eddine)
- Solution: Check for last column differently when 'rightleft' is set.
- Files: src/screen.c
- Patch 6.3b.029
- Problem: Win32: warning for uninitialized variable.
- Solution: Initialize to zero.
- Files: src/misc1.c
- Patch 6.3b.030
- Problem: After Visually selecting four characters, changing it to other
- text, Visually selecting and yanking two characters: "." changes
- four characters, another "." changes two characters. (Robert Webb)
- Solution: Don't store the size of the Visual area when redo is active.
- Files: src/normal.c
- ==============================================================================
- VERSION 6.4 *version-6.4*
- This section is about improvements made between version 6.3 and 6.4.
- This is a bug-fix release. There are also a few new features. The major
- number of new items is in the runtime files and translations.
- The big MS-Windows version now uses:
- Ruby version 1.8.3
- Perl version 5.8.7
- Python version 2.4.2
- Changed *changed-6.4*
- -------
- Removed runtime/tools/tcltags, Exuberant ctags does it better.
- Added *added-6.4*
- -----
- Alsaconf syntax file (Nikolai Weibull)
- Eruby syntax, indent, compiler and ftplugin file (Doug Kearns)
- Esterel syntax file (Maurizio Tranchero)
- Mathematica indent file (Steve Layland)
- Netrc syntax file (Nikolai Weibull)
- PHP compiler file (Doug Kearns)
- Pascal indent file (Neil Carter)
- Prescribe syntax file (Klaus Muth)
- Rubyunit compiler file (Doug Kearns)
- SMTPrc syntax file (Kornel Kielczewski)
- Sudoers syntax file (Nikolai Weibull)
- TPP syntax file (Gerfried Fuchs)
- VHDL ftplugin file (R. Shankar)
- Verilog-AMS syntax file (S. Myles Prather)
- Bulgarian keymap (Alberto Mardegan)
- Canadian keymap (Eric Joanis)
- Hungarian menu translations in UTF-8 (Kantra Gergely)
- Ukrainian menu translations (Bohdan Vlasyuk)
- Irish message translations (Kevin Patrick Scannell)
- Configure also checks for tclsh8.4.
- Fixed *fixed-6.4*
- -----
- "dFxd;" deleted the character under the cursor, "d;" didn't remember the
- exclusiveness of the motion.
- When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one
- line for the cmdline. (Christian Robinson) Invoke command_height() after the
- GUI has started up.
- Gcc would warn "dereferencing type-punned pointer will break strict -aliasing
- rules". Avoid using typecasts for variable pointers.
- Gcc 3.x interprets the -MM argument differently. Change "-I /path" to
- "-isystem /path" for "make depend".
- Patch 6.3.001
- Problem: ":browse split" gives the file selection dialog twice. (Gordon
- Bazeley) Same problem for ":browse diffpatch".
- Solution: Reset cmdmod.browse before calling do_ecmd().
- Files: src/diff.c, src/ex_docmd.c
- Patch 6.3.002
- Problem: When using translated help files with non-ASCII latin1 characters
- in the first line the utf-8 detection is wrong.
- Solution: Properly detect utf-8 characters. When a mix of encodings is
- detected continue with the next language and avoid a "no matches"
- error because of "got_int" being set. Add the directory name to
- the error message for a duplicate tag.
- Files: src/ex_cmds.c
- Patch 6.3.003
- Problem: Crash when using a console dialog and the first choice does not
- have a default button. (Darin Ohashi)
- Solution: Allocate two more characters for the [] around the character for
- the default choice.
- Files: src/message.c
- Patch 6.3.004
- Problem: When searching for a long string (140 chars in a 80 column
- terminal) get three hit-enter prompts. (Robert Webb)
- Solution: Avoid the hit-enter prompt when giving the message for wrapping
- around the end of the buffer. Don't give that message again when
- the string was not found.
- Files: src/message.c, src/search.c
- Patch 6.3.005
- Problem: Crash when searching for a pattern with a character offset and
- starting in a closed fold. (Frank Butler)
- Solution: Check for the column to be past the end of the line. Also fix
- that a pattern with a character offset relative to the end isn't
- read back from the viminfo properly.
- Files: src/search.c
- Patch 6.3.006
- Problem: ":breakadd file *foo" prepends the current directory to the file
- pattern. (Hari Krishna Dara)
- Solution: Keep the pattern as-is.
- Files: src/ex_cmds2.c
- Patch 6.3.007
- Problem: When there is a buffer with 'buftype' set to "nofile" and using a
- ":cd" command, the swap file is not deleted when exiting.
- Solution: Use the full path of the swap file also for "nofile" buffers.
- Files: src/fileio.c
- Patch 6.3.008
- Problem: Compiling fails under OS/2.
- Solution: Include "e_screenmode" also for OS/2. (David Sanders)
- Files: src/globals.h
- Patch 6.3.009 (after 6.3.006)
- Problem: ":breakadd file /path/foo.vim" does not match when a symbolic link
- is involved. (Servatius Brandt)
- Solution: Do expand the pattern when it does not start with "*".
- Files: runtime/doc/repeat.txt, src/ex_cmds2.c
- Patch 6.3.010
- Problem: When writing to a named pipe there is an error for fsync()
- failing.
- Solution: Ignore the fsync() error for devices.
- Files: src/fileio.c
- Patch 6.3.011
- Problem: Crash when the completion function of a user-command uses a
- "normal :cmd" command. (Hari Krishna Dara)
- Solution: Save the command line when invoking the completion function.
- Files: src/ex_getln.c
- Patch 6.3.012
- Problem: Internal lalloc(0) error when using a complicated multi-line
- pattern in a substitute command. (Luc Hermitte)
- Solution: Avoid going past the end of a line.
- Files: src/ex_cmds.c
- Patch 6.3.013
- Problem: Crash when editing a command line and typing CTRL-R = to evaluate
- a function that uses "normal :cmd". (Hari Krishna Dara)
- Solution: Save and restore the command line when evaluating an expression
- for CTRL-R =.
- Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
- src/proto/ops.pro
- Patch 6.3.014
- Problem: When using Chinese or Taiwanese the default for 'helplang' is
- wrong. (Simon Liang)
- Solution: Use the part of the locale name after "zh_".
- Files: src/option.c
- Patch 6.3.015
- Problem: The string that winrestcmd() returns may end in garbage.
- Solution: NUL-terminate the string. (Walter Briscoe)
- Files: src/eval.c
- Patch 6.3.016
- Problem: The default value for 'define' has "\s" before '#'.
- Solution: Add a star after "\s". (Herculano de Lima Einloft Neto)
- Files: src/option.c
- Patch 6.3.017
- Problem: "8zz" may leave the cursor beyond the end of the line. (Niko
- Maatjes)
- Solution: Correct the cursor column after moving to another line.
- Files: src/normal.c
- Patch 6.3.018
- Problem: ":0argadd zero" added the argument after the first one, instead of
- before it. (Adri Verhoef)
- Solution: Accept a zero range for ":argadd".
- Files: src/ex_cmds.h
- Patch 6.3.019
- Problem: Crash in startup for debug version. (David Rennals)
- Solution: Move the call to nbdebug_wait() to after allocating NameBuff.
- Files: src/main.c
- Patch 6.3.020
- Problem: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not
- delete a word but only a combining character of the first
- character, if there is one. (Raphael Finkel)
- Solution: Correctly check that one character is being deleted.
- Files: src/misc1.c
- Patch 6.3.021
- Problem: When the last character of a file name is a multibyte character
- and the last byte is a path separator, the file cannot be edited.
- Solution: Check for the last byte to be part of a multibyte character.
- (Taro Muraoka)
- Files: src/fileio.c
- Patch 6.3.022 (extra)
- Problem: Win32: When the last character of a file name is a multibyte
- character and the last byte is a path separator, the file cannot
- be written. A trail byte that is a space makes that a file cannot
- be opened from the command line.
- Solution: Recognize double-byte characters when parsing the command line.
- In mch_stat() check for the last byte to be part of a multibyte
- character. (Taro Muraoka)
- Files: src/gui_w48.c, src/os_mswin.c
- Patch 6.3.023
- Problem: When the "to" part of a mapping starts with its "from" part,
- abbreviations for the same characters is not possible. For
- example, when <Space> is mapped to something that starts with a
- space, typing <Space> does not expand abbreviations.
- Solution: Only disable expanding abbreviations when a mapping is not
- remapped, don't disable it when the RHS of a mapping starts with
- the LHS.
- Files: src/getchar.c, src/vim.h
- Patch 6.3.024
- Problem: In a few places a string in allocated memory is not terminated
- with a NUL.
- Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and
- serverGetVimNames().
- Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c
- Patch 6.3.025 (extra)
- Problem: Missing NUL for list of server names.
- Solution: Add ga_append(NUL) in serverGetVimNames().
- Files: src/os_mswin.c
- Patch 6.3.026
- Problem: When ~/.vim/after/syntax/syncolor.vim contains a command that
- reloads the colors an endless loop and/or a crash may occur.
- Solution: Only free the old value of an option when it was originally
- allocated. Limit recursiveness of init_highlight() to 5 levels.
- Files: src/option.c, src/syntax.c
- Patch 6.3.027
- Problem: VMS: Writing a file may insert extra CR characters. Not all
- terminals are recognized correctly. Vt320 doesn't support colors.
- Environment variables are not expanded correctly.
- Solution: Use another method to write files. Add vt320 termcap codes for
- colors. (Zoltan Arpadffy)
- Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h,
- src/term.c
- Patch 6.3.028
- Problem: When appending to a file the BOM marker may be written. (Alex
- Jakushev)
- Solution: Do not write the BOM marker when appending.
- Files: src/fileio.c
- Patch 6.3.029
- Problem: Crash when inserting a line break. (Walter Briscoe)
- Solution: In the syntax highlighting code, don't use an old state after a
- change was made, current_col may be past the end of the line.
- Files: src/syntax.c
- Patch 6.3.030
- Problem: GTK 2: Crash when sourcing a script that deletes the menus, sets
- 'encoding' to "utf-8" and loads the menus again. GTK error
- message when tooltip text is in a wrong encoding.
- Solution: Don't copy characters from the old screen to the new screen when
- switching 'encoding' to utf-8, they may be invalid. Only set the
- tooltip when it is valid utf-8.
- Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c
- Patch 6.3.031
- Problem: When entering a mapping and pressing Tab halfway the command line
- isn't redrawn properly. (Adri Verhoef)
- Solution: Reposition the cursor after drawing over the "..." of the
- completion attempt.
- Files: src/ex_getln.c
- Patch 6.3.032
- Problem: Using Python 2.3 with threads doesn't work properly.
- Solution: Release the lock after initialization.
- Files: src/if_python.c
- Patch 6.3.033
- Problem: When a mapping ends in a Normal mode command of more than one
- character Vim doesn't return to Insert mode.
- Solution: Check that the mapping has ended after obtaining all characters of
- the Normal mode command.
- Files: src/normal.c
- Patch 6.3.034
- Problem: VMS: crash when using ":help".
- Solution: Avoid using "tags-??", some Open VMS systems can't handle the "?"
- wildcard. (Zoltan Arpadffy)
- Files: src/tag.c
- Patch 6.3.035 (extra)
- Problem: RISC OS: Compile errors.
- Solution: Change e_screnmode to e_screenmode. Change the way
- __riscosify_control is set. Improve the makefile. (Andy Wingate)
- Files: src/os_riscos.c, src/search.c, src/Make_ro.mak
- Patch 6.3.036
- Problem: ml_get errors when the whole file is a fold, switching
- 'foldmethod' and doing "zj". (Christian J. Robinson) Was not
- deleting the fold but creating a fold with zero lines.
- Solution: Delete the fold properly.
- Files: src/fold.c
- Patch 6.3.037 (after 6.3.032)
- Problem: Warning for unused variable.
- Solution: Change the #ifdefs for the saved thread stuff.
- Files: src/if_python.c
- Patch 6.3.038 (extra)
- Problem: Win32: When the "file changed" dialog pops up after a click that
- gives gvim focus and not moving the mouse after that, the effect
- of the click may occur when moving the mouse later. (Ken Clark)
- Happened because the release event was missed.
- Solution: Clear the s_button_pending variable when any input is received.
- Files: src/gui_w48.c
- Patch 6.3.039
- Problem: When 'number' is set and inserting lines just above the first
- displayed line (in another window on the same buffer), the line
- numbers are not updated. (Hitier Sylvain)
- Solution: When 'number' is set and lines are inserted/deleted redraw all
- lines below the change.
- Files: src/screen.c
- Patch 6.3.040
- Problem: Error handling does not always work properly and may cause a
- buffer to be marked as if it's viewed in a window while it isn't.
- Also when selecting "Abort" at the attention prompt.
- Solution: Add enter_cleanup() and leave_cleanup() functions to move
- saving/restoring things for error handling to one place.
- Clear a buffer read error when it's unloaded.
- Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c,
- src/proto/ex_eval.pro, src/structs.h, src/vim.h
- Patch 6.3.041 (extra)
- Problem: Win32: When the path to a file has Russian characters, ":cd %:p:h"
- doesn't work. (Valery Kondakoff)
- Solution: Use a wide function to change directory.
- Files: src/os_mswin.c
- Patch 6.3.042
- Problem: When there is a closed fold at the top of the window, CTRL-X
- CTRL-E in Insert mode reduces the size of the fold instead of
- scrolling the text up. (Gautam)
- Solution: Scroll over the closed fold.
- Files: src/move.c
- Patch 6.3.043
- Problem: 'hlsearch' highlighting sometimes disappears when inserting text
- in PHP code with syntax highlighting. (Marcel Svitalsky)
- Solution: Don't use pointers to remember where a match was found, use an
- index. The pointers may become invalid when searching in other
- lines.
- Files: src/screen.c
- Patch 6.3.044 (extra)
- Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves
- pixels behind. (Richard Sandilands)
- Solution: Erase the character cell before drawing the text when needed.
- Files: src/gui_mac.c
- Patch 6.3.045
- Problem: Unusual characters in an option value may cause unexpected
- behavior, especially for a modeline. (Ciaran McCreesh)
- Solution: Don't allow setting termcap options or 'printdevice' in a
- modeline. Don't list options for "termcap" and "all" in a
- modeline. Don't allow unusual characters in 'filetype', 'syntax',
- 'backupext', 'keymap', 'patchmode' and 'langmenu'.
- Files: src/option.c, runtime/doc/options.txt
- Patch 6.3.046
- Problem: ":registers" doesn't show multibyte characters properly.
- (Valery Kondakoff)
- Solution: Get the length of each character before displaying it.
- Files: src/ops.c
- Patch 6.3.047 (extra)
- Problem: Win32 with Borland C 5.5 on Windows XP: A new file is created with
- read-only attributes. (Tony Mechelynck)
- Solution: Don't use the _wopen() function for Borland.
- Files: src/os_win32.c
- Patch 6.3.048 (extra)
- Problem: Build problems with VMS on IA64.
- Solution: Add dependencies to the build file. (Zoltan Arpadffy)
- Files: src/Make_vms.mms
- Patch 6.3.049 (after 6.3.045)
- Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy)
- Solution: Add a typecast.
- Files: src/option.c
- Patch 6.3.050
- Problem: When SIGHUP is received while busy exiting, non-reentrant
- functions such as free() may cause a crash.
- Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson)
- Files: src/misc1.c, src/main.c
- Patch 6.3.051
- Problem: When 'wildmenu' is set and completed file names contain multibyte
- characters Vim may crash.
- Solution: Reserve room for multibyte characters. (Yasuhiro Matsumoto)
- Files: src/screen.c
- Patch 6.3.052 (extra)
- Problem: Windows 98: typed keys that are not ASCII may not work properly.
- For example with a Russian input method. (Jiri Jezdinsky)
- Solution: Assume that the characters arrive in the current codepage instead
- of UCS-2. Perform conversion based on that.
- Files: src/gui_w48.c
- Patch 6.3.053
- Problem: Win32: ":loadview" cannot find a file with non-ASCII characters.
- (Valerie Kondakoff)
- Solution: Use mch_open() instead of open() to open the file.
- Files: src/ex_cmds2.c
- Patch 6.3.054
- Problem: When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus)
- Vim is actually still working but redraw is disabled.
- Solution: When stopping Insert mode with CTRL-L don't put an Esc in the redo
- buffer but a CTRL-L.
- Files: src/edit.c
- Patch 6.3.055 (after 6.3.013)
- Problem: Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>=
- when editing a command line. Using <C-\>e may crash Vim. (Peter
- Winters)
- Solution: When moving ccline out of the way for recursive use, make it
- available to the functions that need it. Also save and restore
- ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at
- the end of getcmdline().
- Files: src/ex_getln.c
- Patch 6.3.056
- Problem: The last characters of a multibyte file name may not be displayed
- in the window title.
- Solution: Avoid to remove a multibyte character where the last byte looks
- like a path separator character. (Yasuhiro Matsumoto)
- Files: src/buffer.c, src/ex_getln.c
- Patch 6.3.057
- Problem: When filtering lines folds are not updated. (Carl Osterwisch)
- Solution: Update folds for filtered lines.
- Files: src/ex_cmds.c
- Patch 6.3.058
- Problem: When 'foldcolumn' is equal to the window width and 'wrap' is on
- Vim may crash. Disabling the vertical split feature breaks
- compiling. (Peter Winters)
- Solution: Check for zero room for wrapped text. Make compiling without
- vertical splits possible.
- Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c
- Patch 6.3.059
- Problem: Crash when expanding an ":edit" command containing several spaces
- with the shell. (Brian Hirt)
- Solution: Allocate enough space for the quotes.
- Files: src/os_unix.c
- Patch 6.3.060
- Problem: Using CTRL-R CTRL-O in Insert mode with an invalid register name
- still causes something to be inserted.
- Solution: Check the register name for being valid.
- Files: src/edit.c
- Patch 6.3.061
- Problem: When editing a utf-8 file in an utf-8 xterm and there is a
- multibyte character in the last column, displaying is messed up.
- (Joël Rio)
- Solution: Check for a multibyte character, not a multi-column character.
- Files: src/screen.c
- Patch 6.3.062
- Problem: ":normal! gQ" hangs.
- Solution: Quit getcmdline() and do_exmode() when out of typeahead.
- Files: src/ex_getln.c, src/ex_docmd.c
- Patch 6.3.063
- Problem: When a CursorHold autocommand changes to another window
- (temporarily) 'mousefocus' stops working.
- Solution: Call gui_mouse_correct() after triggering CursorHold.
- Files: src/gui.c
- Patch 6.3.064
- Problem: line2byte(line("$") + 1) sometimes returns the wrong number.
- (Charles Campbell)
- Solution: Flush the cached line before counting the bytes.
- Files: src/memline.c
- Patch 6.3.065
- Problem: The euro digraph doesn't always work.
- Solution: Add an "e=" digraph for Unicode euro character and adjust the
- help files.
- Files: src/digraph.c, runtime/doc/digraph.txt
- Patch 6.3.066
- Problem: Backup file may get wrong permissions.
- Solution: Use permissions of original file for backup file in more places.
- Files: src/fileio.c
- Patch 6.3.067 (after 6.3.066)
- Problem: Newly created file gets execute permission.
- Solution: Check for "perm" to be negative before using it.
- Files: src/fileio.c
- Patch 6.3.068
- Problem: When editing a compressed file xxx.gz which is a symbolic link to
- the actual file a ":write" renames the link.
- Solution: Resolve the link, so that the actual file is renamed and
- compressed.
- Files: runtime/plugin/gzip.vim
- Patch 6.3.069
- Problem: When converting text with illegal characters Vim may crash.
- Solution: Avoid that too much is subtracted from the length. (Da Woon Jung)
- Files: src/mbyte.c
- Patch 6.3.070
- Problem: After ":set number linebreak wrap" and a vertical split, moving
- the vertical separator far left will crash Vim. (Georg Dahn)
- Solution: Avoid dividing by zero.
- Files: src/charset.c
- Patch 6.3.071
- Problem: The message for CTRL-X mode is still displayed after an error for
- 'thesaurus' or 'dictionary' being empty.
- Solution: Clear "edit_submode".
- Files: src/edit.c
- Patch 6.3.072
- Problem: Crash in giving substitute message when language is Chinese and
- encoding is utf-8. (Yongwei)
- Solution: Make the msg_buf size larger when using multibyte.
- Files: src/vim.h
- Patch 6.3.073
- Problem: Win32 GUI: When the Vim window is partly above or below the
- screen, scrolling causes display errors when the taskbar is not on
- that side.
- Solution: Use the SW_INVALIDATE flag when the Vim window is partly below or
- above the screen.
- Files: src/gui_w48.c
- Patch 6.3.074
- Problem: When mswin.vim is used and 'insertmode' is set, typing text in
- Select mode and then using CTRL-V results in <SNR>99_Pastegi.
- (Georg Dahn)
- Solution: When restart_edit is set use "d" instead of "c" to remove the
- selected text to avoid calling edit() twice.
- Files: src/normal.c
- Patch 6.3.075
- Problem: After unloading another buffer, syntax highlighting in the current
- buffer may be wrong when it uses "containedin". (Eric Arnold)
- Solution: Use "buf" instead of "curbuf" in syntax_clear().
- Files: src/syntax.c
- Patch 6.3.076
- Problem: Crash when using cscope and there is a parse error (e.g., line too
- long). (Alexey I. Froloff)
- Solution: Pass the actual number of matches to cs_manage_matches() and
- correctly handle the error situation.
- Files: src/if_cscope.c
- Patch 6.3.077 (extra)
- Problem: VMS: First character input after ESC was not recognized.
- Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy)
- Files: src/os_vms.c
- Patch 6.3.078 (extra, after 6.3.077)
- Problem: VMS: Performance issue after patch 6.3.077
- Solution: Add a timeout in the itemlist. (Zoltan Arpadffy)
- Files: src/os_vms.c
- Patch 6.3.079
- Problem: Crash when executing a command in the command line window while
- syntax highlighting is enabled. (Pero Brbora)
- Solution: Don't use a pointer to a buffer that has been deleted.
- Files: src/syntax.c
- Patch 6.3.080 (extra)
- Problem: Win32: With 'encoding' set to utf-8 while the current codepage is
- Chinese editing a file with some specific characters in the name
- fails.
- Solution: Use _wfullpath() instead of _fullpath() when necessary.
- Files: src/os_mswin.c
- Patch 6.3.081
- Problem: Unix: glob() may execute a shell command when it's not wanted.
- (Georgi Guninski)
- Solution: Verify the sandbox flag is not set.
- Files: src/os_unix.c
- Patch 6.3.082 (after 6.3.081)
- Problem: Unix: expand() may execute a shell command when it's not wanted.
- (Georgi Guninski)
- Solution: A more generic solution than 6.3.081.
- Files: src/os_unix.c
- Patch 6.3.083
- Problem: VMS: The vt320 termcap entry is incomplete.
- Solution: Add missing function keys. (Zoltan Arpadffy)
- Files: src/term.c
- Patch 6.3.084 (extra)
- Problem: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored.
- Failure when $(OUTDIR) already exists. "po" makefile is missing.
- Solution: Use changes tested in Vim 7. (Tony Mechelynck)
- Files: src/Make_cyg.mak, src/po/Make_cyg.mak
- Patch 6.3.085
- Problem: Crash in syntax highlighting code. (Marc Espie)
- Solution: Prevent current_col going past the end of the line.
- Files: src/syntax.c
- Patch 6.3.086 (extra)
- Problem: Can't produce message translation file with msgfmt that checks
- printf strings.
- Solution: Fix the Russian translation.
- Files: src/po/ru.po, src/po/ru.cp1251.po
- Patch 6.3.087
- Problem: MS-DOS: Crash. (Jason Hood)
- Solution: Don't call fname_case() with a NULL pointer.
- Files: src/ex_cmds.c
- Patch 6.3.088
- Problem: Editing ".in" causes error E218. (Stefan Karlsson)
- Solution: Require some characters before ".in". Same for ".orig" and others.
- Files: runtime/filetype.vim
- Patch 6.3.089
- Problem: A session file doesn't work when created while the current
- directory contains a space or the directory of the session files
- contains a space. (Paolo Giarrusso)
- Solution: Escape spaces with a backslash.
- Files: src/ex_docmd.c
- Patch 6.3.090
- Problem: A very big value for 'columns' or 'lines' may cause a crash.
- Solution: Limit the values to 10000 and 1000.
- Files: src/option.c
- Patch 6.4a.001
- Problem: The Unix Makefile contained too many dependencies and a few
- uncommented lines.
- Solution: Run "make depend" with manual changes to avoid a gcc
- incompatibility. Comment a few lines.
- Files: src/Makefile
- Patch 6.4b.001
- Problem: Vim reports "Vim 6.4a" in the ":version" output.
- Solution: Change "a" to "b". (Tony Mechelynck)
- Files: src/version.h
- Patch 6.4b.002
- Problem: In Insert mode, pasting a multibyte character after the end of
- the line leaves the cursor just before that character.
- Solution: Make sure "gP" leaves the cursor in the right place when
- 'virtualedit' is set.
- Files: src/ops.c
- Patch 6.4b.003 (after 6.4b.002)
- Problem: The problem still exists when 'encoding' is set to "cp936".
- Solution: Fix the problem in getvvcol(), compute the coladd field correctly.
- Files: src/charset.c, src/ops.c
- Patch 6.4b.004
- Problem: Selecting a {} block with "viB" includes the '}' when there is an
- empty line before it.
- Solution: Don't advance the cursor to include a line break when it's already
- at the line break.
- Files: src/search.c
- vim:tw=78:ts=8:noet:ft=help:norl:
|