18:08:25ThetabitI'm sure this is dumb, but I am going thru the Slime manual looking at the commands for debugging, but I don't know how to start the debugger without hitting an error first. How do I get into the debugger and then step into the expressions? Am I approaching debugging with the wrong mindset, eg treating emacs and slime like an IDE where I can set breakpoints?
18:08:28Bikei'm pretty sure. from the package definition that's cl:defsetf, and defsetf has a defsetf lambda list, and those don't have that list thing.
18:08:47BikeThetabit: it is a bit unusual to do it like that. but you can insert calls to (break) in your code
18:08:48nosefouratyouThetabit: you can use (break) anywhere in your program to trigger the debugger
18:09:04Bikeyour implementation might also have a stepper that you use like (step <expression>)
18:09:16nosefouratyoudarn, I had it working and I liked it. It seemed a lot faster than log4cl.
18:09:29kencauseynosefouratyou: Actually, I don't see logv listed in quicklisp currently, I may have misspoken. Is your quicklisp out of date?
18:09:54nosefouratyoukencausey: no, I downloaded it and now trying to load it with quicklisp
18:10:24Bikenosefouratyou: try making it optional. (key &optional (log-env-name *default-log-env*))
18:10:26kencauseyI see, in any case, we can't assume others are successfully using it.
18:10:29Bikethat matches the regular function, anyway
18:10:29Xachhttps://sites.google.com/site/sabraonthehill/comparison-of-lisp-logging-libraries has some hints
18:10:39Xach>> I do want to mention that I have left out at least two. First, logv, which I could not get to compile.
18:10:48Bikeyou test that libraries build, right, xach? you- oh. well then.
18:10:49Xachi love sabraonthehill's comparison articles
18:11:20kencauseyXach: Yep, looks like good stuff.
18:53:27phoeIt is horrible - I am interfacing with C.
18:54:07phoeBut it looks like I can compress and decompress arbitrary Lisp uint8 vectors, which is good.
18:55:38phoeThe best part - I needed to build the .so library for Linux myself because the original LZMA makefile from Igor Pavlov only builds binary executables.
19:34:04phoeit's pretty good, and what cl-autowrap provides is also very good to work with
19:34:39phoethe header files for LZMA got parsed automatically and I got all the required C functions, types and sizes automagically
19:35:49phoebut I spent whole two hours debugging an issue that size_t was eight bytes where I only allocated four - and boom, heisenbugs, image corruptions, drops to LDB and such fun stuff.
19:36:10phoethe stuff that does not exist in Lisp because you don't need to allocate raw memory.
19:36:31phoeso it's less of CFFI being terrible and more of the C land being very primitive
19:39:28phoebecause I thought that I should allocate four there as size_t wasn't called size_t in the original code but had some quirky typedef that made me assume it's four bytes.
20:50:55Baggersotwieracz: does bt:interrupt-thread work? also is it your thread and do you have an idea of why it might be blocking? Where a blocking call is needed it could be worth looking for a similar function with a timeout
21:16:51reglbut I got one failure in one of the files
21:17:23regldebugger invoked on a UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<THREAD "main thread" RUNNING {10031A63F3}>: COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "cleavir-environment" "compile-time">