freenode/#clim - IRC Chatlog
Search
10:20:01
loke
jackdaniel: I've added some small comments. I don't have any major complains, just some small grammar fixes, documentation stuff etc.
10:34:56
loke
I have started working on splitting up the clipboard work. I have the first commit. I created a new draft pull request to track this. Could you take a short look just to tell me if it's aligned with what you were looking for? I expect there to be roughly 4 more commits on top of this.
10:44:01
jackdaniel
loke: as of ignore errors, the alternative is wrapping body in (handler-case foo (error () nil) what is practically the very same thing
10:45:47
loke
Yes. But how about rewriting it a bit so that IGNORE-ERRORS only wraps the destructuring part, and not its body?
10:47:25
jackdaniel
so I see no value in obfuscating it that way (although I do avoid ignore-errors at usual occasions)
10:54:31
jackdaniel
I've fixed typos and commented on the slot names, in essence they break the indentation if used in full (and defclass is way too verbose with this regard)
11:00:09
loke
I raised my opinion, and you seem to agree that they are valid. That's all I can ask for. I have no intention of raising it any further than that. :-)
11:04:39
jackdaniel
as of your draft, I'd split it into at least three commits: 1) remove old cut-and-paste primitives (ensure that all works fine after that); 2) introduce Core/ mechanism (without backend implementation) - also verify that it didn't break anything - that would make it more likely it doesn't break other backends too (that includes climb generic functions which are meant to be implemented etc etc); 3)
11:09:41
loke
(in case it wasn't clear, it's a slot that holds a reference to the pane that owns that currently outstanding (in-flight) request)
11:09:43
jackdaniel
(I may have further remarks after you split that, that's the point of splitting, it is easier to grok smaller commits which change some functionality atomically)
11:10:34
jackdaniel
if you think that there are more "atomically inseparable" changes which make sense as astandalone commits please split them too
11:23:39
scymtym
jackdaniel: in a previous change i turned INDENTING-OUTPUT into INDENTING-OUTPUT/INVOKE-WITH-INDENTING-OUTPUT. given the size of the new expansion, i believe this would still make sense. what do you think?
11:24:55
jackdaniel
scymtym: in my change it calls with-temporary-margins which calls invoke-with-temporary-page
11:25:14
jackdaniel
the name difference come from the fact, that invoke-with-temporary-page (with time) will be able to do more
11:27:11
jackdaniel
sure, it would make sense to extract invoke-filling-output as a gf and expand to that (with a continuation as the argument)
11:27:55
scymtym
before i get to that, can anyone try whether the "Indentation" demo signals a TYPE-ERROR on master?
11:36:24
jackdaniel
can call-next-method be invoked from :before method with arguments? or do I need to put :around method to augument the value?
11:38:21
scymtym
could you move the margin specification type to the top of the file and use it for the :type of the margins slot? that would catch invalid specifications early (with appropriate optimization settings)
11:41:41
jackdaniel
(nb: the regression was caused by the fact I've made it possible to specify indentation only partially, i.e (setf (stream-text-margins stream) `(:left (:absolute 3)))
11:43:21
scymtym
an alternate design would have been first-class margins and MERGE-MARGINS the way text styles work
11:54:06
scymtym
jackdaniel: in the "Indentation" test, i think the lines "line 4" and "no indent" are indented too far. this is one of the failure modes the test is designed to catch
12:00:46
scymtym
the test sometimes doesn't paint (or display?) the description text. does it need a FORCE-OUTPUT somewhere?
12:09:43
scymtym
selecting text in this demo works for the first two paragraphs but results in black text on black background in the third and fourth paragraph
12:13:24
jackdaniel
scymtym: arguably printing a newline inside the inner indentation-output should position cursor with the indentation
12:22:16
jackdaniel
and this interpretation seems to be supported by "Programmers using indenting-output should begin the body with a call to fresh-line (or some equivalent) to position the stream to the initial indentation."
12:25:04
jackdaniel
nb: tinkering with margin introduces interesting questions about how stream-fresh-line should behave
15:42:50
slyrus_
"defining setf macro for STREAM-CURSOR-POSITION when (SETF STREAM-CURSOR-POSITION) was previously treated as a function"
15:57:43
jackdaniel
(I was about to write here thanks, but it occured to me, that I've made a broadcast stream to you and xach on two channels ;-)BAAAAAA
17:25:27
jackdaniel
ACTION retracks one whine about how drei makes my life miserable, that was my own fault (ftr: https://github.com/McCLIM/McCLIM/issues/726)
19:46:16
jackdaniel
I've flirted a little with lazy newlines idea (which would introduce some nice ux improvements for filling-output and similar), but I've decided it is not worth it - it would obfuscate the code and introduce some gotchas