clim-tos issueshttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues2017-10-28T15:51:21Zhttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/22Reduce the number of style warnings in CLIM2017-10-28T15:51:21ZJacek Złydachcommon-lisp.net@jacek.zlydach.plReduce the number of style warnings in CLIMWe have a pretty ridiculous amount of style warnings when building CLIM under SBCL. Most of them are related to implicit definition of generics. Not really a show-stopper, but it makes compilation output harder to read when one's doing a...We have a pretty ridiculous amount of style warnings when building CLIM under SBCL. Most of them are related to implicit definition of generics. Not really a show-stopper, but it makes compilation output harder to read when one's doing a clean build directly via ASDF.https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/21`highlight-presentation` in puzzle demo breaks Demo Driver2017-11-24T13:59:17ZJacek Złydachcommon-lisp.net@jacek.zlydach.pl`highlight-presentation` in puzzle demo breaks Demo DriverThe issue was introduced by a partial fix for #17 in commit 477977a9.
For some reason, defining `highlight-presentation` presentation method for `puzzle-cell` type causes Demo Driver to break when you mouse-over any demo on the list, wi...The issue was introduced by a partial fix for #17 in commit 477977a9.
For some reason, defining `highlight-presentation` presentation method for `puzzle-cell` type causes Demo Driver to break when you mouse-over any demo on the list, with condition about unknown type specifier. I've disabled the definition of that presentation method in code for now, but this needs to be fixed at some point.https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/20Condition when resizing a window to close to 0 width or height2017-10-28T15:51:17ZJacek Złydachcommon-lisp.net@jacek.zlydach.plCondition when resizing a window to close to 0 width or heightWhen resizing a window, if you shrink it too much in one dimension, a condition gets signalled. It sounds reasonable in theory, though I recall seeing in XLib documentation a note that the application should generally live with whatever ...When resizing a window, if you shrink it too much in one dimension, a condition gets signalled. It sounds reasonable in theory, though I recall seeing in XLib documentation a note that the application should generally live with whatever size it gets (see [here](https://tronche.com/gui/x/xlib/window/create.html)).
For now, I suggest one or both of the following approaches:
* Finding a way to tell WM that the application needs to be no smaller than some given size (maybe through [this](https://tronche.com/gui/x/xlib/ICC/client-to-window-manager/wm-normal-hints.html)?) - various other programs I've tested, like Emacs, terminal and Files on Ubuntu, have some different minimum sizes set.
* Handling the condition by telling X to resize the window back.
Not sure whether the handling should happen on the demo size, or should some of it be integrated directly into CLX port as (configurable) "sane defaults".
---
Condition example with backtrace:
```
Trying to resize sheet #<CLIM:VBOX-PANE {10105F5A73}> to be too small (-1 x 236)
[Condition of type SIMPLE-ERROR]
Restarts:
0: [NIL] Restart event loop for #<CLX-PORT {100205AED3}>
1: [NIL] Exit event loop for #<CLX-PORT {100205AED3}>
2: [ABORT] abort thread (#<THREAD "CLIM Event Dispatcher for (CLX)" RUNNING {1002365A53}>)
Backtrace:
0: ((:METHOD CLIM:RESIZE-SHEET (CLIM:BASIC-SHEET T T)) #<CLIM:VBOX-PANE {10105F5A73}> -1 236) [fast-method]
Locals:
CLIM-SILICA::HEIGHT = 236
CLIM:SHEET = #<CLIM:VBOX-PANE {10105F5A73}>
CLIM-SILICA::WIDTH = -1
1: ((:METHOD CLIM:MOVE-AND-RESIZE-SHEET (CLIM:BASIC-SHEET T T T T)) #<CLIM:VBOX-PANE {10105F5A73}> 1 1 -1 236) [fast-method]
Locals:
CLIM-SILICA::HEIGHT = 236
CLIM:SHEET = #<CLIM:VBOX-PANE {10105F5A73}>
CLIM-SILICA::WIDTH = -1
CLIM-SILICA::X = 1
CLIM-SILICA::Y = 1
2: ((:METHOD CLIM:ALLOCATE-SPACE (CLIM:BORDER-PANE T T)) #<CLIM:OUTLINED-PANE {10104C8B83}> 1 238) [fast-method]
Locals:
CLIM-SILICA::HEIGHT = 238
CLIM:PANE = #<CLIM:OUTLINED-PANE {10104C8B83}>
CLIM-SILICA::WIDTH = 1
3: ((SB-PCL::EMF CLIM:NOTE-SHEET-REGION-CHANGED) #<unused argument> #<unused argument> #<CLIM:OUTLINED-PANE {10104C8B83}>)
Locals:
SB-PCL::.ARG0. = #<CLIM:OUTLINED-PANE {10104C8B83}>
SB-DEBUG::MORE = NIL
4: ((:METHOD CLIM:LAYOUT-FRAME (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10026A5233}> 1 238) [fast-method]
Locals:
CLIM-INTERNALS::FRAME = #<CLIM-DEMO::DEMO-DRIVER {10026A5233}>
CLIM-INTERNALS::HEIGHT = 238
CLIM-INTERNALS::WIDTH = 1
5: ((SB-PCL::EMF CLIM:NOTE-SHEET-REGION-CHANGED) #<unused argument> #<unused argument> #<CLIM:TOP-LEVEL-SHEET {10104C8BC3}> :PORT-DID-IT T)
Locals:
SB-PCL::.ARG0. = #<CLIM:TOP-LEVEL-SHEET {10104C8BC3}>
SB-DEBUG::MORE = (:PORT-DID-IT T)
6: ((:METHOD CLIM-SILICA:MIRROR-REGION-UPDATED (CLIM:BASIC-PORT CLIM:MIRRORED-SHEET-MIXIN)) #<CLX-CLIM::CLX-PORT {100205AED3}> #<CLIM:TOP-LEVEL-SHEET {10104C8BC3}>) [fast-method]
Locals:
CLIM:PORT = #<CLX-CLIM::CLX-PORT {100205AED3}>
CLIM:SHEET = #<CLIM:TOP-LEVEL-SHEET {10104C8BC3}>
CLIM-SILICA::TRANSFORMATION-CHANGED-P = NIL
7: ((:METHOD CLIM:HANDLE-EVENT (CLIM:MIRRORED-SHEET-MIXIN CLIM:WINDOW-CONFIGURATION-EVENT)) #<CLIM:TOP-LEVEL-SHEET {10104C8BC3}> #<CLIM:WINDOW-CONFIGURATION-EVENT /x 0:1 y 0:238/>) [fast-method]
Locals:
CLIM:EVENT = #<CLIM:WINDOW-CONFIGURATION-EVENT /x 0:1 y 0:238/>
CLIM:SHEET = #<CLIM:TOP-LEVEL-SHEET {10104C8BC3}>
8: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN CLIM:PROCESS-NEXT-EVENT))
9: ((FLET "WITHOUT-INTERRUPTS-BODY-29" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
10: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN CLIM:PROCESS-NEXT-EVENT) {7FFFEAB5E5AB}> #<SB-THREAD:MUTEX "CLX Event Lock" owner: #<SB-THREAD:THREAD "CLI..
11: ((:METHOD CLIM:PROCESS-NEXT-EVENT (CLX-CLIM::CLX-PORT)) #<unavailable argument> :TIMEOUT #<unavailable argument> :WAIT-FUNCTION #<unused argument> :STATE #<unused argument>) [fast-method]
12: ((:METHOD CLIM-SILICA:PORT-EVENT-LOOP (CLIM:BASIC-PORT)) #<CLX-CLIM::CLX-PORT {100205AED3}>) [fast-method]
13: ((FLET "WITHOUT-INTERRUPTS-BODY-4" :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
14: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
15: ((FLET "WITHOUT-INTERRUPTS-BODY-1" :IN SB-THREAD::CALL-WITH-MUTEX))
16: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {7FFFEAB5EC9B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THR..
17: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "CLIM Event Dispatcher for (CLX)" RUNNING {1002365A53}> NIL #<CLOSURE (LAMBDA NIL :IN CLIM:RESTART-PORT) {1002364C5B}> (#<SB-THREAD:TH..
18: ("foreign function: call_into_lisp")
19: ("foreign function: new_thread_trampoline")
--more--
```https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/18The function CLIM-INTERNALS::WAIT-FOR-WINDOW-EXPOSED is undefined.2017-10-29T14:37:23ZJacek Złydachcommon-lisp.net@jacek.zlydach.plThe function CLIM-INTERNALS::WAIT-FOR-WINDOW-EXPOSED is undefined.Happens in Address Book demo, when you right-click on an entry.
There are bunch of separate implementations in the parts of code we're currently not including:
```
cloe/cloe-implementation.lisp:94:(defmethod wait-for-window-exposed ((w...Happens in Address Book demo, when you right-click on an entry.
There are bunch of separate implementations in the parts of code we're currently not including:
```
cloe/cloe-implementation.lisp:94:(defmethod wait-for-window-exposed ((window cloe-window-stream))
pre-silica/genera-implementation.lisp:53:(defmethod wait-for-window-exposed ((window sheet-implementation-mixin))
pre-silica/cloe-implementation.lisp:345: (defmethod wait-for-window-exposed ((window cloe-window-stream))
pre-silica/clx-implementation.lisp:1204:(defmethod wait-for-window-exposed ((stream clx-window))
```
I think we might just steal one of these and add it locally as `flet`. Will test that tomorrow; noting it down for reference.Jacek Złydachcommon-lisp.net@jacek.zlydach.plJacek Złydachcommon-lisp.net@jacek.zlydach.plhttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/17Lisp Listener doesn't handle Backspace and Return2017-10-29T14:13:10ZJacek Złydachcommon-lisp.net@jacek.zlydach.plLisp Listener doesn't handle Backspace and ReturnExpected behaviour: for Backspace, erasing the last typed character. For Return, accepting a command. Neither key does anything currently.Expected behaviour: for Backspace, erasing the last typed character. For Return, accepting a command. Neither key does anything currently.Jacek Złydachcommon-lisp.net@jacek.zlydach.plJacek Złydachcommon-lisp.net@jacek.zlydach.plhttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/16menu is not displayed in the window2017-10-16T18:32:00ZDaniel Kochmańskimenu is not displayed in the windowSteps to reproduce:
run `(clim-demo:start-demo)`
Menu is expected, because `com-exit-demo-driver` command is declared to be in the menu.Steps to reproduce:
run `(clim-demo:start-demo)`
Menu is expected, because `com-exit-demo-driver` command is declared to be in the menu.https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/15Timeouts in Lisp Listener (and maybe Address Book)2017-10-07T12:16:54ZJacek Złydachcommon-lisp.net@jacek.zlydach.plTimeouts in Lisp Listener (and maybe Address Book)Lisp Listener command loop continuously receives `:TIMEOUT` from a call to `ACCEPT`, resulting in a stream of `:TIMEOUT` messages on screen and no possibility of interaction.
The same issue is probably causing Address Book demo to also ...Lisp Listener command loop continuously receives `:TIMEOUT` from a call to `ACCEPT`, resulting in a stream of `:TIMEOUT` messages on screen and no possibility of interaction.
The same issue is probably causing Address Book demo to also repeatedly display the command prompt (see `CLIM:DEFAULT-FRAME-TOP-LEVEL` for `CLIM:STANDARD-APPLICATION-PANE`, found in `clim/frames.lisp`).
So far I've managed to track the entire call chain, and it *seems* that the conditions under which `:TIMEOUT` is returned from `STREAM-READ-GESTURE` are entirely valid. This suggests that some code using the result does not handle non-blocking keyboard input correctly, but I'm at loss as to where it should be handled and how.
I'll be posting further notes about this issue here.
For reference, the result of `ACCEPT` call in `LISP-LISTENER-COMMAND-READER` are the following values:
* `:TIMEOUT`
* `((CLIM:COMMAND-OR-FORM :COMMAND-TABLE CLIM-DEMO::LISP-LISTENER) :AUTO-ACTIVATE NIL)`
* `NIL`https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/13closing frames doesn't work2017-10-07T09:07:45ZDaniel Kochmańskiclosing frames doesn't workWhen closing frames with Alt-F4 or with [x] button, we have (semi-random) missing methods (i.e caused by passing NIL as a stream argument etc).
(clim-demo:start-demo)
close the frame.When closing frames with Alt-F4 or with [x] button, we have (semi-random) missing methods (i.e caused by passing NIL as a stream argument etc).
(clim-demo:start-demo)
close the frame.https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/12Cannot use clim-demo:start-demo twice2017-07-26T06:45:20ZDaniel KochmańskiCannot use clim-demo:start-demo twiceSteps to reproduce:
1) Start clim demo
```
(ql:quickload '(clim-tos clim-tos/clx-backend clim-tos/examples))
(clim-demo:start-demo)
```
2) Close demo (Alt-F4, or click [x] on the window bar.
```
There is no applicable method ...Steps to reproduce:
1) Start clim demo
```
(ql:quickload '(clim-tos clim-tos/clx-backend clim-tos/examples))
(clim-demo:start-demo)
```
2) Close demo (Alt-F4, or click [x] on the window bar.
```
There is no applicable method for the generic function
#<STANDARD-GENERIC-FUNCTION CLIM:MEDIUM-MERGED-TEXT-STYLE (3)>
when called with arguments
(NIL).
[Condition of type SIMPLE-ERROR]
Restarts:
0: [RETRY] Retry calling the generic function.
1: [ABORT] Return to Demo Driver command level
2: [NIL] Demo Driver top level
3: [NIL] Exit Demo Driver
4: [ABORT] abort thread (#<THREAD "Demo Driver" RUNNING {1003AB2383}>)
Backtrace:
0: ((:METHOD NO-APPLICABLE-METHOD (T)) #<STANDARD-GENERIC-FUNCTION CLIM:MEDIUM-MERGED-TEXT-STYLE (3)> NIL) [fast-method]
1: (SB-PCL::CALL-NO-APPLICABLE-METHOD #<STANDARD-GENERIC-FUNCTION CLIM:MEDIUM-MERGED-TEXT-STYLE (3)> (NIL))
2: ((:METHOD CLIM:MEDIUM-MERGED-TEXT-STYLE (CLIM:STANDARD-SHEET-OUTPUT-MIXIN)) #<CLIM:APPLICATION-PANE {10077DE563}>) [fast-method]
3: ((:METHOD CLIM-INTERNALS::DECODE-STREAM-FOR-WRITING (CLIM-INTERNALS::OUTPUT-PROTOCOL-MIXIN)) #<CLIM:APPLICATION-PANE {10077DE563}> NIL) [fast-method]
4: ((:METHOD CLIM-INTERNALS::DECODE-STREAM-FOR-WRITING (CLIM:STANDARD-ENCAPSULATING-STREAM)) #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}> NIL) [fast-method]
5: ((:METHOD CLIM-INTERNALS::DO-INPUT-BUFFER-SCREEN-REAL-ESTATE (CLIM-INTERNALS::INPUT-EDITING-STREAM-MIXIN T)) #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}> #<FUNCTION (FLET IGNORE :IN CLIM-INTERNA..
6: ((:METHOD CLIM-INTERNALS::INPUT-BUFFER-INPUT-POSITION->CURSOR-POSITION (CLIM-INTERNALS::INPUT-EDITING-STREAM-MIXIN)) #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}> 0) [fast-method]
7: ((:METHOD CLIM:STREAM-READ-GESTURE (CLIM-INTERNALS::INPUT-EDITING-STREAM-MIXIN)) #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}> :TIMEOUT NIL :PEEK-P NIL :INPUT-WAIT-TEST NIL :INPUT-WAIT-HANDLER #<..
8: (CLIM:READ-TOKEN #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}> :INPUT-WAIT-HANDLER NIL :POINTER-BUTTON-PRESS-HANDLER NIL :CLICK-ONLY T :TIMEOUT NIL)
9: ((:METHOD CLIM:ACCEPT-METHOD (T T T T T CLIM:TEXTUAL-VIEW)) #<unused argument> #<unused argument> #<unused argument> #<unused argument> #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}> #<unused argu..
10: ((FLET CLIM-INTERNALS::BODY-CONTINUATION :IN CLIM:ACCEPT-1))
11: (CLIM-INTERNALS::INVOKE-WITH-INPUT-CONTEXT (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::DEMO-DRIVER) NIL #<CLOSURE (FLET CLIM-INTERNALS::BODY-CONTINUATION :IN CLIM:ACCEPT-1) {7FFFEBDAD58B}> #<CLOSURE (FLET..
12: ((FLET CLIM-INTERNALS::WITH-INPUT-EDITING-BODY :IN CLIM:ACCEPT-1) #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}>)
13: (CLIM-INTERNALS::INVOKE-WITH-INPUT-CONTEXT (CLIM-INTERNALS::INPUT-EDITOR :STREAM #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}>) NIL #<CLOSURE (FLET CLIM-INTERNALS::BODY-CONTINUATION :IN CLIM-INTE..
14: ((FLET CLIM-INTERNALS::WITH-OUTPUT-RECORDING-OPTIONS-BODY :IN CLIM-INTERNALS::INVOKE-WITH-INPUT-EDITING))
15: ((:METHOD CLIM:INVOKE-WITH-OUTPUT-RECORDING-OPTIONS (CLIM-INTERNALS::OUTPUT-RECORDING-MIXIN T T T)) #<CLIM:APPLICATION-PANE {10077DE563}> #<CLOSURE (FLET CLIM-INTERNALS::WITH-OUTPUT-RECORDING-OPTIONS-..
16: ((:METHOD CLIM:INVOKE-WITH-OUTPUT-RECORDING-OPTIONS (CLIM:STANDARD-ENCAPSULATING-STREAM T T T)) #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}> #<CLOSURE (FLET CLIM-INTERNALS::WITH-OUTPUT-RECORDING..
17: (CLIM-INTERNALS::INVOKE-WITH-INPUT-EDITING #<CLIM:STANDARD-INPUT-EDITING-STREAM {100E3EB923}> #<CLOSURE (FLET CLIM-INTERNALS::WITH-INPUT-EDITING-BODY :IN CLIM:ACCEPT-1) {7FFFEBDADD7B}> CLIM:STANDARD-I..
18: (CLIM:ACCEPT-1 #<CLIM:APPLICATION-PANE {10077DE563}> (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::DEMO-DRIVER) :VIEW #<CLIM:TEXTUAL-VIEW {1003E3E943}> :DEFAULT NIL :DEFAULT-TYPE NIL :HISTORY NIL :INSERT-DE..
19: (CLIM:ACCEPT (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::DEMO-DRIVER) :STREAM #<CLIM:APPLICATION-PANE {10077DE563}> :PROMPT NIL) [more]
20: (CLIM:READ-COMMAND CLIM-DEMO::DEMO-DRIVER :STREAM #<CLIM:APPLICATION-PANE {10077DE563}> :COMMAND-PARSER NIL :COMMAND-UNPARSER NIL :PARTIAL-COMMAND-PARSER NIL :USE-KEYSTROKES NIL)
21: ((:METHOD CLIM:READ-FRAME-COMMAND :AROUND (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10040B4443}> :STREAM #<CLIM:APPLICATION-PANE {10077DE563}>) [fast-method]
22: ((:METHOD CLIM:DEFAULT-FRAME-TOP-LEVEL (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10040B4443}> :COMMAND-PARSER NIL :COMMAND-UNPARSER NIL :PARTIAL-COMMAND-PARSER NIL :PROMPT "Command:..
23: ((:METHOD CLIM:RUN-FRAME-TOP-LEVEL (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10040B4443}>) [fast-method]
24: ((SB-PCL::FAST-METHOD CLIM:RUN-FRAME-TOP-LEVEL (CLIM:STANDARD-APPLICATION-FRAME)) #<unavailable argument> #<unavailable argument> #<CLIM-DEMO::DEMO-DRIVER {10040B4443}>) [more]
25: ((:METHOD CLIM:RUN-FRAME-TOP-LEVEL :AROUND (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10040B4443}>) [fast-method]
26: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
```
3) After selecting any closing restart try again
```
(clim-demo:start-demo)
```
```
Cannot enable a disowned frame #<CLIM-DEMO::DEMO-DRIVER {10040B4443}>
[Condition of type SIMPLE-ERROR]
Restarts:
0: [NIL] Demo Driver top level
1: [NIL] Exit Demo Driver
2: [ABORT] abort thread (#<THREAD "Demo Driver" RUNNING {1003AB56B3}>)
Backtrace:
0: ((:METHOD CLIM:ENABLE-FRAME (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10040B4443}>) [fast-method]
1: ((:METHOD CLIM:DEFAULT-FRAME-TOP-LEVEL (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10040B4443}> :COMMAND-PARSER NIL :COMMAND-UNPARSER NIL :PARTIAL-COMMAND-PARSER NIL :PROMPT "Command:..
2: ((:METHOD CLIM:RUN-FRAME-TOP-LEVEL (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10040B4443}>) [fast-method]
3: ((SB-PCL::FAST-METHOD CLIM:RUN-FRAME-TOP-LEVEL (CLIM:STANDARD-APPLICATION-FRAME)) #<unavailable argument> #<unavailable argument> #<CLIM-DEMO::DEMO-DRIVER {10040B4443}>) [more]
4: ((:METHOD CLIM:RUN-FRAME-TOP-LEVEL :AROUND (CLIM:STANDARD-APPLICATION-FRAME)) #<CLIM-DEMO::DEMO-DRIVER {10040B4443}>) [fast-method]
5: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
6: ((FLET #:WITHOUT-INTERRUPTS-BODY-1138 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
7: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
8: ((FLET #:WITHOUT-INTERRUPTS-BODY-358 :IN SB-THREAD::CALL-WITH-MUTEX))
9: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {7FFFF0A56D6B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THR..
```https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/9No applicable method for finalize-inheritance with argument of type ccl::comp...2017-11-24T09:53:29ZJacek Złydachcommon-lisp.net@jacek.zlydach.plNo applicable method for finalize-inheritance with argument of type ccl::compile-time-class.Breaks loading `gramps-clim2/core`. Cursory searching reveals that there seems to be no such method defined.
`class-finalized-p` for `compile-time-class` simply returns `NIL`.Breaks loading `gramps-clim2/core`. Cursory searching reveals that there seems to be no such method defined.
`class-finalized-p` for `compile-time-class` simply returns `NIL`.https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/8In Lisp Listener, image doesn't match any server pixmap format (xlib).2017-08-23T10:15:57ZJacek Złydachcommon-lisp.net@jacek.zlydach.plIn Lisp Listener, image doesn't match any server pixmap format (xlib).Happens when you try to run Lisp Listener demo now:
```
The bits-per-pixel of the image #<XLIB:IMAGE-Z 12x12x24> does not match any server pixmap format.
[Condition of type SIMPLE-ERROR]
Restarts:
0: [ABORT] Return to Lisp Listener...Happens when you try to run Lisp Listener demo now:
```
The bits-per-pixel of the image #<XLIB:IMAGE-Z 12x12x24> does not match any server pixmap format.
[Condition of type SIMPLE-ERROR]
Restarts:
0: [ABORT] Return to Lisp Listener command level 0
1: [NIL] Restart CLIM lisp listener
2: [NIL] Lisp Listener top level
3: [NIL] Exit Lisp Listener
4: [ABORT] abort thread (#<THREAD "Lisp Listener" RUNNING {10038B2443}>)
Backtrace:
0: (XLIB:PUT-IMAGE #<XLIB:PIXMAP :0 2600025> #<XLIB:GCONTEXT :0 39845924> #<XLIB:IMAGE-Z 12x12x24> :SRC-X 0 :SRC-Y 0 :X 0 :Y 0 :WIDTH NIL :HEIGHT NIL :BITMAP-P NIL)
Locals:
#:.DEFAULTING-TEMP. = 0
#:.DEFAULTING-TEMP.#1 = 0
#:.DEFAULTING-TEMP.#2 = 0
#:.DEFAULTING-TEMP.#3 = 0
#:.DEFAULTING-TEMP.#4 = NIL
#:.DEFAULTING-TEMP.#5 = NIL
#:.DEFAULTING-TEMP.#6 = NIL
DRAWABLE = #<XLIB:PIXMAP :0 2600025>
GCONTEXT = #<XLIB:GCONTEXT :0 39845924>
IMAGE = #<XLIB:IMAGE-Z 12x12x24>
#:N-SUPPLIED-4670 = 1
#:N-SUPPLIED-4671 = 1
1: ((:METHOD CLX-CLIM::CLX-DECODE-PATTERN (CLIM-UTILS:PATTERN T)) #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argument>) [fast-method]
2: ((:METHOD CLX-CLIM::CLX-DECODE-INK :AROUND (T CLX-CLIM::CLX-MEDIUM)) #<CLIM-UTILS:PATTERN 12x12 n=2 {1005965E03}> #<CLX-CLIM::CLX-MEDIUM {100480B793}>) [fast-method]
3: ((:METHOD CLIM:MEDIUM-DRAW-RECTANGLE* (CLX-CLIM::CLX-MEDIUM T T T T T)) #<CLX-CLIM::CLX-MEDIUM {100480B793}> #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argum..
4: ((:METHOD CLIM:MEDIUM-DRAW-RECTANGLE* :AROUND (CLIM:BASIC-MEDIUM T T T T T)) #<CLX-CLIM::CLX-MEDIUM {100480B793}> #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable ..
5: ((:METHOD CLIM:INVOKE-WITH-DRAWING-OPTIONS (CLIM:BASIC-MEDIUM T)) #<CLX-CLIM::CLX-MEDIUM {100480B793}> #<CLOSURE (FLET CLIM-UTILS::WITH-DRAWING-OPTIONS-BODY :IN CLIM:DRAW-PATTERN*) {7FFFEB95DF9B}> :IN..
6: ((:METHOD CLIM:INVOKE-WITH-DRAWING-OPTIONS (CLIM:CLIM-STREAM-SHEET T)) #<CLIM:INTERACTOR-PANE a window stream {1003FB2443}> #<CLOSURE (FLET CLIM-UTILS::WITH-DRAWING-OPTIONS-BODY :IN CLIM:DRAW-PATTERN*..
```
Image object:
```
#<XLIB:IMAGE-Z {10082D1AD3}>
--------------------
The object is a STRUCTURE-OBJECT of type XLIB:IMAGE-Z.
WIDTH: 12
HEIGHT: 12
DEPTH: 24
PLIST: NIL
BITS-PER-PIXEL: 24
PIXARRAY: #2A((16777215 16777215 16777215 16777215 16777215 16777215 16777215 16777215 16777215 16777215 16777215 16777215) ..)
```https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/7CLIM gesture handlers don't like mouse scrollwheels.2017-07-26T07:25:58ZJacek Złydachcommon-lisp.net@jacek.zlydach.plCLIM gesture handlers don't like mouse scrollwheels.Some context of what happens when one uses a scrollwheel in Graphics Demos demo:
```
The value NIL is not of type FIXNUM.
[Condition of type TYPE-ERROR]
Restarts:
0: [ABORT] Return to Graphics Demo command level
1: [NIL] Graphics ...Some context of what happens when one uses a scrollwheel in Graphics Demos demo:
```
The value NIL is not of type FIXNUM.
[Condition of type TYPE-ERROR]
Restarts:
0: [ABORT] Return to Graphics Demo command level
1: [NIL] Graphics Demo top level
2: [NIL] Exit Graphics Demo
3: [ABORT] abort thread (#<THREAD "Graphics Demos" RUNNING {1003FD7D93}>)
Backtrace:
0: (CLIM-INTERNALS::BUTTON-PRESS-EVENT-MATCHES-GESTURE-NAME-P #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}> :SELECT #<unused argument>)
Locals:
EVENT = #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
GESTURE-NAME = :SELECT
1: (CLIM:PRESENTATION-MATCHES-CONTEXT-TYPE #<CLIM:STANDARD-PRESENTATION CLIM:BLANK-AREA CLIM-INTERNALS::|circular presentation| /x 0:0 y 0:0/ {1005887493}> (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPHIC..
Locals:
#:.DEFAULTING-TEMP. = #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
#:.DEFAULTING-TEMP.#1 = 0
CLIM-INTERNALS::CONTEXT-TYPE = (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPHICS-DEMO)
CLIM-INTERNALS::FRAME = #<CLIM-DEMO::GRAPHICS-DEMO {10040F3893}>
PRESENTATION = #<CLIM:STANDARD-PRESENTATION CLIM:BLANK-AREA CLIM-INTERNALS::|circular presentation| /x 0:0 y 0:0/ {1005887493}>
CLIM-INTERNALS::WINDOW = #<CLIM:APPLICATION-PANE a window stream {10045A1DB3}>
CLIM-INTERNALS::X = 673.0
CLIM-INTERNALS::Y = 471.0
2: (CLIM:THROW-HIGHLIGHTED-PRESENTATION #<CLIM:STANDARD-PRESENTATION CLIM:BLANK-AREA CLIM-INTERNALS::|circular presentation| /x 0:0 y 0:0/ {1005887493}> ((#1=(CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPH..
Locals:
SB-DEBUG::ARG-0 = #<CLIM:STANDARD-PRESENTATION CLIM:BLANK-AREA CLIM-INTERNALS::|circular presentation| /x 0:0 y 0:0/ {1005887493}>
SB-DEBUG::ARG-1 = (((CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPHICS-DEMO) (#:CONTEXT-TAG (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::GRAPHICS-DEMO))) ..)
SB-DEBUG::ARG-2 = #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
Catch-tags:
CLIM-INTERNALS::NO-TRANSLATION
3: ((:METHOD CLIM-INTERNALS::RECEIVE-GESTURE (CLIM-INTERNALS::INPUT-PROTOCOL-MIXIN CLIM:POINTER-BUTTON-PRESS-EVENT)) #<CLIM:APPLICATION-PANE a window stream {10045A1DB3}> #<CLIM:POINTER-BUTTON-PRESS-EVEN..
Locals:
SB-DEBUG::ARG-2 = #<CLIM:APPLICATION-PANE a window stream {10045A1DB3}>
SB-DEBUG::ARG-3 = #<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
```
In particular, the `CLIM:POINTER-BUTTON-PRESS-EVENT` looks like this:
```
#<CLIM:POINTER-BUTTON-PRESS-EVENT {100437AB33}>
--------------------
Class: #<STANDARD-CLASS CLIM:POINTER-BUTTON-PRESS-EVENT>
--------------------
Group slots by inheritance [ ]
Sort slots alphabetically [X]
All Slots:
[ ] BUTTON = NIL
[ ] MODIFIER-STATE = 0
[ ] NATIVE-X = 676
[ ] NATIVE-Y = 474
[ ] POINTER = #<CLIM:STANDARD-POINTER {1004B4B873}>
[ ] SHEET = #<CLIM:APPLICATION-PANE a window stream {10045A1DB3}>
[ ] TIMESTAMP = 1053
[ ] X = 673.0
[ ] Y = 471.0
```
This `BUTTON` being `NIL` breaks type declaration in `#'button-press-event-matches-gesture-name-p`.https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/6Porting CLIM to use trivial-gray-streams.2017-06-24T15:33:36ZJacek Złydachcommon-lisp.net@jacek.zlydach.plPorting CLIM to use trivial-gray-streams.CLIM seems work better when gray-streams are used on SBCL :). I guess we could go all the way and actually replace CLIM workarounds with trivial-gray-streams.CLIM seems work better when gray-streams are used on SBCL :). I guess we could go all the way and actually replace CLIM workarounds with trivial-gray-streams.Daniel KochmańskiDaniel Kochmańskihttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/5window-stream needs a proper printer.2017-06-10T10:32:41ZJacek Złydachcommon-lisp.net@jacek.zlydach.plwindow-stream needs a proper printer.See `clim/window-stream.lisp`, comment marked `NOTE FIXME`.See `clim/window-stream.lisp`, comment marked `NOTE FIXME`.https://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/4Implementation of scroll-pane methods need review.2017-07-30T18:32:52ZJacek Złydachcommon-lisp.net@jacek.zlydach.plImplementation of scroll-pane methods need review.In `silica/scroll-pane.lisp` there's a bunch of methods marked with `NOTE WORKAROUND` comment that were missing a required parameter. Adding the parameter resolved runtime errors, but all of those methods need to be reviewed as to whethe...In `silica/scroll-pane.lisp` there's a bunch of methods marked with `NOTE WORKAROUND` comment that were missing a required parameter. Adding the parameter resolved runtime errors, but all of those methods need to be reviewed as to whether their implementation is correct.