about summary refs log tree commit diff stats
Commit message (Expand)AuthorAgeFilesLines
* Added tag 0.7 for changeset 3fb41412e2492f66476d92ce8f007a8b48fb1d2aarg@10ksloc.org2006-08-071-0/+1
* prepared dwm.html 0.7arg@10ksloc.org2006-08-071-3/+6
* added stripping to dwm target in Makefilearg@10ksloc.org2006-08-071-0/+1
* changed getproto, maybe that might fix the killclient issue reported on the listarg@10ksloc.org2006-08-071-2/+3
* applied endless loop prevention on zoom()arg@10ksloc.org2006-08-071-1/+3
* updated man pagearg@10ksloc.org2006-08-071-0/+2
* small fix of the last commitarg@10ksloc.org2006-08-051-1/+1
* using -Os again, zoom is ignored in floating mode or on floating clientsarg@10ksloc.org2006-08-052-2/+2
* mouse grab needs also to grab for combinations of numlock/lockmaskarg@10ksloc.org2006-08-051-0/+20
* slight fixarg@10ksloc.org2006-08-051-3/+2
* small performance tweak ;)arg@10ksloc.org2006-08-041-2/+4
* fixed xterm font change (all other related apps should work fine with this fi...arg@10ksloc.org2006-08-041-14/+12
* fixed view-change bug reported on the listarg@10ksloc.org2006-08-041-14/+10
* no need for -g anymore, regexp matching works nowarg@10ksloc.org2006-08-041-4/+4
* fixed dmenu link (thx to deifl)arg@10ksloc.org2006-08-041-1/+1
* switched to regexp matching for Rulesarg@10ksloc.org2006-08-046-31/+65
* fixed a bug in dmenu callarg@10ksloc.org2006-08-042-6/+3
* using execl now, argv changed, using cmd and const char defs directly in the ...arg@10ksloc.org2006-08-044-18/+18
* added dmenu to dwm.htmlarg@10ksloc.org2006-08-041-0/+4
* small stylistic fixarg@10ksloc.org2006-08-041-1/+2
* removed CONFIGarg@10ksloc.org2006-08-031-3/+2
* make config.h not a time dependencearg@10ksloc.org2006-08-031-1/+1
* removed rm config.h from cleanarg@10ksloc.org2006-08-031-1/+1
* added gmake compliancearg@10ksloc.org2006-08-031-2/+2
* s/tag2/two/garg@10ksloc.org2006-08-032-4/+4
* applied Jukka's diffarg@10ksloc.org2006-08-031-4/+5
* applied Sanders Makefile patcharg@10ksloc.org2006-08-031-26/+20
* stylistic chnagearg@10ksloc.org2006-08-032-4/+4
* removed TLast tag enum, now tags is simple defined as char *[] array, the res...arg@10ksloc.org2006-08-038-71/+66
* hotfix of settagsarg@10ksloc.org2006-08-031-2/+1
* using SRC instead of *.carg@10ksloc.org2006-08-031-1/+1
* changed the files included in make distarg@10ksloc.org2006-08-031-1/+2
* applied Sanders doc changes, added a PHONY line and changed the output of con...arg@10ksloc.org2006-08-033-17/+22
* changed Client->tags and Rule->tags to be Bool (I'll also try to remove the T...arg@10ksloc.org2006-08-036-17/+18
* implemented the idea presented by Sander for dwm targetarg@10ksloc.org2006-08-022-3/+5
* changing MASTERW value from 52 to 60 (in both, default and arg), I feel this ...arg@10ksloc.org2006-08-023-3/+3
* fixed a type in README, and patched config.mkarg@10ksloc.org2006-08-022-2/+2
* updated dwm.htmlarg@10ksloc.org2006-08-021-3/+3
* Added tag 0.6 for changeset c11f86db4550cac5d0a648a3fe4d6d3b9a4fcf7earg@10ksloc.org2006-08-021-0/+1
* removed config.h (stupid hg) 0.6arg@10ksloc.org2006-08-021-62/+0
* removed the CONFIG variable from config.mk, renamed config.h into config.defa...arg@10ksloc.org2006-08-024-11/+66
* added Acroread.* and MPlayer.* to config.arg.h rulesarg@10ksloc.org2006-08-021-0/+2
* made fullscreen apps working fine in floating mode (there is no sane way to m...arg@10ksloc.org2006-08-029-79/+92
* new stuffarg@10ksloc.org2006-08-022-20/+23
* dwm is now exit, if stdin is closed due broken pipearg@10ksloc.org2006-08-021-8/+5
* implemented focus on enterwindow on titlebarsarg@10ksloc.org2006-08-022-2/+2
* applied Sanders patches (numlock2)arg@10ksloc.org2006-08-025-26/+40
* reverting to old resize policyarg@10ksloc.org2006-08-022-21/+32
* new resize stuff (using XConfigureWindow instead of XSendEvent)arg@10ksloc.org2006-08-022-32/+21
* renamed WM_PROTOCOL_DELWIN into PROTODELWINarg@10ksloc.org2006-08-013-3/+3
>gMemCacheData[x.position].crc proc crcChanged(fileIdx: int32): bool = internalAssert fileIdx >= 0 and fileIdx < gMemCacheData.len template updateStatus = gMemCacheData[fileIdx].crcStatus = if result: crcHasChanged else: crcNotChanged # echo "TESTING CRC: ", fileIdx.toFilename, " ", result case gMemCacheData[fileIdx].crcStatus: of crcHasChanged: result = true of crcNotChanged: result = false of crcCached: let newCrc = crcFromFile(fileIdx.toFilename) result = newCrc != gMemCacheData[fileIdx].crc gMemCacheData[fileIdx].crc = newCrc updateStatus() of crcNotTaken: gMemCacheData[fileIdx].crc = crcFromFile(fileIdx.toFilename) result = true updateStatus() proc doCRC(fileIdx: int32) = if gMemCacheData[fileIdx].crcStatus == crcNotTaken: # echo "FIRST CRC: ", fileIdx.ToFilename gMemCacheData[fileIdx].crc = crcFromFile(fileIdx.toFilename) proc addDep(x: PSym, dep: int32) = growCache gMemCacheData, dep gMemCacheData[x.position].deps.safeAdd(dep) proc resetModule*(fileIdx: int32) = # echo "HARD RESETTING ", fileIdx.toFilename gMemCacheData[fileIdx].needsRecompile = Yes gCompiledModules[fileIdx] = nil cgendata.gModules[fileIdx] = nil resetSourceMap(fileIdx) proc resetAllModules* = for i in 0..gCompiledModules.high: if gCompiledModules[i] != nil: resetModule(i.int32) resetPackageCache() # for m in cgenModules(): echo "CGEN MODULE FOUND" proc checkDepMem(fileIdx: int32): TNeedRecompile = template markDirty = resetModule(fileIdx) return Yes if gMemCacheData[fileIdx].needsRecompile != Maybe: return gMemCacheData[fileIdx].needsRecompile if optForceFullMake in gGlobalOptions or crcChanged(fileIdx): markDirty if gMemCacheData[fileIdx].deps != nil: gMemCacheData[fileIdx].needsRecompile = Probing for dep in gMemCacheData[fileIdx].deps: let d = checkDepMem(dep) if d in {Yes, Recompiled}: # echo fileIdx.toFilename, " depends on ", dep.toFilename, " ", d markDirty gMemCacheData[fileIdx].needsRecompile = No return No proc newModule(fileIdx: int32): PSym = # We cannot call ``newSym`` here, because we have to circumvent the ID # mechanism, which we do in order to assign each module a persistent ID. new(result) result.id = - 1 # for better error checking result.kind = skModule let filename = fileIdx.toFilename result.name = getIdent(splitFile(filename).name) if not isNimrodIdentifier(result.name.s): rawMessage(errInvalidModuleName, result.name.s) result.info = newLineInfo(fileIdx, 1, 1) result.owner = newSym(skPackage, getIdent(getPackageName(filename)), nil, result.info) result.position = fileIdx growCache gMemCacheData, fileIdx growCache gCompiledModules, fileIdx gCompiledModules[result.position] = result incl(result.flags, sfUsed) initStrTable(result.tab) strTableAdd(result.tab, result) # a module knows itself proc compileModule*(fileIdx: int32, flags: TSymFlags): PSym = result = getModule(fileIdx) if result == nil: growCache gMemCacheData, fileIdx gMemCacheData[fileIdx].needsRecompile = Probing result = newModule(fileIdx) #var rd = handleSymbolFile(result) var rd: PRodReader result.flags = result.flags + flags if gCmd in {cmdCompileToC, cmdCompileToCpp, cmdCheck, cmdIdeTools}: rd = handleSymbolFile(result) if result.id < 0: internalError("handleSymbolFile should have set the module\'s ID") return else: result.id = getID() processModule(result, nil, rd) if optCaasEnabled in gGlobalOptions: gMemCacheData[fileIdx].compiledAt = gLastCmdTime gMemCacheData[fileIdx].needsRecompile = Recompiled doCRC fileIdx else: if checkDepMem(fileIdx) == Yes: result = compileModule(fileIdx, flags) else: result = gCompiledModules[fileIdx] proc importModule*(s: PSym, fileIdx: int32): PSym {.procvar.} = # this is called by the semantic checking phase result = compileModule(fileIdx, {}) if optCaasEnabled in gGlobalOptions: addDep(s, fileIdx) if sfSystemModule in result.flags: localError(result.info, errAttemptToRedefine, result.name.s) proc includeModule*(s: PSym, fileIdx: int32): PNode {.procvar.} = result = syntaxes.parseFile(fileIdx) if optCaasEnabled in gGlobalOptions: growCache gMemCacheData, fileIdx addDep(s, fileIdx) doCRC(fileIdx) proc `==^`(a, b: string): bool = try: result = sameFile(a, b) except EOS: result = false proc compileSystemModule* = if magicsys.systemModule == nil: systemFileIdx = fileInfoIdx(options.libpath/"system.nim") discard compileModule(systemFileIdx, {sfSystemModule}) proc compileProject*(projectFile = gProjectMainIdx) = let systemFileIdx = fileInfoIdx(options.libpath / "system.nim") if projectFile == systemFileIdx: discard compileModule(projectFile, {sfMainModule, sfSystemModule}) else: compileSystemModule() discard compileModule(projectFile, {sfMainModule}) var stdinModule: PSym proc makeStdinModule*(): PSym = if stdinModule == nil: stdinModule = newModule(fileInfoIdx"stdin") stdinModule.id = getID() result = stdinModule