- 20 Apr, 2017 2 commits
-
-
Kirill Smelkov authored
- small addons over std bytes package: xbytes.ContainsByte - (re)allocation routines for byte slices
-
Kirill Smelkov authored
So far only one of them: CeilPow2 to return min(y) >= x: y = 2^i - i.e. next power of two >= x. This is handy to have in reallocation routines to allocate buffers from 2^i classes. Two implementations: - fast for go19 - slower fallback for go18
-
- 19 Apr, 2017 4 commits
-
-
Kirill Smelkov authored
As it was planned switch to using runtime.Frame instead of our local imitation. Add test to make sure we are not breaking anything. Adjust users in exc.
-
Kirill Smelkov authored
To determine current function's file name, line number and runtime.Frame
-
Kirill Smelkov authored
Because in general case runtime.CallersFrames is more accurate than runtime.FuncForPC - e.g. the latter does not correctly work with inlined functions.
-
Kirill Smelkov authored
This causes the following changes on client side: myname.Func -> my.FuncName myname.Pkg -> my.PkgName Reason for the change is that we are going to introduce my.File and my.Line which would not fit into myname package naming.
-
- 29 Mar, 2017 1 commit
-
-
Kirill Smelkov authored
We want to make sure that the code can be used by Free Software and Open Source projects without a problem. So change the license to be GPLv3+ with wide exception for all open-source licenses which practically cover them all.
-
- 06 Mar, 2017 1 commit
-
-
Kirill Smelkov authored
-
- 03 Mar, 2017 1 commit
-
-
Kirill Smelkov authored
exc += XRun() - utility to run a function which returns regular error, and raise exception if error is not nil This might be frequently needed in tests, possibly with some kind of "apply" syntatic sugar. Complements 486ede30 (exc += Runx() - utility to run a function and translate caught exception to regular error)
-
- 14 Dec, 2016 6 commits
-
-
Kirill Smelkov authored
Previously Error() was giving "0 errors", but "" seems to be a better choice. Anyway proper usage of Errorv is to call .Err() when handing result to some where so this way empty-vector case becomes nil.
-
Kirill Smelkov authored
- various .Append*() are functions to add errors to error vector. - .Err() returns error in canonical form accumulated in error vector - e.g. nil when error vector is empty.
-
Kirill Smelkov authored
Name for error vector: ev -> errv
-
Kirill Smelkov authored
This might be frequently needed when running a goroutine - to catch errors at top level and then convey they to other places as regular errors.
-
Kirill Smelkov authored
-
Kirill Smelkov authored
Fix this thinko in Addcallingcontext description. In current Error.Error() only function names are printed but with actual frames there in error context clients will be probably able to access this information theirselves.
-
- 13 Dec, 2016 12 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
Because not only go.git wants to increase verbosity on `-v -v ...`. Code taken from go.git ec80737bdf.
-
Kirill Smelkov authored
No many details since they can be all viewed e.g. with help of godoc. Just a top-level pointer.
-
Kirill Smelkov authored
-
Kirill Smelkov authored
Move them here to go123 like in previous patches. Taken from git-backup 0be1f647. [1] https://lab.nexedi.com/kirr/git-backup
-
Kirill Smelkov authored
Pristine import + package/copyright clauses. Taken from git-backup 3aedc246. [1] https://lab.nexedi.com/kirr/git-backup
-
Kirill Smelkov authored
Export functions that client would use and adjust their names taking into account that now there is a package prefix. So e.g. raise -> exc.Raise errcatch -> exc.Catch erronunwind -> exc.Onunwind ...
-
Kirill Smelkov authored
It is completely orthogonal to exception handling.
-
Kirill Smelkov authored
It is xruntime.Traceback()
-
Kirill Smelkov authored
Usage would be: myname.Func(), and myname.Pkg()
-
Kirill Smelkov authored
This is pristine import. Files are taken as-is from git-backup 3ba6cf73. Will adapt them to live in separate package in the next commit. [1] https://lab.nexedi.com/kirr/git-backup
-
Kirill Smelkov authored
This will be a place to keep handy go bits shared across projects.
-