clim-tos issueshttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues2017-06-10T10:43:29Zhttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/1#'clim-internals::port-query-pointer for clx-port missing2017-06-10T10:43:29ZJacek Złydachcommon-lisp.net@jacek.zlydach.pl#'clim-internals::port-query-pointer for clx-port missingThe following method is needed by CLIM to fetch the position of the mouse. It is missing from clx-backend.
It's a function of `(port sheet) -> (values x y native-x native-y &optional root-x root-y)`, where `root-x` and `root-y` seems to...The following method is needed by CLIM to fetch the position of the mouse. It is missing from clx-backend.
It's a function of `(port sheet) -> (values x y native-x native-y &optional root-x root-y)`, where `root-x` and `root-y` seems to be also returned by ACLPC implementation, but ignored by CLIM.
Workaround I used in REPL to side-step the problem:
```lisp
(defmethod clim-internals::port-query-pointer ((port clx-clim::clx-port) sheet)
(values 10 10 10 10))
```Working systemDaniel KochmańskiDaniel Kochmańskihttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/2#'region-intersection needs recompilation post-loading of CLIM2017-07-26T06:00:23ZJacek Złydachcommon-lisp.net@jacek.zlydach.pl#'region-intersection needs recompilation post-loading of CLIMWhen running demos with `(clim-demo:start-demo)`, SBCL immediately complains about a type error w/ clim-utils:region-intersection method. The method in fact exists and is correct, and the error disappears after recompiling it.
The metho...When running demos with `(clim-demo:start-demo)`, SBCL immediately complains about a type error w/ clim-utils:region-intersection method. The method in fact exists and is correct, and the error disappears after recompiling it.
The method in question is `defmethod region-intersection ((rect1 standard-bounding-rectangle) (rect2 standard-bounding-rectangle))` and can be found in `utils/region-arithmetic.lisp`.
Generally, this is weird and such recompilation should not be necessary.Working systemJacek Złydachcommon-lisp.net@jacek.zlydach.plJacek Złydachcommon-lisp.net@jacek.zlydach.plhttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/3Workarounds made for demo need to be investigated and corrected.2017-10-28T15:51:03ZJacek Złydachcommon-lisp.net@jacek.zlydach.plWorkarounds made for demo need to be investigated and corrected.See comments starting with `NOTE WORKAROUND` in `clim/frames.lisp`, `silica/db-box.lisp` and `clim/db-menu.lisp`.See comments starting with `NOTE WORKAROUND` in `clim/frames.lisp`, `silica/db-box.lisp` and `clim/db-menu.lisp`.Working systemhttps://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.https://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/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/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/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/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/10SBCL breaks while compiling `test/test-suite.lisp`2017-07-04T14:30:34ZJacek Złydachcommon-lisp.net@jacek.zlydach.plSBCL breaks while compiling `test/test-suite.lisp````
failed AVER: (NULL SB-C::CURRENT)
This is probably a bug in SBCL itself. (Alternatively, SBCL
might have been corrupted by bad user code, e.g. by an undefined
Lisp operation like (FMAKUNBOUND 'COMPILE), or by stray pointers
from alie...```
failed AVER: (NULL SB-C::CURRENT)
This is probably a bug in SBCL itself. (Alternatively, SBCL
might have been corrupted by bad user code, e.g. by an undefined
Lisp operation like (FMAKUNBOUND 'COMPILE), or by stray pointers
from alien code or from unsafe Lisp code; or there might be a
bug in the OS or hardware that SBCL is running on.) If it seems
to be a bug in SBCL itself, the maintainers would like to know
about it. Bug reports are welcome on the SBCL mailing lists,
which you can find at <http://sbcl.sourceforge.net/>.
[Condition of type SB-INT:BUG]
Restarts:
0: [ABORT] Abort compilation.
1: [*ABORT] Return to SLIME's top level.
2: [ABORT] abort thread (#<THREAD "worker" RUNNING {1008F7C813}>)
```
Never seen anything like that before.Working systemhttps://gitlab.common-lisp.net/mcclim/gramps-clim2/-/issues/11readme: add readme with instructions how to build and use clim-tos2017-07-26T06:13:58ZDaniel Kochmańskireadme: add readme with instructions how to build and use clim-tosPer request from Steven.Per request from Steven.Working systemDaniel KochmańskiDaniel Kochmański2017-07-07https://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/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/14In Lisp Listener - sometimes an invalidated cached region seems to slip throu...2017-10-28T15:51:07ZJacek Złydachcommon-lisp.net@jacek.zlydach.plIn Lisp Listener - sometimes an invalidated cached region seems to slip through to CLIM-UTILS:LTRB-OVERLAPS-LTRB-PIt seems that cached regions and transformations are "invalidated" by setting their `left` slot to `NIL`. See `invalidate-cached-regions ((sheet sheet-transformation-mixin))` and `invalidate-cached-transformations ((sheet sheet-transform...It seems that cached regions and transformations are "invalidated" by setting their `left` slot to `NIL`. See `invalidate-cached-regions ((sheet sheet-transformation-mixin))` and `invalidate-cached-transformations ((sheet sheet-transformation-mixin))` methods in `silica/sheet.lisp`.
Somehow, this slips through the call to `sheet-device-region` and ends up crashing `compute-gcontext-clip-mask`.
To reproduce, fire up Lisp Listener demo, place your mouse pointer over the stream of TIMEOUTs, and just wait a while.
I marked some suspicious places with comment notes.
Condition with some context expanded:
```
The value
NIL
is not of type
REAL
[Condition of type TYPE-ERROR]
Restarts:
0: [ABORT] Return to Demo Driver command level
1: [NIL] Demo Driver top level
2: [NIL] Exit Demo Driver
3: [ABORT] abort thread (#<THREAD "Demo Driver" RUNNING {10023A8D53}>)
Backtrace:
0: (CLIM-UTILS:LTRB-OVERLAPS-LTRB-P NIL 3 941 1042 0 -44297 958 -43238)
Locals:
#:ARG00 = NIL
BOTTOM1 = 1042
BOTTOM2 = -43238
#:G29 = NIL
LEFT1 = NIL
LEFT2 = 0
SB-C::MAXREST = 0
RIGHT1 = 941
RIGHT2 = 958
TOP1 = 3
TOP2 = -44297
1: ((:METHOD CLX-CLIM::COMPUTE-GCONTEXT-CLIP-MASK (CLX-CLIM::CLX-MEDIUM)) #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>) [fast-method]
Locals:
CLX-CLIM::CBOTTOM#1 = 1042
CLX-CLIM::CLEFT#1 = NIL
CLX-CLIM::CRIGHT#1 = 941
CLX-CLIM::CTOP#1 = 3
#:G0 = NIL
CLX-CLIM::MBOTTOM = 1056
CLX-CLIM::MBOTTOM#1 = 1056
CLIM:MEDIUM = #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>
CLX-CLIM::MEDIUM-REGION = #<CLIM:STANDARD-BOUNDING-RECTANGLE /x -3:955 y -3:1056/ {100DCDFCD3}>
CLX-CLIM::MLEFT = -3
CLX-CLIM::MLEFT#1 = -3
CLX-CLIM::MRIGHT = 955
CLX-CLIM::MRIGHT#1 = 955
CLX-CLIM::MTOP = -3
CLX-CLIM::MTOP#1 = -3
CLIM:REGION = #<CLIM:STANDARD-BOUNDING-RECTANGLE /x NIL:941 y 3:1042/ {100FAF4163}>
CLIM:SHEET = #<CLIM:INTERACTOR-PANE {100D050483}>
2: ((:METHOD CLX-CLIM::CLX-DECODE-INK :AROUND (T CLX-CLIM::CLX-MEDIUM)) #<CLIM-UTILS:FLIPPING-INK #<CLIM Foreground> and #<CLIM Background> {1004F78FE3}> #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>) [fast-metho..
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL ..)
#:GCONTEXT = #<XLIB:GCONTEXT :0 37748768>
CLX-CLIM::INK = #<CLIM-UTILS:FLIPPING-INK #<CLIM Foreground> and #<CLIM Background> {1004F78FE3}>
CLX-CLIM::INK#1 = #<XLIB:GCONTEXT :0 37748768>
CLIM:MEDIUM = #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>
3: ((:METHOD CLIM:MEDIUM-DRAW-RECTANGLE* (CLX-CLIM::CLX-MEDIUM T T T T T)) #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}> 2 905 73 924 NIL) [fast-method]
Locals:
CLIM-UTILS:BOTTOM = 924
CLX-CLIM::DRAWABLE = #<XLIB:WINDOW :0 2400015>
CLX-CLIM::FILLED = NIL
CLX-CLIM::INK = #<CLIM-UTILS:FLIPPING-INK #<CLIM Foreground> and #<CLIM Background> {1004F78FE3}>
CLIM-UTILS:LEFT = 2
CLIM:LINE-STYLE = #<CLIM:STANDARD-LINE-STYLE Units normal, thickness 1, joint miter, cap butt, dashes NIL {1004F7E123}>
CLIM:MEDIUM = #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>
CLIM-UTILS:RIGHT = 73
CLIM:SHEET = #<CLIM:INTERACTOR-PANE {100D050483}>
CLIM-UTILS:TOP = 905
CLX-CLIM::TRANSFORM = #<CLIM-UTILS:TRANSLATION-TRANSFORMATION (3.0,-44294.0) {100FAF3BB3}>
4: ((FLET CALL-NEXT-METHOD :IN "/home/temporal/repos/franz/gramps-clim2/silica/graphics.lisp") #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}> -1 45199 70 45218 NIL)
Locals:
SB-PCL::.ARGS-TAIL. = NIL
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:MEDIUM-DRAW-RECTANGLE* (CLX-CLIM::CLX-MEDIUM T T T T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (6))
SB-PCL::CNM-ARGS = (#<CLX-CLIM::CLX-MEDIUM {100D6E28D3}> -1 45199 70 45218 NIL)
#:EMF-N-149 = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:MEDIUM-DRAW-RECTANGLE* (CLX-CLIM::CLX-MEDIUM T T T T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (6))
CLIM-SILICA::FILLED = NIL
CLIM-SILICA::FILLED#1 = NIL
#:G150 = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:MEDIUM-DRAW-RECTANGLE* (CLX-CLIM::CLX-MEDIUM T T T T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (6))
CLIM:MEDIUM = #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>
CLIM:MEDIUM#1 = #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>
CLIM-SILICA::X1 = -1
CLIM-SILICA::X1#1 = -1
CLIM-SILICA::X2 = 70
CLIM-SILICA::X2#1 = 70
CLIM-SILICA::Y1 = 45199
CLIM-SILICA::Y1#1 = 45199
CLIM-SILICA::Y2 = 45218
CLIM-SILICA::Y2#1 = 45218
5: ((:METHOD CLIM:MEDIUM-DRAW-RECTANGLE* :AROUND (CLIM:BASIC-MEDIUM T T T T T)) #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}> -1 45199 70 45218 NIL) [fast-method]
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:MEDIUM-DRAW-RECTANGLE* (CLX-CLIM::CLX-MEDIUM T T T T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (6))
CLIM-SILICA::FILLED = NIL
#:G187 = -1
#:G188 = 45199
#:G189 = 70
#:G190 = 45218
CLIM:MEDIUM = #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>
CLIM-SILICA::TRANSFORM#1 = #<CLIM-UTILS:IDENTITY-TRANSFORMATION {1004F66113}>
CLIM-SILICA::X1 = -1
CLIM-SILICA::X2 = 70
CLIM-SILICA::Y1 = 45199
CLIM-SILICA::Y2 = 45218
6: (CLIM-INTERNALS::DRAW-RECTANGLE-INTERNAL #<CLIM:INTERACTOR-PANE {100D050483}> 0 0 -1 45199 70 45218 #<CLIM-UTILS:FLIPPING-INK #<CLIM Foreground> and #<CLIM Background> {1004F78FE3}> #<CLIM:STANDARD-LI..
Locals:
BOTTOM = 45218
INK = #<CLIM-UTILS:FLIPPING-INK #<CLIM Foreground> and #<CLIM Background> {1004F78FE3}>
LEFT = -1
#:LETF-GLOBALLY-TEMP-79 = #<CLIM:STANDARD-LINE-STYLE Units normal, thickness 1, joint miter, cap butt, dashes NIL {1004F7E123}>
#:LETF-GLOBALLY-TEMP-80 = #<CLIM-UTILS:IDENTITY-TRANSFORMATION {1004F66113}>
#:LETF-GLOBALLY-TEMP-81 = #<CLIM-UTILS:FLIPPING-INK #<CLIM Foreground> and #<CLIM Background> {1004F78FE3}>
MEDIUM = #<CLX-CLIM::CLX-MEDIUM {100D6E28D3}>
RIGHT = 70
STREAM = #<CLIM:INTERACTOR-PANE {100D050483}>
STYLE = #<CLIM:STANDARD-LINE-STYLE Units normal, thickness 1, joint miter, cap butt, dashes NIL {1004F7E123}>
TOP = 45199
XOFF = 0
YOFF = 0
7: ((:METHOD CLIM:HIGHLIGHT-OUTPUT-RECORD (CLIM-INTERNALS::OUTPUT-RECORD-ELEMENT-MIXIN T T)) #<CLIM:STANDARD-PRESENTATION CLIM:EXPRESSION :TIMEOUT /x 0:70 y 45200:45218/ {100FAC5903}> #<CLIM:INTERACTOR-P..
Locals:
CLIM-UTILS:BOTTOM = 45218
CLIM-UTILS:BOTTOM#1 = 45218
CLIM-UTILS:LEFT = 0
CLIM-UTILS:LEFT#1 = 0
CLIM-INTERNALS::RECORD = #<CLIM:STANDARD-PRESENTATION CLIM:EXPRESSION :TIMEOUT /x 0:70 y 45200:45218/ {100FAC5903}>
CLIM-UTILS:RIGHT = 70
CLIM-UTILS:RIGHT#1 = 70
STREAM = #<CLIM:INTERACTOR-PANE {100D050483}>
CLIM-UTILS:TOP = 45200
CLIM-UTILS:TOP#1 = 45200
CLIM-INTERNALS::XOFF = 0
CLIM-INTERNALS::XOFF#1 = 0
CLIM-INTERNALS::YOFF = 0
CLIM-INTERNALS::YOFF#1 = 0
8: ((FLET CALL-NEXT-METHOD :IN "/home/temporal/repos/franz/gramps-clim2/clim/presentations.lisp"))
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:HIGHLIGHT-OUTPUT-RECORD (CLIM-INTERNALS::OUTPUT-RECORD-ELEMENT-MIXIN T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (3))
SB-PCL::CNM-ARGS = NIL
#:EMF-N-15 = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:HIGHLIGHT-OUTPUT-RECORD (CLIM-INTERNALS::OUTPUT-RECORD-ELEMENT-MIXIN T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (3))
#:G16 = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:HIGHLIGHT-OUTPUT-RECORD (CLIM-INTERNALS::OUTPUT-RECORD-ELEMENT-MIXIN T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (3))
CLIM-INTERNALS::RECORD = #<CLIM:STANDARD-PRESENTATION CLIM:EXPRESSION :TIMEOUT /x 0:70 y 45200:45218/ {100FAC5903}>
CLIM-INTERNALS::STATE = :UNHIGHLIGHT
STREAM = #<CLIM:INTERACTOR-PANE {100D050483}>
9: ((:METHOD CLIM:HIGHLIGHT-OUTPUT-RECORD :AROUND (CLIM:STANDARD-PRESENTATION T T)) #<CLIM:STANDARD-PRESENTATION CLIM:EXPRESSION :TIMEOUT /x 0:70 y 45200:45218/ {100FAC5903}> #<CLIM:INTERACTOR-PANE {100D..
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:HIGHLIGHT-OUTPUT-RECORD (CLIM-INTERNALS::OUTPUT-RECORD-ELEMENT-MIXIN T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (3))
CLIM-INTERNALS::RECORD = #<CLIM:STANDARD-PRESENTATION CLIM:EXPRESSION :TIMEOUT /x 0:70 y 45200:45218/ {100FAC5903}>
CLIM-INTERNALS::SINGLE-BOX = :HIGHLIGHTING
CLIM-INTERNALS::STATE = :UNHIGHLIGHT
STREAM = #<CLIM:INTERACTOR-PANE {100D050483}>
10: ((:METHOD CLIM:HIGHLIGHT-PRESENTATION-METHOD (T T T T T T T)) #<unused argument> #<unused argument> #<unused argument> #<unused argument> #<CLIM:STANDARD-PRESENTATION CLIM:EXPRESSION :TIMEOUT /x 0:70 ..
Locals:
CLIM-INTERNALS::RECORD = #<CLIM:STANDARD-PRESENTATION CLIM:EXPRESSION :TIMEOUT /x 0:70 y 45200:45218/ {100FAC5903}>
CLIM-INTERNALS::STATE = :UNHIGHLIGHT
STREAM = #<CLIM:INTERACTOR-PANE {100D050483}>
11: ((FLET CLIM-INTERNALS::WITH-OUTPUT-RECORDING-OPTIONS-BODY :IN CLIM:HIGHLIGHT-PRESENTATION))
12: ((:METHOD CLIM:INVOKE-WITH-OUTPUT-RECORDING-OPTIONS (CLIM-INTERNALS::OUTPUT-RECORDING-MIXIN T T T)) #<CLIM:INTERACTOR-PANE {100D050483}> #<CLOSURE (FLET CLIM-INTERNALS::WITH-OUTPUT-RECORDING-OPTIONS-B..
13: (CLIM:HIGHLIGHT-PRESENTATION #<CLIM:STANDARD-PRESENTATION CLIM:EXPRESSION :TIMEOUT /x 0:70 y 45200:45218/ {100FAC5903}> CLIM:EXPRESSION #<CLIM:INTERACTOR-PANE {100D050483}> :UNHIGHLIGHT)
14: (CLIM:UNHIGHLIGHT-HIGHLIGHTED-PRESENTATION #<CLIM:APPLICATION-PANE {10032BE633}> T)
15: (CLIM:ACCEPT-1 #<CLIM:APPLICATION-PANE {10032BE633}> (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::DEMO-DRIVER) :VIEW #<CLIM:TEXTUAL-VIEW {1004F66033}> :DEFAULT NIL :DEFAULT-TYPE NIL :HISTORY NIL :INSERT-DE..
16: ((:METHOD CLIM:STREAM-ACCEPT (CLIM-INTERNALS::INPUT-PROTOCOL-MIXIN T)) #<CLIM:APPLICATION-PANE {10032BE633}> (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::DEMO-DRIVER) :VIEW #<CLIM:TEXTUAL-VIEW {1004F66033}..
17: (CLIM:ACCEPT (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::DEMO-DRIVER) :STREAM #<CLIM:APPLICATION-PANE {10032BE633}> :PROMPT NIL)
18: (CLIM:ACCEPT (CLIM:COMMAND :COMMAND-TABLE CLIM-DEMO::DEMO-DRIVER) :STREAM #<CLIM:APPLICATION-PANE {10032BE633}> :PROMPT NIL) [more]
19: (CLIM:READ-COMMAND CLIM-DEMO::DEMO-DRIVER :STREAM #<CLIM:APPLICATION-PANE {10032BE633}> :COMMAND-PARSER NIL :COMMAND-UNPARSER NIL :PARTIAL-COMMAND-PARSER NIL :USE-KEYSTROKES NIL)
--more--
```Working systemhttps://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/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/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/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/19Issue with switching window on stumpwm2017-10-28T15:51:15ZJacek Złydachcommon-lisp.net@jacek.zlydach.plIssue with switching window on stumpwmAll the demo windows have this weird issue, in which if I try to switch to another window that's currently not visible, it's not displayed anymore - it becomes transparent/empty (but apparently exists for a while, until I switch away fro...All the demo windows have this weird issue, in which if I try to switch to another window that's currently not visible, it's not displayed anymore - it becomes transparent/empty (but apparently exists for a while, until I switch away from it - then it dies). This does NOT happen when I just kill the window or make it close itself normally - then the previous window, hiding underneath, becomes visible and fully operational.
I'm having trouble describing what the issue is, exactly, but it's totally 100% annoying. I'm not sure if anything similar happens in non-tiling WM's, e.g. with minimizing - gonna check that later. This issue will be renamed if I can identify the essence of the problem more precisely.
(Also, to be clear, it existed since the very first time we've managed to get something to be shown on screen; it's not a new issue.)Working systemhttps://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--
```