12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313 |
- *version7.txt* For Vim version 9.0. Last change: 2021 May 17
- VIM REFERENCE MANUAL by Bram Moolenaar
- *vim7* *version-7.0* *version7.0*
- Welcome to Vim 7! A large number of features has been added. This file
- mentions all the new items, changes to existing features and bug fixes
- since Vim 6.x. Use this command to see the version you are using: >
- :version
- See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0.
- See |version4.txt| for differences between Vim 3.x and Vim 4.x.
- See |version5.txt| for differences between Vim 4.x and Vim 5.x.
- See |version6.txt| for differences between Vim 5.x and Vim 6.x.
- INCOMPATIBLE CHANGES |incompatible-7|
- NEW FEATURES |new-7|
- Vim script enhancements |new-vim-script|
- Spell checking |new-spell|
- Omni completion |new-omni-completion|
- MzScheme interface |new-MzScheme|
- Printing multibyte text |new-print-multibyte|
- Tab pages |new-tab-pages|
- Undo branches |new-undo-branches|
- Extended Unicode support |new-more-unicode|
- More highlighting |new-more-highlighting|
- Translated manual pages |new-manpage-trans|
- Internal grep |new-vimgrep|
- Scroll back in messages |new-scroll-back|
- Cursor past end of the line |new-onemore|
- POSIX compatibility |new-posix|
- Debugger support |new-debug-support|
- Remote file explorer |new-netrw-explore|
- Define an operator |new-define-operator|
- Mapping to an expression |new-map-expression|
- Visual and Select mode mappings |new-map-select|
- Location list |new-location-list|
- Various new items |new-items-7|
- IMPROVEMENTS |improvements-7|
- COMPILE TIME CHANGES |compile-changes-7|
- BUG FIXES |bug-fixes-7|
- VERSION 7.1 |version-7.1|
- Changed |changed-7.1|
- Added |added-7.1|
- Fixed |fixed-7.1|
- VERSION 7.2 |version-7.2|
- Changed |changed-7.2|
- Added |added-7.2|
- Fixed |fixed-7.2|
- VERSION 7.3 |version-7.3|
- Persistent undo |new-persistent-undo|
- More encryption |new-more-encryption|
- Conceal text |new-conceal|
- Lua interface |new-lua|
- Python3 interface |new-python3|
- Changed |changed-7.3|
- Added |added-7.3|
- Fixed |fixed-7.3|
- VERSION 7.4 |version-7.4|
- New regexp engine |new-regexp-engine|
- Better Python interface |better-python-interface|
- Changed |changed-7.4|
- Added |added-7.4|
- Fixed |fixed-7.4|
- ==============================================================================
- INCOMPATIBLE CHANGES *incompatible-7*
- These changes are incompatible with previous releases. Check this list if you
- run into a problem when upgrading from Vim 6.x to 7.0.
- A ":write file" command no longer resets the 'modified' flag of the buffer,
- unless the '+' flag is in 'cpoptions' |cpo-+|. This was illogical, since the
- buffer is still modified compared to the original file. And when undoing
- all changes the file would actually be marked modified. It does mean that
- ":quit" fails now.
- ":helpgrep" now uses a help window to display a match.
- In an argument list double quotes could be used to include spaces in a file
- name. This caused a difference between ":edit" and ":next" for escaping
- double quotes and it is incompatible with some versions of Vi.
- Command Vim 6.x file name Vim 7.x file name ~
- :edit foo\"888 foo"888 foo"888
- :next foo\"888 foo888 foo"888
- :next a\"b c\"d ab cd a"b and c"d
- In a |literal-string| a single quote can be doubled to get one.
- ":echo 'a''b'" would result in "a b", but now that two quotes stand for one it
- results in "a'b".
- When overwriting a file with ":w! fname" there was no warning for when "fname"
- was being edited by another Vim. Vim now gives an error message |E768|.
- The support for Mac OS 9 has been removed.
- Files ending in .tex now have 'filetype' set to "context", "plaintex", or
- "tex". |ft-tex-plugin|
- Minor incompatibilities:
- For filetype detection: For many types, use */.dir/filename instead of
- ~/.dir/filename, so that it also works for other user's files.
- For quite a few filetypes the indent settings have been moved from the
- filetype plugin to the indent plugin. If you used: >
- :filetype plugin on
- Then some indent settings may be missing. You need to use: >
- :filetype plugin indent on
- ":0verbose" now sets 'verbose' to zero instead of one.
- Removed the old and incomplete "VimBuddy" code.
- Buffers without a name report "No Name" instead of "No File". It was
- confusing for buffers with a name and 'buftype' set to "nofile".
- When ":file xxx" is used in a buffer without a name, the alternate file name
- isn't set. This avoids creating buffers without a name, they are not useful.
- The "2html.vim" script now converts closed folds to HTML. This means the HTML
- looks like it's displayed, with the same folds open and closed. Use "zR", or
- "let html_ignore_folding=1", if no folds should appear in the HTML. (partly by
- Carl Osterwisch)
- Diff mode is now also converted to HTML as it is displayed.
- Win32: The effect of the <F10> key depended on 'winaltkeys'. Now it depends
- on whether <F10> has been mapped or not. This allows mapping <F10> without
- changing 'winaltkeys'.
- When 'octal' is in 'nrformats' and using CTRL-A on "08" it became "018", which
- is illogical. Now it becomes "9". The leading zero(s) is(are) removed to
- avoid the number becoming octal after incrementing "009" to "010".
- When 'encoding' is set to a Unicode encoding, the value for 'fileencodings'
- now includes "default" before "latin1". This means that for files with 8-bit
- encodings the default is to use the encoding specified by the environment, if
- possible. Previously latin1 would always be used, which is wrong in a
- non-latin1 environment, such as Russian.
- Previously Vim would exit when there are two windows, both of them displaying
- a help file, and using ":quit". Now only the window is closed.
- "-w {scriptout}" only works when {scriptout} doesn't start with a digit.
- Otherwise it's used to set the 'window' option.
- Previously <Home> and <xHome> could be mapped separately. This had the
- disadvantage that all mappings (with modifiers) had to be duplicated, since
- you can't be sure what the keyboard generates. Now all <xHome> are internally
- translated to <Home>, both for the keys and for mappings. Also for <xEnd>,
- <xF1>, etc.
- ":put" now leaves the cursor on the last inserted line.
- When a .gvimrc file exists then 'compatible' is off, just like when a ".vimrc"
- file exists.
- When making a string upper-case with "vlllU" or similar then the German sharp
- s is replaced with "SS". This does not happen with "~" to avoid backwards
- compatibility problems and because "SS" can't be changed back to a sharp s.
- "gd" previously found the very first occurrence of a variable in a function,
- that could be the function argument without type. Now it finds the position
- where the type is given.
- The line continuation in functions was not taken into account, line numbers in
- errors were logical lines, not lines in the sourced file. That made it
- difficult to locate errors. Now the line number in the sourced file is
- reported, relative to the function start. This also means that line numbers
- for ":breakadd func" are different.
- When defining a user command with |:command| the special items could be
- abbreviated. This caused unexpected behavior, such as <li> being recognized
- as <line1>. The items can no longer be abbreviated.
- When executing a FileChangedRO autocommand it is no longer allowed to switch
- to another buffer or edit another file. This is to prevent crashes (the event
- is triggered deep down in the code where changing buffers is not anticipated).
- It is still possible to reload the buffer.
- At the |more-prompt| and the |hit-enter-prompt|, when the 'more' option is
- set, the 'k', 'u', 'g' and 'b' keys are now used to scroll back to previous
- messages. Thus they are no longer used as typeahead.
- ==============================================================================
- NEW FEATURES *new-7*
- Vim script enhancements *new-vim-script*
- -----------------------
- In Vim scripts the following types have been added:
- |List| ordered list of items
- |Dictionary| associative array of items
- |Funcref| reference to a function
- Many functions and commands have been added to support the new types.
- The |string()| function can be used to get a string representation of a
- variable. Works for Numbers, Strings and composites of them. Then |eval()|
- can be used to turn the string back into the variable value.
- The |:let| command can now use "+=", "-=" and ".=": >
- :let var += expr " works like :let var = var + expr
- :let var -= expr " works like :let var = var - expr
- :let var .= string " works like :let var = var . string
- With the |:profile| command you can find out where your function or script
- is wasting time.
- In the Python interface vim.eval() also handles Dictionaries and Lists.
- |python-eval| (G. Sumner Hayes)
- The |getscript| plugin was added as a convenient way to update scripts from
- www.vim.org automatically. (Charles Campbell)
- The |vimball| plugin was added as a convenient way to distribute a set of
- files for a plugin (plugin file, autoload script, documentation). (Charles
- Campbell)
- Spell checking *new-spell*
- --------------
- Spell checking has been integrated in Vim. There were a few implementations
- with scripts, but they were slow and/or required an external program.
- The 'spell' option is used to switch spell checking on or off
- The 'spelllang' option is used to specify the accepted language(s)
- The 'spellfile' option specifies where new words are added
- The 'spellsuggest' option specifies the methods used for making suggestions
- The |]s| and |[s| commands can be used to move to the next or previous error
- The |zg| and |zw| commands can be used to add good and wrong words
- The |z=| command can be used to list suggestions and correct the word
- The |:mkspell| command is used to generate a Vim spell file from word lists
- The "undercurl" highlighting attribute was added to nicely point out spelling
- mistakes in the GUI (based on patch from Marcin Dalecki).
- The "guisp" color can be used to give it a color different from foreground and
- background.
- The number of possible different highlight attributes was raised from about
- 220 to over 30000. This allows for the attributes of spelling to be combined
- with syntax highlighting attributes. This is also used for syntax
- highlighting and marking the Visual area.
- Much more info here: |spell|.
- Omni completion *new-omni-completion*
- ---------------
- This could also be called "intellisense", but that is a trademark. It is a
- smart kind of completion. The text in front of the cursor is inspected to
- figure out what could be following. This may suggest struct and class
- members, system functions, etc.
- Use CTRL-X CTRL-O in Insert mode to start the completion. |i_CTRL-X_CTRL-O|
- The 'omnifunc' option is set by filetype plugins to define the function that
- figures out the completion.
- Currently supported languages:
- C |ft-c-omni|
- (X)HTML with CSS |ft-html-omni|
- JavaScript |ft-javascript-omni|
- PHP |ft-php-omni|
- Python
- Ruby |ft-ruby-omni|
- SQL |ft-sql-omni|
- XML |ft-xml-omni|
- any language with syntax highlighting |ft-syntax-omni|
- You can add your own omni completion scripts.
- When the 'completeopt' option contains "menu" then matches for Insert mode
- completion are displayed in a (rather primitive) popup menu.
- MzScheme interface *new-MzScheme*
- ------------------
- The MzScheme interpreter is supported. |MzScheme|
- The |:mzscheme| command can be used to execute MzScheme commands
- The |:mzfile| command can be used to execute an MzScheme script file
- This depends on Vim being compiled with the |+mzscheme| feature.
- Printing multibyte text *new-print-multibyte*
- ------------------------
- The |:hardcopy| command now supports printing multibyte characters when using
- PostScript.
- The 'printmbcharset' and 'printmbfont' options are used for this.
- Also see |postscript-cjk-printing|. (Mike Williams)
- Tab pages *new-tab-pages*
- ---------
- A tab page is a page with one or more windows with a label (aka tab) at the top.
- By clicking on the label you can quickly switch between the tab pages. And
- with the keyboard, using the |gt| (Goto Tab) command. This is a convenient
- way to work with many windows.
- To start Vim with each file argument in a separate tab page use the |-p|
- argument. The maximum number of pages can be set with 'tabpagemax'.
- The line with tab labels is either made with plain text and highlighting or
- with a GUI mechanism. The GUI labels look better but are only available on a
- few systems. The line can be customized with 'tabline', 'guitablabel' and
- 'guitabtooltip'. Whether it is displayed is set with 'showtabline'. Whether
- to use the GUI labels is set with the "e" flag in 'guioptions'.
- The |:tab| command modifier can be used to have most commands that open a new
- window open a new tab page instead.
- The |--remote-tab| argument can be used to edit a file in a new tab page in an
- already running Vim server.
- Variables starting with "t:" are local to a tab page.
- More info here: |tabpage|
- Most of the GUI stuff was implemented by Yegappan Lakshmanan.
- Undo branches *new-undo-branches*
- -------------
- Previously there was only one line of undo-redo. If, after undoing a number
- of changes, a new change was made all the undone changes were lost. This
- could lead to accidentally losing work.
- Vim now makes an undo branch in this situation. Thus you can go back to the
- text after any change, even if they were undone. So long as you do not run
- into 'undolevels', when undo information is freed up to limit the memory used.
- To be able to navigate the undo branches each change is numbered sequentially.
- The commands |g-| and |:earlier| go back in time, to older changes. The
- commands |g+| and |:later| go forward in time, to newer changes.
- The changes are also timestamped. Use ":earlier 10m" to go to the text as it
- was about ten minutes earlier.
- The |:undolist| command can be used to get an idea of which undo branches
- exist. The |:undo| command now takes an argument to directly jump to a
- specific position in this list. The |changenr()| function can be used to
- obtain the change number.
- There is no graphical display of the tree with changes, navigation can be
- quite confusing.
- Extended Unicode support *new-more-unicode*
- ------------------------
- Previously only two combining characters were displayed. The limit is now
- raised to 6. This can be set with the 'maxcombine' option. The default is
- still 2.
- |ga| now shows all combining characters, not just the first two.
- Previously only 16 bit Unicode characters were supported for displaying. Now
- the full 32 bit character set can be used. Unless manually disabled at
- compile time to save a bit of memory.
- For pattern matching it is now possible to search for individual composing
- characters. |patterns-composing|
- The |8g8| command searches for an illegal UTF-8 byte sequence.
- More highlighting *new-more-highlighting*
- -----------------
- Highlighting matching parens:
- When moving the cursor through the text and it is on a paren, then the
- matching paren can be highlighted. This uses the new |CursorMoved|
- autocommand event.
- This means some commands are executed every time you move the cursor. If this
- slows you down too much switch it off with: >
- :NoMatchParen
- See |matchparen| for more information.
- The plugin uses the |:match| command. It now supports three match patterns.
- The plugin uses the third one. The first one is for the user and the second
- one can be used by another plugin.
- Highlighting the cursor line and column:
- The 'cursorline' and 'cursorcolumn' options have been added. These highlight
- the screen line and screen column of the cursor. This makes the cursor
- position easier to spot. 'cursorcolumn' is also useful to align text. This
- may make screen updating quite slow. The CursorColumn and CursorLine
- highlight groups allow changing the colors used. |hl-CursorColumn|
- |hl-CursorLine|
- The number of possible different highlight attributes was raised from about
- 220 to over 30000. This allows for the attributes of spelling to be combined
- with syntax highlighting attributes. This is also used for syntax
- highlighting, marking the Visual area, CursorColumn, etc.
- Translated manual pages *new-manpage-trans*
- -----------------------
- The manual page of Vim and associated programs is now also available in
- several other languages.
- French - translated by David Blanchet
- Italian - translated by Antonio Colombo
- Russian - translated by Vassily Ragosin
- Polish - translated by Mikolaj Machowski
- The Unix Makefile installs the Italian manual pages in .../man/it/man1/,
- .../man/it.ISO8859-1/man1/ and .../man/it.UTF-8/man1/. There appears to be no
- standard for what encoding goes in the "it" directory, the 8-bit encoded file
- is used there as a best guess.
- Other languages are installed in similar places.
- The translated pages are not automatically installed when Vim was configured
- with "--disable-nls", but "make install-languages install-tool-languages" will
- do it anyway.
- Internal grep *new-vimgrep*
- -------------
- The ":vimgrep" command can be used to search for a pattern in a list of files.
- This is like the ":grep" command, but no external program is used. Besides
- better portability, handling of different file encodings and using multi-line
- patterns, this also allows grepping in compressed and remote files.
- |:vimgrep|.
- If you want to use the search results in a script you can use the
- |getqflist()| function.
- To grep files in various directories the "**" pattern can be used. It expands
- into an arbitrary depth of directories. "**" can be used in all places where
- file names are expanded, thus also with |:next| and |:args|.
- Scroll back in messages *new-scroll-back*
- -----------------------
- When displaying messages, at the |more-prompt| and the |hit-enter-prompt|, The
- 'k', 'u', 'g' and 'b' keys can be used to scroll back to previous messages.
- This is especially useful for commands such as ":syntax", ":autocommand" and
- ":highlight". This is implemented in a generic way thus it works for all
- commands and highlighting is kept. Only works when the 'more' option is set.
- Previously it only partly worked for ":clist".
- The |g<| command can be used to see the last page of messages after you have
- hit <Enter> at the |hit-enter-prompt|. Then you can scroll further back.
- Cursor past end of the line *new-onemore*
- ---------------------------
- When the 'virtualedit' option contains "onemore" the cursor can move just past
- the end of the line. As if it's on top of the line break.
- This makes some commands more consistent. Previously the cursor was always
- past the end of the line if the line was empty. But it is far from Vi
- compatible. It may also break some plugins or Vim scripts. Use with care!
- The patch was provided by Mattias Flodin.
- POSIX compatibility *new-posix*
- -------------------
- The POSIX test suite was used to verify POSIX compatibility. A number of
- problems have been fixed to make Vim more POSIX compatible. Some of them
- conflict with traditional Vi or expected behavior. The $VIM_POSIX environment
- variable can be set to get POSIX compatibility. See |posix|.
- Items that were fixed for both Vi and POSIX compatibility:
- - repeating "R" with a count only overwrites text once; added the 'X' flag to
- 'cpoptions' |cpo-X|
- - a vertical movement command that moves to a non-existing line fails; added
- the '-' flag to 'cpoptions' |cpo--|
- - when preserving a file and doing ":q!" the file can be recovered; added the
- '&' flag to 'cpoptions' |cpo-&|
- - The 'window' option is partly implemented. It specifies how much CTRL-F and
- CTRL-B scroll when there is one window. The "-w {number}" argument is now
- accepted. "-w {scriptout}" only works when {scriptout} doesn't start with a
- digit.
- - Allow "-c{command}" argument, no space between "-c" and {command}.
- - When writing a file with ":w!" don't reset 'readonly' when 'Z' is present in
- 'cpoptions'.
- - Allow 'l' and '#' flags for ":list", ":print" and ":number".
- - Added the '.' flag to 'cpoptions': ":cd" fails when the buffer is modified.
- - In Ex mode with an empty buffer ":read file" doesn't keep an empty line
- above or below the new lines.
- - Remove a backslash before a NL for the ":global" command.
- - When ":append", ":insert" or ":change" is used with ":global", get the
- inserted lines from the command. Can use backslash-NL to separate lines.
- - Can use ":global /pat/ visual" to execute Normal mode commands at each
- matched line. Use "Q" to continue and go to the next line.
- - The |:open| command has been partially implemented. It stops Ex mode, but
- redraws the whole screen, not just one line as open mode is supposed to do.
- - Support using a pipe to read the output from and write input to an external
- command. Added the 'shelltemp' option and has("filterpipe").
- - In ex silent mode the ":set" command output is displayed.
- - The ":@@" and ":**" give an error message when no register was used before.
- - The search pattern "[]-`]" matches ']', '^', '_' and '`'.
- - Autoindent for ":insert" is using the line below the insert.
- - Autoindent for ":change" is using the first changed line.
- - Editing Ex command lines is not done in cooked mode, because CTRL-D and
- CTRL-T cannot be handled then.
- - In Ex mode, "1,3" prints three lines. "%" prints all lines.
- - In Ex mode "undo" would undo all changes since Ex mode was started.
- - Implemented the 'prompt' option.
- Debugger support *new-debug-support*
- ----------------
- The 'balloonexpr' option has been added. This is a generic way to implement
- balloon functionality. You can use it to show info for the word under the
- mouse pointer.
- Remote file explorer *new-netrw-explore*
- --------------------
- The netrw plugin now also supports viewing a directory, when "scp://" is used.
- Deleting and renaming files is possible.
- To avoid duplicating a lot of code, the previous file explorer plugin has been
- integrated in the netrw plugin. This means browsing local and remote files
- works the same way.
- ":browse edit" and ":browse split" use the netrw plugin when it's available
- and a GUI dialog is not possible.
- The netrw plugin is maintained by Charles Campbell.
- Define an operator *new-define-operator*
- ------------------
- Previously it was not possible to define your own operator; a command that is
- followed by a {motion}. Vim 7 introduces the 'operatorfunc' option and the
- |g@| operator. This makes it possible to define a mapping that works like an
- operator. The actual work is then done by a function, which is invoked
- through the |g@| operator.
- See |:map-operator| for the explanation and an example.
- Mapping to an expression *new-map-expression*
- ------------------------
- The {rhs} argument of a mapping can be an expression. That means the
- resulting characters can depend on the context. Example: >
- :inoremap <expr> . InsertDot()
- Here the dot will be mapped to whatever InsertDot() returns.
- This also works for abbreviations. See |:map-<expr>| for the details.
- Visual and Select mode mappings *new-map-select*
- -------------------------------
- Previously Visual mode mappings applied both to Visual and Select mode. With
- a trick to have the mappings work in Select mode like they would in Visual
- mode.
- Commands have been added to define mappings for Visual and Select mode
- separately: |:xmap| and |:smap|. With the associated "noremap" and "unmap"
- commands.
- The same is done for menus: |:xmenu|, |:smenu|, etc.
- Location list *new-location-list*
- -------------
- The support for a per-window quickfix list (location list) is added. The
- location list can be displayed in a location window (similar to the quickfix
- window). You can open more than one location list window. A set of commands
- similar to the quickfix commands are added to browse the location list.
- (Yegappan Lakshmanan)
- Various new items *new-items-7*
- -----------------
- Normal mode commands: ~
- a", a' and a` New text objects to select quoted strings. |a'|
- i", i' and i` (Taro Muraoka)
- CTRL-W <Enter> In the quickfix window: opens a new window to show the
- location of the error under the cursor.
- |at| and |it| text objects select a block of text between HTML or XML tags.
- <A-LeftMouse> ('mousemodel' "popup" or "popup-setpos")
- <A-RightMouse> ('mousemodel' "extend")
- Make a blockwise selection. |<A-LeftMouse>|
- gF Start editing the filename under the cursor and jump
- to the line number following the file name.
- (Yegappan Lakshmanan)
- CTRL-W F Start editing the filename under the cursor in a new
- window and jump to the line number following the file
- name. (Yegappan Lakshmanan)
- Insert mode commands: ~
- CTRL-\ CTRL-O Execute a Normal mode command. Like CTRL-O but
- without moving the cursor. |i_CTRL-\_CTRL-O|
- Options: ~
- 'balloonexpr' expression for text to show in evaluation balloon
- 'completefunc' The name of the function used for user-specified
- Insert mode completion. CTRL-X CTRL-U can be used in
- Insert mode to do any kind of completion. (Taro
- Muraoka)
- 'completeopt' Enable popup menu and other settings for Insert mode
- completion.
- 'cursorcolumn' highlight column of the cursor
- 'cursorline' highlight line of the cursor
- 'formatexpr' expression for formatting text with |gq| and when text
- goes over 'textwidth' in Insert mode.
- 'formatlistpat' pattern to recognize a numbered list for formatting.
- (idea by Hugo Haas)
- 'fsync' Whether fsync() is called after writing a file.
- (Ciaran McCreesh)
- 'guitablabel' expression for text to display in GUI tab page label
- 'guitabtooltip' expression for text to display in GUI tab page tooltip
- 'macatsui' Mac: use ATSUI text display functions
- 'maxcombine' maximum number of combining characters displayed
- 'maxmempattern' maximum amount of memory to use for pattern matching
- 'mkspellmem' parameters for |:mkspell| memory use
- 'mzquantum' Time in msec to schedule MzScheme threads.
- 'numberwidth' Minimal width of the space used for the 'number' and
- 'relativenumber' option. (Emmanuel Renieris)
- 'omnifunc' The name of the function used for omni completion.
- 'operatorfunc' function to be called for |g@| operator
- 'printmbcharset' CJK character set to be used for :hardcopy
- 'printmbfont' font names to be used for CJK output of :hardcopy
- 'pumheight' maximum number of items to show in the popup menu
- 'quoteescape' Characters used to escape quotes inside a string.
- Used for the a", a' and a` text objects. |a'|
- 'shelltemp' whether to use a temp file or pipes for shell commands
- 'showtabline' whether to show the tab pages line
- 'spell' switch spell checking on/off
- 'spellcapcheck' pattern to locate the end of a sentence
- 'spellfile' file where good and wrong words are added
- 'spelllang' languages to check spelling for
- 'spellsuggest' methods for spell suggestions
- 'synmaxcol' maximum column to look for syntax items; avoids very
- slow redrawing when there are very long lines
- 'tabline' expression for text to display in the tab pages line
- 'tabpagemax' maximum number of tab pages to open for |-p|
- 'verbosefile' Log messages in a file.
- 'wildoptions' "tagfile" value enables listing the file name of
- matching tags for CTRL-D command line completion.
- (based on an idea from Yegappan Lakshmanan)
- 'winfixwidth' window with fixed width, similar to 'winfixheight'
- Ex commands: ~
- Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
- |:startreplace| Start Replace mode. (Charles Campbell)
- |:startgreplace| Start Virtual Replace mode.
- |:0file| Removes the name of the buffer. (Charles Campbell)
- |:diffoff| Switch off diff mode in the current window or in all
- windows.
- |:delmarks| Delete marks.
- |:exusage| Help for Ex commands (Nvi command).
- |:viusage| Help for Vi commands (Nvi command).
- |:sort| Sort lines in the buffer without depending on an
- external command. (partly by Bryce Wagner)
- |:vimgrep| Internal grep command, search for a pattern in files.
- |:vimgrepadd| Like |:vimgrep| but don't make a new list.
- |:caddfile| Add error messages to an existing quickfix list
- (Yegappan Lakshmanan).
- |:cbuffer| Read error lines from a buffer. (partly by Yegappan
- Lakshmanan)
- |:cgetbuffer| Create a quickfix list from a buffer but don't jump to
- the first error.
- |:caddbuffer| Add errors from the current buffer to the quickfix
- list.
- |:cexpr| Read error messages from a Vim expression (Yegappan
- Lakshmanan).
- |:caddexpr| Add error messages from a Vim expression to an
- existing quickfix list. (Yegappan Lakshmanan).
- |:cgetexpr| Create a quickfix list from a Vim expression, but
- don't jump to the first error. (Yegappan Lakshmanan).
- |:lfile| Like |:cfile| but use the location list.
- |:lgetfile| Like |:cgetfile| but use the location list.
- |:laddfile| Like |:caddfile| but use the location list.
- |:lbuffer| Like |:cbuffer| but use the location list.
- |:lgetbuffer| Like |:cgetbuffer| but use the location list.
- |:laddbuffer| Like |:caddbuffer| but use the location list.
- |:lexpr| Like |:cexpr| but use the location list.
- |:lgetexpr| Like |:cgetexpr| but use the location list.
- |:laddexpr| Like |:caddexpr| but use the location list.
- |:ll| Like |:cc| but use the location list.
- |:llist| Like |:clist| but use the location list.
- |:lnext| Like |:cnext| but use the location list.
- |:lprevious| Like |:cprevious| but use the location list.
- |:lNext| Like |:cNext| but use the location list.
- |:lfirst| Like |:cfirst| but use the location list.
- |:lrewind| Like |:crewind| but use the location list.
- |:llast| Like |:clast| but use the location list.
- |:lnfile| Like |:cnfile| but use the location list.
- |:lpfile| Like |:cpfile| but use the location list.
- |:lNfile| Like |:cNfile| but use the location list.
- |:lolder| Like |:colder| but use the location list.
- |:lnewer| Like |:cnewer| but use the location list.
- |:lwindow| Like |:cwindow| but use the location list.
- |:lopen| Like |:copen| but use the location list.
- |:lclose| Like |:cclose| but use the location list.
- |:lmake| Like |:make| but use the location list.
- |:lgrep| Like |:grep| but use the location list.
- |:lgrepadd| Like |:grepadd| but use the location list.
- |:lvimgrep| Like |:vimgrep| but use the location list.
- |:lvimgrepadd| Like |:vimgrepadd| but use the location list.
- |:lhelpgrep| Like |:helpgrep| but use the location list.
- |:lcscope| Like |:cscope| but use the location list.
- |:ltag| Jump to a tag and add matching tags to a location list.
- |:undojoin| Join a change with the previous undo block.
- |:undolist| List the leafs of the undo tree.
- |:earlier| Go back in time for changes in the text.
- |:later| Go forward in time for changes in the text.
- |:for| Loop over a |List|.
- |:endfor|
- |:lockvar| Lock a variable, prevents it from being changed.
- |:unlockvar| Unlock a locked variable.
- |:mkspell| Create a Vim spell file.
- |:spellgood| Add a word to the list of good words.
- |:spellwrong| Add a word to the list of bad words
- |:spelldump| Dump list of good words.
- |:spellinfo| Show information about the spell files used.
- |:spellrepall| Repeat a spelling correction for the whole buffer.
- |:spellundo| Remove a word from list of good and bad words.
- |:mzscheme| Execute MzScheme commands.
- |:mzfile| Execute an MzScheme script file.
- |:nbkey| Pass a key to NetBeans for processing.
- |:profile| Commands for Vim script profiling.
- |:profdel| Stop profiling for specified items.
- |:smap| Select mode mapping.
- |:smapclear|
- |:snoremap|
- |:sunmap|
- |:xmap| Visual mode mapping, not used for Select mode.
- |:xmapclear|
- |:xnoremap|
- |:xunmap|
- |:smenu| Select mode menu.
- |:snoremenu|
- |:sunmenu|
- |:xmenu| Visual mode menu, not used for Select mode.
- |:xnoremenu|
- |:xunmenu|
- |:tabclose| Close the current tab page.
- |:tabdo| Perform a command in every tab page.
- |:tabedit| Edit a file in a new tab page.
- |:tabnew| Open a new tab page.
- |:tabfind| Search for a file and open it in a new tab page.
- |:tabnext| Go to the next tab page.
- |:tabprevious| Go to the previous tab page.
- |:tabNext| Go to the previous tab page.
- |:tabfirst| Go to the first tab page.
- |:tabrewind| Go to the first tab page.
- |:tablast| Go to the last tab page.
- |:tabmove| Move the current tab page elsewhere.
- |:tabonly| Close all other tab pages.
- |:tabs| List the tab pages and the windows they contain.
- Ex command modifiers: ~
- |:keepalt| Do not change the alternate file.
- |:noautocmd| Do not trigger autocommand events.
- |:sandbox| Execute a command in the sandbox.
- |:tab| When opening a new window create a new tab page.
- Ex command arguments: ~
- |++bad| Specify what happens with characters that can't be
- converted and illegal bytes. (code example by Yasuhiro
- Matsumoto)
- Also, when a conversion error occurs or illegal bytes
- are found include the line number in the error
- message.
- New and extended functions: ~
- |add()| append an item to a List
- |append()| append List of lines to the buffer
- |argv()| without an argument return the whole argument list
- |browsedir()| dialog to select a directory
- |bufnr()| takes an extra argument: create buffer
- |byteidx()| index of a character (Ilya Sher)
- |call()| call a function with List as arguments
- |changenr()| number of current change
- |complete()| set matches for Insert mode completion
- |complete_add()| add match for 'completefunc'
- |complete_check()| check for key pressed, for 'completefunc'
- |copy()| make a shallow copy of a List or Dictionary
- |count()| count nr of times a value is in a List or Dictionary
- |cursor()| also accepts an offset for 'virtualedit', and
- the first argument can be a list: [lnum, col, off]
- |deepcopy()| make a full copy of a List or Dictionary
- |diff_filler()| returns number of filler lines above line {lnum}.
- |diff_hlID()| returns the highlight ID for diff mode
- |empty()| check if List or Dictionary is empty
- |eval()| evaluate {string} and return the result
- |extend()| append one List to another or add items from one
- Dictionary to another
- |feedkeys()| put characters in the typeahead buffer
- |filter()| remove selected items from a List or Dictionary
- |finddir()| find a directory in 'path'
- |findfile()| find a file in 'path' (Johannes Zellner)
- |foldtextresult()| the text displayed for a closed fold at line "lnum"
- |function()| make a Funcref out of a function name
- |garbagecollect()| cleanup unused |Lists| and |Dictionaries| with circular
- references
- |get()| get an item from a List or Dictionary
- |getbufline()| get a list of lines from a specified buffer
- (Yegappan Lakshmanan)
- |getcmdtype()| return the current command-line type
- (Yegappan Lakshmanan)
- |getfontname()| get actual font name being used
- |getfperm()| get file permission string (Nikolai Weibull)
- |getftype()| get type of file (Nikolai Weibull)
- |getline()| with second argument: get List with buffer lines
- |getloclist()| list of location list items (Yegappan Lakshmanan)
- |getpos()| return a list with the position of cursor, mark, etc.
- |getqflist()| list of quickfix errors (Yegappan Lakshmanan)
- |getreg()| get contents of a register
- |gettabwinvar()| get variable from window in specified tab page.
- |has_key()| check whether a key appears in a Dictionary
- |haslocaldir()| check if current window used |:lcd|
- |hasmapto()| check for a mapping to a string
- |index()| index of item in List
- |inputlist()| prompt the user to make a selection from a list
- |insert()| insert an item somewhere in a List
- |islocked()| check if a variable is locked
- |items()| get List of Dictionary key-value pairs
- |join()| join List items into a String
- |keys()| get List of Dictionary keys
- |len()| number of items in a List or Dictionary
- |map()| change each List or Dictionary item
- |maparg()| extra argument: use abbreviation
- |mapcheck()| extra argument: use abbreviation
- |match()| extra argument: count
- |matcharg()| return arguments of |:match| command
- |matchend()| extra argument: count
- |matchlist()| list with match and submatches of a pattern in a string
- |matchstr()| extra argument: count
- |max()| maximum value in a List or Dictionary
- |min()| minimum value in a List or Dictionary
- |mkdir()| create a directory
- |pathshorten()| reduce directory names to a single character
- |printf()| format text
- |pumvisible()| check whether the popup menu is displayed
- |range()| generate a List with numbers
- |readfile()| read a file into a list of lines
- |reltime()| get time value, possibly relative
- |reltimestr()| turn a time value into a string
- |remove()| remove one or more items from a List or Dictionary
- |repeat()| repeat "expr" "count" times (Christophe Poucet)
- |reverse()| reverse the order of a List
- |search()| extra argument:
- |searchdecl()| search for declaration of variable
- |searchpair()| extra argument: line to stop searching
- |searchpairpos()| return a List with the position of the match
- |searchpos()| return a List with the position of the match
- |setloclist()| modify a location list (Yegappan Lakshmanan)
- |setpos()| set cursor or mark to a position
- |setqflist()| modify a quickfix list (Yegappan Lakshmanan)
- |settabwinvar()| set variable in window of specified tab page
- |sort()| sort a List
- |soundfold()| get the sound-a-like equivalent of a word
- |spellbadword()| get a badly spelled word
- |spellsuggest()| get suggestions for correct spelling
- |split()| split a String into a List
- |str2nr()| convert a string to a number, base 2, 8, 10 or 16
- |stridx()| extra argument: start position
- |strridx()| extra argument: start position
- |string()| string representation of a List or Dictionary
- |system()| extra argument: filters {input} through a shell command
- |tabpagebuflist()| List of buffers in a tab page
- |tabpagenr()| number of current or last tab page
- |tabpagewinnr()| window number in a tab page
- |tagfiles()| List with tags file names
- |taglist()| get list of matching tags (Yegappan Lakshmanan)
- |tr()| translate characters (Ron Aaron)
- |uniq()| remove copies of repeated adjacent list items
- |values()| get List of Dictionary values
- |winnr()| takes an argument: what window to use
- |winrestview()| restore the view of the current window
- |winsaveview()| save the view of the current window
- |writefile()| write a list of lines into a file
- User defined functions can now be loaded automatically from the "autoload"
- directory in 'runtimepath'. See |autoload-functions|.
- New Vim variables: ~
- |v:insertmode| used for |InsertEnter| and |InsertChange| autocommands
- |v:val| item value in a |map()| or |filter()| function
- |v:key| item key in a |map()| or |filter()| function
- |v:profiling| non-zero after a ":profile start" command
- |v:fcs_reason| the reason why |FileChangedShell| was triggered
- |v:fcs_choice| what should happen after |FileChangedShell|
- |v:beval_bufnr| buffer number for 'balloonexpr'
- |v:beval_winnr| window number for 'balloonexpr'
- |v:beval_lnum| line number for 'balloonexpr'
- |v:beval_col| column number for 'balloonexpr'
- |v:beval_text| text under the mouse pointer for 'balloonexpr'
- |v:scrollstart| what caused the screen to be scrolled up
- |v:swapname| name of the swap file for the |SwapExists| event
- |v:swapchoice| what to do for an existing swap file
- |v:swapcommand| command to be executed after handling |SwapExists|
- |v:char| argument for evaluating 'formatexpr'
- New autocommand events: ~
- |ColorScheme| after loading a color scheme
- |CursorHoldI| the user doesn't press a key for a while in Insert mode
- |CursorMoved| the cursor was moved in Normal mode
- |CursorMovedI| the cursor was moved in Insert mode
- |FileChangedShellPost| after handling a file changed outside of Vim
- |InsertEnter| starting Insert or Replace mode
- |InsertChange| going from Insert to Replace mode or back
- |InsertLeave| leaving Insert or Replace mode
- |MenuPopup| just before showing popup menu
- |QuickFixCmdPre| before :make, :grep et al. (Ciaran McCreesh)
- |QuickFixCmdPost| after :make, :grep et al. (Ciaran McCreesh)
- |SessionLoadPost| after loading a session file. (Yegappan Lakshmanan)
- |ShellCmdPost| after executing a shell command
- |ShellFilterPost| after filtering with a shell command
- |SourcePre| before sourcing a Vim script
- |SpellFileMissing| when a spell file can't be found
- |SwapExists| found existing swap file when editing a file
- |TabEnter| just after entering a tab page
- |TabLeave| just before leaving a tab page
- |VimResized| after the Vim window size changed (Yakov Lerner)
- New highlight groups: ~
- Pmenu Popup menu: normal item |hl-Pmenu|
- PmenuSel Popup menu: selected item |hl-PmenuSel|
- PmenuThumb Popup menu: scrollbar |hl-PmenuThumb|
- PmenuSbar Popup menu: Thumb of the scrollbar |hl-PmenuSbar|
- TabLine tab pages line, inactive label |hl-TabLine|
- TabLineSel tab pages line, selected label |hl-TabLineSel|
- TabLineFill tab pages line, filler |hl-TabLineFill|
- SpellBad badly spelled word |hl-SpellBad|
- SpellCap word with wrong caps |hl-SpellCap|
- SpellRare rare word |hl-SpellRare|
- SpellLocal word only exists in other region |hl-SpellLocal|
- CursorColumn 'cursorcolumn' |hl-CursorColumn|
- CursorLine 'cursorline' |hl-CursorLine|
- MatchParen matching parens |pi_paren.txt| |hl-MatchParen|
- New items in search patterns: ~
- |/\%d| \%d123 search for character with decimal number
- |/\]| [\d123] idem, in a collection
- |/\%o| \%o103 search for character with octal number
- |/\]| [\o1o3] idem, in a collection
- |/\%x| \%x1a search for character with 2 pos. hex number
- |/\]| [\x1a] idem, in a collection
- |/\%u| \%u12ab search for character with 4 pos. hex number
- |/\]| [\u12ab] idem, in a collection
- |/\%U| \%U1234abcd search for character with 8 pos. hex number
- |/\]| [\U1234abcd] idem, in a collection
- (The above partly by Ciaran McCreesh)
- |/[[=| [[=a=]] an equivalence class (only for latin1 characters)
- |/[[.| [[.a.]] a collation element (only works with single char)
- |/\%'m| \%'m match at mark m
- |/\%<'m| \%<'m match before mark m
- |/\%>'m| \%>'m match after mark m
- |/\%V| \%V match in Visual area
- Nesting |/multi| items no longer is an error when an empty match is possible.
- It is now possible to use \{0}, it matches the preceding atom zero times. Not
- useful, just for compatibility.
- New Syntax/Indent/FTplugin files: ~
- Moved all the indent settings from the filetype plugin to the indent file.
- Implemented b:undo_indent to undo indent settings when setting 'filetype' to a
- different value.
- a2ps syntax and ftplugin file. (Nikolai Weibull)
- ABAB/4 syntax file. (Marius van Wyk)
- alsaconf ftplugin file. (Nikolai Weibull)
- AppendMatchGroup ftplugin file. (Dave Silvia)
- arch ftplugin file. (Nikolai Weibull)
- asterisk and asteriskvm syntax file. (Tilghman Lesher)
- BDF ftplugin file. (Nikolai Weibull)
- BibTeX indent file. (Dorai Sitaram)
- BibTeX Bibliography Style syntax file. (Tim Pope)
- BTM ftplugin file. (Bram Moolenaar)
- calendar ftplugin file. (Nikolai Weibull)
- Changelog indent file. (Nikolai Weibull)
- ChordPro syntax file. (Niels Bo Andersen)
- Cmake indent and syntax file. (Andy Cedilnik)
- conf ftplugin file. (Nikolai Weibull)
- context syntax and ftplugin file. (Nikolai Weibull)
- CRM114 ftplugin file. (Nikolai Weibull)
- cvs RC ftplugin file. (Nikolai Weibull)
- D indent file. (Jason Mills)
- Debian Sources.list syntax file. (Matthijs Mohlmann)
- dictconf and dictdconf syntax, indent and ftplugin files. (Nikolai Weibull)
- diff ftplugin file. (Bram Moolenaar)
- dircolors ftplugin file. (Nikolai Weibull)
- django and htmldjango syntax file. (Dave Hodder)
- doxygen syntax file. (Michael Geddes)
- elinks ftplugin file. (Nikolai Weibull)
- eterm ftplugin file. (Nikolai Weibull)
- eviews syntax file. (Vaidotas Zemlys)
- fetchmail RC ftplugin file. (Nikolai Weibull)
- FlexWiki syntax and ftplugin file. (George Reilly)
- Generic indent file. (Dave Silvia)
- gpg ftplugin file. (Nikolai Weibull)
- gretl syntax file. (Vaidotas Zemlys)
- groovy syntax file. (Alessio Pace)
- group syntax and ftplugin file. (Nikolai Weibull)
- grub ftplugin file. (Nikolai Weibull)
- Haskell ftplugin file. (Nikolai Weibull)
- help ftplugin file. (Nikolai Weibull)
- indent ftplugin file. (Nikolai Weibull)
- Javascript ftplugin file. (Bram Moolenaar)
- Kconfig ftplugin and syntax file. (Nikolai Weibull)
- ld syntax, indent and ftplugin file. (Nikolai Weibull)
- lftp ftplugin file. (Nikolai Weibull)
- libao config ftplugin file. (Nikolai Weibull)
- limits syntax and ftplugin file. (Nikolai Weibull)
- Lisp indent file. (Sergey Khorev)
- loginaccess and logindefs syntax and ftplugin file. (Nikolai Weibull)
- m4 ftplugin file. (Nikolai Weibull)
- mailaliases syntax file. (Nikolai Weibull)
- mailcap ftplugin file. (Nikolai Weibull)
- manconf syntax and ftplugin file. (Nikolai Weibull)
- matlab ftplugin file. (Jake Wasserman)
- Maxima syntax file. (Robert Dodier)
- MGL syntax file. (Gero Kuhlmann)
- modconf ftplugin file. (Nikolai Weibull)
- mplayer config ftplugin file. (Nikolai Weibull)
- Mrxvtrc syntax and ftplugin file. (Gautam Iyer)
- MuPAD source syntax, indent and ftplugin. (Dave Silvia)
- mutt RC ftplugin file. (Nikolai Weibull)
- nanorc syntax and ftplugin file. (Nikolai Weibull)
- netrc ftplugin file. (Nikolai Weibull)
- pamconf syntax and ftplugin file. (Nikolai Weibull)
- Pascal indent file. (Neil Carter)
- passwd syntax and ftplugin file. (Nikolai Weibull)
- PHP compiler plugin. (Doug Kearns)
- pinfo ftplugin file. (Nikolai Weibull)
- plaintex syntax and ftplugin files. (Nikolai Weibull, Benji Fisher)
- procmail ftplugin file. (Nikolai Weibull)
- prolog ftplugin file. (Nikolai Weibull)
- protocols syntax and ftplugin file. (Nikolai Weibull)
- quake ftplugin file. (Nikolai Weibull)
- racc syntax and ftplugin file. (Nikolai Weibull)
- readline ftplugin file. (Nikolai Weibull)
- rhelp syntax file. (Johannes Ranke)
- rnoweb syntax file. (Johannes Ranke)
- Relax NG compact ftplugin file. (Nikolai Weibull)
- Scheme indent file. (Sergey Khorev)
- screen ftplugin file. (Nikolai Weibull)
- sensors syntax and ftplugin file. (Nikolai Weibull)
- services syntax and ftplugin file. (Nikolai Weibull)
- setserial syntax and ftplugin file. (Nikolai Weibull)
- sieve syntax and ftplugin file. (Nikolai Weibull)
- SiSU syntax file (Ralph Amissah)
- Sive syntax file. (Nikolai Weibull)
- slp config, reg and spi syntax and ftplugin files. (Nikolai Weibull)
- SML indent file. (Saikat Guha)
- SQL anywhere syntax and indent file. (David Fishburn)
- SQL indent file.
- SQL-Informix syntax file. (Dean L Hill)
- SQL: Handling of various variants. (David Fishburn)
- sshconfig ftplugin file. (Nikolai Weibull)
- Stata and SMCL syntax files. (Jeff Pitblado)
- sudoers ftplugin file. (Nikolai Weibull)
- sysctl syntax and ftplugin file. (Nikolai Weibull)
- terminfo ftplugin file. (Nikolai Weibull)
- trustees syntax file. (Nima Talebi)
- Vera syntax file. (David Eggum)
- udev config, permissions and rules syntax and ftplugin files. (Nikolai Weibull)
- updatedb syntax and ftplugin file. (Nikolai Weibull)
- VHDL indent file (Gerald Lai)
- WSML syntax file. (Thomas Haselwanter)
- Xdefaults ftplugin file. (Nikolai Weibull)
- XFree86 config ftplugin file. (Nikolai Weibull)
- xinetd syntax, indent and ftplugin file. (Nikolai Weibull)
- xmodmap ftplugin file. (Nikolai Weibull)
- Xquery syntax file. (Jean-Marc Vanel)
- xsd (XML schema) indent file.
- YAML ftplugin file. (Nikolai Weibull)
- Zsh ftplugin file. (Nikolai Weibull)
- New Keymaps: ~
- Sinhala (Sri Lanka) (Harshula Jayasuriya)
- Tamil in TSCII encoding (Yegappan Lakshmanan)
- Greek in cp737 (Panagiotis Louridas)
- Polish-slash (HS6_06)
- Ukrainian-jcuken (Anatoli Sakhnik)
- Kana (Edward L. Fox)
- New message translations: ~
- The Ukrainian messages are now also available in cp1251.
- Vietnamese message translations and menu. (Phan Vinh Thinh)
- Others: ~
- The |:read| command has the |++edit| argument. This means it will use the
- detected 'fileformat', 'fileencoding' and other options for the buffer. This
- also fixes the problem that editing a compressed file didn't set these
- options.
- The Netbeans interface was updated for Sun Studio 10. The protocol number
- goes from 2.2 to 2.3. (Gordon Prieur)
- Mac: When starting up Vim will load the $VIMRUNTIME/macmap.vim script to
- define default command-key mappings. (mostly by Benji Fisher)
- Mac: Add the selection type to the clipboard, so that Block, line and
- character selections can be used between two Vims. (Eckehard Berns)
- Also fixes the problem that setting 'clipboard' to "unnamed" breaks using
- "yyp".
- Mac: GUI font selector. (Peter Cucka)
- Mac: support for multibyte characters. (Da Woon Jung)
- This doesn't always work properly. If you see text drawing problems try
- switching the 'macatsui' option off.
- Mac: Support the xterm mouse in the non-GUI version.
- Mac: better integration with Xcode. Post a fake mouse-up event after the odoc
- event and the drag receive handler to work around a stall after Vim loads a
- file. Fixed an off-by-one line number error. (Da Woon Jung)
- Mac: When started from Finder change directory to the file being edited or the
- user home directory.
- Added the t_SI and t_EI escape sequences for starting and ending Insert mode.
- To be used to set the cursor shape to a bar or a block. No default values,
- they are not supported by termcap/terminfo.
- GUI font selector for Motif. (Marcin Dalecki)
- Nicer toolbar buttons for Motif. (Marcin Dalecki)
- Mnemonics for the Motif find/replace dialog. (Marcin Dalecki)
- Included a few improvements for Motif from Marcin Dalecki. Draw label
- contents ourselves to make them handle fonts in a way configurable by Vim and
- a bit less dependent on the X11 font management.
- Autocommands can be defined local to a buffer. This means they will also work
- when the buffer does not have a name or no specific name. See
- |autocmd-buflocal|. (Yakov Lerner)
- For xterm most combinations of modifiers with function keys are recognized.
- |xterm-modifier-keys|
- When 'verbose' is set the output of ":highlight" will show where a highlight
- item was last set.
- When 'verbose' is set the output of the ":map", ":abbreviate", ":command",
- ":function" and ":autocmd" commands will show where it was last defined.
- (Yegappan Lakshmanan)
- ":function /pattern" lists functions matching the pattern.
- "1gd" can be used like "gd" but ignores matches in a {} block that ends before
- the cursor position. Likewise for "1gD" and "gD".
- 'scrolljump' can be set to a negative number to scroll a percentage of the
- window height.
- The |v:scrollstart| variable has been added to help find the location in
- your script that causes the hit-enter prompt.
- To make it possible to handle the situation that a file is being edited that
- is already being edited by another Vim instance, the |SwapExists| event has
- been added. The |v:swapname|, |v:swapchoice| and |v:swapcommand| variables
- can be used, for example to use the |client-server| functionality to bring the
- other Vim to the foreground.
- When starting Vim with a "-t tag" argument, there is an existing swapfile and
- the user selects "quit" or "abort" then exit Vim.
- Undo now also restores the '< and '> marks. "gv" selects the same area as
- before the change and undo.
- When editing a search pattern for a "/" or "?" command and 'incsearch' is set
- CTRL-L can be used to add a character from the current match. CTRL-R CTRL-W
- will add a word, but exclude the part of the word that was already typed.
- Ruby interface: add line number methods. (Ryan Paul)
- The $MYVIMRC environment variable is set to the first found vimrc file.
- The $MYGVIMRC environment variable is set to the first found gvimrc file.
- ==============================================================================
- IMPROVEMENTS *improvements-7*
- ":helpgrep" accepts a language specifier after the pattern: "pat@it".
- Moved the help for printing to a separate help file. It's quite a lot now.
- When doing completion for ":!cmd", ":r !cmd" or ":w !cmd" executable files are
- found in $PATH instead of looking for ordinary files in the current directory.
- When ":silent" is used and a backwards range is given for an Ex command the
- range is swapped automatically instead of asking if that is OK.
- The pattern matching code was changed from a recursive function to an
- iterative mechanism. This avoids out-of-stack errors. State is stored in
- allocated memory, running out of memory can always be detected. Allows
- matching more complex things, but Vim may seem to hang while doing that.
- Previously some options were always evaluated in the |sandbox|. Now that only
- happens when the option was set from a modeline or in secure mode. Applies to
- 'balloonexpr', 'foldexpr', 'foldtext' and 'includeexpr'. (Sumner Hayes)
- Some commands and expressions could have nasty side effects, such as using
- CTRL-R = while editing a search pattern and the expression invokes a function
- that jumps to another window. The |textlock| has been added to prevent this
- from happening.
- ":breakadd here" and ":breakdel here" can be used to set or delete a
- breakpoint at the cursor.
- It is now possible to define a function with: >
- :exe "func Test()\n ...\n endfunc"
- The tutor was updated to make it simpler to use and text was added to explain
- a few more important commands. Used ideas from Gabriel Zachmann.
- Unix: When libcall() fails obtain an error message with dlerror() and display
- it. (Johannes Zellner)
- Mac and Cygwin: When editing an existing file make the file name the same case
- of the edited file. Thus when typing ":e os_UNIX.c" the file name becomes
- "os_unix.c".
- Added "nbsp" in 'listchars'. (David Blanchet)
- Added the "acwrite" value for the 'buftype' option. This is for a buffer that
- does not have a name that refers to a file and is written with BufWriteCmd
- autocommands.
- For lisp indenting and matching parenthesis: (Sergey Khorev)
- - square brackets are recognized properly
- - #\(, #\), #\[ and #\] are recognized as character literals
- - Lisp line comments (delimited by semicolon) are recognized
- Added the "count" argument to match(), matchend() and matchstr(). (Ilya Sher)
- winnr() takes an optional "$" or "#" argument. (Nikolai Weibull, Yegappan
- Lakshmanan)
- Added 's' flag to search(): set ' mark if cursor moved. (Yegappan Lakshmanan)
- Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull)
- Added 'c' flag to search(): accept match at the cursor.
- Added 'e' flag to search(): move to end of the match. (Benji Fisher)
- Added 'p' flag to search(): return number of sub-pattern. (Benji Fisher)
- These also apply to searchpos(), searchpair() and searchpairpos().
- The search() and searchpair() functions have an extra argument to specify
- where to stop searching. Speeds up searches that should not continue too far.
- When uncompressing fails in the gzip plugin, give an error message but don't
- delete the raw text. Helps if the file has a .gz extension but is not
- actually compressed. (Andrew Pimlott)
- When C, C++ or IDL syntax is used, may additionally load doxygen syntax.
- (Michael Geddes)
- Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb"
- filetype or syntax.
- The ":registers" command now displays multibyte characters properly.
- VMS: In the usage message mention that a slash can be used to make a flag
- upper case. Add color support to the builtin vt320 terminal codes.
- (Zoltan Arpadffy)
- For the '%' item in 'viminfo', allow a number to set a maximum for the number
- of buffers.
- For recognizing the file type: When a file looks like a shell script, check
- for an "exec" command that starts the tcl interpreter. (suggested by Alexios
- Zavras)
- Support conversion between utf-8 and latin9 (iso-8859-15) internally, so that
- digraphs still work when iconv is not available.
- When a session file is loaded while editing an unnamed, empty buffer that
- buffer is wiped out. Avoids that there is an unused buffer in the buffer
- list.
- Win32: When libintl.dll supports bind_textdomain_codeset(), use it.
- (NAKADAIRA Yukihiro)
- Win32: Vim was not aware of hard links on NTFS file systems. These are
- detected now for when 'backupcopy' is "auto". Also fixed a bogus "file has
- been changed since reading it" error for links.
- When foldtext() finds no text after removing the comment leader, use the
- second line of the fold. Helps for C-style /* */ comments where the first
- line is just "/*".
- When editing the same file from two systems (e.g., Unix and MS-Windows) there
- mostly was no warning for an existing swap file, because the name of the
- edited file differs (e.g., y:\dir\file vs /home/me/dir/file). Added a flag to
- the swap file to indicate it is in the same directory as the edited file. The
- used path then doesn't matter and the check for editing the same file is much
- more reliable.
- Unix: When editing a file through a symlink the swap file would use the name
- of the symlink. Now use the name of the actual file, so that editing the same
- file twice is detected. (suggestions by Stefano Zacchiroli and James Vega)
- Client-server communication now supports 'encoding'. When setting 'encoding'
- in a Vim server to "utf-8", and using "vim --remote fname" in a console,
- "fname" is converted from the console encoding to utf-8. Also allows Vims
- with different 'encoding' settings to exchange messages.
- Internal: Changed ga_room into ga_maxlen, so that it doesn't need to be
- incremented/decremented each time.
- When a register is empty it is not stored in the viminfo file.
- Removed the tcltags script, it's obsolete.
- ":redir @*>>" and ":redir @+>>" append to the clipboard. Better check for
- invalid characters after the register name. |:redir|
- ":redir => variable" and ":redir =>> variable" write or append to a variable.
- (Yegappan Lakshmanan) |:redir|
- ":redir @{a-z}>>" appends to register a to z. (Yegappan Lakshmanan)
- The 'verbosefile' option can be used to log messages in a file. Verbose
- messages are not displayed then. The "-V{filename}" argument can be used to
- log startup messages.
- ":let g:" lists global variables.
- ":let b:" lists buffer-local variables.
- ":let w:" lists window-local variables.
- ":let v:" lists Vim variables.
- The stridx() and strridx() functions take a third argument, where to start
- searching. (Yegappan Lakshmanan)
- The getreg() function takes an extra argument to be able to get the expression
- for the '=' register instead of the result of evaluating it.
- The setline() function can take a List argument to set multiple lines. When
- the line number is just below the last line the line is appended.
- g CTRL-G also shows the number of characters if it differs from the number of
- bytes.
- Completion for ":debug" and entering an expression for the '=' register. Skip
- ":" between range and command name. (Peter Winters)
- CTRL-Q in Insert mode now works like CTRL-V by default. Previously it was
- ignored.
- When "beep" is included in 'debug' a function or script that causes a beep
- will result in a message with the source of the error.
- When completing buffer names, match with "\(^\|[\/]\)" instead of "^", so that
- ":buf stor<Tab>" finds both "include/storage.h" and "storage/main.c".
- To count items (pattern matches) without changing the buffer the 'n' flag has
- been added to |:substitute|. See |count-items|.
- In a |:substitute| command the \u, \U, \l and \L items now also work for
- multibyte characters.
- The "screen.linux" $TERM name is recognized to set the default for
- 'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty".
- The |FileChangedShell| autocommand event can now use the |v:fcs_reason|
- variable that specifies what triggered the event. |v:fcs_choice| can be used
- to reload the buffer or ask the user what to do.
- Not all modifiers were recognized for xterm function keys. Added the
- possibility in term codes to end in ";*X" or "O*X", where X is any character
- and the * stands for the modifier code.
- Added the <xUp>, <xDown>, <xLeft> and <xRight> keys, to be able to recognize
- the two forms that xterm can send their codes in and still handle all possible
- modifiers.
- getwinvar() now also works to obtain a buffer-local option from the specified
- window.
- Added the "%s" item to 'errorformat'. (Yegappan Lakshmanan)
- Added the "%>" item to 'errorformat'.
- For 'errorformat' it was not possible to have a file name that contains the
- character that follows after "%f". For example, in "%f:%l:%m" the file name
- could not contain ":". Now include the first ":" where the rest of the
- pattern matches. In the example a ":" not followed by a line number is
- included in the file name. (suggested by Emanuele Giaquinta)
- GTK GUI: use the GTK file dialog when it's available. Mix from patches by
- Grahame Bowland and Evan Webb.
- Added ":scriptnames" to bugreport.vim, so that we can see what plugins were
- used.
- Win32: If the user changes the setting for the number of lines a scroll wheel
- click scrolls it is now used immediately. Previously Vim would need to be
- restarted.
- When using @= in an expression the value is expression @= contains. ":let @=
- = value" can be used to set the register contents.
- A ! can be added to ":popup" to have the popup menu appear at the mouse
- pointer position instead of the text cursor.
- The table with encodings has been expanded with many MS-Windows codepages,
- such as cp1250 and cp737, so that these can also be used on Unix without
- prepending "8bit-".
- When an encoding name starts with "microsoft-cp" ignore the "microsoft-" part.
- Added the "customlist" completion argument to a user-defined command. The
- user-defined completion function should return the completion candidates as a
- Vim List and the returned results are not filtered by Vim. (Yegappan
- Lakshmanan)
- Win32: Balloons can have multiple lines if common controls supports it.
- (Sergey Khorev)
- For command-line completion the matches for various types of arguments are now
- sorted: user commands, variables, syntax names, etc.
- When no locale is set, thus using the "C" locale, Vim will work with latin1
- characters, using its own isupper()/toupper()/etc. functions.
- When using an rxvt terminal emulator guess the value of 'background' using the
- COLORFGBG environment variable. (Ciaran McCreesh)
- Also support t_SI and t_EI on Unix with normal features. (Ciaran McCreesh)
- When 'foldcolumn' is one then put as much info in it as possible. This allows
- closing a fold with the mouse by clicking on the '-'.
- input() takes an optional completion argument to specify the type of
- completion supported for the input. (Yegappan Lakshmanan)
- "dp" works with more than two buffers in diff mode if there is only one where
- 'modifiable' is set.
- The 'diffopt' option has three new values: "horizontal", "vertical" and
- "foldcolumn".
- When the 'include' option contains \zs the file name found is what is being
- matched from \zs to the end or \ze. Useful to pass more to 'includeexpr'.
- Loading plugins on startup now supports subdirectories in the plugin
- directory. |load-plugins|
- In the foldcolumn always show the '+' for a closed fold, so that it can be
- opened easily. It may overwrite another character, esp. if 'foldcolumn' is 1.
- It is now possible to get the W10 message again by setting 'readonly'. Useful
- in the FileChangedRO autocommand when checking out the file fails.
- Unix: When open() returns EFBIG give an appropriate message.
- ":mksession" sets the SessionLoad variable to notify plugins. A modeline is
- added to the session file to set 'filetype' to "vim".
- In the ATTENTION prompt put the "Delete it" choice before "Quit" to make it
- more logical. (Robert Webb)
- When appending to a file while the buffer has no name the name of the appended
- file would be used for the current buffer. But the buffer contents is
- actually different from the file content. Don't set the file name, unless the
- 'P' flag is present in 'cpoptions'.
- When starting to edit a new file and the directory for the file doesn't exist
- then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user
- a hint that something might be wrong.
- Win32: Preserve the hidden attribute of the viminfo file.
- In Insert mode CTRL-A didn't keep the last inserted text when using CTRL-O and
- then a cursor key. Now keep the previously inserted text if nothing is
- inserted after the CTRL-O. Allows using CTRL-O commands to move the cursor
- without losing the last inserted text.
- The exists() function now supports checking for autocmd group definition
- and for supported autocommand events. (Yegappan Lakshmanan)
- Allow using ":global" in the sandbox, it doesn't do anything harmful by
- itself.
- ":saveas asdf.c" will set 'filetype' to c when it's empty. Also for ":w
- asdf.c" when it sets the filename for the buffer.
- Insert mode completion for whole lines now also searches unloaded buffers.
- The colortest.vim script can now be invoked directly with ":source" or
- ":runtime syntax/colortest.vim".
- The 'statusline' option can be local to the window, so that each window can
- have a different value. (partly by Yegappan Lakshmanan)
- The 'statusline' option and other options that support the same format can now
- use these new features:
- - When it starts with "%!" the value is first evaluated as an expression
- before parsing the value.
- - "%#HLname#" can be used to start highlighting with HLname.
- When 'statusline' is set to something that causes an error message then it is
- made empty to avoid an endless redraw loop. Also for other options, such at
- 'tabline' and 'titlestring'. ":verbose set statusline" will mention that it
- was set in an error handler.
- When there are several matching tags, the ":tag <name>" and CTRL-] commands
- jump to the [count] matching tag. (Yegappan Lakshmanan)
- Win32: In the batch files generated by the install program, use $VIMRUNTIME or
- $VIM if it's set. Example provided by Mathias Michaelis.
- Also create a vimtutor.bat batch file.
- The 'balloonexpr' option is now |global-local|.
- The system() function now runs in cooked mode, thus can be interrupted by
- CTRL-C.
- ==============================================================================
- COMPILE TIME CHANGES *compile-changes-7*
- Dropped the support for the BeOS and Amiga GUI. They were not maintained and
- probably didn't work. If you want to work on this: get the Vim 6.x version
- and merge it back in.
- When running the tests and one of them fails to produce "test.out" the
- following tests are still executed. This helps when running out of memory.
- When compiling with EXITFREE defined and the ccmalloc library, it is possible
- to detect memory leaks. Some memory will always be reported as leaked, such
- as allocated by X11 library functions and the memory allocated in
- alloc_cmdbuff() to store the ":quit" command.
- Moved the code for printing to src/hardcopy.c.
- Moved some code from main() to separate functions to make it easier to see
- what is being done. Using a structure to avoid a lot of arguments to the
- functions.
- Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c
- without copying the code.
- --- Mac ---
- "make" now creates the Vim.app directory and "make install" copies it to its
- final destination. (Raf)
- Put the runtime directory not directly in Vim.app but in
- Vim.app/Contents/Resources/vim, so that it's according to Mac specs.
- Made it possible to compile with Motif, Athena or GTK without tricks and still
- being able to use the MacRoman conversion. Added the os_mac_conv.c file.
- When running "make install" the runtime files are installed as for Unix.
- Avoids that too many files are copied. When running "make" a link to the
- runtime files is created to avoid a recursive copy that takes much time.
- Configure will attempt to build Vim for both Intel and PowerPC. The
- --with-mac-arch configure argument can change it.
- --- Win32 ---
- The Make_mvc.mak file was adjusted to work with the latest MS compilers,
- including the free version of Visual Studio 2005. (George Reilly)
- INSTALLpc.txt was updated for the recent changes. (George Reilly)
- The distributed executable is now produced with the free Visual C++ Toolkit
- 2003 and other free SDK chunks. msvcsetup.bat was added to support this.
- Also generate the .pdb file that can be used to generate a useful crash report
- on MS-Windows. (George Reilly)
- ==============================================================================
- BUG FIXES *bug-fixes-7*
- When using PostScript printing on MS-DOS the default 'printexpr' used "lpr"
- instead of "copy". When 'printdevice' was empty the copy command did not
- work. Use "LPT1" then.
- The GTK font dialog uses a font size zero when the font name doesn't include a
- size. Use a default size of 10.
- This example in the documentation didn't work: >
- :e `=foo . ".c"`
- Skip over the expression in `=expr` when looking for comments, |, % and #.
- When ":helpgrep" doesn't find anything there is no error message.
- "L" and "H" did not take closed folds into account.
- Win32: The "-P title" argument stopped at the first title that matched, even
- when it doesn't support MDI.
- Mac GUI: CTRL-^ and CTRL-@ did not work.
- "2daw" on "word." at the end of a line didn't include the preceding white
- space.
- Win32: Using FindExecutable() doesn't work to find a program. Use
- SearchPath() instead. For executable() use $PATHEXT when the program searched
- for doesn't have an extension.
- When 'virtualedit' is set, moving the cursor up after appending a character
- may move it to a different column. Was caused by auto-formatting moving the
- cursor and not putting it back where it was.
- When indent was added automatically and then moving the cursor, the indent was
- not deleted (like when pressing ESC). The "I" flag in 'cpoptions' can be used
- to make it work the old way.
- When opening a command-line window, 'textwidth' gets set to 78 by the Vim
- filetype plugin. Reset 'textwidth' to 0 to avoid lines are broken.
- After using cursor(line, col) moving up/down doesn't keep the same column.
- Win32: Borland C before 5.5 requires using ".u." for LowPart and HighPart
- fields. (Walter Briscoe)
- On Sinix SYS_NMLN isn't always defined. Define it ourselves. (Cristiano De
- Michele)
- Printing with PostScript may keep the printer waiting for more. Append a
- CTRL-D to the printer output. (Mike Williams)
- When converting a string with a hex or octal number the leading '-' was
- ignored. ":echo '-05' + 0" resulted in 5 instead of -5.
- Using "@:" to repeat a command line didn't work when it contains control
- characters. Also remove "'<,'>" when in Visual mode to avoid that it appears
- twice.
- When using file completion for a user command, it would not expand environment
- variables like for a regular command with a file argument.
- 'cindent': When the argument of a #define looks like a C++ class the next line
- is indented too much.
- When 'comments' includes multibyte characters inserting the middle part and
- alignment may go wrong. 'cindent' also suffers from this for right-aligned
- items.
- Win32: when 'encoding' is set to "utf-8" getenv() still returns strings in the
- active codepage. Convert to utf-8. Also for $HOME.
- The default for 'helplang' was "zh" for both "zh_cn" and "zh_tw". Now use
- "cn" or "tw" as intended.
- When 'bin' is set and 'eol' is not set then line2byte() added the line break
- after the last line while it's not there.
- Using foldlevel() in a WinEnter autocommand may not work. Noticed when
- resizing the GUI shell upon startup.
- Python: Using buffer.append(f.readlines()) didn't work. Allow appending a
- string with a trailing newline. The newline is ignored.
- When using the ":saveas f2" command for buffer "f1", the Buffers menu would
- contain "f2" twice, one of them leading to "f1". Also trigger the BufFilePre
- and BufFilePost events for the alternate buffer that gets the old name.
- strridx() did not work well when the needle is empty. (Ciaran McCreesh)
- GTK: Avoid a potential hang in gui_mch_wait_for_chars() when input arrives
- just before it is invoked
- VMS: Occasionally CR characters were inserted in the file. Expansion of
- environment variables was not correct. (Zoltan Arpadffy)
- UTF-8: When 'delcombine' is set "dw" only deleted the last combining character
- from the first character of the word.
- When using ":sball" in an autocommand only the filetype in one buffer was
- detected. Reset did_filetype in enter_buffer().
- When using ":argdo" and the window already was at the first argument index,
- but not actually editing it, the current buffer would be used instead.
- When ":next dir/*" includes many matches, adding the names to the argument
- list may take an awful lot of time and can't be interrupted. Allow
- interrupting this.
- When editing a file that was already loaded in a buffer, modelines were not
- used. Now window-local options in the modeline are set. Buffer-local options
- and global options remain unmodified.
- Win32: When 'encoding' is set to "utf-8" in the vimrc file, files from the
- command line with non-ASCII characters are not used correctly. Recode the
- file names when 'encoding' is set, using the Unicode command line.
- Win32 console: When the default for 'encoding' ends up to be "latin1", the
- default value of 'isprint' was wrong.
- When an error message is given while waiting for a character (e.g., when an
- xterm reports the number of colors), the hit-enter prompt overwrote the last
- line. Don't reset msg_didout in normal_cmd() for K_IGNORE.
- Mac GUI: Shift-Tab didn't work.
- When defining tooltip text, don't translate terminal codes, since it's not
- going to be used like a command.
- GTK 2: Check the tooltip text for valid utf-8 characters to avoid getting a
- GTK error. Invalid characters may appear when 'encoding' is changed.
- GTK 2: Add a safety check for invalid utf-8 sequences, they can crash pango.
- Win32: When 'encoding' is changed while starting up, use the Unicode command
- line to convert the file arguments to 'encoding'. Both for the GUI and the
- console version.
- Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because
- there is no codepage for latin9. Do our own conversion from latin9 to UCS2.
- When two versions of GTK+ 2 are installed it was possible to use the header
- files from one and the library from the other. Use GTK_LIBDIR to put the
- directory for the library early in the link flags.
- With the GUI find/replace dialog a replace only worked if the pattern was
- literal text. Now it works for any pattern.
- When 'equalalways' is set and 'eadirection' is "hor", ":quit" would still
- cause equalizing window heights in the vertical direction.
- When ":emenu" is used in a startup script the command was put in the typeahead
- buffer, causing a prompt for the crypt key to be messed up.
- Mac OS/X: The default for 'isprint' included characters 128-160, causes
- problems for Terminal.app.
- When a syntax item with "containedin" is used, it may match in the start or
- end of a region with a matchgroup, while this doesn't happen for a "contains"
- argument.
- When a transparent syntax items matches in another item where the highlighting
- has already stopped (because of a he= argument), the highlighting would come
- back.
- When cscope is used to set the quickfix error list, it didn't get set if there
- was only one match. (Sergey Khorev)
- When 'confirm' is set and using ":bdel" in a modified buffer, then selecting
- "cancel", would still give an error message.
- The PopUp menu items that started Visual mode didn't work when not in Normal
- mode. Switching between selecting a word and a line was not possible.
- Win32: The keypad decimal point always resulted in a '.', while on some
- keyboards it's a ','. Use MapVirtualKey(VK_DECIMAL, 2).
- Removed unused function DisplayCompStringOpaque() from gui_w32.c
- In Visual mode there is not always an indication whether the line break is
- selected or not. Highlight the character after the line when the line break
- is included, e.g., after "v$o".
- GTK: The <F10> key can't be mapped, it selects the menu. Disable that with a
- GTK setting and do select the menu when <F10> isn't mapped. (David Necas)
- After "Y" '[ and '] were not at start/end of the yanked text.
- When a telnet connection is dropped Vim preserves files and exits. While
- doing that a SIGHUP may arrive and disturb us, thus ignore it. (Scott
- Anderson) Also postpone SIGHUP, SIGQUIT and SIGTERM until it's safe to
- handle. Added handle_signal().
- When completing a file name on the command line backslashes are required for
- white space. Was only done for a space, not for a Tab.
- When configure could not find a terminal library, compiling continued for a
- long time before reporting the problem. Added a configure check for tgetent()
- being found in a library.
- When the cursor is on the first char of the last line a ":g/pat/s///" command
- may cause the cursor to be displayed below the text.
- Win32: Editing a file with non-ASCII characters doesn't work when 'encoding'
- is "utf-8". use _wfullpath() instead of _fullpath(). (Yu-sung Moon)
- When recovering the 'fileformat' and 'fileencoding' were taken from the
- original file instead of from the swapfile. When the file didn't exist, was
- empty or the option was changed (e.g., with ":e ++fenc=cp123 file") it could
- be wrong. Now store 'fileformat' and 'fileencoding' in the swapfile and use
- the values when recovering.
- ":bufdo g/something/p" overwrites each last printed text line with the file
- message for the next buffer. Temporarily clear 'shortmess' to avoid that.
- Win32: Cannot edit a file starting with # with --remote. Do escape % and #
- when building the ":drop" command.
- A comment or | just after an expression-backtick argument was not recognized.
- E.g. in :e `="foo"`"comment.
- "(" does not stop at an empty sentence (single dot and white space) while ")"
- does. Also breaks "das" on that dot.
- When doing "yy" with the cursor on a TAB the ruler could be wrong and "k"
- moved the cursor to another column.
- When 'commentstring' is '"%s' and there is a double quote in the line a double
- quote before the fold marker isn't removed in the text displayed for a closed
- fold.
- In Visual mode, when 'bin' and 'eol' set, g CTRL-G counted the last line
- break, resulting in "selected 202 of 201 bytes".
- Motif: fonts were not used for dialog components. (Marcin Dalecki)
- Motif: After using a toolbar button the keyboard focus would be on the toolbar
- (Lesstif problem). (Marcin Dalecki)
- When using "y<C-V>`x" where mark x is in the first column, the last line was
- not included.
- Not all test scripts work properly on MS-Windows when checked out from CVS.
- Use a Vim command to fix all fileformats to dos before executing the tests.
- When using ":new" and the file fits in the window, lines could still be above
- the window. Now remove empty lines instead of keeping the relative position.
- Cmdline completion didn't work after ":let var1 var<Tab>".
- When using ":startinsert" or ":startreplace" when already in Insert mode
- (possible when using CTRL-R =), pressing Esc would directly restart Insert
- mode. (Peter Winters)
- "2daw" didn't work at end of file if the last word is a single character.
- Completion for ":next a'<Tab>" put a backslash before single quote, but it was
- not removed when editing a file. Now halve backslashes in save_patterns().
- Also fix expanding a file name with the shell that contains "\'".
- When doing "1,6d|put" only "fewer lines" was reported. Now a following "more
- lines" overwrites the message.
- Configure could not handle "-Dfoo=long\ long" in the TCL config output.
- When searching backwards, using a pattern that matches a newline and uses \zs
- after that, didn't find a match. Could also get a hang or end up in the right
- column in the wrong line.
- When $LANG is "sl" for slovenian, the slovak menu was used, since "slovak"
- starts with "sl".
- When 'paste' is set in the GUI the Paste toolbar button doesn't work. Clear
- 'paste' when starting the GUI.
- A message about a wrong viminfo line included the trailing NL.
- When 'paste' is set in the GUI the toolbar button doesn't work in Insert mode.
- Use ":exe" in menu.vim to avoid duplicating the commands, instead of using a
- mapping.
- Treat "mlterm" as an xterm-like terminal. (Seiichi Sato)
- ":z.4" and ":z=4" didn't work Vi compatible.
- When sourcing a file, editing it and sourcing it again, it could appear twice
- in ":scriptnames" and get a new <SID>, because the inode has changed.
- When $SHELL is set but empty the 'shell' option would be empty. Don't use an
- empty $SHELL value.
- A command "w! file" in .vimrc or $EXINIT didn't work. Now it writes an empty
- file.
- When a CTRL-F command at the end of the file failed, the cursor was still
- moved to the start of the line. Now it remains where it is.
- When using ":s" or "&" to repeat the last substitute and "$" was used to put
- the cursor in the last column, put the cursor in the last column again. This
- is Vi compatible.
- Vim is not fully POSIX compliant but sticks with traditional Vi behavior.
- Added a few flags in 'cpoptions' to behave the POSIX way when wanted. The
- $VIM_POSIX environment variable is checked to set the default.
- Appending to a register didn't insert a line break like Vi. Added the '>'
- flag to 'cpoptions' for this.
- Using "I" in a line with only blanks appended to the line. This is not Vi
- compatible. Added the 'H' flag in 'cpoptions' for this.
- When joining multiple lines the cursor would be at the last joint, but Vi
- leaves it at the position where "J" would put it. Added the 'q' flag in
- 'cpoptions' for this.
- Autoindent didn't work for ":insert" and ":append".
- Using ":append" in an empty buffer kept the dummy line. Now it's deleted to
- be Vi compatible.
- When reading commands from a file and stdout goes to a terminal, would still
- request the xterm version. Vim can't read it, thus the output went to the
- shell and caused trouble there.
- When redirecting to a register with an invalid name the redirection would
- still be done (after an error message). Now reset "redir_reg". (Yegappan
- Lakshmanan)
- It was not possible to use a NL after a backslash in Ex mode. This is
- sometimes used to feed multiple lines to a shell command.
- When 'cmdheight' is set to 2 in .vimrc and the GUI uses the number of lines
- from the terminal we actually get 3 lines for the cmdline in gvim.
- When setting $HOME allocated memory would leak.
- Win32: bold characters may sometimes write in another character cell. Use
- unicodepdy[] as for UTF-8. (Taro Muraoka)
- ":w fname" didn't work for files with 'buftype' set to "nofile".
- The method used to locate user commands for completion differed from when they
- are executed. Ambiguous command names were not completed properly.
- Incremental search may cause a crash when there is a custom statusline that
- indirectly invokes ":normal".
- Diff mode failed when $DIFF_OPTIONS was set in the environment. Unset it
- before invoking "diff".
- Completion didn't work after ":argdo", ":windo" and ":bufdo". Also for ":set
- &l:opt" and ":set &g:opt". (Peter Winters)
- When setting 'ttymouse' to "dec" in an xterm that supports the DEC mouse
- locator it doesn't work. Now switch off the mouse before selecting another
- mouse model.
- When the CursorHold event is triggered and the commands peek for typed
- characters the typeahead buffer may be messed up, e.g., when a mouse-up event
- is received. Avoid invoking the autocommands from the function waiting for a
- character, let it put K_CURSORHOLD in the input buffer.
- Removed the "COUNT" flag from ":argadd", to avoid ":argadd 1*" to be used like
- ":1argadd *". Same for ":argdelete" and ":argedit".
- Avoid that $LANG is used for the menus when LC_MESSAGES is "en_US".
- Added backslashes before dashes in the vim.1 manual page to make them appear
- as real dashes. (Pierre Habouzit)
- Where "gq" left the cursor depended on the value of 'formatprg'. Now "gq"
- always leaves the cursor at the last line of the formatted text.
- When editing a compressed file, such as "changelog.Debian.gz" file, filetype
- detection may try to check the contents of the file while it's still
- compressed. Skip setting 'filetype' for compressed files until they have been
- decompressed. Required for patterns that end in a "*".
- Starting with an argument "+cmd" or "-S script" causes the cursor to be moved
- to the first line. That breaks a BufReadPost autocommand that uses g`".
- Don't move the cursor if it's somewhere past the first line.
- "gg=G" while 'modifiable' is off was uninterruptible.
- When 'encoding' is "sjis" inserting CTRL-V u d800 a few times causes a crash.
- Don't insert a DBCS character with a NUL second byte.
- In Insert mode CTRL-O <Home> didn't move the cursor. Made "ins_at_eol" global
- and reset it in nv_home().
- Wildcard expansion failed: ":w /tmp/$$.`echo test`". Don't put quotes around
- spaces inside backticks.
- After this sequence of commands: Y V p gv: the wrong line is selected. Now
- let "gv" select the text that was put, since the original text is deleted.
- This should be the most useful thing to do.
- ":sleep 100u" sleeps for 100 seconds, not 100 usec as one might expect. Give
- an error message when the argument isn't recognized.
- In gui_mch_draw_string() in gui_w32.c "unibuflen" wasn't static, resulting in
- reallocating the buffer every time. (Alexei Alexandrov)
- When using a Python "atexit" function it was not invoked when Vim exits. Now
- call Py_Finalize() for that. (Ugo Di Girolamo)
- This breaks the thread stuff though, fixed by Ugo.
- GTK GUI: using a .vimrc with "set cmdheight=2 lines=43" and ":split" right
- after startup, the window layout is messed up. (Michael Schaap) Added
- win_new_shellsize() call in gui_init() to fix the topframe size.
- Trick to get ...MOUSE_NM not used when there are vertical splits. Now pass
- column -1 for the left most window and add MOUSE_COLOFF for others. Limits
- mouse column to 10000.
- searchpair() may hang when the end pattern has "\zs" at the end. Check that
- we find the same position again and advance one character.
- When in diff mode and making a change that causes the "changed" highlighting
- to disappear or reappear, it was still highlighted in another window.
- When a ":next" command fails because the user selects "Abort" at the ATTENTION
- prompt the argument index was advanced anyway.
- When "~" is in 'iskeyword' the "gd" doesn't work, it's used for the previous
- substitute pattern. Put "\V" in the pattern to avoid that.
- Use of sprintf() sometimes didn't check properly for buffer overflow. Also
- when using smsg(). Included code for snprintf() to avoid having to do size
- checks where invoking them
- ":help \=<Tab>" didn't find "sub-replace-\=". Wild menu for help tags didn't
- show backslashes. ":he :s\=" didn't work.
- When reading an errorfile "~/" in a file name was not expanded.
- GTK GUI: When adding a scrollbar (e.g. when using ":vsplit") in a script or
- removing it the window size may change. GTK sends us resize events when we
- change the window size ourselves, but they may come at an unexpected moment.
- Peek for a character to get any window resize events and fix 'columns' and
- 'lines' to undo this.
- When using the GTK plug mechanism, resizing and focus was not working
- properly. (Neil Bird)
- After deleting files from the argument list a session file generated with
- ":mksession" may contain invalid ":next" commands.
- When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N
- may cause the hit-enter prompt. Typing 'a then didn't result in the accented
- character. Put the character typed at the prompt back in the typeahead buffer
- so that mapping is done in the right mode.
- setbufvar() and setwinvar() did not give error messages.
- It was possible to set a variable with an illegal name, e.g. with setbufvar().
- It was possible to define a function with illegal name, e.t. ":func F{-1}()"
- CTRL-W F and "gf" didn't use the same method to get the file name.
- When reporting a conversion error the line number of the last error could be
- given. Now report the first encountered error.
- When using ":e ++enc=name file" and iconv() was used for conversion an error
- caused a fall-back to no conversion. Now replace a character with '?' and
- continue.
- When opening a new buffer the local value of 'bomb' was not initialized from
- the global value.
- Win32: When using the "Edit with Vim" entry the file name was limited to about
- 200 characters.
- When using command line completion for ":e *foo" and the file "+foo" exists
- the resulting command ":e +foo" doesn't work. Now insert a backslash: ":e
- \+foo".
- When the translation of "-- More --" was not 10 characters long the following
- message would be in the wrong position.
- At the more-prompt the last character in the last line wasn't drawn.
- When deleting non-existing text while 'virtualedit' is set the '[ and '] marks
- were not set.
- Win32: Could not use "**/" in 'path', it had to be "**\".
- The search pattern "\n" did not match at the end of the last line.
- Searching for a pattern backwards, starting on the NUL at the end of the line
- and 'encoding' is "utf-8" would match the pattern just before it incorrectly.
- Affected searchpair('/\*', '', '\*/').
- For the Find/Replace dialog it was possible that not finding the text resulted
- in an error message while redrawing, which cleared the syntax highlighting
- while it was being used, resulting in a crash. Now don't clear syntax
- highlighting, disable it with b_syn_error.
- Win32: Combining UTF-8 characters were drawn on the previous character.
- Could be noticed with a Thai font.
- Output of ":function" could leave some of the typed text behind. (Yegappan
- Lakshmanan)
- When the command line history has only a few lines the command line window
- would be opened with these lines above the first window line.
- When using a command line window for search strings ":qa" would result in
- searching for "qa" instead of quitting all windows.
- GUI: When scrolling with the scrollbar and there is a line that doesn't fit
- redrawing may fail. Make sure w_skipcol is valid before redrawing.
- Limit the values of 'columns' and 'lines' to avoid an overflow in Rows *
- Columns. Fixed bad effects when running out of memory (command line would be
- reversed, ":qa!" resulted in ":!aq").
- Motif: "gvim -iconic" opened the window anyway. (David Harrison)
- There is a tiny chance that a symlink gets created between checking for an
- existing file and creating a file. Use the O_NOFOLLOW for open() if it's
- available.
- In an empty line "ix<CTRL-O>0" moved the cursor to after the line instead of
- sticking to the first column.
- When using ":wq" and a BufWriteCmd autocmd uses inputsecret() the text was
- echoed anyway. Set terminal to raw mode in getcmdline().
- Unix: ":w a;b~c" caused an error in expanding wildcards.
- When appending to a file with ":w >>fname" in a buffer without a name, causing
- the buffer to use "fname", the modified flag was reset.
- When appending to the current file the "not edited" flag would be reset.
- ":w" would overwrite the file accidentally.
- Unix: When filtering text with an external command Vim would still read input,
- causing text typed for the command (e.g., a password) to be eaten and echoed.
- Don't read input when the terminal is in cooked mode.
- The Cygwin version of xxd used CR/LF line separators. (Corinna Vinschen)
- Unix: When filtering text through a shell command some resulting text may be
- dropped. Now after detecting that the child has exited try reading some more
- of its output.
- When inside input(), using "CTRL-R =" and the expression throws an exception
- the command line was not abandoned but it wasn't used either. Now abandon
- typing the command line.
- 'delcombine' was also used in Visual and Select mode and for commands like
- "cl". That was illogical and has been disabled.
- When recording while a CursorHold autocommand was defined special keys would
- appear in the register. Now the CursorHold event is not triggered while
- recording.
- Unix: the src/configure script used ${srcdir-.}, not all shells understand
- that. Use ${srcdir:-.} instead.
- When editing file "a" which is a symlink to file "b" that doesn't exist,
- writing file "a" to create "b" and then ":split b" resulted in two buffers on
- the same file with two different swapfile names. Now set the inode in the
- buffer when creating a new file.
- When 'esckeys' is not set don't send the xterm code to request the version
- string, because it may cause trouble in Insert mode.
- When evaluating an expression for CTRL-R = on the command line it was possible
- to call a function that opens a new window, resulting in errors for
- incremental search, and many other nasty things were possible. Now use the
- |textlock| to disallow changing the buffer or jumping to another window
- to protect from unexpected behavior. Same for CTRL-\ e.
- "d(" deleted the character under the cursor, while the documentation specified
- an exclusive motion. Vi also doesn't delete the character under the cursor.
- Shift-Insert in Insert mode could put the cursor before the last character
- when it just fits in the window. In coladvance() don't stop at the window
- edge when filling with spaces and when in Insert mode. In mswin.vim avoid
- getting a beep from the "l" command.
- Win32 GUI: When Alt-F4 is used to close the window and Cancel is selected in
- the dialog then Vim would insert <M-F4> in the text. Now it's ignored.
- When ":silent! {cmd}" caused the swap file dialog, which isn't displayed,
- there would still be a hit-enter prompt.
- Requesting the termresponse (|t_RV|) early may cause problems with "-c"
- arguments that invoke an external command or even "-c quit". Postpone it
- until after executing "-c" arguments.
- When typing in Insert mode so that a new line is started, using CTRL-G u to
- break undo and start a new change, then joining the lines with <BS> caused
- undo info to be missing. Now reset the insertion start point.
- Syntax HL: When a region start match has a matchgroup and an offset that
- happens to be after the end of the line then it continued in the next line and
- stopped at the region end match, making the region continue after that.
- Now check for the column being past the end of the line in syn_add_end_off().
- When changing a file, setting 'swapfile' off and then on again, making another
- change and killing Vim, then some blocks may be missing from the swapfile.
- When 'swapfile' is switched back on mark all blocks in the swapfile as dirty.
- Added mf_set_dirty().
- Expanding wildcards in a command like ":e aap;<>!" didn't work. Put
- backslashes before characters that are special to the shell. (Adri Verhoef)
- A CursorHold autocommand would cause a message to be cleared. Don't show the
- special key for the event for 'showcmd'.
- When expanding a file name for a shell command, as in "!cmd foo<Tab>" or ":r
- !cmd foo<Tab>" also escape characters that are special for the shell:
- "!;&()<>".
- When the name of the buffer was set by a ":r fname" command |cpo-f| no
- autocommands were triggered to notify about the change in the buffer list.
- In the quickfix buffer 'bufhidden' was set to "delete", which caused closing
- the quickfix window to leave an unlisted "No Name" buffer behind every time.
- Win32: when using two screens of different size, setting 'lines' to a large
- value didn't fill the whole screen. (SungHyun Nam)
- Win32 installer: The generated _vimrc contained an absolute path to diff.exe.
- After upgrading it becomes invalid. Now use $VIMRUNTIME instead.
- The command line was cleared too often when 'showmode' was set and ":silent
- normal vy" was used. Don't clear the command line unless the mode was
- actually displayed. Added the "mode_displayed" variable.
- The "load session" toolbar item could not handle a space or other special
- characters in v:this_session.
- ":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2.
- In a multibyte file the foldmarker could be recognized in the trail byte.
- (Taro Muraoka)
- Pasting with CTRL-V and menu didn't work properly when some commands are
- mapped. Use ":normal!" instead of ":normal". (Tony Apuzzo)
- Crashed when expanding a file name argument in backticks.
- In some situations the menu and scrollbar didn't work, when the value contains
- a CSI byte. (Yukihiro Nakadaira)
- GTK GUI: When drawing the balloon focus changes and we might get a key release
- event that removed the balloon again. Ignore the key release event.
- 'titleold' was included in ":mkexrc" and ":mksession" files.
- ":set background&" didn't use the same logic as was used when starting up.
- When "umask" is set such that nothing is writable then the viminfo file would
- be written without write permission. (Julian Bridle)
- Motif: In diff mode dragging one scrollbar didn't update the scrollbar of the
- other diff'ed window.
- When editing in an xterm with a different number of colors than expected the
- screen would be cleared and redrawn, causing the message about the edited file
- to be cleared. Now set "keep_msg" to redraw the last message.
- For a color terminal: When the Normal HL uses bold, possibly to make the color
- lighter, and another HL group specifies a color it might become light as well.
- Now reset bold if a HL group doesn't specify bold itself.
- When using 256 color xterm the color 255 would show up as color 0. Use a
- short instead of a char to store the color number.
- ml_get errors when searching for "\n\zs" in an empty file.
- When selecting a block and using "$" to select until the end of every line and
- not highlighting the character under the cursor the first character of the
- block could be unhighlighted.
- When counting words for the Visual block area and using "$" to select until
- the end of every line only up to the length of the last line was counted.
- "dip" in trailing empty lines left one empty line behind.
- The script ID was only remembered globally for each option. When a buffer- or
- window-local option was set the same "last set" location was changed for all
- buffers and windows. Now remember the script ID for each local option
- separately.
- GUI: The "Replace All" button didn't handle backslashes in the replacement in
- the same way as "Replace". Escape backslashes so that they are taken
- literally.
- When using Select mode from Insert mode and typing a key, causing lines to be
- deleted and a message displayed, delayed the effect of inserting the key.
- Now overwrite the message without delay.
- When 'whichwrap' includes "l" then "dl" and "yl" on a single letter line
- worked differently. Now recognize all operators when using "l" at the end of
- a line.
- GTK GUI: when the font selector returned a font name with a comma in it then
- it would be handled like two font names. Now put a backslash before the
- comma.
- MS-DOS, Win32: When 'encoding' defaults to "latin1" then the value for
- 'iskeyword' was still for CPxxx. And when 'nocompatible' was set 'isprint'
- would also be the wrong value.
- When a command was defined not to take arguments and no '|' no warning message
- would be given for using a '|'. Also with ":loadkeymap".
- Motif: When using a fontset and 'encoding' is "utf-8" and sizeof(wchar_t) !=
- sizeof(XChar2b) then display was wrong. (Yukihiro Nakadaira)
- ":all" always set the current window to the first window, even when it
- contains a buffer that is not in the argument list (can't be closed because it
- is modified). Now go to the window that has the first item of the argument
- list.
- GUI: To avoid left-over pixels from bold text all characters after a character
- with special attributes were redrawn. Now only do this for characters that
- actually are bold. Speeds up displaying considerably.
- When only highlighting changes and the text is scrolled at the same time
- everything is redrawn instead of using a scroll and updating the changed text.
- E.g., when using ":match" to highlight a paren that the cursor landed on.
- Added SOME_VALID: Redraw the whole window but also try to scroll to minimize
- redrawing.
- Win32: When using Korean IME making it active didn't work properly. (Moon,
- Yu-sung, 2005 March 21)
- Ruby interface: when inserting/deleting lines display wasn't updated. (Ryan
- Paul)
- --- fixes since Vim 7.0b ---
- Getting the GCC version in configure didn't work with Solaris sed. First
- strip any "darwin." and then get the version number.
- The "autoload" directory was missing from the self-installing executable for
- MS-Windows.
- The MS-Windows install program would find "vimtutor.bat" in the install
- directory. After changing to "c:" also change to "\" to avoid looking in the
- install directory.
- To make the 16 bit DOS version compile exclude not used highlight
- initializations and build a tiny instead of small version.
- finddir() and findfile() accept a negative count and return a List then.
- The Python indent file contained a few debugging statements, removed.
- Expanding {} for a function name, resulting in a name starting with "s:" was
- not handled correctly.
- Spelling: renamed COMPOUNDMAX to COMPOUNDWORDMAX. Added several items to be
- able to handle the new Hungarian dictionary.
- Mac: Default to building for the current platform only, that is much faster
- than building a universal binary. Also, using Perl/Python/etc. only works for
- the current platform.
- The time on undo messages disappeared for someone. Using %T for strftime()
- apparently doesn't work everywhere. Use %H:%M:%S instead.
- Typing BS at the "z=" prompt removed the prompt.
- --- fixes and changes since Vim 7.0c ---
- When jumping to another tab page the Vim window size was always set, even when
- nothing in the layout changed.
- Win32 GUI tab pages line wasn't always enabled. Do a proper check for the
- compiler version.
- Win32: When switching between tab pages the Vim window was moved when part of
- it was outside of the screen. Now only do that in the direction of a size
- change.
- Win32: added menu to GUI tab pages line. (Yegappan Lakshmanan)
- Mac: Added document icons. (Benji Fisher)
- Insert mode completion: Using Enter to accept the current match causes
- confusion. Use CTRL-Y instead. Also, use CTRL-E to go back to the typed
- text.
- GUI: When there are left and right scrollbars, ":tabedit" kept them instead of
- using the one that isn't needed.
- Using "gP" to replace al the text could leave the cursor below the last line,
- causing ml_get errors.
- When 'cursorline' is set don't use the highlighting when Visual mode is
- active, otherwise it's difficult to see the selected area.
- The matchparen plugin restricts the search to 100 lines, to avoid a long delay
- when there are closed folds.
- Sometimes using CTRL-X s to list spelling suggestions used text from another
- line.
- Win32: Set the default for 'isprint' back to the wrong default "@,~-255",
- because many people use Windows-1252 while 'encoding' is "latin1".
- GTK: Added a workaround for gvim crashing when used over an untrusted ssh
- link, caused by GTK doing something nasty. (Ed Catmur)
- Win32: The font used for the tab page labels is too big. Use the system menu
- font. (George Reilly)
- Win32: Adjusting the window position and size to keep it on the screen didn't
- work properly when the taskbar is on the left or top of the screen.
- The installman.sh and installml.sh scripts use ${10}, that didn't work with
- old shells. And use "test -f" instead of "test -e".
- Win32: When 'encoding' was set in the vimrc then a directory argument for diff
- mode didn't work.
- GUI: at the inputlist() prompt the cursorshape was adjusted as if the windows
- were still at their old position.
- The parenmatch plugin didn't remember the highlighting per window.
- Using ":bd" for a buffer that's the current window in another tab page caused
- a crash.
- For a new tab page the 'scroll' option wasn't set to a good default.
- Using an end offset for a search "/pat/e" didn't work properly for multibyte
- text. (Yukihiro Nakadaira)
- ":s/\n/,/" doubled the text when used on the last line.
- When "search" is in 'foldopen' "[s" and "]s" now open folds.
- When using a numbered function "dict" can be omitted, but "self" didn't work
- then. Always add FC_DICT to the function flags when it's part of a
- dictionary.
- When "--remote-tab" executes locally it left an empty tab page.
- "gvim -u NONE", ":set cursorcolumn", "C" in the second line didn't update
- text. Do update further lines even though the "$" is displayed.
- VMS: Support GTK better, also enable +clientserver. (Zoltan Arpadffy)
- When highlighting of statusline or tabline is changed there was no redraw to
- show the effect.
- Mac: Added "CFBundleIdentifier" to infplist.xml.
- Added tabpage-local variables t:var.
- Win32: Added double-click in tab pages line creates new tab. (Yegappan
- Lakshmanan)
- Motif: Added GUI tab pages line. (Yegappan Lakshmanan)
- Fixed crash when 'lines' was set to 1000 in a modeline.
- When init_spellfile() finds a writable directory in 'runtimepath' but it
- doesn't contain a "spell" directory, create one.
- Win32: executable() also finds "xxd" in the directory where Vim was started,
- but "!xxd" doesn't work. Append the Vim starting directory to $PATH.
- The tab page labels are shortened, directory names are reduced to a single
- letter by default. Added the pathshorten() function to allow a user to do the
- same.
- ":saveas" now resets 'readonly' if the file was successfully written.
- Set $MYVIMRC file to the first found .vimrc file.
- Set $MYGVIMRC file to the first found .gvimrc file.
- Added menu item "Startup Settings" that edits the $MYVIMRC file
- Added matcharg().
- Error message E745 appeared twice. Renamed one to E786.
- Fixed crash when using "au BufRead * Sexplore" and doing ":help". Was wiping
- out a buffer that's still in a window.
- ":hardcopy" resulted in an error message when 'encoding' is "utf-8" and
- 'printencoding' is empty. Now it assumes latin1. (Mike Williams)
- The check for the toolbar feature for Motif, depending on certain included
- files, wasn't detailed enough, causing building to fail in gui_xmebw.c.
- Using CTRL-E in Insert mode completion after CTRL-P inserted the first match
- instead of the original text.
- When displaying a UTF-8 character with a zero lower byte Vim might think the
- previous character is double-wide.
- The "nbsp" item of 'listchars' didn't work when 'encoding' was utf-8.
- Motif: when Xm/xpm.h is missing gui_xmebw.c would not compile.
- HAVE_XM_UNHIGHLIGHTT_H was missing a T.
- Mac: Moved the .icns files into src/os_mac_rsrc, so that they can all be
- copied at once. Adjusted the Info.plist file for three icons.
- When Visual mode is active while switching to another tabpage could get ml_get
- errors.
- When 'list' is set, 'nowrap' the $ in the first column caused 'cursorcolumn'
- to move to the right.
- When a line wraps, 'cursorcolumn' was never displayed past the end of the
- line.
- 'autochdir' was only available when compiled with NetBeans and GUI. Now it's
- a separate feature, also available in the "big" version.
- Added CTRL-W gf: open file under cursor in new tab page.
- When using the menu in the tab pages line, "New Tab" opens the new tab before
- where the click was. Beyond the labels the new tab appears at the end instead
- of after the current tab page.
- Inside a mapping with an expression getchar() could not be used.
- When vgetc is used recursively vgetc_busy protects it from being used
- recursively. But after a ":normal" command the protection was reset.
- ":s/a/b/n" didn't work when 'modifiable' was off.
- When $VIMRUNTIME includes a multibyte character then rgb.txt could not be
- found. (Yukihiro Nakadaira)
- ":mkspell" didn't work correctly for non-ASCII affix flags when conversion is
- needed on the spell file.
- glob('/dir/\$ABC/*') didn't work.
- When using several tab pages and changing 'cmdheight' the display could become
- messed up. Now store the value of 'cmdheight' separately for each tab page.
- The user of the Enter key while the popup menu is visible was still confusing.
- Now use Enter to select the match after using a cursor key.
- Added "usetab" to 'switchbuf'.
- --- fixes and changes since Vim 7.0d ---
- Added CTRL-W T: move a window to a new tab page.
- Using CTRL-X s in Insert mode to complete spelling suggestions and using BS
- deleted characters before the bad word.
- A few small fixes for the VMS makefile. (Zoltan Arpadffy)
- With a window of 91 lines 45 cols, ":vsp" scrolled the window. Copy w_wrow
- when splitting a window and skip setting the height when it's already at the
- right value.
- Using <silent> in a mapping with a shell command and the GUI caused redraw
- to use wrong attributes.
- Win32: Using MSVC 4.1 for install.exe resulted in the start menu items to be
- created in the administrator directory instead of "All Users". Define the
- CSIDL_ items if they are missing.
- Motif: The GUI tabline did not use the space above the right scrollbar. Work
- around a bug in the Motif library. (Yegappan Lakshmanan)
- The extra files for XML Omni completion are now also installed.
- |xml-omni-datafile|
- GTK GUI: when 'm' is missing from 'guioptions' during startup and pressing
- <F10> GTK produced error messages. Now do create the menu but disable it just
- after the first gui_mch_update().
- ":mkspell" doesn't work well with the Hungarian dictionary from the Hunspell
- project. Back to the Myspell dictionary.
- In help files hide the | used around tags.
- Renamed pycomplete to pythoncomplete.
- Added "tabpages" to 'sessionoptions'.
- When 'guitablabel' is set the effect wasn't visible right away.
- Fixed a few 'cindent' errors.
- When completing menu names, e.g., after ":emenu", don't sort the entries but
- keep them in the original order.
- Fixed a crash when editing a directory in diff mode. Don't trigger
- autocommands when executing the diff command.
- Getting a keystroke could get stuck if 'encoding' is a multibyte encoding and
- typing a special key.
- When 'foldignore' is set the folds were not updated right away.
- When a list is indexed with [a : b] and b was greater than the length an error
- message was given. Now silently truncate the result.
- When using BS during Insert mode completion go back to the original text, so
- that CTRL-N selects the first matching entry.
- Added the 'M' flag to 'cinoptions'.
- Win32: Make the "gvim --help" window appear in the middle of the screen
- instead of at an arbitrary position. (Randall W. Morris)
- Added gettabwinvar() and settabwinvar().
- Command line completion: pressing <Tab> after ":e /usr/*" expands the whole
- tree, because it becomes ":e /usr/**". Don't add a star if there already is
- one.
- Added grey10 to grey90 to all GUIs, so that they can all be used for
- initializing highlighting. Use grey40 for CursorColumn and CursorLine when
- 'background' is "dark".
- When reading a file and using iconv for conversion, an incomplete byte
- sequence at the end caused problems. (Yukihiro Nakadaira)
- --- fixes and changes since Vim 7.0e ---
- Default color for MatchParen when 'background' is "dark" is now DarkCyan.
- ":syn off" had to be used twice in a file that sets 'syntax' in a modeline.
- (Michael Geddes)
- When using ":vsp" or ":sp" the available space wasn't used equally between
- windows. (Servatius Brandt)
- Expanding <cWORD> on a trailing blank resulted in the first word in the line
- if 'encoding' is a multibyte encoding.
- Spell checking: spellbadword() didn't see a missing capital in the first word
- of a line. Popup menu now only suggest the capitalized word when appropriate.
- When using whole line completion CTRL-L moves through the matches but it
- didn't work when at the original text.
- When completion finds the longest match, don't go to the first match but stick
- at the original text, so that CTRL-N selects the first one.
- Recognize "zsh-beta" like "zsh" for setting the 'shellpipe' default. (James
- Vega)
- When using ":map <expr>" and the expression results in something with a
- special byte (NUL or CSI) then it didn't work properly. Now escape special
- bytes.
- The default Visual highlighting for a color xterm with 8 colors was a magenta
- background, which made magenta text disappear. Now use reverse in this
- specific situation.
- After completing the longest match "." didn't insert the same text. Repeating
- also didn't work correctly for multibyte text.
- When using Insert mode completion and BS the whole word that was completed
- would result in all possible matches. Now stop completion. Also fixes that
- for spell completion the previous word was deleted.
- GTK: When 'encoding' is "latin1" and using non-ASCII characters in a file name
- the tab page label was wrong and an error message would be given.
- The taglist() function could hang on a tags line with a non-ASCII character.
- Win32: When 'encoding' differs from the system encoding tab page labels with
- non-ASCII characters looked wrong. (Yegappan Lakshmanan)
- Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure
- check, disable GUI tabline when it's missing.
- Mac: When compiled without multibyte feature the clipboard didn't work.
- It was possible to switch to another tab page when the cmdline window is open.
- Completion could hang when 'lines' is 6 and a preview window was opened.
- Added CTRL-W gF: open file under cursor in new tab page and jump to the line
- number following the file name.
- Added 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan).
- Added "throw" to 'debug' option: throw an exception for error messages even
- when they would otherwise be ignored.
- When 'keymap' is set and a line contains an invalid entry could get a "No
- mapping found" warning instead of a proper error message.
- Motif: default to using XpmAttributes instead of XpmAttributes_21.
- A few more changes for 64 bit MS-Windows. (George Reilly)
- Got ml_get errors when doing "o" and selecting in other window where there are
- less lines shorter than the cursor position in the other window. ins_mouse()
- was using position in wrong window.
- Win32 GUI: Crash when giving a lot of messages during startup. Allocate twice
- as much memory for the dialog template.
- Fixed a few leaks and wrong pointer use reported by coverity.
- When showing menus the mode character was sometimes wrong.
- Added feedkeys(). (Yakov Lerner)
- Made matchlist() always return all submatches.
- Moved triggering QuickFixCmdPost to before jumping to the first location.
- Mac: Added the 'macatsui' option as a temporary work around for text drawing
- problems.
- Line completion on "/**" gave error messages when scanning an unloaded buffer.
- --- fixes and changes since Vim 7.0f ---
- Win32: The height of the tab page labels is now adjusted to the font height.
- (Yegappan Lakshmanan)
- Win32: selecting the tab label was off by one. (Yegappan Lakshmanan)
- Added tooltips for Motif and GTK tab page labels. (Yegappan Lakshmanan)
- When 'encoding' is "utf-8" then ":help spell" would report an illegal byte and
- the file was not converted from latin1 to utf-8. Now retry with latin1 if
- reading the file as utf-8 results in illegal bytes.
- Escape the argument of feedkeys() before putting it in the typeahead buffer.
- (Yukihiro Nakadaira)
- Added the v:char variable for evaluating 'formatexpr'. (Yukihiro Nakadaira)
- With 8 colors Search highlighting combined with Statement highlighted text
- made the text disappear.
- VMS: avoid warnings for redefining MAX and MIN. (Zoltan Arpadffy)
- When 'virtualedit' includes "onemore", stopping Visual selection would still
- move the cursor left.
- Prevent that using CTRL-R = in Insert mode can start Visual mode.
- Fixed a crash that occurred when in Insert mode with completion active and a
- mapping caused edit() to be called recursively.
- When using CTRL-O in Insert mode just after the last character while
- 'virtualedit' is "all", then typing CR moved the last character to the next
- line. Call coladvance() before starting the new line.
- When using |:shell| ignore clicks on the tab page labels. Also when using the
- command line window.
- When 'eventignore' is "all" then adding more to ignoring some events, e.g.,
- for ":vimgrep", would actually trigger more events.
- Win32: When a running Vim uses server name GVIM1 then "gvim --remote fname"
- didn't find it. When looking for a server name that doesn't end in a digit
- and it is not found then use another server with that name and a number (just
- like on Unix).
- When using "double" in 'spellsuggest' when the language doesn't support sound
- folding resulted in too many suggestions.
- Win32: Dropping a shortcut on the Vim icon didn't edit the referred file like
- editing it in another way would. Use fname_expand() in buf_set_name() instead
- of simply make the file name a full path.
- Using feedkeys() could cause Vim to hang.
- When closing another tab page from the tabline menu in Insert mode the tabline
- was not updated right away.
- The syntax menu didn't work in compatible mode.
- After using ":tag id" twice with the same "id", ":ts" and then ":pop" a ":ts"
- reported no matching tag. Clear the cached tag name.
- In Insert mode the matchparen plugin highlighted the wrong paren when there is
- a string just next to a paren.
- GTK: After opening a new tab page the text was sometimes not drawn correctly.
- Flush output and catch up with events when updating the tab page labels.
- In the GUI, using CTRL-W q to close the last window of a tab page could cause
- a crash.
- GTK: The tab pages line menu was not converted from 'encoding' to utf-8.
- Typing a multibyte character or a special key at the hit-enter prompt did not
- work.
- When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
- cursor left when it was after the end of the line, even though it's allowed to
- be there.
- Added test for using tab pages.
- towupper() and towlower() were not used, because of checking for
- __STDC__ISO_10646__ instead of __STDC_ISO_10646__. (sertacyildiz)
- For ":map <expr>" forbid changing the text, jumping to another buffer and
- using ":normal" to avoid nasty side effects.
- --- fixes and changes since Vim 7.0g ---
- Compilation error on HP-UX, use of "dlerr" must be inside a #ifdef.
- (Gary Johnson)
- Report +reltime feature in ":version" output.
- The tar and zip plugins detect failure to get the contents of the archive and
- edit the file as-is.
- When the result of 'guitablabel' is empty fall back to the default label.
- Fixed crash when using ":insert" in a while loop and missing "endwhile".
- "gt" and other commands could move to another window when |textlock| active
- and when the command line window was open.
- Spell checking a file with syntax highlighting and a bad word at the end of
- the line is ignored could make "]s" hang.
- Mac: inputdialog() didn't work when compiled with big features.
- Interrupting ":vimgrep" while it is busy loading a file left a modified and
- hidden buffer behind. Use enter_cleanup() and leave_cleanup() around
- wipe_buffer().
- When making 'keymap' empty the b:keymap_name variable wasn't deleted.
- Using CTRL-N that searches a long time, pressing space to interrupt the
- searching and accept the first match, the popup menu was still displayed
- briefly.
- When setting the Vim window height with -geometry the 'window' option could be
- at a value that makes CTRL-F behave differently.
- When opening a quickfix window in two tabs they used different buffers,
- causing redrawing problems later. Now use the same buffer for all quickfix
- windows. (Yegappan Lakshmanan)
- When 'mousefocus' is set moving the mouse to the text tab pages line would
- move focus to the first window. Also, the mouse pointer would jump to the
- active window.
- In a session file, when an empty buffer is wiped out, do this silently.
- When one window has the cursor on the last line and another window is resized
- to make that window smaller, the cursor line could go below the displayed
- lines. In win_new_height() subtract one from the available space.
- Also avoid that using "~" lines makes the window scroll down.
- Mac: When sourcing the "macmap.vim" script and then finding a .vimrc file the
- 'cpo' option isn't set properly, because it was already set and restored.
- Added the <special> argument to ":map", so that 'cpo' doesn't need to be
- changed to be able to use <> notation. Also do this for ":menu" for
- consistency.
- When using "/encoding=abc" in a spell word list, only "bc" was used.
- When 'encoding' and 'printencoding' were both "utf-8" then ":hardcopy" didn't
- work. (Mike Williams)
- Mac: When building with "--disable-gui" the install directory would still be
- "/Applications" and Vim.app would be installed. Now install in /usr/local as
- usual for a console application.
- GUI: when doing completion and there is one match and still searching for
- another, the cursor was displayed at the end of the line instead of after the
- match. Now show the cursor after the match while still searching for matches.
- GUI: The mouse shape changed on the statusline even when 'mouse' was empty and
- they can't be dragged.
- GTK2: Selecting a button in the confirm() dialog with Tab or cursor keys and
- hitting Enter didn't select that button. Removed GTK 1 specific code. (Neil
- Bird)
- When evaluating 'balloonexpr' takes a long time it could be called
- recursively, which could cause a crash.
- exists() could not be used to detect whether ":2match" is supported. Added a
- check for it specifically.
- GTK1: Tab page labels didn't work. (Yegappan Lakshmanan)
- Insert mode completion: When finding matches use 'ignorecase', but when adding
- matches to the list don't use it, so that all words with different case are
- added, "word", "Word" and "WORD".
- When 'cursorline' and 'hlsearch' are set and the search pattern is "x\n"
- the rest of the line was highlighted as a match.
- Cursor moved while evaluating 'balloonexpr' that invokes ":isearch" and
- redirects the output. Don't move the cursor to the command line if msg_silent
- is set.
- exists() ignored text after a function name and option name, which could
- result in false positives.
- exists() ignored characters after the recognized word, which can be wrong when
- using a name with non-keyword characters. Specifically, these calls no longer
- allow characters after the name: exists('*funcname') exists('*funcname(...')
- exists('&option') exists(':cmd') exists('g:name') exists('g:name[n]')
- exists('g:name.n')
- Trigger the TabEnter autocommand only after entering the current window of the
- tab page, otherwise the commands are executed with an invalid current window.
- Win32: When using two monitors and Vim is on the second monitor, changing the
- width of the Vim window could make it jump to the first monitor.
- When scrolling back at the more prompt and the quitting a line of text would
- be left behind when 'cmdheight' is 2 or more.
- Fixed a few things for Insert mode completion, especially when typing BS,
- CTRL-N or a printable character while still searching for matches.
- ==============================================================================
- VERSION 7.1 *version-7.1* *version7.1*
- This section is about improvements made between version 7.0 and 7.1.
- This is a bug-fix release, there are no fancy new features.
- Changed *changed-7.1*
- -------
- Added setting 'mouse' in vimrc_example.vim.
- When building with MZscheme also look for include files in the "plt"
- subdirectory. That's where they are for FreeBSD.
- The Ruby interface module is now called "Vim" instead of "VIM". But "VIM" is
- an alias, so it's backwards compatible. (Tim Pope)
- Added *added-7.1*
- -----
- New syntax files:
- /var/log/messages (Yakov Lerner)
- Autohotkey (Nikolai Weibull)
- AutoIt v3 (Jared Breland)
- Bazaar commit file "bzr". (Dmitry Vasiliev)
- Cdrdao TOC (Nikolai Weibull)
- Cmusrc (Nikolai Weibull)
- Conary recipe (rPath Inc)
- Framescript (Nikolai Weibull)
- FreeBasic (Mark Manning)
- Hamster (David Fishburn)
- IBasic (Mark Manning)
- Initng (Elan Ruusamae)
- Ldapconf (Nikolai Weibull)
- Litestep (Nikolai Weibull)
- Privoxy actions file (Doug Kearns)
- Streaming Descriptors "sd" (Puria Nafisi Azizi)
- New tutor files:
- Czech (Lubos Turek)
- Hungarian (Arpad Horvath)
- Turkish (Serkan kkk)
- utf-8 version of Greek tutor.
- utf-8 version of Russian tutor.
- utf-8 version of Slowak tutor.
- New filetype plugins:
- Bst (Tim Pope)
- Cobol (Tim Pope)
- Fvwm (Gautam Iyer)
- Hamster (David Fishburn)
- Django HTML template (Dave Hodder)
- New indent files:
- Bst (Tim Pope)
- Cobol (Tim Pope)
- Hamster (David Fishburn)
- Django HTML template (Dave Hodder)
- Javascript
- JSP (David Fishburn)
- New keymap files:
- Bulgarian (Boyko Bantchev)
- Mongolian (Natsagdorj Shagdar)
- Thaana (Ibrahim Fayaz)
- Vietnamese (Samuel Thibault)
- Other new runtime files:
- Ada support files. (Neil Bird, Martin Krischik)
- Slovenian menu translations (Mojca Miklavec)
- Mono C# compiler plugin (Jarek Sobiecki)
- Fixed *fixed-7.1*
- -----
- Could not build the Win32s version. Added a few structure definitions in
- src/gui_w32.c
- Patch 7.0.001
- Problem: ":set spellsuggest+=10" does not work. (Suresh Govindachar)
- Solution: Add P_COMMA to the 'spellsuggest' flags.
- Files: src/option.c
- Patch 7.0.002
- Problem: C omni completion has a problem with tags files with a path
- containing "#" or "%".
- Solution: Escape these characters. (Sebastian Baberowski)
- Files: runtime/autoload/ccomplete.vim
- Patch 7.0.003
- Problem: GUI: clicking in the lower part of a label in the tab pages line
- while 'mousefocus' is set may warp the mouse pointer. (Robert
- Webb)
- Solution: Check for a negative mouse position.
- Files: src/gui.c
- Patch 7.0.004
- Problem: Compiler warning for debug_saved used before set. (Todd Blumer)
- Solution: Remove the "else" for calling save_dbg_stuff().
- Files: src/ex_docmd.c
- Patch 7.0.005 (extra)
- Problem: Win32: The installer doesn't remove the "autoload" and "spell"
- directories. (David Fishburn)
- Solution: Add the directories to the list to be removed.
- Files: nsis/gvim.nsi
- Patch 7.0.006
- Problem: Mac: "make shadow" doesn't make a link for infplist.xml. (Axel
- Kielhorn)
- Solution: Make the link.
- Files: src/Makefile
- Patch 7.0.007
- Problem: AIX: compiling fails for message.c. (Ruediger Hornig)
- Solution: Move the #if outside of memchr().
- Files: src/message.c
- Patch 7.0.008
- Problem: Can't call a function that uses both <SID> and {expr}. (Thomas)
- Solution: Check both the expanded and unexpanded name for <SID>.
- Files: src/eval.c
- Patch 7.0.009
- Problem: ml_get errors with both 'sidescroll' and 'spell' set.
- Solution: Use ml_get_buf() instead of ml_get(), get the line from the right
- buffer, not the current one.
- Files: src/spell.c
- Patch 7.0.010
- Problem: The spellfile plugin required typing login name and password.
- Solution: Use "anonymous" and "vim7user" by default. No need to setup a
- .netrc file.
- Files: runtime/autoload/spellfile.vim
- Patch 7.0.011
- Problem: Can't compile without the folding and with the eval feature.
- Solution: Add an #ifdef. (Vallimar)
- Files: src/option.c
- Patch 7.0.012
- Problem: Using the matchparen plugin, moving the cursor in Insert mode to a
- shorter line that ends in a brace, changes the preferred column
- Solution: Use winsaveview()/winrestview() instead of getpos()/setpos().
- Files: runtime/plugin/matchparen.vim
- Patch 7.0.013
- Problem: Insert mode completion: using CTRL-L to add an extra character
- also deselects the current match, making it impossible to use
- CTRL-L a second time.
- Solution: Keep the current match. Also make CTRL-L work at the original
- text, using the first displayed match.
- Files: src/edit.c
- Patch 7.0.014
- Problem: Compiling gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe)
- Solution: Disable some code for Motif 1.2 and older.
- Files: src/gui_xmebw.c
- Patch 7.0.015
- Problem: Athena: compilation problems with modern compiler.
- Solution: Avoid type casts for lvalue. (Alexey Froloff)
- Files: src/gui_at_fs.c
- Patch 7.0.016
- Problem: Printing doesn't work for "dec-mcs" encoding.
- Solution: Add "dec-mcs", "mac-roman" and "hp-roman8" to the list of
- recognized 8-bit encodings. (Mike Williams)
- Files: src/mbyte.c
- Patch 7.0.017 (after 7.0.014)
- Problem: Linking gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe)
- Solution: Adjust defines for Motif 1.2 and older.
- Files: src/gui_xmebw.c
- Patch 7.0.018
- Problem: VMS: plugins are not loaded on startup.
- Solution: Remove "**" from the path. (Zoltan Arpadffy)
- Files: src/main.c
- Patch 7.0.019
- Problem: Repeating "VjA789" may cause a crash. (James Vega)
- Solution: Check the cursor column after moving it to another line.
- Files: src/ops.c
- Patch 7.0.020
- Problem: Crash when using 'mousefocus'. (William Fulton)
- Solution: Make buffer for mouse coordinates 2 bytes longer. (Juergen Weigert)
- Files: src/gui.c
- Patch 7.0.021
- Problem: Crash when using "\\[" and "\\]" in 'errorformat'. (Marc Weber)
- Solution: Check for valid submatches after matching the pattern.
- Files: src/quickfix.c
- Patch 7.0.022
- Problem: Using buffer.append() in Ruby may append the line to the wrong
- buffer. (Alex Norman)
- Solution: Properly switch to the buffer to do the appending. Also for
- buffer.delete() and setting a buffer line.
- Files: src/if_ruby.c
- Patch 7.0.023
- Problem: Crash when doing spell completion in an empty line and pressing
- CTRL-E.
- Solution: Check for a zero pointer. (James Vega)
- Also handle a situation without a matching pattern better, report
- "No matches" instead of remaining in undefined CTRL-X mode. And
- get out of CTRL-X mode when typing a letter.
- Files: src/edit.c
- Patch 7.0.024
- Problem: It is possible to set arbitrary "v:" variables.
- Solution: Disallow setting "v:" variables that are not predefined.
- Files: src/eval.c
- Patch 7.0.025
- Problem: Crash when removing an element of a:000. (Nikolai Weibull)
- Solution: Mark the a:000 list with VAR_FIXED.
- Files: src/eval.c
- Patch 7.0.026
- Problem: Using libcall() may show an old error.
- Solution: Invoke dlerror() to clear a previous error. (Yukihiro Nakadaira)
- Files: src/os_unix.c
- Patch 7.0.027 (extra)
- Problem: Win32: When compiled with SNIFF gvim may hang on exit.
- Solution: Translate and dispatch the WM_USER message. (Mathias Michaelis)
- Files: src/gui_w48.c
- Patch 7.0.028 (extra)
- Problem: OS/2: Vim doesn't compile with gcc 3.2.1.
- Solution: Add argument to after_pathsep(), don't define vim_handle_signal(),
- define HAVE_STDARG_H. (David Sanders)
- Files: src/os_unix.c, src/vim.h, src/os_os2_cfg.h
- Patch 7.0.029
- Problem: getchar() may not position the cursor after a space.
- Solution: Position the cursor explicitly.
- Files: src/eval.c
- Patch 7.0.030
- Problem: The ":compiler" command can't be used in a FileChangedRO event.
- (Hari Krishna Dara)
- Solution: Add the CMDWIN flag to the ":compiler" command.
- Files: src/ex_cmds.h
- Patch 7.0.031
- Problem: When deleting a buffer the buffer-local mappings for Select mode
- remain.
- Solution: Add the Select mode bit to MAP_ALL_MODES. (Edwin Steiner)
- Files: src/vim.h
- Patch 7.0.032 (extra, after 7.0.027)
- Problem: Missing semicolon.
- Solution: Add the semicolon.
- Files: src/gui_w48.c
- Patch 7.0.033
- Problem: When pasting text, with the menu or CTRL-V, autoindent is removed.
- Solution: Use "x<BS>" to avoid indent to be removed. (Benji Fisher)
- Files: runtime/autoload/paste.vim
- Patch 7.0.034
- Problem: After doing completion and typing more characters or using BS
- repeating with "." didn't work properly. (Martin Stubenschrott)
- Solution: Don't put BS and other characters in the redo buffer right away,
- do this when finishing completion.
- Files: src/edit.c
- Patch 7.0.035
- Problem: Insert mode completion works when typed but not when replayed from
- a register. (Hari Krishna Dara)
- Also: Mappings for Insert mode completion don't always work.
- Solution: When finding a non-completion key in the input don't interrupt
- completion when it wasn't typed.
- Do use mappings when checking for typeahead while still finding
- completions. Avoids that completion is interrupted too soon.
- Use "compl_pending" in a different way.
- Files: src/edit.c
- Patch 7.0.036
- Problem: Can't compile with small features and syntax highlighting or the
- diff feature.
- Solution: Define LINE_ATTR whenever syntax highlighting or the diff feature
- is enabled.
- Files: src/screen.c
- Patch 7.0.037
- Problem: Crash when resizing the GUI window vertically when there is a line
- that doesn't fit.
- Solution: Don't redraw while the screen data is invalid.
- Files: src/screen.c
- Patch 7.0.038
- Problem: When calling complete() from an Insert mode expression mapping
- text could be inserted in an improper way.
- Solution: Make undo_allowed() global and use it in complete().
- Files: src/undo.c, src/proto/undo.pro, src/eval.c
- Patch 7.0.039
- Problem: Calling inputdialog() with a third argument in the console doesn't
- work.
- Solution: Make a separate function for input() and inputdialog(). (Yegappan
- Lakshmanan)
- Files: src/eval.c
- Patch 7.0.040
- Problem: When 'cmdheight' is larger than 1 using inputlist() or selecting
- a spell suggestion with the mouse gets the wrong entry.
- Solution: Start listing the first alternative on the last line of the screen.
- Files: src/eval.c, src/spell.c
- Patch 7.0.041
- Problem: cursor([1, 1]) doesn't work. (Peter Hodge)
- Solution: Allow leaving out the third item of the list and use zero for the
- virtual column offset.
- Files: src/eval.c
- Patch 7.0.042
- Problem: When pasting a block of text in Insert mode Vim hangs or crashes.
- (Noam Halevy)
- Solution: Avoid that the cursor is positioned past the NUL of a line.
- Files: src/ops.c
- Patch 7.0.043
- Problem: Using "%!" at the start of 'statusline' doesn't work.
- Solution: Recognize the special item when the option is being set.
- Files: src/option.c
- Patch 7.0.044
- Problem: Perl: setting a buffer line in another buffer may result in
- changing the current buffer.
- Solution: Properly change to the buffer to be changed.
- Files: src/if_perl.xs
- Patch 7.0.045 (extra)
- Problem: Win32: Warnings when compiling OLE version with MSVC 2005.
- Solution: Move including vim.h to before windows.h. (Ilya Bobir)
- Files: src/if_ole.cpp
- Patch 7.0.046
- Problem: The matchparen plugin ignores parens in strings, but not in single
- quotes, often marked with "character".
- Solution: Also ignore parens in syntax items matching "character".
- Files: runtime/plugin/matchparen.vim
- Patch 7.0.047
- Problem: When running configure the exit status is wrong.
- Solution: Handle the exit status properly. (Matthew Woehlke)
- Files: configure, src/configure
- Patch 7.0.048
- Problem: Writing a compressed file fails when there are parens in the name.
- (Wang Jian)
- Solution: Put quotes around the temp file name.
- Files: runtime/autoload/gzip.vim
- Patch 7.0.049
- Problem: Some TCL scripts are not recognized. (Steven Atkinson)
- Solution: Check for "exec wish" in the file.
- Files: runtime/scripts.vim
- Patch 7.0.050
- Problem: After using the netbeans interface close command a stale pointer
- may be used.
- Solution: Clear the pointer to the closed buffer. (Xavier de Gaye)
- Files: src/netbeans.c
- Patch 7.0.051 (after 7.0.44)
- Problem: The Perl interface doesn't compile or doesn't work properly.
- Solution: Remove the spaces before #ifdef and avoid an empty line above it.
- Files: src/if_perl.xs
- Patch 7.0.052
- Problem: The user may not be aware that the Vim server allows others more
- functionality than desired.
- Solution: When running Vim as root don't become a Vim server without an
- explicit --servername argument.
- Files: src/main.c
- Patch 7.0.053
- Problem: Shortening a directory name may fail when there are multibyte
- characters.
- Solution: Copy the correct bytes. (Titov Anatoly)
- Files: src/misc1.c
- Patch 7.0.054
- Problem: Mac: Using a menu name that only has a mnemonic or accelerator
- causes a crash. (Elliot Shank)
- Solution: Check for an empty menu name. Also delete empty submenus that
- were created before detecting the error.
- Files: src/menu.c
- Patch 7.0.055
- Problem: ":startinsert" in a CmdwinEnter autocommand doesn't take immediate
- effect. (Bradley White)
- Solution: Put a NOP key in the typeahead buffer. Also avoid that using
- CTRL-C to go back to the command line moves the cursor left.
- Files: src/edit.c, src/ex_getln.c
- Patch 7.0.056
- Problem: "#!something" gives an error message.
- Solution: Ignore this line, so that it can be used in an executable Vim
- script.
- Files: src/ex_docmd.c
- Patch 7.0.057 (extra, after 7.0.45)
- Problem: Win32: Compilation problem with Borland C 5.5.
- Solution: Include vim.h as before. (Mark S. Williams)
- Files: src/if_ole.cpp
- Patch 7.0.058
- Problem: The gbk and gb18030 encodings are not recognized.
- Solution: Add aliases to cp936. (Edward L. Fox)
- Files: src/mbyte.c
- Patch 7.0.059
- Problem: The Perl interface doesn't compile with ActiveState Perl 5.8.8.
- Solution: Remove the __attribute__() items. (Liu Yubao)
- Files: src/if_perl.xs
- Patch 7.0.060 (after 7.0.51)
- Problem: Code for temporarily switching to another buffer is duplicated in
- quite a few places.
- Solution: Use aucmd_prepbuf() and aucmd_restbuf() also when FEAT_AUTOCMD is
- not defined.
- Files: src/buffer.c, src/eval.c, src/fileio.c, src/if_ruby.c,
- src/if_perl.xs, src/quickfix.c, src/structs.h
- Patch 7.0.061
- Problem: Insert mode completion for Vim commands may crash if there is
- nothing to complete.
- Solution: Instead of freeing the pattern make it empty, so that a "not
- found" error is given. (Yukihiro Nakadaira)
- Files: src/edit.c
- Patch 7.0.062
- Problem: Mac: Crash when using the popup menu for spell correction. The
- popup menu appears twice when letting go of the right mouse button
- early.
- Solution: Don't show the popup menu on the release of the right mouse
- button. Also check that a menu pointer is actually valid.
- Files: src/proto/menu.pro, src/menu.c, src/normal.c, src/term.c
- Patch 7.0.063
- Problem: Tiny chance for a memory leak. (coverity)
- Solution: Free pointer when next memory allocation fails.
- Files: src/eval.c
- Patch 7.0.064
- Problem: Using uninitialized variable. (Tony Mechelynck)
- Solution: When not used set "temp" to zero. Also avoid a warning for
- "files" in ins_compl_dictionaries().
- Files: src/edit.c
- Patch 7.0.065 (extra)
- Problem: Mac: left-right movement of the scrollwheel causes up-down
- scrolling.
- Solution: Ignore mouse wheel events that are not up-down. (Nicolas Weber)
- Files: src/gui_mac.c
- Patch 7.0.066
- Problem: After the popup menu for Insert mode completion overlaps the tab
- pages line it is not completely removed.
- Solution: Redraw the tab pages line after removing the popup menu. (Ori
- Avtalion)
- Files: src/popupmnu.c
- Patch 7.0.067
- Problem: Undo doesn't always work properly when using "scim" input method.
- Undo is split up when using preediting.
- Solution: Reset xim_has_preediting also when preedit_start_col is not
- MAXCOL. Don't split undo when <Left> is used while preediting.
- (Yukihiro Nakadaira)
- Files: src/edit.c, src/mbyte.c
- Patch 7.0.068
- Problem: When 'ignorecase' is set and using Insert mode completion,
- typing characters to change the list of matches, case is not
- ignored. (Hugo Ahlenius)
- Solution: Store the 'ignorecase' flag with the matches where needed.
- Files: src/edit.c, src/search.c, src/spell.c
- Patch 7.0.069
- Problem: Setting 'guitablabel' to %!expand(\%) causes Vim to free an
- invalid pointer. (Kim Schulz)
- Solution: Don't try freeing a constant string pointer.
- Files: src/buffer.c
- Patch 7.0.070
- Problem: Compiler warnings for shadowed variables and uninitialized
- variables.
- Solution: Rename variables such as "index", "msg" and "dup". Initialize
- variables.
- Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_x11.c,
- src/hardcopy.c, src/if_cscope.c, src/main.c, src/mbyte.c,
- src/memline.c, src/netbeans.c, src/normal.c, src/option.c,
- src/os_unix.c, src/quickfix.c, src/regexp.c, src/screen.c,
- src/search.c, src/spell.c, src/ui.c, src/undo.c, src/window.c,
- src/version.c
- Patch 7.0.071
- Problem: Using an empty search pattern may cause a crash.
- Solution: Avoid using a NULL pointer.
- Files: src/search.c
- Patch 7.0.072
- Problem: When starting the GUI fails there is no way to adjust settings or
- do something else.
- Solution: Add the GUIFailed autocommand event.
- Files: src/fileio.c, src/gui.c, src/vim.h
- Patch 7.0.073
- Problem: Insert mode completion: Typing <CR> sometimes selects the original
- text instead of keeping what was typed. (Justin Constantino)
- Solution: Don't let <CR> select the original text if there is no popup menu.
- Files: src/edit.c
- Patch 7.0.074 (extra)
- Problem: Win32: tooltips were not converted from 'encoding' to Unicode.
- Solution: Set the tooltip to use Unicode and do the conversion. Also
- cleanup the code for the tab pages tooltips. (Yukihiro Nakadaira)
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 7.0.075
- Problem: winsaveview() did not store the actual value of the desired cursor
- column. This could move the cursor in the matchparen plugin.
- Solution: Call update_curswant() before using the value w_curswant.
- Files: src/eval.c
- Patch 7.0.076 (after 7.0.010)
- Problem: Automatic downloading of spell files only works for ftp.
- Solution: Don't add login and password for non-ftp URLs. (Alexander Patrakov)
- Files: runtime/autoload/spellfile.vim
- Patch 7.0.077
- Problem: ":unlet v:this_session" causes a crash. (Marius Roets)
- Solution: When trying to unlet a fixed variable give an error message.
- Files: src/eval.c
- Patch 7.0.078
- Problem: There are two error messages E46.
- Solution: Change the number for the sandbox message to E794.
- Files: src/globals.h
- Patch 7.0.079
- Problem: Russian tutor doesn't work when 'encoding' is "utf-8".
- Solution: Use tutor.ru.utf-8 as the master, and generate the other encodings
- from it. Select the right tutor depending on 'encoding'. (Alexey
- Froloff)
- Files: runtime/tutor/Makefile, runtime/tutor/tutor.vim,
- runtime/tutor/tutor.ru.utf-8
- Patch 7.0.080
- Problem: Generating auto/pathdef.c fails for CFLAGS with a backslash.
- Solution: Double backslashes in the string. (Alexey Froloff)
- Files: src/Makefile
- Patch 7.0.081
- Problem: Command line completion doesn't work for a shell command with an
- absolute path.
- Solution: Don't use $PATH when there is an absolute path.
- Files: src/ex_getln.c
- Patch 7.0.082
- Problem: Calling a function that waits for input may cause List and
- Dictionary arguments to be freed by the garbage collector.
- Solution: Keep a list of all arguments to internal functions.
- Files: src/eval.c
- Patch 7.0.083
- Problem: Clicking with the mouse on an item for inputlist() doesn't work
- when 'compatible' is set and/or when 'cmdheight' is more than one.
- (Christian J. Robinson)
- Solution: Also decrement "lines_left" when 'more' isn't set. Set
- "cmdline_row" to zero to get all mouse events.
- Files: src/message.c, src/misc1.c
- Patch 7.0.084
- Problem: The garbage collector may do its work while some Lists or
- Dictionaries are used internally, e.g., by ":echo" that runs into
- the more-prompt or ":echo [garbagecollect()]".
- Solution: Only do garbage collection when waiting for a character at the
- toplevel. Let garbagecollect() set a flag that is handled at the
- toplevel before waiting for a character.
- Files: src/eval.c, src/getchar.c, src/globals.h, src/main.c
- Patch 7.0.085
- Problem: When doing "make test" the viminfo file is modified.
- Solution: Use another viminfo file after setting 'compatible'.
- Files: src/testdir/test56.in
- Patch 7.0.086
- Problem: getqflist() returns entries for pattern and text with the number
- zero. Passing these to setqflist() results in the string "0".
- Solution: Use an empty string instead of the number zero.
- Files: src/quickfix.c
- Patch 7.0.087
- Problem: After ":file fname" and ":saveas fname" the 'autochdir' option
- does not take effect. (Yakov Lerner)
- Commands for handling 'autochdir' are repeated many times.
- Solution: Add the DO_AUTOCHDIR macro and do_autochdir(). Use it for
- ":file fname" and ":saveas fname".
- Files: src/proto/buffer.pro, src/buffer.c, src/ex_cmds.c, src/macros.h,
- src/netbeans.c, src/option.c, src/window.c
- Patch 7.0.088
- Problem: When compiled with Perl the generated prototypes have "extern"
- unnecessarily added.
- Solution: Remove the "-pipe" argument from PERL_CFLAGS.
- Files: src/auto/configure, src/configure.in
- Patch 7.0.089
- Problem: "ga" does not work properly for a non-Unicode multibyte encoding.
- Solution: Only check for composing chars for utf-8. (Taro Muraoka)
- Files: src/ex_cmds.c
- Patch 7.0.090
- Problem: Cancelling the conform() dialog on the console with Esc requires
- typing it twice. (Benji Fisher)
- Solution: When the start of an escape sequence is found use 'timeoutlen' or
- 'ttimeoutlen'.
- Files: src/misc1.c
- Patch 7.0.091
- Problem: Using winrestview() while 'showcmd' is set causes the cursor to be
- displayed in the wrong position. (Yakov Lerner)
- Solution: Set the window topline properly.
- Files: src/eval.c
- Patch 7.0.092 (after 7.0.082 and 7.0.084)
- Problem: The list of internal function arguments is obsolete now that
- garbage collection is only done at the toplevel.
- Solution: Remove the list of all arguments to internal functions.
- Files: src/eval.c
- Patch 7.0.093
- Problem: The matchparen plugin can't handle a 'matchpairs' value where a
- colon is matched.
- Solution: Change the split() that is used to change 'matchpairs' into a
- List.
- Files: runtime/plugin/matchparen.vim
- Patch 7.0.094
- Problem: When a hidden buffer is made the current buffer and another file
- edited later, the file message will still be given. Using
- ":silent" also doesn't prevent the file message. (Marvin Renich)
- Solution: Reset the need_fileinfo flag when reading a file. Don't set
- need_fileinfo when msg_silent is set.
- Files: src/buffer.c, src/fileio.c
- Patch 7.0.095
- Problem: The Greek tutor is not available in utf-8. "el" is used for the
- language, only "gr" for the country is recognized.
- Solution: Add the utf-8 Greek tutor. Use it for conversion to iso-8859-7
- and cp737. (Lefteris Dimitroulakis)
- Files: runtime/tutor/Makefile, runtime/tutor/tutor.gr.utf-8,
- runtime/tutor/tutor.vim
- Patch 7.0.096
- Problem: taglist() returns the filename relative to the tags file, while
- the directory of the tags file is unknown. (Hari Krishna Dara)
- Solution: Expand the file name. (Yegappan Lakshmanan)
- Files: src/tag.c
- Patch 7.0.097
- Problem: ":tabclose N" that closes another tab page does not remove the tab
- pages line. Same problem when using the mouse.
- Solution: Adjust the tab pages line when needed in tabpage_close_other().
- Files: src/ex_docmd.c
- Patch 7.0.098
- Problem: Redirecting command output in a cmdline completion function
- doesn't work. (Hari Krishna Dara)
- Solution: Enable redirection when redirection is started.
- Files: src/ex_docmd.c, src/ex_getln.c
- Patch 7.0.099
- Problem: GUI: When the popup menu is visible using the scrollbar messes up
- the display.
- Solution: Disallow scrolling the current window. Redraw the popup menu
- after scrolling another window.
- Files: src/gui.c
- Patch 7.0.100
- Problem: "zug" may report the wrong filename. (Lawrence Kesteloot)
- Solution: Call home_replace() to fill NameBuff[].
- Files: src/spell.c
- Patch 7.0.101
- Problem: When the "~/.vim/spell" directory does not exist "zg" may create
- a wrong directory. "zw" doesn't work.
- Solution: Use the directory of the file name instead of NameBuff. For "zw"
- not only remove a good word but also add the word with "!".
- Files: src/spell.c
- Patch 7.0.102
- Problem: Redrawing cmdline is not correct when using SCIM.
- Solution: Don't call im_get_status(). (Yukihiro Nakadaira)
- Files: src/ex_getln.c
- Patch 7.0.103 (after 7.0.101)
- Problem: Compiler warning for uninitialized variable. (Tony Mechelynck)
- Solution: Init variable.
- Files: src/spell.c
- Patch 7.0.104
- Problem: The CursorHoldI event only triggers once in Insert mode. It also
- triggers after CTRL-V and other two-key commands.
- Solution: Set "did_cursorhold" before getting a second key. Reset
- "did_cursorhold" after handling a command.
- Files: src/edit.c, src/fileio.c
- Patch 7.0.105
- Problem: When using incremental search the statusline ruler isn't updated.
- (Christoph Koegl)
- Solution: Update the statusline when it contains the ruler.
- Files: src/ex_getln.c
- Patch 7.0.106
- Problem: The spell popup menu uses ":amenu", triggering mappings. Other
- PopupMenu autocommands are removed. (John Little)
- Solution: Use ":anoremenu" and use an autocmd group.
- Files: runtime/menu.vim
- Patch 7.0.107
- Problem: Incremental search doesn't redraw the text tabline. (Ilya Bobir)
- Also happens in other situations with one window in a tab page.
- Solution: Redraw the tabline after clearing the screen.
- Files: src/screen.c
- Patch 7.0.108 (extra)
- Problem: Amiga: Compilation problem.
- Solution: Have mch_mkdir() return a failure flag. (Willy Catteau)
- Files: src/os_amiga.c, src/proto/os_amiga.pro
- Patch 7.0.109
- Problem: Lisp indenting is confused by escaped quotes in strings. (Dorai
- Sitaram)
- Solution: Check for backslash inside strings. (Sergey Khorev)
- Files: src/misc1.c
- Patch 7.0.110
- Problem: Amiga: Compilation problems when not using libnix.
- Solution: Change a few #ifdefs. (Willy Catteau)
- Files: src/memfile.c
- Patch 7.0.111
- Problem: The gzip plugin can't handle filenames with single quotes.
- Solution: Add and use the shellescape() function. (partly by Alexey Froloff)
- Files: runtime/autoload/gzip.vim, runtime/doc/eval.txt, src/eval.c,
- src/mbyte.c, src/misc2.c, src/proto/misc2.pro
- Patch 7.0.112
- Problem: Python interface does not work with Python 2.5.
- Solution: Change PyMem_DEL() to Py_DECREF(). (Sumner Hayes)
- Files: src/if_python.c
- Patch 7.0.113
- Problem: Using CTRL-L in Insert completion when there is no current match
- may cause a crash. (Yukihiro Nakadaira)
- Solution: Check for compl_leader to be NULL
- Files: src/edit.c
- Patch 7.0.114
- Problem: When aborting an insert with CTRL-C an extra undo point is
- created in the GUI. (Yukihiro Nakadaira)
- Solution: Call gotchars() only when advancing.
- Files: src/getchar.c
- Patch 7.0.115
- Problem: When 'ignorecase' is set, Insert mode completion only adds "foo"
- and not "Foo" when both are found.
- A found match isn't displayed right away when 'completeopt' does
- not have "menu" or "menuone".
- Solution: Do not ignore case when checking if a completion match already
- exists. call ins_compl_check_keys() also when not using a popup
- menu. (Yukihiro Nakadaira)
- Files: src/edit.c
- Patch 7.0.116
- Problem: 64 bit Windows version reports "32 bit" in the ":version" output.
- (M. Veerman)
- Solution: Change the text for Win64.
- Files: src/version.c
- Patch 7.0.117
- Problem: Using "extend" on a syntax item inside a region with "keepend", an
- intermediate item may be truncated.
- When applying the "keepend" and there is an offset to the end
- pattern the highlighting of a contained item isn't adjusted.
- Solution: Use the seen_keepend flag to remember when to apply the "keepend"
- flag. Adjust the keepend highlighting properly. (Ilya Bobir)
- Files: src/syntax.c
- Patch 7.0.118
- Problem: printf() does not do zero padding for strings.
- Solution: Do allow zero padding for strings.
- Files: src/message.c
- Patch 7.0.119
- Problem: When going back from Insert to Normal mode the CursorHold event
- doesn't trigger. (Yakov Lerner)
- Solution: Reset "did_cursorhold" when leaving Insert mode.
- Files: src/edit.c
- Patch 7.0.120
- Problem: Crash when using CTRL-R = at the command line and entering
- "getreg('=')". (James Vega)
- Solution: Avoid recursiveness of evaluating the = register.
- Files: src/ops.c
- Patch 7.0.121
- Problem: GUI: Dragging the last status line doesn't work when there is a
- text tabline. (Markus Wolf)
- Solution: Take the text tabline into account when deciding to start modeless
- selection.
- Files: src/gui.c
- Patch 7.0.122
- Problem: GUI: When clearing after a bold, double-wide character half a
- character may be drawn.
- Solution: Check for double-wide character and redraw it. (Yukihiro Nakadaira)
- Files: src/screen.c
- Patch 7.0.123
- Problem: On SCO Openserver configure selects the wrong terminal library.
- Solution: Put terminfo before the other libraries. (Roger Cornelius)
- Also fix a small problem compiling on Mac without Darwin.
- Files: src/configure.in, src/auto/configure
- Patch 7.0.124
- Problem: getwinvar() obtains a dictionary with window-local variables, but
- it's always for the current window.
- Solution: Get the variables of the specified window. (Geoff Reedy)
- Files: src/eval.c
- Patch 7.0.125
- Problem: When "autoselect" is in the 'clipboard' option then the '< and '>
- marks are set while Visual mode is still active.
- Solution: Don't set the '< and '> marks when yanking the selected area for
- the clipboard.
- Files: src/normal.c
- Patch 7.0.126
- Problem: When 'formatexpr' uses setline() and later internal formatting is
- used undo information is not correct. (Jiri Cerny, Benji Fisher)
- Solution: Set ins_need_undo after using 'formatexpr'.
- Files: src/edit.c
- Patch 7.0.127
- Problem: Crash when swap file has invalid timestamp.
- Solution: Check return value of ctime() for being NULL.
- Files: src/memline.c
- Patch 7.0.128
- Problem: GUI: when closing gvim is cancelled because there is a changed
- buffer the screen isn't updated to show the changed buffer in the
- current window. (Krzysztof Kacprzak)
- Solution: Redraw when closing gvim is cancelled.
- Files: src/gui.c
- Patch 7.0.129
- Problem: GTK GUI: the GTK file dialog can't handle a relative path.
- Solution: Make the initial directory a full path before passing it to GTK.
- (James Vega) Also postpone adding the default file name until
- after setting the directory.
- Files: src/gui_gtk.c
- Patch 7.0.130 (extra)
- Problem: Win32: Trying to edit or write devices may cause Vim to get stuck.
- Solution: Add the 'opendevice' option, default off. Disallow
- reading/writing from/to devices when it's off.
- Also detect more devices by the full name starting with "\\.\".
- Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h,
- src/os_win32.c
- Patch 7.0.131
- Problem: Win32: "vim -r" does not list all the swap files.
- Solution: Also check for swap files starting with a dot.
- Files: src/memline.c
- Patch 7.0.132 (after 7.0.130)
- Problem: Win32: Crash when Vim reads from stdin.
- Solution: Only use mch_nodetype() when there is a file name.
- Files: src/fileio.c
- Patch 7.0.133
- Problem: When searching included files messages are added to the history.
- Solution: Set msg_hist_off for messages about scanning included files.
- Set msg_silent to avoid message about wrapping around.
- Files: src/edit.c, src/globals.h, src/message.c, src/search.c
- Patch 7.0.134
- Problem: Crash when comparing a recursively looped List or Dictionary.
- Solution: Limit recursiveness for comparing to 1000.
- Files: src/eval.c
- Patch 7.0.135
- Problem: Crash when garbage collecting list or dict with loop.
- Solution: Don't use DEL_REFCOUNT but don't recurse into Lists and
- Dictionaries when freeing them in the garbage collector.
- Also add allocated Dictionaries to the list of Dictionaries to
- avoid leaking memory.
- Files: src/eval.c, src/proto/eval.pro, src/tag.c
- Patch 7.0.136
- Problem: Using "O" while matching parens are highlighted may not remove the
- highlighting. (Ilya Bobir)
- Solution: Also trigger CursorMoved when a line is inserted under the cursor.
- Files: src/misc1.c
- Patch 7.0.137
- Problem: Configure check for big features is wrong.
- Solution: Change "==" to "=". (Martti Kuparinen)
- Files: src/auto/configure, src/configure.in
- Patch 7.0.138 (extra)
- Problem: Mac: modifiers don't work with function keys.
- Solution: Use GetEventParameter() to obtain modifiers. (Nicolas Weber)
- Files: src/gui_mac.c
- Patch 7.0.139
- Problem: Using CTRL-PageUp or CTRL-PageDown in Insert mode to go to another
- tab page does not prepare for undo properly. (Stefano Zacchiroli)
- Solution: Call start_arrow() before switching tab page.
- Files: src/edit.c
- Patch 7.0.140 (after 7.0.134)
- Problem: Comparing recursively looped List or Dictionary doesn't work well.
- Solution: Detect comparing a List or Dictionary with itself.
- Files: src/eval.c
- Patch 7.0.141
- Problem: When pasting a while line on the command line an extra CR is added
- literally.
- Solution: Don't add the trailing CR when pasting with the mouse.
- Files: src/ex_getln.c, src/proto/ops.pro, src/ops.c
- Patch 7.0.142
- Problem: Using the middle mouse button in Select mode to paste text results
- in an extra "y". (Kriton Kyrimis)
- Solution: Let the middle mouse button replace the selected text with the
- contents of the clipboard.
- Files: src/normal.c
- Patch 7.0.143
- Problem: Setting 'scroll' to its default value was not handled correctly.
- Solution: Compare the right field to PV_SCROLL.
- Files: src/option.c
- Patch 7.0.144
- Problem: May compare two unrelated pointers when matching a pattern against
- a string. (Dominique Pelle)
- Solution: Avoid calling reg_getline() when REG_MULTI is false.
- Files: src/regexp.c
- Patch 7.0.145 (after 7.0.142)
- Problem: Compiler warning.
- Solution: Add type cast.
- Files: src/normal.c
- Patch 7.0.146
- Problem: When 'switchbuf' is set to "usetab" and the current tab has only a
- quickfix window, jumping to an error always opens a new window.
- Also, when the buffer is open in another tab page it's not found.
- Solution: Check for the "split" value of 'switchbuf' properly. Search in
- other tab pages for the desired buffer. (Yegappan Lakshmanan)
- Files: src/buffer.c, src/quickfix.c
- Patch 7.0.147
- Problem: When creating a session file and there are several tab pages and
- some windows have a local directory a short file name may be used
- when it's not valid. (Marius Roets)
- A session with multiple tab pages may result in "No Name" buffers.
- (Bill McCarthy)
- Solution: Don't enter tab pages when going through the list, only use a
- pointer to the first window in each tab page.
- Use "tabedit" instead of "tabnew | edit" when possible.
- Files: src/ex_docmd.c
- Patch 7.0.148
- Problem: When doing "call a.xyz()" and "xyz" does not exist in dictionary
- "a" there is no error message. (Yegappan Lakshmanan)
- Solution: Add the error message.
- Files: src/eval.c
- Patch 7.0.149
- Problem: When resizing a window that shows "~" lines the text sometimes
- jumps down.
- Solution: Remove code that uses "~" lines in some situations. Fix the
- computation of the screen line of the cursor. Also set w_skipcol
- to handle very long lines.
- Files: src/misc1.c, src/window.c
- Patch 7.0.150
- Problem: When resizing the Vim window scrollbinding doesn't work. (Yakov
- Lerner)
- Solution: Do scrollbinding in set_shellsize().
- Files: src/term.c
- Patch 7.0.151
- Problem: Buttons in file dialog are not according to Gnome guidelines.
- Solution: Swap Cancel and Open buttons. (Stefano Zacchiroli)
- Files: src/gui_gtk.c
- Patch 7.0.152
- Problem: Crash when using lesstif 2.
- Solution: Fill in the extension field. (Ben Hutchings)
- Files: src/gui_xmebw.c
- Patch 7.0.153
- Problem: When using cscope and opening the temp file fails Vim crashes.
- (Kaya Bekiroglu)
- Solution: Check for NULL pointer returned from mch_open().
- Files: src/if_cscope.c
- Patch 7.0.154
- Problem: When 'foldnestmax' is negative Vim can hang. (James Vega)
- Solution: Avoid the fold level becoming negative.
- Files: src/fold.c, src/syntax.c
- Patch 7.0.155
- Problem: When getchar() returns a mouse button click there is no way to get
- the mouse coordinates.
- Solution: Add v:mouse_win, v:mouse_lnum and v:mouse_col.
- Files: runtime/doc/eval.txt, src/eval.c, src/vim.h
- Patch 7.0.156 (extra)
- Problem: Vim doesn't compile for Amiga OS 4.
- Solution: Various changes for Amiga OS4. (Peter Bengtsson)
- Files: src/feature.h, src/mbyte.c, src/memfile.c, src/memline.c,
- src/os_amiga.c, src/os_amiga.h, src/pty.c
- Patch 7.0.157
- Problem: When a function is used recursively the profiling information is
- invalid. (Mikolaj Machowski)
- Solution: Put the start time on the stack instead of in the function.
- Files: src/eval.c
- Patch 7.0.158
- Problem: In a C file with ":set foldmethod=syntax", typing {<CR> on the
- last line results in the cursor being in a closed fold. (Gautam
- Iyer)
- Solution: Open fold after inserting a new line.
- Files: src/edit.c
- Patch 7.0.159
- Problem: When there is an I/O error in the swap file the cause of the error
- cannot be seen.
- Solution: Use PERROR() instead of EMSG() where possible.
- Files: src/memfile.c
- Patch 7.0.160
- Problem: ":@a" echoes the command, Vi doesn't do that.
- Solution: Set the silent flag in the typeahead buffer to avoid echoing the
- command.
- Files: src/ex_docmd.c, src/normal.c, src/ops.c, src/proto/ops.pro
- Patch 7.0.161
- Problem: Win32: Tab pages line popup menu isn't using the right encoding.
- (Yongwei Wu)
- Solution: Convert the text when necessary. Also fixes the Find/Replace
- dialog title. (Yegappan Lakshmanan)
- Files: src/gui_w48.c
- Patch 7.0.162
- Problem: "vim -o a b" when file "a" triggers the ATTENTION dialog,
- selecting "Quit" exits Vim instead of editing "b" only.
- When file "b" triggers the ATTENTION dialog selecting "Quit" or
- "Abort" results in editing file "a" in that window.
- Solution: When selecting "Abort" exit Vim. When selecting "Quit" close the
- window. Also avoid hit-enter prompt when selecting Abort.
- Files: src/buffer.c, src/main.c
- Patch 7.0.163
- Problem: Can't retrieve the position of a sign after it was set.
- Solution: Add the netbeans interface getAnno command. (Xavier de Gaye)
- Files: runtime/doc/netbeans.txt, src/netbeans.c
- Patch 7.0.164
- Problem: ":redir @+" doesn't work.
- Solution: Accept "@+" just like "@*". (Yegappan Lakshmanan)
- Files: src/ex_docmd.c
- Patch 7.0.165
- Problem: Using CTRL-L at the search prompt adds a "/" and other characters
- without escaping, causing the pattern not to match.
- Solution: Escape special characters with a backslash.
- Files: src/ex_getln.c
- Patch 7.0.166
- Problem: Crash in cscope code when connection could not be opened.
- (Kaya Bekiroglu)
- Solution: Check for the file descriptor to be NULL.
- Files: src/if_cscope.c
- Patch 7.0.167
- Problem: ":function" redefining a dict function doesn't work properly.
- (Richard Emberson)
- Solution: Allow a function name to be a number when it's a function
- reference.
- Files: src/eval.c
- Patch 7.0.168
- Problem: Using uninitialized memory and memory leak. (Dominique Pelle)
- Solution: Use alloc_clear() instead of alloc() for w_lines. Free
- b_ml.ml_stack after recovery.
- Files: src/memline.c, src/window.c
- Patch 7.0.169
- Problem: With a Visual block selection, with the cursor in the left upper
- corner, pressing "I" doesn't remove the highlighting. (Guopeng
- Wen)
- Solution: When checking if redrawing is needed also check if Visual
- selection is still active.
- Files: src/screen.c
- Patch 7.0.170 (extra)
- Problem: Win32: Using "gvim --remote-tab foo" when gvim is minimized while
- it previously was maximized, un-maximizing doesn't work properly.
- And the labels are not displayed properly when 'encoding' is
- utf-8.
- Solution: When minimized check for SW_SHOWMINIMIZED. When updating the tab
- pages line use TCM_SETITEMW instead of TCM_INSERTITEMW. (Liu
- Yubao)
- Files: src/gui_w48.c
- Patch 7.0.171 (extra)
- Problem: VMS: A file name with multiple paths is written in the wrong file.
- Solution: Get the actually used file name. (Zoltan Arpadffy)
- Also add info to the :version command about compilation.
- Files: src/Make_vms.mms, src/buffer.c, src/os_unix.c, src/version.c
- Patch 7.0.172
- Problem: Crash when recovering and quitting at the "press-enter" prompt.
- Solution: Check for "msg_list" to be NULL. (Liu Yubao)
- Files: src/ex_eval.c
- Patch 7.0.173
- Problem: ":call f().TT()" doesn't work. (Richard Emberson)
- Solution: When a function returns a Dictionary or another composite continue
- evaluating what follows.
- Files: src/eval.c
- Patch 7.0.174
- Problem: ":mksession" doesn't restore window layout correctly in tab pages
- other than the current one. (Zhibin He)
- Solution: Use the correct topframe for producing the window layout commands.
- Files: src/ex_docmd.c
- Patch 7.0.175
- Problem: The result of tr() is missing the terminating NUL. (Ingo Karkat)
- Solution: Add the NUL.
- Files: src/eval.c
- Patch 7.0.176
- Problem: ":emenu" isn't executed directly, causing the encryption key
- prompt to fail. (Life Jazzer)
- Solution: Fix wrong #ifdef.
- Files: src/menu.c
- Patch 7.0.177
- Problem: When the press-enter prompt gets a character from a non-remappable
- mapping, it's put back in the typeahead buffer as remappable,
- which may cause an endless loop.
- Solution: Restore the non-remappable flag and the silent flag when putting a
- char back in the typeahead buffer.
- Files: src/getchar.c, src/message.c, src/normal.c
- Patch 7.0.178
- Problem: When 'enc' is "utf-8" and 'ignorecase' is set the result of ":echo
- ("\xe4" == "\xe4")" varies.
- Solution: In mb_strnicmp() avoid looking past NUL bytes.
- Files: src/mbyte.c
- Patch 7.0.179
- Problem: Using ":recover" or "vim -r" without a swapfile crashes Vim.
- Solution: Check for "buf" to be unequal NULL. (Yukihiro Nakadaira)
- Files: src/memline.c
- Patch 7.0.180 (extra, after 7.0.171)
- Problem: VMS: build failed. Problem with swapfiles.
- Solution: Add "compiled_arch". Always expand path and pass it to
- buf_modname(). (Zoltan Arpadffy)
- Files: src/globals.h, src/memline.c, src/os_unix.c, runtime/menu.vim
- Patch 7.0.181
- Problem: When reloading a file that starts with an empty line, the reloaded
- buffer has an extra empty line at the end. (Motty Lentzitzky)
- Solution: Delete all lines, don't use bufempty().
- Files: src/fileio.c
- Patch 7.0.182
- Problem: When using a mix of undo and "g-" it may no longer be possible to
- go to every point in the undo tree. (Andy Wokula)
- Solution: Correctly update pointers in the undo tree.
- Files: src/undo.c
- Patch 7.0.183
- Problem: Crash in ":let" when redirecting to a variable that's being
- displayed. (Thomas Link)
- Solution: When redirecting to a variable only do the assignment when
- stopping redirection to avoid that setting the variable causes a
- freed string to be accessed.
- Files: src/eval.c
- Patch 7.0.184
- Problem: When the cscope program is called "mlcscope" the Cscope interface
- doesn't work.
- Solution: Accept "\S*cscope:" instead of "cscope:". (Frodak D. Baksik)
- Files: src/if_cscope.c
- Patch 7.0.185
- Problem: Multi-byte characters in a message are displayed with attributes
- from what comes before it.
- Solution: Don't use the attributes for a multibyte character. Do use
- attributes for special characters. (Yukihiro Nakadaira)
- Files: src/message.c
- Patch 7.0.186
- Problem: Get an ml_get error when 'encoding' is "utf-8" and searching for
- "/\_s*/e" in an empty buffer. (Andrew Maykov)
- Solution: Don't try getting the line just below the last line.
- Files: src/search.c
- Patch 7.0.187
- Problem: Can't source a remote script properly.
- Solution: Add the SourceCmd event. (Charles Campbell)
- Files: runtime/doc/autocmd.txt, src/ex_cmds2.c, src/fileio.c, src/vim.h
- Patch 7.0.188 (after 7.0.186)
- Problem: Warning for wrong pointer type.
- Solution: Add a type cast.
- Files: src/search.c
- Patch 7.0.189
- Problem: Translated message about finding matches is truncated. (Yukihiro
- Nakadaira)
- Solution: Enlarge the buffer. Also use vim_snprintf().
- Files: src/edit.c
- Patch 7.0.190
- Problem: "syntax spell default" results in an error message.
- Solution: Change 4 to 7 for STRNICMP(). (Raul Nunez de Arenas Coronado)
- Files: src/syntax.c
- Patch 7.0.191
- Problem: The items used by getqflist() and setqflist() don't match.
- Solution: Support the "bufnum" item for setqflist(). (Yegappan Lakshmanan)
- Files: runtime/doc/eval.txt, src/quickfix.c
- Patch 7.0.192
- Problem: When 'swapfile' is switched off in an empty file it is possible
- that not all blocks are loaded into memory, causing ml_get errors
- later.
- Solution: Rename "dont_release" to "mf_dont_release" and also use it to
- avoid using the cached line and locked block.
- Files: src/globals.h, src/memfile.c, src/memline.c
- Patch 7.0.193
- Problem: Using --remote or --remote-tab with an argument that matches
- 'wildignore' causes a crash.
- Solution: Check the argument count before using ARGLIST[0].
- Files: src/ex_cmds.c
- Patch 7.0.194
- Problem: Once an ml_get error is given redrawing part of the screen may
- cause it again, resulting in an endless loop.
- Solution: Don't give the error message for a recursive call.
- Files: src/memline.c
- Patch 7.0.195
- Problem: When a buffer is modified and 'autowriteall' is set, ":quit"
- results in an endless loop when there is a conversion error while
- writing. (Nikolai Weibull)
- Solution: Make autowrite() return FAIL if the buffer is still changed after
- writing it.
- /* put the cursor on the last char, for 'tw' formatting */
- Files: src/ex_cmds2.c
- Patch 7.0.196
- Problem: When using ":vert ball" the computation of the mouse pointer
- position may be off by one column. (Stefan Karlsson)
- Solution: Recompute the frame width when moving the vertical separator from
- one window to another.
- Files: src/window.c
- Patch 7.0.197 (extra)
- Problem: Win32: Compiling with EXITFREE doesn't work.
- Solution: Adjust a few #ifdefs. (Alexei Alexandrof)
- Files: src/misc2.c, src/os_mswin.c
- Patch 7.0.198 (extra)
- Problem: Win32: Compiler warnings. No need to generate gvim.exe.mnf.
- Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly)
- Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c
- Patch 7.0.199
- Problem: When using multibyte characters the combination of completion and
- formatting may result in a wrong cursor position.
- Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
- Nakadaira) Also check for the column to be zero.
- Files: src/edit.c
- Patch 7.0.200
- Problem: Memory leaks when out of memory.
- Solution: Free the memory.
- Files: src/edit.c, src/diff.c
- Patch 7.0.201
- Problem: Message for ":diffput" about buffer not being in diff mode may be
- wrong.
- Solution: Check for buffer in diff mode but not modifiable.
- Files: src/diff.c
- Patch 7.0.202
- Problem: Problems on Tandem systems while compiling and at runtime.
- Solution: Recognize root uid is 65535. Check select() return value for it
- not being supported. Avoid wrong function prototypes. Mention
- use of -lfloss. (Matthew Woehlke)
- Files: src/Makefile, src/ex_cmds.c, src/fileio.c, src/main.c,
- src/osdef1.h.in, src/osdef2.h.in, src/os_unix.c, src/pty.c,
- src/vim.h
- Patch 7.0.203
- Problem: 0x80 characters in a register are not handled correctly for the
- "@" command.
- Solution: Escape CSI and 0x80 characters. (Yukihiro Nakadaira)
- Files: src/ops.c
- Patch 7.0.204
- Problem: Cscope: Parsing matches for listing isn't done properly.
- Solution: Check for line number being found. (Yu Zhao)
- Files: src/if_cscope.c
- Patch 7.0.205 (after 7.0.203)
- Problem: Can't compile.
- Solution: Always include the vim_strsave_escape_csi function.
- Files: src/getchar.c
- Patch 7.0.206 (after 7.0.058)
- Problem: Some characters of the "gb18030" encoding are not handled
- properly.
- Solution: Do not use "cp936" as an alias for "gb18030" encoding. Instead
- initialize 'encoding' to "cp936".
- Files: src/mbyte.c, src/option.c
- Patch 7.0.207
- Problem: After patch 2.0.203 CSI and K_SPECIAL characters are escaped when
- recorded and then again when the register is executed.
- Solution: Remove escaping before putting the recorded characters in a
- register. (Yukihiro Nakadaira)
- Files: src/getchar.c, src/ops.c, src/proto/getchar.pro
- Patch 7.0.208 (after 7.0.171 and 7.0.180)
- Problem: VMS: changes to path handling cause more trouble than they solve.
- Solution: Revert changes.
- Files: src/buffer.c, src/memline.c, src/os_unix.c
- Patch 7.0.209
- Problem: When replacing a line through Python the cursor may end up beyond
- the end of the line.
- Solution: Check the cursor column after replacing the line.
- Files: src/if_python.c
- Patch 7.0.210
- Problem: ":cbuffer" and ":lbuffer" always fail when the buffer is modified.
- (Gary Johnson)
- Solution: Support adding a !. (Yegappan Lakshmanan)
- Files: runtime/doc/quickfix.txt, src/ex_cmds.h
- Patch 7.0.211
- Problem: With ":set cindent noai bs=0" using CTRL-U in Insert mode will
- delete auto-indent. After ":set ai" it doesn't.
- Solution: Also check 'cindent' being set. (Ryan Lortie)
- Files: src/edit.c
- Patch 7.0.212
- Problem: The GUI can't be terminated with SIGTERM. (Mark Logan)
- Solution: Use the signal protection in the GUI as in the console, allow
- signals when waiting for 100 msec or longer.
- Files: src/ui.c
- Patch 7.0.213
- Problem: When 'spellfile' has two regions that use the same sound folding
- using "z=" will cause memory to be freed twice. (Mark Woodward)
- Solution: Clear the hashtable properly so that the items are only freed once.
- Files: src/spell.c
- Patch 7.0.214
- Problem: When using <f-args> in a user command it's not possible to have an
- argument end in '\ '.
- Solution: Change the handling of backslashes. (Yakov Lerner)
- Files: runtime/doc/map.txt, src/ex_docmd.c
- Patch 7.0.215 (extra)
- Problem: Mac: Scrollbar size isn't set. Context menu has disabled useless
- Help entry. Call to MoreMasterPointers() is ignored.
- Solution: Call SetControlViewSize() in gui_mch_set_scrollbar_thumb(). Use
- kCMHelpItemRemoveHelp for ContextualMenuSelect(). Remove call to
- MoreMasterPointers(). (Nicolas Weber)
- Files: src/gui_mac.c
- Patch 7.0.216
- Problem: ":tab wincmd ]" does not open a tab page. (Tony Mechelynck)
- Solution: Copy the cmdmod.tab value to postponed_split_tab and use it.
- Files: src/globals.h, src/ex_docmd.c, src/if_cscope.c, src/window.c
- Patch 7.0.217
- Problem: This hangs when pressing "n": ":%s/\n/,\r/gc". (Ori Avtalion)
- Solution: Set "skip_match" to advance to the next line.
- Files: src/ex_cmds.c
- Patch 7.0.218
- Problem: "%B" in 'statusline' always shows zero in Insert mode. (DervishD)
- Solution: Remove the exception for Insert mode, check the column for being
- valid instead.
- Files: src/buffer.c
- Patch 7.0.219
- Problem: When using the 'editexisting.vim' script and a file is being
- edited in another tab page the window is split. The "+123"
- argument is not used.
- Solution: Make the tab page with the file the current tab page. Set
- v:swapcommand when starting up to the first "+123" or "-c" command
- line argument.
- Files: runtime/macros/editexisting.vim, src/main.c
- Patch 7.0.220
- Problem: Crash when using winnr('#') in a new tab page. (Andy Wokula)
- Solution: Check for not finding the window.
- Files: src/eval.c
- Patch 7.0.221
- Problem: finddir() uses 'path' by default, where "." means relative to the
- current file. But it works relative to the current directory.
- (Tye Zdrojewski)
- Solution: Add the current buffer name to find_file_in_path_option() for the
- relative file name.
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.0.222
- Problem: Perl indenting using 'cindent' works almost right.
- Solution: Recognize '#' to start a comment. (Alex Manoussakis) Added '#'
- flag in 'cinoptions'.
- Files: runtime/doc/indent.txt, src/misc1.c
- Patch 7.0.223
- Problem: Unprintable characters in completion text mess up the popup menu.
- (Gombault Damien)
- Solution: Use strtrans() to make the text printable.
- Files: src/charset.c, src/popupmnu.c
- Patch 7.0.224
- Problem: When expanding "##" spaces are escaped twice. (Pavol Juhas)
- Solution: Don't escape the spaces that separate arguments.
- Files: src/eval.c, src/ex_docmd.c, src/proto/ex_docmd.pro
- Patch 7.0.225
- Problem: When using setline() in an InsertEnter autocommand and doing "A"
- the cursor ends up on the last byte in the line. (Yukihiro
- Nakadaira)
- Solution: Only adjust the column when using setline() for the cursor line.
- Move it back to the head byte if necessary.
- Files: src/eval.c, src/misc2.c
- Patch 7.0.226
- Problem: Display flickering when updating signs through the netbeans
- interface. (Xavier de Gaye)
- Solution: Remove the redraw_later(CLEAR) call.
- Files: src/netbeans.c
- Patch 7.0.227
- Problem: Crash when closing a window in the GUI. (Charles Campbell)
- Solution: Don't call out_flush() from win_free().
- Files: src/window.c
- Patch 7.0.228
- Problem: Cygwin: problem with symlink to DOS style path.
- Solution: Invoke cygwin_conv_to_posix_path(). (Luca Masini)
- Files: src/os_unix.c
- Patch 7.0.229
- Problem: When 'pastetoggle' starts with Esc then pressing Esc in Insert
- mode will not time out. (Jeffery Small)
- Solution: Use KL_PART_KEY instead of KL_PART_MAP, so that 'ttimeout' applies
- to the 'pastetoggle' key.
- Files: src/getchar.c
- Patch 7.0.230
- Problem: After using ":lcd" a script doesn't know how to restore the
- current directory.
- Solution: Add the haslocaldir() function. (Bob Hiestand)
- Files: runtime/doc/usr_41.txt, runtime/doc/eval.txt, src/eval.c
- Patch 7.0.231
- Problem: When recovering from a swap file the page size is likely to be
- different from the minimum. The block used for the first page
- then has a buffer of the wrong size, causing a crash when it's
- reused later. (Zephaniah Hull)
- Solution: Reallocate the buffer when the page size changes. Also check that
- the page size is at least the minimum value.
- Files: src/memline.c
- Patch 7.0.232 (extra)
- Problem: Mac: doesn't support GUI tab page labels.
- Solution: Add GUI tab page labels. (Nicolas Weber)
- Files: src/feature.h, src/gui.c, src/gui.h, src/gui_mac.c,
- src/proto/gui_mac.pro
- Patch 7.0.233 (extra)
- Problem: Mac: code formatted badly.
- Solution: Fix code formatting
- Files: src/gui_mac.c
- Patch 7.0.234
- Problem: It's possible to use feedkeys() from a modeline. That is a
- security issue, can be used for a trojan horse.
- Solution: Disallow using feedkeys() in the sandbox.
- Files: src/eval.c
- Patch 7.0.235
- Problem: It is possible to use writefile() in the sandbox.
- Solution: Add a few more checks for the sandbox.
- Files: src/eval.c
- Patch 7.0.236
- Problem: Linux 2.4 uses sysinfo() with a mem_unit field, which is not
- backwards compatible.
- Solution: Add an autoconf check for sysinfo.mem_unit. Let mch_total_mem()
- return Kbyte to avoid overflow.
- Files: src/auto/configure, src/configure.in, src/config.h.in,
- src/option.c, src/os_unix.c
- Patch 7.0.237
- Problem: For root it is recommended to not use 'modeline', but in
- not-compatible mode the default is on.
- Solution: Let 'modeline' default to off for root.
- Files: runtime/doc/options.txt, src/option.c
- Patch 7.0.238
- Problem: Crash when ":match" pattern runs into 'maxmempattern'. (Yakov
- Lerner)
- Solution: Don't free the regexp program of match_hl.
- Files: src/screen.c
- Patch 7.0.239
- Problem: When using local directories and tab pages ":mksession" uses a
- short file name when it shouldn't. Window-local options from a
- modeline may be applied to the wrong window. (Teemu Likonen)
- Solution: Add the did_lcd flag, use the full path when it's set. Don't use
- window-local options from the modeline when using the current
- window for another buffer in ":doautoall".
- Files: src/fileio.c, src/ex_docmd.c
- Patch 7.0.240
- Problem: Crash when splitting a window in the GUI. (opposite of 7.0.227)
- Solution: Don't call out_flush() from win_alloc(). Also avoid this for
- win_delete(). Also block autocommands while the window structure
- is invalid.
- Files: src/window.c
- Patch 7.0.241
- Problem: ":windo throw 'foo'" loops forever. (Andy Wokula)
- Solution: Detect that win_goto() doesn't work.
- Files: src/ex_cmds2.c
- Patch 7.0.242 (extra)
- Problem: Win32: Using "-register" in a Vim that does not support OLE causes
- a crash.
- Solution: Don't use EMSG() but mch_errmsg(). Check p_go for being NULL.
- (partly by Michael Wookey)
- Files: src/gui_w32.c
- Patch 7.0.243 (extra)
- Problem: Win32: When GvimExt is built with MSVC 2005 or later, the "Edit
- with vim" context menu doesn't appear in the Windows Explorer.
- Solution: Embed the linker manifest file into the resources of GvimExt.dll.
- (Mathias Michaelis)
- Files: src/GvimExt/Makefile
- Fixes after Vim 7.1a BETA:
- The extra archive had CVS directories included below "farsi" and
- "runtime/icons". CVS was missing the farsi icon files.
- Fix compiling with Gnome 2.18, undefine bind_textdomain_codeset. (Daniel
- Drake)
- Mac: "make install" didn't copy rgb.txt.
- When editing a compressed file while there are folds caused "ml_get" errors
- and some lines could be missing. When decompressing failed option values were
- not restored.
- Patch 7.1a.001
- Problem: Crash when downloading a spell file. (Szabolcs Horvat)
- Solution: Avoid that did_set_spelllang() is used recursively when a new
- window is opened for the download.
- Also avoid wiping out the wrong buffer.
- Files: runtime/autoload/spellfile.vim, src/buffer.c, src/ex_cmds.c,
- src/spell.c
- Patch 7.1a.002 (extra)
- Problem: Compilation error with MingW.
- Solution: Check for LPTOOLTIPTEXT to be defined.
- Files: src/gui_w32.c
- Fixes after Vim 7.1b BETA:
- Made the Mzscheme interface build both with old and new versions of Mzscheme,
- using an #ifdef. (Sergey Khorev)
- Mzscheme interface didn't link, missing function. Changed order of libraries
- in the configure script.
- Ruby interface didn't compile on Mac. Changed #ifdef. (Kevin Ballard)
- Patch 7.1b.001 (extra)
- Problem: Random text in a source file. No idea how it got there.
- Solution: Delete the text.
- Files: src/gui_w32.c
- Patch 7.1b.002
- Problem: When 'maxmem' is large there can be an overflow in computations.
- (Thomas Wiegner)
- Solution: Use the same mechanism as in mch_total_mem(): first reduce the
- multiplier as much as possible.
- Files: src/memfile.c
- ==============================================================================
- VERSION 7.2 *version-7.2* *version7.2*
- This section is about improvements made between version 7.1 and 7.2.
- This is mostly a bug-fix release. The main new feature is floating point
- support. |Float|
- Changed *changed-7.2*
- -------
- Changed the command line buffer name from "command-line" to "[Command Line]".
- Removed optional ! for ":caddexpr", ":cgetexpr", ":cgetfile", ":laddexpr",
- ":lgetexpr" and ":lgetfile". They are not needed. (Yegappan Lakshmanan)
- An offset for syntax matches worked on bytes instead of characters. That is
- inconsistent and can easily be done wrong. Use character offsets now.
- (Yukihiro Nakadaira)
- The FileChangedShellPost event was also given when a file didn't change.
- (John Little)
- When the current line is long (doesn't fit) the popup menu can't be seen.
- Display it below the screen line instead of below the text line.
- (Francois Ingelrest)
- Switched to autoconf version 2.62.
- Moved including fcntl.h to vim.h and removed it from all .c files.
- Introduce macro STRMOVE(d, s), like STRCPY() for overlapping strings.
- Use it instead of mch_memmove(p, p + x, STRLEN(p + x) + 1).
- Removed the bulgarian.vim keymap file, two more standard ones replace it.
- (Boyko Bantchev)
- Increased the maximum number of tag matches for command line completion from
- 200 to 300.
- Renamed help file sql.txt to ft_sql.txt and ada.txt to ft_ada.txt.
- Added *added-7.2*
- -----
- New syntax files:
- CUDA (Timothy B. Terriberry)
- Cdrdao config (Nikolai Weibull)
- Coco/R (Ashish Shukla)
- Denyhosts config (Nikolai Weibull)
- Dtrace script (Nicolas Weber)
- Git output, commit, config, rebase, send-email (Tim Pope)
- HASTE and HastePreProc (M. Tranchero)
- Haml (Tim Pope)
- Host conf (Nikolai Weibull)
- Linden script (Timo Frenay)
- MS messages (Kevin Locke)
- PDF (Tim Pope)
- ProMeLa (Maurizio Tranchero)
- Reva Foth (Ron Aaron)
- Sass (Tim Pope)
- Symbian meta-makefile, MMP (Ron Aaron)
- VOS CM macro (Andrew McGill)
- XBL (Doug Kearns)
- New tutor files:
- Made UTF-8 versions of all the tutor files.
- Greek renamed from ".gr" to ".el" (Greek vs Greece).
- Esperanto (Dominique Pelle)
- Croatian (Paul B. Mahol)
- New filetype plugins:
- Cdrdao config (Nikolai Weibull)
- Debian control files (Debian Vim maintainers)
- Denyhosts (Nikolai Weibull)
- Dos .ini file (Nikolai Weibull)
- Dtrace script (Nicolas Weber)
- FnameScript (Nikolai Weibull)
- Git, Git config, Git commit, Git rebase, Git send-email (Tim Pope)
- Haml (Tim Pope)
- Host conf (Nikolai Weibull)
- Host access (Nikolai Weibull)
- Logtalk (Paulo Moura)
- MS messages (Kevin Locke)
- NSIS script (Nikolai Weibull)
- PDF (Tim Pope)
- Reva Forth (Ron Aaron)
- Sass (Tim Pope)
- New indent files:
- DTD (Nikolai Weibull)
- Dtrace script (Nicolas Weber)
- Erlang (Csaba Hoch)
- FrameScript (Nikolai Weibull)
- Git config (Tim Pope)
- Haml (Tim Pope)
- Logtalk (Paulo Moura)
- Sass (Tim Pope)
- Tiny Fugue (Christian J. Robinson)
- New compiler plugins:
- RSpec (Tim Pope)
- New keymap files:
- Croatian (Paul B. Mahol)
- Russian Dvorak (Serhiy Boiko)
- Ukrainian Dvorak (Serhiy Boiko)
- Removed plain Bulgarian, "bds" and phonetic are sufficient.
- Other new runtime files:
- Esperanto menu and message translations. (Dominique Pelle)
- Finnish menu and message translations. (Flammie Pirinen)
- Brazilian Portuguese message translations. (Eduardo Dobay)
- Added floating point support. |Float|
- Added argument to mode() to return a bit more detail about the current mode.
- (Ben Schmidt)
- Added support for BSD console mouse: |sysmouse|. (Paul B. Mahol)
- Added the "newtab" value for the 'switchbuf' option. (partly by Yegappan
- Lakshmanan)
- Improved error messages for the netbeans interface. (Philippe Fremy)
- Added support for using xterm mouse codes for screen. (Micah Cowan)
- Added support for cross compiling:
- Adjusted configure.in and added INSTALLcross.txt. (Marc Haisenko) Fixed
- mistakes in configure.in after that.
- Don't use /usr/local/include and /usr/local/lib in configure. (Philip
- Prindeville)
- For cross compiling the Cygwin version on Unix, change VIM.TLB to vim.tlb in
- src/vim.rc. (Tsuneo Nakagawa)
- Added v:searchforward variable: What direction we're searching in. (Yakov
- Lerner)
- Fixed *fixed-7.2*
- -----
- Patch 7.1.001
- Problem: Still can't build with Gnome libraries.
- Solution: Fix typo in bind_textdomain_codeset. (Mike Kelly)
- Files: src/gui_gtk.c, src/gui_gtk_x11.c
- Patch 7.1.002
- Problem: Oracle Pro*C/C++ files are not detected.
- Solution: Add the missing star. (Micah J. Cowan)
- Files: runtime/filetype.vim
- Patch 7.1.003 (extra)
- Problem: The "Tear off this menu" message appears in the message history
- when using a menu. (Yongwei Wu)
- Solution: Disable message history when displaying the menu tip.
- Files: src/gui_w32.c
- Patch 7.1.004
- Problem: Crash when doing ":next directory". (Raphael Finkel)
- Solution: Do not use "buf", it may be invalid after autocommands.
- Files: src/ex_cmds.c
- Patch 7.1.005
- Problem: "cit" used on <foo></foo> deletes <foo>. Should not delete
- anything and start insertion, like "ci'" does on "". (Michal
- Bozon)
- Solution: Handle an empty object specifically. Made it work consistent for
- various text objects.
- Files: src/search.c
- Patch 7.1.006
- Problem: Resetting 'modified' in a StdinReadPost autocommand doesn't work.
- Solution: Set 'modified' before the autocommands instead of after it.
- Files: src/buffer.c
- Patch 7.1.007 (extra)
- Problem: Mac: Context menu doesn't work on Intel Macs.
- Scrollbars are not dimmed when Vim is not the active application.
- Solution: Remove the test whether context menus are supported. They are
- always there in OS/X. Handle the dimming. (Nicolas Weber)
- Files: src/gui_mac.c, src/gui.h
- Patch 7.1.008
- Problem: getfsize() returns a negative number for very big files.
- Solution: Check for overflow and return -2.
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.1.009
- Problem: In diff mode, displaying the difference between a tab and spaces
- is not highlighted correctly.
- Solution: Only change highlighting at the end of displaying a tab.
- Files: src/screen.c
- Patch 7.1.010
- Problem: The Gnome session file doesn't restore tab pages.
- Solution: Add SSOP_TABPAGES to the session flags. (Matias D'Ambrosio)
- Files: src/gui_gtk_x11.c
- Patch 7.1.011
- Problem: Possible buffer overflow when $VIMRUNTIME is very long. (Victor
- Stinner)
- Solution: Use vim_snprintf().
- Files: src/main.c
- Patch 7.1.012
- Problem: ":let &shiftwidth = 'asdf'" doesn't produce an error message.
- Solution: Check for a string argument. (Chris Lubinski)
- Files: src/option.c
- Patch 7.1.013
- Problem: ":syn include" only loads the first file, while it is documented
- as doing the equivalent of ":runtime!".
- Solution: Change the argument to source_runtime(). (James Vega)
- Files: src/syntax.c
- Patch 7.1.014
- Problem: Crash when doing C indenting. (Chris Monson)
- Solution: Obtain the current line again after invoking cin_islabel().
- Files: src/edit.c
- Patch 7.1.015
- Problem: MzScheme interface: current-library-collection-paths produces no
- list. Interface doesn't build on a Mac.
- Solution: Use a list instead of a pair. (Bernhard Fisseni) Use "-framework"
- argument for MZSCHEME_LIBS in configure.
- Files: src/configure.in, src/if_mzsch.c, src/auto/configure
- Patch 7.1.016 (after patch 7.1.012)
- Problem: Error message about setting 'diff' to a string.
- Solution: Don't pass an empty string to set_option_value() when setting
- 'diff'.
- Files: src/quickfix.c, src/popupmnu.c
- Patch 7.1.017
- Problem: ":confirm w" does give a prompt when 'readonly' is set, but not
- when the file permissions are read-only. (Michael Schaap)
- Solution: Provide a dialog in both situations. (Chris Lubinski)
- Files: src/ex_cmds.c, src/fileio.c, src/proto/fileio.pro
- Patch 7.1.018
- Problem: When 'virtualedit' is set a "p" of a block just past the end of
- the line inserts before the cursor. (Engelke)
- Solution: Check for the cursor being just after the line (Chris Lubinski)
- Files: src/ops.c
- Patch 7.1.019
- Problem: ":py" asks for an argument, ":py asd" then gives the error that
- ":py" isn't implemented. Should already happen for ":py".
- Solution: Compare with ex_script_ni. (Chris Lubinski)
- Files: src/ex_docmd.c
- Patch 7.1.020
- Problem: Reading from uninitialized memory when using a dialog. (Dominique
- Pelle)
- Solution: In msg_show_console_dialog() append a NUL after every appended
- character.
- Files: src/message.c
- Patch 7.1.021 (after 7.1.015)
- Problem: Mzscheme interface doesn't compile on Win32.
- Solution: Fix the problem that 7.1.015 fixed in a better way. (Sergey Khorev)
- Files: src/if_mzsch.c
- Patch 7.1.022
- Problem: When setting 'keymap' twice the b:keymap_name variable isn't set.
- (Milan Berta)
- Solution: Don't unlet b:keymap_name for ":loadkeymap". (Martin Toft)
- Files: src/digraph.c
- Patch 7.1.023
- Problem: "dw" in a line with one character deletes the line. Vi and nvi
- don't do this. (Kjell Arne Rekaa)
- Solution: Check for one-character words especially.
- Files: src/search.c
- Patch 7.1.024
- Problem: Using a pointer that has become invalid. (Chris Monson)
- Solution: Obtain the line pointer again after we looked at another line.
- Files: src/search.c
- Patch 7.1.025
- Problem: search() and searchpos() don't use match under cursor at start of
- line when using 'bc' flags. (Viktor Kojouharov)
- Solution: Don't go to the previous line when the 'c' flag is present.
- Also fix that "j" doesn't move the cursor to the right column.
- Files: src/eval.c, src/search.c
- Patch 7.1.026
- Problem: "[p" doesn't work in Visual mode. (David Brown)
- Solution: Use checkclearop() instead of checkclearopq().
- Files: src/normal.c
- Patch 7.1.027
- Problem: On Sun systems opening /dev/fd/N doesn't work, and they are used
- by process substitutions.
- Solution: Allow opening specific character special files for Sun systems.
- (Gary Johnson)
- Files: src/fileio.c, src/os_unix.h
- Patch 7.1.028
- Problem: Can't use last search pattern for ":sort". (Brian McKee)
- Solution: When the pattern is empty use the last search pattern. (Martin
- Toft)
- Files: runtime/doc/change.txt, src/ex_cmds.c
- Patch 7.1.029 (after 7.1.019)
- Problem: Can't compile when all interfaces are used. (Taylor Venable)
- Solution: Only check for ex_script_ni when it's defined.
- Files: src/ex_docmd.c
- Patch 7.1.030
- Problem: The "vimtutor" shell script checks for "vim6" but not for "vim7".
- (Christian Robinson)
- Solution: Check for more versions, but prefer using "vim".
- Files: src/vimtutor
- Patch 7.1.031
- Problem: virtcol([123, '$']) doesn't work. (Michael Schaap)
- Solution: When '$' is used for the column number get the last column.
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.1.032
- Problem: Potential crash when editing a command line. (Chris Monson)
- Solution: Check the position to avoid access before the start of an array.
- Files: src/ex_getln.c
- Patch 7.1.033
- Problem: A buffer is marked modified when it was first deleted and then
- added again using a ":next" command. (John Mullin)
- Solution: When checking if a buffer is modified use the BF_NEVERLOADED flag.
- Files: src/option.c
- Patch 7.1.034
- Problem: Win64: A few compiler warnings. Problems with optimizer.
- Solution: Use int instead of size_t. Disable the optimizer in one function.
- (George V. Reilly)
- Files: src/eval.c, src/spell.c
- Patch 7.1.035
- Problem: After ":s/./&/#" all listed lines have a line number. (Yakov
- Lerner)
- Solution: Reset the line number flag when not using the "&" flag.
- Files: src/ex_cmds.c
- Patch 7.1.036
- Problem: Completing ":echohl" argument should include "None". (Ori
- Avtalion) ":match" should have "none" too.
- Solution: Add flags to use expand_highlight(). Also fix that when disabling
- FEAT_CMDL_COMPL compilation fails. (Chris Lubinski)
- Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/syntax.pro
- src/syntax.c
- Patch 7.1.037
- Problem: strcpy() used for overlapping strings. (Chris Monson)
- Solution: Use mch_memmove() instead.
- Files: src/option.c
- Patch 7.1.038
- Problem: When 'expandtab' is set then a Tab copied for 'copyindent' is
- expanded to spaces, even when 'preserveindent' is set. (Alexei
- Alexandrov)
- Solution: Remove the check for 'expandtab'. Also fix that ">>" doesn't obey
- 'preserveindent'. (Chris Lubinski)
- Files: src/misc1.c
- Patch 7.1.039
- Problem: A tag in a help file that starts with "help-tags" and contains a
- percent sign may make Vim crash. (Ulf Harnhammar)
- Solution: Use puts() instead of fprintf().
- Files: src/ex_cmds.c
- Patch 7.1.040
- Problem: ":match" only supports three matches.
- Solution: Add functions clearmatches(), getmatches(), matchadd(),
- matchdelete() and setmatches(). Changed the data structures for
- this. A small bug in syntax.c is fixed, so newly created
- highlight groups can have their name resolved correctly from their
- ID. (Martin Toft)
- Files: runtime/doc/eval.txt, runtime/doc/pattern.txt,
- runtime/doc/usr_41.txt, src/eval.c, src/ex_docmd.c,
- src/proto/window.pro, src/screen.c, src/structs.h, src/syntax.c,
- src/testdir/Makefile, src/testdir/test63.in,
- src/testdir/test63.ok, src/window.c
- Patch 7.1.041 (extra, after 7.1.040)
- Problem: Some changes for patch 7.1.040 are in extra files.
- Solution: Update the extra files.
- Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- Patch 7.1.042 (after 7.1.040)
- Problem: Internal error when using matchadd(). (David Larson)
- Solution: Check the third argument to be present before using the fourth
- argument. (Martin Toft)
- Files: src/eval.c
- Patch 7.1.043
- Problem: In Ex mode using CTRL-D twice may cause a crash. Cursor isn't
- positioned properly after CTRL-D.
- Solution: Set prev_char properly. Position the cursor correctly. (Antony
- Scriven)
- Files: src/ex_getln.c
- Patch 7.1.044
- Problem: In Insert mode 0 CTRL-T deletes all indent, it should add indent.
- (Gautam Iyer)
- Solution: Check for CTRL-D typed.
- Files: src/edit.c
- Patch 7.1.045
- Problem: Unnecessary screen redrawing. (Jjgod Jiang)
- Solution: Reset "must_redraw" after clearing the screen.
- Files: src/screen.c
- Patch 7.1.046
- Problem: ":s" command removes combining characters. (Ron Aaron)
- Solution: Copy composing characters individually. (Chris Lubinski)
- Files: src/regexp.c
- Patch 7.1.047
- Problem: vim_regcomp() called with invalid argument. (Xiaozhou Liu)
- Solution: Change TRUE to RE_MAGIC + RE_STRING.
- Files: src/ex_eval.c
- Patch 7.1.048
- Problem: The matchparen plugin doesn't update the match when scrolling with
- the mouse wheel. (Ilya Bobir)
- Solution: Set the match highlighting for text that can be scrolled into the
- viewable area without moving the cursor. (Chris Lubinski)
- Files: runtime/plugin/matchparen.vim
- Patch 7.1.049
- Problem: Cannot compile GTK2 version with Hangul input feature.
- Solution: Don't define FEAT_XFONTSET when using GTK2.
- Files: src/feature.h
- Patch 7.1.050
- Problem: Possible crash when using C++ indenting. (Chris Monson)
- Solution: Keep the line pointer to the line to compare with. Avoid going
- past the end of line.
- Files: src/misc1.c
- Patch 7.1.051
- Problem: Accessing uninitialized memory when finding spell suggestions.
- Solution: Don't try swapping characters at the end of a word.
- Files: src/spell.c
- Patch 7.1.052
- Problem: When creating a new match not all fields are initialized, which
- may lead to unpredictable results.
- Solution: Initialise rmm_ic and rmm_maxcol.
- Files: src/window.c
- Patch 7.1.053
- Problem: Accessing uninitialized memory when giving a message.
- Solution: Check going the length before checking for a NUL byte.
- Files: src/message.c
- Patch 7.1.054
- Problem: Accessing uninitialized memory when displaying the fold column.
- Solution: Add a NUL to the extra array. (Dominique Pelle). Also do this in
- a couple of other situations.
- Files: src/screen.c
- Patch 7.1.055
- Problem: Using strcpy() with arguments that overlap.
- Solution: Use mch_memmove() instead.
- Files: src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c,
- src/misc1.c, src/regexp.c, src/termlib.c
- Patch 7.1.056
- Problem: More prompt does not behave correctly after scrolling back.
- (Randall W. Morris)
- Solution: Avoid lines_left becomes negative. (Chris Lubinski) Don't check
- mp_last when deciding to show the more prompt. (Martin Toft)
- Files: src/message.c
- Patch 7.1.057
- Problem: Problem with CursorHoldI when using "r" in Visual mode (Max
- Dyckhoff)
- Solution: Ignore CursorHold(I) when getting a second character for a Normal
- mode command. Also abort the "r" command in Visual when a special
- key is typed.
- Files: src/normal.c
- Patch 7.1.058
- Problem: When 'rightleft' is set the completion menu is positioned wrong.
- (Baha-Eddine MOKADEM)
- Solution: Fix the completion menu. (Martin Toft)
- Files: src/popupmnu.c, src/proto/search.pro, src/search.c
- Patch 7.1.059
- Problem: When in Ex mode and doing "g/^/vi" and then pressing CTRL-C Vim
- hangs and beeps. (Antony Scriven)
- Solution: Clear "got_int" in the main loop to avoid the hang. When typing
- CTRL-C twice in a row abort the ":g" command. This is Vi
- compatible.
- Files: src/main.c
- Patch 7.1.060
- Problem: Splitting quickfix window messes up window layout. (Marius
- Gedminas)
- Solution: Compute the window size in a smarter way. (Martin Toft)
- Files: src/window.c
- Patch 7.1.061
- Problem: Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for
- characters with umlaut. (Joachim Hofmann)
- Solution: Do not use islower()/isupper()/tolower()/toupper() but our own
- functions. (Chris Lubinski)
- Files: src/mbyte.c, src/regexp.c, src/vim.h
- Patch 7.1.062 (after 7.1.038)
- Problem: Indents of C comments can be wrong. (John Mullin)
- Solution: Adjust ind_len. (Chris Lubinski)
- Files: src/misc1.c
- Patch 7.1.063 (after 7.1.040)
- Problem: Warning for uninitialized variable.
- Solution: Initialise it to NULL.
- Files: src/ex_docmd.c
- Patch 7.1.064
- Problem: On Interix some files appear not to exist.
- Solution: Remove the top bit from st_mode. (Ligesh)
- Files: src/os_unix.c
- Patch 7.1.065 (extra)
- Problem: Win32: Compilation problem for newer version of w32api.
- Solution: Only define __IID_DEFINED__ when needed. (Chris Sutcliffe)
- Files: src/Make_ming.mak, src/iid_ole.c
- Patch 7.1.066
- Problem: When 'bomb' is set or reset the file should be considered
- modified. (Tony Mechelynck)
- Solution: Handle like 'endofline'. (Martin Toft)
- Files: src/buffer.c, src/fileio.c, src/option.c, src/structs.h
- Patch 7.1.067
- Problem: 'thesaurus' doesn't work when 'infercase' is set. (Mohsin)
- Solution: Don't copy the characters being completed but check the case and
- apply it to the suggested word. Also fix that the first word in
- the thesaurus line is not used. (Martin Toft)
- Files: src/edit.c
- Patch 7.1.068
- Problem: When 'equalalways' is set and splitting a window, it's possible
- that another small window gets bigger.
- Solution: Only equalize window sizes when after a split the windows are
- smaller than another window. (Martin Toft)
- Files: runtime/doc/options.txt, runtime/doc/windows.txt, src/window.c
- Patch 7.1.069
- Problem: GTK GUI: When using confirm() without a default button there still
- is a default choice.
- Solution: Ignore Enter and Space when there is no default button. (Chris
- Lubinski)
- Files: src/gui_gtk.c
- Patch 7.1.070 (extra)
- Problem: Win32 GUI: When using confirm() without a default button there
- still is a default choice.
- Solution: Set focus on something else than a button. (Chris Lubinski)
- Files: src/gui_w32.c
- Patch 7.1.071 (after 7.1.040)
- Problem: Regexp patterns are not tested.
- Solution: Add a basic test, to be expanded later.
- Also add (commented-out) support for valgrind.
- Files: src/testdir/Makefile, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.1.072 (extra, after 7.1.041 and 7.1.071)
- Problem: Some changes for patch 7.1.071 are in extra files.
- Solution: Update the extra files. Also fix a few warnings from the DOS test
- makefile.
- Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- Patch 7.1.073 (after 7.1.062)
- Problem: Wrong cursor position and crash when 'preserveindent' is set.
- (Charles Campbell)
- Solution: Handle the situation that we start without indent. (Chris
- Lubinski)
- Files: src/misc1.c
- Patch 7.1.074
- Problem: Crash when calling string() on a recursively nested List.
- Solution: Check result value for being NULL. (Yukihiro Nakadaira)
- Files: src/eval.c
- Patch 7.1.075
- Problem: ":let v:statusmsg" reads memory already freed.
- Solution: Don't set v:statusmsg when listing it.
- Files: src/eval.c
- Patch 7.1.076
- Problem: Another strcpy() with overlapping arguments.
- Solution: Use mch_memmove(). (Dominique Pelle) And another one.
- Files: src/ex_docmd.c, src/normal.c
- Patch 7.1.077
- Problem: Using "can_spell" without initializing it. (Dominique Pelle)
- Solution: Set a default for get_syntax_attr().
- Files: src/syntax.c
- Patch 7.1.078
- Problem: Dropping a file name on gvim that contains a CSI byte doesn't work
- when editing the command line.
- Solution: Escape the CSI byte when inserting in the input buffer. (Yukihiro
- Nakadaira)
- Files: src/gui.c, src/ui.c
- Patch 7.1.079
- Problem: When the locale is "C" and 'encoding' is "latin1" then the "@"
- character in 'isfname', 'isprint', etc. doesn't pick up accented
- characters.
- Solution: Instead of isalpha() use MB_ISLOWER() and MB_ISUPPER().
- Files: src/charset.c, src/macros.h
- Patch 7.1.080 (extra)
- Problem: Compiler warnings for using "const char *" for "char *".
- Solution: Add type casts. (Chris Sutcliffe)
- Files: src/GvimExt/gvimext.cpp
- Patch 7.1.081
- Problem: Command line completion for a shell command: "cat </tmp/file<Tab>"
- doesn't work.
- Solution: Start the file name at any character that can't be in a file name.
- (Martin Toft)
- Files: src/ex_docmd.c
- Patch 7.1.082
- Problem: After a ":split" the matchparen highlighting isn't there.
- Solution: Install a WinEnter autocommand. Also fixes that after
- ":NoMatchParen" only the current window is updated. (Martin Toft)
- Files: runtime/doc/pi_paren.txt, runtime/plugin/matchparen.vim
- Patch 7.1.083 (after 7.1.081)
- Problem: Command line completion doesn't work with wildcards.
- Solution: Add vim_isfilec_or_wc() and use it. (Martin Toft)
- Files: src/charset.c, src/proto/charset.pro, src/ex_docmd.c
- Patch 7.1.084
- Problem: Using the "-nb" argument twice causes netbeans not to get
- fileOpened events.
- Solution: Change "&" to "&&". (Xavier de Gaye)
- Files: src/ex_cmds.c
- Patch 7.1.085
- Problem: ":e fold.c" then ":sp fold.c" results in folds of original window
- to disappear. (Akita Noek)
- Solution: Invoke foldUpdateAll() for all windows of the changed buffer.
- (Martin Toft)
- Files: src/ex_cmds.c
- Patch 7.1.086
- Problem: Crash when using specific Python syntax highlighting. (Quirk)
- Solution: Check for a negative index, coming from a keyword match at the
- start of a line from a saved state.
- Files: src/syntax.c
- Patch 7.1.087
- Problem: Reading past ":cscope find" command. Writing past end of a buffer.
- Solution: Check length of the argument before using the pattern. Use
- vim_strncpy(). (Dominique Pelle)
- Files: if_cscope.c
- Patch 7.1.088 (extra)
- Problem: The coordinates used by ":winpos" differ from what getwinposx()
- and getwinposy() return.
- Solution: Use MoveWindowStructure() instead of MoveWindow(). (Michael Henry)
- Files: src/gui_mac.c
- Patch 7.1.089
- Problem: ":let loaded_getscriptPlugin" doesn't clear to eol, result is
- "#1in".
- Solution: Clear to the end of the screen after displaying the first variable
- value.
- Files: src/eval.c
- Patch 7.1.090
- Problem: Compiler warning on Mac OS X 10.5.
- Solution: Don't redeclare sigaltstack(). (Hisashi T Fujinaka)
- Files: src/os_unix.c
- Patch 7.1.091 (extra)
- Problem: Win32: Can't embed Vim inside another application.
- Solution: Add the --windowid argument. (Nageshwar)
- Files: runtime/doc/gui_w32.txt, runtime/doc/starting.txt,
- runtime/doc/vi_diff.txt, src/globals.h, src/gui_w32.c, src/main.c
- Patch 7.1.092 (extra, after 7.1.088)
- Problem: Wrong arguments for MoveWindowStructure().
- Solution: Remove "TRUE". (Michael Henry)
- Files: src/gui_mac.c
- Patch 7.1.093
- Problem: Reading past end of a screen line when determining cell width.
- (Dominique Pelle)
- Solution: Add an argument to mb_off2cells() for the maximum offset.
- Files: src/globals.h, src/gui.c, src/mbyte.c, src/proto/mbyte.pro,
- src/screen.c
- Patch 7.1.094
- Problem: When checking if syntax highlighting is present, looking in the
- current buffer instead of the specified one.
- Solution: Use "buf" instead of "curbuf".
- Files: src/syntax.c
- Patch 7.1.095
- Problem: The FocusLost and FocusGained autocommands are triggered
- asynchronously in the GUI. This may cause arbitrary problems.
- Solution: Put the focus event in the input buffer and handle it when ready
- for it.
- Files: src/eval.c, src/getchar.c, src/gui.c, src/gui_gtk_x11.c,
- src/keymap.h
- Patch 7.1.096
- Problem: Reading past end of a string when resizing Vim. (Dominique Pelle)
- Solution: Check the string pointer before getting the char it points to.
- Files: src/message.c
- Patch 7.1.097
- Problem: ":setlocal stl=%!1+1" does not work.
- Solution: Adjust check for pointer. (Politz)
- Files: src/option.c
- Patch 7.1.098
- Problem: ":call s:var()" doesn't work if "s:var" is a Funcref. (Andy Wokula)
- Solution: Before converting "s:" into a script ID, check if it is a Funcref.
- Files: src/eval.c
- Patch 7.1.099
- Problem: When the 'keymap' and 'paste' options have a non-default value,
- ":mkexrc" and ":mksession" do not correctly set the options.
- Solution: Set the options with side effects before other options.
- Files: src/option.c
- Patch 7.1.100
- Problem: Win32: Executing cscope doesn't always work properly.
- Solution: Use another way to invoke cscope. (Mike Williams)
- Files: src/if_cscope.c, src/if_cscope.h, src/main.c,
- src/proto/if_cscope.pro
- Patch 7.1.101
- Problem: Ruby: The Buffer.line= method does not work.
- Solution: Add the "self" argument to set_current_line(). (Jonathan Hankins)
- Files: src/if_ruby.c
- Patch 7.1.102
- Problem: Perl interface doesn't compile with new version of Perl.
- Solution: Add two variables to the dynamic library loading. (Suresh
- Govindachar)
- Files: src/if_perl.xs
- Patch 7.1.103
- Problem: Using "dw" with the cursor past the end of the last line (using
- CTRL-\ CTRL-O from Insert mode) deletes a character. (Tim Chase)
- Solution: Don't move the cursor back when the movement failed.
- Files: src/normal.c
- Patch 7.1.104 (after 7.1.095)
- Problem: When 'lazyredraw' is set a focus event causes redraw to be
- postponed until a key is pressed.
- Solution: Instead of not returning from vgetc() when a focus event is
- encountered return K_IGNORE. Add plain_vgetc() for when the
- caller doesn't want to get K_IGNORE.
- Files: src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_getln.c,
- src/getchar.c, src/normal.c, src/proto/getchar.pro, src/window.c
- Patch 7.1.105
- Problem: Internal error when using "0 ? {'a': 1} : {}". (A.Politz)
- Solution: When parsing a dictionary value without using the value, don't try
- obtaining the key name.
- Files: src/eval.c
- Patch 7.1.106
- Problem: ":messages" doesn't quit listing on ":".
- Solution: Break the loop when "got_int" is set.
- Files: src/message.c
- Patch 7.1.107
- Problem: When doing a block selection and using "s" to change the text,
- while triggering auto-indenting, causes the wrong text to be
- repeated in other lines. (Adri Verhoef)
- Solution: Compute the change of indent and compensate for that.
- Files: src/ops.c
- Patch 7.1.108 (after 7.1.100)
- Problem: Win32: Compilation problems in Cscope code. (Jeff Lanzarotta)
- Solution: Use (long) instead of (intptr_t) when it's not defined.
- Files: src/if_cscope.c
- Patch 7.1.109
- Problem: GTK: when there are many tab pages, clicking on the arrow left of
- the labels moves to the next tab page on the right. (Simeon Bird)
- Solution: Check the X coordinate of the click and pass -1 as value for the
- left arrow.
- Files: src/gui_gtk_x11.c, src/term.c
- Patch 7.1.110 (after 7.1.102)
- Problem: Win32: Still compilation problems with Perl.
- Solution: Change the #ifdefs. (Suresh Govindachar)
- Files: src/if_perl.xs
- Patch 7.1.111
- Problem: When using ":vimgrep" with the "j" flag folds from another buffer
- may be displayed. (A.Politz)
- Solution: When not jumping to another buffer update the folds.
- Files: src/quickfix.c
- Patch 7.1.112
- Problem: Using input() with a wrong argument may crash Vim. (A.Politz)
- Solution: Init the input() return value to NULL.
- Files: src/eval.c
- Patch 7.1.113
- Problem: Using map() to go over an empty list causes memory to be freed
- twice. (A.Politz)
- Solution: Don't clear the typeval in restore_vimvar().
- Files: src/eval.c
- Patch 7.1.114
- Problem: Memory leak in getmatches().
- Solution: Don't increment the refcount twice.
- Files: src/eval.c
- Patch 7.1.115 (after 7.1.105)
- Problem: Compiler warning for uninitialized variable. (Tony Mechelynck)
- Solution: Init variable to NULL.
- Files: src/eval.c
- Patch 7.1.116
- Problem: Cannot display Unicode characters above 0x10000.
- Solution: Remove the replacement with a question mark when UNICODE16 is not
- defined. (partly by Nicolas Weber)
- Files: src/screen.c
- Patch 7.1.117
- Problem: Can't check whether Vim was compiled with Gnome. (Tony Mechelynck)
- Solution: Add gui_gnome to the has() list.
- Files: src/eval.c
- Patch 7.1.118 (after 7.1.107)
- Problem: Compiler warning for Visual C compiler.
- Solution: Add typecast. (Mike Williams)
- Files: src/ops.c
- Patch 7.1.119
- Problem: Crash when 'cmdheight' set to very large value. (A.Politz)
- Solution: Limit 'cmdheight' to 'lines' minus one. Store right value of
- 'cmdheight' when running out of room.
- Files: src/option.c, src/window.c
- Patch 7.1.120
- Problem: Can't properly check memory leaks while running tests.
- Solution: Add an argument to garbagecollect(). Delete functions and
- variables in the test scripts.
- Files: runtime/doc/eval.txt src/eval.c, src/globals.h, src/main.c,
- src/testdir/Makefile, src/testdir/test14.in,
- src/testdir/test26.in, src/testdir/test34.in,
- src/testdir/test45.in, src/testdir/test47.in,
- src/testdir/test49.in, src/testdir/test55.in,
- src/testdir/test56.in, src/testdir/test58.in,
- src/testdir/test59.in, src/testdir/test60.in,
- src/testdir/test60.vim, src/testdir/test62.in,
- src/testdir/test63.in, src/testdir/test64.in,
- Patch 7.1.121
- Problem: Using ":cd %:h" when editing a file in the current directory
- results in an error message for using an empty string.
- Solution: When "%:h" results in an empty string use ".".
- Files: src/eval.c
- Patch 7.1.122
- Problem: Mac: building Vim.app fails. Using wrong architecture.
- Solution: Use line continuation for the gui_bundle dependency. Detect the
- system architecture with "uname -a".
- Files: src/main.aap
- Patch 7.1.123
- Problem: Win32: ":edit foo ~ foo" expands "~".
- Solution: Change the call to expand_env().
- Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/option.c
- Patch 7.1.124 (extra)
- Problem: Mac: When dropping a file on Vim.app that is already in the buffer
- list (from .viminfo) results in editing an empty, unnamed buffer.
- (Axel Kielhorn) Also: warning for unused variable.
- Solution: Move to the buffer of the first argument. Delete unused variable.
- Files: src/gui_mac.c
- Patch 7.1.125
- Problem: The TermResponse autocommand event is not always triggered. (Aron
- Griffis)
- Solution: When unblocking autocommands check if v:termresponse changed and
- trigger the event then.
- Files: src/buffer.c, src/diff.c, src/ex_getln.c, src/fileio.c,
- src/globals.h, src/misc2.c, src/proto/fileio.pro, src/window.c
- Patch 7.1.126 (extra)
- Problem: ":vimgrep */*" fails when a BufRead autocommand changes directory.
- (Bernhard Kuhn)
- Solution: Change back to the original directory after loading a file.
- Also: use shorten_fname1() to avoid duplicating code.
- Files: src/buffer.c, src/ex_docmd.c, src/fileio.c, src/gui_gtk.c,
- src/gui_w48.c, src/proto/ex_docmd.pro, src/proto/fileio.pro,
- src/quickfix.c
- Patch 7.1.127
- Problem: Memory leak when doing cmdline completion. (Dominique Pelle)
- Solution: Free "orig" argument of ExpandOne() when it's not used.
- Files: src/ex_getln.c
- Patch 7.1.128 (extra)
- Problem: Build problems with new version of Cygwin.
- Solution: Remove -D__IID_DEFINED__, like with MingW. (Guopeng Wen)
- Files: src/Make_cyg.mak
- Patch 7.1.129 (extra)
- Problem: Win32: Can't get the user name when it is longer than 15
- characters.
- Solution: Use UNLEN instead of MAX_COMPUTERNAME_LENGTH. (Alexei Alexandrov)
- Files: src/os_win32.c
- Patch 7.1.130
- Problem: Crash with specific order of undo and redo. (A.Politz)
- Solution: Clear and adjust pointers properly. Add u_check() for debugging.
- Files: src/undo.c, src/structs.h
- Patch 7.1.131
- Problem: ":mksession" always adds ":setlocal autoread". (Christian J.
- Robinson)
- Solution: Skip boolean global/local option using global value.
- Files: src/option.c
- Patch 7.1.132
- Problem: getpos("'>") may return a negative column number for a Linewise
- selection. (A.Politz)
- Solution: Don't add one to MAXCOL.
- Files: src/eval.c
- Patch 7.1.133 (after 7.1.126)
- Problem: shorten_fname1() linked when it's not needed.
- Solution: Add #ifdef.
- Files: src/fileio.c
- Patch 7.1.134 (extra)
- Problem: Win32: Can't build with VC8
- Solution: Detect the MSVC version instead of using NMAKE_VER.
- (Mike Williams)
- Files: src/Make_mvc.mak
- Patch 7.1.135
- Problem: Win32: When editing a file c:\tmp\foo and c:\tmp\\foo we have two
- buffers for the same file. (Suresh Govindachar)
- Solution: Invoke FullName_save() when a path contains "//" or "\\".
- Files: src/buffer.c
- Patch 7.1.136
- Problem: Memory leak when using Ruby syntax highlighting. (Dominique Pelle)
- Solution: Free the contained-in list.
- Files: src/syntax.c
- Patch 7.1.137
- Problem: Build failure when using EXITFREE. (Dominique Pelle)
- Solution: Add an #ifdef around using clip_exclude_prog.
- Files: src/misc2.c
- Patch 7.1.138
- Problem: The Perl Msg() function doesn't stop when "q" is typed at the more
- prompt. (Hari Krishna Dara)
- Solution: Check got_int.
- Files: src/if_perl.xs
- Patch 7.1.139
- Problem: When using marker folding and ending Insert mode with CTRL-C the
- current fold is truncated. (Fred Kater)
- Solution: Ignore got_int while updating folds.
- Files: src/fold.c
- Patch 7.1.140
- Problem: v:count is set only after typing a non-digit, that makes it
- difficult to make a nice mapping.
- Solution: Set v:count while still typing the count.
- Files: src/normal.c
- Patch 7.1.141
- Problem: GTK: -geom argument doesn't support a negative offset.
- Solution: Compute position from the right/lower corner.
- Files: src/gui_gtk_x11.c
- Patch 7.1.142
- Problem: ":redir @A>" doesn't work.
- Solution: Ignore the extra ">" also when appending. (James Vega)
- Files: src/ex_docmd.c
- Patch 7.1.143
- Problem: Uninitialized memory read when diffing three files. (Dominique
- Pelle)
- Solution: Remove "+ !notset" so that we don't use fields that were not
- computed.
- Files: src/diff.c
- Patch 7.1.144
- Problem: After ":diffup" cursor can be in the wrong position.
- Solution: Force recomputing the cursor position.
- Files: src/diff.c
- Patch 7.1.145
- Problem: Insert mode completion: When using the popup menu, after
- completing a word and typing a non-word character Vim is still
- completing the same word, following CTRL-N doesn't work.
- Insert mode Completion: When using CTRL-X O and there is only
- "struct." before the cursor, typing one char to reduce the
- matches, then BS completion stops.
- Solution: When typing a character that is not part of the item being
- completed, stop complete mode. For whole line completion also
- accept a space. For file name completion stop at a path
- separator.
- For omni completion stay in completion mode even if completing
- with empty string.
- Files: src/edit.c
- Patch 7.1.146 (extra)
- Problem: VMS: Files with a very rare record organization (VFC) cannot be
- properly written by Vim.
- On older VAX systems mms runs into a syntax error.
- Solution: Check for this special situation. Do not wrap a comment, make it
- one long line. (Zoltan Arpadffy)
- Files: src/fileio.c, src/Make_vms.mms
- Patch 7.1.147 (after 7.1.127)
- Problem: Freeing memory already freed when completing user name. (Meino
- Cramer)
- Solution: Use a flag to remember if "orig" needs to be freed.
- Files: src/ex_getln.c
- Patch 7.1.148
- Problem: Some types are not found by configure.
- Solution: Test for the sys/types.h header file. (Sean Boudreau)
- Files: src/configure.in, src/auto/configure
- Patch 7.1.149
- Problem: GTK GUI: When the completion popup menu is used scrolling another
- window by the scrollbar is OK, but using the scroll wheel it
- behaves line <Enter>.
- Solution: Ignore K_MOUSEDOWN and K_MOUSEUP. Fix redrawing the popup menu.
- Files: src/edit.c, src/gui.c
- Patch 7.1.150
- Problem: When 'clipboard' has "unnamed" using "p" in Visual mode doesn't
- work correctly. (Jianrong Yu)
- Solution: When 'clipboard' has "unnamed" also obtain the selection when
- getting the default register.
- Files: src/ops.c
- Patch 7.1.151
- Problem: Using whole line completion with 'ignorecase' and 'infercase' set
- and the line is empty get an lalloc(0) error.
- Solution: Don't try changing case for an empty match. (Matthew Wozniski)
- Files: src/edit.c
- Patch 7.1.152
- Problem: Display problem when 'hls' and 'cursorcolumn' are set and
- searching for "$". (John Mullin) Also when scrolling
- horizontally when 'wrap' is off.
- Solution: Keep track of the column where highlighting was set. Check the
- column offset when skipping characters.
- Files: src/screen.c
- Patch 7.1.153
- Problem: Compiler warnings on SGI. Undefined XpmAllocColor (Charles
- Campbell)
- Solution: Add type casts. Init st_dev and st_ino separately. Don't use
- type casts for vim_snprintf() when HAVE_STDARG_H is defined.
- Define XpmAllocColor when needed.
- Files: src/eval.c, src/ex_cmds.c, src/fileio.c, src/misc2.c,
- src/gui_xmebw.c
- Patch 7.1.154
- Problem: Compiler warning for signed/unsigned compare.
- Solution: Add type cast.
- Files: src/screen.c
- Patch 7.1.155
- Problem: Crash when 'undolevels' is 0 and repeating "udd". (James Vega)
- Solution: When there is only one branch use u_freeheader() to delete it.
- Files: src/undo.c
- Patch 7.1.156
- Problem: Overlapping arguments for strcpy() when expanding command line
- variables.
- Solution: Use mch_memmove() instead of STRCPY(). Also fix a few typos.
- (Dominique Pelle)
- Files: src/ex_docmd.c
- Patch 7.1.157
- Problem: In Ex mode, :" gives an error at end-of-file. (Michael Hordijk)
- Solution: Only give an error for an empty line, not for a comment.
- Files: src/ex_docmd.c
- Patch 7.1.158 (extra)
- Problem: Win32 console: When 'encoding' is "utf-8" and typing Alt-y the
- result is wrong. Win32 GUI: Alt-y results in "u" when 'encoding'
- is "cp1250" (Lukas Cerman)
- Solution: For utf-8 don't set the 7th bit in a byte, convert to the correct
- byte sequence. For cp1250, when conversion to 'encoding' results
- in the 7th bit not set, set the 7th bit after conversion.
- Files: src/os_win32.c, src/gui_w48.c
- Patch 7.1.159
- Problem: strcpy() has overlapping arguments.
- Solution: Use mch_memmove() instead. (Dominique Pelle)
- Files: src/ex_cmds.c
- Patch 7.1.160
- Problem: When a focus autocommand is defined, getting or losing focus
- causes the hit-enter prompt to be redrawn. (Bjorn Winckler)
- Solution: Overwrite the last line.
- Files: src/message.c
- Patch 7.1.161
- Problem: Compilation errors with tiny features and EXITFREE.
- Solution: Add #ifdefs. (Dominique Pelle)
- Files: src/edit.c, src/misc2.c
- Patch 7.1.162
- Problem: Crash when using a modifier before "while" or "for". (A.Politz)
- Solution: Skip modifiers when checking for a loop command.
- Files: src/proto/ex_docmd.pro, src/ex_docmd.c, src/ex_eval.c
- Patch 7.1.163
- Problem: Warning for the unknown option 'bufsecret'.
- Solution: Remove the lines .vim that use this option. (Andy Wokula)
- Files: runtime/menu.vim
- Patch 7.1.164
- Problem: Reading past end of regexp pattern. (Dominique Pelle)
- Solution: Use utf_ptr2len().
- Files: src/regexp.c
- Patch 7.1.165
- Problem: Crash related to getting X window ID. (Dominique Pelle)
- Solution: Don't trust the window ID that we got in the past, check it every
- time.
- Files: src/os_unix.c
- Patch 7.1.166
- Problem: Memory leak for using "gp" in Visual mode.
- Solution: Free memory in put_register(). (Dominique Pelle)
- Files: src/ops.c
- Patch 7.1.167
- Problem: Xxd crashes when using "xxd -b -c 110". (Debian bug 452789)
- Solution: Allocate more memory. Fix check for maximum number of columns.
- Files: src/xxd/xxd.c
- Patch 7.1.168 (extra)
- Problem: Win32 GUI: Since patch 7.1.095, when the Vim window does not have
- focus, clicking in it doesn't position the cursor. (Juergen
- Kraemer)
- Solution: Don't reset s_button_pending just after receiving focus.
- Files: src/gui_w48.c
- Patch 7.1.169
- Problem: Using uninitialized variable when system() fails. (Dominique
- Pelle)
- Solution: Let system() return an empty string when it fails.
- Files: src/eval.c
- Patch 7.1.170
- Problem: Valgrind warning for overlapping arguments for strcpy().
- Solution: Use mch_memmove() instead. (Dominique Pelle)
- Files: src/getchar.c
- Patch 7.1.171
- Problem: Reading one byte before allocated memory.
- Solution: Check index not to become negative. (Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.1.172
- Problem: When 'buftype' is "acwrite" Vim still checks if the file or
- directory exists before overwriting.
- Solution: Don't check for overwriting when the buffer name is not a file
- name.
- Files: src/ex_cmds.c
- Patch 7.1.173
- Problem: Accessing freed memory. (Dominique Pelle)
- Solution: Don't call reg_getline() to check if a line is the first in the
- file.
- Files: src/regexp.c
- Patch 7.1.174
- Problem: Writing NUL past end of a buffer.
- Solution: Copy one byte less when using strncat(). (Dominique Pelle)
- Files: src/ex_cmds.c, src/ex_docmd.c,
- Patch 7.1.175
- Problem: <BS> doesn't work with some combination of 'sts', 'linebreak' and
- 'backspace'. (Francois Ingelrest)
- Solution: When adding white space results in not moving back delete one
- character.
- Files: src/edit.c
- Patch 7.1.176
- Problem: Building with Aap fails when the "compiledby" argument contains
- '<' or '>' characters. (Alex Yeh)
- Solution: Change how quoting is done in the Aap recipe.
- Files: src/main.aap
- Patch 7.1.177
- Problem: Freeing memory twice when in debug mode while reading a script.
- Solution: Ignore script input while in debug mode.
- Files: src/ex_cmds2.c, src/getchar.c, src/globals.h
- Patch 7.1.178
- Problem: "%" doesn't work on "/* comment *//* comment */".
- Solution: Don't handle the "//" in "*//*" as a C++ comment. (Markus
- Heidelberg)
- Files: src/search.c
- Patch 7.1.179
- Problem: Need to check for TCL 8.5.
- Solution: Adjust configure script. (Alexey Froloff)
- Files: src/configure.in, src/auto/configure
- Patch 7.1.180
- Problem: Regexp patterns not tested sufficiently.
- Solution: Add more checks to the regexp test.
- Files: src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.1.181
- Problem: Accessing uninitialized memory in Farsi mode. (Dominique Pelle)
- Solution: Only invoke lrF_sub() when there is something to do.
- Files: src/ex_cmds.c
- Patch 7.1.182
- Problem: When using tab pages and an argument list the session file may
- contain wrong "next" commands. (Alexander Bluem)
- Solution: Use "argu" commands and only when needed.
- Files: src/ex_docmd.c
- Patch 7.1.183
- Problem: "Internal error" for ":echo matchstr('a', 'a\%[\&]')" (Mitanu
- Paul)
- Solution: Inside "\%[]" detect \&, \| and \) as an error.
- Files: src/regexp.c
- Patch 7.1.184
- Problem: Crash when deleting backwards over a line break in Insert mode.
- Solution: Don't advance the cursor when it's already on the NUL after a
- line. (Matthew Wozniski)
- Files: src/normal.c
- Patch 7.1.185
- Problem: Using "gR" with a multibyte encoding and typing a CR pushes
- characters onto the replace stack incorrectly, resulting in BS
- putting back the wrong characters. (Paul B. Mahol)
- Solution: Push multibyte characters onto the replace stack in reverse byte
- order. Add replace_push_mb().
- Files: src/edit.c, src/misc1.c, src/proto/edit.pro
- Patch 7.1.186
- Problem: "expand('<afile>')" returns a bogus value after changing
- directory. (Dave Fishburn)
- Solution: Copy "autocmd_fname" to allocated memory and expand to full
- filename. Shorten the path when expanding <afile>.
- Files: src/ex_docmd.c, src/fileio.c
- Patch 7.1.187
- Problem: Win32 GUI: Custom completion using system() no longer works
- after patch 7.1.104. (Erik Falor)
- Solution: Loop when safe_vgetc() returns K_IGNORE.
- Files: src/ex_getln.c
- Patch 7.1.188
- Problem: When 'showmode' is off the message for changing a readonly file is
- given in the second column instead of the first. (Payl B. Mahol)
- Solution: Put the W10 message in the first column.
- Files: src/edit.c
- Patch 7.1.189 (after 7.1.104)
- Problem: Patch 7.1.104 was incomplete.
- Solution: Also call plain_vgetc() in ask_yesno().
- Files: src/misc1.c
- Patch 7.1.190
- Problem: Cursor after end-of-line: "iA sentence.<Esc>)"
- Solution: Move cursor back and make motion inclusive.
- Files: src/normal.c
- Patch 7.1.191
- Problem: Win32 GUI: after patch 7.1.168 there is still a problem when
- clicking in a scrollbar. (Juergen Jottkaerr)
- Solution: Don't check the input buffer when dragging the scrollbar.
- Files: src/gui.c
- Patch 7.1.192
- Problem: With Visual block selection, "s" and typing something, CTRL-C
- doesn't stop Vim from repeating the replacement in other lines,
- like happens for "I".
- Solution: Check for "got_int" to be set.
- Files: src/ops.c
- Patch 7.1.193
- Problem: Some Vim 5.x digraphs are missing in Vim 7, even though the
- character pairs are not used. (Philippe de Muyter)
- Solution: Add those Vim 5.x digraphs that don't conflict with others.
- Files: src/digraph.c
- Patch 7.1.194
- Problem: ":echo glob('~/{}')" results in /home/user//.
- Solution: Don't add a slash if there already is one.
- Files: src/os_unix.c
- Patch 7.1.195
- Problem: '0 mark doesn't work for "~/foo ~ foo".
- Solution: Don't expand the whole file name, only "~/".
- Files: src/mark.c
- Patch 7.1.196 (extra)
- Problem: Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik
- Falor)
- Solution: Use the TTM_SETMAXTIPWIDTH message.
- Files: src/gui_w32.c
- Patch 7.1.197
- Problem: Mac: "make install" doesn't work when prefix defined.
- Solution: Pass different arguments to "make installruntime". (Jjgod Jiang)
- Files: src/Makefile
- Patch 7.1.198
- Problem: Hang when using ":s/\n//gn". (Burak Gorkemli)
- Solution: Set "skip_match".
- Files: src/ex_cmds.c
- Patch 7.1.199
- Problem: Can't do command line completion for a specific file name
- extension.
- Solution: When the pattern ends in "$" don't add a star for completion and
- remove the "$" before matching with file names.
- Files: runtime/doc/cmdline.txt, src/ex_getln.c
- Patch 7.1.200 (after 7.1.177 and 7.1.182)
- Problem: Compiler warnings for uninitialized variables.
- Solution: Init variables.
- Files: src/ex_cmds2.c, src/ex_docmd.c
- Patch 7.1.201
- Problem: When reading stdin 'fenc' and 'ff' are not set.
- Solution: Set the options after reading stdin. (Ben Schmidt)
- Files: src/fileio.c
- Patch 7.1.202
- Problem: Incomplete utf-8 byte sequence is not checked for validity.
- Solution: Check the bytes that are present for being valid. (Ben Schmidt)
- Files: src/mbyte.c
- Patch 7.1.203
- Problem: When 'virtualedit' is "onemore" then "99|" works but ":normal 99|"
- doesn't. (Andy Wokula)
- Solution: Check for "onemore" flag in check_cursor_col().
- Files: src/misc2.c
- Patch 7.1.204 (extra)
- Problem: Win32: Using the example at 'balloonexpr' the balloon disappears
- after four seconds and then comes back again. Also moves the
- mouse pointer a little bit. (Yongwei Wu)
- Solution: Set the autopop time to 30 seconds (the max value). (Sergey
- Khorev) Move the mouse two pixels forward and one back to end up
- in the same position (really!).
- Files: src/gui_w32.c
- Patch 7.1.205
- Problem: Can't get the operator in an ":omap".
- Solution: Add the "v:operator" variable. (Ben Schmidt)
- Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h
- Patch 7.1.206
- Problem: Compiler warnings when using MODIFIED_BY.
- Solution: Add type casts. (Ben Schmidt)
- Files: src/version.c
- Patch 7.1.207
- Problem: Netbeans: "remove" cannot delete one line.
- Solution: Remove partial lines and whole lines properly. Avoid a memory
- leak. (Xavier de Gaye)
- Files: src/netbeans.c
- Patch 7.1.208
- Problem: On Alpha get an unaligned access error.
- Solution: Store the dictitem pointer before using it. (Matthew Luckie)
- Files: src/eval.c
- Patch 7.1.209
- Problem: GTK: When using the netrw plugin and doing ":gui" Vim hangs.
- Solution: Stop getting a selection after three seconds. This is a hack.
- Files: src/gui_gtk_x11.c
- Patch 7.1.210
- Problem: Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony
- Mechelynck)
- Solution: Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte.
- Files: src/mbyte.c
- Patch 7.1.211
- Problem: The matchparen plugin may take an unexpected amount of time, so
- that it looks like Vim hangs.
- Solution: Add a timeout to searchpair(), searchpairpos(), search() and
- searchpos(). Use half a second timeout in the plugin.
- Files: runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c,
- src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c,
- src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro,
- src/search.c
- Patch 7.1.212
- Problem: Accessing a byte before a line.
- Solution: Check that the column is 1 or more. (Dominique Pelle)
- Files: src/edit.c
- Patch 7.1.213
- Problem: A ":tabedit" command that results in the "swap file exists" dialog
- and selecting "abort" doesn't close the new tab. (Al Budden)
- Solution: Pass "old_curwin" to do_exedit().
- Files: src/ex_docmd.c
- Patch 7.1.214
- Problem: ":1s/g\n\zs1//" deletes characters from the first line. (A Politz)
- Solution: Start replacing in the line where the match starts.
- Files: src/ex_cmds.c
- Patch 7.1.215
- Problem: It is difficult to figure out what syntax items are nested at a
- certain position.
- Solution: Add the synstack() function.
- Files: runtime/doc/eval.txt, src/eval.c, src/proto/syntax.pro,
- src/syntax.c
- Patch 7.1.216
- Problem: Variants of --remote-tab are not mentioned for "vim --help".
- Solution: Display optional -wait and -silent.
- Files: src/main.c
- Patch 7.1.217
- Problem: The "help-tags" tag may be missing from runtime/doc/tags when it
- was generated during "make install".
- Solution: Add the "++t" argument to ":helptags" to force adding the tag.
- Files: runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c,
- src/ex_cmds.h
- Patch 7.1.218
- Problem: A syntax region without a "keepend", containing a region with
- "extend" could be truncated at the end of the containing region.
- Solution: Do not call syn_update_ends() when there are no keepend items.
- Files: src/syntax.c
- Patch 7.1.219 (after 7.1.215)
- Problem: synstack() returns situation after the current character, can't
- see the state for a one-character region.
- Solution: Don't update ending states in the requested column.
- Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c,
- src/proto/syntax.pro, src/screen.c, src/spell.c, src/syntax.c
- Patch 7.1.220
- Problem: When a ")" or word movement command moves the cursor back from the
- end of the line it may end up on the trail byte of a multibyte
- character. It's also moved back when it isn't needed.
- Solution: Add the adjust_cursor() function.
- Files: src/normal.c
- Patch 7.1.221
- Problem: When inserting a "(", triggering the matchparen plugin, the
- following highlighting may be messed up.
- Solution: Before triggering the CursorMovedI autocommands update the display
- to update the stored syntax stacks for the change.
- Files: src/edit.c
- Patch 7.1.222 (after 7.1.217)
- Problem: Wildcards in argument of ":helptags" are not expanded. (Marcel
- Svitalsky)
- Solution: Expand wildcards in the directory name.
- Files: src/ex_cmds.c
- Patch 7.1.223
- Problem: glob() doesn't work properly when 'shell' is "sh" or "bash" and
- the expanded name contains spaces, '~', single quotes and other
- special characters. (Adri Verhoef, Charles Campbell)
- Solution: For Posix shells define a vimglob() function to list the matches
- instead of using "echo" directly.
- Files: src/os_unix.c
- Patch 7.1.224
- Problem: When using "vim -F -o file1 file2" only one window is
- right-to-left. Same for "-H". (Ben Schmidt)
- Solution: use set_option_value() to set 'rightleft'.
- Files: src/main.c
- Patch 7.1.225
- Problem: Using uninitialized value when XGetWMNormalHints() fails.
- Solution: Check the return value. (Dominique Pelle)
- Files: src/os_unix.c
- Patch 7.1.226
- Problem: Command line completion doesn't work when a file name contains a
- '&' character.
- Solution: Accept all characters in a file name, except ones that end a
- command or white space.
- Files: src/ex_docmd.c
- Patch 7.1.227
- Problem: Hang in syntax HL when moving over a ")". (Dominique Pelle)
- Solution: Avoid storing a syntax state in the wrong position in the list of
- remembered states.
- Files: src/syntax.c
- Patch 7.1.228
- Problem: When 'foldmethod' is "indent" and a fold is created with ">>" it
- can't be closed with "zc". (Daniel Shahaf)
- Solution: Reset the "small" flag of a fold when adding a line to it.
- Files: src/fold.c
- Patch 7.1.229
- Problem: A fold is closed when it shouldn't when 'foldmethod' is "indent"
- and backspacing a non-white character so that the indent increases.
- Solution: Keep the fold open after backspacing a character.
- Files: src/edit.c
- Patch 7.1.230
- Problem: Memory leak when executing SourceCmd autocommands.
- Solution: Free the memory. (Dominique Pelle)
- Files: src/ex_cmds2.c
- Patch 7.1.231
- Problem: When shifting lines the change is acted upon multiple times.
- Solution: Don't have shift_line() call changed_bytes.
- Files: src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro
- Patch 7.1.232 (after 7.1.207 and 7.1.211)
- Problem: Compiler warnings with MSVC.
- Solution: Add type casts. (Mike Williams)
- Files: src/ex_cmds2.c, src/netbeans.c
- Patch 7.1.233
- Problem: Crash when doing Insert mode completion for a user defined
- command. (Yegappan Lakshmanan)
- Solution: Don't use the non-existing command line.
- Files: src/ex_getln.c
- Patch 7.1.234
- Problem: When diff'ing three files the third one isn't displayed correctly.
- (Gary Johnson)
- Solution: Compute the size of diff blocks correctly when merging blocks.
- Compute filler lines correctly when scrolling.
- Files: src/diff.c
- Patch 7.1.235
- Problem: Pattern matching is slow when using a lot of simple patterns.
- Solution: Avoid allocating memory by not freeing it when it's not so much.
- (Alexei Alexandrov)
- Files: src/regexp.c
- Patch 7.1.236
- Problem: When using 'incsearch' and 'hlsearch' a complicated pattern may
- make Vim hang until CTRL-C is pressed.
- Solution: Add the 'redrawtime' option.
- Files: runtime/doc/options.txt, src/ex_cmds.c, src/ex_docmd.c,
- src/ex_getln.c, src/gui.c, src/misc1.c, src/normal.c,
- src/option.c, src/quickfix.c, src/regexp.c, src/proto/regexp.pro,
- src/proto/search.pro, src/search.c, src/screen.c,
- src/option.h, src/spell.c, src/structs.h, src/syntax.c, src/tag.c,
- src/vim.h
- Patch 7.1.237
- Problem: Compiler warning on an Alpha processor in Motif code.
- Solution: Change a typecast. (Adri Verhoef)
- Files: src/gui_motif.c
- Patch 7.1.238
- Problem: Using the 'c' flag with searchpair() may cause it to fail. Using
- the 'r' flag doesn't work when 'wrapscan' is set. (A.Politz)
- Solution: Only use the 'c' flag for the first search, not for repeating.
- When using 'r' imply 'W'. (Antony Scriven)
- Files: src/eval.c
- Patch 7.1.239 (after 7.1.233)
- Problem: Compiler warning for sprintf() argument.
- Solution: Add a typecast. (Nico Weber)
- Files: src/ex_getln.c
- Patch 7.1.240
- Problem: When "gUe" turns a German sharp s into SS the operation stops
- before the end of the word. Latin2 has the same sharp s but it's
- not changed to SS there.
- Solution: Make sure all the characters are operated upon. Detect the sharp
- s in latin2. Also fixes that changing case of a multibyte
- character that changes the byte count doesn't always work.
- Files: src/ops.c
- Patch 7.1.241
- Problem: Focus change events not always ignored. (Erik Falor)
- Solution: Ignore K_IGNORE in Insert mode in a few more places.
- Files: src/edit.c
- Patch 7.1.242 (after 7.1.005)
- Problem: "cib" doesn't work properly on "(x)". (Tim Pope)
- Solution: Use ltoreq() instead of lt(). Also fix "ciT" on "<a>x</a>".
- Files: src/search.c
- Patch 7.1.243 (after 7.1.240)
- Problem: "U" doesn't work on all text in Visual mode. (Adri Verhoef)
- Solution: Loop over all the lines to be changed. Add tests for this.
- Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
- Patch 7.1.244
- Problem: GUI may have part of the command line cut off.
- Solution: Don't round the number of lines up, always round down.
- (Tony Houghton, Scott Dillard)
- Files: src/gui.c
- Patch 7.1.245
- Problem: Pressing CTRL-\ three times causes Vim to quit. (Ranganath Rao).
- Also for f CTRL-\ CTRL-\.
- Solution: When going to cooked mode in mch_delay() set a flag to ignore
- SIGQUIT.
- Files: src/os_unix.c
- Patch 7.1.246
- Problem: Configure hangs when the man pager is something strange. (lorien)
- Solution: Set MANPAGER and PAGER to "cat". (Micah Cowan)
- Files: src/auto/configure, src/configure.in
- Patch 7.1.247
- Problem: When using Netbeans backspacing in Insert mode skips a character
- now and then. (Ankit Jain)
- Solution: Avoid calling netbeans_removed(), it frees the line pointer.
- (partly by Dominique Pelle).
- Files: src/misc1.c
- Patch 7.1.248
- Problem: Can't set the '" mark. Can't know if setpos() was successful.
- Solution: Allow setting the '" mark with setpos(). Have setpos() return a
- value indicating success/failure.
- Files: runtime/doc/eval.txt, src/eval.c, src/mark.c
- Patch 7.1.249
- Problem: After "U" the cursor can be past end of line. (Adri Verhoef)
- Solution: Adjust the cursor position in u_undoline().
- Files: src/undo.c
- Patch 7.1.250
- Problem: ":setglobal fenc=anything" gives an error message in a buffer
- where 'modifiable' is off. (Ben Schmidt)
- Solution: Don't give an error if 'modifiable' doesn't matter.
- Files: src/option.c
- Patch 7.1.251
- Problem: Using freed memory when spell checking enabled.
- Solution: Obtain the current line again after calling spell_move_to().
- (Dominique Pelle)
- Files: src/screen.c
- Patch 7.1.252 (after 7.1.243)
- Problem: Test 39 fails when the environment has a utf-8 locale. (Dominique
- Pelle)
- Solution: Force 'encoding' to be latin1.
- Files: src/testdir/test39.in
- Patch 7.1.253
- Problem: ":sort" doesn't work in a one line file. (Patrick Texier)
- Solution: Don't sort if there is only one line. (Dominique Pelle)
- Files: src/ex_cmds.c
- Patch 7.1.254
- Problem: Tests 49 and 55 fail when the locale is French.
- Solution: Using C messages for test 49. Filter the error message in test 55
- such that it works when the number is halfway the message.
- Files: src/testdir/test49.in, src/testdir/test55.in
- Patch 7.1.255
- Problem: Vim doesn't support utf-32. (Yongwei Wu)
- Solution: Add aliases for utf-32, it's the same as ucs-4.
- Files: src/mbyte.c
- Patch 7.1.256
- Problem: findfile() also returns directories.
- Solution: Cleanup the code for finding files and directories in a list of
- directories. Remove the ugly global ff_search_ctx.
- Files: src/eval.c, src/misc2.c, src/vim.h, src/tag.c
- Patch 7.1.257
- Problem: Configure can't always find the Tcl header files.
- Solution: Also look in /usr/local/include/tcl$tclver and
- /usr/include/tcl$tclver (James Vega)
- Files: src/auto/configure, src/configure.in
- Patch 7.1.258
- Problem: Crash when doing "d/\n/e" and 'virtualedit' is "all". (Andy Wokula)
- Solution: Avoid that the column becomes negative. Also fixes other problems
- with the end of a pattern match is in column zero. (A.Politz)
- Files: src/search.c
- Patch 7.1.259
- Problem: Cursor is in the wrong position when 'rightleft' is set,
- 'encoding' is "utf-8" and on an illegal byte. (Dominique Pelle)
- Solution: Only put the cursor in the first column when actually on a
- double-wide character. (Yukihiro Nakadaira)
- Files: src/screen.c
- Patch 7.1.260
- Problem: Cursor positioning problem after ^@ wrapping halfway when
- 'encoding' is utf-8.
- Solution: Only count a position for printable characters. (partly by
- Yukihiro Nakadaira)
- Files: src/charset.c
- Patch 7.1.261
- Problem: When a 2 byte BOM is detected Vim uses UCS-2, which doesn't work
- for UTF-16 text. (Tony Mechelynck)
- Solution: Default to UTF-16.
- Files: src/fileio.c, src/testdir/test42.ok
- Patch 7.1.262
- Problem: Can't get the process ID of Vim.
- Solution: Implement getpid().
- Files: src/eval.c, runtime/doc/eval.txt
- Patch 7.1.263
- Problem: The filetype can consist of two dot separated names. This works
- for syntax and ftplugin, but not for indent. (Brett Stahlman)
- Solution: Use split() and loop over each dot separated name.
- Files: runtime/indent.vim
- Patch 7.1.264
- Problem: Crash when indenting lines. (Dominique Pelle)
- Solution: Set the cursor column when changing the cursor line.
- Files: src/ops.c, src/misc1.c
- Patch 7.1.265
- Problem: When 'isfname' contains a space, cmdline completion can hang.
- (James Vega)
- Solution: Reset the "len" variable.
- Files: src/ex_docmd.c
- Patch 7.1.266
- Problem: When the version string returned by the terminal contains
- unexpected characters, it is used as typed input. (James Vega)
- Solution: Assume the escape sequence ends in a letter.
- Files: src/term.c
- Patch 7.1.267
- Problem: When changing folds cursor may be positioned in the wrong place.
- Solution: Call changed_window_setting_win() instead of
- changed_window_setting().
- Files: src/fold.c
- Patch 7.1.268
- Problem: Always shows "+" at end of screen line with: ":set
- listchars=eol:$,extends:+ nowrap list cursorline" (Gary Johnson)
- Solution: Check for lcs_eol_one instead of lcs_eol.
- Files: src/screen.c
- Patch 7.1.269
- Problem: The matchparen plugin has an arbitrary limit for the number of
- lines to look for a match.
- Solution: Rely on the searchpair() timeout.
- Files: runtime/plugin/matchparen.vim
- Patch 7.1.270
- Problem: ":?foo?" matches in current line since patch 7.1.025. (A.Politz)
- Solution: Remove the SEARCH_START flag.
- Files: src/ex_docmd.c, src/search.c
- Patch 7.1.271
- Problem: In a Vim build without autocommands, checking a file that was
- changed externally causes the current buffer to be changed
- unexpectedly. (Karsten Hopp)
- Solution: Store "curbuf" instead of "buf".
- Files: src/fileio.c
- Patch 7.1.272
- Problem: The special buffer name [Location List] is not used for a buffer
- displayed in another tab page.
- Solution: Use FOR_ALL_TAB_WINDOWS instead of FOR_ALL_WINDOWS. (Hiroaki
- Nishihara)
- Files: src/buffer.c
- Patch 7.1.273
- Problem: When profiling on Linux Vim exits early. (Liu Yubao)
- Solution: When profiling don't exit on SIGPROF.
- Files: src/Makefile, src/os_unix.c
- Patch 7.1.274 (after 7.1.272)
- Problem: Compiler warning for optimized build.
- Solution: Init win to NULL.
- Files: src/buffer.c
- Patch 7.1.275 (extra)
- Problem: Mac: ATSUI and 'antialias' don't work properly together.
- Solution: Fix this and the input method. (Jjgod Jiang)
- Files: src/vim.h, src/gui_mac.c
- Patch 7.1.276
- Problem: "gw" uses 'formatexpr', even though the docs say it doesn't.
- Solution: Don't use 'formatexpr' for "gw".
- Files: src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro
- Patch 7.1.277
- Problem: Default for 'paragraphs' misses some items (Colin Watson)
- Solution: Add TP, HP, Pp, Lp and It to 'paragraphs'. (James Vega)
- Files: runtime/doc/options.txt, src/option.c
- Patch 7.1.278 (extra, after 7.1.275)
- Problem: Build failure when USE_CARBONKEYHANDLER is not defined.
- Solution: Remove #ifdef.
- Files: src/gui_mac.c
- Patch 7.1.279
- Problem: When using cscope temporary files are left behind.
- Solution: Send the quit command to cscope and give it two seconds to exit
- nicely before killing it. (partly by Dominique Pelle)
- Files: src/if_cscope.c
- Patch 7.1.280 (after 7.1.275)
- Problem: Mac: build problems when not using multibyte feature. (Nicholas
- Stallard)
- Solution: Don't define USE_IM_CONTROL when not using multibyte.
- Files: src/vim.h
- Patch 7.1.281 (after 7.1.279)
- Problem: sa.sa_mask is not initialized. Cscope may not exit.
- Solution: Use sigemptyset(). Use SIGKILL instead of SIGTERM. (Dominique
- Pelle)
- Files: src/if_cscope.c
- Patch 7.1.282 (extra)
- Problem: Win64: Edit with Vim context menu isn't installed correctly.
- Compiler warnings and a few other things.
- Solution: Add [ and ] to entry of class name. Use UINT_PTR instead of UINT.
- And fixes for other things. (George V. Reilly)
- Files: src/GvimExt/Makefile, src/dosinst.c, src/if_ole.cpp, src/if_ole.h,
- src/if_ole.idl, src/INSTALLpc.txt, src/Make_mvc.mak,
- src/os_win32.c,
- Patch 7.1.283
- Problem: Non-extra part for 7.1.282.
- Solution: Various changes.
- Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/main.c,
- src/mark.c, src/netbeans.c, src/popupmnu.c, src/vim.h,
- src/window.c
- Patch 7.1.284
- Problem: Compiler warnings for functions without prototype.
- Solution: Add the function prototypes. (Patrick Texier)
- Files: src/eval.c, src/quickfix.c
- Patch 7.1.285 (extra)
- Problem: Mac: dialog hotkeys don't work.
- Solution: Add hotkey support. (Dan Sandler)
- Files: src/gui_mac.c
- Patch 7.1.286 (after 7.1.103)
- Problem: "w" at the end of the buffer moves the cursor past the end of the
- line. (Markus Heidelberg)
- Solution: Move the cursor back from the NUL when it was moved forward.
- Files: src/normal.c
- Patch 7.1.287
- Problem: Crash when reversing a list after using it. (Andy Wokula)
- Solution: Update the pointer to the last used element. (Dominique Pelle)
- Files: src/eval.c
- Patch 7.1.288 (after 7.1.281)
- Problem: Cscope still leaves behind temp files when using gvim.
- Solution: When getting the ECHILD error loop for a while until cscope exits.
- (Dominique Pelle)
- Files: if_cscope.c
- Patch 7.1.289
- Problem: When EXITFREE is defined and 'acd' is set freed memory is used.
- (Dominique Pelle)
- Solution: Reset p_acd before freeing all buffers.
- Files: src/misc2.c
- Patch 7.1.290
- Problem: Reading bytes that were not written when spell checking and a line
- has a very large indent.
- Solution: Don't copy the start of the next line when it only contains
- spaces. (Dominique Pelle)
- Files: src/spell.c
- Patch 7.1.291 (after 7.1.288)
- Problem: Compiler warning.
- Solution: Change 50 to 50L.
- Files: src/if_cscope.c
- Patch 7.1.292
- Problem: When using a pattern with "\@<=" the submatches can be wrong.
- (Brett Stahlman)
- Solution: Save the submatches when attempting a look-behind match.
- Files: src/regexp.c
- Patch 7.1.293
- Problem: Spell checking considers super- and subscript characters as word
- characters.
- Solution: Recognize the Unicode super and subscript characters.
- Files: src/spell.c
- Patch 7.1.294
- Problem: Leaking memory when executing a shell command.
- Solution: Free memory when not able to save for undo. (Dominique Pelle)
- Files: src/ex_cmds.c
- Patch 7.1.295
- Problem: Vimtutor only works with vim, not gvim.
- Solution: Add the -g flag to vimtutor. (Dominique Pelle) Add gvimtutor.
- Files: src/Makefile, src/gvimtutor, src/vimtutor, runtime/doc/vimtutor.1
- Patch 7.1.296
- Problem: SELinux is not supported.
- Solution: Detect the selinux library and use mch_copy_sec(). (James Vega)
- Files: src/auto/configure, src/config.h.in, src/configure.in,
- src/fileio.c, src/memfile.c, src/os_unix.c, src/proto/os_unix.pro
- Patch 7.1.297
- Problem: When using the search/replace dialog the parenmatch highlighting
- can be wrong. (Tim Duncan)
- Solution: In the GUI redraw function invoke the CursorMoved autocmd.
- Files: src/gui.c
- Patch 7.1.298 (after 7.1.295)
- Problem: src/gvimtutor is not distributed.
- Solution: Add it to the list of distributed files.
- Files: Filelist
- Patch 7.1.299
- Problem: Filetype detection doesn't work properly for file names ending in
- a part that is ignored and contain a space or other special
- characters.
- Solution: Escape the special characters using the new fnameescape function.
- Files: runtime/doc/eval.txt, runtime/filetype.vim, src/eval.c,
- src/ex_getln.c, src/proto/ex_getln.pro, src/vim.h
- Patch 7.1.300
- Problem: Value of asmsyntax argument isn't checked for valid characters.
- Solution: Only accepts letters and digits.
- Files: runtime/filetype.vim
- Patch 7.1.301
- Problem: When the "File/Save" menu is used in Insert mode, a tab page label
- is not updated to remove the "+".
- Solution: Call draw_tabline() from showruler(). (Bjorn Winckler)
- Files: src/screen.c
- Patch 7.1.302 (after 7.1.299)
- Problem: Compilation error on MS-Windows.
- Solution: Don't use xp_shell when it's not defined.
- Files: src/ex_getln.c
- Patch 7.1.303 (after 7.1.302)
- Problem: Compilation error on MS-Windows, again.
- Solution: Declare p.
- Files: src/ex_getln.c
- Patch 7.1.304
- Problem: Shortpath_for_invalid_fname() does not work correctly and is
- unnecessary complex.
- Solution: Clean up shortpath_for_invalid_fname(). (mostly by Yegappan
- Lakshmanan)
- Files: src/eval.c
- Patch 7.1.305
- Problem: Editing a compressed file with special characters in the name
- doesn't work properly.
- Solution: Escape special characters.
- Files: runtime/autoload/gzip.vim
- Patch 7.1.306
- Problem: Some Unicode characters are handled like word characters while
- they are symbols.
- Solution: Adjust the table for Unicode classification.
- Files: src/mbyte.c
- Patch 7.1.307
- Problem: Many warnings when compiling with Python 2.5.
- Solution: Use ssize_t instead of int for some types. (James Vega)
- Files: src/if_python.c
- Patch 7.1.308
- Problem: When in readonly mode ":options" produces an error.
- Solution: Reset 'readonly'. (Gary Johnson)
- Files: runtime/optwin.vim
- Patch 7.1.309
- Problem: Installing and testing with a shadow directory doesn't work.
- (James Vega)
- Solution: Add "po" to the list of directories to link. Also link the Vim
- scripts in testdir. And a few more small fixes.
- Files: src/Makefile
- Patch 7.1.310
- Problem: Incomplete utf-8 byte sequence at end of the file is not detected.
- Accessing memory that wasn't written.
- Solution: Check the last bytes in the buffer for being a valid utf-8
- character. (mostly by Ben Schmidt)
- Also fix that the reported line number of the error was wrong.
- Files: src/fileio.c
- Patch 7.1.311
- Problem: Compiler warning for missing sentinel in X code.
- Solution: Change 0 to NULL. (Markus Heidelberg)
- Files: src/mbyte.c
- Patch 7.1.312
- Problem: The .po files have mistakes in error numbers.
- Solution: Search for these mistakes in the check script. (Dominique Pelle)
- Files: src/po/check.vim
- Patch 7.1.313
- Problem: When the netbeans interface setModified call is used the status
- lines and window title are not updated.
- Solution: Redraw the status lines and title. (Philippe Fremy)
- Files: src/netbeans.c
- Patch 7.1.314
- Problem: The value of 'pastetoggle' is written to the session file without
- any escaping. (Randall Hansen)
- Solution: Use put_escstr(). (Ben Schmidt)
- Files: src/option.c
- Patch 7.1.315
- Problem: Crash with specific search pattern using look-behind match.
- (Andreas Politz)
- Solution: Also save the value of "need_clear_subexpr".
- Files: src/regexp.c
- Patch 7.1.316
- Problem: When 'cscopetag' is set ":tag" gives an error message instead of
- going to the next tag in the tag stack.
- Solution: Don't call do_cstag() when there is no argument. (Mark Goldman)
- Files: src/ex_docmd.c
- Patch 7.1.317
- Problem: Compiler warnings in Motif calls.
- Solution: Change zero to NULL. (Dominique Pelle)
- Files: src/gui_motif.c
- Patch 7.1.318
- Problem: Memory leak when closing xsmp connection. Crash on exit when
- using Lesstif.
- Solution: Don't close the X display to work around a Lesstif bug. Free
- clientid. Also fix a leak for Motif and Athena. (Dominique Pelle)
- Files: src/gui_x11.c, src/os_unix.c
- Patch 7.1.319
- Problem: When a register has an illegal utf-8 sequence, pasting it on the
- command line causes an illegal memory access.
- Solution: Use mb_cptr2char_adv(). (Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.1.320 (extra)
- Problem: Win64: Warnings while compiling Python interface.
- Solution: Use PyInt in more places. Also update version message for the
- console. (George Reilly)
- Files: src/if_python.c, src/version.c
- Patch 7.1.321 (extra)
- Problem: Win32 / Win64: Install file is outdated.
- Solution: Update the text for recent compiler. (George Reilly)
- Files: src/INSTALLpc.txt
- Patch 7.1.322
- Problem: Can't get start of Visual area in an <expr> mapping.
- Solution: Add the 'v' argument to getpos().
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.1.323
- Problem: Test 19 fails with some termcaps. (Dominique Pelle)
- Solution: Set the t_kb and t_kD termcap values.
- Files: src/testdir/test19.in, src/testdir/test38.in
- Patch 7.1.324
- Problem: File name path length on Unix is limited to 1024.
- Solution: Use PATH_MAX when it's more than 1000.
- Files: src/os_unix.h
- Patch 7.1.325
- Problem: When editing a command line that's longer than available space in
- the window, the characters at the end are in reverse order.
- Solution: Increment the insert position even when the command line doesn't
- fit. (Ingo Karkat)
- Files: src/ex_getln.c
- Patch 7.1.326
- Problem: ":s!from!to!" works, but ":smagic!from!to!" doesn't. It sees the
- "!" as a flag to the command. Same for ":snomagic". (Johan Spetz)
- Solution: When checking for a forced command also ignore ":smagic" and
- ":snomagic". (Ian Kelling)
- Files: src/ex_docmd.c
- Patch 7.1.327
- Problem: The GUI tutor is installed when there is no GUI version.
- Solution: Only install gvimtutor when building a GUI version.
- Files: src/Makefile
- Patch 7.1.328
- Problem: Crash when using Cygwin and non-posix path name in tags file.
- Solution: Use separate buffer for posix path. (Ben Schmidt)
- Files: src/os_unix.c
- Patch 7.1.329
- Problem: When the popup menu is removed a column of cells, the right half
- of double-wide characters, may not be redrawn.
- Solution: Check if the right half of a character needs to be redrawn.
- (Yukihiro Nakadaira)
- Files: src/screen.c
- Patch 7.1.330
- Problem: Reading uninitialized memory when using Del in replace mode.
- Solution: Use utfc_ptr2len_len() instead of mb_ptr2len(). (Dominique Pelle)
- Files: src/misc1.c
- Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle)
- A search offset from the end of a match didn't work properly for multibyte
- characters. (Yukihiro Nakadaira)
- When displaying the value of 'key' don't show "*****" when the value is empty.
- (Ben Schmidt)
- Internal error when compiled with EXITFREE and using the nerd_tree plugin.
- Set last_msg_hist to NULL when history becomes empty. Call
- free_all_functions() after garbage collection. (Dominique Pelle)
- GTK with XIM: <S-Space> does not work. (Yukihiro Nakadaira)
- Some shells do not support "echo -n", which breaks glob(). Use "echo" instead
- of "echo -n $1; echo". (Gary Johnson)
- "echo 22,44" printed "22" on top of the command, the error messages caused
- the rest not to be cleared. Added the need_clr_eos flag.
- Netbeans events are handled while updating the screen, causing a crash.
- Change the moment when events are handled. Rename nb_parse_messages() to
- netbeans_parse_messages(). (Xavier de Gaye)
- Test 11 was broken after patch 7.1.186 on Win32 console. (Daniel Shahaf)
- Use shellescape() on the file name.
- IM was turned off in im_preedit_end_cb() for no good reason. (Takuhiro
- Nishioka)
- A corrupted spell file could cause Vim to use lots of memory. Better
- detection for running into the end of the file. (idea from James Vega)
- Mac: Included a patch to make it build with GTK. Moved language init to
- mac_lang_init() function. (Ben Schmidt)
- Problem with 'wildmenu' after ":lcd", up/down arrows don't work. (Erik Falor)
- Fix configure.in to avoid "implicitly declared" warnings when running
- configure.
- Fixed a memory leak when redefining a keymap. (Dominique Pelle)
- Setting 'pastetoggle' to "jj" didn't work.
- 'ic' and 'smartcase' don't work properly when using \%V in a search pattern.
- (Kana Natsuno)
- Patch 7.2a.001
- Problem: On some systems X11/Xlib.h exists (from X11-dev package) but
- X11/Intrinsic.h does not (in Xt-dev package). This breaks the
- build. Also, on Solaris 9 sys/ptem.h isn't found.
- Solution: Have configure only accept X11 when X11/Intrinsic.h exists.
- Check for sys/ptem.h while including sys/stream.h. (Vladimir
- Marek)
- Files: src/auto/configure, src/configure.in
- Patch 7.2a.002
- Problem: getbufvar(N, "") gets the dictionary of the current buffer instead
- of buffer N.
- Solution: Set curbuf before calling find_var_in_ht(). (Kana Natsuno)
- Files: src/eval.c
- Patch 7.2a.003
- Problem: Leaking memory when using ":file name" and using access control
- lists.
- Solution: Invoke mch_free_acl() in vim_rename(). (Dominique Pelle)
- Files: src/fileio.c
- Patch 7.2a.004
- Problem: Some systems can't get spell files by ftp.
- Solution: Use http when it looks like it's possible. (James Vega)
- Files: runtime/autoload/spellfile.vim
- Patch 7.2a.005
- Problem: A few error messages use confusing names. Misspelling.
- Solution: Change "dissallows" to "disallows". (Dominique Pelle) Change
- "number" to "Number".
- Files: src/eval.c, src/fileio.c
- Patch 7.2a.006
- Problem: Reading past NUL in a string.
- Solution: Check for invalid utf-8 byte sequence. (Dominique Pelle)
- Files: src/charset.c
- Patch 7.2a.007
- Problem: ":let v = 1.2.3" was OK in Vim 7.1, now it gives an error.
- Solution: Don't look for a floating point number after the "." operator.
- Files: src/eval.c
- Patch 7.2a.008
- Problem: printf("%g", 1) doesn't work.
- Solution: Convert Number to Float when needed.
- Files: src/message.c
- Patch 7.2a.009
- Problem: cygwin_conv_to_posix_path() does not specify buffer size.
- Solution: Use new Cygwin function: cygwin_conv_path(). (Corinna Vinschen)
- Files: src/main.c, src/os_unix.c
- Patch 7.2a.010
- Problem: When a file name has an illegal byte sequence Vim may read
- uninitialised memory.
- Solution: Don't use UTF_COMPOSINGLIKE() on an illegal byte. In
- msg_outtrans_len_attr() use char2cells() instead of ptr2cells().
- In utf_ptr2char() don't check second byte when first byte is
- illegal. (Dominique Pelle)
- Files: src/mbyte.c, src/message.c
- Patch 7.2a.011
- Problem: The Edit/Startup Settings menu doesn't work.
- Solution: Expand environment variables. (Ben Schmidt)
- Files: runtime/menu.vim
- Patch 7.2a.012
- Problem: Compiler warnings for casting int to pointer.
- Solution: Add cast to long in between. (Martin Toft)
- Files: src/gui_gtk_x11.c
- Patch 7.2a.013
- Problem: shellescape() does not escape "%" and "#" characters.
- Solution: Add find_cmdline_var() and use it when the second argument to
- shellescape() is non-zero.
- Files: runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c,
- src/proto/ex_docmd.pro, src/proto/misc2.pro, src/misc2.c
- Patch 7.2a.014
- Problem: Problem with % in message.
- Solution: Put % in single quotes.
- Files: src/eval.c
- Patch 7.2a.015 (after 7.2a.010)
- Problem: Misaligned messages.
- Solution: Compute length of unprintable chars correctly.
- Files: src/message.c
- Patch 7.2a.016
- Problem: Using CTRL-W v in the quickfix window results in two quickfix
- windows, which is not allowed. ":tab split" should be allowed to
- open a new quickfix window in another tab.
- Solution: For CTRL-W v instead of splitting the window open a new one.
- When using ":tab" do allow splitting the quickfix window (was
- already included in patch 7.2a.013).
- Files: src/window.c
- Patch 7.2a.017
- Problem: ":doautoall" executes autocommands for all buffers instead of just
- for loaded buffers.
- Solution: Change "curbuf" to "buf".
- Files: src/fileio.c
- Patch 7.2a.018
- Problem: Compiler warnings when compiling with Gnome. (Tony Mechelynck)
- Solution: Add type casts.
- Files: src/gui_gtk_x11.c
- Patch 7.2a.019
- Problem: ":let &g:tw = 44" sets the local option value. (Cyril Slobin)
- Solution: Use get_varp_scope() instead of get_varp(). (Ian Kelling)
- Files: src/option.c
- There is no way to avoid adding /usr/local/{include|lib} to the build
- commands. Add the --with-local-dir argument to configure. (Michael
- Haubenwallner)
- When using CTRL-D after ":help", the number of matches could be thousands.
- Restrict to TAG_MANY to avoid this taking too long. (Ian Kelling)
- The popup menu could be placed at a weird location. Caused by w_wcol computed
- by curs_columns(). (Dominique Pelle)
- Overlapping STRCPY() arguments when using %r item in 'errorformat'. Use
- STRMOVE() instead. (Ralf Wildenhues)
- Mac: On Leopard gvim, when using the mouse wheel nothing would happen until
- another event occurs, such as moving the mouse. Then the recorded scrolling
- would take place all at once. (Eckehard Berns)
- Solution for cursor color not reflecting IM status for GTK 2. Add
- preedit_is_active flag. (SungHyun Nam)
- filereadable() can hang on a FIFO on Linux. Use open() instead of fopen(),
- with O_NONBLOCK. (suggested by Lars Kotthoff)
- Included patch to support Perl 5.10. (Yasuhiro Matsumoto)
- When files are dropped on gvim while the screen is being updated, ignore the
- drop command to avoid freeing memory that is being used.
- In a terminal, when drawing the popup menu over double-wide characters, half
- characters may not be cleared properly. (Yukihiro Nakadaira)
- The #ifdef for including "vimio.h" was inconsistent. In a few files it
- depended on MSWIN, which isn't defined until later.
- Patch 7.2b.001
- Problem: Compilation problem: mb_fix_col() missing with multibyte feature
- but without GUI or clipboard.
- Solution: Remove #ifdef.
- Files: src/mbyte.c
- Patch 7.2b.002
- Problem: Compiler warnings for signed/unsigned mismatch.
- Solution: Add type casts.
- Files: src/screen.c
- Patch 7.2b.003
- Problem: Still a compilation problem, check_col() and check_row() missing.
- Solution: Add FEAT_MBYTE to the #if.
- Files: src/ui.c
- Patch 7.2b.004
- Problem: Trying to free memory for a static string when using ":helpgrep".
- (George Reilly)
- Solution: Set 'cpo' to empty_option instead of an empty string. Also for
- searchpair() and substitute().
- Files: src/quickfix.c, src/eval.c
- Patch 7.2b.005
- Problem: The special character "!" isn't handled properly in shellescape().
- (Jan Minar)
- Solution: Escape "!" when using a "csh" like shell and with
- shellescape(s, 1). Twice for both. Also escape <NL>.
- Files: src/misc2.c
- Patch 7.2b.006
- Problem: Reading past end of string when reading info from tags line.
- Solution: Break the loop when encountering a NUL. (Dominique Pelle)
- Files: src/tag.c
- Patch 7.2b.007
- Problem: Part of a message cannot be translated.
- Solution: Put _() around the message.
- Files: src/search.c
- Patch 7.2b.008
- Problem: A few filetypes are not detected or not detected properly.
- Solution: Add filetype detection patterns. (Nikolai Weibull)
- Files: runtime/filetype.vim
- Patch 7.2b.009
- Problem: Reading past end of screen line. (Epicurus)
- Solution: Avoid going past the value of Columns.
- Files: src/screen.c
- Patch 7.2b.010
- Problem: ":mksession" doesn't work for ":map , foo", ":sunmap ,". (Ethan
- Mallove)
- Solution: Check for "nxo", "nso" and other strange mapping combinations.
- Files: src/getchar.c
- Patch 7.2b.011
- Problem: Configure for TCL ends up with include file in compiler command.
- (Richard Hogg)
- Solution: Delete items from $TCL_DEFS that do not start with a dash.
- Files: src/auto/configure, src/configure.in
- Patch 7.2b.012
- Problem: Build failure with +multi_byte but without +diff.
- Solution: Add #ifdef. (Patrick Texier)
- Files: src/main.c
- Patch 7.2b.013
- Problem: Build fails with tiny features and Perl. (Dominique Pelle)
- Solution: Define missing functions. Also when compiling Python.
- Files: src/if_perl.xs, src/if_python.c
- Patch 7.2b.014
- Problem: Configure uses an unsafe temp file to store commands.
- Solution: Create the temp file in local directory.
- Files: src/auto/configure, src/configure.in
- Patch 7.2b.015
- Problem: Build fails on Mac when using Aap.
- Solution: Fix typo in configure script.
- Files: src/auto/configure, src/configure.in
- Patch 7.2b.016
- Problem: Build fails with normal features but without +autocmd.
- Solution: Fix #ifdefs. (Ian Kelling)
- Files: src/eval.c, src/ex_cmds.c, src/quickfix.c, src/option.c,
- src/ex_docmd.c
- Patch 7.2b.017
- Problem: "vim -O foo foo" results in only one window. (Zdenek Sekera)
- Solution: Handle result of ATTENTION prompt properly. (Ian Kelling)
- Files: src/main.c
- Patch 7.2b.018
- Problem: When doing command line completion on a file name for a csh-like
- shell argument a '!' character isn't escaped properly.
- Solution: Add another backslash.
- Files: src/ex_getln.c, src/misc2.c, src/proto/misc2.pro, src/screen.c
- Patch 7.2b.019 (extra)
- Problem: Win32: Various compiler warnings.
- Solution: Use __w64 attribute. Comment-out unused parameters. Adjust a few
- #ifdefs. (George Reilly)
- Files: src/gui_w48.c, src/GvimExt/gvimext.cpp, src/Make_mvc.mak,
- src/os_mswin.c, src/os_win32.c, src/vim.h
- Patch 7.2b.020
- Problem: ":sort n" doesn't handle negative numbers. (James Vega)
- Solution: Include '-' in the number.
- Files: src/charset.c, src/ex_cmds.c
- Patch 7.2b.021
- Problem: Reloading doesn't read the BOM correctly. (Steve Gardner)
- Solution: Accept utf-8 BOM when specified file encoding is utf-8.
- Files: src/fileio.c
- Patch 7.2b.022
- Problem: When using ":normal" while updating the status line the count of
- an operator is lost. (Dominique Pelle)
- Solution: Save and restore "opcount".
- Files: src/ex_docmd.c, src/globals.h, src/normal.c
- Patch 7.2b.023
- Problem: Crash when using the result of synstack(0,0). (Matt Wozniski)
- Solution: Check for v_list to be NULL in a few more places.
- Files: src/eval.c
- Patch 7.2b.024
- Problem: Using ":gui" while the netrw plugin is active causes a delay in
- updating the display.
- Solution: Don't check for terminal codes when starting the GUI.
- Files: src/term.c
- Patch 7.2b.025
- Problem: When the CursorHold event triggers a pending count is lost.
- (Juergen Kraemer)
- Solution: Save the counts and restore them.
- Files: src/normal.c, src/structs.h
- Patch 7.2b.026
- Problem: The GTK 2 file chooser causes the ~/.recently-used.xbel file to be
- written over and over again. This may cause a significant
- slowdown. (Guido Berhoerster)
- Solution: Don't use the GTK 2 file chooser.
- Files: src/gui_gtk.c
- Patch 7.2b.027
- Problem: Memory leak for Python, Perl, etc. script command with end marker.
- Solution: Free the memory of the end marker. (Andy Kittner)
- Files: src/ex_getln.c
- Patch 7.2b.028
- Problem: Reading uninitialized memory when doing ":gui -f". (Dominique
- Pelle)
- Solution: Don't position the cursor when the screen size is invalid.
- Files: src/gui.c
- Patch 7.2b.029
- Problem: ":help a" doesn't jump to "a" tag in docs. (Tony Mechelynck)
- Solution: Get all tags and throw away more than TAG_MANY after sorting.
- When there is no argument find matches for "help" to avoid a long
- delay.
- Files: src/ex_cmds.c, src/ex_getln.c
- Patch 7.2b.030
- Problem: When changing the value of t_Co from 8 to 16 the Visual
- highlighting keeps both reverse and a background color.
- Solution: Remove the attribute when setting the default highlight color.
- (Markus Heidelberg)
- Files: src/syntax.c
- Error when cancelling completion menu and auto-formatting. (fixed by Ian
- Kelling)
- Patch 7.2c.001
- Problem: ":let x=[''] | let x += x" causes hang. (Matt Wozniski)
- Solution: Only insert elements up to the original length of the List.
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.2c.002
- Problem: fnameescape() doesn't handle a leading '+' or '>'. (Jan Minar)
- Solution: Escape a leading '+' and '>'. And a single '-'.
- Files: runtime/doc/eval.txt, src/ex_getln.c
- Patch 7.2c.003
- Problem: Searching for "foo\%[bar]\+" gives a "Corrupted regexp program"
- error. (Joachim Hofmann)
- Solution: Mark the \%[] item as not being simple.
- Files: src/regexp.c
- On Vista access to system directories is virtualized. (Michael Mutschler)
- Adjusted the manifest file to avoid this. (George Reilly)
- Memory leak when using CTRL-C to cancel listing the jump list. (Dominique
- Pelle)
- Mac: Could not build with Perl interface.
- ==============================================================================
- VERSION 7.3 *version-7.3* *version7.3*
- This section is about improvements made between version 7.2 and 7.3.
- This release has hundreds of bug fixes and there are a few new features. The
- most notable new features are:
- Persistent undo *new-persistent-undo*
- ---------------
- Store undo information in a file. Can undo to before when the file was read,
- also for unloaded buffers. See |undo-persistence| (partly by Jordan Lewis)
- Added the ":earlier 1f" and ":later 1f" commands.
- Added file save counter to undo information.
- Added the |undotree()| and |undofile()| functions.
- Also added the 'undoreload' option. This makes it possible to save the
- current text when reloading the buffer, so that the reload can be undone.
- More encryption *new-more-encryption*
- ---------------
- Support for Blowfish encryption. Added the 'cryptmethod' option.
- Mostly by Mohsin Ahmed.
- Also encrypt the text in the swap file and the undo file.
- Conceal text *new-conceal*
- ------------
- Added the |+conceal| feature. (Vince Negri)
- This allows hiding stretches of text, based on syntax highlighting.
- It also allows replacing a stretch of text by a character |:syn-cchar|.
- The 'conceallevel' option specifies what happens with text matching a syntax
- item that has the conceal attribute.
- The 'concealcursor' option specifies what happens in the cursor line.
- The help files conceal characters used to mark tags and examples.
- Added the |synconcealed()| function and use it for :TOhtml. (Benjamin Fritz)
- Added the 'cursorbind' option, keeps the cursor in two windows with the same
- text in sync.
- Lua interface *new-lua*
- -------------
- Added the |Lua| interface. (Luis Carvalho)
- Python3 interface *new-python3*
- -----------------
- Added the Python3 interface. It exists next to Python 2.x, both can be used
- at the same time. See |python3| (Roland Puntaier)
- Changed *changed-7.3*
- -------
- The MS-Windows installer no longer requires the user to type anything in the
- console windows. The installer now also works on 64 bit systems, including
- the "Edit with Vim" context menu.
- The gvim executable is 32 bits, the installed gvimext.dll is either a 32 or 64
- bit version. (mostly by George Reilly)
- Made the DOS installer work with more compilers.
- The MS-Windows big gvim is now built with Python 2.7 and 3.1.2, Perl 5.12 and
- Ruby 1.9.1. You need the matching .dll files to use them.
- The extra and language files are no longer distributed separately.
- The source files for all systems are included in one distribution.
- After using ":recover" or recovering a file in another way, ":x" and "ZZ"
- didn't save what you see. This could result in work being lost. Now the text
- after recovery is compared to the original file contents. When they differ
- the buffer is marked as modified.
- When Vim is exiting because of a deadly signal, when v:dying is 2 or more,
- VimLeavePre, VimLeave, BufWinLeave and BufUnload autocommands are not
- executed.
- Removed support for GTK 1. It was no longer maintained and required a lot of
- #ifdefs in the source code. GTK 2 should be available for every system.
- (James Vega)
- It is no longer allowed to set the 'encoding' option from a modeline. It
- would corrupt the text. (Patrick Texier)
- Renamed runtime/spell/fixdup to runtime/spell/fixdup.vim.
- Removed obsolete Mac code.
- Updated spell files for Ubuntu locale names.
- Switched from autoconf 2.63 to 2.65.
- Removed Mupad indent and ftplugin files, they are not useful.
- The maximum number of messages remembered in the history is now 200 (was 100).
- Added *added-7.3*
- -----
- Added the 'relativenumber' option. (Markus Heidelberg)
- Added the 'colorcolumn' option: highlight one or more columns in a window.
- E.g. to highlight the column after 'textwidth'. (partly by Gregor Uhlenheuer)
- Added support for NetBeans in a terminal. Added |:nbstart| and |:nbclose|.
- (Xavier de Gaye)
- More floating point functions: |acos()|, |asin()|, |atan2()|, |cosh()|,
- |exp()|, |fmod()|, |log()|, |sinh()|, |tan()|, |tanh()|. (Bill McCarthy)
- Added the |gettabvar()| and |settabvar()| functions. (Yegappan Lakshmanan)
- Added the |strchars()|, |strwidth()| and |strdisplaywidth()| functions.
- Support GDK_SUPER_MASK for GTK on Mac. (Stephan Schulz)
- Made CTRL and ALT modifier work for mouse wheel. (Benjamin Haskell)
- Added support for horizontal scroll wheel. (Bjorn Winckler)
- When the buffer is in diff mode, have :TOhtml create HTML to show the diff
- side-by-side. (Christian Brabandt)
- Various improvements to ":TOhtml" and the 2html.vim script. (Benjamin Fritz)
- Add the 'L' item to 'cinoptions'. (Manuel Konig)
- Improve Javascript indenting. Add "J" flag to 'cinoptions'. (Hari Kumar G)
- Mac: Support disabling antialias. (LC Mi)
- Mac: Add clipboard support in the Mac console. (Bjorn Winckler)
- Make it possible to drag a tab page label to another position. (Paul B. Mahol)
- Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
- In Visual mode with 'showcmd' display the number of bytes and characters.
- Allow synIDattr() getting GUI attributes when built without GUI. (Matt
- Wozniski)
- Support completion for ":find". Added test 73. (Nazri Ramliy)
- Command line completion for :ownsyntax and :setfiletype. (Dominique Pelle)
- Command line completion for :lmap and :lunmap.
- Support syntax and filetype completion for user commands. (Christian Brabandt)
- Avoid use of the GTK main_loop() so that the GtkFileChooser can be used.
- (James Vega)
- When 'formatexpr' evaluates to non-zero fall back to internal formatting, also
- for "gq". (James Vega)
- Support :browse for commands that use an error file argument. (Lech Lorens)
- Support wide file names in gvimext. (Szabolcs Horvat)
- Improve test for joining lines. (Milan Vancura)
- Make joining a range of lines much faster. (Milan Vancura)
- Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
- Added the helphelp.txt file. Moved text from various.txt to it.
- Added "q" item for 'statusline'. Added |w:quickfix_title|. (Lech Lorens)
- Various improvements for VMS. (Zoltan Arpadffy)
- New syntax files: ~
- Haskell Cabal build file (Vincent Berthoux)
- ChaiScript (Jason Turner)
- Cucumber (Tim Pope)
- Datascript (Dominique Pelle)
- Fantom (Kamil Toman)
- Liquid (Tim Pope)
- Markdown (Tim Pope)
- wavefront's obj file (Vincent Berthoux)
- Perl 6 (Andy Lester)
- SDC - Synopsys Design Constraints (Maurizio Tranchero)
- SVG - Scalable Vector Graphics (Vincent Berthoux)
- task data (John Florian)
- task 42 edit (John Florian)
- New filetype plugins: ~
- Cucumber (Tim Pope)
- Liquid (Tim Pope)
- Logcheck (Debian)
- Markdown (Tim Pope)
- Perl 6 (Andy Lester)
- Quickfix window (Lech Lorens)
- Tcl (Robert L Hicks)
- New indent plugins: ~
- CUDA (Bram Moolenaar)
- ChaiScript (Jason Turner)
- Cucumber (Tim Pope)
- LifeLines (Patrick Texier)
- Liquid (Tim Pope)
- Mail (Bram Moolenaar)
- Perl 6 (Andy Lester)
- Other new runtime files: ~
- Breton spell file (Dominique Pelle)
- Dvorak keymap (Ashish Shukla)
- Korean translations. (SungHyun Nam)
- Python 3 completion (Aaron Griffin)
- Serbian menu translations (Aleksandar Jelenak)
- Tetum spell files
- Tutor Bairish (Sepp Hell)
- Tutor in Esperanto. (Dominique Pellé)
- Tutor in Portuguese.
- Norwegian Tutor now also available as tutor.nb
- Removed the Mupad runtime files, they were not maintained.
- Fixed *fixed-7.3*
- -----
- Patch 7.2.001
- Problem: Mac: pseudo-ttys don't work properly on Leopard, resulting in the
- shell not to have a prompt, CTRL-C not working, etc.
- Solution: Don't use SVR4 compatible ptys, even though they are detected.
- (Ben Schmidt)
- Files: src/pty.c
- Patch 7.2.002
- Problem: Leaking memory when displaying menus.
- Solution: Free allocated memory. (Dominique Pelle)
- Files: src/menu.c
- Patch 7.2.003
- Problem: Typo in translated message. Message not translated.
- Solution: Correct spelling. Add _(). (Dominique Pelle)
- Files: src/spell.c, src/version.c
- Patch 7.2.004
- Problem: Cscope help message is not translated.
- Solution: Put it in _(). (Dominique Pelle)
- Files: src/if_cscope.c, src/if_cscope.h
- Patch 7.2.005
- Problem: A few problems when profiling. Using flag pointer instead of flag
- value. Allocating zero bytes. Not freeing used memory.
- Solution: Remove wrong '&' characters. Skip dumping when there is nothing
- to dump. Free used memory. (Dominique Pelle)
- Files: src/eval.c
- Patch 7.2.006
- Problem: HTML files are not recognized by contents.
- Solution: Add a rule to the scripts file. (Nico Weber)
- Files: runtime/scripts.vim
- Patch 7.2.007 (extra)
- Problem: Minor issues for VMS.
- Solution: Minor fixes for VMS. Add float support. (Zoltan Arpadffy)
- Files: runtime/doc/os_vms.txt, src/os_vms_conf.h, src/Make_vms.mms,
- src/testdir/Make_vms.mms, src/testdir/test30.in,
- src/testdir/test54.in
- Patch 7.2.008
- Problem: With a BufHidden autocommand that invokes ":bunload" the window
- count for a buffer can be wrong. (Bob Hiestand)
- Solution: Don't call enter_buffer() when already in that buffer.
- Files: src/buffer.c
- Patch 7.2.009
- Problem: Can't compile with Perl 5.10 on MS-Windows. (Cesar Romani)
- Solution: Add the Perl_sv_free2 function for dynamic loading. (Dan Sharp)
- Files: src/if_perl.xs
- Patch 7.2.010
- Problem: When using "K" in Visual mode not all characters are properly
- escaped. (Ben Schmidt)
- Solution: Use a function with the functionality of shellescape(). (Jan
- Minar)
- Files: src/mbyte.c, src/misc2.c, src/normal.c
- Patch 7.2.011
- Problem: Get an error when inserting a float value from the expression
- register.
- Solution: Convert the Float to a String automatically in the same place
- where a List would be converted to a String.
- Files: src/eval.c
- Patch 7.2.012
- Problem: Compiler warnings when building with startup timing.
- Solution: Add type casts.
- Files: src/ex_cmds2.c
- Patch 7.2.013
- Problem: While waiting for the X selection Vim consumes a lot of CPU time
- and hangs until a response is received.
- Solution: Sleep a bit when the selection event hasn't been received yet.
- Time out after a couple of seconds to avoid a hang when the
- selection owner isn't responding.
- Files: src/ui.c
- Patch 7.2.014
- Problem: synstack() doesn't work in an empty line.
- Solution: Accept column zero as a valid position.
- Files: src/eval.c
- Patch 7.2.015
- Problem: "make all test install" doesn't stop when the test fails. (Daniel
- Shahaf)
- Solution: When test.log contains failures exit with non-zero status.
- Files: src/testdir/Makefile
- Patch 7.2.016
- Problem: The pattern being completed may be in freed memory when the
- command line is being reallocated. (Dominique Pelle)
- Solution: Keep a pointer to the expand_T in the command line structure.
- Don't use <S-Tab> as CTRL-P when there are no results. Clear the
- completion when using a command line from the history.
- Files: src/ex_getln.c
- Patch 7.2.017
- Problem: strlen() used on text that may not end in a NUL. (Dominique Pelle)
- Pasting a very big selection doesn't work.
- Solution: Use the length passed to the XtSelectionCallbackProc() function.
- After getting the SelectionNotify event continue dispatching
- events until the callback is actually called. Also dispatch the
- PropertyNotify event.
- Files: src/ui.c
- Patch 7.2.018
- Problem: Memory leak when substitute is aborted.
- Solution: Free the buffer allocated for the new text. (Dominique Pelle)
- Files: src/ex_cmds.c
- Patch 7.2.019
- Problem: Completion of ":noautocmd" doesn't work and exists(":noautocmd")
- returns zero. (Ben Fritz)
- Solution: Add "noautocmd" to the list of modifiers and commands.
- Files: src/ex_cmds.h, src/ex_docmd.c
- Patch 7.2.020
- Problem: Starting the GUI when the executable starts with 'k', but the KDE
- version no longer exists.
- Solution: Don't have "kvim" start the GUI.
- Files: src/main.c
- Patch 7.2.021
- Problem: When executing autocommands getting the full file name may be
- slow. (David Kotchan)
- Solution: Postpone calling FullName_save() until autocmd_fname is used.
- Files: src/ex_docmd.c, src/fileio.c, src/globals.h
- Patch 7.2.022 (extra)
- Problem: Testing is not possible when compiling with MingW.
- Solution: Add a MingW specific test Makefile. (Bill McCarthy)
- Files: Filelist, src/testdir/Make_ming.mak
- Patch 7.2.023
- Problem: 'cursorcolumn' is in the wrong place in a closed fold when the
- display is shifted left. (Gary Johnson)
- Solution: Subtract w_skipcol or w_leftcol when needed.
- Files: src/screen.c
- Patch 7.2.024
- Problem: It's possible to set 'history' to a negative value and that causes
- an out-of-memory error.
- Solution: Check that 'history' has a positive value. (Doug Kearns)
- Files: src/option.c
- Patch 7.2.025
- Problem: When a CursorHold event invokes system() it is retriggered over
- and over again.
- Solution: Don't reset did_cursorhold when getting K_IGNORE.
- Files: src/normal.c
- Patch 7.2.026 (after 7.2.010)
- Problem: "K" doesn't use the length of the identifier but uses the rest of
- the line.
- Solution: Copy the desired number of characters first.
- Files: src/normal.c
- Patch 7.2.027
- Problem: Can use cscope commands in the sandbox.
- Solution: Disallow them, they might not be safe.
- Files: src/ex_cmds.h
- Patch 7.2.028
- Problem: Confusing error message for missing ().
- Solution: Change "braces" to "parentheses". (Gary Johnson)
- Files: src/eval.c
- Patch 7.2.029
- Problem: No completion for ":doautoall".
- Solution: Complete ":doautoall" like ":doautocmd". (Doug Kearns)
- Files: src/ex_docmd.c
- Patch 7.2.030 (after 7.2.027)
- Problem: Can't compile.
- Solution: Remove prematurely added ex_oldfiles.
- Files: src/ex_cmds.h
- Patch 7.2.031
- Problem: Information in the viminfo file about previously edited files is
- not available to the user. There is no way to get a complete list
- of files edited in previous Vim sessions.
- Solution: Add v:oldfiles and fill it with the list of old file names when
- first reading the viminfo file. Add the ":oldfiles" command,
- ":browse oldfiles" and the "#<123" special file name. Increase
- the default value for 'viminfo' from '20 to '100.
- Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt,
- runtime/doc/starting.txt, runtime/doc/usr_21.txt, src/eval.c,
- src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c, src/feature.h,
- src/fileio.c, src/main.c, src/mark.c, src/misc1.c,
- src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/mark.pro,
- src/option.c, src/structs.h, src/vim.h
- Patch 7.2.032 (after 7.2.031)
- Problem: Can't build with EXITFREE defined. (Dominique Pelle)
- Solution: Change vv_string to vv_str.
- Files: src/eval.c
- Patch 7.2.033
- Problem: When detecting a little endian BOM "ucs-2le" is used, but the text
- might be "utf-16le".
- Solution: Default to "utf-16le", it also works for "ucs-2le". (Jia Yanwei)
- Files: src/fileio.c, src/testdir/test42.ok
- Patch 7.2.034
- Problem: Memory leak in spell info when deleting buffer.
- Solution: Free the memory. (Dominique Pelle)
- Files: src/buffer.c
- Patch 7.2.035
- Problem: Mismatches between alloc/malloc, free/vim_free,
- realloc/vim_realloc.
- Solution: Use the right function. (Dominique Pelle)
- Files: src/gui_x11.c, src/mbyte.c, src/misc2.c, src/os_unix.c
- Patch 7.2.036 (extra)
- Problem: Mismatches between alloc/malloc, free/vim_free,
- realloc/vim_realloc.
- Solution: Use the right function. (Dominique Pelle)
- Files: src/gui_riscos.c, src/gui_w48.c, src/mbyte.c, src/os_vms.c,
- src/os_w32exe.c, src/os_win16.c
- Patch 7.2.037
- Problem: Double free with GTK 1 and compiled with EXITFREE.
- Solution: Don't close display. (Dominique Pelle)
- Files: src/os_unix.c
- Patch 7.2.038
- Problem: Overlapping arguments to memcpy().
- Solution: Use mch_memmove(). (Dominique Pelle)
- Files: src/if_xcmdsrv.c
- Patch 7.2.039
- Problem: Accessing freed memory on exit when EXITFREE is defined.
- Solution: Call hash_init() on the v: hash table.
- Files: src/eval.c
- Patch 7.2.040
- Problem: When using ":e ++ff=dos fname" and the file contains a NL without
- a CR before it and 'ffs' contains "unix" then the fileformat
- becomes unix.
- Solution: Ignore 'ffs' when using the ++ff argument. (Ben Schmidt)
- Also remove unreachable code.
- Files: src/fileio.c
- Patch 7.2.041
- Problem: In diff mode, when using two tabs, each with two diffed buffers,
- editing a buffer of the other tab messes up the diff. (Matt
- Mzyzik)
- Solution: Only copy options from a window where the buffer was edited that
- doesn't have 'diff' set or is for the current tab page.
- Also fix that window options for a buffer are stored with the
- wrong window.
- Files: src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
- src/ex_getln.c, src/if_sniff.c, src/main.c, src/netbeans.c,
- src/normal.c, src/popupmnu.c, src/proto/buffer.pro,
- src/proto/ex_cmds.pro src/quickfix.c, src/window.c
- Patch 7.2.042
- Problem: When using winrestview() in a BufWinEnter autocommand the window
- is scrolled anyway. (Matt Zyzik)
- Solution: Don't recompute topline when above 'scrolloff' from the bottom.
- Don't always put the cursor halfway when entering a buffer. Add
- "w_topline_was_set".
- Files: src/buffer.c, src/move.c, src/structs.h
- Patch 7.2.043
- Problem: VMS: Too many characters are escaped in filename and shell
- commands.
- Solution: Escape fewer characters. (Zoltan Arpadffy)
- Files: src/vim.h
- Patch 7.2.044
- Problem: Crash because of STRCPY() being over protective of the destination
- size. (Dominique Pelle)
- Solution: Add -D_FORTIFY_SOURCE=1 to CFLAGS. Use an intermediate variable
- for the pointer to avoid a warning.
- Files: src/auto/configure, src/configure.in, src/eval.c
- Patch 7.2.045
- Problem: The Python interface has an empty entry in sys.path.
- Solution: Filter out the empty entry. (idea from James Vega)
- Files: src/if_python.c
- Patch 7.2.046
- Problem: Wrong check for filling buffer with encoding. (Danek Duvall)
- Solution: Remove pointers. (Dominique Pelle)
- Files: src/mbyte.c
- Patch 7.2.047
- Problem: Starting Vim with the -nb argument while it's not supported causes
- the other side to hang.
- Solution: When -nb is used while it's not supported exit Vim. (Xavier de
- Gaye)
- Files: src/main.c, src/vim.h
- Patch 7.2.048
- Problem: v:prevcount is changed too often. Counts are not multiplied when
- setting v:count.
- Solution: Set v:prevcount properly. Multiply counts. (idea by Ben Schmidt)
- Files: src/eval.c, src/normal.c, src/proto/eval.pro
- Patch 7.2.049 (extra)
- Problem: Win32: the clipboard doesn't support UTF-16.
- Solution: Change UCS-2 support to UTF-16 support. (Jia Yanwei)
- Files: src/gui_w32.c, src/gui_w48.c, src/mbyte.c, src/misc1.c,
- src/os_mswin.c, src/os_win32.c, src/proto/os_mswin.pro
- Patch 7.2.050
- Problem: Warnings for not checking return value of fwrite(). (Chip Campbell)
- Solution: Use the return value.
- Files: src/spell.c
- Patch 7.2.051
- Problem: Can't avoid 'wildignore' and 'suffixes' for glob() and globpath().
- Solution: Add an extra argument to these functions. (Ingo Karkat)
- Files: src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro,
- runtime/doc/eval.txt, runtime/doc/options.txt
- Patch 7.2.052
- Problem: synIDattr() doesn't support "sp" for special color.
- Solution: Recognize "sp" and "sp#". (Matt Wozniski)
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.2.053
- Problem: Crash when using WorkShop command ":ws foo". (Dominique Pelle)
- Solution: Avoid using a NULL pointer.
- Files: src/workshop.c
- Patch 7.2.054
- Problem: Compilation warnings for format in getchar.c.
- Solution: Use fputs() instead of fprintf(). (Dominique Pelle)
- Files: src/getchar.c
- Patch 7.2.055
- Problem: Various compiler warnings with strict checking.
- Solution: Avoid the warnings by using return values and renaming.
- Files: src/diff.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c,
- src/fileio.c, src/fold.c, src/globals.h, src/gui.c,
- src/gui_at_sb.c, src/gui_gtk_x11.c, src/gui_xmdlg.c,
- src/gui_xmebw.c, src/main.c, src/mbyte.c, src/message.c,
- src/netbeans.c, src/option.c, src/os_unix.c, src/spell.c,
- src/ui.c, src/window.c
- Patch 7.2.056 (after 7.2.050)
- Problem: Tests 58 and 59 fail.
- Solution: Don't invoke fwrite() with a zero length. (Dominique Pelle)
- Files: src/spell.c
- Patch 7.2.057 (after 7.2.056)
- Problem: Combination of int and size_t may not work.
- Solution: Use size_t for variable.
- Files: src/spell.c
- Patch 7.2.058
- Problem: Can't add a patch name to the ":version" output.
- Solution: Add the extra_patches array.
- Files: src/version.c
- Patch 7.2.059
- Problem: Diff display is not always updated.
- Solution: Update the display more often.
- Files: src/diff.c
- Patch 7.2.060
- Problem: When a spell files has many compound rules it may take a very long
- time making the list of suggestions. Displaying also can be slow
- when there are misspelled words.
- Can't parse some Hunspell .aff files.
- Solution: Check if a compounding can possibly work before trying a
- combination, if the compound rules don't contain wildcards.
- Implement using CHECKCOMPOUNDPATTERN.
- Ignore COMPOUNDRULES. Ignore a comment after most items.
- Accept ONLYINCOMPOUND as an alias for NEEDCOMPOUND.
- Accept FORBIDDENWORD as an alias for BAD.
- Files: runtime/doc/spell.txt, src/spell.c
- Patch 7.2.061
- Problem: Can't create a funcref for an autoload function without loading
- the script first. (Marc Weber)
- Solution: Accept autoload functions that don't exist yet in function().
- Files: src/eval.c
- Patch 7.2.062
- Problem: "[Scratch]" is not translated.
- Solution: Mark the string for translation. (Dominique Pelle)
- Files: src/buffer.c
- Patch 7.2.063
- Problem: Warning for NULL argument of Perl_sys_init3().
- Solution: Use Perl_sys_init() instead. (partly by Dominique Pelle)
- Files: src/if_perl.xs
- Patch 7.2.064
- Problem: Screen update bug when repeating "~" on a Visual block and the
- last line doesn't change.
- Solution: Keep track of changes for all lines. (Moritz Orbach)
- Files: src/ops.c
- Patch 7.2.065
- Problem: GTK GUI: the cursor disappears when doing ":vsp" and the Vim
- window is maximized. (Dominique Pelle, Denis Smolyar)
- Solution: Don't change "Columns" back to an old value at a wrong moment.
- Do change "Rows" when it should not be a problem.
- Files: src/gui.c
- Patch 7.2.066
- Problem: It's not easy to see whether 'encoding' is a multibyte encoding.
- Solution: Add has('multi_byte_encoding').
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.2.067
- Problem: Session file can't load extra file when the path contains special
- characters.
- Solution: Escape the file name. (Lech Lorens)
- Files: src/ex_docmd.c
- Patch 7.2.068
- Problem: Emacs tags file lines can be too long, resulting in an error
- message. (James Vega)
- Solution: Ignore lines with errors if they are too long.
- Files: src/tag.c
- Patch 7.2.069 (after 7.2.060)
- Problem: Compiler warning for storing size_t in int.
- Solution: Add type cast.
- Files: src/spell.c
- Patch 7.2.070
- Problem: Crash when a function returns a:000. (Matt Wozniski)
- Solution: Don't put the function struct on the stack, allocate it. Free it
- only when nothing in it is used.
- Files: src/eval.c
- Patch 7.2.071 (extra)
- Problem: Win32: Handling netbeans events while Vim is busy updating the
- screen may cause a crash.
- Solution: Like with GTK, only handle netbeans messages in the main loop.
- (Xavier de Gaye)
- Files: src/gui_w48.c, src/netbeans.c
- Patch 7.2.072 (extra)
- Problem: Compiler warning in Sniff code.
- Solution: Use return value of pipe(). (Dominique Pelle)
- Files: src/if_sniff.c
- Patch 7.2.073
- Problem: ":set <xHome>" has the same output as ":set <Home>". (Matt
- Wozniski)
- Solution: Don't translate "x" keys to its alternative for ":set".
- Files: src/gui_mac.c, src/misc2.c, src/option.c, src/proto/misc2.pro
- Patch 7.2.074 (extra, after 7.2.073)
- Problem: ":set <xHome>" has the same output as ":set <Home>". (Matt
- Wozniski)
- Solution: Don't translate "x" keys to its alternative for ":set".
- Files: src/gui_mac.c
- Patch 7.2.075 (after 7.2.058)
- Problem: Explanation about making a diff for extra_patches is unclear.
- Solution: Adjust comment.
- Files: src/version.c
- Patch 7.2.076
- Problem: rename(from, to) deletes the file if "from" and "to" are not equal
- but still refer to the same file. E.g., on a FAT32 filesystem
- under Unix.
- Solution: Go through another file name.
- Files: src/fileio.c
- Patch 7.2.077 (after 7.2.076)
- Problem: rename(from, to) doesn't work if "from" and "to" differ only in
- case on a system that ignores case in file names.
- Solution: Go through another file name.
- Files: src/fileio.c
- Patch 7.2.078
- Problem: When deleting a fold that is specified with markers the cursor
- position may be wrong. Folds may not be displayed properly after
- a delete. Wrong fold may be deleted.
- Solution: Fix the problems. (mostly by Lech Lorens)
- Files: src/fold.c
- Patch 7.2.079
- Problem: "killed" netbeans events are not handled correctly.
- Solution: A "killed" netbeans event is sent when the buffer is deleted or
- wiped out (in this case, the netbeans annotations in this buffer
- have been removed). A user can still remove a sign with the
- command ":sign unplace" and this does not trigger a "killed"
- event. (Xavier de Gaye)
- Files: runtime/doc/netbeans.txt, src/buffer.c, src/globals.h,
- src/netbeans.c, src/proto/netbeans.pro
- Patch 7.2.080
- Problem: When typing a composing character just after starting completion
- may access memory before its allocation point. (Dominique Pelle)
- Solution: Don't delete before the completion start column. Add extra checks
- for the offset not being negative.
- Files: src/edit.c
- Patch 7.2.081
- Problem: Compiler warning for floating point overflow on VAX.
- Solution: For VAX use a smaller number. (Zoltan Arpadffy)
- Files: src/message.c
- Patch 7.2.082
- Problem: When 'ff' is "mac" then "ga" on a ^J shows 0x0d instead of 0x0a.
- (Andy Wokula)
- Solution: Use NL for this situation. (Lech Lorens)
- Files: src/ex_cmds.c
- Patch 7.2.083
- Problem: ":tag" does not return to the right tag entry from the tag stack.
- Solution: Don't change the current match when there is no argument.
- (Erik Falor)
- Files: src/tag.c
- Patch 7.2.084
- Problem: Recursive structures are not handled properly in Python
- vim.eval().
- Solution: Keep track of references in a better way. (Yukihiro Nakadaira)
- Files: src/if_python.c
- Patch 7.2.085
- Problem: ":set <M-b>=<Esc>b" does not work when 'encoding' is utf-8.
- Solution: Put the <M-b> character in the input buffer as valid utf-8.
- (partly by Matt Wozniski)
- Files: src/term.c
- Patch 7.2.086
- Problem: Using ":diffget 1" in buffer 1 corrupts the text.
- Solution: Don't do anything when source and destination of ":diffget" or
- ":diffput" is the same buffer. (Dominique Pelle)
- Files: src/diff.c
- Patch 7.2.087
- Problem: Adding URL to 'path' doesn't work to edit a file.
- Solution: Skip simplify_filename() for URLs. (Matt Wozniski)
- Files: src/misc2.c
- Patch 7.2.088 (extra)
- Problem: OpenClipboard() may fail when another application is using the
- clipboard.
- Solution: Retry OpenClipboard() a few times. (Jianrong Yu)
- Files: src/os_mswin.c
- Patch 7.2.089 (extra)
- Problem: Win32: crash when using Ultramon buttons.
- Solution: Don't use a WM_OLE message of zero size. (Ray Megal)
- Files: src/if_ole.cpp, src/gui_w48.c
- Patch 7.2.090
- Problem: User command containing 0x80 in multibyte character does not work
- properly. (Yasuhiro Matsumoto)
- Solution: Undo replacement of K_SPECIAL and CSI characters when executing
- the command.
- Files: src/ex_docmd.c
- Patch 7.2.091
- Problem: ":cs help" output is not aligned for some languages.
- Solution: Compute character size instead of byte size. (Dominique Pelle)
- Files: src/if_cscope.c
- Patch 7.2.092
- Problem: Some error messages are not translated.
- Solution: Add _() around the messages. (Dominique Pelle)
- Files: src/eval.c
- Patch 7.2.093 (extra)
- Problem: Win32: inputdialog() and find/replace dialogs can't handle
- multibyte text.
- Solution: Use the wide version of dialog functions when available. (Yanwei
- Jia)
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 7.2.094
- Problem: Compiler warning for signed/unsigned compare.
- Solution: Add type cast. Also fix a few typos.
- Files: src/edit.c
- Patch 7.2.095
- Problem: With Visual selection, "r" and then CTRL-C Visual mode is stopped
- but the highlighting is not removed.
- Solution: Call reset_VIsual().
- Files: src/normal.c
- Patch 7.2.096
- Problem: After ":number" the "Press Enter" message may be on the wrong
- screen, if switching screens for shell commands.
- Solution: Reset info_message. (James Vega)
- Files: src/ex_cmds.c
- Patch 7.2.097
- Problem: "!xterm&" doesn't work when 'shell' is "bash".
- Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert)
- Files: src/os_unix.c
- Patch 7.2.098
- Problem: Warning for signed/unsigned pointer.
- Solution: Add type cast.
- Files: src/eval.c
- Patch 7.2.099
- Problem: Changing GUI options causes an unnecessary redraw when the GUI
- isn't active.
- Solution: Avoid the redraw. (Lech Lorens)
- Files: src/option.c
- Patch 7.2.100
- Problem: When using ":source" on a FIFO or something else that can't rewind
- the first three bytes are skipped.
- Solution: Instead of rewinding read the first line and detect a BOM in that.
- (mostly by James Vega)
- Files: src/ex_cmds2.c
- Patch 7.2.101 (extra)
- Problem: MSVC version not recognized.
- Solution: Add the version number to the list. (Zhong Zhang)
- Files: src/Make_mvc.mak
- Patch 7.2.102 (after 7.2.100)
- Problem: When 'encoding' is "utf-8" a BOM at the start of a Vim script is
- not removed. (Tony Mechelynck)
- Solution: When no conversion is taking place make a copy of the line without
- the BOM.
- Files: src/ex_cmds2.c
- Patch 7.2.103
- Problem: When 'bomb' is changed the window title is updated to show/hide a
- "+", but the tab page label isn't. (Patrick Texier)
- Solution: Set "redraw_tabline" in most places where "need_maketitle" is set.
- (partly by Lech Lorens)
- Files: src/option.c
- Patch 7.2.104
- Problem: When using ":saveas bar.c" the tab label isn't updated right away.
- Solution: Set redraw_tabline. (Francois Ingelrest)
- Files: src/ex_cmds.c
- Patch 7.2.105
- Problem: Modeline setting for 'foldmethod' overrules diff options. (Ingo
- Karkat)
- Solution: Don't set 'foldmethod' and 'wrap' from a modeline when 'diff' is
- on.
- Files: src/option.c
- Patch 7.2.106
- Problem: Endless loop when using "]s" in HTML when there are no
- misspellings. (Ingo Karkat)
- Solution: Break the search loop. Also fix pointer alignment for systems
- with pointers larger than int.
- Files: src/spell.c
- Patch 7.2.107
- Problem: When using a GUI dialog and ":echo" commands the messages are
- deleted after the dialog. (Vincent Birebent)
- Solution: Don't call msg_end_prompt() since there was no prompt.
- Files: src/message.c
- Patch 7.2.108 (after 7.2.105)
- Problem: Can't build without the diff feature.
- Solution: Add #ifdef.
- Files: src/option.c
- Patch 7.2.109
- Problem: 'langmap' does not work for multibyte characters.
- Solution: Add a list of mapped multibyte characters. (based on work by
- Konstantin Korikov, Agathoklis Hatzimanikas)
- Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h,
- src/normal.c, src/option.c, src/proto/option.pro, src/window.c
- Patch 7.2.110
- Problem: Compiler warning for unused variable.
- Solution: Init the variable.
- Files: src/ex_docmd.c
- Patch 7.2.111
- Problem: When using Visual block mode with 'cursorcolumn' it's unclear what
- is selected.
- Solution: Don't use 'cursorcolumn' highlighting inside the Visual selection.
- (idea by Dominique Pelle)
- Files: src/screen.c
- Patch 7.2.112
- Problem: Cursor invisible in Visual mode when 'number' is set and cursor in
- first column. (Matti Niemenmaa, Renato Alves)
- Solution: Check that vcol_prev is smaller than vcol.
- Files: src/screen.c
- Patch 7.2.113
- Problem: Crash for substitute() call using submatch(1) while there is no
- such submatch. (Yukihiro Nakadaira)
- Solution: Also check the start of the submatch is set, it can be NULL when
- an attempted match didn't work out.
- Files: src/regexp.c
- Patch 7.2.114
- Problem: Using wrong printf format.
- Solution: Use "%ld" instead of "%d". (Dominique Pelle)
- Files: src/netbeans.c
- Patch 7.2.115
- Problem: Some debugging code is never used.
- Solution: Remove nbtrace() and nbprt(). (Dominique Pelle)
- Files: src/nbdebug.c, src/nbdebug.h
- Patch 7.2.116
- Problem: Not all memory is freed when EXITFREE is defined.
- Solution: Free allocated memory on exit. (Dominique Pelle)
- Files: src/ex_docmd.c, src/gui_gtk_x11.c, src/misc2.c, src/search.c,
- src/tag.c
- Patch 7.2.117
- Problem: Location list incorrectly labelled "Quickfix List".
- Solution: Break out of both loops for finding window for location list
- buffer. (Lech Lorens)
- Files: src/buffer.c, src/quickfix.c, src/screen.c
- Patch 7.2.118
- Problem: <PageUp> at the more prompt only does half a page.
- Solution: Make <PageUp> go up a whole page. Also make 'f' go a page
- forward, but not quit the more prompt. (Markus Heidelberg)
- Files: src/message.c
- Patch 7.2.119
- Problem: Status line is redrawn too often.
- Solution: Check ScreeenLinesUC[] properly. (Yukihiro Nakadaira)
- Files: src/screen.c
- Patch 7.2.120
- Problem: When opening the quickfix window or splitting the window and
- setting the location list, the location list is copied and then
- deleted, which is inefficient.
- Solution: Don't copy the location list when not needed. (Lech Lorens)
- Files: src/quickfix.c, src/vim.h, src/window.c
- Patch 7.2.121
- Problem: In gvim "!grep a *.c" spews out a lot of text that can't be
- stopped with CTRL-C.
- Solution: When looping to read and show text, do check for typed characters
- every two seconds.
- Files: src/os_unix.c
- Patch 7.2.122
- Problem: Invalid memory access when the VimResized autocommand changes
- 'columns' and/or 'lines'.
- Solution: After VimResized check for changed values. (Dominique Pelle)
- Files: src/screen.c
- Patch 7.2.123
- Problem: Typing 'q' at more prompt for ":map" output still displays another
- line, causing another more prompt. (Markus Heidelberg)
- Solution: Quit listing maps when 'q' typed.
- Files: src/getchar.c
- Patch 7.2.124
- Problem: Typing 'q' at more prompt for ":tselect" output still displays
- more lines, causing another more prompt. (Markus Heidelberg)
- Solution: Quit listing tags when 'q' typed.
- Files: src/tag.c
- Patch 7.2.125
- Problem: Leaking memory when reading XPM bitmap for a sign.
- Solution: Don't allocate the memory twice. (Dominique Pelle)
- Files: src/gui_x11.c
- Patch 7.2.126
- Problem: When EXITFREE is defined signs are not freed.
- Solution: Free all signs on exit. Also free keymaps. (Dominique Pelle)
- Files: src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro
- Patch 7.2.127
- Problem: When listing mappings and a wrapping line causes the more prompt,
- after typing 'q' there can be another more prompt. (Markus
- Heidelberg)
- Solution: Set "lines_left" to allow more lines to be displayed.
- Files: src/message.c
- Patch 7.2.128 (after 7.2.055)
- Problem: Using ":lcd" makes session files not work.
- Solution: Compare return value of mch_chdir() properly. (Andreas Bernauer)
- Files: src/ex_docmd.c
- Patch 7.2.129
- Problem: When opening a command window from input() it uses the search
- history.
- Solution: Use get_cmdline_type(). (James Vega)
- Files: src/ex_getln.c
- Patch 7.2.130
- Problem: Vim may hang until CTRL-C is typed when using CTRL-Z.
- Solution: Avoid using pause(). Also use "volatile" for variables used in
- signal functions. (Dominique Pelle)
- Files: src/auto/configure, src/configure.in, src/config.h.in,
- src/globals.h, src/os_unix.c
- Patch 7.2.131
- Problem: When 'keymap' is cleared may still use the cursor highlighting for
- when it's enabled.
- Solution: Reset 'iminsert' and 'imsearch'. (partly by Dominique Pelle)
- Also avoid ":setlocal" for these options have a global effect.
- Files: src/option.c
- Patch 7.2.132
- Problem: When changing directory during a SwapExists autocmd freed memory
- may be accessed. (Dominique Pelle)
- Solution: Add the allbuf_lock flag.
- Files: src/ex_getln.c, src/globals.h, src/fileio.c,
- src/proto/ex_getln.pro
- Patch 7.2.133
- Problem: ":diffoff!" changes settings in windows not in diff mode.
- Solution: Only change settings in other windows when 'diff' is set, always
- do it for the current window. (Lech Lorens)
- Files: src/diff.c
- Patch 7.2.134
- Problem: Warning for discarding "const" from pointer.
- Solution: Don't pass const pointer to mch_memmove().
- Files: src/fileio.c
- Patch 7.2.135
- Problem: Memory leak when redefining user command with complete argument.
- Solution: Free the old complete argument. (Dominique Pelle)
- Files: src/ex_docmd.c
- Patch 7.2.136 (after 7.2.132)
- Problem: ":cd" is still possible in a SwapExists autocmd.
- Solution: Check the allbuf_lock flag in ex_cd().
- Files: src/ex_docmd.c
- Patch 7.2.137
- Problem: When 'virtualedit' is set, a left shift of a blockwise selection
- that starts and ends inside a tab shifts too much. (Helmut
- Stiegler)
- Solution: Redo the block left shift code. (Lech Lorens)
- Files: src/ops.c, src/testdir/Makefile, src/testdir/test66.in,
- src/testdir/test66.ok
- Patch 7.2.138 (extra part of 7.2.137)
- Problem: See 7.2.137.
- Solution: See 7.2.137.
- Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms
- Patch 7.2.139
- Problem: Crash when 'virtualedit' is "all". (James Vega)
- Solution: Avoid overflow when column is MAXCOL. (Dominique Pelle)
- Files: src/misc2.c
- Patch 7.2.140
- Problem: Diff highlighting isn't displayed before the Visual area if it
- starts at the cursor position. (Markus Heidelberg)
- Solution: Also check fromcol_prev.
- Files: src/screen.c
- Patch 7.2.141
- Problem: When redrawing a character for bold spill this causes the next
- character to be redrawn as well.
- Solution: Only redraw one extra character. (Yukihiro Nakadaira)
- Files: src/screen.c
- Patch 7.2.142
- Problem: Motif and Athena balloons don't use tooltip colors.
- Solution: Set the colors. (Matt Wozniski)
- Files: src/gui_beval.c
- Patch 7.2.143
- Problem: No command line completion for ":cscope" command.
- Solution: Add the completion for ":cscope". (Dominique Pelle)
- Files: src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c,
- src/proto/if_cscope.pro, src/vim.h
- Patch 7.2.144
- Problem: When 't_Co' is set to the value it already had the color scheme is
- reloaded anyway.
- Solution: Only load the colorscheme when the t_Co value changes. (Dominique
- Pelle)
- Files: src/option.c
- Patch 7.2.145
- Problem: White space in ":cscope find" is not ignored.
- Solution: Ignore the white space, but not when the leading white space is
- useful for the argument.
- Files: runtime/doc/if_scop.txt, src/if_cscope.c
- Patch 7.2.146
- Problem: v:warningmsg isn't used for all warnings.
- Solution: Set v:warningmsg for relevant warnings. (Ingo Karkat)
- Files: src/fileio.c, src/misc1.c, src/option.c
- Patch 7.2.147
- Problem: When compiled as small version and 'number' is on the cursor is
- displayed in the wrong position after a tab. (James Vega)
- Solution: Don't increment vcol when still displaying the line number.
- Files: src/screen.c
- Patch 7.2.148
- Problem: When searching for "$" while 'hlsearch' is set, highlighting the
- character after the line does not work in the cursor column.
- Also highlighting for Visual mode after the line end when this
- isn't needed. (Markus Heidelberg)
- Solution: Only compare the cursor column in the cursor line. Only highlight
- for Visual selection after the last character when it's needed to
- see where the Visual selection ends.
- Files: src/screen.c
- Patch 7.2.149
- Problem: Using return value of function that doesn't return a value results
- in reading uninitialized memory.
- Solution: Set the default to return zero. Make cursor() return -1 on
- failure. Let complete() return an empty string in case of an
- error. (partly by Dominique Pelle)
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.2.150 (extra)
- Problem: Can't use tab pages from VisVim.
- Solution: Add tab page support to VisVim. (Adam Slater)
- Files: src/VisVim/Commands.cpp, src/VisVim/Resource.h,
- src/VisVim/VisVim.rc
- Patch 7.2.151
- Problem: ":hist a" doesn't work like ":hist all" as the docs suggest.
- Solution: Make ":hist a" and ":hist al" work. (Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.2.152
- Problem: When using "silent echo x" inside ":redir" a next echo may start
- halfway the line. (Tony Mechelynck, Dennis Benzinger)
- Solution: Reset msg_col after redirecting silently.
- Files: src/ex_docmd.c, src/message.c, src/proto/message.pro
- Patch 7.2.153
- Problem: Memory leak for ":recover empty_dir/".
- Solution: Free files[] when it becomes empty. (Dominique Pelle)
- Files: src/memline.c
- Patch 7.2.154 (after 7.2.132)
- Problem: ":cd" is still possible in a SwapExists autocmd.
- Solution: Set allbuf_lock in do_swapexists().
- Files: src/memline.c
- Patch 7.2.155
- Problem: Memory leak in ":function /pat".
- Solution: Free the memory. (Dominique Pelle)
- Files: src/eval.c
- Patch 7.2.156 (after 7.2.143)
- Problem: No completion for :scscope and :lcscope commands.
- Solution: Implement the completion. (Dominique Pelle)
- Files: src/if_cscope.c, src/ex_docmd.c, src/proto/if_cscope.pro
- Patch 7.2.157
- Problem: Illegal memory access when searching in path.
- Solution: Avoid looking at a byte after end of a string. (Dominique Pelle)
- Files: src/search.c
- Patch 7.2.158
- Problem: Warnings from VisualC compiler.
- Solution: Add type casts. (George Reilly)
- Files: src/ops.c
- Patch 7.2.159
- Problem: When $x_includes ends up being "NONE" configure fails.
- Solution: Check for $x_includes not to be "NONE" (Rainer)
- Files: src/auto/configure, src/configure.in
- Patch 7.2.160
- Problem: Search pattern not freed on exit when 'rightleft' set.
- Solution: Free mr_pattern_alloced.
- Files: src/search.c
- Patch 7.2.161
- Problem: Folds messed up in other tab page. (Vlad Irnov)
- Solution: Instead of going over all windows in current tab page go over all
- windows in all tab pages. Also free memory for location lists in
- other tab pages when exiting. (Lech Lorens)
- Files: src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c
- Patch 7.2.162
- Problem: The quickfix window may get wrong filetype.
- Solution: Do not detect the filetype for the quickfix window. (Lech Lorens)
- Files: src/quickfix.c
- Patch 7.2.163
- Problem: The command line window may get folding.
- Solution: Default to no/manual folding. (Lech Lorens)
- Files: src/ex_getln.c
- Patch 7.2.164
- Problem: When 'showbreak' is set the size of the Visual block may be
- reported wrong. (Eduardo Daudt Flach)
- Solution: Temporarily make 'sbr' empty.
- Files: src/normal.c, src/ops.c
- Patch 7.2.165
- Problem: The argument for the FuncUndefined autocmd event is expanded like
- a file name.
- Solution: Don't try expanding it. (Wang Xu)
- Files: src/fileio.c
- Patch 7.2.166
- Problem: No completion for ":sign" command.
- Solution: Add ":sign" completion. (Dominique Pelle)
- Files: src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/vim.h,
- src/proto/ex_cmds.pro
- Patch 7.2.167
- Problem: Splint doesn't work well for checking the code.
- Solution: Add splint arguments in the Makefile. Exclude some code from
- splint that it can't handle. Tune splint arguments to give
- reasonable errors. Add a filter for removing false warnings from
- splint output. Many small changes to avoid warnings. More to
- follow...
- Files: Filelist, src/Makefile, src/buffer.c, src/charset.c,
- src/cleanlint.vim, src/digraph.c, src/edit.c, src/ex_cmds.c,
- src/globals.h, src/ops.c, src/os_unix.c, src/os_unix.h,
- src/proto/buffer.pro, src/proto/edit.pro, src/screen.c,
- src/structs.h
- Patch 7.2.168
- Problem: When no ctags program can be found, "make tags" attempts to
- execute the first C file.
- Solution: Default to "ctags" when no ctags program can be found.
- Files: src/configure.in, src/auto/configure
- Patch 7.2.169
- Problem: Splint complains about a lot of things.
- Solution: Add type casts, #ifdefs and other changes to avoid warnings.
- Change colnr_T from unsigned to int. Avoids mistakes with
- subtracting columns.
- Files: src/cleanlint.vim, src/diff.c, src/edit.c, src/ex_cmds.c,
- src/ex_cmds2.c, src/ex_docmd.c, src/proto/ex_cmds.pro,
- src/proto/spell.pro, src/quickfix.c, src/spell.c, src/structs.h,
- src/term.h, src/vim.h
- Patch 7.2.170
- Problem: Using b_dev while it was not set. (Dominique Pelle)
- Solution: Add the b_dev_valid flag.
- Files: src/buffer.c, src/fileio.c, src/structs.h
- Patch 7.2.171 (after 7.2.169)
- Problem: Compiler warnings. (Tony Mechelynck)
- Solution: Add function prototype. (Patrick Texier) Init variable.
- Files: src/ex_cmds.c
- Patch 7.2.172 (extra)
- Problem: Compiler warning.
- Solution: Adjust function prototype. (Patrick Texier)
- Files: src/os_mswin.c
- Patch 7.2.173
- Problem: Without lint there is no check for unused function arguments.
- Solution: Use gcc -Wunused-parameter instead of lint. For a few files add
- attributes to arguments that are known not to be used.
- Files: src/auto/configure, src/buffer.c, src/charset.c, src/diff.c,
- src/configure.in, src/config.h.in, src/edit.c, src/ex_cmds.c,
- src/ex_cmds2.c, src/version.c, src/vim.h
- Patch 7.2.174
- Problem: Too many warnings from gcc -Wextra.
- Solution: Change initializer. Add UNUSED. Add type casts.
- Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c,
- src/ex_getln.c, src/fileio.c, getchar.c, globals.h, main.c,
- memline.c, message.c, src/misc1.c, src/move.c, src/normal.c,
- src/option.c, src/os_unix.c, src/os_unix.h, src/regexp.c,
- src/search.c, src/tag.c
- Patch 7.2.175
- Problem: Compiler warning in OpenBSD.
- Solution: Add type cast for NULL. (Dasn)
- Files: src/if_cscope.c
- Patch 7.2.176
- Problem: Exceptions for splint are not useful.
- Solution: Remove the S_SPLINT_S ifdefs.
- Files: src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/os_unix.c,
- src/os_unix.h, src/os_unixx.h, src/structs.h, src/term.h
- Patch 7.2.177
- Problem: Compiler warnings when using -Wextra
- Solution: Add UNUSED and type casts.
- Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c,
- src/fileio.c, src/hardcopy.c, src/if_cscope.c, src/if_xcmdsrv.c,
- src/farsi.c, src/mark.c, src/menu.c
- Patch 7.2.178
- Problem: Using negative value for device number might not work.
- Solution: Use a separate flag for whether ffv_dev was set.
- Files: src/misc2.c
- Patch 7.2.179
- Problem: Using negative value for device number might not work.
- Solution: Use a separate flag for whether sn_dev was set.
- Files: src/ex_cmds2.c
- Patch 7.2.180
- Problem: Some more compiler warnings when using gcc -Wextra.
- Solution: Add UNUSED and type casts.
- Files: src/buffer.c, src/ex_cmds.c, src/macros.h, src/main.c,
- src/menu.c, src/message.c, src/misc1.c, src/mbyte.c,
- src/normal.c, src/option.c, src/os_unix.c, src/quickfix.c,
- src/screen.c, src/search.c, src/spell.c, src/syntax.c, src/tag.c,
- src/term.c, src/ui.c
- Patch 7.2.181
- Problem: Some more compiler warnings when using gcc -Wextra.
- Solution: Add UNUSED and type casts.
- Files: src/if_mzsch.c, src/gui.c, src/gui_gtk.c, src/gui_gtk_x11.c,
- src/gui_gtk_f.c, src/gui_beval.c, src/netbeans.c
- Patch 7.2.182 (after 7.2.181)
- Problem: Compilation problems after previous patch for Motif. Gvim with
- GTK crashes on startup.
- Solution: Add comma. Init form structure to zeroes.
- Files: src/netbeans.c, src/gui_gtk_f.c
- Patch 7.2.183
- Problem: Configure problem for sys/sysctl.h on OpenBSD. (Dasn)
- Solution: Add separate check for this header file. Also switch to newer
- version of autoconf.
- Files: src/auto/configure, src/configure.in
- Patch 7.2.184
- Problem: Some more compiler warnings when using gcc -Wextra.
- Solution: Add UNUSED and type casts. Autoconf check for wchar_t.
- Files: src/auto/configure, src/config.h.in, src/configure.in,
- src/gui_athena.c, src/gui_x11.c, src/gui.c, src/gui_beval.c,
- src/gui_at_sb.c, src/gui_at_fs.c, src/gui_motif.c,
- src/gui_xmdlg.c, src/gui_xmebw.c, src/if_python.c, src/window.c,
- src/workshop.c
- Patch 7.2.185
- Problem: Some more compiler warnings when using gcc -Wextra.
- Solution: Add UNUSED and type casts.
- Files: src/Makefile, src/if_tlc.c, src/if_ruby.c
- Patch 7.2.186
- Problem: Some more compiler warnings when using gcc -Wextra.
- Solution: Now with the intended if_tcl.c changes.
- Files: src/if_tcl.c
- Patch 7.2.187 (after 7.2.186)
- Problem: Doesn't build with older versions of TCL. (Yongwei Wu)
- Solution: Add #ifdefs. (Dominique Pelle)
- Files: src/if_tcl.c
- Patch 7.2.188
- Problem: Crash with specific use of function calls. (Meikel Brandmeyer)
- Solution: Make sure the items referenced by a function call are not freed
- twice. (based on patch from Nico Weber)
- Files: src/eval.c
- Patch 7.2.189
- Problem: Possible hang for deleting auto-indent. (Dominique Pelle)
- Solution: Make sure the position is not beyond the end of the line.
- Files: src/edit.c
- Patch 7.2.190
- Problem: The register executed by @@ isn't restored.
- Solution: Mark the executable register in the viminfo file.
- Files: src/ops.c
- Patch 7.2.191
- Problem: Mzscheme interface doesn't work on Ubuntu.
- Solution: Change autoconf rules. Define missing macro. Some changes to
- avoid gcc warnings. Remove per-buffer namespace. (Sergey Khorev)
- Files: runtime/doc/if_mzsch.txt, src/Makefile, src/Make_ming.mak,
- src/Make_mvc.mak, src/auto/configure, src/configure.in,
- src/config.mk.in, src/eval.c, src/if_mzsch.c, src/if_mzsch.h,
- src/main.c, src/proto/if_mzsch.pro
- Patch 7.2.192 (after 7.2.188)
- Problem: Still a crash in the garbage collector for a very rare situation.
- Solution: Make sure current_copyID is always incremented correctly. (Kent
- Sibilev)
- Files: src/eval.c
- Patch 7.2.193
- Problem: Warning for uninitialized values.
- Solution: Initialize all the struct items.
- Files: src/eval.c
- Patch 7.2.194 (extra)
- Problem: MSVC: rem commands are echoed.
- Solution: Add commands to switch off echo. (Wang Xu)
- Files: src/msvc2008.bat
- Patch 7.2.195
- Problem: Leaking memory for the command Vim was started with.
- Solution: Remember the pointer and free it.
- Files: src/gui_gtk_x11.c
- Patch 7.2.196 (after 7.2.167)
- Problem: Turns out splint doesn't work well enough to be usable.
- Solution: Remove splint support.
- Files: Filelist, src/cleanlint.vim
- Patch 7.2.197
- Problem: Warning for uninitialized values.
- Solution: Initialize all the struct items of typebuf.
- Files: src/globals.h
- Patch 7.2.198
- Problem: Size of buffer used for tgetent() may be too small.
- Solution: Use the largest known size everywhere.
- Files: src/vim.h
- Patch 7.2.199
- Problem: Strange character in comment.
- Solution: Change to "message". (Yongwei Wu)
- Files: src/term.c
- Patch 7.2.200
- Problem: Reading past end of string when navigating the menu bar or
- resizing the window.
- Solution: Add and use mb_ptr2len_len(). (partly by Dominique Pelle)
- Also add mb_ptr2cells_len() to prevent more trouble.
- Files: src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c,
- src/proto/mbyte.pro
- Patch 7.2.201
- Problem: Cannot copy/paste HTML to/from Firefox via the clipboard.
- Solution: Implement this for GTK. Add the "html" value to 'clipboard'.
- Files: runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c,
- src/mbyte.c, src/proto/mbyte.pro, src/option.c
- Patch 7.2.202
- Problem: BufWipeout autocommand that edits another buffer causes problems.
- Solution: Check for the situation, give an error and quit the operation.
- Files: src/fileio.c
- Patch 7.2.203
- Problem: When reloading a buffer or doing anything else with a buffer that
- is not displayed in a visible window, autocommands may be applied
- to the current window, folds messed up, etc.
- Solution: Instead of using the current window for the hidden buffer use a
- special window, splitting the current one temporarily.
- Files: src/fileio.c, src/globals.h, src/gui.c, src/if_perl.xs,
- src/progo/gui.pro, src/proto/window.pro, src/screen.c,
- src/structs.h, src/window.c
- Patch 7.2.204 (extra)
- Problem: Win32: Can't build with Visual Studio 2010 beta 1.
- Solution: Fix the makefile. (George Reilly)
- Files: src/Make_mvc.mak
- Patch 7.2.205 (extra)
- Problem: Win32: No support for High DPI awareness.
- Solution: Fix the manifest file. (George Reilly)
- Files: src/Make_mvc.mak, src/gvim.exe.mnf
- Patch 7.2.206
- Problem: Win32: Can't build netbeans interface with Visual Studio 2010.
- Solution: Undefine ECONNREFUSED. (George Reilly)
- Files: src/netbeans.c
- Patch 7.2.207
- Problem: Using freed memory with ":redrawstatus" when it works recursively.
- Solution: Prevent recursively updating the status line. (partly by Dominique
- Pelle)
- Files: src/screen.c
- Patch 7.2.208
- Problem: "set novice" gives an error message, it should be ignored.
- Solution: Don't see "no" in "novice" as unsetting an option. (Patrick
- Texier)
- Files: src/option.c
- Patch 7.2.209
- Problem: For xxd setmode() is undefined on Cygwin.
- Solution: Include io.h. (Dominique Pelle)
- Files: src/xxd/xxd.c
- Patch 7.2.210
- Problem: When a file that is being edited has its timestamp updated outside
- of Vim and ":checktime" is used still get a warning when writing
- the file. (Matt Mueller)
- Solution: Store the timestamp in b_mtime_read when the timestamp is the only
- thing that changed.
- Files: src/fileio.c
- Patch 7.2.211
- Problem: Memory leak when expanding a series of file names.
- Solution: Use ga_clear_strings() instead of ga_clear().
- Files: src/misc1.c
- Patch 7.2.212 (extra)
- Problem: Warnings for redefining SIG macros.
- Solution: Don't define them if already defined. (Bjorn Winckler)
- Files: src/os_mac.h
- Patch 7.2.213
- Problem: Warning for using vsprintf().
- Solution: Use vim_vsnprintf().
- Files: src/netbeans.c
- Patch 7.2.214
- Problem: Crash with complete function for user command. (Andy Wokula)
- Solution: Avoid using a NULL pointer (Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.2.215
- Problem: ml_get error when using ":vimgrep".
- Solution: Load the memfile for the hidden buffer before putting it in a
- window. Correct the order of splitting the window and filling
- the window and buffer with data.
- Files: src/fileio.c, src/proto/window.pro, src/quickfix.c, src/window.c
- Patch 7.2.216
- Problem: Two error messages have the same number E812.
- Solution: Give one message a different number.
- Files: runtime/doc/autocmd.txt, runtime/doc/if_mzsch.txt, src/if_mzsch.c
- Patch 7.2.217
- Problem: Running tests with valgrind doesn't work as advertised.
- Solution: Fix the line in the Makefile.
- Files: src/testdir/Makefile
- Patch 7.2.218
- Problem: Cannot build GTK with hangul_input feature. (Dominique Pelle)
- Solution: Adjust #ifdef. (SungHyun Nam)
- Files: src/gui.c
- Patch 7.2.219 (extra)
- Problem: Photon GUI is outdated.
- Solution: Updates for QNX 6.4.0. (Sean Boudreau)
- Files: src/gui_photon.c
- Patch 7.2.220 (after 7.2.215)
- Problem: a BufEnter autocommand that changes directory causes problems.
- (Ajit Thakkar)
- Solution: Disable autocommands when opening a hidden buffer in a window.
- Files: src/fileio.c
- Patch 7.2.221
- Problem: X cut_buffer0 text is used as-is, it may be in the wrong encoding.
- Solution: Convert between 'enc' and latin1. (James Vega)
- Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro,
- src/ui.c
- Patch 7.2.222
- Problem: ":mksession" doesn't work properly with 'acd' set.
- Solution: Make it work. (Yakov Lerner)
- Files: src/ex_docmd.c
- Patch 7.2.223
- Problem: When a script is run with ":silent" it is not able to give warning
- messages.
- Solution: Add the ":unsilent" command.
- Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c
- Patch 7.2.224
- Problem: Crash when using 'completefunc'. (Ingo Karkat)
- Solution: Disallow entering edit() recursively when doing completion.
- Files: src/edit.c
- Patch 7.2.225
- Problem: When using ":normal" a saved character may be executed.
- Solution: Also store old_char when saving typeahead.
- Files: src/getchar.c, src/structs.h
- Patch 7.2.226
- Problem: ml_get error after deleting the last line. (Xavier de Gaye)
- Solution: When adjusting marks a callback may be invoked. Adjust the cursor
- position before invoking deleted_lines_mark().
- Files: src/ex_cmds.c, src/ex_docmd.c, src/if_mzsch.c, src/if_python.c,
- src/if_perl.xs, src/misc1.c
- Patch 7.2.227
- Problem: When using ":cd" in a script there is no way to track this.
- Solution: Display the directory when 'verbose' is 5 or higher.
- Files: src/ex_docmd.c
- Patch 7.2.228
- Problem: Cscope is limited to 8 connections.
- Solution: Allocated the connection array to handle any number of
- connections. (Dominique Pelle)
- Files: runtime/doc/if_cscop.txt, src/if_cscope.h, src/if_cscope.c
- Patch 7.2.229
- Problem: Warning for shadowed variable.
- Solution: Rename "wait" to "wait_time".
- Files: src/os_unix.c
- Patch 7.2.230
- Problem: A few old lint-style ARGUSED comments.
- Solution: Change to the new UNUSED style.
- Files: src/getchar.c
- Patch 7.2.231
- Problem: Warning for unreachable code.
- Solution: Add #ifdef.
- Files: src/if_perl.xs
- Patch 7.2.232
- Problem: Cannot debug problems with being in a wrong directory.
- Solution: When 'verbose' is 5 or higher report directory changes.
- Files: src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro
- Patch 7.2.233 (extra part of 7.2.232)
- Problem: Cannot debug problems with being in a wrong directory.
- Solution: When 'verbose' is 5 or higher report directory changes.
- Files: src/os_msdos.c, src/os_mswin.c, src/os_riscos.c, src/os_mac.h
- Patch 7.2.234
- Problem: It is not possible to ignore file names without a suffix.
- Solution: Use an empty entry in 'suffixes' for file names without a dot.
- Files: runtime/doc/cmdline.txt, src/misc1.c
- Patch 7.2.235
- Problem: Using CTRL-O z= in Insert mode has a delay before redrawing.
- Solution: Reset msg_didout and msg_scroll.
- Files: src/misc1.c, src/spell.c
- Patch 7.2.236
- Problem: Mac: Compiling with Ruby doesn't always work.
- Solution: In configure filter out the --arch argument (Bjorn Winckler)
- Files: src/configure.in, src/auto/configure
- Patch 7.2.237
- Problem: Crash on exit when window icon not set.
- Solution: Copy terminal name when using it for the icon name.
- Files: src/os_unix.c
- Patch 7.2.238
- Problem: Leaking memory when setting term to "builtin_dumb".
- Solution: Free memory when resetting term option t_Co.
- Files: src/option.c, src/proto/option.pro, src/term.c
- Patch 7.2.239
- Problem: Using :diffpatch twice or when patching fails causes memory
- corruption and/or a crash. (Bryan Venteicher)
- Solution: Detect missing output file. Avoid using non-existing buffer.
- Files: src/diff.c
- Patch 7.2.240
- Problem: Crash when using find/replace dialog repeatedly. (Michiel
- Hartsuiker)
- Solution: Avoid doing the operation while busy or recursively. Also refuse
- replace when text is locked.
- Files: src/gui.c
- Patch 7.2.241
- Problem: When using a combination of ":bufdo" and "doautoall" we may end up
- in the wrong directory. (Ajit Thakkar)
- Crash when triggering an autocommand in ":vimgrep". (Yukihiro
- Nakadaira)
- Solution: Clear w_localdir and globaldir when using the aucmd_win.
- Use a separate flag to decide aucmd_win needs to be restored.
- Files: src/fileio.c, src/globals.h, src/structs.h
- Patch 7.2.242
- Problem: Setting 'lazyredraw' causes the cursor column to be recomputed.
- (Tom Link)
- Solution: Only recompute the cursor column for a boolean option if changes
- the cursor position.
- Files: src/option.c
- Patch 7.2.243
- Problem: Memory leak when using :vimgrep and resizing. (Dominique Pelle)
- Solution: Free memory for aucmd_win when resizing and don't allocate it
- twice.
- Files: src/screen.c
- Patch 7.2.244
- Problem: When 'enc' is utf-8 and 'fenc' is latin1, writing a non-latin1
- character gives a conversion error without any hint what is wrong.
- Solution: When known add the line number to the error message.
- Files: src/fileio.c
- Patch 7.2.245
- Problem: When 'enc' is "utf-16" and 'fenc' is "utf-8" writing a file does
- conversion while none should be done. (Yukihiro Nakadaira) When
- 'fenc' is empty the file is written as utf-8 instead of utf-16.
- Solution: Do proper comparison of encodings, taking into account that all
- Unicode values for 'enc' use utf-8 internally.
- Files: src/fileio.c
- Patch 7.2.246
- Problem: Cscope home page link is wrong.
- Solution: Update the URL. (Sergey Khorev)
- Files: runtime/doc/if_cscop.txt
- Patch 7.2.247
- Problem: Mzscheme interface minor problem.
- Solution: Better error message when build fails. (Sergey Khorev)
- Files: src/if_mzsch.c
- Patch 7.2.248 (extra)
- Problem: Mzscheme interface building minor problems.
- Solution: Update Win32 makefiles. (Sergey Khorev)
- Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak
- Patch 7.2.249
- Problem: The script to check .po files can't handle '%' in plural forms.
- Solution: Remove "Plural-Forms:" from the checked string.
- Files: src/po/check.vim
- Patch 7.2.250 (extra)
- Problem: Possible buffer overflow.
- Solution: Compute the remaining space. (Dominique Pelle)
- Files: src/GvimExt/gvimext.cpp
- Patch 7.2.251 (after 7.2.044)
- Problem: Compiler adds invalid memory bounds check.
- Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle)
- Files: src/auto/configure, src/configure.in
- Patch 7.2.252
- Problem: When using a multibyte 'enc' the 'iskeyword' option cannot
- contain characters above 128.
- Solution: Use mb_ptr2char_adv().
- Files: src/charset.c
- Patch 7.2.253
- Problem: Netbeans interface: getLength always uses current buffer.
- Solution: Use ml_get_buf() instead of ml_get(). (Xavier de Gaye)
- Files: src/netbeans.c
- Patch 7.2.254
- Problem: Compiler warning for assigning size_t to int.
- Solution: Use size_t for the variable. (George Reilly)
- Files: src/fileio.c
- Patch 7.2.255 (after 7.2.242)
- Problem: Setting 'rightleft', 'linebreak' and 'wrap' may cause cursor to be
- in wrong place.
- Solution: Recompute the cursor column for these options.
- Files: src/option.c
- Patch 7.2.256
- Problem: When 'guifont' was not set GTK font dialog doesn't have a default.
- (Andreas Metzler)
- Solution: Set default to DEFAULT_FONT. (James Vega)
- Files: src/gui_gtk_x11.c
- Patch 7.2.257
- Problem: With GTK 2.17 lots of assertion error messages.
- Solution: Remove check for static gravity. (Sebastian Droege)
- Files: src/gui_gtk_f.c
- Patch 7.2.258
- Problem: v:beval_col and b:beval_text are wrong in UTF-8 text. (Tony
- Mechelynck)
- Solution: Use byte number instead of character number for the column.
- Files: src/ui.c
- Patch 7.2.259
- Problem: exists() doesn't work properly for an empty aucmd group.
- Solution: Change how au_exists() handles a missing pattern. Also add a
- test for this. (Bob Hiestand)
- Files: src/fileio.c, src/testdir/Makefile, src/testdir/test67.in,
- src/testdir/test67.ok
- Patch 7.2.260 (extra part of 7.2.259)
- Problem: exists() doesn't work properly for empty aucmd group.
- Solution: Change how au_exists() handles a missing pattern. Also add a
- test for this. (Bob Hiestand)
- Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms
- Patch 7.2.261
- Problem: When deleting lines with a specific folding configuration E38 may
- appear. (Shahaf)
- Solution: When adjusting nested folds for deleted lines take into account
- that they don't start at the top of the enclosing fold.
- Files: src/fold.c
- Patch 7.2.262
- Problem: When using custom completion for a user command the pattern string
- goes beyond the cursor position. (Hari Krishna Dara)
- Solution: Truncate the string at the cursor position.
- Files: src/ex_getln.c, src/structs.h
- Patch 7.2.263
- Problem: GTK2: when using the -geom argument with an offset from the right
- edge and the size is smaller than the default, the Vim window is
- not positioned properly.
- Solution: Use another function to set the size. (Vitaly Minko)
- Files: src/gui_gtk_x11.c
- Patch 7.2.264
- Problem: GTK2: When the Vim window is maximized setting 'columns' or
- 'lines' doesn't work.
- Solution: Unmaximize the window before setting the size. (Vitaly Minko)
- Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
- Patch 7.2.265
- Problem: When using ":silent broken" inside try/catch silency may persist.
- (dr-dr xp)
- Solution: Set msg_silent when there is an error and it's bigger than the
- saved value.
- Files: src/ex_docmd.c
- Patch 7.2.266
- Problem: When an expression abbreviation is triggered, the typed character
- is unknown.
- Solution: Make the typed character available in v:char.
- Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, src/ops.c,
- src/proto/eval.pro
- Patch 7.2.267
- Problem: Crash for narrow window and double-width character.
- Solution: Check for zero width. (Taro Muraoka)
- Files: src/charset.c
- Patch 7.2.268
- Problem: Crash when using Python to set cursor beyond end of line.
- (winterTTr)
- Solution: Check the column to be valid.
- Files: src/if_python.c
- Patch 7.2.269
- Problem: Many people struggle to find out why Vim startup is slow.
- Solution: Add the --startuptime command line flag.
- Files: runtime/doc/starting.txt, src/globals.h, src/feature.h,
- src/main.c, src/macros.h
- Patch 7.2.270
- Problem: Using ":@c" when the c register contains a CR causes the rest to
- be executed later. (Dexter Douglas)
- Solution: Don't check for typeahead to start with ':', keep executing
- commands until all added typeahead has been used.
- Files: src/ex_docmd.c
- Patch 7.2.271
- Problem: Using freed memory in Motif GUI version when making a choice.
- Solution: Free memory only after using it. (Dominique Pelle)
- Files: src/gui_xmdlg.c
- Patch 7.2.272
- Problem: "_.svz" is not recognized as a swap file. (David M. Besonen)
- Solution: Accept .s[uvw][a-z] as a swap file name extension.
- Files: src/memline.c
- Patch 7.2.273
- Problem: Crash with redir to unknown array. (Christian Brabandt)
- Solution: Don't assign the redir result when there was an error.
- Files: src/eval.c
- Patch 7.2.274
- Problem: Syntax folding doesn't work properly when adding a comment.
- Solution: Fix it and add a test. (Lech Lorens)
- Files: src/fold.c, src/testdir/test45.in, src/testdir/test45.ok
- Patch 7.2.275
- Problem: Warning for unused argument and comparing signed and unsigned.
- Solution: Add type cast.
- Files: src/memline.c
- Patch 7.2.276
- Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado)
- Solution: Check for the character to be < 256. Also make it possible to
- specify a range of multibyte characters. (Lech Lorens)
- Files: src/charset.c
- Patch 7.2.277
- Problem: CTRL-Y in a diff'ed window may move the cursor outside of the
- window. (Lech Lorens)
- Solution: Limit the number of filler lines to the height of the window.
- Don't reset filler lines to zero for an empty buffer.
- Files: src/move.c
- Patch 7.2.278
- Problem: Using magic number in the folding code.
- Solution: Use the defined MAX_LEVEL.
- Files: src/fold.c
- Patch 7.2.279
- Problem: Invalid memory read with visual mode "r". (Dominique Pelle)
- Solution: Make sure the cursor position is valid. Don't check the cursor
- position but the position being used. And make sure we get the
- right line.
- Files: src/misc2.c, src/ops.c
- Patch 7.2.280
- Problem: A redraw in a custom statusline with %! may cause a crash.
- (Yukihiro Nakadaira)
- Solution: Make a copy of 'statusline'. Also fix typo in function name
- redraw_custom_statusline. (partly by Dominique Pelle)
- Files: src/screen.c
- Patch 7.2.281
- Problem: 'cursorcolumn' highlighting is wrong in diff mode.
- Solution: Adjust the column computation. (Lech Lorens)
- Files: src/screen.c
- Patch 7.2.282
- Problem: A fold can't be closed.
- Solution: Initialize fd_small to MAYBE. (Lech Lorens)
- Files: src/fold.c
- Patch 7.2.283
- Problem: Changing font while the window is maximized doesn't keep the
- window maximized.
- Solution: Recompute number of lines and columns after changing font. (James
- Vega)
- Files: src/gui_gtk_x11.c
- Patch 7.2.284
- Problem: When editing the same buffer in two windows, one with folding,
- display may be wrong after changes.
- Solution: Call set_topline() to take care of side effects. (Lech Lorens)
- Files: src/misc1.c
- Patch 7.2.285 (after 7.2.169)
- Problem: CTRL-U in Insert mode also deletes indent. (Andrey Voropaev)
- Solution: Fix mistake made in patch 7.2.169.
- Files: src/edit.c
- Patch 7.2.286 (after 7.2.269)
- Problem: The "--startuptime=<file>" argument is not consistent with other
- arguments.
- Solution: Use "--startuptime <file>". Added the +startuptime feature.
- Files: runtime/doc/eval.txt, runtime/doc/starting.txt,
- runtime/doc/various.txt, src/eval.c, src/main.c, src/version.c
- Patch 7.2.287
- Problem: Warning from gcc 3.4 about uninitialized variable.
- Solution: Move assignment outside of #ifdef.
- Files: src/if_perl.xs
- Patch 7.2.288
- Problem: Python 2.6 pyconfig.h redefines macros.
- Solution: Undefine the macros before including pyconfig.h.
- Files: src/if_python.c
- Patch 7.2.289
- Problem: Checking wrong struct member.
- Solution: Change tb_buf to tb_noremap. (Dominique Pelle)
- Files: src/getchar.c
- Patch 7.2.290
- Problem: Not freeing memory from ":lmap", ":xmap" and ":menutranslate".
- Solution: Free the memory when exiting. (Dominique Pelle)
- Files: src/misc2.c
- Patch 7.2.291
- Problem: Reading uninitialised memory in arabic mode.
- Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique
- Pelle)
- Files: src/screen.c
- Patch 7.2.292
- Problem: Block right-shift doesn't work properly with multibyte encoding
- and 'list' set.
- Solution: Add the missing "else". (Lech Lorens)
- Files: src/ops.c
- Patch 7.2.293
- Problem: When setting 'comments' option it may be used in a wrong way.
- Solution: Don't increment after skipping over digits. (Yukihiro Nakadaira)
- Files: src/misc1.c
- Patch 7.2.294
- Problem: When using TEMPDIRS dir name could get too long.
- Solution: Overwrite tail instead of appending each time. Use mkdtemp() when
- available. (James Vega)
- Files: src/auto/configure, src/config.h.in, src/configure.in, src/fileio.c
- Patch 7.2.295
- Problem: When using map() on a List the index is not known.
- Solution: Set v:key to the index. (Hari Krishna Dara)
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.2.296
- Problem: Help message about startuptime is wrong. (Dominique Pelle)
- Solution: Remove the equal sign.
- Files: src/main.c
- Patch 7.2.297
- Problem: Reading freed memory when writing ":reg" output to a register.
- (Dominique Pelle)
- Solution: Skip the register being written to.
- Files: src/ops.c
- Patch 7.2.298
- Problem: ":vimgrep" crashes when there is an autocommand that sets a
- window-local variable.
- Solution: Initialize the w: hashtab for re-use. (Yukihiro Nakadaira)
- Files: src/fileio.c
- Patch 7.2.299
- Problem: Crash when comment middle is longer than start.
- Solution: Fix size computation. (Lech Lorens)
- Files: src/misc1.c
- Patch 7.2.300
- Problem: Vim doesn't close file descriptors when forking and executing
- another command, e.g., ":shell".
- Solution: Use FD_CLOEXEC when available. (James Vega)
- Files: auto/configure, src/config.h.in, src/configure.in,
- src/ex_cmdds2.c, src/fileio.c, src/memfile.c, src/memline.c
- Patch 7.2.301
- Problem: Formatting is wrong when 'tw' is set to a small value.
- Solution: Fix it and add tests. Also fix behavior of "1" in 'fo'. (Yukihiro
- Nakadaira)
- Files: src/edit.c, src/testdir/Makefile, src/testdir/test68.in,
- src/testdir/test68.ok, src/testdir/test69.in,
- src/testdir/test69,ok
- Patch 7.2.302 (extra part of 7.2.301)
- Problem: Formatting wrong with small 'tw' value.
- Solution: Add build rules for tests.
- Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms
- Patch 7.2.303 (after 7.2.294)
- Problem: Can't build on MS-Windows.
- Solution: Add #ifdef around vim_settempdir(). (James Vega)
- Files: src/fileio.c
- Patch 7.2.304
- Problem: Compiler warning for bad pointer cast.
- Solution: Use another variable for int pointer.
- Files: src/ops.c
- Patch 7.2.305
- Problem: Recursively redrawing causes a memory leak. (Dominique Pelle)
- Solution: Disallow recursive screen updating.
- Files: src/screen.c
- Patch 7.2.306
- Problem: shellescape("10%%", 1) only escapes first %. (Christian Brabandt)
- Solution: Don't copy the character after the escaped one.
- Files: src/misc2.c
- Patch 7.2.307
- Problem: Crash with a very long syntax match statement. (Guy Gur Ari)
- Solution: When the offset does not fit in the two bytes available give an
- error instead of continuing with invalid pointers.
- Files: src/regexp.c
- Patch 7.2.308
- Problem: When using a regexp in the "\=" expression of a substitute
- command, submatch() returns empty strings for further lines.
- (Clockwork Jam)
- Solution: Save and restore the line number and line count when calling
- reg_getline().
- Files: src/regexp.c
- Patch 7.2.309 (after 7.2.308)
- Problem: Warning for missing function prototype. (Patrick Texier)
- Solution: Add the prototype.
- Files: src/regexp.c
- Patch 7.2.310
- Problem: When a filetype plugin in ~/.vim/ftdetect uses ":setfiletype" and
- the file starts with a "# comment" it gets "conf" filetype.
- Solution: Check for "conf" filetype after using ftdetect plugins.
- Files: runtime/filetype.vim
- Patch 7.2.311
- Problem: Can't compile with FreeMiNT.
- Solution: Change #ifdef for limits.h. (Alan Hourihane)
- Files: src/fileio.c
- Patch 7.2.312
- Problem: iconv() returns an invalid character sequence when conversion
- fails. It should return an empty string. (Yongwei Wu)
- Solution: Be more strict about invalid characters in the input.
- Files: src/mbyte.c
- Patch 7.2.313
- Problem: Command line completion doesn't work after "%:h" and similar.
- Solution: Expand these items before doing the completion.
- Files: src/ex_getln.c, src/misc1.c, src/proto/misc1.pro
- Patch 7.2.314
- Problem: Missing function in small build.
- Solution: Always include concat_str.
- Files: src/misc1.c
- Patch 7.2.315
- Problem: Python libs can't be found on 64 bit system.
- Solution: Add lib64 to the list of directories. (Michael Henry)
- Files: src/auto/configure, src/configure.in
- Patch 7.2.316
- Problem: May get multiple _FORTIFY_SOURCE arguments. (Tony Mechelynck)
- Solution: First remove all these arguments and then add the one we want.
- (Dominique Pelle)
- Files: src/auto/configure, src/configure.in
- Patch 7.2.317
- Problem: Memory leak when adding a highlight group with unprintable
- characters, resulting in E669.
- Solution: Free the memory. And fix a few typos. (Dominique Pelle)
- Files: src/syntax.c
- Patch 7.2.318
- Problem: Wrong locale value breaks floating point numbers for gvim.
- Solution: Set the locale again after doing GUI inits. (Dominique Pelle)
- Files: src/main.c
- Patch 7.2.319
- Problem: Motif: accessing freed memory when cancelling font dialog.
- Solution: Destroy the widget only after accessing it. (Dominique Pelle)
- Files: src/gui_xmdlg.c
- Patch 7.2.320
- Problem: Unused function in Mzscheme interface.
- Solution: Remove the function and what depends on it. (Dominique Pelle)
- Files: src/if_mzsch.c, src/proto/if_mzsch.pro
- Patch 7.2.321
- Problem: histadd() and searching with "*" fails to add entry to history
- when it is empty.
- Solution: Initialize the history. (Lech Lorens)
- Files: src/eval.c, src/normal.c
- Patch 7.2.322
- Problem: Wrong indenting in virtual replace mode with CTRL-Y below a short
- line.
- Solution: Check for character to be NUL. (suggested by Lech Lorens)
- Files: src/edit.c
- Patch 7.2.323 (extra)
- Problem: Balloon evaluation crashes on Win64.
- Solution: Change pointer types. (Sergey Khorev)
- Files: src/gui_w32.c
- Patch 7.2.324
- Problem: A negative column argument in setpos() may cause a crash.
- Solution: Check for invalid column number. (James Vega)
- Files: src/eval.c, src/misc2.c
- Patch 7.2.325
- Problem: A stray "w" in the startup vimrc file causes the edited file to be
- replaced with an empty file. (Stone Kang).
- Solution: Do not write a buffer when it has never been loaded.
- Files: src/fileio.c
- Patch 7.2.326
- Problem: Win32: $HOME doesn't work when %HOMEPATH% is not defined.
- Solution: Use "\" for %HOMEPATH% when it is not defined.
- Files: src/misc1.c
- Patch 7.2.327
- Problem: Unused functions in Workshop.
- Solution: Add "#if 0" and minor cleanup. (Dominique Pelle)
- Files: src/workshop.c, src/integration.c, src/integration.h
- Patch 7.2.328
- Problem: has("win64") does not return 1 on 64 bit MS-Windows version.
- Solution: Also check for _WIN64 besides WIN64.
- Files: src/eval.c
- Patch 7.2.329
- Problem: "g_" doesn't position cursor correctly when in Visual mode and
- 'selection' is "exclusive". (Ben Fritz)
- Solution: Call adjust_for_sel().
- Files: src/normal.c
- Patch 7.2.330
- Problem: Tables for Unicode case operators are outdated.
- Solution: Add a Vim script for generating the tables. Include tables for
- Unicode 5.2.
- Files: runtime/tools/README.txt, runtime/tools/unicode.vim, src/mbyte.c
- Patch 7.2.331
- Problem: Can't interrupt "echo list" for a very long list.
- Solution: Call line_breakcheck() in list_join().
- Files: src/eval.c
- Patch 7.2.332
- Problem: Crash when spell correcting triggers an autocommand that reloads
- the buffer.
- Solution: Make a copy of the line to be modified. (Dominique Pelle)
- Files: src/spell.c
- Patch 7.2.333
- Problem: Warnings from static code analysis.
- Solution: Small changes to various lines. (Dominique Pelle)
- Files: src/buffer.c, src/edit.c, src/ex_getln.c, src/fileio.c,
- src/if_cscope.c, src/netbeans.c, src/ops.c, src/quickfix.c,
- src/syntax.c, src/ui.c
- Patch 7.2.334
- Problem: Postponing keys in Netbeans interface does not work properly.
- Solution: Store the key string instead of the number. Avoid an infinite
- loop. (Mostly by Xavier de Gaye)
- Files: src/netbeans.c, src/proto/netbeans.pro
- Patch 7.2.335
- Problem: The CTRL-] command escapes too many characters.
- Solution: Use a different list of characters to be escaped. (Sergey Khorev)
- Files: src/normal.c
- Patch 7.2.336
- Problem: MzScheme interface can't evaluate an expression.
- Solution: Add mzeval(). (Sergey Khorev)
- Files: runtime/doc/eval.txt, runtime/doc/if_mzsch.txt,
- runtime/doc/usr_41.txt, src/eval.c, src/if_mzsch.c,
- src/proto/eval.pro, src/proto/if_mzsch.pro,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Makefile, src/testdir/main.aap, src/testdir/test1.in,
- src/testdir/test70.in, src/testdir/test70.ok
- Patch 7.2.337
- Problem: The :compiler command doesn't function properly when invoked in a
- function.
- Solution: Add "g:" before "current_compiler". (Yukihiro Nakadaira)
- Files: src/ex_cmds2.c
- Patch 7.2.338 (after 7.2.300)
- Problem: Part of FD_CLOEXEC change is missing.
- Solution: Include source file skipped because of typo.
- Files: src/ex_cmds2.c
- Patch 7.2.339 (after 7.2.269)
- Problem: Part of --startuptime patch is missing.
- Solution: Add check for time_fd.
- Files: src/ex_cmds2.c
- Patch 7.2.340
- Problem: Gcc warning for condition that can never be true. (James Vega)
- Solution: Use start_lvl instead flp->lvl.
- Files: src/fold.c
- Patch 7.2.341
- Problem: Popup menu wraps to next line when double-wide character doesn't
- fit. (Jiang Ma)
- Solution: Display a ">" instead. (Dominique Pelle)
- Files: src/screen.c
- Patch 7.2.342
- Problem: Popup menu displayed wrong in 'rightleft' mode when there are
- multibyte characters.
- Solution: Adjust the column computations. (Dominique Pelle)
- Files: src/popupmnu.c
- Patch 7.2.343 (after 7.2.338)
- Problem: Can't compile on Win32.
- Solution: Insert the missing '|'.
- Files: src/ex_cmds2.c
- Patch 7.2.344 (after 7.2.343)
- Problem: Can't compile on some systems
- Solution: Move the #ifdef outside of the mch_open macro. (Patrick Texier)
- Files: src/ex_cmds2.c
- Patch 7.2.345
- Problem: Tab line is not updated when the value of 'bt' is changed.
- Solution: Call redraw_titles(). (Lech Lorens)
- Files: src/option.c
- Patch 7.2.346
- Problem: Repeating a command with @: causes a mapping to be applied twice.
- Solution: Do not remap characters inserted in the typeahead buffer. (Kana
- Natsuno)
- Files: src/ops.c
- Patch 7.2.347
- Problem: Crash when executing <expr> mapping redefines that same mapping.
- Solution: Save the values used before evaluating the expression.
- Files: src/getchar.c
- Patch 7.2.348 (after 7.2.330)
- Problem: Unicode double-width characters are not up-to date.
- Solution: Produce the double-width table like the others.
- Files: runtime/tools/unicode.vim, src/mbyte.c
- Patch 7.2.349
- Problem: CTRL-W gf doesn't put the new tab in the same place as "tab split"
- and "gf". (Tony Mechelynck)
- Solution: Store the tab number in cmdmod.tab.
- Files: src/window.c
- Patch 7.2.350
- Problem: Win32: When changing font the window may jump from the secondary
- to the primary screen. (Michael Wookey)
- Solution: When the screen position was negative don't correct it to zero.
- Files: src/gui.c
- Patch 7.2.351 (after 7.2.347)
- Problem: Can't build with some compilers.
- Solution: Move the #ifdef outside of a macro. Cleanup the code.
- Files: src/getchar.c
- Patch 7.2.352 (extra)
- Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries.
- Solution: Always return TRUE for the WM_NCCREATE message. (Andy Kittner)
- Files: src/gui_w48.c
- Patch 7.2.353
- Problem: No command line completion for ":profile".
- Solution: Complete the subcommand and file name.
- Files: src/ex_docmd.c, src/ex_cmds2.c, src/ex_getln.c,
- src/proto/ex_cmds2.pro, src/vim.h
- Patch 7.2.354
- Problem: Japanese single-width double-byte characters not handled correctly.
- Solution: Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[].
- (partly by Kikuchan)
- Files: src/screen.c
- Patch 7.2.355
- Problem: Computing the cursor column in validate_cursor_col() is wrong when
- line numbers are used and 'n' is not in 'cpoptions', causing the
- popup menu to be positioned wrong.
- Solution: Correctly use the offset. (partly by Dominique Pelle)
- Files: src/move.c
- Patch 7.2.356
- Problem: When 'foldmethod' is changed not all folds are closed as expected.
- Solution: In foldUpdate() correct the start position and reset fd_flags when
- w_foldinvalid is set. (Lech Lorens)
- Files: src/fold.c
- Patch 7.2.357
- Problem: When changing 'fileformat' from/to "mac" and there is a CR in the
- text the display is wrong.
- Solution: Redraw the text when 'fileformat' is changed. (Ben Schmidt)
- Files: src/option.c
- Patch 7.2.358
- Problem: Compiler warnings on VMS. (Zoltan Arpadffy)
- Solution: Pass array itself instead its address. Return a value.
- Files: src/gui_gtk_x11.c, src/os_unix.c
- Patch 7.2.359
- Problem: Crash when using the Netbeans join command.
- Solution: Make sure the ml_flush_line() function is not used recursively.
- (Xavier de Gaye)
- Files: src/memline.c
- Patch 7.2.360
- Problem: Ruby on MS-Windows: can't use sockets.
- Solution: Call NtInitialize() during initialization. (Ariya Mizutani)
- Files: src/if_ruby.c
- Patch 7.2.361
- Problem: Ruby 1.9 is not supported.
- Solution: Add Ruby 1.9 support. (Masaki Suketa)
- Files: src/Makefile, src/auto/configure, src/configure.in, src/if_ruby.c
- Patch 7.2.362 (extra, after 7.2.352)
- Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries.
- Solution: Instead of handling WM_NCCREATE, create wide text area window
- class if the parent window iw side. (Sergey Khorev)
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 7.2.363
- Problem: Can't dynamically load Perl 5.10.
- Solution: Add the function Perl_croak_xs_usage. (Sergey Khorev)
- Files: src/if_perl.xs
- Patch 7.2.364 (extra)
- Problem: Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott)
- Solution: Check if _MSC_VER is defined. (Andy Kittner)
- Files: src/GvimExt/gvimext.h
- Patch 7.2.365 (extra)
- Problem: MS-Windows with MingW: "File->Save As" does not work. (John
- Marriott)
- Solution: Correctly fill in structure size. (Andy Kittner)
- Files: src/gui_w48.c
- Patch 7.2.366
- Problem: CTRL-B doesn't go back to the first line of the buffer.
- Solution: Avoid an overflow when adding MAXCOL.
- Files: src/move.c
- Patch 7.2.367
- Problem: "xxd -r -p" doesn't work as documented.
- Solution: Skip white space. (James Vega)
- Files: src/xxd/xxd.c
- Patch 7.2.368 (after 7.2.361)
- Problem: Ruby interface: Appending line doesn't work. (Michael Henry)
- Solution: Reverse check for NULL line. (James Vega)
- Files: src/if_ruby.c
- Patch 7.2.369
- Problem: Error message is not easy to understand.
- Solution: Add quotes. (SungHyun Nam)
- Files: src/ex_cmds2.c
- Patch 7.2.370 (after 7.2.356)
- Problem: A redraw may cause folds to be closed.
- Solution: Revert part of the previous patch. Add a test. (Lech Lorens)
- Files: src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in,
- src/testdir/test45.ok
- Patch 7.2.371
- Problem: Build problems on Tandem NonStop.
- Solution: A few changes to #ifdefs (Joachim Schmitz)
- Files: src/auto/configure, src/configure.in, src/config.h.in, src/vim.h,
- src/if_cscope.c, src/osdef1.h.in, src/tag.c
- Patch 7.2.372 (extra)
- Problem: Cross-compiling GvimExt and xxd doesn't work.
- Solution: Change the build files. (Markus Heidelberg)
- Files: src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak,
- src/Make_ming.mak, src/xxd/Make_cyg.mak
- Patch 7.2.373
- Problem: Gcc 4.5 adds more error messages. (Chris Indy)
- Solution: Update default 'errorformat'.
- Files: src/option.h
- Patch 7.2.374
- Problem: Ruby eval() doesn't understand Vim types.
- Solution: Add the vim_to_ruby() function. (George Gensure)
- Files: src/eval.c, src/if_ruby.c
- Patch 7.2.375
- Problem: ml_get errors when using ":bprevious" in a BufEnter autocmd.
- (Dominique Pelle)
- Solution: Clear w_valid when entering another buffer.
- Files: src/buffer.c
- Patch 7.2.376
- Problem: ml_get error when using SiSU syntax. (Nathan Thomas)
- Solution: If the match ends below the last line move it to the end of the
- last line.
- Files: src/syntax.c
- Patch 7.2.377 (extra, after 7.2.372)
- Problem: Misplaced assignment. Duplicate build line for gvimext.dll.
- Solution: Move setting CROSS_COMPILE to before ifneq. Remove the wrong
- build line. (Markus Heidelberg)
- Files: src/Make_ming.mak
- Patch 7.2.378
- Problem: C function declaration indented too much. (Rui)
- Solution: Don't see a line containing { or } as a type. (Matt Wozniski)
- Files: src/misc1.c
- Patch 7.2.379
- Problem: 'eventignore' is set to an invalid value inside ":doau". (Antony
- Scriven)
- Solution: Don't include the leading comma when the option was empty.
- Files: src/fileio.c
- Patch 7.2.380 (after 7.2.363)
- Problem: Perl interface builds with 5.10.1 but not with 5.10.0.
- Solution: Change the #ifdefs. (Sergey Khorev)
- Files: src/if_perl.xs
- Patch 7.2.381
- Problem: No completion for :behave.
- Solution: Add :behave completion. Minor related fixes. (Dominique Pelle)
- Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, src/vim.h
- Patch 7.2.382
- Problem: Accessing freed memory when closing the cmdline window when
- 'bufhide' is set to "wipe".
- Solution: Check if the buffer still exists before invoking close_buffer()
- (Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.2.383
- Problem: Vim doesn't build cleanly with MSVC 2010.
- Solution: Change a few types. (George Reilly)
- Files: src/ex_cmds2.c, src/if_python.c, src/syntax.c
- Patch 7.2.384 (extra)
- Problem: Vim doesn't build properly with MSVC 2010.
- Solution: Add the nmake version to the build file. (George Reilly)
- Files: src/Make_mvc.mak, src/testdir/Make_dos.mak
- Patch 7.2.385
- Problem: When in the command line window dragging status line only works
- for last-but-one window. (Jean Johner)
- Solution: Remove the code that disallows this.
- Files: src/ui.c
- Patch 7.2.386
- Problem: Focus hack for KDE 3.1 causes problems for other window managers.
- Solution: Remove the hack. (forwarded by Joel Bradshaw)
- Files: src/gui_gtk.c
- Patch 7.2.387
- Problem: Ruby with MingW still doesn't build all versions.
- Solution: More #ifdefs for the Ruby code. (Sergey Khorev)
- Files: src/if_ruby.c
- Patch 7.2.388 (extra part of 7.2.387)
- Problem: Ruby with MingW still doesn't build all versions.
- Solution: Different approach to build file. (Sergey Khorev)
- Files: src/Make_ming.mak
- Patch 7.2.389
- Problem: synIDattr() cannot return the font.
- Solution: Support the "font" argument. (Christian Brabandt)
- Files: runtime/doc/eval.txt, src/eval.c, src/syntax.c
- Patch 7.2.390
- Problem: In some situations the popup menu can be displayed wrong.
- Solution: Remove the popup menu if the cursor moved. (Lech Lorens)
- Files: src/edit.c
- Patch 7.2.391
- Problem: Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen)
- Solution: Fix computations in getvcol(). (partly by Lech Lorens)
- Files: src/charset.c, src/memline.c
- Patch 7.2.392
- Problem: Netbeans hangs reading from a socket at the maximum block size.
- Solution: Use select() or poll(). (Xavier de Gaye)
- Files: src/vim.h, src/os_unixx.h, src/if_xcmdsrv.c, src/netbeans.c
- Patch 7.2.393
- Problem: Mac: Can't build with different Xcode developer tools directory.
- Solution: make "Developer" directory name configurable. (Rainer Muller)
- Files: src/configure.in, src/auto/configure
- Patch 7.2.394
- Problem: .lzma and .xz files are not supported.
- Solution: Recognize .lzma and .xz files so that they can be edited.
- Files: runtime/plugin/gzip.vim
- Patch 7.2.395
- Problem: In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony
- Mechelynck)
- Solution: Don't escape ? for a help command. (Sergey Khorev)
- Files: src/normal.c
- Patch 7.2.396
- Problem: Get E38 errors. (Dasn)
- Solution: Set cursor to line 1 instead of 0. (Dominique Pelle)
- Files: src/popupmnu.c
- Patch 7.2.397
- Problem: Redundant check for w_lines_valid.
- Solution: Remove the if. (Lech Lorens)
- Files: src/fold.c
- Patch 7.2.398
- Problem: When moving windows the cursor ends up in the wrong line.
- Solution: Set the window width and height properly. (Lech Lorens)
- Files: src/window.c
- Patch 7.2.399 (extra, after 7.2.388)
- Problem: Cannot compile on MingW.
- Solution: Move ifneq to separate line. (Vlad Sandrini, Dominique Pelle)
- Files: src/Make_ming.mak
- Patch 7.2.400 (after 7.2.387)
- Problem: Dynamic Ruby is not initialised properly for version 1.9.1.
- Ruby cannot create strings from NULL.
- Solution: Cleanup #ifdefs. Handle NULL like an empty string. Add
- ruby_init_stack. (Sergey Khorev)
- Files: src/if_ruby.c
- Patch 7.2.401
- Problem: ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight
- directory names with a space. (Alexandre Provencio)
- Solution: Remove the backslash before checking if the name is a directory.
- (Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.2.402
- Problem: This gives a #705 error: let X = function('haslocaldir')
- let X = function('getcwd')
- Solution: Don't give E705 when the name is found in the hashtab. (Sergey
- Khorev)
- Files: src/eval.c
- Patch 7.2.403 (after 7.2.400)
- Problem: Compiler warning for pointer type. (Tony Mechelynck)
- Solution: Move type cast to the right place.
- Files: src/if_ruby.c
- Patch 7.2.404
- Problem: Pointers for composing characters are not properly initialized.
- Solution: Compute the size of the pointer, not what it points to. (Yukihiro
- Nakadaira)
- Files: src/screen.c
- Patch 7.2.405
- Problem: When built with small features the matching text is not
- highlighted for ":s/pat/repl/c".
- Solution: Remove the #ifdef for IncSearch. (James Vega)
- Files: src/syntax.c
- Patch 7.2.406
- Problem: Patch 7.2.119 introduces uninit mem read. (Dominique Pelle)
- Solution: Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro
- Nakadaira) Also clear ScreeenLinesC when allocating.
- Files: src/screen.c
- Patch 7.2.407
- Problem: When using an expression in ":s" backslashes in the result are
- dropped. (Sergey Goldgaber, Christian Brabandt)
- Solution: Double backslashes.
- Files: src/regexp.c
- Patch 7.2.408
- Problem: With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line
- that was not changed.
- Solution: Only set '[ and '] marks when a substitution was done.
- Files: src/ex_cmds.c
- Patch 7.2.409
- Problem: Summary of number of substitutes is incorrect for ":folddo". (Jean
- Johner)
- Solution: Reset sub_nsubs and sub_nlines in global_exe().
- Files: src/ex_cmds.c
- Patch 7.2.410
- Problem: Highlighting directories for completion doesn't work properly.
- Solution: Don't halve backslashes when not needed, expanded "~/".
- (Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.2.411
- Problem: When parsing 'cino' a comma isn't skipped properly.
- Solution: Skip the comma. (Lech Lorens)
- Files: src/misc1.c
- Patch 7.2.412
- Problem: [ or ] followed by mouse click doesn't work.
- Solution: Reverse check for key being a mouse event. (Dominique Pelle)
- Files: src/normal.c
- Patch 7.2.413
- Problem: Large file support is incorrect.
- Solution: Add AC_SYS_LARGEFILE to configure. (James Vega)
- Files: src/configure.in, src/config.h.in, src/auto/configure
- Patch 7.2.414
- Problem: CTRL-K <space> <space> does not produce 0xa0 as expected. (Tony
- Mechelynck)
- Solution: Remove the Unicode range 0xe000 - 0xefff from digraphs, these are
- not valid characters.
- Files: src/digraph.c
- Patch 7.2.415
- Problem: Win32: Can't open a remote file when starting Vim.
- Solution: Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi)
- Files: src/main.c
- Patch 7.2.416
- Problem: Logtalk.dict is not installed.
- Solution: Add it to the install target. (Markus Heidelberg)
- Files: src/Makefile
- Patch 7.2.417
- Problem: When 'shell' has an argument with a slash then 'shellpipe' is not
- set properly. (Britton Kerin)
- Solution: Assume there are no spaces in the path, arguments follow.
- Files: src/option.c
- Patch 7.2.418
- Problem: Vim tries to set the background or foreground color in a terminal
- to -1. (Graywh) Happens with ":hi Normal ctermbg=NONE".
- Solution: When resetting the foreground or background color don't set the
- color, let the clear screen code do that.
- Files: src/syntax.c
- Patch 7.2.419
- Problem: Memory leak in Motif when clicking on "Search Vim Help".
- Solution: Free string returned by XmTextGetString(). (Dominique Pelle)
- Files: src/gui_motif.c
- Patch 7.2.420
- Problem: ":argedit" does not accept "++enc=utf8" as documented. (Dominique
- Pelle)
- Solution: Add the ARGOPT flag to ":argedit".
- Files: src/ex_cmds.h
- Patch 7.2.421
- Problem: Folds are sometimes not updated properly and there is no way to
- force an update.
- Solution: Make "zx" and "zX" recompute folds (suggested by Christian
- Brabandt)
- Files: src/normal.c
- Patch 7.2.422
- Problem: May get E763 when using spell dictionaries.
- Solution: Avoid utf-8 case folded character to be truncated to 8 bits and
- differ from latin1. (Dominique Pelle)
- Files: src/spell.c
- Patch 7.2.423
- Problem: Crash when assigning s: to variable. (Yukihiro Nakadaira)
- Solution: Make ga_scripts contain pointer to scriptvar_T instead of
- scriptvar_T itself. (Dominique Pelle)
- Files: src/eval.c
- Patch 7.2.424
- Problem: ":colorscheme" without an argument doesn't do anything.
- Solution: Make it echo the current color scheme name. (partly by Christian
- Brabandt)
- Files: runtime/doc/syntax.txt, src/ex_cmds.h, src/ex_docmd.c
- Patch 7.2.425
- Problem: Some compilers complain about fourth EX() argument.
- Solution: Add cast to long_u.
- Files: src/ex_cmds.h
- Patch 7.2.426
- Problem: Commas in 'langmap' are not always handled correctly.
- Solution: Require commas to be backslash escaped. (James Vega)
- Files: src/option.c
- Patch 7.2.427
- Problem: The swapfile is created using the destination of a symlink, but
- recovery doesn't follow symlinks.
- Solution: When recovering, resolve symlinks. (James Vega)
- Files: src/memline.c
- Patch 7.2.428
- Problem: Using setqflist([]) to clear the error list doesn't work properly.
- Solution: Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt)
- Files: src/quickfix.c
- Patch 7.2.429
- Problem: A file that exists but access is denied may result in a "new file"
- message. E.g. when its directory is unreadable.
- Solution: Specifically check for ENOENT to decide a file doesn't exist.
- (partly by James Vega)
- Files: src/fileio.c
- Patch 7.2.430
- Problem: The ++bad argument is handled wrong, resulting in an invalid
- memory access.
- Solution: Use the bad_char field only for the replacement character, add
- bad_char_idx to store the position. (Dominique Pelle)
- Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c
- Patch 7.2.431
- Problem: ":amenu" moves the cursor when in Insert mode.
- Solution: Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt)
- Files: src/menu.c
- Patch 7.2.432
- Problem: When menus are translated they can only be found by the translated
- name. That makes ":emenu" difficult to use.
- Solution: Store the untranslated name and use it for completion and :emenu.
- (Liang Peng (Bezetek James), Edward L. Fox)
- Files: src/menu.c, src/structs.h
- Patch 7.2.433
- Problem: Can't use cscope with QuickFixCmdPre and QuickFixCmdPost.
- Solution: Add cscope support for these autocmd events. (Bryan Venteicher)
- Files: runtime/doc/autocmd.txt, src/if_cscope.c
- Patch 7.2.434 (after 7.2.432)
- Problem: Compilation fails without the multi-lang feature.
- Solution: Add #ifdefs. (John Marriott)
- Files: src/menu.c
- Patch 7.2.435 (after 7.2.430)
- Problem: Crash when using bad_char_idx uninitialized. (Patrick Texier)
- Solution: Don't use bad_char_idx, reproduce the ++bad argument from bad_char.
- Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c
- Patch 7.2.436
- Problem: Reproducible crash in syntax HL. (George Reilly, Dominique Pelle)
- Solution: Make sst_stacksize an int instead of short. (Dominique Pelle)
- Files: src/structs.h
- Patch 7.2.437 (after 7.2.407)
- Problem: When "\\\n" appears in the expression result the \n doesn't result
- in a line break. (Andy Wokula)
- Solution: Also replace a \n after a backslash into \r.
- Files: src/regexp.c
- Patch 7.2.438 (after 7.2.427)
- Problem: "vim -r" crashes.
- Solution: Don't use NULL pointer argument.
- Files: src/memline.c
- Patch 7.2.439
- Problem: Invalid memory access when doing thesaurus completion and
- 'infercase' is set.
- Solution: Use the minimal length of completed word and replacement.
- (Dominique Pelle)
- Files: src/edit.c
- Patch 7.2.440
- Problem: Calling a function through a funcref, where the function deletes
- the funcref, leads to an invalid memory access.
- Solution: Make a copy of the function name. (Lech Lorens)
- Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok
- Patch 7.2.441
- Problem: When using ":earlier" undo information may be wrong.
- Solution: When changing alternate branches also adjust b_u_oldhead.
- Files: src/undo.c
- Patch 7.2.442 (after 7.2.201)
- Problem: Copy/paste with OpenOffice doesn't work.
- Solution: Do not offer the HTML target when it is not supported. (James
- Vega)
- Files: src/gui_gtk_x11.c, src/option.c, src/proto/gui_gtk_x11.pro
- Patch 7.2.443
- Problem: Using taglist() on a tag file with duplicate fields generates an
- internal error. (Peter Odding)
- Solution: Check for duplicate field names.
- Files: src/eval.c, src/proto/eval.pro, src/tag.c
- Patch 7.2.444 (after 7.2.442)
- Problem: Can't build with GTK 1, gtk_selection_clear_targets() is not
- available. (Patrick Texier)
- Solution: Don't change the targets for GTK 1, set them once.
- Files: src/gui_gtk_x11.c, src/option.c
- Patch 7.2.445
- Problem: Crash when using undo/redo and a FileChangedRO autocmd event that
- reloads the buffer. (Dominique Pelle)
- Solution: Do not allow autocommands while performing and undo or redo.
- Files: src/misc1.c, src/undo.c
- Patch 7.2.446
- Problem: Crash in GUI when closing the last window in a tabpage. (ryo7000)
- Solution: Remove the tabpage from the list before freeing the window.
- Files: src/window.c
- When writing a file, switching tab pages and selecting a word the file write
- message would be displayed again. This happened in Insert mode and with
- 'cmdheight' set to 2.
- When using ":lang" to set a locale that uses a comma for decimal separator and
- using GTK floating point numbers stop working. Use gtk_disable_setlocale().
- (James Vega)
- "g8" didn't produce the right value on a NUL. (Dominique Pelle)
- Use BASEMODLIBS instead of MODLIBS for Python configuration to pick up the
- right compiler flags. (Michael Bienia)
- Window title was not updated after dropping a file on Vim. (Hari G)
- synstack() did not return anything when just past the end of the line. Useful
- when using the cursor position in Insert mode.
- When entering a digraph or special character after a line that fits the window
- the '?' or '^' on the next line is not redrawn. (Ian Kelling)
- Composing characters in |:s| substitute text were dropped.
- |exists()| was causing an autoload script to be loaded.
- Filter out -pthread for cproto.
- Make CTRL-L in command line mode respect 'ignorecase' and 'smartcase'. (Martin
- Toft)
- Spell menu moved the cursor, causing Copy not to work. Spell replacement
- didn't work in 'compatible' mode.
- Various small fixes from Dominique Pelle.
- Fix that :mksession may generate "2argu" even though there is no such
- argument. (Peter Odding)
- Fixes for time in clipboard request. Also fix ownership. (David Fries)
- Fixed completion of file names with '%' and '*'.
- Fixed MSVC makefile use of /Wp64 flag.
- Correct use of long instead of off_t for file size. (James Vega)
- Add a few #ifdefs to exclude functions that are not used. (Dominique Pelle)
- Remove old and unused method to allocate memory for undo.
- Fix definition of UINT_PTR for 64 bit systems.
- Some versions of Ruby redefine rb_str_new2 to rb_str_new_cstr.
- Window title not updated after file dropped.
- Fixed crash for ":find" completion, might also happen in other path expansion
- usage.
- When 'searchhl' causes a hang make CTRL-C disable 'searchhl'.
- When resetting both 'title' and 'icon' the title would be set after a shell
- command.
- Reset 'title' and 'icon' in test47 to avoid the xterm title getting messed up.
- Fix for compiler warning about function prototype in pty.c.
- Added 'window' to the options window.
- Fixed: errors for allocating zero bytes when profiling an empty function.
- Remove -arch flag from build flags for Perl. (Bjorn Wickler)
- Fix 'autochdir' not showing up in :options window. (Dominique Pelle)
- Fix: test 69 didn't work on MS-Windows. Test 72 beeped too often.
- Avoid illegal memory access in spell suggestion. (Dominique Pelle)
- Fix: crash in spell checking with a 0x300 character.
- Avoid that running tests changes viminfo.
- Fix: changing case of a character removed combining characters.
- Fixed: CTRL-R in Insert mode doesn't insert composing characters.
- Added the WOW64 flag to OLE registration, for 64 bit Windows systems.
- Various fixes for coverity warnings.
- Fix compile warnings, esp. for 64-bit systems. (Mike Williams)
- Fix: :redir to a dictionary that is changed before ":redir END" causes a
- memory access error.
- Fix: terminal title not properly restored when there are multibyte
- characters. (partly by James Vega)
- Set 'wrapscan' when checking the .po files. (Mike Williams)
- Win32: Put quotes around the gvim.exe path for the "Open with" menu entry.
- On MS-Windows sometimes files with number 4913 or higher are left behind.
- 'suffixesadd' was used for finding tags file.
- Removed unused code.
- Improved positioning of combining characters in GTK.
- Made test 11 pass when there is no gzip program. (John Beckett)
- Changed readfile() to ignore byte order marks, unless in binary mode.
- On MS-Windows completion of shell commands didn't work.
- An unprintable multibyte character at the start of the screen line caused the
- following text to be drawn at the wrong position.
- Got ml_get errors when using undo with 'virtualedit'.
- Call gui_mch_update() before triggering GuiEnter autocmd. (Ron Aaron)
- Unix "make install" installed a few Amiga .info files.
- Disallow setting 'ambiwidth' to "double" when 'listchars' or 'fillchars'
- contains a character that would become double width.
- Set 'wrapscan' when checking the .po files. (Mike Williams)
- Fixed: using expression in command line may cause a crash.
- Avoid warnings from the clang compiler. (Dominique Pelle)
- Fix: Include wchar.h in charset.c for towupper().
- Fixed: Using ":read file" in an empty buffer when 'compatible' is set caused
- an error. Was caused by patch 7.2.132.
- Make the references to features in the help more consistent. (Sylvain Hitier)
- ==============================================================================
- VERSION 7.4 *version-7.4* *version7.4* *vim-7.4*
- This section is about improvements made between version 7.3 and 7.4.
- This release has hundreds of bug fixes and there are a few new features. The
- most notable new features are:
- - New regexp engine |new-regexp-engine|
- - A more pythonic Python interface |better-python-interface|
- New regexp engine *new-regexp-engine*
- -----------------
- What is now called the "old" regexp engine uses a backtracking algorithm. It
- tries to match the pattern with the text in one way, and when that fails it
- goes back and tries another way. This works fine for simple patterns, but
- complex patterns can be very slow on longer text.
- The new engine uses a state machine. It tries all possible alternatives at
- the current character and stores the possible states of the pattern. This is
- a bit slower for simple patterns, but much faster for complex patterns and
- long text.
- Most notably, syntax highlighting for Javascript and XML files with long lines
- is now working fine. Previously Vim could get stuck.
- More information here: |two-engines|
- Better Python interface *better-python-interface*
- -----------------------
- Added |python-bindeval| function. Unlike |python-eval| this one returns
- |python-Dictionary|, |python-List| and |python-Function| objects for
- dictionaries lists and functions respectively in place of their Python
- built-in equivalents (or None if we are talking about function references).
- For simple types this function returns Python built-in types and not only
- Python `str()` like |python-eval| does. On Python 3 it will return `bytes()`
- objects in place of `str()` ones avoiding possibility of UnicodeDecodeError.
- Interface of new objects mimics standard Python `dict()` and `list()`
- interfaces to some extent. Extent will be improved in the future.
- Added special |python-vars| objects also available for |python-buffer| and
- |python-window|. They ease access to Vim script variables from Python.
- Now you no longer need to alter `sys.path` to import your module: special
- hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and
- {rtp}/pythonx directories (for Python 2, Python 3 and both respectively).
- See |python-special-path|.
- Added possibility to work with |tabpage|s through |python-tabpage| object.
- Added automatic conversion of Vim errors and exceptions to Python
- exceptions.
- Changed the behavior of the |python-buffers| object: it now uses buffer numbers
- as keys in place of the index of the buffer in the internal buffer list.
- This should not break anything as the only way to get this index was
- iterating over |python-buffers|.
- Added |:pydo| and |:py3do| commands.
- Added the |pyeval()| and |py3eval()| functions.
- Now in all places which previously accepted `str()` objects, `str()` and
- `unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted.
- |python-window| has gained `.col` and `.row` attributes that are currently
- the only way to get internal window positions.
- Added or fixed support for `dir()` in Vim Python objects.
- Changed *changed-7.4*
- -------
- Old Python versions (≤2.2) are no longer supported. Building with them did
- not work anyway.
- Options:
- Added ability to automatically save the selection into the system
- clipboard when using non-GUI version of Vim (autoselectplus in
- 'clipboard'). Also added ability to use the system clipboard as
- default register (previously only primary selection could be used).
- (Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar)
- Added a special 'shiftwidth' value that makes 'sw' follow 'tabstop'.
- As indenting via 'indentexpr' became tricky |shiftwidth()| function
- was added. Also added equivalent special value to 'softtabstop'
- option. (Christian Brabandt, so8res)
- Show absolute number in number column when 'relativenumber' option is
- on. Now there are four combinations with 'number' and
- 'relativenumber'. (Christian Brabandt)
- Commands:
- |:diffoff| now saves the local values of some settings and restores
- them in place of blindly resetting them to the defaults. (Christian
- Brabandt)
- Other:
- Lua interface now also uses userdata bound to Vim structures. (Taro
- Muraoka, Luis Carvalho)
- glob() and autocommand patterns used to work with the undocumented
- "\{n,m\}" item from a regexp. "\{" is now used for a literal "{", as
- this is normal in shell file patterns. Now used "\\\{n,m\}" to get
- "\{n,m}" in the regexp pattern.
- Added *added-7.4*
- -----
- Various syntax, indent and other plugins were added.
- Added support for |Lists| and |Dictionaries| in |viminfo|. (Christian
- Brabandt)
- Functions:
- Bitwise functions: |and()|, |or()|, |invert()|, |xor()|.
- Added |luaeval()| function. (Taro Muraoka, Luis Carvalho)
- Added |sha256()| function. (Tyru, Hirohito Higashi)
- Added |wildmenumode()| function. (Christian Brabandt)
- Debugging functions: |screenattr()|, |screenchar()|, |screencol()|,
- |screenrow()|. (Simon Ruderich, Bram Moolenaar)
- Added ability to use |Dictionary-function|s for |sort()|ing, via
- optional third argument. (Nikolay Pavlov)
- Added special |expand()| argument that expands to the current line
- number.
- Made it possible to force |char2nr()| to always give unicode codepoints
- regardless of current encoding. (Yasuhiro Matsumoto)
- Made it possible for functions generating file list generate |List|
- and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian
- Brabandt)
- Functions that obtain variables from the specific window, tabpage or
- buffer scope dictionary can now return specified default value in
- place of empty string in case variable is not found. (|gettabvar()|,
- |getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi)
- Autocommands:
- Added |InsertCharPre| event launched before inserting character.
- (Jakson A. Aquino)
- Added |CompleteDone| event launched after finishing completion in
- insert mode. (idea by Florian Klein)
- Added |QuitPre| event launched when commands that can either close Vim
- or only some window(s) are launched.
- Added |TextChanged| and |TextChangedI| events launched when text is
- changed.
- Commands:
- |:syntime| command useful for debugging.
- Made it possible to remove all signs from the current buffer using
- |:sign-unplace|. (Christian Brabandt)
- Added |:language| autocompletion. (Dominique Pelle)
- Added more |:command-complete| completion types: |:behave| suboptions,
- color schemes, compilers, |:cscope| suboptions, files from 'path',
- |:history| suboptions, locale names, |:syntime| suboptions, user
- names. (Dominique Pelle)
- Added |:map-nowait| creating mapping which when having lhs that is the
- prefix of another mapping’s lhs will not allow Vim to wait for user to
- type more characters to resolve ambiguity, forcing Vim to take the
- shorter alternative: one with <nowait>.
- Options:
- Made it possible to ignore case when completing: 'wildignorecase'.
- Added ability to delete comment leader when using |J| by `j` flag in
- 'formatoptions' (|fo-table|). (Lech Lorens)
- Added ability to control indentation inside namespaces: |cino-N|.
- (Konstantin Lepa)
- Added ability to control alignment inside `if` condition separately
- from alignment inside function arguments: |cino-k|. (Lech Lorens)
- Other:
- Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar)
- Added |v:windowid| variable containing current window number in GUI
- Vim. (Christian J. Robinson, Lech Lorens)
- Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito)
- All changes in 7.4 *fixed-7.4*
- ------------------
- Patch 7.3.001
- Problem: When editing "src/main.c" and 'path' set to "./proto",
- ":find e<C-D" shows ./proto/eval.pro instead of eval.pro.
- Solution: Check for path separator when comparing names. (Nazri Ramliy)
- Files: src/misc1.c
- Patch 7.3.002
- Problem: ":find" completion doesn't work when halfway an environment
- variable. (Dominique Pelle)
- Solution: Only use in-path completion when expanding file names. (Nazri
- Ramliy)
- Files: src/ex_docmd.c
- Patch 7.3.003
- Problem: Crash with specific BufWritePost autocmd. (Peter Odding)
- Solution: Don't free the quickfix title twice. (Lech Lorens)
- Files: src/quickfix.c
- Patch 7.3.004
- Problem: Crash when using very long regexp. (Peter Odding)
- Solution: Reset reg_toolong. (Carlo Teubner)
- Files: src/regexp.c
- Patch 7.3.005
- Problem: Crash when using undotree(). (Christian Brabandt)
- Solution: Increase the list reference count. Add a test for undotree()
- (Lech Lorens)
- Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in
- Patch 7.3.006
- Problem: Can't build some multibyte code with C89.
- Solution: Move code to after declarations. (Joachim Schmitz)
- Files: src/mbyte.c, src/spell.c
- Patch 7.3.007
- Problem: Python code defines global "buffer". Re-implements a grow-array.
- Solution: Use a grow-array instead of coding the same functionality. Handle
- out-of-memory situation properly.
- Files: src/if_py_both.h
- Patch 7.3.008
- Problem: 'cursorbind' is kept in places where 'scrollbind' is reset.
- Solution: Reset 'cursorbind'.
- Files: src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h,
- src/quickfix.c, src/search.c, src/tag.c, src/window.c
- Patch 7.3.009
- Problem: Win32: Crash on Windows when using a bad argument for strftime().
- (Christian Brabandt)
- Solution: Use the bad_param_handler(). (Mike Williams)
- Files: src/os_win32.c
- Patch 7.3.010
- Problem: Mac GUI: Missing break statements.
- Solution: Add the break statements. (Dominique Pelle)
- Files: src/gui_mac.c
- Patch 7.3.011
- Problem: X11 clipboard doesn't work in Athena/Motif GUI. First selection
- after a shell command doesn't work.
- Solution: When using the GUI use XtLastTimestampProcessed() instead of
- changing a property. (partly by Toni Ronkko)
- When executing a shell command disown the selection.
- Files: src/ui.c, src/os_unix.c
- Patch 7.3.012
- Problem: Problems building with MingW.
- Solution: Adjust the MingW makefiles. (Jon Maken)
- Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak
- Patch 7.3.013
- Problem: Dynamic loading with Ruby doesn't work for 1.9.2.
- Solution: Handle rb_str2cstr differently. Also support dynamic loading on
- Unix. (Jon Maken)
- Files: src/if_ruby.c
- Patch 7.3.014
- Problem: Ending a line in a backslash inside an ":append" or ":insert"
- command in Ex mode doesn't work properly. (Ray Frush)
- Solution: Halve the number of backslashes, only insert a NUL after an odd
- number of backslashes.
- Files: src/ex_getln.c
- Patch 7.3.015
- Problem: Test is using error message that no longer exists.
- Solution: Change E106 to E121. (Dominique Pelle)
- Files: src/testdir/test49.vim
- Patch 7.3.016
- Problem: Netbeans doesn't work under Athena.
- Solution: Support Athena, just like Motif. (Xavier de Gaye)
- Files: runtime/doc/netbeans.txt, src/gui.c, src/main.c, src/netbeans.c
- Patch 7.3.017
- Problem: smatch reports errors.
- Solution: Fix the reported errors. (Dominique Pelle)
- Files: src/spell.c, src/syntax.c
- Patch 7.3.018 (after 7.3.012)
- Problem: Missing argument to windres in MingW makefiles.
- Solution: Add the argument that was wrapped in the patch. (Jon Maken)
- Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak
- Patch 7.3.019
- Problem: ":nbstart" can fail silently.
- Solution: Give an error when netbeans is not supported by the GUI. (Xavier
- de Gaye)
- Files: src/netbeans.c
- Patch 7.3.020
- Problem: Cursor position wrong when joining multiple lines and
- 'formatoptions' contains "a". (Moshe Kamensky)
- Solution: Adjust cursor position for skipped indent. (Carlo Teubner)
- Files: src/ops.c, src/testdir/test68.in, src/testdir/test68.ok
- Patch 7.3.021
- Problem: Conflict for defining Boolean in Mac header files.
- Solution: Define NO_X11_INCLUDES. (Rainer Muller)
- Files: src/os_macosx.m, src/vim.h
- Patch 7.3.022
- Problem: When opening a new window the 'spellcapcheck' option is cleared.
- Solution: Copy the correct option value. (Christian Brabandt)
- Files: src/option.c
- Patch 7.3.023
- Problem: External program may hang when it tries to write to the tty.
- Solution: Don't close the slave tty until after the child exits. (Nikola
- Knezevic)
- Files: src/os_unix.c
- Patch 7.3.024
- Problem: Named signs do not use a negative number as intended.
- Solution: Fix the numbering of named signs. (Xavier de Gaye)
- Files: src/ex_cmds.c
- Patch 7.3.025
- Problem: ":mksession" does not square brackets escape file name properly.
- Solution: Improve escaping of file names. (partly by Peter Odding)
- Files: src/ex_docmd.c
- Patch 7.3.026
- Problem: CTRL-] in a help file doesn't always work. (Tony Mechelynck)
- Solution: Don't escape special characters. (Carlo Teubner)
- Files: src/normal.c
- Patch 7.3.027
- Problem: Opening a file on a network share is very slow.
- Solution: When fixing file name case append "\*" to directory, server and
- network share names. (David Anderson, John Beckett)
- Files: src/os_win32.c
- Patch 7.3.028 (after 7.3.024)
- Problem: Signs don't show up. (Charles Campbell)
- Solution: Don't use negative numbers. Also assign a number to signs that
- have a name of all digits to avoid using a sign number twice.
- Files: src/ex_cmds.c
- Patch 7.3.029
- Problem: ":sort n" sorts lines without a number as number zero. (Beeyawned)
- Solution: Make lines without a number sort before lines with a number. Also
- fix sorting negative numbers.
- Files: src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok
- Patch 7.3.030
- Problem: Cannot store Dict and List in viminfo file.
- Solution: Add support for this. (Christian Brabandt)
- Files: runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
- src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in,
- src/testdir/test74.ok
- Patch 7.3.031
- Problem: Can't pass the X window ID to another application.
- Solution: Add v:windowid. (Christian J. Robinson, Lech Lorens)
- Files: runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h,
- src/os_unix.c
- Patch 7.3.032
- Problem: maparg() doesn't return the flags, such as <buffer>, <script>,
- <silent>. These are needed to save and restore a mapping.
- Solution: Improve maparg(). (also by Christian Brabandt)
- Files: runtime/doc/eval.txt, src/eval.c, src/getchar.c, src/gui_w48.c,
- src/message.c, src/proto/getchar.pro, src/proto/message.pro,
- src/structs.h src/testdir/test75.in, src/testdir/test75.ok
- Patch 7.3.033 (after 7.3.032)
- Problem: Can't build without FEAT_LOCALMAP.
- Solution: Add an #ifdef. (John Marriott)
- Files: src/getchar.c
- Patch 7.3.034
- Problem: Win32: may be loading .dll from the wrong directory.
- Solution: Go to the Vim executable directory when opening a library.
- Files: src/gui_w32.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs,
- src/if_python.c, src/if_python3.c, src/if_ruby.c, src/mbyte.c,
- src/os_mswin.c, src/os_win32.c, src/proto/os_win32.pro
- Patch 7.3.035 (after 7.3.034)
- Problem: Stray semicolon after if statement. (Hari G)
- Solution: Remove the semicolon.
- Files: src/os_win32.c
- Patch 7.3.036
- Problem: Win32 GUI: When building without menus, the font for dialogs and
- tab page headers also changes.
- Solution: Define USE_SYSMENU_FONT always. (Harig G.)
- Files: src/gui_w32.c
- Patch 7.3.037
- Problem: Compiler warnings for loss of data. (Mike Williams)
- Solution: Add type casts.
- Files: src/if_py_both.h, src/getchar.c, src/os_win32.c
- Patch 7.3.038
- Problem: v:windowid isn't set on MS-Windows.
- Solution: Set it to the window handle. (Chris Sutcliffe)
- Files: runtime/doc/eval.txt, src/gui_w32.c
- Patch 7.3.039
- Problem: Crash when using skk.vim plugin.
- Solution: Get length of expression evaluation result only after checking for
- NULL. (Noriaki Yagi, Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.3.040
- Problem: Comparing strings while ignoring case goes beyond end of the
- string when there are illegal bytes. (Dominique Pelle)
- Solution: Explicitly check for illegal bytes.
- Files: src/mbyte.c
- Patch 7.3.041
- Problem: Compiler warning for accessing mediumVersion. (Tony Mechelynck)
- Solution: Use the pointer instead of the array itself. (Dominique Pelle)
- Files: src/version.c
- Patch 7.3.042
- Problem: No spell highlighting when re-using an empty buffer.
- Solution: Clear the spell checking info only when clearing the options for a
- buffer. (James Vega)
- Files: src/buffer.c
- Patch 7.3.043
- Problem: Can't load Ruby dynamically on Unix.
- Solution: Adjust the configure script. (James Vega)
- Files: src/Makefile, src/config.h.in, src/configure.in,
- src/auto/configure, src/if_ruby.c
- Patch 7.3.044
- Problem: The preview window opened by the popup menu is larger than
- specified with 'previewheight'. (Benjamin Haskell)
- Solution: Use 'previewheight' if it's set and smaller.
- Files: src/popupmnu.c
- Patch 7.3.045
- Problem: Compiler warning for uninitialized variable.
- Solution: Initialize the variable always.
- Files: src/getchar.c
- Patch 7.3.046 (after 7.3.043)
- Problem: Can't build Ruby on MS-Windows.
- Solution: Add #ifdef, don't use WIN3264 before including vim.h.
- Files: src/if_ruby.c
- Patch 7.3.047 (after 7.3.032)
- Problem: Missing makefile updates for test 75.
- Solution: Update the makefiles.
- Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Makefile, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- Patch 7.3.048
- Problem: ":earlier 1f" doesn't work after loading undo file.
- Solution: Set b_u_save_nr_cur when loading an undo file. (Christian
- Brabandt)
- Fix only showing time in ":undolist"
- Files: src/undo.c
- Patch 7.3.049
- Problem: PLT has rebranded their Scheme to Racket.
- Solution: Add support for Racket 5.x. (Sergey Khorev)
- Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
- src/auto/configure, src/configure.in, src/if_mzsch.c
- Patch 7.3.050
- Problem: The link script is clumsy.
- Solution: Use the --as-needed linker option if available. (Kirill A.
- Shutemov)
- Files: src/Makefile, src/auto/configure, src/config.mk.in,
- src/configure.in, src/link.sh
- Patch 7.3.051
- Problem: Crash when $PATH is empty.
- Solution: Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto)
- Files: src/ex_getln.c, src/os_win32.c
- Patch 7.3.052
- Problem: When 'completefunc' opens a new window all kinds of errors follow.
- (Xavier Deguillard)
- Solution: When 'completefunc' goes to another window or buffer and when it
- deletes text abort completion. Add a test for 'completefunc'.
- Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile,
- src/testdir/test76.in, src/testdir/test76.ok
- Patch 7.3.053
- Problem: complete() function doesn't reset complete direction. Can't use
- an empty string in the list of matches.
- Solution: Set compl_direction to FORWARD. Add "empty" key to allow empty
- words. (Kikuchan)
- Files: src/edit.c
- Patch 7.3.054
- Problem: Can define a user command for :Print, but it doesn't work. (Aaron
- Thoma)
- Solution: Let user command :Print overrule the builtin command (Christian
- Brabandt) Disallow :X and :Next as a user defined command.
- Files: src/ex_docmd.c
- Patch 7.3.055
- Problem: Recursively nested lists and dictionaries cause a near-endless
- loop when comparing them with a copy. (ZyX)
- Solution: Limit recursiveness in a way that non-recursive structures can
- still be nested very deep.
- Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
- Patch 7.3.056
- Problem: "getline" argument in do_cmdline() shadows global.
- Solution: Rename the argument.
- Files: src/ex_docmd.c
- Patch 7.3.057
- Problem: Segfault with command line abbreviation. (Randy Morris)
- Solution: Don't retrigger the abbreviation when abandoning the command line.
- Continue editing the command line after the error.
- Files: src/ex_getln.c
- Patch 7.3.058
- Problem: Error "code converter not found" when loading Ruby script.
- Solution: Load Gem module. (Yasuhiro Matsumoto)
- Files: src/if_ruby.c
- Patch 7.3.059
- Problem: Netbeans: Problem with recursively handling messages for Athena
- and Motif.
- Solution: Call netbeans_parse_messages() in the main loop, like it's done
- for GTK. (Xavier de Gaye)
- Files: src/gui_x11.c, src/netbeans.c
- Patch 7.3.060
- Problem: Netbeans: crash when socket is disconnected unexpectedly.
- Solution: Don't cleanup when a read fails, put a message in the queue and
- disconnect later. (Xavier de Gaye)
- Files: src/netbeans.c
- Patch 7.3.061
- Problem: Remote ":drop" does not respect 'autochdir'. (Peter Odding)
- Solution: Don't restore the directory when 'autochdir' is set. (Benjamin
- Fritz)
- Files: src/main.c
- Patch 7.3.062
- Problem: Python doesn't work properly when installed in another directory
- than expected.
- Solution: Figure out home directory in configure and use Py_SetPythonHome()
- at runtime. (Roland Puntaier)
- Files: src/configure.in, src/auto/configure, src/if_python.c,
- src/if_python3.c
- Patch 7.3.063
- Problem: Win32: Running a filter command makes Vim lose focus.
- Solution: Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu)
- Files: src/os_win32.c
- Patch 7.3.064
- Problem: Win32: ":dis +" shows nothing, but "+p does insert text.
- Solution: Display the * register, since that's what will be inserted.
- (Christian Brabandt)
- Files: src/globals.h, src/ops.c
- Patch 7.3.065
- Problem: Can't get current line number in a source file.
- Solution: Add the <slnum> item, similar to <sfile>.
- Files: src/ex_docmd.c
- Patch 7.3.066
- Problem: Crash when changing to another window while in a :vimgrep command.
- (Christian Brabandt)
- Solution: When wiping out the dummy before, remove it from aucmd_win.
- Files: src/quickfix.c
- Patch 7.3.067 (after 7.3.058)
- Problem: Ruby: Init_prelude is not always available.
- Solution: Remove use of Init_prelude. (Yasuhiro Matsumoto)
- Files: src/if_ruby.c
- Patch 7.3.068
- Problem: Using freed memory when doing ":saveas" and an autocommand sets
- 'autochdir'. (Kevin Klement)
- Solution: Get the value of fname again after executing autocommands.
- Files: src/ex_cmds.c
- Patch 7.3.069
- Problem: GTK: pressing Enter in inputdialog() doesn't work like clicking OK
- as documented.
- Solution: call gtk_entry_set_activates_default(). (Britton Kerin)
- Files: src/gui_gtk.c
- Patch 7.3.070
- Problem: Can set environment variables in the sandbox, could be abused.
- Solution: Disallow it.
- Files: src/eval.c
- Patch 7.3.071
- Problem: Editing a file in a window that's in diff mode resets 'diff'
- but not cursor binding.
- Solution: Reset cursor binding in two more places.
- Files: src/quickfix.c, src/option.c
- Patch 7.3.072
- Problem: Can't complete file names while ignoring case.
- Solution: Add 'wildignorecase'.
- Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c,
- src/option.h, src/vim.h, src/runtime/options.txt
- Patch 7.3.073
- Problem: Double free memory when netbeans command follows DETACH.
- Solution: Only free the node when owned. (Xavier de Gaye)
- Files: src/netbeans.c
- Patch 7.3.074
- Problem: Can't use the "+ register like "* for yank and put.
- Solution: Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov)
- Files: runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c,
- src/option.c
- Patch 7.3.075 (after 7.3.072)
- Problem: Missing part of 'wildignorecase'
- Solution: Also adjust expand()
- Files: src/eval.c
- Patch 7.3.076
- Problem: Clang warnings for dead code.
- Solution: Remove it. (Carlo Teubner)
- Files: src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c,
- src/spell.c
- Patch 7.3.077
- Problem: When updating crypt of swapfile fails there is no error message.
- (Carlo Teubner)
- Solution: Add the error message.
- Files: src/memline.c
- Patch 7.3.078
- Problem: Warning for unused variable.
- Solution: Adjust #ifdefs.
- Files: src/ops.c
- Patch 7.3.079
- Problem: Duplicate lines in makefile.
- Solution: Remove the lines. (Hong Xu)
- Files: src/Make_mvc.mak
- Patch 7.3.080
- Problem: Spell doesn't work on VMS.
- Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
- Files: src/spell.c
- Patch 7.3.081
- Problem: Non-printable characters in 'statusline' cause trouble. (ZyX)
- Solution: Use transstr(). (partly by Caio Ariede)
- Files: src/screen.c
- Patch 7.3.082
- Problem: Leaking file descriptor when hostname doesn't exist.
- Solution: Remove old debugging lines.
- Files: src/netbeans.c
- Patch 7.3.083
- Problem: When a read() or write() is interrupted by a signal it fails.
- Solution: Add read_eintr() and write_eintr().
- Files: src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c,
- src/os_unix.c, src/undo.c, src/vim.h
- Patch 7.3.084
- Problem: When splitting the window, the new one scrolls with the cursor at
- the top.
- Solution: Compute w_fraction before setting the new height.
- Files: src/window.c
- Patch 7.3.085 (after 7.3.083)
- Problem: Inconsistency with preproc symbols. void * computation.
- Solution: Include vimio.h from vim.h. Add type cast.
- Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/fileio.c,
- src/if_cscope.c, src/if_sniff.c, src/main.c, src/memfile.c,
- src/memline.c, src/netbeans.c, src/os_msdos.c, src/os_mswin.c,
- src/os_win16.c, src/os_win32.c, src/spell.c, src/tag.c,
- src/undo.c, src/vim.h
- Patch 7.3.086
- Problem: When using a mapping with an expression and there was no count,
- v:count has the value of the previous command. (ZyX)
- Solution: Also set v:count and v:count1 before getting the character that
- could be a command or a count.
- Files: src/normal.c
- Patch 7.3.087
- Problem: EINTR is not always defined.
- Solution: Include errno.h in vim.h.
- Files: src/if_cscope.c, src/if_tcl.c, src/integration.c, src/memline.c,
- src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h,
- src/workshop.c
- Patch 7.3.088
- Problem: Ruby can't load Gems sometimes, may cause a crash.
- Solution: Undefine off_t. Use ruby_process_options(). (Yasuhiro Matsumoto)
- Files: src/if_ruby.c
- Patch 7.3.089
- Problem: Compiler warning on 64 bit MS-Windows.
- Solution: Add type cast. (Mike Williams)
- Files: src/netbeans.c
- Patch 7.3.090
- Problem: Wrong help text for Cscope.
- Solution: Adjust the help text for "t". (Dominique Pelle)
- Files: src/if_cscope.c
- Patch 7.3.091
- Problem: "vim -w foo" writes special key codes for removed escape
- sequences. (Josh Triplett)
- Solution: Don't write K_IGNORE codes.
- Files: src/getchar.c, src/misc1.c, src/term.c, src/vim.h
- Patch 7.3.092
- Problem: Resizing the window when exiting.
- Solution: Don't resize when exiting.
- Files: src/term.c
- Patch 7.3.093
- Problem: New DLL dependencies in MingW with gcc 4.5.0.
- Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
- Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak
- Patch 7.3.094
- Problem: Using abs() requires type cast to int.
- Solution: Use labs() so that the value remains long. (Hong Xu)
- Files: src/screen.c
- Patch 7.3.095
- Problem: Win32: In Chinese tear-off menu doesn't work. (Weasley)
- Solution: Use menu_name_equal(). (Alex Jakushev)
- Files: src/menu.c
- Patch 7.3.096
- Problem: "gvim -nb" is not interruptible. Leaking file descriptor on
- netbeans connection error.
- Solution: Check for CTRL-C typed. Free file descriptor. (Xavier de Gaye)
- Files: src/netbeans.c
- Patch 7.3.097
- Problem: Using ":call" inside "if 0" does not see that a function returns a
- Dict and gives error for "." as string concatenation.
- Solution: Use eval0() to skip over the expression. (Yasuhiro Matsumoto)
- Files: src/eval.c
- Patch 7.3.098
- Problem: Function that ignores error still causes called_emsg to be set.
- E.g. when expand() fails the status line is disabled.
- Solution: Move check for emsg_not_now() up. (James Vega)
- Files: src/message.c
- Patch 7.3.099
- Problem: Crash when splitting a window with zero height. (Yukihiro
- Nakadaira)
- Solution: Don't set the fraction in a window with zero height.
- Files: src/window.c
- Patch 7.3.100
- Problem: When using :normal v:count isn't set.
- Solution: Call normal_cmd() with toplevel set to TRUE.
- Files: src/ex_docmd.c
- Patch 7.3.101
- Problem: ino_t defined with wrong size.
- Solution: Move including auto/config.h before other includes. (Marius
- Geminas)
- Files: src/if_ruby.c, src/if_lua.c
- Patch 7.3.102
- Problem: When using ":make", typing the next command and then getting the
- "reload" prompt the next command is (partly) eaten by the reload
- prompt.
- Solution: Accept ':' as a special character at the reload prompt to accept
- the default choice and execute the command.
- Files: src/eval.c, src/fileio.c, src/gui.c, src/gui_xmdlg.c,
- src/memline.c, src/message.c, src/proto/message.pro,
- src/gui_athena.c, src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c,
- src/gui_photon.c, src/gui_w16.c, src/gui_w32.c, src/os_mswin.c
- src/proto/gui_athena.pro, src/proto/gui_gtk.pro,
- src/proto/gui_mac.pro, src/proto/gui_motif.pro,
- src/proto/gui_photon.pro, src/proto/gui_w16.pro,
- src/proto/gui_w32.pro
- Patch 7.3.103
- Problem: Changing 'fileformat' and then using ":w" in an empty file sets
- the 'modified' option.
- Solution: In unchanged() don't ignore 'ff' for an empty file.
- Files: src/misc1.c, src/option.c, src/proto/option.pro, src/undo.c
- Patch 7.3.104
- Problem: Conceal: using Tab for cchar causes problems. (ZyX)
- Solution: Do not accept a control character for cchar.
- Files: src/syntax.c
- Patch 7.3.105
- Problem: Can't get the value of "b:changedtick" with getbufvar().
- Solution: Make it work. (Christian Brabandt)
- Files: src/eval.c
- Patch 7.3.106
- Problem: When 'cursorbind' is set another window may scroll unexpectedly
- when 'scrollbind' is also set. (Xavier Wang)
- Solution: Don't call update_topline() if 'scrollbind' is set.
- Files: src/move.c
- Patch 7.3.107
- Problem: Year number for :undolist can be confused with month or day.
- Solution: Change "%y" to "%Y".
- Files: src/undo.c
- Patch 7.3.108
- Problem: Useless check for NULL when calling vim_free().
- Solution: Remove the check. (Dominique Pelle)
- Files: src/eval.c, src/ex_cmds.c, src/os_win32.c
- Patch 7.3.109
- Problem: Processing new Esperanto spell file fails and crashes Vim.
- (Dominique Pelle)
- Solution: When running out of memory give an error. Handle '?' in
- COMPOUNDRULE properly.
- Files: src/spell.c
- Patch 7.3.110
- Problem: The "nbsp" item in 'listchars' isn't used for ":list".
- Solution: Make it work. (Christian Brabandt)
- Files: src/message.c
- Patch 7.3.111 (after 7.3.100)
- Problem: Executing a :normal command in 'statusline' evaluation causes the
- cursor to move. (Dominique Pelle)
- Solution: When updating the cursor for 'cursorbind' allow the cursor beyond
- the end of the line. When evaluating 'statusline' temporarily
- reset 'cursorbind'.
- Files: src/move.c, src/screen.c
- Patch 7.3.112
- Problem: Setting 'statusline' to "%!'asdf%' reads uninitialized memory.
- Solution: Check for NUL after %.
- Files: src/buffer.c
- Patch 7.3.113
- Problem: Windows: Fall back directory for creating temp file is wrong.
- Solution: Use "." instead of empty string. (Hong Xu)
- Files: src/fileio.c
- Patch 7.3.114
- Problem: Potential problem in initialization when giving an error message
- early.
- Solution: Initialize 'verbosefile' empty. (Ben Schmidt)
- Files: src/option.h
- Patch 7.3.115
- Problem: Vim can crash when tmpnam() returns NULL.
- Solution: Check for NULL. (Hong Xu)
- Files: src/fileio.c
- Patch 7.3.116
- Problem: 'cursorline' is displayed too short when there are concealed
- characters and 'list' is set. (Dennis Preiser)
- Solution: Check for 'cursorline' when 'list' is set. (Christian Brabandt)
- Files: src/screen.c
- Patch 7.3.117
- Problem: On some systems --as-needed does not work, because the "tinfo"
- library is included indirectly from "ncurses". (Charles Campbell)
- Solution: In configure prefer using "tinfo" instead of "ncurses".
- Files: src/configure.in, src/auto/configure
- Patch 7.3.118
- Problem: Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica)
- Solution: Ignore SIGVTALARM. (Dominique Pelle)
- Files: src/os_unix.c
- Patch 7.3.119
- Problem: Build problem on Mac. (Nicholas Stallard)
- Solution: Use "extern" instead of "EXTERN" for p_vfile.
- Files: src/option.h
- Patch 7.3.120
- Problem: The message for an existing swap file is too long to fit in a 25
- line terminal.
- Solution: Make the message shorter. (Chad Miller)
- Files: src/memline.c
- Patch 7.3.121
- Problem: Complicated 'statusline' causes a crash. (Christian Brabandt)
- Solution: Check that the number of items is not too big.
- Files: src/buffer.c
- Patch 7.3.122
- Problem: Having auto/config.mk in the repository causes problems.
- Solution: Remove auto/config.mk from the distribution. In the toplevel
- Makefile copy it from the "dist" file.
- Files: Makefile, src/Makefile, src/auto/config.mk
- Patch 7.3.123
- Problem: ml_get error when executing register being recorded into, deleting
- lines and 'conceallevel' is set. (ZyX)
- Solution: Don't redraw a line for concealing when it doesn't exist.
- Files: src/main.c
- Patch 7.3.124
- Problem: When writing a file in binary mode it may be missing the final EOL
- if a file previously read was missing the EOL. (Kevin Goodsell)
- Solution: Move the write_no_eol_lnum into the buffer struct.
- Files: src/structs.h, src/fileio.c, src/globals.h, src/os_unix.c
- Patch 7.3.125
- Problem: MSVC: Problem with quotes in link argument.
- Solution: Escape backslashes and quotes. (Weasley)
- Files: src/Make_mvc.mak
- Patch 7.3.126
- Problem: Compiler warning for signed pointer.
- Solution: Use unsigned int argument for sscanf().
- Files: src/blowfish.c
- Patch 7.3.127
- Problem: Compiler complains about comma.
- Solution: Remove comma after last enum element.
- Files: src/ex_cmds2.c
- Patch 7.3.128
- Problem: Another compiler warning for signed pointer.
- Solution: Use unsigned int argument for sscanf().
- Files: src/mark.c
- Patch 7.3.129
- Problem: Using integer like a boolean.
- Solution: Nicer check for integer being non-zero.
- Files: src/tag.c
- Patch 7.3.130
- Problem: Variable misplaced in #ifdef.
- Solution: Move clipboard_event_time outside of #ifdef.
- Files: src/gui_gtk_x11.c
- Patch 7.3.131
- Problem: Including errno.h too often.
- Solution: Don't include errno.h in Unix header file.
- Files: src/os_unix.h
- Patch 7.3.132
- Problem: C++ style comments.
- Solution: Change to C comments.
- Files: src/if_python3.c
- Patch 7.3.133
- Problem: When using encryption it's not clear what method was used.
- Solution: In the file message show "blowfish" when using blowfish.
- Files: src/fileio.c
- Patch 7.3.134
- Problem: Drag-n-drop doesn't work in KDE Dolphin.
- Solution: Add GDK_ACTION_MOVE flag. (Florian Degner)
- Files: src/gui_gtk_x11.c
- Patch 7.3.135
- Problem: When there is no previous substitute pattern, the previous search
- pattern is used. The other way around doesn't work.
- Solution: When there is no previous search pattern, use the previous
- substitute pattern if possible. (Christian Brabandt)
- Files: src/search.c
- Patch 7.3.136
- Problem: Duplicate include of assert.h.
- Solution: Remove it.
- Files: src/if_cscope.c
- Patch 7.3.137 (after 7.3.091)
- Problem: When 'lazyredraw' is set the screen may not be updated. (Ivan
- Krasilnikov)
- Solution: Call update_screen() before waiting for input.
- Files: src/misc1.c, src/getchar.c
- Patch 7.3.138
- Problem: ":com" changes the multibyte text of :echo. (Dimitar Dimitrov)
- Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
- Files: src/ex_docmd.c
- Patch 7.3.139 (after 7.3.137)
- Problem: When 'lazyredraw' is set ":ver" output can't be read.
- Solution: Don't redraw the screen when at a prompt or command line.
- Files: src/getchar.c, src/message.c, src/misc1.c
- Patch 7.3.140
- Problem: Crash when drawing the "$" at end-of-line for list mode just after
- the window border and 'cursorline' is set.
- Solution: Don't check for 'cursorline'. (Quentin Carbonneaux)
- Files: src/screen.c
- Patch 7.3.141
- Problem: When a key code is not set get a confusing error message.
- Solution: Change the error message to say the key code is not set.
- Files: src/option.c, runtime/doc/options.txt
- Patch 7.3.142
- Problem: Python stdout doesn't have a flush() method, causing an import to
- fail.
- Solution: Add a dummy flush() method. (Tobias Columbus)
- Files: src/if_py_both.h
- Patch 7.3.143
- Problem: Memfile is not tested sufficiently. Looking up blocks in a
- memfile is slow when there are many blocks.
- Solution: Add high level test and unittest. Adjust the number of hash
- buckets to the number of blocks. (Ivan Krasilnikov)
- Files: Filelist, src/Makefile, src/main.c, src/memfile.c,
- src/memfile_test.c src/structs.h src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mak,
- src/testdir/Makefile, src/testdir/test77.in, src/testdir/test77.ok
- Patch 7.3.144
- Problem: Crash with ":python help(dir)". (Kearn Holliday)
- Solution: Fix the way the type is set on objects. (Tobias Columbus)
- Files: src/if_python.c
- Patch 7.3.145 (after 7.3.144)
- Problem: Can't build with Python dynamically loading.
- Solution: Add dll_PyType_Ready.
- Files: src/if_python.c
- Patch 7.3.146
- Problem: It's possible to assign to a read-only member of a dict.
- It's possible to create a global variable "0". (ZyX)
- It's possible to add a v: variable with ":let v:.name = 1".
- Solution: Add check for dict item being read-only.
- Check the name of g: variables.
- Disallow adding v: variables.
- Files: src/eval.c
- Patch 7.3.147 (after 7.3.143)
- Problem: Can't build on HP-UX.
- Solution: Remove an unnecessary backslash. (John Marriott)
- Files: src/Makefile
- Patch 7.3.148
- Problem: A syntax file with a huge number of items or clusters causes weird
- behavior, a hang or a crash. (Yukihiro Nakadaira)
- Solution: Check running out of IDs. (partly by Ben Schmidt)
- Files: src/syntax.c
- Patch 7.3.149
- Problem: The cursor disappears after the processing of the 'setDot'
- netbeans command when vim runs in a terminal.
- Solution: Show the cursor after a screen update. (Xavier de Gaye)
- Files: src/netbeans.c
- Patch 7.3.150
- Problem: readline() does not return the last line when the NL is missing.
- (Hong Xu)
- Solution: When at the end of the file Also check for a previous line.
- Files: src/eval.c
- Patch 7.3.151 (after 7.3.074)
- Problem: When "unnamedplus" is in 'clipboard' the selection is sometimes
- also copied to the star register.
- Solution: Avoid copy to the star register when undesired. (James Vega)
- Files: src/ops.c
- Patch 7.3.152
- Problem: Xxd does not check for errors from library functions.
- Solution: Add error checks. (Florian Zumbiehl)
- Files: src/xxd/xxd.c
- Patch 7.3.153 (after 7.3.152)
- Problem: Compiler warning for ambiguous else, missing prototype.
- Solution: Add braces. (Dominique Pelle) Add prototype for die().
- Files: src/xxd/xxd.c
- Patch 7.3.154 (after 7.3.148)
- Problem: Can't compile with tiny features. (Tony Mechelynck)
- Solution: Move #define outside of #ifdef.
- Files: src/syntax.c
- Patch 7.3.155
- Problem: Crash when using map(), filter() and remove() on v:. (ZyX)
- Also for extend(). (Yukihiro Nakadaira)
- Solution: Mark v: as locked. Also correct locking error messages.
- Files: src/eval.c
- Patch 7.3.156
- Problem: Tty names possibly left unterminated.
- Solution: Use vim_strncpy() instead of strncpy().
- Files: src/pty.c
- Patch 7.3.157
- Problem: Superfluous assignment.
- Solution: Remove assignment.
- Files: src/misc1.c
- Patch 7.3.158
- Problem: Might use uninitialized memory in C indenting.
- Solution: Init arrays to empty.
- Files: src/misc1.c
- Patch 7.3.159
- Problem: Using uninitialized pointer when out of memory.
- Solution: Check for NULL return value.
- Files: src/mbyte.c
- Patch 7.3.160
- Problem: Unsafe string copying.
- Solution: Use vim_strncpy() instead of strcpy(). Use vim_strcat() instead
- of strcat().
- Files: src/buffer.c, src/ex_docmd.c, src/hardcopy.c, src/menu.c,
- src/misc1.c, src/misc2.c, src/proto/misc2.pro, src/netbeans.c,
- src/os_unix.c, src/spell.c, src/syntax.c, src/tag.c
- Patch 7.3.161
- Problem: Items on the stack may be too big.
- Solution: Make items static or allocate them.
- Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
- src/fileio.c, src/hardcopy.c, src/quickfix.c, src/main.c,
- src/netbeans.c, src/spell.c, src/tag.c, src/vim.h, src/xxd/xxd.c
- Patch 7.3.162
- Problem: No error message when assigning to a list with an index out of
- range. (Yukihiro Nakadaira)
- Solution: Add the error message.
- Files: src/eval.c
- Patch 7.3.163
- Problem: For the default of 'shellpipe' "mksh" and "pdksh" are not
- recognized.
- Solution: Recognize these shell names.
- Files: src/option.c
- Patch 7.3.164
- Problem: C-indenting: a preprocessor statement confuses detection of a
- function declaration.
- Solution: Ignore preprocessor lines. (Lech Lorens) Also recognize the style
- to put a comma before the argument name.
- Files: src/misc1.c, testdir/test3.in, testdir/test3.ok
- Patch 7.3.165
- Problem: ":find" completion does not escape spaces in a directory name.
- (Isz)
- Solution: Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner)
- Files: src/ex_getln.c
- Patch 7.3.166
- Problem: Buffer on the stack may be too big
- Solution: Allocate the space.
- Files: src/option.c
- Patch 7.3.167
- Problem: When using the internal grep QuickFixCmdPost is not triggered.
- (Yukihiro Nakadaira)
- Solution: Change the place where autocommands are triggered.
- Files: src/quickfix.c
- Patch 7.3.168
- Problem: When the second argument of input() contains a CR the text up to
- that is used without asking the user. (Yasuhiro Matsumoto)
- Solution: Change CR, NL and ESC in the text to a space.
- Files: src/getchar.c
- Patch 7.3.169
- Problem: Freeing memory already freed, warning from static code analyzer.
- Solution: Initialize pointers to NULL, correct use of "mustfree". (partly by
- Dominique Pelle)
- Files: src/mis1.c
- Patch 7.3.170
- Problem: VMS Makefile for testing was not updated for test77.
- Solution: Add test77 to the Makefile.
- Files: src/testdir/Make_vms.mms
- Patch 7.3.171
- Problem: When the clipboard isn't supported: ":yank*" gives a confusing
- error message.
- Solution: Specifically mention that the register name is invalid.
- (Jean-Rene David)
- Files: runtime/doc/change.txt, src/ex_docmd.c, src/globals.h
- Patch 7.3.172
- Problem: MS-Windows: rename() might delete the file if the name differs but
- it's actually the same file.
- Solution: Use the file handle to check if it's the same file. (Yukihiro
- Nakadaira)
- Files: src/if_cscope.c, src/fileio.c, src/os_win32.c,
- src/proto/os_win32.pro, src/vim.h
- Patch 7.3.173
- Problem: After using setqflist() to make the quickfix list empty ":cwindow"
- may open the window anyway. Also after ":vimgrep".
- Solution: Correctly check whether the list is empty. (Ingo Karkat)
- Files: src/quickfix.c
- Patch 7.3.174
- Problem: When Exuberant ctags binary is exctags it's not found.
- Solution: Add configure check for exctags. (Hong Xu)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.175
- Problem: When 'colorcolumn' is set locally to a window, ":new" opens a
- window with the same highlighting but 'colorcolumn' is empty.
- (Tyru)
- Solution: Call check_colorcolumn() after clearing and copying options.
- (Christian Brabandt)
- Files: src/buffer.c
- Patch 7.3.176
- Problem: Ruby linking doesn't work properly on Mac OS X.
- Solution: Fix the configure check for Ruby. (Bjorn Winckler)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.177
- Problem: MS-Windows: mkdir() doesn't work properly when 'encoding' is
- "utf-8".
- Solution: Convert to utf-16. (Yukihiro Nakadaira)
- Files: src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro
- Patch 7.3.178
- Problem: C-indent doesn't handle code right after { correctly.
- Solution: Fix detecting unterminated line. (Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.179
- Problem: C-indent doesn't handle colon in string correctly.
- Solution: Skip the string. (Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.180
- Problem: When both a middle part of 'comments' matches and an end part, the
- middle part was used erroneously.
- Solution: After finding the middle part match continue looking for a better
- end part match. (partly by Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.181
- Problem: When repeating the insert of CTRL-V or a digraph the display may
- not be updated correctly.
- Solution: Only call edit_unputchar() after edit_putchar(). (Lech Lorens)
- Files: src/edit.c
- Patch 7.3.182 (after 7.3.180)
- Problem: Compiler warning for uninitialized variable.
- Solution: Add dummy initializer.
- Files: src/misc1.c
- Patch 7.3.183 (after 7.3.174)
- Problem: When Exuberant ctags binary is exuberant-ctags it's not found.
- Solution: Add configure check for exuberant-ctags.
- Files: src/configure.in, src/auto/configure
- Patch 7.3.184
- Problem: Static code analysis errors in riscOS.
- Solution: Make buffer size bigger. (Dominique Pelle)
- Files: src/gui_riscos.c
- Patch 7.3.185
- Problem: ":windo g/pattern/q" closes windows and reports "N more lines".
- (Tim Chase)
- Solution: Remember what buffer ":global" started in. (Jean-Rene David)
- Files: src/ex_cmds.c
- Patch 7.3.186
- Problem: When 'clipboard' contains "unnamed" or "unnamedplus" the value of
- v:register is wrong for operators without a specific register.
- Solution: Adjust the register according to 'clipboard'. (Ingo Karkat)
- Files: src/normal.c
- Patch 7.3.187
- Problem: The RISC OS port has obvious errors and is not being maintained.
- Solution: Remove the RISC OS files and code.
- Files: src/ascii.h, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/fileio.c, src/globals.h, src/gui.c, src/gui.h,
- src/main.c, src/memfile.c, src/memline.c, src/misc1.c,
- src/proto.h, src/quickfix.c, src/search.c, src/structs.h,
- src/term.c, src/termlib.c, src/version.c, src/vim.h,
- src/gui_riscos.h, src/os_riscos.h, src/gui_riscos.c,
- src/os_riscos.c, runtime/doc/os_risc.txt
- Patch 7.3.188
- Problem: More RISC OS files to remove.
- Solution: Remove them. Update the file list.
- Files: src/proto/gui_riscos.pro, src/proto/os_riscos.pro, Filelist
- Patch 7.3.189 (after 7.3.186)
- Problem: Can't build without +clipboard feature. (Christian Ebert)
- Solution: Add the missing #ifdef.
- Files: src/normal.c
- Patch 7.3.190
- Problem: When there is a "containedin" syntax argument highlighting may be
- wrong. (Radek)
- Solution: Reset current_next_list. (Ben Schmidt)
- Files: src/syntax.c
- Patch 7.3.191
- Problem: Still some RISC OS stuff to remove.
- Solution: Remove files and lines. (Hong Xu)
- Remove the 'osfiletype' option code.
- Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile,
- src/buffer.c, src/eval.c, src/feature.h, src/option.c,
- src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist
- Patch 7.3.192
- Problem: Ex command ":s/ \?/ /g" splits multibyte characters into bytes.
- (Dominique Pelle)
- Solution: Advance over whole character instead of one byte.
- Files: src/ex_cmds.c
- Patch 7.3.193
- Problem: In the command line window ":close" doesn't work properly. (Tony
- Mechelynck)
- Solution: Use Ctrl_C instead of K_IGNORE for cmdwin_result. (Jean-Rene
- David)
- Files: src/ex_docmd.c, src/ex_getln.c
- Patch 7.3.194
- Problem: When "b" is a symlink to directory "a", resolve("b/") doesn't
- result in "a/". (ZyX)
- Solution: Remove the trailing slash. (Jean-Rene David)
- Files: src/eval.c
- Patch 7.3.195
- Problem: "} else" causes following lines to be indented too much. (Rouben
- Rostamian)
- Solution: Better detection for the "else". (Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.196
- Problem: Can't intercept a character that is going to be inserted.
- Solution: Add the InsertCharPre autocommand event. (Jakson A. Aquino)
- Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt,
- runtime/doc/map.txt, src/edit.c, src/eval.c, src/fileio.c,
- src/vim.h
- Patch 7.3.197
- Problem: When a QuickfixCmdPost event removes all errors, Vim still tries
- to jump to the first error, resulting in E42.
- Solution: Get the number of error after the autocmd event. (Mike Lundy)
- Files: src/quickfix.c
- Patch 7.3.198
- Problem: No completion for ":lang".
- Solution: Get locales to complete from. (Dominique Pelle)
- Files: src/eval.c, src/ex_cmds2.c, src/ex_getln.c,
- src/proto/ex_cmds2.pro, src/proto/ex_getln.pro, src/vim.h
- Patch 7.3.199
- Problem: MS-Windows: Compilation problem of OLE with MingW compiler.
- Solution: Put #ifdef around declarations. (Guopeng Wen)
- Files: src/if_ole.h
- Patch 7.3.200 (after 7.3.198)
- Problem: CTRL-D doesn't complete :lang.
- Solution: Add the missing part of the change. (Dominique Pelle)
- Files: src/ex_docmd.c
- Patch 7.3.201 (after 7.3.195)
- Problem: "} else" still causes following lines to be indented too much.
- Solution: Better detection for the "else" block. (Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.202
- Problem: Cannot influence the indent inside a namespace.
- Solution: Add the "N" 'cino' parameter. (Konstantin Lepa)
- Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
- src/testdir/test3.ok
- Patch 7.3.203
- Problem: MS-Windows: Can't run an external command without a console window.
- Solution: Support ":!start /b cmd". (Xaizek)
- Files: runtime/doc/os_win32.txt, src/os_win32.c
- Patch 7.3.204 (after 7.3.201)
- Problem: Compiler warning.
- Solution: Add type cast. (Mike Williams)
- Files: src/misc1.c
- Patch 7.3.205
- Problem: Syntax "extend" doesn't work correctly.
- Solution: Avoid calling check_state_ends() recursively (Ben Schmidt)
- Files: src/syntax.c
- Patch 7.3.206
- Problem: 64bit MS-Windows compiler warning.
- Solution: Use HandleToLong() instead of type cast. (Mike Williams)
- Files: src/gui_w32.c
- Patch 7.3.207
- Problem: Can't compile with MSVC with pentium4 and 64 bit.
- Solution: Only use SSE2 for 32 bit. (Mike Williams)
- Files: src/Make_mvc.mak
- Patch 7.3.208
- Problem: Early terminated if statement.
- Solution: Remove the semicolon. (Lech Lorens)
- Files: src/gui_mac.c
- Patch 7.3.209
- Problem: MSVC Install instructions point to wrong batch file.
- Solution: Add a batch file for use with MSVC 10.
- Files: src/msvc2010.bat, src/INSTALLpc.txt, Filelist
- Patch 7.3.210
- Problem: Can't always find the file when using cscope.
- Solution: Add the 'cscoperelative' option. (Raghavendra D Prabhu)
- Files: runtime/doc/if_cscop.txt, runtime/doc/options.txt,
- src/if_cscope.c
- Patch 7.3.211 (after 7.3.210)
- Problem: Compiler warning.
- Solution: Add type cast.
- Files: src/if_cscope.c
- Patch 7.3.212
- Problem: With Python 3.2 ":py3" fails.
- Solution: Move PyEval_InitThreads() to after Py_Initialize(). (Roland
- Puntaier) Check abiflags in configure. (Andreas Behr)
- Files: src/if_python3.c, src/auto/configure, src/configure.in
- Patch 7.3.213
- Problem: Javascript object literal is not indented correctly.
- Solution: Make a special case for when "J1" is in 'cino'. (Luc Deschenaux)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.214
- Problem: The text displayed by ":z-" isn't exactly like old Vi.
- Solution: Add one to the start line number. (ChangZhuo Chen)
- Files: src/ex_cmds.c
- Patch 7.3.215 (after 7.3.210)
- Problem: Wrong file names in previous patch. (Toothpik)
- Solution: Include the option changes.
- Files: src/option.c, src/option.h
- Patch 7.3.216
- Problem: When recovering a file a range of lines is missing. (Charles Jie)
- Solution: Reset the index when advancing to the next pointer block. Add a
- test to verify recovery works.
- Files: src/memline.c, src/testdir/test78.in, src/testdir/test78.ok,
- src/testdir/Makefile, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- Patch 7.3.217
- Problem: Inside an "if" a ":wincmd" causes problems.
- Solution: When skipping commands let ":wincmd" skip over its argument.
- Files: src/ex_docmd.c
- Patch 7.3.218 (after 7.3.212)
- Problem: Tiny configuration problem with Python 3.
- Solution: Add abiflags in one more place. (Andreas Behr)
- Files: src/auto/configure, src/configure.in
- Patch 7.3.219
- Problem: Can't compile with GTK on Mac.
- Solution: Add some #ifdef trickery. (Ben Schmidt)
- Files: src/os_mac_conv.c, src/os_macosx.m, src/vim.h
- Patch 7.3.220
- Problem: Python 3: vim.error is a 'str' instead of an 'Exception' object,
- so 'except' or 'raise' it causes a 'SystemError' exception.
- Buffer objects do not support slice assignment.
- When exchanging text between Vim and Python, multibyte texts become
- garbage or cause Unicode Exceptions, etc.
- 'py3file' tries to read in the file as Unicode, sometimes causes
- UnicodeDecodeException
- Solution: Fix the problems. (lilydjwg)
- Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
- Patch 7.3.221
- Problem: Text from the clipboard is sometimes handled as linewise, but not
- consistently.
- Solution: Assume the text is linewise when it ends in a CR or NL.
- Files: src/gui_gtk_x11.c, src/gui_mac.c, src/ops.c, src/os_msdos.c,
- src/os_mswin.c, src/os_qnx.c, src/ui.c
- Patch 7.3.222
- Problem: Warning for building GvimExt.
- Solution: Comment-out the DESCRIPTION line. (Mike Williams)
- Files: src/GvimExt/gvimext.def, src/GvimExt/gvimext_ming.def
- Patch 7.3.223
- Problem: MingW cross compilation doesn't work with tiny features.
- Solution: Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of
- "#ifdef CLIPBOARD". Fix typo in makefile.
- Files: src/Make_ming.mak, src/os_mswin.c
- Patch 7.3.224
- Problem: Can't pass dict to sort function.
- Solution: Add the optional {dict} argument to sort(). (ZyX)
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.3.225
- Problem: Using "\n" in a substitute inside ":s" does not result in a line
- break.
- Solution: Change behavior inside vim_regexec_nl(). Add tests. (Motoya
- Kurotsu)
- Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
- src/testdir/test80.in, src/testdir/test80.ok,
- src/testdir/Makefile, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- Patch 7.3.226
- Problem: On a 64 bit system "syn sync fromstart" is very slow. (Bjorn
- Steinbrink)
- Solution: Store the state when starting to parse from the first line.
- Files: src/syntax.c
- Patch 7.3.227 (after 7.3.221)
- Problem: Mac OS doesn't have the linewise clipboard fix.
- Solution: Also change the Mac OS file. (Bjorn Winckler)
- Files: src/os_macosx.m
- Patch 7.3.228
- Problem: "2gj" does not always move to the correct position.
- Solution: Get length of line after moving to a next line. (James Vega)
- Files: src/normal.c
- Patch 7.3.229
- Problem: Using fork() makes gvim crash on Mac when build with
- CoreFoundation.
- Solution: Disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka)
- Files: src/gui.c
- Patch 7.3.230
- Problem: ":wundo" and ":rundo" don't unescape their argument. (Aaron
- Thoma)
- Solution: Use FILE1 instead of XFILE.
- Files: src/ex_cmds.h
- Patch 7.3.231
- Problem: Runtime file patches failed.
- Solution: Redo the patches made against the patched files instead of the
- files in the mercurial repository.
- Files: runtime/doc/indent.txt, runtime/doc/os_win32.txt
- Patch 7.3.232
- Problem: Python doesn't compile without +multi_byte
- Solution: Use "latin1" when MULTI_BYTE is not defined.
- Files: src/if_py_both.h
- Patch 7.3.233
- Problem: ":scriptnames" and ":breaklist" show long file names.
- Solution: Shorten to use "~/" when possible. (Jean-Rene David)
- Files: src/ex_cmds2.c
- Patch 7.3.234
- Problem: With GTK menu may be popping down.
- Solution: Use event time instead of GDK_CURRENT_TIME. (Hong Xu)
- Files: src/gui.c, src/gui.h, src/gui_gtk.c, src/gui_gtk_x11.c
- Patch 7.3.235
- Problem: ";" gets stuck on a "t" command, it's not useful.
- Solution: Add the ';' flag in 'cpo'. (Christian Brabandt)
- Files: runtime/doc/motion.txt, runtime/doc/options.txt, src/option.h,
- src/search.c src/testdir/test81.in, src/testdir/test81.ok,
- src/testdir/Makefile, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- Patch 7.3.236 (after 7.3.232)
- Problem: Python 3 doesn't compile without +multi_byte
- Solution: Use "latin1" when MULTI_BYTE is not defined. (lilydjwg)
- Files: src/if_python3.c
- Patch 7.3.237
- Problem: "filetype" completion doesn't work on Windows. (Yue Wu)
- Solution: Don't use a glob pattern for the directories, use a list of
- directories. (Dominique Pelle)
- Files: src/ex_getln.c
- Patch 7.3.238
- Problem: Compiler warning for conversion.
- Solution: Add type cast. (Mike Williams)
- Files: src/ex_getln.c
- Patch 7.3.239
- Problem: Python corrects the cursor column without taking 'virtualedit'
- into account. (lilydjwg)
- Solution: Call check_cursor_col_win().
- Files: src/if_py_both.h, src/mbyte.c, src/misc2.c, src/normal.c,
- src/proto/mbyte.pro, src/proto/misc2.pro
- Patch 7.3.240
- Problem: External commands can't use pipes on MS-Windows.
- Solution: Implement pipes and use them when 'shelltemp' isn't set. (Vincent
- Berthoux)
- Files: src/eval.c, src/ex_cmds.c, src/misc2.c, src/os_unix.c,
- src/os_win32.c, src/proto/misc2.pro, src/ui.c
- Patch 7.3.241
- Problem: Using CTRL-R CTRL-W on the command line may insert only part of
- the word.
- Solution: Use the cursor position instead of assuming it is at the end of
- the command. (Tyru)
- Files: src/ex_getln.c
- Patch 7.3.242
- Problem: Illegal memory access in after_pathsep().
- Solution: Check that the pointer is not at the start of the file name.
- (Dominique Pelle)
- Files: src/misc2.c
- Patch 7.3.243
- Problem: Illegal memory access in readline().
- Solution: Swap the conditions. (Dominique Pelle)
- Files: src/eval.c
- Patch 7.3.244
- Problem: MS-Windows: Build problem with old compiler. (John Beckett)
- Solution: Only use HandleToLong() when available. (Mike Williams)
- Files: src/gui_w32.c
- Patch 7.3.245
- Problem: Python 3.2 libraries not correctly detected.
- Solution: Add the suffix to the library name. (Niclas Zeising)
- Files: src/auto/configure, src/configure.in
- Patch 7.3.246 (after 7.3.235)
- Problem: Repeating "f4" in "4444" skips one 4.
- Solution: Check the t_cmd flag. (Christian Brabandt)
- Files: src/search.c
- Patch 7.3.247
- Problem: Running tests changes the users viminfo file. Test for patch
- 7.3.246 missing.
- Solution: Add "nviminfo" to the 'viminfo' option. Include the test.
- Files: src/testdir/test78.in, src/testdir/test81.in
- Patch 7.3.248
- Problem: PC Install instructions missing install instructions.
- Solution: Step-by-step explanation. (Michael Soyka)
- Files: src/INSTALLpc.txt
- Patch 7.3.249
- Problem: Wrong indenting for array initializer.
- Solution: Detect '}' in a better way. (Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.250
- Problem: Python: Errors in Unicode characters not handled nicely.
- Solution: Add the surrogateescape error handler. (lilydjwg)
- Files: src/if_python3.c
- Patch 7.3.251
- Problem: "gH<Del>" deletes the current line, except when it's the last
- line.
- Solution: Set the "include" flag to indicate the last line is to be deleted.
- Files: src/normal.c, src/ops.c
- Patch 7.3.252 (after 7.3.247)
- Problem: Tests fail. (David Northfield)
- Solution: Add missing update for .ok file.
- Files: src/testdir/test81.ok
- Patch 7.3.253
- Problem: "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'.
- Checks in mb_strnicmp() for illegal and truncated bytes are
- wrong. Should not assume that byte length is equal before case
- folding.
- Solution: Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for
- this. (Ivan Krasilnikov)
- Files: src/mbyte.c src/testdir/test82.in, src/testdir/test82.ok,
- src/testdir/Makefile, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- Patch 7.3.254
- Problem: The coladd field is not reset when setting the line number for a
- ":call" command.
- Solution: Reset it.
- Files: src/eval.c
- Patch 7.3.255
- Problem: When editing a file such as "File[2010-08-15].vim" an E16 error is
- given. (Manuel Stol)
- Solution: Don't give an error for failing to compile the regexp.
- Files: src/ex_docmd.c, src/misc1.c, src/vim.h
- Patch 7.3.256
- Problem: Javascript indenting not sufficiently tested.
- Solution: Add more tests. (Luc Deschenaux) Mark the lines that are indented
- wrong.
- Files: src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.257
- Problem: Not all completions are available to user commands.
- Solution: Add "color", "compiler", "file_in_path" and "locale". (Dominique
- Pelle)
- Files: src/ex_docmd.c, runtime/doc/map.txt
- Patch 7.3.258
- Problem: MS-Windows: The edit with existing vim context menu entries can be
- unwanted.
- Solution: Let a registry entry disable them. (Jerome Vuarand)
- Files: src/GvimExt/gvimext.cpp
- Patch 7.3.259
- Problem: Equivalence classes only work for latin characters.
- Solution: Add the Unicode equivalence characters. (Dominique Pelle)
- Files: runtime/doc/pattern.txt, src/regexp.c, src/testdir/test44.in,
- src/testdir/test44.ok
- Patch 7.3.260
- Problem: CursorHold triggers on an incomplete mapping. (Will Gray)
- Solution: Don't trigger CursorHold when there is typeahead.
- Files: src/fileio.c
- Patch 7.3.261
- Problem: G++ error message erroneously recognized as error.
- Solution: Ignore "In file included from" line also when it ends in a colon.
- (Fernando Castillo)
- Files: src/option.h
- Patch 7.3.262
- Problem: Photon code style doesn't match Vim style.
- Solution: Clean up some of it. (Elias Diem)
- Files: src/gui_photon.c
- Patch 7.3.263
- Problem: Perl and Tcl have a few code style problems.
- Solution: Clean it up. (Elias Diem)
- Files: src/if_perl.xs, src/if_tcl.c
- Patch 7.3.264
- Problem: When the current directory name contains wildcard characters, such
- as "foo[with]bar", the tags file can't be found. (Jeremy
- Erickson)
- Solution: When searching for matching files also match without expanding
- wildcards. This is a bit of a hack.
- Files: src/vim.h, src/misc1.c, src/misc2.c
- Patch 7.3.265
- Problem: When storing a pattern in search history there is no proper check
- for the separator character.
- Solution: Pass the separator character to in_history(). (Taro Muraoka)
- Files: src/ex_getln.c
- Patch 7.3.266
- Problem: In gvim with iBus typing space in Insert mode doesn't work.
- Solution: Clear xim_expected_char after checking it.
- Files: src/mbyte.c
- Patch 7.3.267
- Problem: Ruby on Mac OS X 10.7 may crash.
- Solution: Avoid alloc(0). (Bjorn Winckler)
- Files: src/if_ruby.c
- Patch 7.3.268
- Problem: Vim freezes when executing an external command with zsh.
- Solution: Use O_NOCTTY both in the master and slave. (Bjorn Winckler)
- Files: src/os_unix.c
- Patch 7.3.269
- Problem: 'shellcmdflag' only works with one flag.
- Solution: Split into multiple arguments. (Gary Johnson)
- Files: src/os_unix.c
- Patch 7.3.270
- Problem: Illegal memory access.
- Solution: Swap conditions. (Dominique Pelle)
- Files: src/ops.c
- Patch 7.3.271
- Problem: Code not following Vim coding style.
- Solution: Fix the style. (Elias Diem)
- Files: src/gui_photon.c
- Patch 7.3.272
- Problem: ":put =list" does not add an empty line for a trailing empty
- item.
- Solution: Add a trailing NL when turning a list into a string.
- Files: src/eval.c
- Patch 7.3.273
- Problem: A BOM in an error file is seen as text. (Aleksey Baibarin)
- Solution: Remove the BOM from the text before evaluating. (idea by Christian
- Brabandt)
- Files: src/quickfix.c, src/mbyte.c, src/proto/mbyte.pro,
- src/testdir/test10.in
- Patch 7.3.274
- Problem: With concealed characters tabs do not have the right size.
- Solution: Use VCOL_HLC instead of vcol. (Eiichi Sato)
- Files: src/screen.c
- Patch 7.3.275
- Problem: MS-Windows: When using a black background some screen updates
- cause the window to flicker.
- Solution: Add WS_CLIPCHILDREN to CreateWindow(). (René Aguirre)
- Files: src/gui_w32.c
- Patch 7.3.276
- Problem: GvimExt sets $LANG in the wrong way.
- Solution: Save the environment and use it for gvim. (Yasuhiro Matsumoto)
- Files: src/GvimExt/gvimext.cpp
- Patch 7.3.277
- Problem: MS-Windows: some characters do not show in dialogs.
- Solution: Use the wide methods when available. (Yanwei Jia)
- Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c,
- src/os_win32.h
- Patch 7.3.278
- Problem: Passing the file name to open in VisVim doesn't work.
- Solution: Adjust the index and check for end of buffer. (Jiri Sedlak)
- Files: src/VisVim/Commands.cpp
- Patch 7.3.279
- Problem: With GTK, when gvim is full-screen and a tab is opened and using a
- specific monitor configuration the window is too big.
- Solution: Adjust the window size like on MS-Windows. (Yukihiro Nakadaira)
- Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
- Patch 7.3.280
- Problem: ":lmake" does not update the quickfix window title.
- Solution: Update the title. (Lech Lorens)
- Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
- Patch 7.3.281
- Problem: After using "expand('%:8')" the buffer name is changed.
- Solution: Make a copy of the file name before shortening it.
- Files: src/eval.c
- Patch 7.3.282
- Problem: When using input() and :echo in a loop the displayed text is
- incorrect. (Benjamin Fritz)
- Solution: Only restore the cursor position when there is a command line.
- (Ben Schmidt)
- Files: src/ex_getln.c
- Patch 7.3.283
- Problem: An expression mapping with a multibyte character containing a
- 0x80 byte gets messed up. (ZyX)
- Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
- Files: src/getchar.c
- Patch 7.3.284
- Problem: The str2special() function doesn't handle multibyte characters
- properly.
- Solution: Recognize multibyte characters. (partly by Vladimir Vichniakov)
- Files: src/getchar.c, src/message.c, src/misc2.c
- Patch 7.3.285 (after 7.3.284)
- Problem: Mapping <Char-123> no longer works.
- Solution: Properly check for "char-". Add a test for it.
- Files: src/misc2.c, src/testdir/test75.in, src/testdir/test75.ok
- Patch 7.3.286
- Problem: Crash when using "zd" on a large number of folds. (Sam King)
- Solution: Recompute pointer after reallocating array. Move fewer entries
- when making room.
- Files: src/fold.c
- Patch 7.3.287
- Problem: Can't compile with MSVC and tiny options.
- Solution: Move variables and #ifdefs. (Sergey Khorev)
- Files: src/os_win32.c
- Patch 7.3.288
- Problem: has('python') may give an error message for not being able to load
- the library after using python3.
- Solution: Only give the error when the verbose argument is true.
- Files: src/if_python.c, src/if_python3.c
- Patch 7.3.289
- Problem: Complete function isn't called when the leader changed.
- Solution: Call ins_compl_restart() when the leader changed. (Taro Muraoka)
- Files: src/edit.c
- Patch 7.3.290
- Problem: When a BufWriteCmd autocommand resets 'modified' this doesn't
- change older buffer states to be marked as 'modified' like
- ":write" does. (Yukihiro Nakadaira)
- Solution: When the BufWriteCmd resets 'modified' then adjust the undo
- information like ":write" does.
- Files: src/fileio.c
- Patch 7.3.291
- Problem: Configure doesn't work properly with Python3.
- Solution: Put -ldl before $LDFLAGS. Add PY3_NO_RTLD_GLOBAL. (Roland
- Puntaier)
- Files: src/config.h.in, src/auto/configure, src/configure.in
- Patch 7.3.292
- Problem: Crash when using fold markers and selecting a visual block that
- includes a folded line and goes to end of line. (Sam Lidder)
- Solution: Check for the column to be MAXCOL. (James Vega)
- Files: src/screen.c
- Patch 7.3.293
- Problem: MSVC compiler has a problem with non-ASCII characters.
- Solution: Avoid non-ASCII characters. (Hong Xu)
- Files: src/ascii.h, src/spell.c
- Patch 7.3.294 (after 7.3.289)
- Problem: Patch 289 causes more problems than it solves.
- Solution: Revert the patch until a better solution is found.
- Files: src/edit.c
- Patch 7.3.295
- Problem: When filtering text with an external command Vim may not read all
- the output.
- Solution: When select() is interrupted loop and try again. (James Vega)
- Files: src/os_unix.c
- Patch 7.3.296
- Problem: When writing to an external command a zombie process may be left
- behind.
- Solution: Wait on the process. (James Vega)
- Files: src/os_unix.c
- Patch 7.3.297
- Problem: Can't load Perl 5.14 dynamically.
- Solution: Add code in #ifdefs. (Charles Cooper)
- Files: if_perl.xs
- Patch 7.3.298
- Problem: Built-in colors are different from rgb.txt.
- Solution: Adjust the color values. (Benjamin Haskell)
- Files: src/gui_photon.c, src/gui_w48.c
- Patch 7.3.299
- Problem: Source code not in Vim style.
- Solution: Adjust the style. (Elias Diem)
- Files: src/gui_photon.c
- Patch 7.3.300
- Problem: Python doesn't parse multibyte argument correctly.
- Solution: Use "t" instead of "s". (lilydjwg)
- Files: src/if_py_both.h
- Patch 7.3.301
- Problem: When 'smartindent' and 'copyindent' are set a Tab is used even
- though 'expandtab' is set.
- Solution: Do not insert Tabs. Add a test. (Christian Brabandt)
- Files: src/misc1.c, src/testdir/test19.in, src/testdir/test19.ok
- Patch 7.3.302 (after 7.3.301)
- Problem: Test 19 fails without 'smartindent' and +eval.
- Solution: Don't use ":exe". Source small.vim.
- Files: src/testdir/test19.in
- Patch 7.3.303 (after 7.3.296)
- Problem: Compilation error.
- Solution: Correct return type from int to pid_t. (Danek Duvall)
- Files: src/os_unix.c
- Patch 7.3.304
- Problem: Strawberry Perl doesn't work on MS-Windows.
- Solution: Use xsubpp if needed. (Yasuhiro Matsumoto)
- Files: src/Make_ming.mak, src/Make_mvc.mak
- Patch 7.3.305
- Problem: Auto-loading a function while editing the command line causes
- scrolling up the display.
- Solution: Don't set msg_scroll when defining a function and the user is not
- typing. (Yasuhiro Matsumoto)
- Files: src/eval.c
- Patch 7.3.306
- Problem: When closing a window there is a chance that deleting a scrollbar
- triggers a GUI resize, which uses the window while it is not in a
- valid state.
- Solution: Set the buffer pointer to NULL to be able to detect the invalid
- situation. Fix a few places that used the buffer pointer
- incorrectly.
- Files: src/buffer.c, src/ex_cmds.c, src/term.c, src/window.c
- Patch 7.3.307
- Problem: Python 3 doesn't support slice assignment.
- Solution: Implement slices. (Brett Overesch, Roland Puntaier)
- Files: src/if_python3.c
- Patch 7.3.308
- Problem: Writing to 'verbosefile' has problems, e.g. for :highlight.
- Solution: Do not use a separate verbose_write() function but write with the
- same code that does redirecting. (Yasuhiro Matsumoto)
- Files: src/message.c
- Patch 7.3.309 (after 7.3.307)
- Problem: Warnings for pointer types.
- Solution: Change PySliceObject to PyObject.
- Files: src/if_python3.c
- Patch 7.3.310
- Problem: Code not following Vim style.
- Solution: Fix the style. (Elias Diem)
- Files: src/gui_photon.c
- Patch 7.3.311 (replaces 7.3.289)
- Problem: Complete function isn't called when the leader changed.
- Solution: Allow the complete function to return a dictionary with a flag
- that indicates ins_compl_restart() is to be called when the leader
- changes. (Taro Muraoka)
- Files: runtime/insert.txt, src/edit.c, src/eval.c, src/proto/eval.pro
- Patch 7.3.312 (after 7.3.306)
- Problem: Can't compile with tiny features.
- Solution: Add #ifdef around win_valid().
- Files: src/buffer.c
- Patch 7.3.313 (after 7.3.307)
- Problem: One more warning when compiling with dynamic Python 3.
- Solution: Change PySliceObject to PyObject.
- Files: src/if_python3.c
- Patch 7.3.314 (after 7.3.304)
- Problem: Missing parenthesis.
- Solution: Add it. (Benjamin R. Haskell)
- Files: src/Make_mvc.mak
- Patch 7.3.315
- Problem: Opening a window before forking causes problems for GTK.
- Solution: Fork first, create the window in the child and report back to the
- parent process whether it worked. If successful the parent exits,
- if unsuccessful the child exits and the parent continues in the
- terminal. (Tim Starling)
- Files: src/gui.c
- Patch 7.3.316 (after 7.3.306)
- Problem: Crash when 'colorcolumn' is set and closing buffer.
- Solution: Check for w_buffer to be NULL. (Yasuhiro Matsumoto)
- Files: src/option.c
- Patch 7.3.317
- Problem: Calling debug.debug() in Lua may cause Vim to hang.
- Solution: Add a better debug method. (Rob Hoelz, Luis Carvalho)
- Files: src/if_lua.c
- Patch 7.3.318
- Problem: "C" on the last line deletes that line if it's blank.
- Solution: Only delete the last line for a delete operation. (James Vega)
- Files: src/ops.c
- Patch 7.3.319 (after 7.3.311)
- Problem: Redobuff doesn't always include changes of the completion leader.
- Solution: Insert backspaces as needed. (idea by Taro Muraoka)
- Files: src/edit.c
- Patch 7.3.320
- Problem: When a 0xa0 character is in a sourced file the error message for
- unrecognized command does not show the problem.
- Solution: Display 0xa0 as <a0>.
- Files: src/ex_docmd.c
- Patch 7.3.321
- Problem: Code not following Vim style.
- Solution: Fix the style. (Elias Diem)
- Files: src/os_qnx.c
- Patch 7.3.322
- Problem: #ifdef for PDP_RETVAL doesn't work, INT_PTR can be a typedef.
- Solution: Check the MSC version and 64 bit flags. (Sergiu Dotenco)
- Files: src/os_mswin.c
- Patch 7.3.323
- Problem: The default 'errorformat' does not ignore some "included from"
- lines.
- Solution: Add a few more patterns. (Ben Boeckel)
- Files: src/option.h
- Patch 7.3.324 (after 7.3.237)
- Problem: Completion for ":compiler" shows color scheme names.
- Solution: Fix the directory name. (James Vega)
- Files: src/ex_getln.c
- Patch 7.3.325
- Problem: A duplicated function argument gives an internal error.
- Solution: Give a proper error message. (based on patch by Tyru)
- Files: src/eval.c
- Patch 7.3.326
- Problem: MingW 4.6 no longer supports the -mno-cygwin option.
- Solution: Split the Cygwin and MingW makefiles. (Matsushita Shougo)
- Files: src/GvimExt/Make_cyg.mak, src/GvimExt/Make_ming.mak,
- src/Make_cyg.mak, src/Make_ming.mak, src/xxd/Make_ming.mak,
- Filelist
- Patch 7.3.327
- Problem: When jumping to a help tag a closed fold doesn't open.
- Solution: Save and restore KeyTyped. (Yasuhiro Matsumoto)
- Files: src/ex_cmds.c
- Patch 7.3.328
- Problem: When command line wraps the cursor may be displayed wrong when
- there are multibyte characters.
- Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto)
- Files: src/ex_getln.c
- Patch 7.3.329
- Problem: When skipping over code from ":for" to ":endfor" get an error for
- calling a dict function. (Yasuhiro Matsumoto)
- Solution: Ignore errors when skipping over :call command.
- Files: src/ex_docmd.c, src/eval.c
- Patch 7.3.330
- Problem: When longjmp() is invoked if the X server gives an error the state
- is not properly restored.
- Solution: Reset vgetc_busy. (Yukihiro Nakadaira)
- Files: src/main.c
- Patch 7.3.331
- Problem: "vit" selects wrong text when a tag name starts with the same text
- as an outer tag name. (Ben Fritz)
- Solution: Add "\>" to the pattern to check for word boundary.
- Files: src/search.c
- Patch 7.3.332 (after 7.3.202)
- Problem: Indent after "public:" is not increased in C++ code. (Lech Lorens)
- Solution: Check for namespace after the regular checks. (partly by Martin
- Gieseking)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.333
- Problem: Using "." to repeat a Visual delete counts the size in bytes, not
- characters. (Connor Lane Smith)
- Solution: Store the virtual column numbers instead of byte positions.
- Files: src/normal.c
- Patch 7.3.334
- Problem: Latest MingW about XSUBPP referencing itself. (Gongqian Li)
- Solution: Rename the first use to XSUBPPTRY.
- Files: src/Make_ming.mak
- Patch 7.3.335
- Problem: When 'imdisable' is reset from an autocommand in Insert mode it
- doesn't take effect.
- Solution: Call im_set_active() in Insert mode. (Taro Muraoka)
- Files: src/option.c
- Patch 7.3.336
- Problem: When a tags file specifies an encoding different from 'enc' it
- may hang and using a pattern doesn't work.
- Solution: Convert the whole line. Continue reading the header after the
- SORT tag. Add test83. (Yukihiro Nakadaira)
- Files: src/tag.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile,
- src/testdir/test83-tags2, src/testdir/test83-tags3,
- src/testdir/test83.in, src/testdir/test83.ok
- Patch 7.3.337 (after 7.3.295)
- Problem: Screen doesn't update after resizing the xterm until a character
- is typed.
- Solution: When the select call is interrupted check do_resize. (Taylor
- Hedberg)
- Files: src/os_unix.c
- Patch 7.3.338
- Problem: Using getchar() in an expression mapping doesn't work well.
- Solution: Don't save and restore the typeahead. (James Vega)
- Files: src/getchar.c, src/testdir/test34.ok
- Patch 7.3.339
- Problem: "make shadow" doesn't link all test files.
- Solution: Add a line in Makefile and Filelist.
- Files: src/Makefile, Filelist
- Patch 7.3.340
- Problem: When 'verbosefile' is set ftplugof.vim can give an error.
- Solution: Only remove filetypeplugin autocommands when they exist. (Yasuhiro
- Matsumoto)
- Files: runtime/ftplugof.vim
- Patch 7.3.341
- Problem: Local help files are only listed in help.txt, not in translated
- help files.
- Solution: Also find translated help files. (Yasuhiro Matsumoto)
- Files: src/ex_cmds.c
- Patch 7.3.342
- Problem: Code not in Vim style.
- Solution: Fix the style. (Elias Diem)
- Files: src/os_amiga.c, src/os_mac_conv.c, src/os_win16.c
- Patch 7.3.343
- Problem: No mouse support for urxvt.
- Solution: Implement urxvt mouse support, also for > 252 columns. (Yiding
- Jia)
- Files: src/feature.h, src/keymap.h, src/option.h, src/os_unix.c,
- src/term.c, src/version.c
- Patch 7.3.344
- Problem: Problem with GUI startup related to XInitThreads.
- Solution: Use read() and write() instead of fputs() and fread(). (James
- Vega)
- Files: src/gui.c
- Patch 7.3.345
- Problem: When switching language with ":lang" the window title doesn't
- change until later.
- Solution: Update the window title right away. (Dominique Pelle)
- Files: src/ex_cmds2.c
- Patch 7.3.346
- Problem: It's hard to test netbeans commands.
- Solution: Process netbeans commands after :sleep. (Xavier de Gaye)
- Files: runtime/doc/netbeans.txt, src/ex_docmd.c, src/netbeans.c
- Patch 7.3.347
- Problem: When dropping text from a browser on Vim it receives HTML even
- though "html" is excluded from 'clipboard'. (Andrei Avk)
- Solution: Fix the condition for TARGET_HTML.
- Files: src/gui_gtk_x11.c
- Patch 7.3.348
- Problem: "call range(1, 947948399)" causes a crash. (ZyX)
- Solution: Avoid a loop in the out of memory message.
- Files: src/misc2.c
- Patch 7.3.349
- Problem: When running out of memory during startup trying to open a
- swapfile will loop forever.
- Solution: Let findswapname() set dirp to NULL if out of memory.
- Files: src/memline.c
- Patch 7.3.350
- Problem: Block of code after ":lua << EOF" may not work. (Paul Isambert)
- Solution: Recognize the ":lua" command, skip to EOF.
- Files: src/eval.c
- Patch 7.3.351
- Problem: Text formatting uses start of insert position when it should not.
- (Peter Wagenaar)
- Solution: Do not use Insstart when intentionally formatting.
- Files: src/edit.c
- Patch 7.3.352
- Problem: When completing methods dict functions and script-local functions
- get in the way.
- Solution: Sort function names starting with "<" to the end. (Yasuhiro
- Matsumoto)
- Files: src/ex_getln.c
- Patch 7.3.353 (after 7.3.343)
- Problem: Missing part of the urxvt patch.
- Solution: Add the change in term.c
- Files: src/term.c
- Patch 7.3.354
- Problem: ":set backspace+=eol" doesn't work when 'backspace' has a
- backwards compatible value of 2.
- Solution: Convert the number to a string. (Hirohito Higashi)
- Files: src/option.c
- Patch 7.3.355
- Problem: GTK warnings when using netrw.vim. (Ivan Krasilnikov)
- Solution: Do not remove the beval event handler twice.
- Files: src/option.c
- Patch 7.3.356
- Problem: Using "o" with 'cindent' set may freeze Vim. (lolilolicon)
- Solution: Skip over {} correctly. (Hari G)
- Files: src/misc1.c
- Patch 7.3.357
- Problem: Compiler warning in MS-Windows console build.
- Solution: Adjust return type of PrintHookProc(). (Mike Williams)
- Files: src/os_mswin.c
- Patch 7.3.358 (after 7.3.353)
- Problem: Mouse support doesn't work properly.
- Solution: Add HMT_URXVT. (lilydjwg, James McCoy)
- Files: src/term.c
- Patch 7.3.359
- Problem: Command line completion shows dict functions.
- Solution: Skip dict functions for completion. (Yasuhiro Matsumoto)
- Files: src/eval.c
- Patch 7.3.360
- Problem: Interrupting the load of an autoload function may cause a crash.
- Solution: Do not use the hashitem when not valid. (Yukihiro Nakadaira)
- Files: src/eval.c
- Patch 7.3.361
- Problem: Accessing memory after it is freed when EXITFREE is defined.
- Solution: Don't access curwin when firstwin is NULL. (Dominique Pelle)
- Files: src/buffer.c
- Patch 7.3.362
- Problem: ml_get error when using ":g" with folded lines.
- Solution: Adjust the line number for changed_lines(). (Christian Brabandt)
- Files: src/ex_cmds.c
- Patch 7.3.363
- Problem: C indenting is wrong after #endif followed by a semicolon.
- Solution: Add special handling for a semicolon in a line by itself. (Lech
- Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.364 (after 7.3.353)
- Problem: Can't compile on HP-UX. (John Marriott)
- Solution: Only use TTYM_URXVT when it is defined.
- Files: src/term.c
- Patch 7.3.365
- Problem: Crash when using a large Unicode character in a file that has
- syntax highlighting. (ngollan)
- Solution: Check for going past the end of the utf tables. (Dominique Pelle)
- Files: src/mbyte.c
- Patch 7.3.366
- Problem: A tags file with an extremely long name causes errors.
- Solution: Ignore tags that are too long. (Arno Renevier)
- Files: src/tag.c
- Patch 7.3.367
- Problem: :wundo and :rundo use a wrong checksum.
- Solution: Include the last line when computing the hash. (Christian Brabandt)
- Files: src/undo.c
- Patch 7.3.368
- Problem: Gcc complains about redefining _FORTIFY_SOURCE.
- Solution: Undefine it before redefining it.
- Files: src/Makefile, src/configure.in, src/auto/configure
- Patch 7.3.369
- Problem: When compiled with Gnome get an error message when using --help.
- Solution: Don't fork. (Ivan Krasilnikov)
- Files: src/main.c
- Patch 7.3.370
- Problem: Compiler warns for unused variable in Lua interface.
- Solution: Remove the variable.
- Files: src/if_lua.c
- Patch 7.3.371
- Problem: Crash in autocomplete. (Greg Weber)
- Solution: Check not going over allocated buffer size.
- Files: src/misc2.c
- Patch 7.3.372
- Problem: When using a command line mapping to <Up> with file name
- completion to go one directory up, 'wildchar' is inserted.
- (Yasuhiro Matsumoto)
- Solution: Set the KeyTyped flag.
- Files: src/ex_getln.c
- Patch 7.3.373 (after 7.3.366)
- Problem: A tags file with an extremely long name may cause an infinite loop.
- Solution: When encountering a long name switch to linear search.
- Files: src/tag.c
- Patch 7.3.374
- Problem: ++encoding does not work properly.
- Solution: Recognize ++encoding before ++enc. (Charles Cooper)
- Files: src/ex_docmd.c
- Patch 7.3.375
- Problem: Duplicate return statement.
- Solution: Remove the superfluous one. (Dominique Pelle)
- Files: src/gui_mac.c
- Patch 7.3.376
- Problem: Win32: Toolbar repainting does not work when the mouse pointer
- hovers over a button.
- Solution: Call DefWindowProc() when not handling an event. (Sergiu Dotenco)
- Files: src/gui_w32.c
- Patch 7.3.377
- Problem: No support for bitwise AND, OR, XOR and invert.
- Solution: Add and(), or(), invert() and xor() functions.
- Files: src/eval.c, src/testdir/test49.in, src/testdir/test65.in,
- src/testdir/test65.ok, runtime/doc/eval.txt
- Patch 7.3.378
- Problem: When cross-compiling the check for uint32_t fails.
- Solution: Only give a warning message. (Maksim Melnikau)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.379
- Problem: C-indenting wrong for static enum.
- Solution: Skip over "static". (Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.380
- Problem: C-indenting wrong for a function header.
- Solution: Skip to the start paren. (Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.381
- Problem: Configure silently skips interfaces that won't work.
- Solution: Add the --enable-fail_if_missing argument. (Shlomi Fish)
- Files: src/Makefile, src/configure.in, src/auto/configure
- Patch 7.3.382 (after 7.3.376)
- Problem: IME characters are inserted twice.
- Solution: Do not call DefWindowProc() if the event was handled. (Yasuhiro
- Matsumoto)
- Files: src/gui_w32.c
- Patch 7.3.383
- Problem: For EBCDIC pound sign is defined as 't'.
- Solution: Correctly define POUND.
- Files: src/ascii.h
- Patch 7.3.384
- Problem: Mapping CTRL-K in Insert mode breaks CTRL-X CTRL-K for dictionary
- completion.
- Solution: Add CTRL-K to the list of recognized keys. (James McCoy)
- Files: src/edit.c
- Patch 7.3.385
- Problem: When using an expression mapping on the command line the cursor
- ends up in the wrong place. (Yasuhiro Matsumoto)
- Solution: Save and restore msg_col and msg_row when evaluating the
- expression.
- Files: src/getchar.
- Patch 7.3.386
- Problem: Test 83 fails when iconv does not support cp932. (raf)
- Solution: Test if conversion works. (Yukihiro Nakadaira)
- Files: src/testdir/test83.in
- Patch 7.3.387 (after 7.3.386)
- Problem: Test 83 may fail for some encodings.
- Solution: Set 'encoding' to utf-8 earlier.
- Files: src/testdir/test83.in
- Patch 7.3.388
- Problem: Crash on exit when EXITFREE is defined and using tiny features.
- Solution: Check for NULL window pointer. (Dominique Pelle)
- Files: src/buffer.c
- Patch 7.3.389
- Problem: After typing at a prompt the "MORE" message appears too soon.
- Solution: reset lines_left in msg_end_prompt(). (Eswald)
- Files: src/message.c
- Patch 7.3.390
- Problem: Using NULL buffer pointer in a window.
- Solution: Check for w_buffer being NULL in more places. (Bjorn Winckler)
- Files: src/ex_cmds.c, src/quickfix.c, src/window.c
- Patch 7.3.391
- Problem: Can't check if the XPM_W32 feature is enabled.
- Solution: Add xpm_w32 to the list of features. (kat)
- Files: src/eval.c
- Patch 7.3.392
- Problem: When setting 'undofile' while the file is already loaded but
- unchanged, try reading the undo file. (Andy Wokula)
- Solution: Compute a checksum of the text when 'undofile' is set. (Christian
- Brabandt)
- Files: src/option.c, src/testdir/test72.in, src/testdir/test72.ok
- Patch 7.3.393
- Problem: Win32: When resizing Vim it is always moved to the primary monitor
- if the secondary monitor is on the left.
- Solution: Use the nearest monitor. (Yukihiro Nakadaira)
- Files: src/gui_w32.c
- Patch 7.3.394
- Problem: When placing a mark while starting up a screen redraw messes up
- the screen. (lith)
- Solution: Don't redraw while still starting up. (Christian Brabandt)
- Files: src/screen.c
- Patch 7.3.395 (after 7.3.251)
- Problem: "dv?bar" in the last line deletes too much and breaks undo.
- Solution: Only adjust the cursor position when it's after the last line of
- the buffer. Add a test. (Christian Brabandt)
- Files: src/ops.c, src/testdir/test43.in, src/testdir/test43.ok
- Patch 7.3.396
- Problem: After forcing an operator to be characterwise it can still become
- linewise when spanning whole lines.
- Solution: Don't make the operator linewise when motion_force was set.
- (Christian Brabandt)
- Files: src/ops.c
- Patch 7.3.397
- Problem: ":helpgrep" does not work properly when 'encoding' is not utf-8 or
- latin1.
- Solution: Convert non-ascii lines to 'encoding'. (Yasuhiro Matsumoto)
- Files: src/quickfix.c, src/spell.c, src/misc2.c, src/proto/misc2.pro
- Patch 7.3.398
- Problem: When creating more than 10 location lists and adding items one by
- one a previous location may be used. (Audrius Kažukauskas)
- Solution: Clear the location list completely when adding the tenth one.
- Files: src/quickfix.c
- Patch 7.3.399
- Problem: ":cd" doesn't work when the path contains wildcards. (Yukihiro
- Nakadaira)
- Solution: Ignore wildcard errors when the EW_NOTWILD flag is used.
- Files: src/misc1.c
- Patch 7.3.400
- Problem: Compiler warnings for shadowed variables.
- Solution: Remove or rename the variables.
- Files: src/charset.c, src/digraph.c, src/edit.c, src/eval.c, src/fold.c,
- src/getchar.c, src/message.c, src/misc2.c, src/move.c,
- src/netbeans.c, src/option.c, src/os_unix.c, src/screen.c,
- src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/window.c
- Patch 7.3.401
- Problem: A couple more shadowed variables.
- Solution: Rename the variables.
- Files: src/netbeans.c
- Patch 7.3.402
- Problem: When jumping to the first error a line of the buffer is sometimes
- redrawn on top of the list of errors.
- Solution: Do not call update_topline_redraw() if the display was scrolled
- up.
- Files: src/quickfix.c
- Patch 7.3.403
- Problem: ":helpgrep" does not trigger QuickFixCmd* autocommands.
- Solution: Trigger the autocommands. (Christian Brabandt)
- Files: src/quickfix.c
- Patch 7.3.404
- Problem: When a complete function uses refresh "always" redo will not work
- properly.
- Solution: Do not reset compl_leader when compl_opt_refresh_always is set.
- (Yasuhiro Matsumoto)
- Files: src/edit.c
- Patch 7.3.405
- Problem: When xterm gets back the function keys it may delete the urxvt
- mouse termcap code.
- Solution: Check for the whole code, not just the start. (Egmont Koblinger)
- Files: src/keymap.h, src/misc2.c, src/term.c
- Patch 7.3.406
- Problem: Multi-byte characters in b:browsefilter are not handled correctly.
- Solution: First use convert_filter() normally and then convert to wide
- characters. (Taro Muraoka)
- Files: src/gui_w48.c
- Patch 7.3.407
- Problem: ":12verbose call F()" may duplicate text while trying to truncate.
- (Thinca)
- Solution: Only truncate when there is not enough room. Also check the byte
- length of the buffer.
- Files: src/buffer.c, src/eval.c, src/ex_getln.c, src/message.c,
- src/proto/message.pro
- Patch 7.3.408 (after 7.3.406)
- Problem: Missing declaration.
- Solution: Add the declaration. (John Marriott)
- Files: src/gui_w48.c
- Patch 7.3.409
- Problem: The license in pty.c is unclear.
- Solution: Add a comment about the license.
- Files: src/pty.c
- Patch 7.3.410
- Problem: Compiler error for // comment. (Joachim Schmitz)
- Solution: Turn into /* comment */.
- Files: src/message.c
- Patch 7.3.411
- Problem: Pasting in Visual mode using the "" register does not work. (John
- Beckett)
- Solution: Detect that the write is overwriting the pasted register.
- (Christian Brabandt)
- Files: src/normal.c
- Patch 7.3.412
- Problem: Storing a float in a session file has an additional '&'.
- Solution: Remove the '&'. (Yasuhiro Matsumoto)
- Files: src/eval.c
- Patch 7.3.413
- Problem: Build warnings on MS-Windows.
- Solution: Add type casts. (Mike Williams)
- Files: src/ex_getln.c, src/message.c, src/term.c
- Patch 7.3.414
- Problem: Using CTRL-A on "000" drops the leading zero, while on "001" it
- doesn't.
- Solution: Detect "000" as an octal number. (James McCoy)
- Files: src/charset.c
- Patch 7.3.415 (after 7.3.359)
- Problem: Completion of functions stops once a dictionary is encountered.
- (James McCoy)
- Solution: Return an empty string instead of NULL.
- Files: src/eval.c
- Patch 7.3.416 (after 7.3.415)
- Problem: Compiler warning for wrong pointer.
- Solution: Add type cast.
- Files: src/eval.c
- Patch 7.3.417 (after 7.3.395)
- Problem: Test 43 fails with a tiny build.
- Solution: Only run test 43 with at least a small build.
- Files: src/testdir/test43.in
- Patch 7.3.418
- Problem: When a user complete function returns -1 an error message is
- given.
- Solution: When -2 is returned stop completion silently. (Yasuhiro Matsumoto)
- Files: src/edit.
- Patch 7.3.419
- Problem: DBCS encoding in a user command does not always work.
- Solution: Skip over DBCS characters. (Yasuhiro Matsumoto)
- Files: src/ex_docmd.c
- Patch 7.3.420
- Problem: "it" and "at" don't work properly with a dash in the tag name.
- Solution: Require a space to match the tag name. (Christian Brabandt)
- Files: src/search.c
- Patch 7.3.421
- Problem: Get E832 when setting 'undofile' in vimrc and there is a file to
- be edited on the command line. (Toothpik)
- Solution: Do not try reading the undo file for a file that wasn't loaded.
- Files: src/option.c
- Patch 7.3.422
- Problem: Python 3 does not have __members__.
- Solution: Add "name" and "number" in another way. (lilydjwg)
- Files: src/if_py_both.h, src/if_python3.c
- Patch 7.3.423
- Problem: Small mistakes in comments, proto and indent.
- Solution: Fix the mistakes.
- Files: src/ex_cmds2.c, src/structs.h, src/ui.c, src/proto/ex_docmd.pro
- Patch 7.3.424
- Problem: Win16 version missing some functions.
- Solution: Add #defines for the functions.
- Files: src/gui_w16.c
- Patch 7.3.425 (after 7.3.265)
- Problem: Search history lines are duplicated. (Edwin Steiner)
- Solution: Convert separator character from space to NUL.
- Files: src/ex_getln.c
- Patch 7.3.426
- Problem: With '$' in 'cpoptions' the $ is not displayed in the first
- column.
- Solution: Use -1 instead of 0 as a special value. (Hideki Eiraku and
- Hirohito Higashi)
- Files: src/edit.c, src/globals.h, src/move.c, src/screen.c, src/search.c
- Patch 7.3.427
- Problem: readfile() can be slow with long lines.
- Solution: Use realloc() instead of alloc(). (John Little)
- Files: src/eval.c
- Patch 7.3.428
- Problem: Win32: an xpm file without a mask crashes Vim.
- Solution: Fail when the mask is missing. (Dave Bodenstab)
- Files: src/xpm_w32.c
- Patch 7.3.429
- Problem: When 'cpoptions' includes "E" "c0" in the first column is an
- error. The redo register is then set to the erroneous command.
- Solution: Do not set the redo register if the command fails because of an
- empty region. (Hideki Eiraku)
- Files: src/getchar.c, src/normal.c, src/proto/getchar.pro
- Patch 7.3.430
- Problem: When a custom filetype detection uses "augroup END" the conf
- filetype detection does not have the filetypedetect group.
- Solution: Always end the group and include filetypedetect in the conf
- autocommand. (Lech Lorens)
- Files: runtime/filetype.vim
- Patch 7.3.431
- Problem: Fetching a key at a prompt may be confused by escape sequences.
- Especially when getting a prompt at a VimEnter autocommand.
- (Alex Efros)
- Solution: Properly handle escape sequences deleted by check_termcode().
- Files: src/getchar.c, src/misc1.c, src/term.c, src/proto/term.pro
- Patch 7.3.432
- Problem: ACLs are not supported for ZFS or NFSv4 on Solaris.
- Solution: Add configure check and code. (Danek Duvall)
- Files: src/configure.in, src/auto/configure, src/config.h.in,
- src/os_unix.c
- Patch 7.3.433
- Problem: Using continued lines in a Vim script can be slow.
- Solution: Instead of reallocating for every line use a growarray. (Yasuhiro
- Matsumoto)
- Files: src/ex_cmds2.c
- Patch 7.3.434
- Problem: Using join() can be slow.
- Solution: Compute the size of the result before allocation to avoid a lot of
- allocations and copies. (Taro Muraoka)
- Files: src/eval.c
- Patch 7.3.435
- Problem: Compiler warning for unused variable.
- Solution: Move the variable inside #ifdef.
- Files: src/ex_cmds2.c
- Patch 7.3.436
- Problem: Compiler warnings for types on Windows.
- Solution: Add type casts. (Mike Williams)
- Files: src/eval.c
- Patch 7.3.437
- Problem: Continue looping inside FOR_ALL_TAB_WINDOWS even when already done.
- Solution: Use goto instead of break. (Hirohito Higashi)
- Files: src/fileio.c, src/globals.h
- Patch 7.3.438
- Problem: There is no way to avoid ":doautoall" reading modelines.
- Solution: Add the <nomodeline> argument. Adjust documentation.
- Files: src/fileio.c, runtime/doc/autocmd.txt
- Patch 7.3.439
- Problem: Compiler warnings to size casts in Perl interface.
- Solution: Use XS macros. (James McCoy)
- Files: src/if_perl.xs, src/typemap
- Patch 7.3.440
- Problem: Vim does not support UTF8_STRING for the X selection.
- Solution: Add UTF8_STRING atom support. (Alex Efros) Use it only when
- 'encoding' is set to Unicode.
- Files: src/ui.c
- Patch 7.3.441
- Problem: Newer versions of MzScheme (Racket) require earlier (trampolined)
- initialisation.
- Solution: Call mzscheme_main() early in main(). (Sergey Khorev)
- Files: src/Make_mvc.mak, src/if_mzsch.c, src/main.c,
- src/proto/if_mzsch.pro
- Patch 7.3.442 (after 7.3.438)
- Problem: Still read modelines for ":doautocmd".
- Solution: Move check for <nomodeline> to separate function.
- Files: src/fileio.c, src/ex_docmd.c, src/proto/fileio.pro,
- runtime/doc/autocmd.txt
- Patch 7.3.443
- Problem: MS-Windows: 'shcf' and 'shellxquote' defaults are not very good.
- Solution: Make a better guess when 'shell' is set to "cmd.exe". (Ben Fritz)
- Files: src/option.c, runtime/doc/options.txt
- Patch 7.3.444
- Problem: ":all!" and ":sall!" give error E477, even though the
- documentation says these are valid commands.
- Solution: Support the exclamation mark. (Hirohito Higashi)
- Files: src/ex_cmds.h, src/testdir/test31.in, src/testdir/test31.ok
- Patch 7.3.445 (after 7.3.443)
- Problem: Can't properly escape commands for cmd.exe.
- Solution: Default 'shellxquote' to '('. Append ')' to make '(command)'.
- No need to use "/s" for 'shellcmdflag'.
- Files: src/misc2.c, src/option.c, src/os_win32.c
- Patch 7.3.446 (after 7.3.445)
- Problem: Win32: External commands with special characters don't work.
- Solution: Add the 'shellxescape' option.
- Files: src/misc2.c, src/option.c, src/option.h, runtime/doc/options.txt
- Patch 7.3.447 (after 7.3.446)
- Problem: Win32: External commands with "start" do not work.
- Solution: Unescape part of the command. (Yasuhiro Matsumoto)
- Files: src/os_win32.c
- Patch 7.3.448 (after 7.3.447)
- Problem: Win32: Still a problem with "!start /b".
- Solution: Escape only '|'. (Yasuhiro Matsumoto)
- Files: src/os_win32.c
- Patch 7.3.449
- Problem: Crash when a BufWinLeave autocommand closes the only other window.
- (Daniel Hunt)
- Solution: Abort closing a buffer when it becomes the only one.
- Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c, src/ex_getln.c,
- src/misc2.c, src/quickfix.c, src/window.c, src/proto/window.pro
- Patch 7.3.450 (after 7.3.448)
- Problem: Win32: Still a problem with "!start /b".
- Solution: Fix pointer use. (Yasuhiro Matsumoto)
- Files: src/os_win32.c
- Patch 7.3.451
- Problem: Tcl doesn't work on 64 MS-Windows.
- Solution: Make it work. (Dave Bodenstab)
- Files: src/Make_mvc.mak, src/if_tcl.c
- Patch 7.3.452
- Problem: Undo broken when pasting close to the last line. (Andrey Radev)
- Solution: Use a flag to remember if the deleted included the last line.
- (Christian Brabandt)
- Files: src/ops.c
- Patch 7.3.453
- Problem: Pasting in the command line is slow.
- Solution: Don't redraw if there is another character to read. (Dominique
- Pelle)
- Files: src/ex_getln.c
- Patch 7.3.454
- Problem: Re-allocating memory slows Vim down.
- Solution: Use realloc() in ga_grow(). (Dominique Pelle)
- Files: src/misc2.c
- Patch 7.3.455
- Problem: Using many continuation lines can be slow.
- Solution: Adjust the reallocation size to the current length.
- Files: src/ex_cmds2.c
- Patch 7.3.456
- Problem: ":tab drop file" has several problems, including moving the
- current window and opening a new tab for a file that already has a
- window.
- Solution: Refactor ":tab drop" handling. (Hirohito Higashi)
- Files: src/buffer.c, src/testdir/test62.in, src/testdir/test62.ok
- Patch 7.3.457
- Problem: When setting $VIMRUNTIME later the directory for fetching
- translated messages is not adjusted.
- Solution: Put bindtextdomain() in vim_setenv().
- Files: src/misc1.c
- Patch 7.3.458
- Problem: Crash when calling smsg() during startup.
- Solution: Don't use 'shortmess' when it is not set yet.
- Files: src/option.c
- Patch 7.3.459
- Problem: Win32: Warnings for type conversion.
- Solution: Add type casts. (Mike Williams)
- Files: src/misc2.c, src/os_win32.c
- Patch 7.3.460
- Problem: Win32: UPX does not compress 64 bit binaries.
- Solution: Mention and add the alternative: mpress. (Dave Bodenstab)
- Files: src/INSTALLpc.txt, src/Make_ming.mak
- Patch 7.3.461
- Problem: The InsertCharPre autocommand event is not triggered during
- completion and when typing several characters quickly.
- Solution: Also trigger InsertCharPre during completion. Do not read ahead
- when an InsertCharPre autocommand is defined. (Yasuhiro Matsumoto)
- Files: src/edit.c, src/fileio.c, src/proto/fileio.pro
- Patch 7.3.462
- Problem: When using ":loadview" folds may be closed unexpectedly.
- Solution: Take into account foldlevel. (Xavier de Gaye)
- Files: src/fold.c
- Patch 7.3.463
- Problem: When using ":s///c" the cursor is moved away from the match.
- (Lawman)
- Solution: Don't move the cursor when do_ask is set. (Christian Brabandt)
- Files: src/ex_cmds.c
- Patch 7.3.464
- Problem: Compiler warning for sprintf.
- Solution: Put the length in a variable. (Dominique Pelle)
- Files: src/version.c
- Patch 7.3.465
- Problem: Cannot get file name with newline from glob().
- Solution: Add argument to glob() and expand() to indicate they must return a
- list. (Christian Brabandt)
- Files: runtime/doc/eval.txt, src/eval.c, src/ex_getln.c, src/vim.h
- Patch 7.3.466
- Problem: Get ml_get error hen ":behave mswin" was used and selecting
- several lines. (A. Sinan Unur)
- Solution: Adjust the end of the operation. (Christian Brabandt)
- Files: src/ops.c
- Patch 7.3.467
- Problem: Cursor positioned wrong at the command line when regaining focus
- and using some input method.
- Solution: Do not position the cursor in command line mode.
- Files: src/mbyte.c
- Patch 7.3.468
- Problem: For some compilers the error file is not easily readable.
- Solution: Use QuickFixCmdPre for more commands. (Marcin Szamotulski)
- Files: runtime/doc/autocmd.txt, src/quickfix.c
- Patch 7.3.469
- Problem: Compiler warning for unused argument without some features.
- Solution: Add UNUSED.
- Files: src/buffer.c
- Patch 7.3.470
- Problem: Test 62 fails when compiled without GUI and X11.
- Solution: Don't test :drop when it is not supported.
- Files: src/testdir/test62.in
- Patch 7.3.471
- Problem: Can't abort listing placed signs.
- Solution: Check "got_int". (Christian Brabandt)
- Files: src/buffer.c, src/ex_cmds.c
- Patch 7.3.472
- Problem: Crash when using ":redraw" in a BufEnter autocommand and
- switching to another tab. (驼峰)
- Solution: Move triggering the autocommands to after correcting the
- option values. Also check the row value to be out of bounds.
- (Christian Brabandt, Sergey Khorev)
- Files: src/screen.c, src/window.c
- Patch 7.3.473
- Problem: 'cursorbind' does not work correctly in combination with
- 'virtualedit' set to "all".
- Solution: Copy coladd. (Gary Johnson)
- Files: src/move.c
- Patch 7.3.474
- Problem: Perl build with gcc 4 fails.
- Solution: Remove XS() statements. (Yasuhiro Matsumoto)
- Files: src/if_perl.xs
- Patch 7.3.475
- Problem: In a terminal with few colors the omnicomplete menu may be hard to
- see when using the default colors.
- Solution: Use more explicit colors. (suggested by Alex Henrie)
- Files: src/syntax.c
- Patch 7.3.476
- Problem: When selecting a block, using "$" to include the end of each line
- and using "A" and typing a backspace strange things happen.
- (Yuangchen Xie)
- Solution: Avoid using a negative length. (Christian Brabandt)
- Files: src/ops.c
- Patch 7.3.477
- Problem: Using ":echo" to output enough lines to scroll, then using "j" and
- "k" at the more prompt, displays the command on top of the output.
- (Marcin Szamotulski)
- Solution: Put the output below the command. (Christian Brabandt)
- Files: src/eval.c
- Patch 7.3.478
- Problem: Memory leak using the ':rv!' command when reading dictionary or
- list global variables i.e. with 'viminfo' containing !.
- Solution: Free the typeval. (Dominique Pelle)
- Files: src/eval.c
- Patch 7.3.479
- Problem: When 'cursorline' is set the line number highlighting can't be set
- separately.
- Solution: Add "CursorLineNr". (Howard Buchholz)
- Files: src/option.c, src/screen.c, src/syntax.c, src/vim.h
- Patch 7.3.480
- Problem: When using ":qa" and there is a changed buffer picking the buffer
- to jump to is not very good.
- Solution: Consider current and other tab pages. (Hirohito Higashi)
- Files: src/ex_cmds2.c
- Patch 7.3.481
- Problem: Changing 'virtualedit' in an operator function to "all" does not
- have the desired effect. (Aaron Bohannon)
- Solution: Save, reset and restore virtual_op when executing an operator
- function.
- Files: src/normal.c
- Patch 7.3.482
- Problem: With 'cursorbind' set moving up/down does not always keep the same
- column.
- Solution: Set curswant appropriately. (Gary Johnson)
- Files: src/move.c
- Patch 7.3.483 (after 7.3.477)
- Problem: More prompt shows up too often.
- Solution: Instead of adding a line break, only start a new line in the
- message history. (Christian Brabandt)
- Files: src/eval.c, src/message.c, src/proto/message.pro
- Patch 7.3.484
- Problem: The -E and --echo-wid command line arguments are not mentioned in
- "vim --help".
- Solution: Add the help lines. (Dominique Pelle)
- Files: src/main.c
- Patch 7.3.485
- Problem: When building Vim LDFLAGS isn't passed on to building xxd.
- Solution: Pass the LDFLAGS value. (James McCoy)
- Files: src/Makefile
- Patch 7.3.486
- Problem: Build error with mingw64 on Windows 7.
- Solution: Avoid the step of going through vimres.res. (Guopeng Wen)
- Files: src/Make_ming.mak
- Patch 7.3.487
- Problem: When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical
- movement is reset unnecessarily.
- Solution: Do not set w_set_curswant for every option. Add a test for this.
- (Kana Natsuno) Add the P_CURSWANT flag for options.
- Files: src/option.c, src/testdir/test84.in, src/testdir/test84.ok,
- src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile
- Patch 7.3.488
- Problem: ":help!" in a help file does not work as documented.
- Solution: When in a help file don't give an error message. (thinca)
- Files: src/ex_cmds.c
- Patch 7.3.489
- Problem: CTRL-] in Insert mode does not expand abbreviation when used in a
- mapping. (Yichao Zhou)
- Solution: Special case using CTRL-]. (Christian Brabandt)
- Files: src/getchar.c, src/edit.c
- Patch 7.3.490
- Problem: Member confusion in Lua interface.
- Solution: Fix it. Add luaeval(). (Taro Muraoka, Luis Carvalho)
- Files: runtime/doc/if_lua.txt, src/eval.c, src/if_lua.c,
- src/proto/if_lua.pro
- Patch 7.3.491
- Problem: No tests for Lua.
- Solution: Add some simple tests for Lua. (Luis Carvalho)
- Files: src/testdir/test1.in, src/testdir/test85.in, src/testdir/test85.ok
- src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile
- Patch 7.3.492
- Problem: Can't indent conditions separately from function arguments.
- Solution: Add the 'k' flag in 'cino'. (Lech Lorens)
- Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
- src/testdir/test3.ok
- Patch 7.3.493 (after 7.3.492)
- Problem: Two unused variables.
- Solution: Remove them. (Hong Xu)
- Files: src/misc1.c
- Patch 7.3.494 (after 7.3.491)
- Problem: Can't compile with Lua 5.1 or dynamic Lua.
- Solution: Fix dll_ methods. Fix luado(). (Muraoka Taro, Luis Carvalho)
- Files: src/if_lua.c
- Patch 7.3.495 (after 7.3.492)
- Problem: Compiler warnings.
- Solution: Add function declaration. Remove "offset" argument.
- Files: src/misc1.c
- Patch 7.3.496
- Problem: MS-DOS: When "diff" trips over difference in line separators some
- tests fail.
- Solution: Make some .ok files use unix line separators. (David Pope)
- Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak
- Patch 7.3.497
- Problem: Crash when doing ":python print" and compiled with gcc and
- the optimizer enabled.
- Solution: Avoid the crash, doesn't really fix the problem. (Christian
- Brabandt)
- Files: src/if_py_both.h
- Patch 7.3.498
- Problem: The behavior of the "- register changes depending on value of
- the 'clipboard' option. (Szamotulski)
- Solution: Also set the "- register when the register is "*" or "+".
- (Christian Brabandt)
- Files: src/ops.c
- Patch 7.3.499
- Problem: When using any interface language when Vim is waiting for a child
- process it gets confused by a child process started through the
- interface.
- Solution: Always used waitpid() instead of wait(). (Yasuhiro Matsumoto)
- Files: src/os_unix.c
- Patch 7.3.500
- Problem: Ming makefile unconditionally sets WINVER.
- Solution: Only defined when not already defined. (Yasuhiro Matsumoto)
- Files: src/Make_ming.mak
- Patch 7.3.501
- Problem: Error for "flush" not being defined when using Ruby command.
- Solution: Defined "flush" as a no-op method. (Kent Sibilev)
- Files: src/if_ruby.c
- Patch 7.3.502
- Problem: Netbeans insert halfway a line actually appends to the line.
- Solution: Insert halfway the line. (Brian Victor)
- Files: src/netbeans.c
- Patch 7.3.503 (after 7.3.501)
- Problem: Warning for unused argument.
- Solution: Add UNUSED.
- Files: src/if_ruby.c
- Patch 7.3.504
- Problem: Commands in help files are not highlighted.
- Solution: Allow for commands in backticks. Adjust CTRL-] to remove the
- backticks.
- Files: src/ex_cmds.c
- Patch 7.3.505
- Problem: Test 11 fails on MS-Windows in some versions.
- Solution: Fix #ifdefs for whether filtering through a pipe is possible. Move
- setting b_no_eol_lnum back to where it was before patch 7.3.124.
- (David Pope)
- Files: src/feature.h, src/eval.c, src/ex_cmds.c, src/fileio.c
- Patch 7.3.506
- Problem: GTK gives an error when selecting a non-existent file.
- Solution: Add a handler to avoid the error. (Christian Brabandt)
- Files: src/gui_gtk.c
- Patch 7.3.507
- Problem: When exiting with unsaved changes, selecting an existing file in
- the file dialog, there is no dialog to ask whether the existing
- file should be overwritten. (Felipe G. Nievinski)
- Solution: Call check_overwrite() before writing. (Christian Brabandt)
- Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds.pro
- Patch 7.3.508
- Problem: Default for v:register is not set.
- Solution: Init v:register in eval_init(). Correct for 'clipboard' before the
- main loop. (Ingo Karkat)
- Files: src/eval.c, src/main.c
- Patch 7.3.509
- Problem: ":vimgrep" fails when 'autochdir' is set.
- Solution: A more generic solution for changing directory. (Ben Fritz)
- Files: src/quickfix.c
- Patch 7.3.510
- Problem: Test 77 fails on Solaris 7. (Michael Soyka)
- Solution: Replace any tabs with spaces.
- Files: src/testdir/test77.in
- Patch 7.3.511
- Problem: Using a FileReadCmd autocommand that does ":e! {file}" may cause a
- crash. (Christian Brabandt)
- Solution: Properly restore curwin->w_s.
- Files: src/fileio.c
- Patch 7.3.512
- Problem: undofile() returns a useless name when passed an empty string.
- Solution: Return an empty string. (Christian Brabandt)
- Files: src/eval.c
- Patch 7.3.513
- Problem: Cannot use CTRL-E and CTRL-Y with "r".
- Solution: Make CTRL-E and CTRL-Y work like in Insert mode. (Christian
- Brabandt)
- Files: src/edit.c, src/normal.c, src/proto/edit.pro
- Patch 7.3.514
- Problem: No completion for :history command.
- Solution: Add the completion and update the docs. Also fix ":behave"
- completion. (Dominique Pelle)
- Files: runtime/doc/cmdline.txt, runtime/doc/map.txt, src/ex_docmd.c,
- src/ex_getln.c, src/vim.h
- Patch 7.3.515
- Problem: 'wildignorecase' only applies to the last part of the path.
- Solution: Also ignore case for letters earlier in the path.
- Files: src/misc1.c
- Patch 7.3.516
- Problem: extend(o, o) may crash Vim.
- Solution: Fix crash and add test. (Thinca and Hirohito Higashi)
- Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
- Patch 7.3.517
- Problem: Crash when using "vipvv". (Alexandre Provencio)
- Solution: Don't let the text length become negative.
- Files: src/ops.c
- Patch 7.3.518
- Problem: When 'encoding' is a double-byte encoding ":helptags" may not find
- tags correctly.
- Solution: Use vim_strbyte() instead of vim_strchr(). (Yasuhiro Matsumoto)
- Files: src/ex_cmds.c
- Patch 7.3.519
- Problem: When completefunction returns it cannot indicate end of completion
- mode.
- Solution: Recognize completefunction returning -3. (Matsushita Shougo)
- Files: src/edit.c
- Patch 7.3.520
- Problem: gvim starts up slow on Ubuntu 12.04.
- Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
- Matsumoto) Do check $DISPLAY being set.
- Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
- Patch 7.3.521
- Problem: Using "z=" on a multibyte character may cause a crash.
- Solution: Don't use strlen() on an int pointer.
- Files: src/spell.c
- Patch 7.3.522
- Problem: Crash in vim_realloc() when using MEM_PROFILE.
- Solution: Avoid using a NULL argument. (Dominique Pelle)
- Files: src/eval.c
- Patch 7.3.523
- Problem: ":diffupdate" doesn't check for files changed elsewhere.
- Solution: Add the ! flag. (Christian Brabandt)
- Files: runtime/doc/diff.txt, src/diff.c, src/ex_cmds.h
- Patch 7.3.524 (after 7.3.523)
- Problem: Missing comma.
- Solution: Add the comma.
- Files: src/version.c
- Patch 7.3.525
- Problem: Compiler warning on 64 bit MS-Windows.
- Solution: Add type cast. (Mike Williams)
- Files: src/ex_getln.c
- Patch 7.3.526
- Problem: Confusing indenting for #ifdef.
- Solution: Remove and add indent. (Elias Diem)
- Files: src/normal.c
- Patch 7.3.527
- Problem: Clang complains about non-ASCII characters in a string.
- Solution: Change to \x88 form. (Dominique Pelle)
- Files: src/charset.c
- Patch 7.3.528
- Problem: Crash when closing last window in a tab. (Alex Efros)
- Solution: Use common code in close_last_window_tabpage(). (Christian
- Brabandt)
- Files: src/window.c
- Patch 7.3.529
- Problem: Using a count before "v" and "V" does not work (Kikyous)
- Solution: Make the count select that many characters or lines. (Christian
- Brabandt)
- Files: src/normal.c
- Patch 7.3.530 (after 7.3.520)
- Problem: gvim does not work when 'guioptions' includes "f". (Davido)
- Solution: Call gui_mch_init_check() when running GUI in the foreground.
- (Yasuhiro Matsumoto)
- Files: src/gui.c
- Patch 7.3.531 (after 7.3.530)
- Problem: GUI does not work on MS-Windows.
- Solution: Add the missing #ifdef. (Patrick Avery)
- Files: src/gui.c
- Patch 7.3.532
- Problem: Compiler warning from Clang.
- Solution: Use a different way to point inside a string. (Dominique Pelle)
- Files: src/syntax.c
- Patch 7.3.533
- Problem: Memory leak when writing undo file.
- Solution: Free the ACL. (Dominique Pelle)
- Files: src/undo.c
- Patch 7.3.534 (after 7.3.461)
- Problem: When using an InsertCharPre autocommand autoindent fails.
- Solution: Proper handling of v:char. (Alexey Radkov)
- Files: src/edit.c
- Patch 7.3.535
- Problem: Many #ifdefs for MB_MAXBYTES.
- Solution: Also define MB_MAXBYTES without the +multi_byte feature. Fix
- places where the buffer didn't include space for a NUL byte.
- Files: src/arabic.c, src/edit.c, src/eval.c, src/getchar.c, src/mbyte.c,
- src/misc1.c, src/screen.c, src/spell.c, src/vim.h
- Patch 7.3.536
- Problem: When spell checking the German sharp s is not seen as a word
- character. (Aexl Bender)
- Solution: In utf_islower() return true for the sharp s. Note: also need
- updated spell file for this to take effect.
- Files: src/mbyte.c
- Patch 7.3.537
- Problem: Unnecessary call to init_spell_chartab().
- Solution: Delete the call.
- Files: src/spell.c
- Patch 7.3.538
- Problem: 'efm' does not handle Tabs in pointer lines.
- Solution: Add Tab support. Improve tests. (Lech Lorens)
- Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
- Patch 7.3.539
- Problem: Redrawing a character on the command line does not work properly
- for multibyte characters.
- Solution: Count the number of bytes in a character. (Yukihiro Nakadaira)
- Files: src/ex_getln.c
- Patch 7.3.540
- Problem: Cursor is left on the text instead of the command line.
- Solution: Don't call setcursor() in command line mode.
- Files: src/getchar.c
- Patch 7.3.541
- Problem: When joining lines comment leaders need to be removed manually.
- Solution: Add the 'j' flag to 'formatoptions'. (Lech Lorens)
- Files: runtime/doc/change.txt, src/edit.c, src/ex_docmd.c, src/misc1.c,
- src/normal.c, src/ops.c, src/option.h, src/proto/misc1.pro,
- src/proto/ops.pro, src/search.c, src/testdir/test29.in,
- src/testdir/test29.ok
- Patch 7.3.542 (after 7.3.506)
- Problem: Function is sometimes unused.
- Solution: Add #ifdef.
- Files: src/gui_gtk.c
- Patch 7.3.543
- Problem: The cursor is in the wrong line after using ":copen". (John
- Beckett)
- Solution: Invoke more drastic redraw method.
- Files: src/eval.c
- Patch 7.3.544
- Problem: There is no good way to close a quickfix window when closing the
- last ordinary window.
- Solution: Add the QuitPre autocommand.
- Files: src/ex_docmd.c, src/fileio.c, src/vim.h
- Patch 7.3.545
- Problem: When closing a window or buffer autocommands may close it too,
- causing problems for where the autocommand was invoked from.
- Solution: Add the w_closing and b_closing flags. When set disallow ":q" and
- ":close" to prevent recursive closing.
- Files: src/structs.h, src/buffer.c, src/ex_docmd.c, src/window.c
- Patch 7.3.546
- Problem: Bogus line break.
- Solution: Remove the line break.
- Files: src/screen.c
- Patch 7.3.547 (after 7.3.541)
- Problem: Compiler warning for uninitialized variable.
- Solution: Initialize it.
- Files: src/ops.c
- Patch 7.3.548
- Problem: Compiler warning on 64 bit Windows.
- Solution: Add type cast. (Mike Williams)
- Files: src/ops.c
- Patch 7.3.549
- Problem: In 'cinoptions' "0s" is interpreted as one shiftwidth. (David
- Pineau)
- Solution: Use the zero as zero. (Lech Lorens)
- Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.550 (after 7.3.541)
- Problem: With "j" in 'formatoptions' a list leader is not removed. (Gary
- Johnson)
- Solution: Don't ignore the start of a three part comment. (Lech Lorens)
- Files: src/ops.c, src/testdir/test29.in, src/testdir/test29.ok
- Patch 7.3.551
- Problem: When using :tablose a TabEnter autocommand is triggered too early.
- (Karthick)
- Solution: Don't trigger *Enter autocommands before closing the tab.
- (Christian Brabandt)
- Files: src/buffer.c, src/eval.c, src/ex_cmds2.c, src/fileio.c,
- src/proto/window.pro, src/window.c
- Patch 7.3.552
- Problem: Formatting inside comments does not use the "2" flag in
- 'formatoptions'.
- Solution: Support the "2" flag. (Tor Perkins)
- Files: src/vim.h, src/ops.c, src/edit.c, src/misc1.c,
- src/testdir/test68.in, src/testdir/test68.ok
- Patch 7.3.553
- Problem: With double-width characters and 'listchars' containing "precedes"
- the text is displayed one cell off.
- Solution: Check for double-width character being overwritten by the
- "precedes" character. (Yasuhiro Matsumoto)
- Files: src/screen.c
- Patch 7.3.554 (after 7.3.551)
- Problem: Compiler warning for unused argument.
- Solution: Add UNUSED.
- Files: src/window.c
- Patch 7.3.555
- Problem: Building on IBM z/OS fails.
- Solution: Adjust configure. Use the QUOTESED value from config.mk instead of
- the hard coded one in Makefile. (Stephen Bovy)
- Files: src/configure.in, src/auto/configure, src/Makefile
- Patch 7.3.556
- Problem: Compiler warnings on 64 bit Windows.
- Solution: Add type casts. (Mike Williams)
- Files: src/misc1.c
- Patch 7.3.557
- Problem: Crash when an autocommand wipes out a buffer when it is hidden.
- Solution: Restore the current window when needed. (Christian Brabandt)
- Files: src/buffer.c
- Patch 7.3.558
- Problem: Memory access error. (Gary Johnson)
- Solution: Allocate one more byte. (Dominique Pelle)
- Files: src/misc1.c
- Patch 7.3.559
- Problem: home_replace() does not work with 8.3 filename.
- Solution: Make ":p" expand 8.3 name to full path. (Yasuhiro Matsumoto)
- Files: src/eval.c, src/misc1.c
- Patch 7.3.560
- Problem: Get an error for a locked argument in extend().
- Solution: Initialize the lock flag for a dictionary. (Yukihiro Nakadaira)
- Files: src/eval.c
- Patch 7.3.561
- Problem: Using refresh: always in a complete function breaks the "."
- command. (Val Markovic)
- Solution: Add match leader to the redo buffer. (Yasuhiro Matsumoto)
- Files: src/edit.c
- Patch 7.3.562
- Problem: ":profdel" should not work when the +profile feature is disabled.
- Solution: Call ex_ni(). (Yasuhiro Matsumoto)
- Files: src/ex_cmds2.c
- Patch 7.3.563 (after 7.3.557)
- Problem: Can't build with tiny features.
- Solution: Add #ifdef.
- Files: src/buffer.c
- Patch 7.3.564 (after 7.3.559)
- Problem: Warning for pointer conversion.
- Solution: Add type cast.
- Files: src/misc1.c
- Patch 7.3.565
- Problem: Can't generate proto file for Python 3.
- Solution: Add PYTHON3_CFLAGS to LINT_CFLAGS.
- Files: src/Makefile
- Patch 7.3.566 (after 7.3.561)
- Problem: Redo after completion does not work correctly when refresh: always
- is not used. (Raymond Ko)
- Solution: Check the compl_opt_refresh_always flag. (Christian Brabandt)
- Files: src/edit.c
- Patch 7.3.567
- Problem: Missing copyright notice.
- Solution: Add Vim copyright notice. (Taro Muraoka)
- Files: src/dehqx.py
- Patch 7.3.568
- Problem: Bad indents for #ifdefs.
- Solution: Add and remove spaces. (Elias Diem)
- Files: src/globals.h
- Patch 7.3.569
- Problem: Evaluating Vim expression in Python is insufficient.
- Solution: Add vim.bindeval(). Also add pyeval() and py3eval(). (ZyX)
- Files: runtime/doc/eval.txt, runtime/doc/if_pyth.txt, src/eval.c,
- src/if_lua.c, src/if_py_both.h, src/if_python.c, src/if_python3.c,
- src/proto/eval.pro, src/proto/if_python.pro,
- src/proto/if_python3.pro, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Makefile,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.570
- Problem: ":vimgrep" does not obey 'wildignore'.
- Solution: Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat)
- Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/quickfix.c, src/spell.c
- Patch 7.3.571
- Problem: Duplicated condition.
- Solution: Remove one. (Dominique Pelle)
- Files: src/os_win32.c
- Patch 7.3.572
- Problem: Duplicate statement in if and else. (Dominique Pelle)
- Solution: Remove the condition and add a TODO.
- Files: src/gui_xmebw.c
- Patch 7.3.573
- Problem: Using array index before bounds checking.
- Solution: Swap the parts of the condition. (Dominique Pelle)
- Files: src/ops.c
- Patch 7.3.574
- Problem: When pasting a register in the search command line a CTRL-L
- character is not pasted. (Dominique Pelle)
- Solution: Escape the CTRL-L. (Christian Brabandt)
- Files: src/ex_getln.c
- Patch 7.3.575
- Problem: "ygt" tries to yank instead of giving an error. (Daniel Mueller)
- Solution: Check for a pending operator.
- Files: src/normal.c
- Patch 7.3.576
- Problem: Formatting of lists inside comments is not right yet.
- Solution: Use another solution and add a test. (Tor Perkins)
- Files: src/edit.c, src/misc1.c, src/testdir/test68.in,
- src/testdir/test69.ok
- Patch 7.3.577
- Problem: Size of memory does not fit in 32 bit unsigned.
- Solution: Use Kbyte instead of byte. Call GlobalMemoryStatusEx() instead of
- GlobalMemoryStatus() when available.
- Files: src/misc2.c, src/option.c, src/os_amiga.c, src/os_msdos.c,
- src/os_win16.c, src/os_win32.c
- Patch 7.3.578
- Problem: Misplaced declaration.
- Solution: Move declaration to start of block.
- Files: src/if_py_both.h
- Patch 7.3.579 (after 7.3.569)
- Problem: Can't compile with Python 2.5.
- Solution: Use PyCObject when Capsules are not available.
- Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
- Patch 7.3.580
- Problem: Warning on 64 bit MS-Windows.
- Solution: Add type cast. (Mike Williams)
- Files: src/if_py_both.h
- Patch 7.3.581
- Problem: Problems compiling with Python.
- Solution: Pick UCS2 or UCS4 function at runtime. (lilydjwg)
- Files: src/if_python.c
- Patch 7.3.582 (after 7.3.576)
- Problem: Missing parts of the test OK file.
- Solution: Add the missing parts.
- Files: src/testdir/test68.ok
- Patch 7.3.583
- Problem: PyObject_NextNotImplemented is not defined before Python 2.7.
- (Danek Duvall)
- Solution: Add #ifdefs.
- Files: src/if_python.c
- Patch 7.3.584
- Problem: PyCObject is not always defined.
- Solution: Use PyObject instead.
- Files: src/if_py_both.h, src/if_python.c
- Patch 7.3.585
- Problem: Calling changed_bytes() too often.
- Solution: Move changed_bytes() out of a loop. (Tor Perkins)
- Files: src/edit.c
- Patch 7.3.586
- Problem: When compiling with Cygwin or MingW MEMORYSTATUSEX is not defined.
- Solution: Set the default for WINVER to 0x0500.
- Files: src/Make_ming.mak, src/Make_cyg.mak
- Patch 7.3.587
- Problem: Compiler warning for local var shadowing global var.
- Solution: Rename the var and move it to an inner block. (Christian Brabandt)
- Files: src/buffer.c
- Patch 7.3.588
- Problem: Crash on NULL pointer.
- Solution: Fix the immediate problem by checking for NULL. (Lech Lorens)
- Files: src/window.c
- Patch 7.3.589
- Problem: Crash when $HOME is not set.
- Solution: Check for a NULL pointer. (Chris Webb)
- Files: src/misc1.c
- Patch 7.3.590
- Problem: The '< and '> marks cannot be set directly.
- Solution: Allow setting '< and '>. (Christian Brabandt)
- Files: src/mark.c
- Patch 7.3.591
- Problem: Can only move to a tab by absolute number.
- Solution: Move a number of tabs to the left or the right. (Lech Lorens)
- Files: runtime/doc/tabpage.txt, src/ex_cmds.h, src/ex_docmd.c,
- src/testdir/test62.in, src/testdir/test62.ok, src/window.c
- Patch 7.3.592
- Problem: Vim on GTK does not support g:browsefilter.
- Solution: Add a GtkFileFilter to the file chooser. (Christian Brabandt)
- Files: src/gui_gtk.c
- Patch 7.3.593
- Problem: No easy way to decide if b:browsefilter will work.
- Solution: Add the browsefilter feature.
- Files: src/gui_gtk.c, src/eval.c, src/vim.h
- Patch 7.3.594
- Problem: The X command server doesn't work perfectly. It sends an empty
- reply for as-keys requests.
- Solution: Remove duplicate ga_init2(). Do not send a reply for as-keys
- requests. (Brian Burns)
- Files: src/if_xcmdsrv.c
- Patch 7.3.595
- Problem: The X command server responds slowly
- Solution: Change the loop that waits for replies. (Brian Burns)
- Files: src/if_xcmdsrv.c
- Patch 7.3.596
- Problem: Can't remove all signs for a file or buffer.
- Solution: Support "*" for the sign id. (Christian Brabandt)
- Files: runtime/doc/sign.txt, src/buffer.c, src/ex_cmds.c,
- src/proto/buffer.pro
- Patch 7.3.597
- Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey
- Vakulenko)
- Solution: Make 'autoselect' work for the + register. (Christian Brabandt)
- Add the "autoselectplus" option in 'clipboard' and the "P" flag in
- 'guioptions'.
- Files: runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c,
- src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c
- Patch 7.3.598
- Problem: Cannot act upon end of completion. (Taro Muraoka)
- Solution: Add an autocommand event that is triggered when completion has
- finished. (Idea by Florian Klein)
- Files: src/edit.c, src/fileio.c, src/vim.h
- Patch 7.3.599 (after 7.3.597)
- Problem: Missing change in one file.
- Solution: Patch for changed clip_autoselect().
- Files: src/option.c
- Patch 7.3.600
- Problem: <f-args> is not expanded properly with DBCS encoding.
- Solution: Skip over character instead of byte. (Yukihiro Nakadaira)
- Files: src/ex_docmd.c
- Patch 7.3.601
- Problem: Bad code style.
- Solution: Insert space, remove parens.
- Files: src/farsi.c
- Patch 7.3.602
- Problem: Missing files in distribution.
- Solution: Update the list of files.
- Files: Filelist
- Patch 7.3.603
- Problem: It is possible to add replace builtin functions by calling
- extend() on g:.
- Solution: Add a flag to a dict to indicate it is a scope. Check for
- existing functions. (ZyX)
- Files: src/buffer.c, src/eval.c, src/proto/eval.pro, src/structs.h,
- src/testdir/test34.in, src/testdir/test34.ok, src/window.c
- Patch 7.3.604
- Problem: inputdialog() doesn't use the cancel argument in the console.
- (David Fishburn)
- Solution: Use the third argument. (Christian Brabandt)
- Files: src/eval.c
- Patch 7.3.605 (after 7.3.577)
- Problem: MS-Windows: Can't compile with older compilers. (Titov Anatoly)
- Solution: Add #ifdef for MEMORYSTATUSEX.
- Files: src/os_win32.c
- Patch 7.3.606
- Problem: CTRL-P completion has a problem with multibyte characters.
- Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
- Files: src/search.c, src/macros.h
- Patch 7.3.607
- Problem: With an 8 color terminal the selected menu item is black on black,
- because darkGrey as bg is the same as black.
- Solution: Swap fg and bg colors. (James McCoy)
- Files: src/syntax.c
- Patch 7.3.608
- Problem: winrestview() does not always restore the view correctly.
- Solution: Call win_new_height() and win_new_width(). (Lech Lorens)
- Files: src/eval.c, src/proto/window.pro, src/window.c
- Patch 7.3.609
- Problem: File names in :checkpath! output are garbled.
- Solution: Check for \zs in the pattern. (Lech Lorens)
- Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok
- Patch 7.3.610
- Problem: Cannot operate on the text that a search pattern matches.
- Solution: Add the "gn" and "gN" commands. (Christian Brabandt)
- Files: runtime/doc/index.txt, runtime/doc/visual.txt, src/normal.c,
- src/proto/search.pro, src/search.c, src/testdir/test53.in,
- src/testdir/test53.ok
- Patch 7.3.611
- Problem: Can't use Vim dictionary as self argument in Python.
- Solution: Fix the check for the "self" argument. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.612
- Problem: Auto formatting messes up text when 'fo' contains "2". (ZyX)
- Solution: Decrement "less_cols". (Tor Perkins)
- Files: src/misc1.c, src/testdir/test68.in, src/testdir/test68.ok
- Patch 7.3.613
- Problem: Including Python's config.c in the build causes trouble. It is
- not clear why it was there.
- Solution: Omit the config file. (James McCoy)
- Files: src/Makefile, src/auto/configure, src/configure.in
- Patch 7.3.614
- Problem: Number argument gets turned into a number while it should be a
- string.
- Solution: Add flag to the call_vim_function() call. (Yasuhiro Matsumoto)
- Files: src/edit.c, src/eval.c, src/proto/eval.pro
- Patch 7.3.615
- Problem: Completion for a user command does not recognize backslash before
- a space.
- Solution: Recognize escaped characters. (Yasuhiro Matsumoto)
- Files: src/ex_docmd.c
- Patch 7.3.616 (after 7.3.610)
- Problem: Can't compile without +visual.
- Solution: Add #ifdef.
- Files: src/normal.c
- Patch 7.3.617 (after 7.3.615)
- Problem: Hang on completion.
- Solution: Skip over the space. (Yasuhiro Matsumoto)
- Files: src/ex_docmd.c
- Patch 7.3.618 (after 7.3.616)
- Problem: Still doesn't compile with small features.
- Solution: Move current_search() out of #ifdef. (Dominique Pelle)
- Files: src/normal.c, src/search.c
- Patch 7.3.619
- Problem: When executing a shell command Vim may become slow to respond.
- Solution: Don't wait after every processed message. (idea by Yasuhiro
- Matsumoto)
- Files: src/os_win32.c
- Patch 7.3.620
- Problem: Building with recent Ruby on Win32 doesn't work.
- Solution: Add a separate argument for the API version. (Yasuhiro Matsumoto)
- Files: src/Make_ming.mak, src/Make_mvc.mak
- Patch 7.3.621
- Problem: Compiler warnings on 64 bit windows.
- Solution: Add type casts. (Mike Williams)
- Files: src/ex_docmd.c, src/search.c
- Patch 7.3.622
- Problem: XPM library for Win32 can't be found.
- Solution: Suggest using the one from the Vim ftp site.
- Files: src/Make_mvc.mak
- Patch 7.3.623
- Problem: Perl 5.14 commands crash Vim on MS-Windows.
- Solution: Use perl_get_sv() instead of GvSV(). (Raymond Ko)
- Files: src/if_perl.xs
- Patch 7.3.624
- Problem: When cancelling input() it returns the third argument. That should
- only happen for inputdialog().
- Solution: Check if inputdialog() was used. (Hirohito Higashi)
- Files: src/eval.c
- Patch 7.3.625
- Problem: "gn" does not handle zero-width matches correctly.
- Solution: Handle zero-width patterns specially. (Christian Brabandt)
- Files: src/search.c
- Patch 7.3.626
- Problem: Python interface doesn't build with Python 2.4 or older.
- Solution: Define Py_ssize_t. (Benjamin Bannier)
- Files: src/if_py_both.h
- Patch 7.3.627
- Problem: When using the "n" flag with the ":s" command a \= substitution
- will not be evaluated.
- Solution: Do perform the evaluation, so that a function can be invoked at
- every matching position without changing the text. (Christian
- Brabandt)
- Files: src/ex_cmds.c
- Patch 7.3.628
- Problem: ":open" does not allow for a !, which results in a confusing error
- message. (Shawn Wilson)
- Solution: Allow ! on ":open". (Christian Brabandt)
- Files: src/ex_cmds.h
- Patch 7.3.629
- Problem: There is no way to make 'shiftwidth' follow 'tabstop'.
- Solution: When 'shiftwidth' is zero use the value of 'tabstop'. (Christian
- Brabandt)
- Files: src/edit.c, src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c,
- src/option.c, src/proto/option.pro
- Patch 7.3.630
- Problem: "|" does not behave correctly when 'virtualedit' is set.
- Solution: Call validate_virtcol(). (David Bürgin)
- Files: src/normal.c
- Patch 7.3.631
- Problem: Cannot complete user names.
- Solution: Add user name completion. (Dominique Pelle)
- Files: runtime/doc/map.txt, src/auto/configure, src/config.h.in,
- src/configure.in, src/ex_docmd.c, src/ex_getln.c, src/misc1.c,
- src/misc2.c, src/proto/misc1.pro, src/vim.h
- Patch 7.3.632
- Problem: Cannot select beyond 222 columns with the mouse in xterm.
- Solution: Add support for SGR mouse tracking. (Hayaki Saito)
- Files: runtime/doc/options.txt, src/feature.h, src/keymap.h, src/misc2.c,
- src/option.h, src/os_unix.c, src/term.c, src/version.c
- Patch 7.3.633
- Problem: Selection remains displayed as selected after selecting another
- text.
- Solution: Call xterm_update() before select(). (Andrew Pimlott)
- Files: src/os_unix.c
- Patch 7.3.634
- Problem: Month/Day format for undo is confusing. (Marcin Szamotulski)
- Solution: Always use Year/Month/Day, should work for everybody.
- Files: src/undo.c
- Patch 7.3.635
- Problem: Issue 21: System call during startup sets 'lines' to a wrong
- value. (Karl Yngve)
- Solution: Don't set the shell size while the GUI is still starting up.
- (Christian Brabandt)
- Files: src/ui.c
- Patch 7.3.636 (after 7.3.625)
- Problem: Not all zero-width matches handled correctly for "gn".
- Solution: Move zero-width detection to a separate function. (Christian
- Brabandt)
- Files: src/search.c
- Patch 7.3.637
- Problem: Cannot catch the error caused by a foldopen when there is no fold.
- (ZyX, Issue 48)
- Solution: Do not break out of the loop early when inside try/catch.
- (Christian Brabandt) Except when there is a syntax error.
- Files: src/ex_docmd.c, src/globals.h
- Patch 7.3.638
- Problem: Unnecessary redraw of the previous character.
- Solution: Check if the character is double-width. (Jon Long)
- Files: src/screen.c
- Patch 7.3.639
- Problem: It's not easy to build Vim on Windows with XPM support.
- Solution: Include the required files, they are quite small. Update the
- MSVC makefile to use them. Binary files are in the next patch.
- (Sergey Khorev)
- Files: src/xpm/COPYRIGHT, src/xpm/README.txt, src/xpm/include/simx.h,
- src/xpm/include/xpm.h, src/Make_mvc.mak, src/bigvim.bat,
- src/bigvim64.bat, Filelist
- Patch 7.3.640
- Problem: It's not easy to build Vim on Windows with XPM support.
- Solution: Binary files for 7.3.639. (Sergey Khorev)
- Files: src/xpm/x64/lib/libXpm.lib, src/xpm/x86/lib/libXpm.a,
- src/xpm/x86/lib/libXpm.lib
- Patch 7.3.641
- Problem: ":mkview" uses ":normal" instead of ":normal!" for folds. (Dan)
- Solution: Add the bang. (Christian Brabandt)
- Files: src/fold.c
- Patch 7.3.642
- Problem: Segfault with specific autocommands. Was OK after 7.3.449 and
- before 7.3.545. (Richard Brown)
- Solution: Pass TRUE for abort_if_last in the call to close_buffer().
- (Christian Brabandt)
- Files: src/window.c
- Patch 7.3.643 (after 7.3.635)
- Problem: MS-Windows: When starting gvim maximized 'lines' and 'columns' are
- wrong. (Christian Robinson)
- Solution: Move the check for gui.starting from ui_get_shellsize() to
- check_shellsize().
- Files: src/ui.c, src/term.c
- Patch 7.3.644
- Problem: Dead code for BeOS GUI.
- Solution: Remove unused __BEOS__ stuff.
- Files: src/gui.c
- Patch 7.3.645
- Problem: No tests for patch 7.3.625 and 7.3.637.
- Solution: Add more tests for the "gn" command and try/catch. (Christian
- Brabandt)
- Files: src/testdir/test53.in, src/testdir/test53.ok,
- src/testdir/test55.in, src/testdir/test55.ok
- Patch 7.3.646
- Problem: When reloading a buffer the undo file becomes unusable unless ":w"
- is executed. (Dmitri Frank)
- Solution: After reloading the buffer write the undo file. (Christian
- Brabandt)
- Files: src/fileio.c
- Patch 7.3.647
- Problem: "gnd" doesn't work correctly in Visual mode.
- Solution: Handle Visual mode differently in "gn". (Christian Brabandt)
- Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok
- Patch 7.3.648
- Problem: Crash when using a very long file name. (ZyX)
- Solution: Properly check length of buffer space.
- Files: src/buffer.c
- Patch 7.3.649
- Problem: When 'clipboard' is set to "unnamed" small deletes end up in the
- numbered registers. (Ingo Karkat)
- Solution: Use the original register name to decide whether to put a delete
- in a numbered register. (Christian Brabandt)
- Files: src/ops.c
- Patch 7.3.650
- Problem: Completion after ":help \{-" gives an error message and messes up
- the command line.
- Solution: Cancel the tag search if the pattern can't be compiled. (Yasuhiro
- Matsumoto)
- Files: src/tag.c
- Patch 7.3.651
- Problem: Completion after ":help \{-" gives an error message.
- Solution: Prepend a backslash.
- Files: src/ex_cmds.c
- Patch 7.3.652
- Problem: Workaround for Python crash isn't perfect.
- Solution: Change the type of the length argument. (Sean Estabrooks)
- Files: src/if_py_both.h
- Patch 7.3.653
- Problem: MingW needs build rule for included XPM files. Object directory
- for 32 and 64 builds is the same, also for MSVC.
- Solution: Add MingW build rule to use included XPM files. Add the CPU or
- architecture to the object directory name. (Sergey Khorev)
- Files: src/Make_ming.mak, src/Make_mvc.mak, src/xpm/README.txt
- Patch 7.3.654
- Problem: When creating a Vim dictionary from Python objects an empty key
- might be used.
- Solution: Do not use empty keys, throw an IndexError. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.655
- Problem: 64 bit MingW xpm .a file is missing.
- Solution: Add the file. (Sergey Khorev)
- Files: src/xpm/x64/lib/libXpm.a
- Patch 7.3.656
- Problem: Internal error in :pyeval.
- Solution: Handle failed object conversion. (ZyX)
- Files: src/if_python.c, src/if_python3.c
- Patch 7.3.657
- Problem: Python bindings silently truncate string values containing NUL.
- Solution: Fail when a string contains NUL. (ZyX)
- Files: src/if_python.c, src/if_python3.c
- Patch 7.3.658
- Problem: NUL bytes truncate strings when converted from Python.
- Solution: Handle truncation as an error. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c
- Patch 7.3.659
- Problem: Recent Python changes are not tested.
- Solution: Add tests for Python bindings. (ZyX)
- Files: src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.660
- Problem: ":help !" jumps to help for ":!".
- Solution: Adjust check for tag header line. (Andy Wokula)
- Files: src/tag.c
- Patch 7.3.661 (after 7.3.652)
- Problem: SEGV in Python code.
- Solution: Initialize len to zero. Use the right function depending on
- version. (Maxim Philippov)
- Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
- Patch 7.3.662
- Problem: Can't build Ruby interface with Ruby 1.9.3.
- Solution: Add missing functions. (V. Ondruch)
- Files: src/if_ruby.c
- Patch 7.3.663
- Problem: End of color scheme name not clear in E185. (Aaron Lewis)
- Solution: Put the name in single quotes.
- Files: src/ex_docmd.c
- Patch 7.3.664
- Problem: Buffer overflow in unescaping text. (Raymond Ko)
- Solution: Limit check for multibyte character to 4 bytes.
- Files: src/mbyte.c
- Patch 7.3.665
- Problem: MSVC 11 is not supported. (Raymond Ko)
- Solution: Recognize MSVC 11. (Gary Willoughby)
- Files: src/Make_mvc.mak
- Patch 7.3.666
- Problem: With MSVC 11 Win32.mak is not found.
- Solution: Add the SDK_INCLUDE_DIR variable. (Raymond Ko)
- Files: src/Make_mvc.mak
- Patch 7.3.667
- Problem: Unused variables in Perl interface.
- Solution: Adjust #ifdefs.
- Files: src/if_perl.xs
- Patch 7.3.668
- Problem: Building with Perl loaded dynamically still uses static library.
- Solution: Adjust use of PL_thr_key. (Ken Takata)
- Files: src/if_perl.xs
- Patch 7.3.669
- Problem: When building with Cygwin loading Python dynamically fails.
- Solution: Use DLLLIBRARY instead of INSTSONAME. (Ken Takata)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.670
- Problem: Python: memory leaks when there are exceptions.
- Solution: Add DICTKEY_UNREF in the right places. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.671
- Problem: More Python code can be shared between Python 2 and 3.
- Solution: Move code to if_py_both.h. (ZyX)
- Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
- Patch 7.3.672
- Problem: Not possible to lock/unlock lists in Python interface.
- Solution: Add .locked and .scope attributes. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c,
- src/if_python3.c, src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.673
- Problem: Using "gN" while 'selection' is "exclusive" misses one character.
- (Ben Fritz)
- Solution: Check the direction when compensating for exclusive selection.
- (Christian Brabandt)
- Files: src/search.c
- Patch 7.3.674
- Problem: Can't compile with Lua/dyn on Cygwin.
- Solution: Adjust configure to use the right library name. (Ken Takata)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.675
- Problem: Using uninitialized memory with very long file name.
- Solution: Put NUL after text when it is truncated. (ZyX)
- Files: src/buffer.c
- Patch 7.3.676
- Problem: Ruby compilation on Windows 32 bit doesn't work.
- Solution: Only use some functions for 64 bit. (Ken Takata)
- Files: src/if_ruby.c
- Patch 7.3.677
- Problem: buf_spname() is used inconsistently.
- Solution: Make the return type a char_u pointer. Check the size of the
- returned string.
- Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds2.c,
- src/ex_docmd.c, src/memline.c, src/screen.c
- Patch 7.3.678
- Problem: Ruby .so name may not be correct.
- Solution: Use the LIBRUBY_SO entry from the config. (Vit Ondruch)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.679
- Problem: Ruby detection uses Config, newer Ruby versions use RbConfig.
- Solution: Detect the need to use RbConfig. (Vit Ondruch)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.680
- Problem: Some files missing in the list of distributed files.
- Solution: Add lines for new files.
- Files: Filelist
- Patch 7.3.681 (after 7.3.680)
- Problem: List of distributed files picks up backup files.
- Solution: Make tutor patterns more specific.
- Files: Filelist
- Patch 7.3.682 (after 7.3.677)
- Problem: Compiler complains about incompatible types.
- Solution: Remove type casts. (hint by Danek Duvall)
- Files: src/edit.c
- Patch 7.3.683
- Problem: ":python" may crash when vimbindeval() returns None.
- Solution: Check for v_string to be NULL. (Yukihiro Nakadaira)
- Files: src/if_py_both.h
- Patch 7.3.684
- Problem: "make test" does not delete lua.vim.
- Solution: Add lua.vim to the clean target. (Simon Ruderich)
- Files: src/testdir/Makefile, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_vms.mms
- Patch 7.3.685
- Problem: No test for what patch 7.3.673 fixes.
- Solution: Add a test. (Christian Brabandt)
- Files: src/testdir/test53.in, src/testdir/test53.ok
- Patch 7.3.686
- Problem: Using CTRL-\ e mappings is useful also when entering an
- expression, but it doesn't work. (Marcin Szamotulski)
- Solution: Allow using CTRL-\ e when entering an expression if it was not
- typed.
- Files: src/ex_getln.c
- Patch 7.3.687
- Problem: Test 16 fails when $DISPLAY is not set.
- Solution: Skip the test when $DISPLAY is not set.
- Files: src/testdir/test16.in
- Patch 7.3.688
- Problem: Python 3.3 is not supported.
- Solution: Add Python 3.3 support (Ken Takata)
- Files: src/if_python3.c
- Patch 7.3.689
- Problem: MzScheme and Lua may use a NULL string.
- Solution: Use an empty string instead of NULL. (Yukihiro Nakadaira)
- Files: src/if_lua.c, src/if_mzsch.c
- Patch 7.3.690
- Problem: When the current directory name is exactly the maximum path length
- Vim may crash.
- Solution: Only add "/" when there is room. (Danek Duvall)
- Files: src/os_unix.c
- Patch 7.3.691
- Problem: State specific to the Python thread is discarded.
- Solution: Keep state between threads. (Paul)
- Files: src/if_python.c
- Patch 7.3.692
- Problem: Can't build GTK version with GTK 2.0.
- Solution: Put GtkFileFilter declaration in the right place. (Yegappan
- Lakshmanan)
- Files: src/gui_gtk.c
- Patch 7.3.693
- Problem: Can't make 'softtabstop' follow 'shiftwidth'.
- Solution: When 'softtabstop' is negative use the value of 'shiftwidth'.
- (so8res)
- Files: src/edit.c, src/option.c, src/proto/option.pro
- Patch 7.3.694
- Problem: Now that 'shiftwidth' may use the value of 'tabstop' it is not so
- easy to use in indent files.
- Solution: Add the shiftwidth() function. (so8res)
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.3.695
- Problem: Balloon cannot show multibyte text.
- Solution: Properly deal with multibyte characters. (Dominique Pelle)
- Files: src/gui_beval.c, src/ui.c
- Patch 7.3.696
- Problem: Message about added spell language can be wrong.
- Solution: Give correct message. Add g:menutrans_set_lang_to to allow for
- translation. (Jiri Sedlak)
- Files: runtime/menu.vim
- Patch 7.3.697
- Problem: Leaking resources when setting GUI font.
- Solution: Free the font. (Ken Takata)
- Files: src/syntax.c
- Patch 7.3.698
- Problem: Python 3 does not preserve state between commands.
- Solution: Preserve the state. (Paul Ollis)
- Files: src/if_python.c, src/if_python3.c
- Patch 7.3.699
- Problem: When 'ttymouse' is set to "sgr" manually, it is overruled by
- automatic detection.
- Solution: Do not use automatic detection when 'ttymouse' was set manually.
- (Hayaki Saito)
- Files: src/term.c
- Patch 7.3.700
- Problem: Cannot detect URXVT and SGR mouse support.
- Solution: add +mouse_urxvt and +mouse_sgr. (Hayaki Saito)
- Files: src/feature.h, src/eval.c
- Patch 7.3.701
- Problem: MS-Windows: Crash with stack overflow when setting 'encoding'.
- Solution: Handle that loading the iconv library may be called recursively.
- (Jiri Sedlak)
- Files: src/os_win32.c
- Patch 7.3.702
- Problem: Nmake from VS6 service pack 6 is not recognized.
- Solution: Detect the version number. (Jiri Sedlak)
- Files: src/Make_mvc.mak
- Patch 7.3.703
- Problem: When 'undofile' is reset the hash is computed unnecessarily.
- Solution: Only compute the hash when the option was set. (Christian Brabandt)
- Files: src/option.c
- Patch 7.3.704
- Problem: Repeating "cgn" does not always work correctly.
- Solution: Also fetch the operator character. (Christian Brabandt)
- Files: src/normal.c
- Patch 7.3.705
- Problem: Mouse features are not sorted properly. (Tony Mechelynck)
- Solution: Put the mouse features in alphabetical order.
- Files: src/version.c
- Patch 7.3.706 (after 7.3.697)
- Problem: Can't build Motif version.
- Solution: Fix wrongly named variable. (Ike Devolder)
- Files: src/syntax.c
- Patch 7.3.707 (after 7.3.701)
- Problem: Problems loading a library for a file name with non-latin
- characters.
- Solution: Use wide system functions when possible. (Ken Takata)
- Files: src/os_win32.c, src/os_win32.h
- Patch 7.3.708
- Problem: Filler lines above the first line may be hidden when opening Vim.
- Solution: Change how topfill is computed. (Christian Brabandt)
- Files: src/diff.c, src/testdir/test47.in, src/testdir/test47.ok
- Patch 7.3.709
- Problem: Compiler warning for unused argument.
- Solution: Add UNUSED.
- Files: src/eval.c
- Patch 7.3.710 (after 7.3.704)
- Problem: Patch 7.3.704 breaks "fn".
- Solution: Add check for ca.cmdchar. (Christian Brabandt)
- Files: src/normal.c
- Patch 7.3.711 (after 7.3.688)
- Problem: vim.current.buffer is not available. (lilydjwg)
- Solution: Use py3_PyUnicode_AsUTF8 instead of py3_PyUnicode_AsUTF8String.
- (Ken Takata)
- Files: src/if_python3.c
- Patch 7.3.712
- Problem: Nmake from VS2010 SP1 is not recognized.
- Solution: Add the version number. (Ken Takata)
- Files: src/Make_mvc.mak
- Patch 7.3.713
- Problem: printf() can only align to bytes, not characters.
- Solution: Add the "S" item. (Christian Brabandt)
- Files: runtime/doc/eval.txt, src/message.c
- Patch 7.3.714
- Problem: Inconsistency: :set can be used in the sandbox, but :setlocal and
- :setglobal cannot. (Michael Henry)
- Solution: Fix the flags for :setlocal and :setglobal. (Christian Brabandt)
- Files: src/ex_cmds.h
- Patch 7.3.715
- Problem: Crash when calling setloclist() in BufUnload autocmd. (Marcin
- Szamotulski)
- Solution: Set w_llist to NULL when it was freed. Also add a test.
- (Christian Brabandt)
- Files: src/quickfix.c, src/testdir/test49.ok, src/testdir/test49.vim
- Patch 7.3.716
- Problem: Error on exit when using Python 3.
- Solution: Remove PythonIO_Fini(). (Roland Puntaier)
- Files: src/if_python3.c
- Patch 7.3.717
- Problem: When changing the font size, only MS-Windows limits the window
- size.
- Solution: Also limit the window size on other systems. (Roland Puntaier)
- Files: src/gui.c
- Patch 7.3.718
- Problem: When re-using the current buffer the buffer-local options stay.
- Solution: Re-initialize the buffer-local options. (Christian Brabandt)
- Files: src/buffer.c
- Patch 7.3.719
- Problem: Cannot run new version of cproto, it fails on missing include
- files.
- Solution: Add lots of #ifndef PROTO
- Files: src/os_amiga.c, src/os_amiga.h, src/gui_w16.c, src/gui_w48.c,
- src/gui_w32.c, src/vimio.h, src/os_msdos.c, src/os_msdos.h,
- src/os_win16.h, src/os_win16.c, src/os_win32.h, src/os_win32.c,
- src/os_mswin.c, src/gui_photon.c, src/os_unix.h, src/os_beos.c,
- src/os_beos.h
- Patch 7.3.720
- Problem: Proto files are outdated.
- Solution: Update the newly generated proto files.
- Files: src/proto/digraph.pro, src/proto/fold.pro, src/proto/misc1.pro,
- src/proto/move.pro, src/proto/screen.pro, src/proto/search.pro,
- src/proto/os_win32.pro, src/proto/os_mswin.pro,
- src/proto/os_beos.pro
- Patch 7.3.721
- Problem: Ruby interface defines local functions globally.
- Solution: Make the functions static.
- Files: src/if_ruby.c
- Patch 7.3.722
- Problem: Perl flags may contain "-g", which breaks "make proto".
- Solution: Filter out the "-g" flag for cproto. (Ken Takata)
- Files: src/Makefile
- Patch 7.3.723
- Problem: Various tiny problems.
- Solution: Various tiny fixes.
- Files: src/gui_mac.c, src/xpm_w32.c, src/netbeans.c, src/sha256.c,
- src/if_sniff.c, README.txt
- Patch 7.3.724
- Problem: Building with Ruby and Tcl on MS-Windows 64 bit does not work.
- Solution: Remove Ruby and Tcl from the big MS-Windows build.
- Files: src/bigvim64.bat
- Patch 7.3.725
- Problem: :aboveleft and :belowright have no effect on :copen.
- Solution: Check for cmdmod.split. (Christian Brabandt)
- Files: src/quickfix.c
- Patch 7.3.726
- Problem: Typos and duplicate info in README.
- Solution: Fix the text.
- Files: README.txt
- Patch 7.3.727
- Problem: Can't always find Win32.mak when building GvimExt.
- Solution: Use same mechanism as in Make_mvc.mak. (Cade Foster)
- Files: src/GvimExt/Makefile
- Patch 7.3.728
- Problem: Cannot compile with MzScheme interface on Ubuntu 12.10.
- Solution: Find the collects directory under /usr/share.
- Files: src/configure.in, src/auto/configure
- Patch 7.3.729
- Problem: Building with Ruby fails on some systems.
- Solution: Remove "static" and add #ifndef PROTO. (Ken Takata)
- Files: src/if_ruby.c
- Patch 7.3.730
- Problem: Crash in PHP file when using syntastic. (Ike Devolder)
- Solution: Avoid using NULL pointer. (Christian Brabandt)
- Files: src/quickfix.c
- Patch 7.3.731
- Problem: Py3Init_vim() is exported unnecessarily.
- Solution: Make it static. (Ken Takata)
- Files: src/if_python3.c
- Patch 7.3.732
- Problem: Compiler warnings for function arguments.
- Solution: Use inteptr_t instead of long.
- Files: src/if_mzsch.c, src/main.c
- Patch 7.3.733
- Problem: Tests fail when including MzScheme.
- Solution: Change #ifdefs for vim_main2().
- Files: src/main.c
- Patch 7.3.734
- Problem: Cannot put help files in a sub-directory.
- Solution: Make :helptags work for sub-directories. (Charles Campbell)
- Files: src/ex_cmds.c
- Patch 7.3.735
- Problem: Cannot build Ruby 1.9 with MingW or Cygwin.
- Solution: Add another include directory. (Ken Takata)
- Files: src/Make_cyg.mak, src/Make_ming.mak
- Patch 7.3.736
- Problem: File name completion in input() escapes white space. (Frederic
- Hardy)
- Solution: Do not escape white space. (Christian Brabandt)
- Files: src/ex_getln.c
- Patch 7.3.737
- Problem: When using do_cmdline() recursively did_endif is not reset,
- causing messages to be overwritten.
- Solution: Reset did_endif. (Christian Brabandt)
- Files: src/ex_docmd.c
- Patch 7.3.738 (after 7.3.730)
- Problem: Unused function argument.
- Solution: Remove it. (Christian Brabandt)
- Files: src/quickfix.c
- Patch 7.3.739
- Problem: Computing number of lines may have an integer overflow.
- Solution: Check for MAXCOL explicitly. (Dominique Pelle)
- Files: src/move.c
- Patch 7.3.740
- Problem: IOC tool complains about undefined behavior for int.
- Solution: Change to unsigned int. (Dominique Pelle)
- Files: src/hashtab.c, src/misc2.c
- Patch 7.3.741 (after 7.3.737)
- Problem: Tiny build fails.
- Solution: Move #ifdef. (Ike Devolder)
- Files: src/ex_docmd.c
- Patch 7.3.742
- Problem: Leaking memory when :vimgrep restores the directory.
- Solution: Free the allocated memory. (Christian Brabandt)
- Files: src/quickfix.c
- Patch 7.3.743 (after 7.3.741)
- Problem: Tiny build still fails.
- Solution: Add #else in the right place.
- Files: src/ex_docmd.c
- Patch 7.3.744
- Problem: 64 bit compiler warning.
- Solution: Add type cast. (Mike Williams)
- Files: src/ex_cmds.c
- Patch 7.3.745
- Problem: Automatically setting 'ttymouse' doesn't work.
- Solution: Reset the "option was set" flag when using the default.
- Files: src/option.c, src/proto/option.pro, src/term.c
- Patch 7.3.746
- Problem: Memory leaks when using location lists.
- Solution: Set qf_title to something. (Christian Brabandt)
- Files: src/eval.c, src/quickfix.c
- Patch 7.3.747
- Problem: When characters are concealed text aligned with tabs are no longer
- aligned, e.g. at ":help :index".
- Solution: Compensate space for tabs for concealed characters. (Dominique
- Pelle)
- Files: src/screen.c
- Patch 7.3.748
- Problem: Cannot properly test conceal mode.
- Solution: Add the screencol() and screenrow() functions. Use them in
- test88. (Simon Ruderich)
- Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
- src/screen.c, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- src/testdir/Makefile, src/testdir/test88.in,
- src/testdir/test88.ok,
- Patch 7.3.749
- Problem: Python interface doesn't build without the multibyte feature.
- Solution: Add #ifdef. (Ken Takata)
- Files: src/if_py_both.h
- Patch 7.3.750
- Problem: The justify macro does not always work correctly.
- Solution: Fix off-by-one error (James McCoy)
- Files: runtime/macros/justify.vim
- Patch 7.3.751
- Problem: Test 61 is flaky, it fails once in a while.
- Solution: When it fails retry once.
- Files: src/testdir/Makefile
- Patch 7.3.752
- Problem: Test 49 script file doesn't fold properly.
- Solution: Add a colon.
- Files: src/testdir/test49.vim
- Patch 7.3.753
- Problem: When there is a QuitPre autocommand using ":q" twice does not work
- for exiting when there are more files to edit.
- Solution: Do not decrement quitmore in an autocommand. (Techlive Zheng)
- Files: src/ex_docmd.c, src/fileio.c, src/proto/fileio.pro
- Patch 7.3.754
- Problem: Latest nmake is not recognized.
- Solution: Add nmake version 11.00.51106.1. (Raymond Ko)
- Files: src/Make_mvc.mak
- Patch 7.3.755
- Problem: Autoconf doesn't find Python 3 if it's called "python".
- Solution: Search for "python2" and "python3" first, then "python".
- Files: src/configure.in, src/auto/configure
- Patch 7.3.756
- Problem: A location list can get a wrong count in :lvimgrep.
- Solution: Check if the list was changed by autocommands. (mostly by
- Christian Brabandt)
- Files: src/quickfix.c
- Patch 7.3.757
- Problem: Issue 96: May access freed memory when a put command triggers
- autocommands. (Dominique Pelle)
- Solution: Call u_save() before getting y_array.
- Files: src/ops.c
- Patch 7.3.758
- Problem: Matchit plugin does not handle space in #ifdef.
- Solution: Change matching pattern to allow spaces. (Mike Morearty)
- Files: runtime/macros/matchit.vim
- Patch 7.3.759
- Problem: MS-Windows: Updating the tabline is slow when there are many tabs.
- Solution: Disable redrawing while performing the update. (Arseny Kapoulkine)
- Files: src/gui_w48.c
- Patch 7.3.760
- Problem: dv_ deletes the white space before the line.
- Solution: Move the cursor to the first non-white. (Christian Brabandt)
- Files: src/normal.c, src/testdir/test19.in, src/testdir/test19.ok
- Patch 7.3.761
- Problem: In Visual mode a "-p does not work. (Marcin Szamotulski)
- Solution: Avoid writing to "- before putting it. (Christian Brabandt)
- Files: src/normal.c, src/testdir/test48.in, src/testdir/test48.ok
- Patch 7.3.762 (after 7.3.759)
- Problem: On some systems the tabline is not redrawn.
- Solution: Call RedrawWindow(). (Charles Peacech)
- Files: src/gui_w48.c
- Patch 7.3.763
- Problem: Jumping to a mark does not open a fold if it is in the same line.
- (Wiktor Ruben)
- Solution: Also compare the column after the jump. (Christian Brabandt)
- Files: src/normal.c
- Patch 7.3.764
- Problem: Not all message translation files are installed.
- Solution: Also install the converted files.
- Files: src/po/Makefile
- Patch 7.3.765
- Problem: Segfault when doing "cclose" on BufUnload in a python function.
- (Sean Reifschneider)
- Solution: Skip window with NULL buffer. (Christian Brabandt)
- Files: src/main.c, src/window.c
- Patch 7.3.766
- Problem: ":help cpo-*" jumps to the wrong place.
- Solution: Make it equivalent to ":help cpo-star".
- Files: src/ex_cmds.c
- Patch 7.3.767
- Problem: (Win32) The _errno used for iconv may be the wrong one.
- Solution: Use the _errno from iconv.dll. (Ken Takata)
- Files: src/mbyte.c
- Patch 7.3.768
- Problem: settabvar() and setwinvar() may move the cursor.
- Solution: Save and restore the cursor position when appropriate. (idea by
- Yasuhiro Matsumoto)
- Files: src/edit.c
- Patch 7.3.769
- Problem: 'matchpairs' does not work with multibyte characters.
- Solution: Make it work. (Christian Brabandt)
- Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
- src/testdir/test69.in, src/testdir/test69.ok
- Patch 7.3.770
- Problem: Vim.h indentation is inconsistent.
- Solution: Adjust the indentation. (Elias Diem)
- Files: src/vim.h
- Patch 7.3.771 (after 7.3.769)
- Problem: Uninitialized variable. (Yasuhiro Matsumoto)
- Solution: Set x2 to -1.
- Files: src/option.c
- Patch 7.3.772
- Problem: Cursor is at the wrong location and below the end of the file
- after doing substitutions with confirm flag: %s/x/y/c
- (Dominique Pelle)
- Solution: Update the cursor position. (Christian Brabandt & Dominique)
- Files: src/ex_cmds.c
- Patch 7.3.773 (after 7.3.767)
- Problem: Crash when OriginalFirstThunk is zero.
- Solution: Skip items with OriginalFirstThunk not set. (Ken Takata)
- Files: src/mbyte.c
- Patch 7.3.774
- Problem: Tiny GUI version misses console dialog feature.
- Solution: Define FEAT_CON_DIALOG when appropriate. (Christian Brabandt)
- Files: src/feature.h, src/gui.h
- Patch 7.3.775
- Problem: Cygwin and Mingw builds miss dependency on gui_w48.c.
- Solution: Add a build rule. (Ken Takata)
- Files: src/Make_cyg.mak, src/Make_ming.mak
- Patch 7.3.776
- Problem: ml_get error when searching, caused by curwin not matching curbuf.
- Solution: Avoid changing curbuf. (Lech Lorens)
- Files: src/charset.c, src/eval.c, src/mark.c, src/proto/charset.pro,
- src/proto/mark.pro, src/regexp.c, src/syntax.c,
- Patch 7.3.777
- Problem: When building with Gnome locale gets reset.
- Solution: Set locale after gnome_program_init(). (Christian Brabandt)
- Files: src/gui_gtk_x11.c
- Patch 7.3.778
- Problem: Compiler error for adding up two pointers. (Titov Anatoly)
- Solution: Add a type cast. (Ken Takata)
- Files: src/mbyte.c
- Patch 7.3.779
- Problem: Backwards search lands in wrong place when started on a multibyte
- character.
- Solution: Do not set extra_col for a backwards search. (Sung Pae)
- Files: src/search.c, src/testdir/test44.in, src/testdir/test44.ok
- Patch 7.3.780
- Problem: char2nr() and nr2char() always use 'encoding'.
- Solution: Add argument to use utf-8 characters. (Yasuhiro Matsumoto)
- Files: runtime/doc/eval.txt, src/eval.c
- Patch 7.3.781
- Problem: Drawing with 'guifontwide' can be slow.
- Solution: Draw multiple characters at a time. (Taro Muraoka)
- Files: src/gui.c
- Patch 7.3.782
- Problem: Windows: IME composition may use a wrong font.
- Solution: Use 'guifontwide' for IME when it is set. (Taro Muraoka)
- Files: runtime/doc/options.txt, src/gui.c, src/gui_w48.c,
- src/proto/gui_w16.pro, src/proto/gui_w32.pro
- Patch 7.3.783
- Problem: Crash when mark is not set. (Dominique Pelle)
- Solution: Check for NULL.
- Files: src/normal.c
- Patch 7.3.784 (after 7.3.781)
- Problem: Error when 'guifontwide' has a comma.
- Solution: Use gui.wide_font. (Taro Muraoka)
- Files: src/gui_w48.c
- Patch 7.3.785 (after 7.3.776)
- Problem: Crash with specific use of search pattern.
- Solution: Initialize reg_buf to curbuf.
- Files: src/regexp.c
- Patch 7.3.786
- Problem: Python threads don't run in the background (issue 103).
- Solution: Move the statements to manipulate thread state.
- Files: src/if_python.c
- Patch 7.3.787
- Problem: With 'relativenumber' set it is not possible to see the absolute
- line number.
- Solution: For the cursor line show the absolute line number instead of a
- zero. (Nazri Ramliy)
- Files: src/screen.c
- Patch 7.3.788
- Problem: When only using patches build fails on missing nl.po.
- Solution: Create an empty nl.po file.
- Files: src/po/Makefile
- Patch 7.3.789 (after 7.3.776)
- Problem: "\k" in regexp does not work in other window.
- Solution: Use the right buffer. (Yukihiro Nakadaira)
- Files: src/mbyte.c, src/proto/mbyte.pro, src/regexp.c
- Patch 7.3.790
- Problem: After reloading a buffer the modelines are not processed.
- Solution: call do_modelines(). (Ken Takata)
- Files: src/fileio.c
- Patch 7.3.791
- Problem: MzScheme interface doesn't work properly.
- Solution: Make it work better. (Sergey Khorev)
- Files: runtime/doc/if_mzsch.txt, src/configure.in, src/auto/configure,
- src/eval.c, src/if_mzsch.c, src/if_mzsch.h, src/Make_ming.mak,
- src/Make_mvc.mak, src/os_unix.c, src/proto/eval.pro,
- src/testdir/test70.in, src/testdir/test70.ok
- Patch 7.3.792
- Problem: ":substitute" works differently without confirmation.
- Solution: Do not change the text when asking for confirmation, only display
- it.
- Files: src/ex_cmds.c
- Patch 7.3.793 (after 7.3.792)
- Problem: New interactive :substitute behavior is not tested.
- Solution: Add tests. (Christian Brabandt)
- Files: src/testdir/test80.in, src/testdir/test80.ok
- Patch 7.3.794
- Problem: Tiny build fails. (Tony Mechelynck)
- Solution: Adjust #ifdefs.
- Files: src/charset.c
- Patch 7.3.795
- Problem: MzScheme does not build with tiny features.
- Solution: Add #ifdefs. Also add UNUSED to avoid warnings. And change
- library ordering.
- Files: src/if_mzsch.c, src/Makefile
- Patch 7.3.796
- Problem: "/[^\n]" does match at a line break.
- Solution: Make it do the same as "/.". (Christian Brabandt)
- Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok
- Patch 7.3.797 (after 7.3.792)
- Problem: Compiler warning for size_t to int conversion. (Skeept)
- Solution: Add type casts.
- Files: src/ex_cmds.c
- Patch 7.3.798 (after 7.3.791)
- Problem: MzScheme: circular list does not work correctly.
- Solution: Separate Mac-specific code from generic code. (Sergey Khorev)
- Files: src/if_mzsch.c, src/testdir/test70.in
- Patch 7.3.799
- Problem: The color column is not correct when entering a buffer. (Ben
- Fritz)
- Solution: Call check_colorcolumn() if 'textwidth' changed. (Christian
- Brabandt)
- Files: src/buffer.c
- Patch 7.3.800
- Problem: The " mark is not adjusted when inserting lines. (Roland Eggner)
- Solution: Adjust the line number. (Christian Brabandt)
- Files: src/mark.c
- Patch 7.3.801
- Problem: ":window set nu?" displays the cursor line. (Nazri Ramliy)
- Solution: Do not update the cursor line when conceallevel is zero or the
- screen has scrolled. (partly by Christian Brabandt)
- Files: src/window.c
- Patch 7.3.802
- Problem: After setting 'isk' to a value ending in a comma appending to the
- option fails.
- Solution: Disallow a trailing comma for 'isk' and similar options.
- Files: src/charset.c
- Patch 7.3.803 (after 7.3.792)
- Problem: Substitute with confirmation and then "q" does not replace
- anything. (John McGowan)
- Solution: Do not break the loop, skip to the end.
- Files: src/ex_cmds.c, src/testdir/test80.in, src/testdir/test80.ok
- Patch 7.3.804 (after 7.3.799)
- Problem: Compiler warning for tiny build. (Tony Mechelynck)
- Solution: Add #ifdefs around variable.
- Files: src/buffer.c
- Patch 7.3.805
- Problem: Lua version 5.2 is not detected properly on Arch Linux.
- Solution: Adjust autoconf. (lilydjwg)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.806
- Problem: Compiler warnings in Perl code when building with Visual Studio
- 2012. (skeept)
- Solution: Add type casts. (Christian Brabandt, 2013 Jan 30)
- Files: src/if_perl.xs
- Patch 7.3.807
- Problem: Popup menu does not work properly with the preview window, folds
- and 'cursorcolumn'.
- Solution: Redraw the popup menu after redrawing windows. (Christian
- Brabandt)
- Files: src/screen.c
- Patch 7.3.808
- Problem: Python threads still do not work properly.
- Solution: Fix both Python 2 and 3. Add tests. (Ken Takata)
- Files: src/if_python.c, src/if_python3.c, src/testdir/test86.in,
- src/testdir/test86.ok, src/testdir/test87.in,
- src/testdir/test87.ok
- Patch 7.3.809
- Problem: The dosinst.c program has a buffer overflow. (Thomas Gwae)
- Solution: Ignore $VIMRUNTIME if it is too long.
- Files: src/dosinst.c
- Patch 7.3.810
- Problem: 'relativenumber' is reset unexpectedly. (François Ingelrest)
- Solution: After an option was reset also reset the global value. Add a test.
- (Christian Brabandt)
- Files: src/option.c, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
- src/testdir/Makefile, src/testdir/test89.in,
- src/testdir/test89.ok
- Patch 7.3.811
- Problem: Useless termresponse parsing for SGR mouse.
- Solution: Skip the parsing. (Hayaki Saito)
- Files: src/term.c
- Patch 7.3.812
- Problem: When 'indentexpr' moves the cursor "curswant" not restored.
- Solution: Restore "curswant". (Sung Pae)
- Files: src/misc1.c
- Patch 7.3.813
- Problem: The CompleteDone event is not triggered when there are no pattern
- matches. (Jianjun Mao)
- Solution: Trigger the event. (Christian Brabandt)
- Files: src/edit.c
- Patch 7.3.814
- Problem: Can't input multibyte characters on Win32 console if 'encoding' is
- different from current codepage.
- Solution: Use convert_input_safe() instead of convert_input(). Make
- string_convert_ext() return an error for incomplete input. (Ken
- Takata)
- Files: src/mbyte.c, src/os_win32.c
- Patch 7.3.815
- Problem: Building with Cygwin and Ruby doesn't work.
- Solution: Copy some things from the MingW build file. (Ken Takata)
- Files: src/Make_cyg.mak
- Patch 7.3.816
- Problem: Can't compute a hash.
- Solution: Add the sha256() function. (Tyru, Hirohito Higashi)
- Files: runtime/doc/eval.txt, src/eval.c, src/proto/sha256.pro,
- src/sha256.c, src/testdir/test90.in, src/testdir/test90.ok,
- src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile
- Patch 7.3.817
- Problem: Test 89 fails with tiny and small features.
- Solution: Add sourcing small.vim.
- Files: src/testdir/test89.in
- Patch 7.3.818
- Problem: When test 40 fails because of a bad build it may leave files
- behind that cause it to fail later.
- Solution: Let the file names start with "X".
- Files: src/testdir/test40.in
- Patch 7.3.819
- Problem: Compiling without +eval and with Python isn't working.
- Solution: Add the eval feature when building with Python.
- Files: src/if_py_both.h, src/feature.h, src/eval.c, src/ex_docmd.c,
- src/normal.c, src/ex_docmd.c, src/gui_gtk_x11.c
- Patch 7.3.820
- Problem: Build errors and warnings when building with small features and
- Lua, Perl or Ruby.
- Solution: Add #ifdefs and UNUSED.
- Files: src/if_perl.xs, src/if_lua.c, src/if_ruby.c
- Patch 7.3.821
- Problem: Build with OLE and Cygwin is broken. (Steve Hall)
- Solution: Select static or shared stdc library. (Ken Takata)
- Files: src/Make_cyg.mak
- Patch 7.3.822 (after 7.3.799)
- Problem: Crash when accessing freed buffer.
- Solution: Get 'textwidth' in caller of enter_buffer(). (Christian Brabandt)
- Files: src/buffer.c
- Patch 7.3.823 (after 7.3.821)
- Problem: Building with Cygwin: '-lsupc++' is not needed.
- Solution: Remove it. (Ken Takata)
- Files: src/Make_cyg.mak
- Patch 7.3.824
- Problem: Can redefine builtin functions. (ZyX)
- Solution: Disallow adding a function to g:.
- Files: src/eval.c
- Patch 7.3.825
- Problem: With Python errors are not always clear.
- Solution: Print the stack trace, unless :silent is used. (ZyX)
- Files: src/if_python3.c, src/if_python.c
- Patch 7.3.826
- Problem: List of features in :version output is hard to read.
- Solution: Make columns. (Nazri Ramliy)
- Files: src/version.c
- Patch 7.3.827 (after 7.3.825)
- Problem: Python tests fail.
- Solution: Adjust the output for the stack trace.
- Files: src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.ok
- Patch 7.3.828
- Problem: Mappings are not aware of wildmenu mode.
- Solution: Add wildmenumode(). (Christian Brabandt)
- Files: src/eval.c, runtime/doc/eval.txt
- Patch 7.3.829
- Problem: When compiled with the +rightleft feature 'showmatch' also shows a
- match for the opening paren. When 'revins' is set the screen may
- scroll.
- Solution: Only check the opening paren when the +rightleft feature was
- enabled. Do not show a match that is not visible. (partly by
- Christian Brabandt)
- Files: src/search.c
- Patch 7.3.830
- Problem: :mksession confuses bytes, columns and characters when positioning
- the cursor.
- Solution: Use w_virtcol with "|" instead of w_cursor.col with "l".
- Files: src/ex_docmd.c
- Patch 7.3.831
- Problem: Clumsy to handle the situation that a variable does not exist.
- Solution: Add default value to getbufvar() et al. (Shougo Matsushita,
- Hirohito Higashi)
- Files: runtime/doc/eval.txt, src/eval.c src/testdir/test91.in,
- src/testdir/test91.ok, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
- src/testdir/Makefile
- Patch 7.3.832
- Problem: Compiler warning.
- Solution: Add type cast. (Mike Williams)
- Files: src/version.c
- Patch 7.3.833
- Problem: In the terminal the scroll wheel always scrolls the active window.
- Solution: Scroll the window under the mouse pointer, like in the GUI.
- (Bradie Rao)
- Files: src/edit.c, src/normal.c
- Patch 7.3.834
- Problem: Ruby 2.0 has a few API changes.
- Solution: Add handling of Ruby 2.0. (Yasuhiro Matsumoto)
- Files: src/if_ruby.c
- Patch 7.3.835
- Problem: "xxd -i" fails on an empty file.
- Solution: Do output the closing } for an empty file. (partly by Lawrence
- Woodman)
- Files: src/xxd/xxd.c
- Patch 7.3.836
- Problem: Clipboard does not work on Win32 when compiled with Cygwin.
- Solution: Move the Win32 clipboard code to a separate file and use it when
- building with os_unix.c. (Frodak Baksik, Ken Takata)
- Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ivc.mak,
- src/Make_ming.mak, src/Make_mvc.mak, src/Make_w16.mak,
- src/Makefile, src/config.h.in, src/configure.in,
- src/auto/configure, src/feature.h, src/globals.h, src/mbyte.c,
- src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/proto.h,
- src/proto/os_mswin.pro, src/proto/winclip.pro, src/term.c,
- src/vim.h, src/winclip.c
- Patch 7.3.837 (after 7.3.826)
- Problem: Empty lines in :version output when 'columns' is 320.
- Solution: Simplify the logic of making columns. (Nazri Ramliy, Roland
- Eggner)
- Files: src/version.c
- Patch 7.3.838 (after 7.3.830)
- Problem: Insufficient testing for mksession.
- Solution: Add tests. (mostly by Roland Eggner)
- Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile,
- src/testdir/test92.in, src/testdir/test92.ok,
- src/testdir/test93.in, src/testdir/test93.ok,
- src/ex_docmd.c
- Patch 7.3.839
- Problem: Some files missing in the list of distributed files.
- Solution: Add lines for new files.
- Files: Filelist
- Patch 7.3.840
- Problem: "\@<!" in regexp does not work correctly with multibyte
- characters, especially cp932.
- Solution: Move column to start of multibyte character. (Yasuhiro Matsumoto)
- Files: src/regexp.c
- Patch 7.3.841
- Problem: When a "cond ? one : two" expression has a subscript it is not
- parsed correctly. (Andy Wokula)
- Solution: Handle a subscript also when the type is unknown. (Christian
- Brabandt)
- Files: src/eval.c
- Patch 7.3.842
- Problem: Compiler warning for signed/unsigned pointer.
- Solution: Add type cast. (Christian Brabandt)
- Files: src/eval.c
- Patch 7.3.843 (after 7.3.841)
- Problem: Missing test file changes.
- Solution: Change the tests.
- Files: src/testdir/test49.vim, src/testdir/test49.ok
- Patch 7.3.844
- Problem: Enum is not indented correctly with "public" etc.
- Solution: Skip "public", "private" and "protected". (Hong Xu)
- Files: src/misc1.c
- Patch 7.3.845 (after 7.3.844)
- Problem: Enum indenting is not tested.
- Solution: Add tests. (Hong Xu)
- Files: src/testdir/test3.in, src/testdir/test3.ok
- Patch 7.3.846
- Problem: Missing proto files.
- Solution: Add the files.
- Files: Filelist, src/proto/os_beos.pro
- Patch 7.3.847
- Problem: Test 55 fails when messages are translated.
- Solution: Set language to C. (Ken Takata)
- Files: src/testdir/test55.in
- Patch 7.3.848
- Problem: Can't build with Ruby 2.0 when using MinGW x64 or MSVC10.
- Solution: Fix it. Also detect RUBY_PLATFORM and RUBY_INSTALL_NAME for x64.
- (Ken Takata)
- Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_ruby.c
- Patch 7.3.849
- Problem: ":g//" gives "Pattern not found error" with E486. Should not use
- the error number, it's not a regular error message.
- Solution: Use a normal message. (David Bürgin)
- Files: src/ex_cmds.c
- Patch 7.3.850
- Problem: ":vimgrep //" matches everywhere.
- Solution: Make it use the previous search pattern. (David Bürgin)
- Files: runtime/doc/quickfix.txt, src/quickfix.c
- Patch 7.3.851
- Problem: Using an empty pattern with :sort silently continues when there is
- no previous search pattern.
- Solution: Give an error message. (David Bürgin)
- Files: src/ex_cmds.c
- Patch 7.3.852
- Problem: system() breaks clipboard text. (Yukihiro Nakadaira)
- Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
- Also do not put the text in the clip buffer if conversion fails.
- Files: src/ui.c, src/ops.c
- Patch 7.3.853
- Problem: Using "ra" in multiple lines on multibyte characters leaves a few
- characters not replaced.
- Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
- Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c
- Patch 7.3.854
- Problem: After using backspace in insert mode completion, CTRL-N and CTRL-P
- do not highlight the right entry. (Olivier Teuliere)
- Solution: Set the current item to the shown item after using backspace.
- Files: src/edit.c
- Patch 7.3.855
- Problem: Compiler warnings.
- Solution: Add type casts. (Mike Williams)
- Files: src/misc1.c
- Patch 7.3.856
- Problem: When calling system() multibyte clipboard contents is garbled.
- Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira)
- Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c,
- src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c
- Patch 7.3.857
- Problem: The QuitPre autocommand event does not trigger for :qa and :wq.
- Solution: Trigger the event. (Tatsuro Fujii)
- Files: src/ex_docmd.c
- Patch 7.3.858
- Problem: "gv" selects the wrong area after some operators.
- Solution: Save and restore the type of selection. (Christian Brabandt)
- Files: src/testdir/test66.in, src/testdir/test66.ok, src/normal.c
- Patch 7.3.859
- Problem: 'ambiwidth' must be set by the user.
- Solution: Detects East Asian ambiguous width (UAX #11) state of the terminal
- at the start-up time and 'ambiwidth' accordingly. (Hayaki Saito)
- Files: src/main.c, src/option.c, src/term.c, src/term.h,
- src/proto/term.pro
- Patch 7.3.860
- Problem: When using --remote-expr try/catch does not work. (Andrey Radev)
- Solution: Set emsg_silent instead of emsg_skip.
- Files: src/main.c
- Patch 7.3.861
- Problem: ":setlocal number" clears global value of 'relativenumber'.
- Solution: Do it properly. (Markus Heidelberg)
- Files: src/testdir/test89.in, src/testdir/test89.ok, src/option.c
- Patch 7.3.862
- Problem: Dragging the status line can be slow.
- Solution: Look ahead and drop the drag event if there is a next one.
- Files: src/eval.c, src/misc1.c, src/proto/misc1.pro, src/normal.c
- Patch 7.3.863 (after 7.3.859)
- Problem: Problem with 'ambiwidth' detection for ANSI terminal.
- Solution: Work around not recognizing a term response. (Hayaki Saito)
- Files: src/term.c
- Patch 7.3.864 (after 7.3.862)
- Problem: Can't build without the mouse feature.
- Solution: Add an #ifdef. (Ike Devolder)
- Files: src/misc1.c
- Patch 7.3.865 (after 7.3.862)
- Problem: Mouse position may be wrong.
- Solution: Let vungetc() restore the mouse position.
- Files: src/getchar.c
- Patch 7.3.866
- Problem: Not serving the X selection during system() isn't nice.
- Solution: When using fork() do not loose the selection, keep serving it.
- Add a loop similar to handling I/O. (Yukihiro Nakadaira)
- Files: src/os_unix.c
- Patch 7.3.867
- Problem: Matchparen does not update match when using auto-indenting.
- (Marc Aldorasi)
- Solution: Add the TextChanged and TextChangedI autocommand events.
- Files: runtime/plugin/matchparen.vim, src/main.c, src/edit.c,
- src/globals.h, src/vim.h, src/fileio.c, src/proto/fileio.pro,
- runtime/doc/autocmd.txt
- Patch 7.3.868
- Problem: When at the hit-return prompt and using "k" while no text has
- scrolled off screen, then using "j", an empty line is displayed.
- Solution: Only act on "k" when text scrolled off screen. Also accept
- page-up and page-down. (cptstubing)
- Files: src/message.c
- Patch 7.3.869
- Problem: bufwinnr() matches buffers in other tabs.
- Solution: For bufwinnr() and ? only match buffers in the current tab.
- (Alexey Radkov)
- Files: src/buffer.c, src/diff.c, src/eval.c, src/ex_docmd.c,
- src/if_perl.xs, src/proto/buffer.pro
- Patch 7.3.870
- Problem: Compiler warnings when using MingW 4.5.3.
- Solution: Do not use MAKEINTRESOURCE. Adjust #if. (Ken Takata)
- Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c,
- src/os_win32.h
- Patch 7.3.871
- Problem: search('^$', 'c') does not use the empty match under the cursor.
- Solution: Special handling of the 'c' flag. (Christian Brabandt)
- Add tests.
- Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok
- Patch 7.3.872
- Problem: On some systems case of file names is always ignored, on others
- never.
- Solution: Add the 'fileignorecase' option to control this at runtime.
- Implies 'wildignorecase'.
- Files: src/buffer.c, src/edit.c, src/ex_cmds2.c, src/ex_getln.c,
- src/fileio.c, src/misc1.c, src/misc2.c, src/option.c,
- src/option.h, src/vim.h, runtime/doc/options.txt
- Patch 7.3.873
- Problem: Cannot easily use :s to make title case.
- Solution: Have "\L\u" result in title case. (James McCoy)
- Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
- src/testdir/test80.in, src/testdir/test80.ok
- Patch 7.3.874
- Problem: Comparing file names does not handle multibyte characters
- properly.
- Solution: Implement multibyte handling.
- Files: src/misc1.c, src/misc2.c
- Patch 7.3.875 (after 7.3.866)
- Problem: Build problem with some combination of features.
- Solution: Use FEAT_XCLIPBOARD instead of FEAT_CLIPBOARD.
- Files: src/os_unix.c
- Patch 7.3.876
- Problem: #if indents are off.
- Solution: Insert a space where appropriate. (Taro Muraoka)
- Files: src/gui.c
- Patch 7.3.877 (after 7.3.871)
- Problem: Forward searching with search() is broken.
- Solution: Fix it and add tests. (Sung Pae)
- Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok
- Patch 7.3.878
- Problem: 'fileignorecase' is missing in options window and quickref.
- Solution: Add the option.
- Files: runtime/optwin.vim, runtime/doc/quickref.txt
- Patch 7.3.879
- Problem: When using an ex command in operator pending mode, using Esc to
- abort the command still executes the operator. (David Bürgin)
- Solution: Clear the operator when the ex command fails. (Christian Brabandt)
- Files: src/normal.c
- Patch 7.3.880
- Problem: When writing viminfo, old history lines may replace lines written
- more recently by another Vim instance.
- Solution: Mark history entries that were read from viminfo and overwrite
- them when merging with the current viminfo.
- Files: src/ex_getln.c
- Patch 7.3.881
- Problem: Python list does not work correctly.
- Solution: Fix it and add a test. (Yukihiro Nakadaira)
- Files: src/testdir/test86.in, src/testdir/test86.ok, src/if_py_both.h
- Patch 7.3.882
- Problem: CursorHold may trigger after receiving the termresponse.
- Solution: Set the did_cursorhold flag. (Hayaki Saito)
- Files: src/term.c
- Patch 7.3.883 (after 7.3.880)
- Problem: Can't build with some combination of features.
- Solution: Adjust #ifdefs.
- Files: src/ex_getln.c
- Patch 7.3.884
- Problem: Compiler warning for variable shadowing another. (John Little)
- Solution: Rename the variable. (Christian Brabandt)
- Files: src/term.c
- Patch 7.3.885
- Problem: Double free for list and dict in Lua. (Shougo Matsu)
- Solution: Do not unref list and dict. (Yasuhiro Matsumoto)
- Files: src/if_lua.c
- Patch 7.3.886
- Problem: Can't build with multibyte on Solaris 10.
- Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
- Files: src/ui.c
- Patch 7.3.887
- Problem: No tests for Visual mode operators, what 7.3.879 fixes.
- Solution: Add a new test file. (David Bürgin)
- Files: src/testdir/test94.in, src/testdir/test94.ok,
- src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile
- Patch 7.3.888
- Problem: Filename completion with 'fileignorecase' does not work for
- multibyte characters.
- Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
- Files: src/misc2.c
- Patch 7.3.889
- Problem: Can't build with Ruby 2.0 on a 64 bit system.
- Solution: Define rb_fix2int and rb_num2int. (Kohei Suzuki)
- Files: src/if_ruby.c
- Patch 7.3.890
- Problem: Test 79 fails on Windows. (Michael Soyka)
- Solution: Add comment below line causing an error.
- Files: src/testdir/test79.in
- Patch 7.3.891
- Problem: Merging viminfo history doesn't work well.
- Solution: Don't stop when one type of history is empty. Don't merge history
- when writing viminfo.
- Files: src/ex_getln.c
- Patch 7.3.892 (after 7.3.891)
- Problem: Still merging problems for viminfo history.
- Solution: Do not merge lines when writing, don't write old viminfo lines.
- Files: src/ex_getln.c, src/ex_cmds.c, src/proto/ex_getln.pro
- Patch 7.3.893
- Problem: Crash when using b:, w: or t: after closing the buffer, window or
- tabpage.
- Solution: Allocate the dictionary instead of having it part of the
- buffer/window/tabpage struct. (Yukihiro Nakadaira)
- Files: src/buffer.c, src/eval.c, src/fileio.c, src/structs.h,
- src/window.c, src/proto/eval.pro
- Patch 7.3.894
- Problem: Using wrong RUBY_VER causing Ruby build to break.
- Solution: Correct the RUBY_VER value. (Yongwei Wu)
- Files: src/bigvim.bat
- Patch 7.3.895
- Problem: Valgrind error in test 91. (Issue 128)
- Solution: Pass scope name to find_var_in_ht().
- Files: src/eval.c
- Patch 7.3.896
- Problem: Memory leaks in Lua interface.
- Solution: Fix the leaks, add tests. (Yukihiro Nakadaira)
- Files: src/testdir/test85.in, src/testdir/test85.ok, src/if_lua.c
- Patch 7.3.897
- Problem: Configure doesn't always find the shared library.
- Solution: Change the configure script. (Ken Takata)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.898
- Problem: Memory leak reported by valgrind in test 91.
- Solution: Only use default argument when needed.
- Files: src/eval.c, src/testdir/test91.in, src/testdir/test91.ok
- Patch 7.3.899
- Problem: #if indents are off.
- Solution: Fix the indents.
- Files: src/os_unix.c
- Patch 7.3.900
- Problem: Not obvious that some mouse features are mutual-exclusive.
- Solution: Add a comment.
- Files: src/feature.h
- Patch 7.3.901
- Problem: Outdated comment, ugly condition.
- Solution: Update a few comments, break line.
- Files: src/getchar.c, src/misc1.c, src/undo.c
- Patch 7.3.902
- Problem: When deleting last buffer in other tab the tabline is not updated.
- Solution: Set the redraw_tabline flag. (Yukihiro Nakadaira)
- Files: src/window.c
- Patch 7.3.903 (after 7.3.892)
- Problem: Crash on exit writing viminfo. (Ron Aaron)
- Solution: Check for the history to be empty.
- Files: src/ex_getln.c
- Patch 7.3.904 (after 7.3.893)
- Problem: Using memory freed by the garbage collector.
- Solution: Mark items in aucmd_win as used.
- Files: src/eval.c
- Patch 7.3.905 (after 7.3.903)
- Problem: Crash when writing viminfo. (Ron Aaron)
- Solution: Prevent freed history info to be used.
- Files: src/ex_getln.c
- Patch 7.3.906
- Problem: The "sleep .2" for running tests does not work on Solaris.
- Solution: Fall back to using "sleep 1". (Laurent Blume)
- Files: src/testdir/Makefile
- Patch 7.3.907
- Problem: Python uses IndexError when a dict key is not found.
- Solution: Use KeyError instead. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.908
- Problem: Possible crash when using a list in Python.
- Solution: Return early if the list is NULL. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.909
- Problem: Duplicate Python code.
- Solution: Move more items to if_py_both.h. (ZyX) Also avoid compiler
- warnings for missing initializers.
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.910
- Problem: Python code in #ifdef branches with only minor differences.
- Solution: Merge the #ifdef branches. (ZyX)
- Files: src/if_py_both.h, src/if_python.c
- Patch 7.3.911
- Problem: Python: Access to Vim variables is not so easy.
- Solution: Define vim.vars and vim.vvars. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/eval.c, src/globals.h,
- src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.912
- Problem: Typing a ":" command at the hit-enter dialog does not work if the
- "file changed" dialog happens next.
- Solution: Check for changed files before giving the hit-enter dialog.
- Files: src/message.c
- Patch 7.3.913 (after 7.3.905)
- Problem: Still a crash when writing viminfo.
- Solution: Add checks for NULL pointers. (Ron Aaron)
- Files: src/ex_getln.c
- Patch 7.3.914
- Problem: ~/.viminfo is messed up when running tests.
- Solution: Set the viminfo filename.
- Files: src/testdir/test89.in, src/testdir/test94.in
- Patch 7.3.915
- Problem: When reading a file with encoding conversion fails at the end the
- next encoding in 'fencs' is not used.
- Solution: Retry with another encoding when possible. (Taro Muraoka)
- Files: src/fileio.c
- Patch 7.3.916
- Problem: Using freed memory when pasting with the mouse (Issue 130).
- Solution: Get the byte value early. (hint by Dominique Pelle)
- Files: src/buffer.c
- Patch 7.3.917
- Problem: When a path ends in a backslash appending a comma has the wrong
- effect.
- Solution: Replace a trailing backslash with a slash. (Nazri Ramliy)
- Files: src/misc1.c, src/testdir/test73.in, src/testdir/test73.ok
- Patch 7.3.918
- Problem: Repeating an Ex command after using a Visual motion does not work.
- Solution: Check for an Ex command being used. (David Bürgin)
- Files: src/normal.c
- Patch 7.3.919 (after 7.3.788)
- Problem: An empty nl.po file does not work with an old msgfmt.
- Solution: Put a single # in the file. (Laurent Blume)
- Files: src/po/Makefile
- Patch 7.3.920
- Problem: Compiler warning for size_t to int.
- Solution: Add a type cast. (Mike Williams)
- Files: src/misc1.c
- Patch 7.3.921 (after 7.3.697)
- Problem: Trying to create a fontset handle when 'guifontset' is not set.
- Solution: Add curly braces around the code block. (Max Kirillov)
- Files: src/syntax.c
- Patch 7.3.922
- Problem: No test for what 7.3.918 fixes.
- Solution: Add a test. (David Bürgin)
- Files: src/testdir/test94.in, src/testdir/test94.ok
- Patch 7.3.923
- Problem: Check for X11 header files fails on Solaris.
- Solution: Only use -Werror for gcc. (Laurent Blume)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.924
- Problem: Python interface can't easily access options.
- Solution: Add vim.options, vim.window.options and vim.buffer.options. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h,
- src/if_python.c, src/if_python3.c, src/option.c,
- src/proto/eval.pro, src/proto/option.pro, src/testdir/test86.in,
- src/testdir/test86.ok, src/testdir/test87.in,
- src/testdir/test87.ok, src/vim.h
- Patch 7.3.925
- Problem: Typos in source files.
- Solution: Fix the typos. (Ken Takata)
- Files: runtime/plugin/matchparen.vim, runtime/tools/vim_vs_net.cmd,
- src/GvimExt/gvimext.cpp, src/INSTALLvms.txt, src/Make_cyg.mak,
- src/Make_mvc.mak, src/Make_sas.mak, src/Make_vms.mms,
- src/Make_w16.mak, src/Makefile, src/VisVim/OleAut.cpp,
- src/VisVim/README_VisVim.txt, src/auto/configure, src/buffer.c,
- src/configure.in, src/diff.c, src/dosinst.c, src/edit.c,
- src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
- src/farsi.c, src/feature.h, src/fileio.c, src/glbl_ime.cpp,
- src/gui.c, src/gui_athena.c, src/gui_beval.c, src/gui_gtk_x11.c,
- src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w16.c,
- src/gui_w32.c, src/gui_w48.c, src/gui_xmebw.c, src/gui_xmebwp.h,
- src/hardcopy.c, src/if_cscope.c, src/if_mzsch.c, src/if_ole.cpp,
- src/if_perl.xs, src/if_py_both.h, src/if_python.c,
- src/if_python3.c, src/if_ruby.c, src/main.aap, src/mbyte.c,
- src/memfile.c, src/memline.c, src/misc1.c, src/misc2.c,
- src/nbdebug.c, src/normal.c, src/ops.c, src/os_amiga.c,
- src/os_mac.h, src/os_msdos.c, src/os_mswin.c, src/os_win16.h,
- src/os_win32.c, src/os_win32.h, src/quickfix.c, src/screen.c,
- src/search.c, src/spell.c, src/structs.h, src/syntax.c,
- src/window.c, vimtutor.com
- Patch 7.3.926
- Problem: Autocommands are triggered by setwinvar() et al. Missing BufEnter
- on :tabclose. Duplicate WinEnter on :tabclose. Wrong order of
- events for :tablose and :tabnew.
- Solution: Fix these autocommand events. (ZyX)
- Files: runtime/doc/eval.txt, src/buffer.c, src/eval.c, src/ex_cmds2.c,
- src/fileio.c, src/proto/window.pro, src/testdir/test62.in,
- src/testdir/test62.ok, src/window.c
- Patch 7.3.927
- Problem: Missing combining characters when putting text in a register.
- Solution: Include combining characters. (David Bürgin)
- Files: src/getchar.c, src/testdir/test44.in, src/testdir/test44.ok
- Patch 7.3.928 (after 7.3.924)
- Problem: Can't build with strict C compiler.
- Solution: Move declaration to start of block. (Taro Muraoka)
- Files: src/if_py_both.h
- Patch 7.3.929 (after 7.3.924)
- Problem: Compiler warning for unused variable. Not freeing unused string.
- Solution: Remove the variable. Clear the options.
- Files: src/option.c
- Patch 7.3.930
- Problem: MSVC 2012 update is not recognized.
- Solution: Update the version in the makefile. (Raymond Ko)
- Files: src/Make_mvc.mak
- Patch 7.3.931
- Problem: No completion for :xmap and :smap. (Yukihiro Nakadaira)
- Solution: Add the case statements. (Christian Brabandt)
- Files: src/ex_docmd.c
- Patch 7.3.932
- Problem: Compiler warning for uninitialized variable. (Tony Mechelynck)
- Solution: Initialize the variable.
- Files: src/option.c
- Patch 7.3.933
- Problem: Ruby on Mac crashes due to GC failure.
- Solution: Init the stack from main(). (Hiroshi Shirosaki)
- Files: src/main.c, src/if_ruby.c, src/proto/if_ruby.pro
- Patch 7.3.934
- Problem: E381 and E380 make the user think nothing happened.
- Solution: Display the message indicating what error list is now active.
- (Christian Brabandt)
- Files: src/quickfix.c
- Patch 7.3.935 (after 7.3.933)
- Problem: Ruby: Init stack works differently on 64 bit systems.
- Solution: Handle 64 bit systems and also static library. (Yukihiro
- Nakadaira)
- Files: src/if_ruby.c
- Patch 7.3.936 (after 7.3.935)
- Problem: Ruby 1.8: Missing piece for static linking on 64 bit systems.
- Solution: Define ruby_init_stack() (Hiroshi Shirosaki)
- Also fix preprocessor indents.
- Files: src/if_ruby.c
- Patch 7.3.937
- Problem: More can be shared between Python 2 and 3.
- Solution: Move code to if_py_both.h. (ZyX)
- Files: src/if_python.c, src/if_python3.c, src/if_py_both.h
- Patch 7.3.938
- Problem: Python: not easy to get to window number.
- Solution: Add vim.window.number. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/proto/window.pro,
- src/window.c
- Patch 7.3.939
- Problem: Using Py_BuildValue is inefficient sometimes.
- Solution: Use PyLong_FromLong(). (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.940
- Problem: Python: Can't get position of window.
- Solution: Add window.row and window.col. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h
- Patch 7.3.941
- Problem: Stuff in if_py_both.h is ordered badly.
- Solution: Reorder by type. (ZyX)
- Files: src/if_py_both.h, src/if_python.c
- Patch 7.3.942
- Problem: Python: SEGV in Buffer functions.
- Solution: Call CheckBuffer() at the right time. (ZyX)
- Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
- Patch 7.3.943
- Problem: Python: Negative indices were failing.
- Solution: Fix negative indices. Add tests. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/testdir/test86.in,
- src/testdir/test86.ok, src/testdir/test87.in,
- src/testdir/test87.ok
- Patch 7.3.944
- Problem: External program receives the termresponse.
- Solution: Insert a delay and discard input. (Hayaki Saito)
- Files: src/term.c
- Patch 7.3.945
- Problem: Python: List of buffers is not very useful.
- Solution: Make vim.buffers a map. No iterator yet. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c,
- src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.946
- Problem: Sometimes get stuck in waiting for cursor position report,
- resulting in keys starting with <Esc>[ not working.
- Solution: Only wait for more characters after <Esc>[ if followed by '?', '>'
- or a digit.
- Files: src/term.c
- Patch 7.3.947
- Problem: Python: No iterator for vim.list and vim.bufferlist.
- Solution: Add the iterators. Also fix name of FunctionType. Add tests for
- vim.buffers. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h,
- src/if_python3.c, src/if_python.c, src/proto/eval.pro,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.948
- Problem: Cannot build with Python 2.2
- Solution: Make Python interface work with Python 2.2
- Make 2.2 the first supported version. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.ok, src/configure.in, src/auto/configure
- Patch 7.3.949
- Problem: Python: no easy access to tabpages.
- Solution: Add vim.tabpages and vim.current.tabpage. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c,
- src/if_python.c, src/proto/if_python3.pro,
- src/proto/if_python.pro, src/proto/window.pro, src/structs.h,
- src/window.c
- Patch 7.3.950
- Problem: Python: Stack trace printer can't handle messages.
- Solution: Make KeyErrors use PyErr_SetObject. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.951
- Problem: Python exceptions have problems.
- Solution: Change some IndexErrors to TypeErrors. Make “line number out of
- range” an IndexError. Make “unable to get option value” a
- RuntimeError. Make all PyErr_SetString messages start with
- lowercase letter and use _(). (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.952
- Problem: Python: It's not easy to change window/buffer/tabpage.
- Solution: Add ability to assign to vim.current.{tabpage,buffer,window}.
- (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h
- Patch 7.3.953
- Problem: Python: string exceptions are deprecated.
- Solution: Make vim.error an Exception subclass. (ZyX)
- Files: src/if_python.c, src/if_python3.c
- Patch 7.3.954
- Problem: No check if PyObject_IsTrue fails.
- Solution: Add a check for -1 value. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.955
- Problem: Python: Not enough tests.
- Solution: Add tests for vim.{current,window*,tabpage*}. (ZyX)
- Files: src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.956
- Problem: Python vim.bindeval() causes SIGABRT.
- Solution: Make pygilstate a local variable. (Yukihiro Nakadaira)
- Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
- Patch 7.3.957
- Problem: Python does not have a "do" command like Perl or Lua.
- Solution: Add the ":py3do" command. (Lilydjwg)
- Files: runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c,
- src/if_python3.c, src/proto/if_python3.pro
- Patch 7.3.958
- Problem: Python: Iteration destructor not set.
- Solution: Put IterDestructor to use. (ZyX)
- Files: src/if_py_both.c
- Patch 7.3.959 (after 7.3.957)
- Problem: Missing error number.
- Solution: Assign an error number.
- Files: src/if_python3.c
- Patch 7.3.960
- Problem: Compiler warning for unused variable.
- Solution: Put declaration in #ifdef.
- Files: src/window.c
- Patch 7.3.961
- Problem: Tests 86 and 87 fail when using another language than English.
- Solution: Set the language to C in the test. (Dominique Pelle)
- Files: src/testdir/test86.in, src/testdir/test87.in,
- src/testdir/test87.ok
- Patch 7.3.962
- Problem: Python tests are not portable.
- Solution: Use shiftwidth instead of iminsert. (ZyX)
- Files: src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.963
- Problem: Setting curbuf without curwin causes trouble.
- Solution: Add switch_buffer() and restore_buffer(). Block autocommands to
- avoid trouble.
- Files: src/eval.c, src/proto/eval.pro, src/proto/window.pro,
- src/if_py_both.h, src/window.c, src/testdir/test86.ok
- Patch 7.3.964
- Problem: Python: not so easy to access tab pages.
- Solution: Add window.tabpage, make window.number work with non-current tab
- pages. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c,
- src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.965
- Problem: Python garbage collection not working properly.
- Solution: Add support for garbage collection. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.966
- Problem: There is ":py3do" but no ":pydo".
- Solution: Add the ":pydo" command. (Lilydjwg)
- Files: runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c,
- src/if_py_both.h, src/if_python.c, src/if_python3.c,
- src/proto/if_python.pro
- Patch 7.3.967 (after 7.3.965)
- Problem: Build fails on Mac OSX. (Greg Novack)
- Solution: Undefine clear().
- Files: src/if_py_both.h
- Patch 7.3.968
- Problem: Multi-byte support is only available when compiled with "big"
- features.
- Solution: Include multibyte by default, with "normal" features.
- Files: src/feature.h
- Patch 7.3.969
- Problem: Can't build with Python 3 and without Python 2.
- Solution: Adjust #ifdef. (Xavier de Gaye)
- Files: src/window.c
- Patch 7.3.970
- Problem: Syntax highlighting can be slow.
- Solution: Include the NFA regexp engine. Add the 'regexpengine' option to
- select which one is used. (various authors, including Ken Takata,
- Andrei Aiordachioaie, Russ Cox, Xiaozhou Liua, Ian Young)
- Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
- src/Makefile, src/regexp.c, src/regexp.h, src/regexp_nfa.c,
- src/structs.h, src/testdir/Makefile, src/testdir/test64.in,
- src/testdir/test64.ok, Filelist, runtime/doc/pattern.txt,
- runtime/doc/option.txt, src/option.c, src/option.h,
- src/testdir/test95.in, src/testdir/test95.ok,
- src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile
- Patch 7.3.971
- Problem: No support for VS2012 static code analysis.
- Solution: Add the ANALYZE option. (Mike Williams)
- Files: src/Make_mvc.mak
- Patch 7.3.972
- Problem: Cursor not restored after InsertEnter autocommand if it moved to
- another line.
- Solution: Also restore if the saved line number is still valid. Allow
- setting v:char to skip restoring.
- Files: src/edit.c, runtime/doc/autocmd.txt
- Patch 7.3.973
- Problem: Compiler warnings. Crash on startup. (Tony Mechelynck)
- Solution: Change EMSG2 to EMSGN. Make array one character longer.
- Files: src/regexp_nfa.c
- Patch 7.3.974
- Problem: Can't build with ruby 1.8.5.
- Solution: Only use ruby_init_stack() when RUBY_INIT_STACK is defined.
- (Yukihiro Nakadaira)
- Files: src/if_ruby.c
- Patch 7.3.975
- Problem: Crash in regexp parsing.
- Solution: Correctly compute the end of allocated memory.
- Files: src/regexp_nfa.c
- Patch 7.3.976
- Problem: Can't build on HP-UX.
- Solution: Remove modern initialization. (John Marriott)
- Files: src/regexp_nfa.c
- Patch 7.3.977
- Problem: Compiler warnings on 64 bit Windows.
- Solution: Add type casts. (Mike Williams) Also fix some white space and
- uncomment what was commented-out for testing.
- Files: src/regexp_nfa.c
- Patch 7.3.978
- Problem: Regexp debug logs don't have a good name.
- Solution: Use clear names and make it possible to write logs for the old and
- new engines separately. (Taro Muraoka)
- Files: src/regexp.c, src/regexp_nfa.c
- Patch 7.3.979
- Problem: Complex NFA regexp doesn't work.
- Solution: Set actual state stack end instead of using an arbitrary number.
- (Yasuhiro Matsumoto)
- Files: src/regexp_nfa.c
- Patch 7.3.980
- Problem: Regexp logs may contain garbage. Character classes don't work
- correctly for multibyte characters.
- Solution: Check for end of post list. Only use "is" functions for
- characters up to 255. (Ken Takata)
- Files: src/regexp_nfa.c
- Patch 7.3.981
- Problem: In the old regexp engine \i, \I, \f and \F don't work on
- multibyte characters.
- Solution: Dereference pointer properly.
- Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.982
- Problem: In the new regexp engine \p does not work on multibyte
- characters.
- Solution: Don't point to an integer but the characters.
- Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.983
- Problem: Unnecessary temp variable.
- Solution: Remove the variable.
- Files: src/regexp_nfa.c
- Patch 7.3.984
- Problem: A Visual mapping that uses CTRL-G works differently when started
- from Insert mode. (Ein Brown)
- Solution: Reset old_mapped_len when handling typed text in Select mode.
- Files: src/normal.c
- Patch 7.3.985
- Problem: GTK vim not started as gvim doesn't set WM_CLASS property to a
- useful value.
- Solution: Call g_set_prgname() on startup. (James McCoy)
- Files: src/gui_gtk_x11.c
- Patch 7.3.986
- Problem: Test 95 doesn't pass when 'encoding' isn't utf-8. (Yasuhiro
- Matsumoto)
- Solution: Force 'encoding' to be utf-8.
- Files: src/testdir/test95.in
- Patch 7.3.987
- Problem: No easy to run an individual test. Tests 64 fails when
- 'encoding' is not utf-8.
- Solution: Add individual test targets to the Makefile. Move some lines from
- test 64 to 95.
- Files: src/Makefile, src/testdir/test64.in, src/testdir/test64.ok,
- src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.988
- Problem: New regexp engine is slow.
- Solution: Break out of the loop when the state list is empty.
- Files: src/regexp_nfa.c
- Patch 7.3.989
- Problem: New regexp engine compares negative numbers to character.
- Solution: Add missing case statements.
- Files: src/regexp_nfa.c
- Patch 7.3.990
- Problem: Memory leak in new regexp engine.
- Solution: Jump to end of function to free memory. (Dominique Pelle)
- Files: src/regexp_nfa.c
- Patch 7.3.991
- Problem: More can be shared by Python 2 and 3.
- Solution: Move more stuff to if_py_both. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test87.ok
- Patch 7.3.992
- Problem: Python: Too many type casts.
- Solution: Change argument types. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.993
- Problem: Python: Later patch does things slightly differently.
- Solution: Adjusted argument type changes. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.994
- Problem: Python: using magic constants.
- Solution: Use descriptive values for ml_flags. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c
- Patch 7.3.995
- Problem: Python: Module initialization is duplicated.
- Solution: Move to shared file. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.996
- Problem: Python: Can't check types of what is returned by bindeval().
- Solution: Add vim.List, vim.Dictionary and vim.Function types. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in,
- src/testdir/test86.ok, src/testdir/test87.in,
- src/testdir/test87.ok
- Patch 7.3.997
- Problem: Vim and Python exceptions are different.
- Solution: Make Vim exceptions be Python exceptions. (ZyX)
- Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.998
- Problem: Python: garbage collection issues.
- Solution: Fix the GC issues: Use proper DESTRUCTOR_FINISH: avoids negative
- refcounts, use PyObject_GC_* for objects with tp_traverse and
- tp_clear, add RangeTraverse and RangeClear, use Py_XDECREF in some
- places. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.999
- Problem: New regexp engine sets curbuf temporarily.
- Solution: Use reg_buf instead, like the old engine.
- Files: src/regexp_nfa.c
- Patch 7.3.1000 (whoa!)
- Problem: Typo in char value causes out of bounds access.
- Solution: Fix character value. (Klemens Baum)
- Files: src/regexp.c
- Patch 7.3.1001
- Problem: Duplicate condition in if.
- Solution: Remove one condition.
- Files: src/regexp_nfa.c
- Patch 7.3.1002
- Problem: Valgrind errors for Python interface.
- Solution: Fix memory leaks when running tests. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1003
- Problem: Python interface does not compile with Python 2.2
- Solution: Fix thread issues and True/False. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1004
- Problem: No error when option could not be set.
- Solution: Report an error. (ZyX)
- Files: src/if_py_both.h, src/option.c, src/proto/option.pro,
- src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.1005
- Problem: Get stuck on regexp "\n*" and on "%s/^\n\+/\r".
- Solution: Fix handling of matching a line break. (idea by Hirohito Higashi)
- Files: src/regexp_nfa.c
- Patch 7.3.1006
- Problem: NFA engine not used for "\_[0-9]".
- Solution: Enable this, fixed in patch 1005.
- Files: src/regexp_nfa.c
- Patch 7.3.1007
- Problem: Can't build on Minix 3.2.1.
- Solution: Add a condition to an #ifdef. (Gautam Tirumala)
- Files: src/memfile.c
- Patch 7.3.1008
- Problem: Test 95 fails on MS-Windows.
- Solution: Set 'nomore'. Change \i to \f. Change multibyte character to
- something that is not matching \i. (Ken Takata)
- Files: src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.1009
- Problem: Compiler warning for ambiguous else.
- Solution: Add curly braces.
- Files: src/if_py_both.h
- Patch 7.3.1010
- Problem: New regexp: adding \Z makes every character match.
- Solution: Only apply ireg_icombine for composing characters.
- Also add missing change from patch 1008. (Ken Takata)
- Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.1011
- Problem: New regexp engine is inefficient with multibyte characters.
- Solution: Handle a character at a time instead of a byte at a time. Also
- make \Z partly work.
- Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.1012
- Problem: \Z does not work properly with the new regexp engine.
- Solution: Make \Z work. Add tests.
- Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.1013
- Problem: New regexp logging is a bit messy.
- Solution: Consistently use #defines, add explanatory comment. (Taro Muraoka)
- Files: src/regexp_nfa.c
- Patch 7.3.1014
- Problem: New regexp state dump is hard to read.
- Solution: Make the state dump more pretty. (Taro Muraoka)
- Files: src/regexp_nfa.c
- Patch 7.3.1015
- Problem: New regexp engine: Matching composing characters is wrong.
- Solution: Fix matching composing characters.
- Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.1016
- Problem: Unused field in nfa_state.
- Solution: Remove lastthread.
- Files: src/regexp.h, src/regexp_nfa.c
- Patch 7.3.1017
- Problem: Zero width match changes length of match.
- Solution: For a zero width match put new states in the current position in
- the state list.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
- src/regexp.h
- Patch 7.3.1018
- Problem: New regexp engine wastes memory.
- Solution: Allocate prog with actual number of states, not estimated maximum
- number of states.
- Files: src/regexp_nfa.c
- Patch 7.3.1019
- Problem: These do not work with the new regexp engine: \%o123, \%x123,
- \%d123, \%u123 and \%U123.
- Solution: Implement these items.
- Files: src/regexp_nfa.c
- Patch 7.3.1020
- Problem: Not all patterns are tested with auto / old / new engine.
- Solution: Test patterns with three values of 'regexpengine'.
- Files: src/testdir/test64.in, src/testdir/test64.ok,
- src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.1021
- Problem: New regexp engine does not ignore order of composing chars.
- Solution: Ignore composing chars order.
- Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.1022
- Problem: Compiler warning for shadowed variable. (John Little)
- Solution: Move declaration, rename variables.
- Files: src/regexp_nfa.c
- Patch 7.3.1023
- Problem: Searching for composing char only and using \Z has different
- results.
- Solution: Make it match the composing char, matching everything is not
- useful.
- Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
- Patch 7.3.1024
- Problem: New regexp: End of matching pattern not set correctly. (Cesar
- Romani)
- Solution: Quit the loop after finding the match. Store nfa_has_zend in the
- program.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
- src/regexp.h
- Patch 7.3.1025
- Problem: New regexp: not matching newline in string. (Marc Weber)
- Solution: Check for "\n" character.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1026
- Problem: New regexp: pattern that includes a new-line matches too early.
- (John McGowan)
- Solution: Do not start searching in the second line.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1027
- Problem: New regexp performance: Calling no_Magic() very often.
- Solution: Remove magicness inline.
- Files: src/regexp_nfa.c
- Patch 7.3.1028
- Problem: New regexp performance: Copying a lot of position state.
- Solution: Only copy the sub-expressions that are being used.
- Files: src/regexp_nfa.c, src/regexp.h
- Patch 7.3.1029
- Problem: New regexp performance: Unused position state being copied.
- Solution: Keep track of which positions are actually valid.
- Files: src/regexp_nfa.c
- Patch 7.3.1030 (after 7.3.1028)
- Problem: Can't build for debugging.
- Solution: Fix struct member names.
- Files: src/regexp_nfa.c
- Patch 7.3.1031
- Problem: Compiler warnings for shadowed variable. (John Little)
- Solution: Move the variable declarations to the scope where they are used.
- Files: src/regexp_nfa.c
- Patch 7.3.1032
- Problem: "\ze" is not supported by the new regexp engine.
- Solution: Make "\ze" work.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1033
- Problem: "\1" .. "\9" are not supported in the new regexp engine.
- Solution: Implement them. Add a few more tests.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
- src/regexp.h
- Patch 7.3.1034
- Problem: New regexp code using strange multibyte code.
- Solution: Use the normal code to advance and backup pointers.
- Files: src/regexp_nfa.c
- Patch 7.3.1035
- Problem: Compiler warning on 64 bit windows.
- Solution: Add type cast. (Mike Williams)
- Files: src/if_py_both.h
- Patch 7.3.1036
- Problem: Can't build on HP-UX.
- Solution: Give the union a name. (John Marriott)
- Files: src/regexp_nfa.c
- Patch 7.3.1037
- Problem: Look-behind matching is very slow on long lines.
- Solution: Add a byte limit to how far back an attempt is made.
- Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
- src/testdir/test64.ok
- Patch 7.3.1038
- Problem: Crash when using Cscope.
- Solution: Avoid negative argument to vim_strncpy(). (Narendran
- Gopalakrishnan)
- Files: src/if_cscope.c
- Patch 7.3.1039
- Problem: New regexp engine does not support \%23c, \%<23c and the like.
- Solution: Implement them. (partly by Yasuhiro Matsumoto)
- Files: src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in,
- src/testdir/test64.ok
- Patch 7.3.1040
- Problem: Python: Problems with debugging dynamic build.
- Solution: Python patch 1. (ZyX)
- Files: src/if_python.c, src/if_python3.c
- Patch 7.3.1041
- Problem: Python: Invalid read valgrind errors.
- Solution: Python patch 2: defer DICTKEY_UNREF until key is no longer needed.
- (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1042
- Problem: Python: can't assign to vim.Buffer.name.
- Solution: Python patch 3. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/ex_cmds.c, src/if_py_both.h,
- src/if_python3.c, src/if_python.c, src/proto/ex_cmds.pro,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1043
- Problem: Python: Dynamic compilation with 2.3 fails.
- Solution: Python patch 4. (ZyX)
- Files: src/if_python.c
- Patch 7.3.1044
- Problem: Python: No {Buffer,TabPage,Window}.valid attributes.
- Solution: Python patch 5: add .valid (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1045
- Problem: Python: No error handling for VimToPython function.
- Solution: Python patch 6. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1046
- Problem: Python: Using Py_BuildValue for building strings.
- Solution: Python patch 7 and 7.5: Replace Py_BuildValue with
- PyString_FromString. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1047
- Problem: Python: dir() does not work properly.
- Solution: Python patch 8. Add __dir__ method to all objects with custom
- tp_getattr supplemented by __members__ attribute for at least
- python-2* versions. __members__ is not mentioned in python-3*
- dir() output even if it is accessible. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1048
- Problem: Python: no consistent naming.
- Solution: Python patch 9: Rename d to dict and lookupDict to lookup_dict.
- (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1049
- Problem: Python: no consistent naming
- Solution: Python patch 10: Rename DICTKEY_GET_NOTEMPTY to DICTKEY_GET. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1050
- Problem: Python: Typo in pyiter_to_tv.
- Solution: Python patch 11. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1051
- Problem: Python: possible memory leaks.
- Solution: Python patch 12: fix the leaks (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1052
- Problem: Python: possible SEGV and negative refcount.
- Solution: Python patch 13: Fix IterIter function. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1053
- Problem: Python: no flag for types with tp_traverse+tp_clear.
- Solution: Python patch 14: Add Py_TPFLAGS_HAVE_GC. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1054 (after 7.3.1042)
- Problem: Can't build without the +autocmd feature. (Elimar Riesebieter)
- Solution: Fix use of buf and curbuf.
- Files: src/ex_cmds.c, src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.1055
- Problem: Negated collection does not match newline.
- Solution: Handle newline differently. (Hiroshi Shirosaki)
- Files: src/regexp_nfa.c, src/testdir/test64.ok, src/testdir/test64.in
- Patch 7.3.1056
- Problem: Python: possible memory leaks.
- Solution: Python patch 15. (ZyX) Fix will follow later.
- Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro
- Patch 7.3.1057
- Problem: Python: not enough compatibility.
- Solution: Python patch 16: Make OutputWritelines support any sequence object
- (ZyX) Note: tests fail
- Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1058
- Problem: Call of funcref does not succeed in other script.
- Solution: Python patch 17: add get_expanded_name(). (ZyX)
- Files: src/eval.c, src/proto/eval.pro
- Patch 7.3.1059
- Problem: Python: Using fixed size buffers.
- Solution: Python patch 18: Use python's own formatter. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.1060
- Problem: Python: can't repr() a function.
- Solution: Python patch 19: add FunctionRepr(). (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1061
- Problem: Python: Dictionary is not standard.
- Solution: Python patch 20: Add standard methods and fields. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h,
- src/if_python3.c, src/if_python.c, src/proto/eval.pro,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1062
- Problem: Python: List is not standard.
- Solution: Python patch 21: Add standard methods and fields. (ZyX)
- Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1063
- Problem: Python: Function is not standard.
- Solution: Python patch 22: make Function subclassable. (ZyX)
- Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1064
- Problem: Python: insufficient error checking.
- Solution: Python patch 23. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1065
- Problem: Python: key mapping is not standard.
- Solution: Python patch 24: use PyMapping_Keys. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.1066
- Problem: Python: Insufficient exception and error testing.
- Solution: Python patch 25. (ZyX)
- Files: src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1067
- Problem: Python: documentation lags behind.
- Solution: Python patch 26. (ZyX)
- Files: runtime/doc/if_pyth.txt
- Patch 7.3.1068
- Problem: Python: Script is auto-loaded on function creation.
- Solution: Python patch 27. (ZyX)
- Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro,
- src/testdir/test86.ok, src/testdir/test87.ok, src/vim.h
- Patch 7.3.1069
- Problem: Python: memory leaks.
- Solution: Python patch 28: Purge out DICTKEY_CHECK_EMPTY macros. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1070
- Problem: Vim crashes in Python tests. Compiler warning for unused function.
- Solution: Disable the tests for now. Move the function.
- Files: src/if_py_both.h, src/if_python.c, src/testdir/test86.in,
- src/testdir/test87.in
- Patch 7.3.1071
- Problem: New regexp engine: backreferences don't work correctly.
- Solution: Add every possible start/end position on the state stack.
- Files: src/regexp_nfa.c, src/regexp.h, src/testdir/test64.in,
- src/testdir/test64.ok
- Patch 7.3.1072
- Problem: Compiler warning for uninitialized variable.
- Solution: Initialize it.
- Files: src/regexp_nfa.c
- Patch 7.3.1073
- Problem: New regexp engine may run out of states.
- Solution: Allocate states dynamically. Also make the test report errors.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
- src/testdir/test95.in
- Patch 7.3.1074
- Problem: Compiler warning for printf format. (Manuel Ortega)
- Solution: Add type casts.
- Files: src/if_py_both.h
- Patch 7.3.1075
- Problem: Compiler warning for storing a long_u in an int.
- Solution: Declare the number as an int. (Mike Williams)
- Files: src/regexp_nfa.c
- Patch 7.3.1076
- Problem: New regexp engine: \@= and \& don't work.
- Solution: Make these items work. Add column info to logging.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1077
- Problem: Python: Allocating dict the wrong way, causing a crash.
- Solution: Use py_dict_alloc(). Fix some exception problems. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1078
- Problem: New regexp engine: \@! doesn't work.
- Solution: Implement the negated version of \@=.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1079
- Problem: Test 87 fails.
- Solution: Fix the test for Python 3.3. (ZyX) Make it pass on 32 bit systems.
- Files: src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1080
- Problem: Test 86 fails.
- Solution: Comment out the parts that don't work. Make it pass on 32 bit
- systems.
- Files: src/testdir/test86.in, src/testdir/test86.ok
- Patch 7.3.1081
- Problem: Compiler warnings on 64-bit Windows.
- Solution: Change variable types. (Mike Williams)
- Files: src/if_py_both.h, src/regexp_nfa.c
- Patch 7.3.1082
- Problem: New regexp engine: Problem with \@= matching.
- Solution: Save and restore nfa_match.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1083
- Problem: New regexp engine: Does not support \%^ and \%$.
- Solution: Support matching start and end of file.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1084
- Problem: New regexp engine: only accepts up to \{,10}.
- Solution: Remove upper limit. Remove dead code with NFA_PLUS.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1085
- Problem: New regexp engine: Non-greedy multi doesn't work.
- Solution: Implement \{-}.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1086
- Problem: Old regexp engine accepts illegal range, new one doesn't.
- Solution: Also accept the illegal range with the new engine.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1087
- Problem: A leading star is not seen as a normal char when \{} follows.
- Solution: Save and restore the parse state properly.
- Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
- src/testdir/test64.ok
- Patch 7.3.1088
- Problem: New regexp engine: \@<= and \@<! are not implemented.
- Solution: Implement look-behind matching. Fix off-by-one error in old
- regexp engine.
- Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
- src/testdir/test64.ok
- Patch 7.3.1089
- Problem: Tests 86 and 87 fail on MS-Windows. (Ken Takata)
- Solution: Fix platform-specific stuff. (ZyX)
- Files: src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1090
- Problem: New regexp engine does not support \z1 .. \z9 and \z(.
- Solution: Implement the syntax submatches.
- Files: src/regexp.h, src/regexp_nfa.c
- Patch 7.3.1091
- Problem: New regexp engine: no error when using \z1 or \z( where it does
- not work.
- Solution: Give an error message.
- Files: src/regexp.c, src/regexp_nfa.c
- Patch 7.3.1092
- Problem: Can't build with regexp debugging. NFA debug output shows wrong
- pattern.
- Solution: Fix debugging code for recent changes. Add the pattern to the
- program.
- Files: src/regexp_nfa.c, src/regexp.h
- Patch 7.3.1093
- Problem: New regexp engine: When a sub expression is empty \1 skips a
- character.
- Solution: Make \1 try the current position when the match is empty.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1094
- Problem: New regexp engine: Attempts to match "^" at every character.
- Solution: Only try "^" at the start of a line.
- Files: src/regexp_nfa.c
- Patch 7.3.1095
- Problem: Compiler warnings for shadowed variables. (Christian Brabandt)
- Solution: Rename new_state() to alloc_state(). Remove unnecessary
- declaration.
- Files: src/regexp_nfa.c
- Patch 7.3.1096
- Problem: Python: popitem() was not defined in a standard way.
- Solution: Remove the argument from popitem(). (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in,
- src/testdir/test86.ok, src/testdir/test87.in,
- src/testdir/test87.ok
- Patch 7.3.1097
- Problem: Python: a few recently added items are not documented.
- Solution: Update the documentation. (ZyX)
- Files: runtime/doc/if_pyth.txt
- Patch 7.3.1098
- Problem: Python: Possible memory leaks
- Solution: Add Py_XDECREF() calls. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1099
- Problem: Python: Changing directory with os.chdir() causes problems for
- Vim's notion of directories.
- Solution: Add vim.chdir() and vim.fchdir(). (ZyX)
- Files: runtime/doc/if_pyth.txt, src/ex_docmd.c, src/if_py_both.h,
- src/if_python3.c, src/if_python.c, src/proto/ex_docmd.pro,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1100
- Problem: Python: a few more memory problems.
- Solution: Add and remove Py_XDECREF(). (ZyX)
- Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1101
- Problem: Configure doesn't find Python 3 on Ubuntu 13.04.
- Solution: First try distutils.sysconfig. Also fix some indents. (Ken
- Takata)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.1102
- Problem: Completion of ":py3do" and ":py3file" does not work after ":py3".
- Solution: Make completion work. (Taro Muraoka)
- Files: src/ex_docmd.c
- Patch 7.3.1103
- Problem: New regexp engine: overhead in saving and restoring.
- Solution: Make saving and restoring list IDs faster. Don't copy or check \z
- subexpressions when they are not used.
- Files: src/regexp_nfa.c
- Patch 7.3.1104
- Problem: New regexp engine does not handle "~".
- Solution: Add support for "~".
- Files: src/regexp_nfa.c, src/testdir/test24.in, src/testdir/test24.ok
- Patch 7.3.1105
- Problem: New regexp engine: too much code in one function. Dead code.
- Solution: Move the recursive nfa_regmatch call to a separate function.
- Remove the dead code.
- Files: src/regexp_nfa.c
- Patch 7.3.1106
- Problem: New regexp engine: saving and restoring lastlist in the states
- takes a lot of time.
- Solution: Use a second lastlist value for the first recursive call.
- Files: src/regexp.h, src/regexp_nfa.c
- Patch 7.3.1107
- Problem: Compiler warnings for unused variables.
- Solution: Put the variables inside #ifdef.
- Files: src/regexp.c, src/regexp_nfa.c
- Patch 7.3.1108
- Problem: Error message for os.fchdir() (Charles Peacech)
- Solution: Clear the error. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1109
- Problem: Building on MS-Windows doesn't see changes in if_py_both.h.
- Solution: Add a dependency. (Ken Takata)
- Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak,
- src/Make_mvc.mak
- Patch 7.3.1110
- Problem: New regexp matching: Using \@= and the like can be slow.
- Solution: Decide whether to first try matching the zero-width part or what
- follows, whatever is more likely to fail.
- Files: src/regexp_nfa.c
- Patch 7.3.1111
- Problem: nfa_recognize_char_class() implementation is inefficient.
- Solution: Use bits in an int instead of chars in a string. (Dominique Pelle)
- Files: src/regexp_nfa.c, src/testdir/test36.in, src/testdir/test36.ok
- Patch 7.3.1112
- Problem: New regexp engine: \%V not supported.
- Solution: Implement \%V. Add tests.
- Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
- src/testdir/test64.ok
- Patch 7.3.1113
- Problem: New regexp engine: \%'m not supported.
- Solution: Implement \%'m. Add tests.
- Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
- src/testdir/test64.ok
- Patch 7.3.1114 (after 7.3.1110)
- Problem: Can't build without the syntax feature.
- Solution: Add #ifdefs. (Erik Falor)
- Files: src/regexp_nfa.c
- Patch 7.3.1115
- Problem: Many users don't like the cursor line number when 'relativenumber'
- is set.
- Solution: Have four combinations with 'number' and 'relativenumber'.
- (Christian Brabandt)
- Files: runtime/doc/options.txt, src/option.c, src/screen.c,
- src/testdir/test89.in, src/testdir/test89.ok
- Patch 7.3.1116
- Problem: Can't build without Visual mode.
- Solution: Add #ifdefs.
- Files: src/regexp_nfa.c
- Patch 7.3.1117
- Problem: New regexp engine: \%[abc] not supported.
- Solution: Implement \%[abc]. Add tests.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1118
- Problem: Match failure rate is not very specific.
- Solution: Tune the failure rate for match items.
- Files: src/regexp_nfa.c
- Patch 7.3.1119
- Problem: Flags in 'cpo' are search for several times.
- Solution: Store the result and re-use the flags.
- Files: src/regexp.c, src/regexp_nfa.c
- Patch 7.3.1120
- Problem: Crash when regexp logging is enabled.
- Solution: Avoid using NULL pointers. Advance over count argument.
- Files: src/regexp.c, src/regexp_nfa.c
- Patch 7.3.1121
- Problem: New regexp engine: adding states that are not used.
- Solution: Don't add the states.
- Files: src/regexp_nfa.c
- Patch 7.3.1122
- Problem: New regexp engine: \@> not supported.
- Solution: Implement \%>.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1123
- Problem: Can't build tiny Vim on MS-Windows.
- Solution: Adjust #ifdef around using modif_fname(). (Mike Williams)
- Files: src/misc1.c
- Patch 7.3.1124
- Problem: Python: Crash on MS-Windows when os.fchdir() is not available.
- Solution: Check for _chdir to be NULL. (Ken Takata)
- Files: src/if_py_both.h
- Patch 7.3.1125
- Problem: Error for using \%V in a pattern in tiny Vim.
- Solution: Allow using \%V but never match. (Dominique Pelle)
- Files: src/regexp_nfa.c
- Patch 7.3.1126
- Problem: Compiler warning for uninitialized variable. (Tony Mechelynck)
- Solution: Assign something to the variable.
- Files: src/regexp_nfa.c
- Patch 7.3.1127
- Problem: No error for using empty \%[].
- Solution: Give error message.
- Files: src/regexp.c, src/regexp_nfa.c
- Patch 7.3.1128
- Problem: Now that the NFA engine handles everything every failure is a
- syntax error.
- Solution: Remove the syntax_error flag.
- Files: src/regexp.c, src/regexp_nfa.c
- Patch 7.3.1129
- Problem: Can't see what pattern in syntax highlighting is slow.
- Solution: Add the ":syntime" command.
- Files: src/structs.h, src/syntax.c, src/ex_cmds.h, src/ex_docmd.c,
- src/proto/syntax.pro, src/ex_cmds2.c, src/proto/ex_cmds2.pro,
- runtime/doc/syntax.txt
- Patch 7.3.1130 (after 7.3.1129)
- Problem: Can't build with anything but huge features.
- Solution: Check for FEAT_PROFILE. (Yasuhiro Matsumoto)
- Files: src/ex_docmd.c, src/structs.h, src/syntax.c
- Patch 7.3.1131
- Problem: New regexp engine is a bit slow.
- Solution: Do not clear the state list. Don't copy syntax submatches when
- not used.
- Files: src/regexp_nfa.c
- Patch 7.3.1132
- Problem: Crash when debugging regexp.
- Solution: Do not try to dump subexpr that were not set. Skip over count of
- \% items.
- Files: src/regexp.c, src/regexp_nfa.c
- Patch 7.3.1133
- Problem: New regexp engine is a bit slow.
- Solution: Skip ahead to a character that must match. Don't try matching a
- "^" patter past the start of line.
- Files: src/regexp_nfa.c, src/regexp.h
- Patch 7.3.1134
- Problem: Running test 49 takes a long time.
- Solution: Don't have it grep all files.
- Files: src/testdir/test49.vim
- Patch 7.3.1135
- Problem: Compiler warning for unused argument.
- Solution: Add UNUSED.
- Files: src/syntax.c
- Patch 7.3.1136
- Problem: ":func Foo" does not show attributes.
- Solution: Add "abort", "dict" and "range". (Yasuhiro Matsumoto)
- Files: src/eval.c
- Patch 7.3.1137
- Problem: New regexp engine: collections are slow.
- Solution: Handle all characters in one go.
- Files: src/regexp_nfa.c
- Patch 7.3.1138
- Problem: New regexp engine: neglist no longer used.
- Solution: Remove the now unused neglist.
- Files: src/regexp_nfa.c
- Patch 7.3.1139
- Problem: New regexp engine: negated flag is hardly used.
- Solution: Add separate _NEG states, remove negated flag.
- Files: src/regexp_nfa.c, src/regexp.h
- Patch 7.3.1140
- Problem: New regexp engine: trying expensive match while the result is not
- going to be used.
- Solution: Check for output state already being in the state list.
- Files: src/regexp_nfa.c
- Patch 7.3.1141
- Problem: Win32: Check for available memory is not reliable and adds
- overhead.
- Solution: Remove mch_avail_mem(). (Mike Williams)
- Files: src/os_win32.c, src/os_win32.h
- Patch 7.3.1142
- Problem: Memory leak in ":syntime report".
- Solution: Clear the grow array. (Dominique Pelle)
- Files: src/syntax.c
- Patch 7.3.1143
- Problem: When mapping NUL it is displayed as an X.
- Solution: Check for KS_ZERO instead of K_ZERO. (Yasuhiro Matsumoto)
- Files: src/message.c
- Patch 7.3.1144
- Problem: "RO" is not translated everywhere.
- Solution: Put inside _(). (Sergey Alyoshin)
- Files: src/buffer.c, src/screen.c
- Patch 7.3.1145
- Problem: New regexp engine: addstate() is called very often.
- Solution: Optimize adding the start state.
- Files: src/regexp_nfa.c
- Patch 7.3.1146
- Problem: New regexp engine: look-behind match not checked when followed by
- zero-width match.
- Solution: Do the look-behind match before adding the zero-width state.
- Files: src/regexp_nfa.c
- Patch 7.3.1147
- Problem: New regexp engine: regstart is only used to find the first match.
- Solution: Use regstart whenever adding the start state.
- Files: src/regexp_nfa.c
- Patch 7.3.1148
- Problem: No command line completion for ":syntime".
- Solution: Implement the completion. (Dominique Pelle)
- Files: runtime/doc/map.txt, src/ex_cmds.h, src/ex_docmd.c,
- src/ex_getln.c, src/proto/syntax.pro, src/syntax.c, src/vim.h
- Patch 7.3.1149
- Problem: New regexp engine: Matching plain text could be faster.
- Solution: Detect a plain text match and handle it specifically. Add
- vim_regfree().
- Files: src/regexp.c, src/regexp.h, src/regexp_nfa.c,
- src/proto/regexp.pro, src/buffer.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/fileio.c, src/gui.c, src/misc1.c, src/misc2.c,
- src/option.c, src/syntax.c, src/quickfix.c, src/search.c,
- src/spell.c, src/tag.c, src/window.c, src/screen.c, src/macros.h,
- src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1150
- Problem: New regexp engine: Slow when a look-behind match does not have a
- width specified.
- Solution: Try to compute the maximum width.
- Files: src/regexp_nfa.c
- Patch 7.3.1151
- Problem: New regexp engine: Slow when a look-behind match is followed by a
- zero-width match.
- Solution: Postpone the look-behind match more often.
- Files: src/regexp_nfa.c
- Patch 7.3.1152
- Problem: In tiny build ireg_icombine is undefined. (Tony Mechelynck)
- Solution: Add #ifdef.
- Files: src/regexp_nfa.c
- Patch 7.3.1153
- Problem: New regexp engine: Some look-behind matches are very expensive.
- Solution: Postpone invisible matches further, until a match is almost found.
- Files: src/regexp_nfa.c
- Patch 7.3.1154
- Problem: New regexp_nfa engine: Unnecessary code.
- Solution: Remove unnecessary code.
- Files: src/regexp_nfa.c
- Patch 7.3.1155
- Problem: MS-DOS: "make test" uses external rmdir command.
- Solution: Rename "rmdir" to "rd". (Taro Muraoka)
- Files: src/testdir/Make_dos.mak
- Patch 7.3.1156
- Problem: Compiler warnings. (dv1445)
- Solution: Initialize variables, even when the value isn't really used.
- Files: src/regexp_nfa.c, src/eval.c
- Patch 7.3.1157
- Problem: New regexp engine fails on "\(\<command\)\@<=.*"
- Solution: Fix rule for postponing match. Further tune estimating whether
- postponing works better. Add test.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1158
- Problem: Crash when running test 86. (Jun Takimoto)
- Solution: Define PY_SSIZE_T_CLEAN early. (Elimar Riesebieter)
- Files: src/if_python.c, src/if_python3.c
- Patch 7.3.1159
- Problem: The round() function is not always available. (Christ van
- Willegen)
- Solution: Use the solution from f_round().
- Files: src/ex_cmds2.c, src/eval.c, src/proto/eval.pro
- Patch 7.3.1160
- Problem: Mixing long and pointer doesn't always work.
- Solution: Avoid cast to pointer.
- Files: src/undo.c
- Patch 7.3.1161
- Problem: Python: PyList_SetItem() is inefficient.
- Solution: Use PyList_SET_ITEM() (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1162
- Problem: Python: Memory leaks
- Solution: Add more Py_DECREF(). (ZyX)
- Files: src/if_py_both.h, src/if_python.c
- Patch 7.3.1163
- Problem: Not easy to load Python modules.
- Solution: Search "python2", "python3" and "pythonx" directories in
- 'runtimepath' for Python modules. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/configure.in, src/ex_cmds2.c,
- src/if_py_both.h, src/if_python.c, src/if_python3.c,
- src/testdir/test86.in, src/testdir/test87.in, src/auto/configure
- Patch 7.3.1164
- Problem: Can't test what is actually displayed on screen.
- Solution: Add the screenchar() and screenattr() functions.
- Files: src/eval.c, runtime/doc/eval.txt
- Patch 7.3.1165
- Problem: HP-UX compiler can't handle zero size array. (Charles Cooper)
- Solution: Make the array one item big.
- Files: src/regexp.h, src/regexp_nfa.c
- Patch 7.3.1166
- Problem: Loading Python modules is not tested.
- Solution: Enable commented-out tests, add missing files. (ZyX)
- Files: src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok,
- src/testdir/python2/module.py, src/testdir/python3/module.py,
- src/testdir/pythonx/module.py, src/testdir/pythonx/modulex.py,
- Filelist
- Patch 7.3.1167
- Problem: Python configure check doesn't reject Python 2 when requesting
- Python 3. Some systems need -pthreads instead of -pthread.
- Solution: Adjust configure accordingly. (Andrei Olsen)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.1168
- Problem: Python "sane" configure checks give a warning message.
- Solution: Use single quotes instead of escaped double quotes. (Ben Fritz)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.1169
- Problem: New regexp engine: some work is done while executing a pattern,
- even though the result is predictable.
- Solution: Do the work while compiling the pattern.
- Files: src/regexp_nfa.c
- Patch 7.3.1170
- Problem: Patch 7.3.1058 breaks backwards compatibility, not possible to use
- a function reference as a string. (lilydjwg)
- Solution: Instead of translating the function name only translate "s:".
- Files: src/eval.c
- Patch 7.3.1171
- Problem: Check for digits and ascii letters can be faster.
- Solution: Use a trick with one comparison. (Dominique Pelle)
- Files: src/macros.h
- Patch 7.3.1172
- Problem: Python 2: loading modules doesn't work well.
- Solution: Fix the code. Add more tests. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c,
- src/testdir/python2/module.py, src/testdir/python3/module.py,
- src/testdir/python_after/after.py,
- src/testdir/python_before/before.py, src/testdir/test86.in,
- src/testdir/test86.ok, src/testdir/test87.in,
- src/testdir/test87.ok, Filelist
- Patch 7.3.1173
- Problem: Python 2 tests don't have the same output everywhere.
- Solution: Make the Python 2 tests more portable. (ZyX)
- Files: src/testdir/test86.in, src/testdir/test86.ok
- Patch 7.3.1174
- Problem: Python 2 and 3 use different ways to load modules.
- Solution: Use the same method. (ZyX)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c,
- src/if_python.c
- Patch 7.3.1175
- Problem: Using isalpha() and isalnum() can be slow.
- Solution: Use range checks. (Mike Williams)
- Files: src/ex_docmd.c, src/macros.h
- Patch 7.3.1176
- Problem: Compiler warnings on 64 bit system.
- Solution: Add type casts. (Mike Williams)
- Files: src/eval.c, src/if_py_both.h
- Patch 7.3.1177
- Problem: Wasting memory on padding.
- Solution: Reorder struct fields. (Dominique Pelle)
- Files: src/structs.h, src/fileio.c
- Patch 7.3.1178
- Problem: Can't put all Vim config files together in one directory.
- Solution: Load ~/.vim/vimrc if ~/.vimrc does not exist. (Lech Lorens)
- Files: runtime/doc/gui.txt, runtime/doc/starting.txt, src/gui.c,
- src/main.c, src/os_amiga.h, src/os_dos.h, src/os_unix.h
- Patch 7.3.1179
- Problem: When a global mapping starts with the same characters as a
- buffer-local mapping Vim waits for a character to be typed to find
- out whether the global mapping is to be used. (Andy Wokula)
- Solution: Use the local mapping without waiting. (Michael Henry)
- Files: runtime/doc/map.txt, src/getchar.c
- Patch 7.3.1180
- Problem: When current directory changes, path from cscope may no longer be
- valid. (AS Budden)
- Solution: Always store the absolute path. (Christian Brabandt)
- Files: src/if_cscope.c
- Patch 7.3.1181
- Problem: Wrong error message for 1.0[0].
- Solution: Check for funcref and float separately. (Yasuhiro Matsumoto)
- Files: src/eval.c
- Patch 7.3.1182
- Problem: 'backupcopy' default on MS-Windows does not work for hard and soft
- links.
- Solution: Check for links. (David Pope, Ken Takata)
- Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro
- Patch 7.3.1183
- Problem: Python tests 86 and 87 fail.
- Solution: Add "empty" files. (ZyX)
- Files: src/testdir/python_before/before_1.py,
- src/testdir/python_before/before_2.py
- Patch 7.3.1184
- Problem: Highlighting is sometimes wrong. (Axel Bender)
- Solution: Fetch regline again when returning from recursive regmatch.
- Files: src/regexp_nfa.c
- Patch 7.3.1185
- Problem: New regexp engine: no match with ^ after \n. (SungHyun Nam)
- Solution: Fix it, add a test.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1186
- Problem: Python 3: test 87 may crash.
- Solution: Use _PyArg_Parse_SizeT instead of PyArg_Parse. (Jun Takimoto)
- Files: src/if_python3.c
- Patch 7.3.1187 (after 7.3.1170)
- Problem: "s:" is recognized but "<SID>" is not. (ZyX)
- Solution: Translate "<SID>" like "s:".
- Files: src/eval.c
- Patch 7.3.1188
- Problem: Newline characters messing up error message.
- Solution: Remove the newlines. (Kazunobu Kuriyama)
- Files: src/gui_x11.c
- Patch 7.3.1189 (after 7.3.1185)
- Problem: Highlighting is still wrong sometimes. (Dominique Pelle)
- Solution: Also restore reginput properly.
- Files: src/regexp_nfa.c
- Patch 7.3.1190
- Problem: Compiler warning for parentheses. (Christian Wellenbrock)
- Solution: Change #ifdef.
- Files: src/ex_docmd.c
- Patch 7.3.1191
- Problem: Backreference to previous line doesn't work. (Lech Lorens)
- Solution: Implement looking in another line.
- Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
- src/testdir/test64.ok
- Patch 7.3.1192
- Problem: Valgrind reports errors when using backreferences. (Dominique
- Pelle)
- Solution: Do not check the end of submatches.
- Files: src/regexp_nfa.c
- Patch 7.3.1193
- Problem: fail_if_missing not used for Python 3.
- Solution: Give an error when Python 3 can't be configured. (Andrei Olsen)
- Files: src/configure.in, src/auto/configure
- Patch 7.3.1194
- Problem: Yaml highlighting is slow.
- Solution: Tune the estimation of pattern failure chance.
- Files: src/regexp_nfa.c
- Patch 7.3.1195
- Problem: Compiler warning for uninitialized variable. (Tony Mechelynck)
- Solution: Set the length to the matching backref.
- Files: src/regexp.c
- Patch 7.3.1196
- Problem: Old regexp engine does not match pattern with backref correctly.
- (Dominique Pelle)
- Solution: Fix setting status. Test multi-line patterns better.
- Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1197
- Problem: ":wviminfo!" does not write history previously read from a viminfo
- file. (Roland Eggner)
- Solution: When not merging history write all entries.
- Files: src/ex_cmds.c, src/ex_getln.c, src/proto/ex_getln.pro
- Patch 7.3.1198
- Problem: Build error when using Perl 5.18.0 and dynamic loading.
- Solution: Change #ifdefs for Perl_croak_xs_usage. (Ike Devolder)
- Files: src/if_perl.xs
- Patch 7.3.1199
- Problem: When evaluating 'foldexpr' causes an error this is silently
- ignored and evaluation is retried every time.
- Solution: Set emsg_silent instead of emsg_off. Stop evaluating 'foldexpr' is
- it is causing errors. (Christian Brabandt)
- Files: src/fold.c
- Patch 7.3.1200
- Problem: When calling setline() from Insert mode, using CTRL-R =, undo does
- not work properly. (Israel Chauca)
- Solution: Sync undo after evaluating the expression. (Christian Brabandt)
- Files: src/edit.c, src/testdir/test61.in, src/testdir/test61.ok
- Patch 7.3.1201
- Problem: When a startup script creates a preview window, it probably
- becomes the current window.
- Solution: Make another window the current one. (Christian Brabandt)
- Files: src/main.c
- Patch 7.3.1202 (after 7.3.660)
- Problem: Tags are not found in case-folded tags file. (Darren cole, Issue
- 90)
- Solution: Take into account that when case folding was used for the tags
- file "!rm" sorts before the "!_TAG" header lines.
- Files: src/tag.c
- Patch 7.3.1203
- Problem: Matches from matchadd() might be highlighted incorrectly when they
- are at a fixed position and inserting lines. (John Szakmeister)
- Solution: Redraw all lines below a change if there are highlighted matches.
- (idea by Christian Brabandt)
- Files: src/screen.c
- Patch 7.3.1204
- Problem: Calling gettabwinvar() in 'tabline' cancels Visual mode. (Hirohito
- Higashi)
- Solution: Don't always use goto_tabpage_tp().
- Files: src/window.c, src/proto/window.pro, src/eval.c, src/if_py_both.h
- Patch 7.3.1205
- Problem: logtalk.dict is not removed on uninstall.
- Solution: Remove the file. (Kazunobu Kuriyama)
- Files: src/Makefile
- Patch 7.3.1206
- Problem: Inconsistent function argument declarations.
- Solution: Use ANSI style.
- Files: src/if_py_both.h
- Patch 7.3.1207
- Problem: New regexp engine: no match found on "#if FOO". (Lech Lorens)
- Solution: When adding a state gets skipped don't adjust the index.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1208
- Problem: Compiler warnings on MS-Windows.
- Solution: Add type cast. Move variable declaration. (Mike Williams)
- Files: src/option.c, src/os_mswin.c
- Patch 7.3.1209
- Problem: No completion for ":tabdo".
- Solution: Add tabdo to the list of modifiers. (Dominique Pelle)
- Files: src/ex_docmd.c
- Patch 7.3.1210 (after 7.3.1182)
- Problem: 'backupcopy' default on MS-Windows is wrong when 'encoding' equals
- the current codepage.
- Solution: Change the #else block. (Ken Takata)
- Files: src/os_win32.c
- Patch 7.3.1211
- Problem: MS-Windows: When 'encoding' differs from the current codepage
- ":hardcopy" does not work properly.
- Solution: Use TextOutW() and SetDlgItemTextW(). (Ken Takata)
- Files: src/os_mswin.c, src/vim.rc
- Patch 7.3.1212
- Problem: "make test" on MS-Windows does not report failure like Unix does.
- Solution: Make it work like on Unix. (Taro Muraoka)
- Files: src/testdir/Make_dos.mak
- Patch 7.3.1213
- Problem: Can't build with small features and Python.
- Solution: Adjust #ifdefs.
- Files: src/eval.c, src/buffer.c, src/eval.c, src/window.c
- Patch 7.3.1214
- Problem: Missing declaration for init_users() and realloc_post_list().
- (Salman Halim)
- Solution: Add the declarations.
- Files: src/misc1.c, src/regexp_nfa.c
- Patch 7.3.1215
- Problem: Compiler warning for function not defined.
- Solution: Add #ifdef.
- Files: src/misc1.c
- Patch 7.3.1216
- Problem: Configure can't find Motif on Ubuntu.
- Solution: Search for libXm in /usr/lib/*-linux-gnu.
- Files: src/configure.in, src/auto/configure
- Patch 7.3.1217
- Problem: New regexp engine: Can't handle \%[[ao]]. (Yukihiro Nakadaira)
- Solution: Support nested atoms inside \%[].
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1218
- Problem: "make test" on MS-Windows does not clean all temporary files and
- gives some unnecessary message.
- Solution: Clean the right files. Create .failed files. (Ken Takata)
- Files: src/testdir/Make_dos.mak
- Patch 7.3.1219
- Problem: No test for using []] inside \%[].
- Solution: Add a test.
- Files: src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1220
- Problem: MS-Windows: When using wide font italic and bold are not included.
- Solution: Support wide-bold, wide-italic and wide-bold-italic. (Ken Takata,
- Taro Muraoka)
- Files: src/gui.c, src/gui.h, src/gui_w48.c
- Patch 7.3.1221
- Problem: When build flags change "make distclean" run into a configure
- error.
- Solution: When CFLAGS changes delete auto/config.cache. Also avoid adding
- duplicate text to flags. (Ken Takata)
- Files: src/Makefile, src/configure.in, src/auto/configure
- Patch 7.3.1222
- Problem: Cannot execute some tests from the src directly.
- Solution: Add missing targets.
- Files: src/Makefile
- Patch 7.3.1223
- Problem: Tests fail on MS-Windows.
- Solution: Avoid depending on OS version. Use DOS commands instead of Unix
- commands. (Taro Muraoka, Ken Takata)
- Files: src/testdir/test17.in, src/testdir/test50.in,
- src/testdir/test71.in, src/testdir/test77.in
- Patch 7.3.1224
- Problem: Clang gives warnings on xxd.
- Solution: Change how to use part of a string. (Dominique Pelle) Also avoid
- warning for return not reached.
- Files: src/xxd/xxd.c, src/regexp_nfa.c
- Patch 7.3.1225
- Problem: Compiler warnings when building with Motif.
- Solution: Change set_label() argument. (Kazunobu Kuriyama)
- Files: src/gui_motif.c
- Patch 7.3.1226
- Problem: Python: duplicate code.
- Solution: Share code between OutputWrite() and OutputWritelines(). (ZyX)
- Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.1227
- Problem: Inconsistent string conversion.
- Solution: Use 'encoding' instead of utf-8. Use METH_O in place of
- METH_VARARGS where appropriate. (ZyX)
- Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.1228
- Problem: Python: various inconsistencies and problems.
- Solution: StringToLine now supports both bytes() and unicode() objects.
- Make function names consistent. Fix memory leak fixed in
- StringToLine. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c
- Patch 7.3.1229
- Problem: Python: not so easy to delete/restore translating.
- Solution: Make macros do translation of exception messages. (ZyX)
- Note: this breaks translations!
- Files: src/if_py_both.h, src/if_python3.c
- Patch 7.3.1230
- Problem: Python: Exception messages are not clear.
- Solution: Make exception messages more verbose. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.1231
- Problem: Python: use of numbers not consistent.
- Solution: Add support for Number protocol. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.1232
- Problem: Python: inconsistencies in variable names.
- Solution: Rename variables. (ZyX)
- Files: src/eval.c, src/if_py_both.h
- Patch 7.3.1233
- Problem: Various Python problems.
- Solution: Fix VimTryEnd. Crash with debug build and PYTHONDUMPREFS=1. Memory
- leaks in StringToLine(), BufferMark() and convert_dl. (ZyX)
- Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
- Patch 7.3.1234 (after 7.3.1229)
- Problem: Python: Strings are not marked for translation.
- Solution: Add N_() where appropriate. (ZyX)
- Files: src/if_py_both.h
- Patch 7.3.1235
- Problem: In insert mode CTRL-] is not inserted, on the command-line it is.
- Solution: Don't insert CTRL-] on the command line. (Yukihiro Nakadaira)
- Files: src/ex_getln.c
- Patch 7.3.1236
- Problem: Python: WindowSetattr() missing support for NUMBER_UNSIGNED.
- Solution: Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX)
- Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
- src/testdir/pythonx/failing.py,
- src/testdir/pythonx/failing_import.py, src/testdir/test86.in,
- src/testdir/test86.ok, src/testdir/test87.in,
- src/testdir/test87.ok, src/testdir/pythonx/topmodule/__init__.py,
- src/testdir/pythonx/topmodule/submodule/__init__.py,
- src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py,
- src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py
- Patch 7.3.1237
- Problem: Python: non-import errors not handled correctly.
- Solution: Let non-ImportError exceptions pass the finder. (ZyX)
- Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok
- Patch 7.3.1238
- Problem: Crash in Python interface on 64 bit machines.
- Solution: Change argument type of PyString_AsStringAndSize. (Taro Muraoka,
- Jun Takimoto)
- Files: src/if_python.c
- Patch 7.3.1239
- Problem: Can't build with Python and MSVC10.
- Solution: Move #if outside of macro. (Taro Muraoka)
- Files: src/if_py_both.h
- Patch 7.3.1240
- Problem: Memory leak in findfile().
- Solution: Free the memory. (Christian Brabandt)
- Files: src/eval.c
- Patch 7.3.1241 (after 7.3.1236)
- Problem: Some test files missing from the distribution.
- Solution: Update the list of files.
- Files: Filelist
- Patch 7.3.1242
- Problem: No failure when trying to use a number as a string.
- Solution: Give an error when StringToLine() is called with an instance of
- the wrong type. (Jun Takimoto)
- Files: src/if_py_both.h
- Patch 7.3.1243
- Problem: New regexp engine: back references in look-behind match don't
- work. (Lech Lorens)
- Solution: Copy the submatches before a recursive match. Also fix function
- prototypes.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1244
- Problem: MS-Windows: confirm() dialog text may not fit.
- Solution: Use GetTextWidthEnc() instead of GetTextWidth(). (Yasuhiro
- Matsumoto)
- Files: src/gui_w32.c
- Patch 7.3.1245
- Problem: MS-Windows: confirm() dialog text may still not fit.
- Solution: Use GetTextWidthEnc() instead of GetTextWidth() in two more
- places. (Yasuhiro Matsumoto)
- Files: src/gui_w32.c
- Patch 7.3.1246
- Problem: When setting 'winfixheight' and resizing the window causes the
- window layout to be wrong.
- Solution: Add frame_check_height() and frame_check_width() (Yukihiro
- Nakadaira)
- Files: src/window.c
- Patch 7.3.1247
- Problem: New regexp engine: '[ ]\@!\p\%([ ]\@!\p\)*:' does not always match.
- Solution: When there is a PIM add a duplicate state that starts at another
- position.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1248
- Problem: Still have old hacking code for Input Method.
- Solution: Add 'imactivatefunc' and 'imstatusfunc' as a generic solution to
- Input Method activation. (Yukihiro Nakadaira)
- Files: runtime/doc/options.txt, src/fileio.c, src/mbyte.c, src/option.c,
- src/option.h, src/proto/fileio.pro
- Patch 7.3.1249
- Problem: Modeline not recognized when using "Vim" instead of "vim".
- Solution: Also accept "Vim".
- Files: src/buffer.c
- Patch 7.3.1250
- Problem: Python tests fail on MS-Windows.
- Solution: Change backslashes to slashes. (Taro Muraoka)
- Files: src/testdir/test86.in, src/testdir/test87.in
- Patch 7.3.1251
- Problem: Test 61 messes up viminfo.
- Solution: Specify a separate viminfo file.
- Files: src/testdir/test61.in
- Patch 7.3.1252
- Problem: gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
- if the corresponding menu command contains additional characters
- like the shortcut marker '&' or if you use a non-english locale.
- Solution: Use menu->en_dname or menu->dname. (Martin Gieseking)
- Files: src/gui_w32.c
- Patch 7.3.1253 (after 7.3.1200)
- Problem: Still undo problem after using CTRL-R = setline(). (Hirohito
- Higashi)
- Solution: Set the ins_need_undo flag.
- Files: src/edit.c
- Patch 7.3.1254 (after 7.3.1252)
- Problem: Can't build without the multi-lang feature. (John Marriott)
- Solution: Add #ifdef.
- Files: src/gui_w32.c
- Patch 7.3.1255
- Problem: Clang warnings when building with Athena.
- Solution: Add type casts. (Dominique Pelle)
- Files: src/gui_at_fs.c
- Patch 7.3.1256
- Problem: Can't build without eval or autocmd feature.
- Solution: Add #ifdefs.
- Files: src/mbyte.c, src/window.c
- Patch 7.3.1257
- Problem: With GNU gettext() ":lang de_DE.utf8" does not always result in
- German messages.
- Solution: Clear the $LANGUAGE environment variable.
- Files: src/ex_cmds2.c
- Patch 7.3.1258
- Problem: Using submatch() may crash Vim. (Ingo Karkat)
- Solution: Restore the number of subexpressions used.
- Files: src/regexp_nfa.c
- Patch 7.3.1259
- Problem: No test for patch 7.3.1258
- Solution: Add a test entry.
- Files: src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.3.1260
- Problem: User completion does not get the whole command line in the command
- line window.
- Solution: Pass on the whole command line. (Daniel Thau)
- Files: src/ex_getln.c, src/structs.h
- Patch 7.3.1261 (after patch 7.3.1179)
- Problem: A buffer-local language mapping from a keymap stops a global
- insert mode mapping from working. (Ron Aaron)
- Solution: Do not wait for more characters to be typed only when the mapping
- was defined with <nowait>.
- Files: runtime/doc/map.txt, src/eval.c, src/getchar.c,
- src/testdir/test75.in, src/testdir/test75.ok
- Patch 7.3.1262
- Problem: Crash and compilation warnings with Cygwin.
- Solution: Check return value of XmbTextListToTextProperty(). Add type casts.
- Adjust #ifdefs. (Lech Lorens)
- Files: src/main.c, src/os_unix.c, src/ui.c
- Patch 7.3.1263
- Problem: Typo in short option name.
- Solution: Change "imse" to "imsf".
- Files: src/option.c
- Patch 7.3.1264 (after 7.3.1261)
- Problem: Missing m_nowait.
- Solution: Include missing part of the patch.
- Files: src/structs.h
- Patch 7.3.1265 (after 7.3.1249)
- Problem: Accepting "Vim:" for a modeline causes errors too often.
- Solution: Require "Vim:" to be followed by "set".
- Files: src/buffer.c
- Patch 7.3.1266
- Problem: QNX: GUI fails to start.
- Solution: Remove the QNX-specific #ifdef. (Sean Boudreau)
- Files: src/gui.c
- Patch 7.3.1267
- Problem: MS-Windows ACL support doesn't work well.
- Solution: Implement more ACL support. (Ken Takata)
- Files: src/os_win32.c
- Patch 7.3.1268
- Problem: ACL support doesn't work when compiled with MingW.
- Solution: Support ACL on MingW. (Ken Takata)
- Files: src/os_win32.c, src/os_win32.h
- Patch 7.3.1269
- Problem: Insert completion keeps entry selected even though the list has
- changed. (Olivier Teuliere)
- Solution: Reset compl_shown_match and compl_curr_match. (Christian Brabandt)
- Files: src/edit.c
- Patch 7.3.1270
- Problem: Using "Vp" in an empty buffer can't be undone. (Hauke Petersen)
- Solution: Save one line in an empty buffer. (Christian Brabandt)
- Files: src/ops.c
- Patch 7.3.1271 (after 7.3.1260)
- Problem: Command line completion does not work.
- Solution: Move setting xp_line down. (Daniel Thau)
- Files: src/ex_getln.c
- Patch 7.3.1272
- Problem: Crash when editing Ruby file. (Aliaksandr Rahalevich)
- Solution: Reallocate the state list when necessary.
- Files: src/regexp_nfa.c
- Patch 7.3.1273
- Problem: When copying a location list the index might be wrong.
- Solution: Set the index to one when using the first entry. (Lech Lorens)
- Files: src/quickfix.c
- Patch 7.3.1274
- Problem: When selecting an entry from a location list it may pick an
- arbitrary window or open a new one.
- Solution: Prefer using a window related to the location list. (Lech Lorens)
- Files: src/quickfix.c
- Patch 7.3.1275
- Problem: "gn" does not work when the match is a single character.
- Solution: Fix it, add a test. (Christian Brabandt)
- Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok
- Patch 7.3.1276
- Problem: When using a cscope connection resizing the window may send
- SIGWINCH to cscope and it quits.
- Solution: Call setpgid(0, 0) in the child process. (Narendran Gopalakrishnan)
- Files: src/if_cscope.c
- Patch 7.3.1277
- Problem: In diff mode 'cursorline' also draws in the non-active window.
- When 'nu' and 'sbr' are set the 'sbr' string is not underlined.
- Solution: Only draw the cursor line in the current window. Combine the
- 'cursorline' and other highlighting attributes. (Christian
- Brabandt)
- Files: src/screen.c
- Patch 7.3.1278
- Problem: When someone sets the screen size to a huge value with "stty" Vim
- runs out of memory before reducing the size.
- Solution: Limit Rows and Columns in more places.
- Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/os_unix.c,
- src/proto/term.pro, src/term.c
- Patch 7.3.1279
- Problem: Compiler warning for variable uninitialized. (Tony Mechelynck)
- Solution: Add an init.
- Files: src/ex_getln.c
- Patch 7.3.1280
- Problem: Reading memory already freed since patch 7.3.1247. (Simon
- Ruderich, Dominique Pelle)
- Solution: Copy submatches before reallocating the state list.
- Files: src/regexp_nfa.c
- Patch 7.3.1281
- Problem: When 'ttymouse' is set to "xterm2" clicking in column 123 moves
- the cursor to column 96. (Kevin Goodsell)
- Solution: Decode KE_CSI.
- Files: src/term.c
- Patch 7.3.1282 (after 7.3.1277)
- Problem: 'cursorline' not drawn in any other window. (Charles Campbell)
- Solution: Do draw the cursor line in other windows.
- Files: src/screen.c
- Patch 7.3.1283
- Problem: Test 71 fails on MS-Windows.
- Solution: Put the binary data in a separate file. (Ken Takata)
- Files: src/testdir/test71.in, src/testdir/test71a.in
- Patch 7.3.1284
- Problem: Compiler warnings in MS-Windows clipboard handling.
- Solution: Add type casts. (Ken Takata)
- Files: src/winclip.c
- Patch 7.3.1285
- Problem: No tests for picking a window when selecting an entry in a
- location list. Not picking the right window sometimes.
- Solution: Add test 96. Set usable_win appropriately. (Lech Lorens)
- Files: src/quickfix.c, src/testdir/Makefile, src/testdir/test96.in,
- src/testdir/test96.ok, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
- Patch 7.3.1286
- Problem: Check for screen size missing for Athena and Motif.
- Solution: Add call to limit_screen_size().
- Files: src/gui_x11.c
- Patch 7.3.1287
- Problem: Python SystemExit exception is not handled properly.
- Solution: Catch the exception and give an error. (Yasuhiro Matsumoto, Ken
- Takata)
- Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c,
- src/if_python3.c
- Patch 7.3.1288
- Problem: The first ":echo 'hello'" command output doesn't show. Mapping
- for <S-F3> gets triggered during startup.
- Solution: Add debugging code for the termresponse. When receiving the "Co"
- entry and when setting 'ambiwidth' redraw right away if possible.
- Add redraw_asap(). Don't set 'ambiwidth' if it already had the
- right value. Do the 'ambiwidth' check in the second row to avoid
- confusion with <S-F3>.
- Files: src/term.c, src/screen.c, src/proto/screen.pro
- Patch 7.3.1289
- Problem: Get GLIB warning when removing a menu item.
- Solution: Reference menu-id and also call gtk_container_remove(). (Ivan
- Krasilnikov)
- Files: src/gui_gtk.c
- Patch 7.3.1290 (after 7.3.1253)
- Problem: CTRL-R = in Insert mode changes the start of the insert position.
- (Ingo Karkat)
- Solution: Only break undo, don't start a new insert.
- Files: src/edit.c
- Patch 7.3.1291 (after 7.3.1288)
- Problem: Compiler warnings for uninitialized variables. (Tony Mechelynck)
- Solution: Initialize the variables.
- Files: src/screen.c
- Patch 7.3.1292
- Problem: Possibly using invalid pointer when searching for window. (Raichoo)
- Solution: Use "firstwin" instead of "tp_firstwin" for current tab.
- Files: src/window.c
- Patch 7.3.1293
- Problem: Put in empty buffer cannot be undone.
- Solution: Save one more line for undo. (Ozaki)
- Files: src/ops.c
- Patch 7.3.1294
- Problem: ":diffoff" resets options.
- Solution: Save and restore option values. (Christian Brabandt)
- Files: src/diff.c, src/structs.h, src/option.c
- Patch 7.3.1295
- Problem: glob() and globpath() do not handle escaped special characters
- properly.
- Solution: Handle escaped characters differently. (Adnan Zafar)
- Files: src/testdir/Makefile, src/testdir/test97.in,
- src/testdir/test97.ok, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/fileio.c,
- src/misc1.c
- Patch 7.3.1296
- Problem: Only MS-Windows limits the GUI window size to what fits on the
- monitor.
- Solution: Limit the size for all systems. (Daniel Harding)
- Files: src/ui.c
- Patch 7.3.1297
- Problem: findfile() directory matching does not work when a star follows
- text. (Markus Braun)
- Solution: Make a wildcard work properly. (Christian Brabandt)
- Files: src/misc2.c, src/testdir/test89.in, src/testdir/test89.ok
- Patch 7.3.1298 (after 7.3.1297)
- Problem: Crash.
- Solution: Use STRCPY() instead of STRCAT() and allocate one more byte.
- Files: src/misc2.c
- Patch 7.3.1299
- Problem: Errors when doing "make proto". Didn't do "make depend" for a
- while.
- Solution: Add #ifdefs. Update dependencies. Update proto files.
- Files: src/if_python3.c, src/os_win32.c, src/Makefile,
- src/proto/ex_docmd.pro, src/proto/if_python.pro,
- src/proto/if_python3.pro, src/proto/gui_w16.pro,
- src/proto/gui_w32.pro, src/proto/os_win32.pro
- Patch 7.3.1300
- Problem: Mac: tiny and small build fails.
- Solution: Don't include os_macosx.m in tiny build. Include mouse support in
- small build. (Kazunobu Kuriyama)
- Files: src/configure.in, src/auto/configure, src/vim.h
- Patch 7.3.1301
- Problem: Some tests fail on MS-Windows.
- Solution: Fix path separators in test 89 and 96. Omit test 97, escaping
- works differently. Make findfile() work on MS-Windows.
- Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/test89.in,
- src/testdir/test96.in, src/misc2.c
- Patch 7.3.1302
- Problem: Test 17 fails on MS-Windows. Includes line break in file name
- everywhere.
- Solution: Fix 'fileformat'. Omit CR-LF from a line read from an included
- file.
- Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok
- Patch 7.3.1303 (after 7.3.1290)
- Problem: Undo is synced whenever CTRL-R = is called, breaking some plugins.
- Solution: Only break undo when calling setline() or append().
- Files: src/globals.h, src/eval.c, src/edit.c, src/testdir/test61.in,
- src/testdir/test61.ok
- Patch 7.3.1304
- Problem: Test 89 still fails on MS-Windows.
- Solution: Set 'shellslash'. (Taro Muraoka)
- Files: src/testdir/test89.in
- Patch 7.3.1305
- Problem: Warnings from 64 bit compiler.
- Solution: Add type casts.
- Files: src/misc2.c
- Patch 7.3.1306
- Problem: When redrawing the screen during startup the intro message may be
- cleared.
- Solution: Redisplay the intro message when appropriate.
- Files: src/screen.c, src/version.c, src/proto/version.pro
- Patch 7.3.1307
- Problem: MS-Windows build instructions are outdated.
- Solution: Adjust for building on Windows 7. Drop Windows 95/98/ME support.
- Files: Makefile, nsis/gvim.nsi
- Patch 7.3.1308
- Problem: Typos in MS-Windows build settings and README.
- Solution: Minor changes to MS-Windows files.
- Files: src/msvc2008.bat, src/msvc2010.bat, src/VisVim/README_VisVim.txt
- Patch 7.3.1309
- Problem: When a script defines a function the flag to wait for the user to
- hit enter is reset.
- Solution: Restore the flag. (Yasuhiro Matsumoto) Except when the user was
- typing the function.
- Files: src/eval.c
- Patch 7.3.1310
- Problem: Typos in nsis script. Can use better compression.
- Solution: Fix typos. Use lzma compression. (Ken Takata)
- Files: nsis/gvim.nsi
- Patch 7.3.1311
- Problem: Compiler warnings on Cygwin.
- Solution: Add type casts. Add windows include files. (Ken Takata)
- Files: src/mbyte.c, src/ui.c
- Patch 7.3.1312 (after 7.3.1287)
- Problem: Not giving correct error messages for SystemExit().
- Solution: Move E858 into an else. (Ken Takata)
- Files: src/if_py_both.h
- Patch 7.3.1313
- Problem: :py and :py3 don't work when compiled with Cygwin or MingW with 64
- bit.
- Solution: Add -DMS_WIN64 to the build command. (Ken Takata)
- Files: src/Make_cyg.mak, src/Make_ming.mak
- Patch 7.3.1314
- Problem: Test 87 fails with Python 3.3.
- Solution: Filter the error messages. (Taro Muraoka)
- Files: src/testdir/test87.in
- Patch 7.4a.001
- Problem: Script to update syntax menu is outdated.
- Solution: Add the missing items.
- Files: runtime/makemenu.vim
- Patch 7.4a.002
- Problem: Valgrind errors in test 89. (Simon Ruderich)
- Solution: Allocate one more byte. (Dominique Pelle)
- Files: src/misc2.c
- Patch 7.4a.003
- Problem: Copyright year is outdated.
- Solution: Only use the first year.
- Files: src/vim.rc, src/vim16.rc
- Patch 7.4a.004
- Problem: MSVC 2012 Update 3 is not recognized.
- Solution: Add the version number. (Raymond Ko)
- Files: src/Make_mvc.mak
- Patch 7.4a.005
- Problem: Scroll binding causes unexpected scroll.
- Solution: Store the topline after updating scroll binding. Add a test.
- (Lech Lorens)
- Files: src/testdir/test98.in, src/testdir/test98a.in,
- src/testdir/test98.ok, src/option.c, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
- src/testdir/Makefile
- Patch 7.4a.006
- Problem: Failure in po file check goes unnoticed.
- Solution: Fail "make test" if the po file check fails.
- Files: src/Makefile
- Patch 7.4a.007
- Problem: After "g$" with 'virtualedit' set, "k" moves to a different
- column. (Dimitar Dimitrov)
- Solution: Set w_curswant. (Christian Brabandt)
- Files: src/normal.c
- Patch 7.4a.008
- Problem: Python 3 doesn't handle multibyte characters properly when
- 'encoding' is not utf-8.
- Solution: Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken
- Takata)
- Files: src/if_python3.c
- Patch 7.4a.009
- Problem: Compiler warnings for function prototypes.
- Solution: Add "void". Move list_features() prototype. (Ken Takata)
- Files: src/gui_w48.c, src/if_py_both.h, src/version.c
- Patch 7.4a.010
- Problem: Test 86 and 87 fail when building with Python or Python 3 and
- using a static library.
- Solution: Add configure check to add -fPIE compiler flag.
- Files: src/configure.in, src/auto/configure
- Patch 7.4a.011
- Problem: Configure check for Python 3 config name isn't right.
- Solution: Always include vi_cv_var_python3_version. (Tim Harder)
- Files: src/configure.in, src/auto/configure
- Patch 7.4a.012
- Problem: "make test" fails when using a shadow directory.
- Solution: Create links for files in src/po. (James McCoy)
- Files: src/Makefile
- Patch 7.4a.013
- Problem: Setting/resetting 'lbr' in the main help file changes alignment
- after a Tab. (Dimitar Dimitrov)
- Solution: Also use the code for conceal mode where n_extra is computed for
- 'lbr'.
- Files: src/screen.c, src/testdir/test88.in, src/testdir/test88.ok
- Patch 7.4a.014
- Problem: Test 86 and 89 have a problem with using a shadow dir.
- Solution: Adjust for the different directory structure. (James McCoy)
- Files: src/testdir/test89.in, src/testdir/test86.in, src/Makefile
- Patch 7.4a.015
- Problem: No Japanese man pages.
- Solution: Add Japanese translations of man pages. (Ken Takata, Yukihiro
- Nakadaira, et al.)
- Files: Filelist, src/Makefile, runtime/doc/evim-ja.UTF-8.1,
- runtime/doc/vim-ja.UTF-8.1, runtime/doc/vimdiff-ja.UTF-8.1,
- runtime/doc/vimtutor-ja.UTF-8.1, runtime/doc/xxd-ja.UTF-8.1
- Patch 7.4a.016 (after 7.4a.014)
- Problem: Features enabled in Makefile.
- Solution: Undo accidental changes.
- Files: src/Makefile
- Patch 7.4a.017
- Problem: When 'foldmethod' is "indent", using ">>" on a line just above a
- fold makes the cursor line folded. (Evan Laforge)
- Solution: Call foldOpenCursor(). (Christian Brabandt)
- Files: src/ops.c
- Patch 7.4a.018
- Problem: Compiler warning for code unreachable. (Charles Campbell)
- Solution: Use "while" instead of endless loop. Change break to continue.
- Files: src/regexp_nfa.c, src/ui.c
- Patch 7.4a.019
- Problem: Invalid closing parenthesis in test 62. Command truncated at
- double quote.
- Solution: Remove the parenthesis. Change double quote to ''. (ZyX)
- Files: src/testdir/test62.in, src/testdir/test62.ok
- Patch 7.4a.020
- Problem: Superfluous mb_ptr_adv().
- Solution: Remove the call. (Dominique Pelle)
- Files: src/regexp_nfa.c
- Patch 7.4a.021
- Problem: Using feedkeys() doesn't always work.
- Solution: Omit feedkeys(). (Ken Takata)
- Files: src/testdir/test98a.in
- Patch 7.4a.022
- Problem: Using "d2g$" does not delete the last character. (ZyX)
- Solution: Set the "inclusive" flag properly.
- Files: src/normal.c
- Patch 7.4a.023 (after 7.4a.019)
- Problem: Still another superfluous parenthesis. (ZyX)
- Solution: Remove it.
- Files: src/testdir/test62.in
- Patch 7.4a.024
- Problem: X11 GUI: Checking icon height twice.
- Solution: Check height and width. (Dominique Pelle)
- Files: src/gui_x11.c
- Patch 7.4a.025
- Problem: Get the press-Enter prompt even after using :redraw.
- Solution: Clear need_wait_return when executing :redraw.
- Files: src/ex_docmd.c
- Patch 7.4a.026
- Problem: ":diffoff" does not remove folds. (Ramel)
- Solution: Do not restore 'foldenable' when 'foldmethod' is "manual".
- Files: src/diff.c
- Patch 7.4a.027
- Problem: When Python adds lines to another buffer the cursor position is
- wrong, it might be below the last line causing ml_get errors.
- (Vlad Irnov)
- Solution: Temporarily change the current window, so that marks are corrected
- properly.
- Files: src/if_py_both.h, src/window.c, src/proto/buffer.pro
- Patch 7.4a.028
- Problem: Crash when spell checking in new buffer.
- Solution: Set the b_p_key field. (Mike Williams)
- Files: src/spell.c, src/testdir/test58.in
- Patch 7.4a.029
- Problem: Can't build with MzScheme on Ubuntu 13.04.
- Solution: Add configure check for the "ffi" library.
- Files: src/configure.in, src/auto/configure
- Patch 7.4a.030 (after 7.4.027)
- Problem: Missing find_win_for_buf(). (toothpik)
- Solution: Add missing changes.
- Files: src/buffer.c
- Patch 7.4a.031
- Problem: Compiler warnings. (Charles Campbell)
- Solution: Initialize variables even when not needed.
- Files: src/regexp_nfa.c, src/search.c
- Patch 7.4a.032
- Problem: New regexp engine: Does not match shorter alternative. (Ingo
- Karkat)
- Solution: Do not drop a new state when the PIM info is different.
- Files: src/regexp_nfa.c
- Patch 7.4a.033
- Problem: Test 98 always passes.
- Solution: Include test98a.in in test98.in, execute the crucial command in
- one line. (Yukihiro Nakadaira)
- Files: src/testdir/test98.in, src/testdir/test98a.in
- Patch 7.4a.034
- Problem: The tabline may flicker when opening a new tab after 7.3.759 on
- Win32.
- Solution: Move call to TabCtrl_SetCurSel(). (Ken Takata)
- Files: src/gui_w48.c
- Patch 7.4a.035
- Problem: Fix in patch 7.4a.032 is not tested.
- Solution: Add test.
- Files: src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.4a.036
- Problem: "\p" in a regexp does not match double-width characters.
- (Yukihiro Nakadaira)
- Solution: Don't count display cells, use vim_isprintc().
- Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in,
- src/testdir/test64.ok, src/testdir/test95.in,
- src/testdir/test95.ok
- Patch 7.4a.037
- Problem: Win32: When mouse is hidden and in the toolbar, moving it won't
- make it appear. (Sami Salonen)
- Solution: Add tabline_wndproc() and toolbar_wndproc(). (Ken Takata)
- Files: src/gui_w32.c, src/gui_w48.c
- Patch 7.4a.038
- Problem: When using MSVC 2012 there are various issues, including GUI size
- computations.
- Solution: Use SM_CXPADDEDBORDER. (Mike Williams)
- Files: src/gui_w32.c, src/gui_w48.c, src/os_win32.h
- Patch 7.4a.039
- Problem: New regexp engine doesn't match pattern. (Ingo Karkat)
- Solution: When adding a state also check for different PIM if the list of
- states has any state with a PIM.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.4a.040
- Problem: Win32: using uninitialized variable.
- Solution: (Yukihiro Nakadaira)
- Files: src/os_win32.c
- Patch 7.4a.041
- Problem: When using ":new ++ff=unix" and "dos" is first in 'fileformats'
- then 'ff' is set to "dos" instead of "unix". (Ingo Karkat)
- Solution: Create set_file_options() and invoke it from do_ecmd().
- Files: src/fileio.c, src/proto/fileio.pro, src/ex_cmds.c,
- src/testdir/test91.in, src/testdir/test91.ok
- Patch 7.4a.042
- Problem: Crash when BufUnload autocommands close all buffers. (Andrew
- Pimlott)
- Solution: Set curwin->w_buffer to curbuf to avoid NULL.
- Files: src/window.c, src/testdir/test8.in, src/testdir/test8.ok
- Patch 7.4a.043
- Problem: More ml_get errors when adding or deleting lines from Python.
- (Vlad Irnov)
- Solution: Switch to a window with the buffer when possible.
- Files: src/if_py_both.h
- Patch 7.4a.044
- Problem: Test 96 sometimes fails.
- Solution: Clear window from b_wininfo in win_free(). (Suggestion by
- Yukihiro Nakadaira)
- Files: src/window.c
- Patch 7.4a.045
- Problem: Configure does not always find the right library for Lua. Missing
- support for LuaJit.
- Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki)
- Files: src/Makefile, src/configure.in, src/auto/configure
- Patch 7.4a.046
- Problem: Can't build without mbyte feature.
- Solution: Add #ifdefs.
- Files: src/ex_cmds.c
- Patch 7.4a.047
- Problem: Some comments are not so nice.
- Solution: Change the comments.
- Files: src/ex_docmd.c, src/message.c, src/ops.c, src/option.c
- Patch 7.4b.001
- Problem: Win32: dialog may extend off-screen.
- Solution: Reduce the size, use correct borders. (Andrei Olsen)
- Files: src/gui_w32.c
- Patch 7.4b.002
- Problem: Crash searching for \%(\%(\|\d\|-\|\.\)*\|\*\). (Marcin
- Szamotulski) Also for \(\)*.
- Solution: Do add a state for opening parenthesis, so that we can check if it
- was added before at the same position.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.4b.003
- Problem: Regexp code is not nicely aligned.
- Solution: Adjust white space. (Ken Takata)
- Files: src/regexp_nfa.c
- Patch 7.4b.004
- Problem: Regexp crash on pattern "@\%[\w\-]*". (Axel Kielhorn)
- Solution: Add \%(\) around \%[] internally.
- Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
- Patch 7.4b.005
- Problem: Finding %s in shellpipe and shellredir does not ignore %%s.
- Solution: Skip over %%. (lcd 47)
- Files: src/ex_cmds.c
- Patch 7.4b.006 (after 7.3.1295)
- Problem: Using \{n,m} in an autocommand pattern no longer works.
- Specifically, mutt temp files are not recognized. (Gary Johnson)
- Solution: Make \\\{n,m\} work.
- Files: runtime/doc/autocmd.txt, src/fileio.c
- Patch 7.4b.007
- Problem: On 32 bit MS-Windows :perldo does not work.
- Solution: Make sure time_t uses 32 bits. (Ken Takata)
- Files: src/if_perl.xs, src/vim.h
- Patch 7.4b.008
- Problem: 'autochdir' causes setbufvar() to change the current directory.
- (Ben Fritz)
- Solution: When disabling autocommands also reset 'acd' temporarily.
- (Christian Brabandt)
- Files: src/fileio.c
- Patch 7.4b.009
- Problem: When setting the Visual area manually and 'selection' is
- exclusive, a yank includes one character too much. (Ingo Karkat)
- Solution: Default the Visual operation to "v". (Christian Brabandt)
- Files: src/mark.c
- Patch 7.4b.010
- Problem: Win32: Tcl library load does not use standard mechanism.
- Solution: Call vimLoadLib() instead of LoadLibraryEx(). (Ken Takata)
- Files: src/if_perl.xs, src/if_tcl.c
- Patch 7.4b.011
- Problem: ":he \%(\)" does not work. (ZyX)
- Solution: Add an exception to the list.
- Files: src/ex_cmds.c
- Patch 7.4b.012
- Problem: Output from a shell command is truncated at a NUL. (lcd 47)
- Solution: Change every NUL into an SOH.
- Files: src/misc1.c
- Patch 7.4b.013
- Problem: Install dir for JP man pages is wrong.
- Solution: Remove ".UTF-8" from the directory name. (Ken Takata)
- Files: src/Makefile
- Patch 7.4b.014 (after 7.4b.012)
- Problem: Stupid mistake.
- Solution: Changle "len" to "i".
- Files: src/misc1.c
- Patch 7.4b.015 (after 7.4b.008)
- Problem: Can't compile without the 'acd' feature.
- Solution: Add #ifdefs. (Kazunobu Kuriyama)
- Files: src/fileio.c
- Patch 7.4b.016
- Problem: Ruby detection fails on Fedora 19.
- Solution: Use one way to get the Ruby version. (Michael Henry)
- Files: src/configure.in, src/auto/configure
- Patch 7.4b.017
- Problem: ":he \^x" gives a strange error message. (glts)
- Solution: Do not translate \^x to \_CTRL-x.
- Files: src/ex_cmds.c
- Patch 7.4b.018 (after 7.4b.001)
- Problem: Win32: Dialog can still be too big.
- Solution: Move the check for height further down. (Andrei Olsen)
- Files: src/gui_w32.c
- Patch 7.4b.019 (after 7.4a.034)
- Problem: Tabline is not updated properly when closing a tab on Win32.
- Solution: Only reduce flickering when adding a tab. (Ken Takata)
- Files: src/gui_w48.c
- Patch 7.4b.020
- Problem: "g~ap" changes first character of next paragraph. (Manuel Ortega)
- Solution: Avoid subtracting (0 - 1) from todo. (Mike Williams)
- Files: src/ops.c, src/testdir/test82.in, src/testdir/test82.ok
- Patch 7.4b.021
- Problem: Pressing "u" after an external command results in multiple
- press-enter messages. (glts)
- Solution: Don't call hit_return_msg() when we have K_IGNORE. (Christian
- Brabandt)
- Files: src/message.c
- Patch 7.4b.022
- Problem: Not waiting for a character when the tick count overflows.
- Solution: Subtract the unsigned numbers and cast to int. (Ken Takata)
- Files: src/os_win32.c
- vim:tw=78:ts=8:noet:ft=help:norl:
|