Gentlemen,
I have been writing CLIM apps for years. I've use Symbolics CLIM and LispWorks CLIM. Code moves back and forth between these two with little difficulty. In the past when I tried McCLIM, I couldn't make it work.
I just tried it again. Is there a way to determine which version of McCLIM was loaded by QuickLisp? I tried it in both Clozure CL and SBCL. Neither worked, but each exhitited a different failure.
SBCL compiles and loads my code. When I start the app, once it displays the frame, the command menus show up in the menu bar, but they won't pop down.
Clozure CL compiles and loads my code. When I start the app, once it displays the frame, while the command menus will pop down, all of the items in the menu are grayed out, except the divider entries.
I also noticed that for both SBCL and Clozure CL, McCLIM had no support for Palettes. It failed when my code called make-palette and frame- manager-palette.
The app is just a toy that I want to use as the example for a book that I am writing about using CLIM.
I have attached a zip file of the source code. With the code unzipped, you can compile and load the app by loading system.lisp into your lisp environment. Its a fairly simple file to compile and load the files for the app.
Once the app is loaded you can start it by typing the form (cb:run-class-browser)
Incidently, it would be helpful if there was a feature symbol that was unique to McCLIM. So that I could distinguish between running in McCLIM and some other CLIM.
Craig
Hello Craig,
Craig Lanning writes:
Gentlemen,
I have been writing CLIM apps for years. I've use Symbolics CLIM and LispWorks CLIM. Code moves back and forth between these two with little difficulty. In the past when I tried McCLIM, I couldn't make it work.
I just tried it again. Is there a way to determine which version of McCLIM was loaded by QuickLisp? I tried it in both Clozure CL and SBCL. Neither worked, but each exhitited a different failure.
I'm glad to hear that you've tried it again. I expect that there is easier way to check the Quicklisp version, but if you look into the file quicklisp-directory/dists/quicklisp/releases.txt and search for a string mcclim you'll see something like this:
-- cut -- mcclim http://beta.quicklisp.org/archive/mcclim/2019-07-10/mcclim-20190710-git.tgz ... -- cut --
You can see there that it is a version cloned at 2019-07-10. Canonical repository is https://github.com/McCLIM/McCLIM/ so if you want to ensure the newest version clone it to your local-projects directory (or to one of asdf registory directories).
SBCL compiles and loads my code. When I start the app, once it displays the frame, the command menus show up in the menu bar, but they won't pop down.
Clozure CL compiles and loads my code. When I start the app, once it displays the frame, while the command menus will pop down, all of the items in the menu are grayed out, except the divider entries.
I can reproduce the result you've mentioned for CCL on SBCL. Note that I had to make changes to your code since it didn't run (:redisplay-function argument should be :display-function and a function name typo s/display-detail/display-details/). I didn't change anything else so far.
I also noticed that for both SBCL and Clozure CL, McCLIM had no support for Palettes. It failed when my code called make-palette and frame- manager-palette.
McCLIM implements CLIM II specification which doesn't specify what palettes are.
The app is just a toy that I want to use as the example for a book that I am writing about using CLIM.
I have attached a zip file of the source code. With the code unzipped, you can compile and load the app by loading system.lisp into your lisp environment. Its a fairly simple file to compile and load the files for the app.
Once the app is loaded you can start it by typing the form (cb:run-class-browser)
I've started the application (as noted above). If nobody replies during the weekend about why menu commands seem to be disables I'll try to debug it on Monday.
Incidently, it would be helpful if there was a feature symbol that was unique to McCLIM. So that I could distinguish between running in McCLIM and some other CLIM.
As it happens such feature symbol exists, it is `:mcclim'.
Craig
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
Thanks for your quick reply.
On Fri, 2019-10-11 at 21:37 +0200, Daniel Kochmański wrote:
Hello Craig,
Craig Lanning writes:
Gentlemen,
I have been writing CLIM apps for years. I've use Symbolics CLIM and LispWorks CLIM. Code moves back and forth between these two with little difficulty. In the past when I tried McCLIM, I couldn't make it work.
I just tried it again. Is there a way to determine which version of McCLIM was loaded by QuickLisp? I tried it in both Clozure CL and SBCL. Neither worked, but each exhitited a different failure.
I'm glad to hear that you've tried it again. I expect that there is easier way to check the Quicklisp version, but if you look into the file quicklisp-directory/dists/quicklisp/releases.txt and search for a string mcclim you'll see something like this:
-- cut -- mcclim http://beta.quicklisp.org/archive/mcclim/2019-07-10/mcclim-20190710-git.tgz ... -- cut --
You can see there that it is a version cloned at 2019-07-10. Canonical repository is https://github.com/McCLIM/McCLIM/ so if you want to ensure the newest version clone it to your local-projects directory (or to one of asdf registory directories).
SBCL compiles and loads my code. When I start the app, once it displays the frame, the command menus show up in the menu bar, but they won't pop down.
Clozure CL compiles and loads my code. When I start the app, once it displays the frame, while the command menus will pop down, all of the items in the menu are grayed out, except the divider entries.
I can reproduce the result you've mentioned for CCL on SBCL. Note that I had to make changes to your code since it didn't run (:redisplay-function argument should be :display-function and a function name typo s/display-detail/display-details/). I didn't change anything else so far.
I also noticed that for both SBCL and Clozure CL, McCLIM had no support for Palettes. It failed when my code called make-palette and frame- manager-palette.
McCLIM implements CLIM II specification which doesn't specify what palettes are.
That is interesting since that bit of code works on both the Symbolics CLIM and the LispWorks CLIM.
The code that Franz just released also has some stuff about Palettes.
I'll have to look back through the CLIM II spec to see if it mentions Palettes.
Palettes may have been something that was added after the 2.0 spec was released. I think that Symbolics' CLIM implementation was considered to be 2.1 and I don't know about LispWorks. I think that Franz implementation may have been 2.2.
The app is just a toy that I want to use as the example for a book that I am writing about using CLIM.
I have attached a zip file of the source code. With the code unzipped, you can compile and load the app by loading system.lisp into your lisp environment. Its a fairly simple file to compile and load the files for the app.
Once the app is loaded you can start it by typing the form (cb:run-class-browser)
I've started the application (as noted above). If nobody replies during the weekend about why menu commands seem to be disables I'll try to debug it on Monday.
Incidently, it would be helpful if there was a feature symbol that was unique to McCLIM. So that I could distinguish between running in McCLIM and some other CLIM.
As it happens such feature symbol exists, it is `:mcclim'.
Thanks, that is great. I guess I missed it when I looked through the list of symbols.
Craig
Craig
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
Daniel,
Attached is a modified version of my code that actually works in LispWorks CLIM. It probably needs some additional tweaking, but it works to a point.
Craig
On Fri, 2019-10-11 at 16:01 -0400, Craig Lanning wrote:
Thanks for your quick reply.
On Fri, 2019-10-11 at 21:37 +0200, Daniel Kochmański wrote:
Hello Craig,
Craig Lanning writes:
Gentlemen,
I have been writing CLIM apps for years. I've use Symbolics CLIM and LispWorks CLIM. Code moves back and forth between these two with little difficulty. In the past when I tried McCLIM, I couldn't make it work.
I just tried it again. Is there a way to determine which version of McCLIM was loaded by QuickLisp? I tried it in both Clozure CL and SBCL. Neither worked, but each exhitited a different failure.
I'm glad to hear that you've tried it again. I expect that there is easier way to check the Quicklisp version, but if you look into the file quicklisp-directory/dists/quicklisp/releases.txt and search for a string mcclim you'll see something like this:
-- cut -- mcclim
http://beta.quicklisp.org/archive/mcclim/2019-07-10/mcclim-20190710-git.tgz
... -- cut --
You can see there that it is a version cloned at 2019-07-10. Canonical repository is https://github.com/McCLIM/McCLIM/ so if you want to ensure the newest version clone it to your local-projects directory (or to one of asdf registory directories).
SBCL compiles and loads my code. When I start the app, once it displays the frame, the command menus show up in the menu bar, but they won't pop down.
Clozure CL compiles and loads my code. When I start the app, once it displays the frame, while the command menus will pop down, all of the items in the menu are grayed out, except the divider entries.
I can reproduce the result you've mentioned for CCL on SBCL. Note that I had to make changes to your code since it didn't run (:redisplay-function argument should be :display-function and a function name typo s/display-detail/display-details/). I didn't change anything else so far.
I also noticed that for both SBCL and Clozure CL, McCLIM had no support for Palettes. It failed when my code called make-palette and frame- manager-palette.
McCLIM implements CLIM II specification which doesn't specify what palettes are.
That is interesting since that bit of code works on both the Symbolics CLIM and the LispWorks CLIM.
The code that Franz just released also has some stuff about Palettes.
I'll have to look back through the CLIM II spec to see if it mentions Palettes.
Palettes may have been something that was added after the 2.0 spec was released. I think that Symbolics' CLIM implementation was considered to be 2.1 and I don't know about LispWorks. I think that Franz implementation may have been 2.2.
The app is just a toy that I want to use as the example for a book that I am writing about using CLIM.
I have attached a zip file of the source code. With the code unzipped, you can compile and load the app by loading system.lisp into your lisp environment. Its a fairly simple file to compile and load the files for the app.
Once the app is loaded you can start it by typing the form (cb:run-class-browser)
I've started the application (as noted above). If nobody replies during the weekend about why menu commands seem to be disables I'll try to debug it on Monday.
Incidently, it would be helpful if there was a feature symbol that was unique to McCLIM. So that I could distinguish between running in McCLIM and some other CLIM.
As it happens such feature symbol exists, it is `:mcclim'.
Thanks, that is great. I guess I missed it when I looked through the list of symbols.
Craig
Craig
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
Hello Craig,
I tried your code to see why the commands are disabled. I think this is due to the fact that the commands are not inserted in the command table:
-------- CB> (command-present-in-command-table-p 'com-show-info 'cb-file) NIL --------
Evidently Symbolics and Franz versions of macro define-command-table automatically add the commands in :menu argument to the command-table, mcclim version no.
So you need to add by hand the commands to command-table like that: --------- (add-command-to-command-table 'com-show-info 'cb-file) ---------
or use the :command-table name option in define command (for this you need to define the command-table before the command):
----------- (define-command (com-show-info :command-table cb-file) () ... ...) -----------------
Andrea De Michele
Craig Lanning craig.t.lanning@gmail.com writes:
Daniel,
Attached is a modified version of my code that actually works in LispWorks CLIM. It probably needs some additional tweaking, but it works to a point.
Craig
On Fri, 2019-10-11 at 16:01 -0400, Craig Lanning wrote:
Thanks for your quick reply.
On Fri, 2019-10-11 at 21:37 +0200, Daniel Kochmański wrote:
Hello Craig,
Craig Lanning writes:
Gentlemen,
I have been writing CLIM apps for years. I've use Symbolics CLIM and LispWorks CLIM. Code moves back and forth between these two with little difficulty. In the past when I tried McCLIM, I couldn't make it work.
I just tried it again. Is there a way to determine which version of McCLIM was loaded by QuickLisp? I tried it in both Clozure CL and SBCL. Neither worked, but each exhitited a different failure.
I'm glad to hear that you've tried it again. I expect that there is easier way to check the Quicklisp version, but if you look into the file quicklisp-directory/dists/quicklisp/releases.txt and search for a string mcclim you'll see something like this:
-- cut -- mcclim
http://beta.quicklisp.org/archive/mcclim/2019-07-10/mcclim-20190710-git.tgz
... -- cut --
You can see there that it is a version cloned at 2019-07-10. Canonical repository is https://github.com/McCLIM/McCLIM/ so if you want to ensure the newest version clone it to your local-projects directory (or to one of asdf registory directories).
SBCL compiles and loads my code. When I start the app, once it displays the frame, the command menus show up in the menu bar, but they won't pop down.
Clozure CL compiles and loads my code. When I start the app, once it displays the frame, while the command menus will pop down, all of the items in the menu are grayed out, except the divider entries.
I can reproduce the result you've mentioned for CCL on SBCL. Note that I had to make changes to your code since it didn't run (:redisplay-function argument should be :display-function and a function name typo s/display-detail/display-details/). I didn't change anything else so far.
I also noticed that for both SBCL and Clozure CL, McCLIM had no support for Palettes. It failed when my code called make-palette and frame- manager-palette.
McCLIM implements CLIM II specification which doesn't specify what palettes are.
That is interesting since that bit of code works on both the Symbolics CLIM and the LispWorks CLIM.
The code that Franz just released also has some stuff about Palettes.
I'll have to look back through the CLIM II spec to see if it mentions Palettes.
Palettes may have been something that was added after the 2.0 spec was released. I think that Symbolics' CLIM implementation was considered to be 2.1 and I don't know about LispWorks. I think that Franz implementation may have been 2.2.
The app is just a toy that I want to use as the example for a book that I am writing about using CLIM.
I have attached a zip file of the source code. With the code unzipped, you can compile and load the app by loading system.lisp into your lisp environment. Its a fairly simple file to compile and load the files for the app.
Once the app is loaded you can start it by typing the form (cb:run-class-browser)
I've started the application (as noted above). If nobody replies during the weekend about why menu commands seem to be disables I'll try to debug it on Monday.
Incidently, it would be helpful if there was a feature symbol that was unique to McCLIM. So that I could distinguish between running in McCLIM and some other CLIM.
As it happens such feature symbol exists, it is `:mcclim'.
Thanks, that is great. I guess I missed it when I looked through the list of symbols.
Craig
Craig
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
See below.
On Fri, 2019-10-11 at 20:31 -0400, Craig Lanning wrote:
Daniel,
Attached is a modified version of my code that actually works in LispWorks CLIM. It probably needs some additional tweaking, but it works to a point.
Craig
On Fri, 2019-10-11 at 16:01 -0400, Craig Lanning wrote:
Thanks for your quick reply.
On Fri, 2019-10-11 at 21:37 +0200, Daniel Kochmański wrote:
Hello Craig,
Craig Lanning writes:
Gentlemen,
I have been writing CLIM apps for years. I've use Symbolics CLIM and LispWorks CLIM. Code moves back and forth between these two with little difficulty. In the past when I tried McCLIM, I couldn't make it work.
I just tried it again. Is there a way to determine which version of McCLIM was loaded by QuickLisp? I tried it in both Clozure CL and SBCL. Neither worked, but each exhitited a different failure.
I'm glad to hear that you've tried it again. I expect that there is easier way to check the Quicklisp version, but if you look into the file quicklisp-directory/dists/quicklisp/releases.txt and search for a string mcclim you'll see something like this:
-- cut -- mcclim
http://beta.quicklisp.org/archive/mcclim/2019-07-10/mcclim-20190710-git.tgz
... -- cut --
You can see there that it is a version cloned at 2019-07-10. Canonical repository is https://github.com/McCLIM/McCLIM/ so if you want to ensure the newest version clone it to your local-projects directory (or to one of asdf registory directories).
SBCL compiles and loads my code. When I start the app, once it displays the frame, the command menus show up in the menu bar, but they won't pop down.
Clozure CL compiles and loads my code. When I start the app, once it displays the frame, while the command menus will pop down, all of the items in the menu are grayed out, except the divider entries.
I can reproduce the result you've mentioned for CCL on SBCL. Note that I had to make changes to your code since it didn't run (:redisplay-function argument should be :display-function and a function name typo s/display-detail/display-details/). I didn't change anything else so far.
I also noticed that for both SBCL and Clozure CL, McCLIM had no support for Palettes. It failed when my code called make-palette and frame- manager-palette.
McCLIM implements CLIM II specification which doesn't specify what palettes are.
That is interesting since that bit of code works on both the Symbolics CLIM and the LispWorks CLIM.
The code that Franz just released also has some stuff about Palettes.
I'll have to look back through the CLIM II spec to see if it mentions Palettes.
Palettes may have been something that was added after the 2.0 spec was released. I think that Symbolics' CLIM implementation was considered to be 2.1 and I don't know about LispWorks. I think that Franz implementation may have been 2.2.
The app is just a toy that I want to use as the example for a book that I am writing about using CLIM.
I have attached a zip file of the source code. With the code unzipped, you can compile and load the app by loading system.lisp into your lisp environment. Its a fairly simple file to compile and load the files for the app.
Once the app is loaded you can start it by typing the form (cb:run-class-browser)
I've started the application (as noted above). If nobody replies during the weekend about why menu commands seem to be disables I'll try to debug it on Monday.
Have you figured anything out about this issue?
Craig
Incidently, it would be helpful if there was a feature symbol that was unique to McCLIM. So that I could distinguish between running in McCLIM and some other CLIM.
As it happens such feature symbol exists, it is `:mcclim'.
Thanks, that is great. I guess I missed it when I looked through the list of symbols.
Craig
Craig
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
Hey,
Craig Lanning writes:
Have you figured anything out about this issue?
I think that reply from last Saturday on the mailing list from Andrea explains the issue:
I tried your code to see why the commands are disabled. I think this is due to the fact that the commands are not inserted in the command table:
CB> (command-present-in-command-table-p 'com-show-info 'cb-file) NIL
Evidently Symbolics and Franz versions of macro define-command-table automatically add the commands in :menu argument to the command-table, mcclim version no.
So you need to add by hand the commands to command-table like that:
(add-command-to-command-table 'com-show-info 'cb-file)
or use the :command-table name option in define command (for this you need to define the command-table before the command):
(define-command (com-show-info :command-table cb-file) () ... ...)
Jan also had few remarks on IRC (partially overlapping with the above):
jackdaniel if anyone feels like debugging why commands are disabled in a definition which looks fine at the first glance please take a look at https://mailman.common-lisp.net/pipermail/mcclim-devel/2019-October/002129.h... scymtym jackdaniel: the commands don't seem to be defined within any command table. adding e.g. :command-table cb-file enables the menu entries scymtym i haven't seen commands defined like that before scymtym the spec says without :command-table, the command will not be added to any command table. i would assume that makes the command not accessible in the menu command table scymtym this example programs assumes CLASS is a builtin presentation type and CLASS-NAME can be applied to slots scymtym it's pretty weird
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi