From xmm0 at xmm0.com Sun Jan 6 07:30:51 2008 From: xmm0 at xmm0.com (Jacob Oursland) Date: Sun, 6 Jan 2008 00:30:51 -0700 Subject: [climacs-devel] A couple questions Message-ID: Hey gang! I'd like to say how awesome Climacs is, particularly that it is as responsive now as Emacs is. Thanks for the hard work in that accomplishment!! But, I do have a couple questions: 1. What is the goal of Climacs? Is it to be an Emacs clone? Should elisp be the scripting language, or will it be an emacs-like tool? 2. I'm not particularly satisfied with the color scheme. I hack in Emacs using a color scheme rather similar to that of Turbo Pascal of the late 80s. Where are the color schemes defined? Is it in the files *-syntax.lisp? If so, is there currently a plan to make that less hard-coded and perhaps schemable? My current platform is Mac OS X 10.4.11 using SBCL (near latest cvs) with Christophe's CLX and cvs Climacs. This configuration doesn't seem to have working scroll bars, but neither does Emacs (not good ones, anyhow). :P -Jake From athas at sigkill.dk Sun Jan 6 08:09:18 2008 From: athas at sigkill.dk (Troels Henriksen) Date: Sun, 06 Jan 2008 09:09:18 +0100 Subject: [climacs-devel] A couple questions In-Reply-To: (Jacob Oursland's message of "Sun, 6 Jan 2008 00:30:51 -0700") References: Message-ID: <87lk73fk9d.fsf@lambda.athas.dyndns.dk> Jacob Oursland writes: > I'd like to say how awesome Climacs is, particularly that it is as > responsive now as Emacs is. Thanks for the hard work in that > accomplishment!! Thank you, I'm pretty excited by the new performance too. It's not actually as fast as Emacs yet (not even close, actually), but on modern hardware it might be hard to tell the difference. > But, I do have a couple questions: > 1. What is the goal of Climacs? Is it to be an Emacs clone? Should > elisp be the scripting language, or will it be an emacs-like tool? It is a general-purpose text editor modelled as Emacs, designed to be used as part of a Common Lisp development environment, and whatever else one might use an editor for. It is not an Emacs clone any more than it copies the overall concepts, though improving and modifying some that seem too old-fashioned. There is no point in writing a scripting language for Climacs, as it is written in Common Lisp - that language should be fully capable of extending Climacs. > 2. I'm not particularly satisfied with the color scheme. I hack in > Emacs using a color scheme rather similar to that of Turbo Pascal of > the late 80s. Where are the color schemes defined? Is it in the > files *-syntax.lisp? If so, is there currently a plan to make that > less hard-coded and perhaps schemable? Inability to set the colour scheme is not a design goal, but appearance configuration has not yet been implemented, as it has not been deemed that important. You can set the syntax highlighting colours for Lisp syntax rather easily, for example like this: (in-package :drei-lisp-syntax (let ((macro-drawing-options (make-drawing-options :face (make-face :style (make-text-style nil :bold nil))))) (make-syntax-highlighting-rules retro-highlighting (error-symbol (:face :ink +red+)) (string-form (:face :style (make-text-style nil :italic nil))) (comment (:face :style (make-text-style nil nil nil) :ink +dimgray+)) (literal-object-form (:options :function (object-drawer))) (complete-token-form (:function #'(lambda (syntax form) (cond ((symbol-form-is-macrobound-p syntax form) macro-drawing-options) (t +default-drawing-options+))))))) (setf *syntax-highlighting-rules* 'emacs-style-highlighting) Setting the overall background and foreground colours involve adding to the initargs of `climacs-pane' in climacs/gui.lisp. For example, :foreground-color +white+, :background-color +black+, IIRC. You might also want to look at how the `climacs:climacs-rv' function is implemented. If you want to create a more general approach to configuring the visual appearance, you are very welcome. > My current platform is Mac OS X 10.4.11 using SBCL (near latest cvs) > with Christophe's CLX and cvs Climacs. This configuration doesn't > seem to have working scroll bars, but neither does Emacs (not good > ones, anyhow). :P Indeed not, (vertical) scrolling is currently a bit of a hack, and doesn't go through the CLIM facilities. This is not a design goal, but getting scrolling properly fast and correct is not trivial, and it has thus not yet been done. -- \ Troels /\ Henriksen From strandh at labri.fr Sun Jan 6 09:40:44 2008 From: strandh at labri.fr (Robert Strandh) Date: Sun, 6 Jan 2008 10:40:44 +0100 Subject: [climacs-devel] A couple questions In-Reply-To: References: Message-ID: <18304.41500.456509.665757@serveur5.labri.fr> Jacob Oursland writes: > > I'd like to say how awesome Climacs is, particularly that it is as > responsive now as Emacs is. Thanks for the hard work in that > accomplishment!! All due to Troels Henriksen. > But, I do have a couple questions: > 1. What is the goal of Climacs? Is it to be an Emacs clone? Should > elisp be the scripting language, or will it be an emacs-like tool? Just to complement what Troels already wrote: I do not claim to be able to dictate the goal of Climacs especially since it is free software, but my initial goal was that NOT be an Emacs clone, but an improvement on Emacs in view of the tools that are now at our disposal (Common Lisp and CLIM/McCLIM) that were not available to RMS when he wrote GNU Emacs. In particular, I don't think there is any point in trying to make Climacs accept Elisp code. The API of Climacs is sufficiently different from that of GNU Emacs that this might be pretty hard, plus that Elisp is relatively primitive to Common Lisp, the native language of Climacs. The only reason one might want to be able to use Elisp would be to take advantage of lots of existing subsystems of Emacs such as Gnus and VM, but it has always been my opinion that those are subsystems of Emacs exactly because Common Lisp and CLIM/McCLIM were not available. I remain convinced that such subsystems should be written as general CLIM applications (possibly using the ESA library if an Emacs look-and-feel is desired) so that they can be integrated into a growing toolbox of collaborating CLIM applications. -- Robert Strandh --------------------------------------------------------------------- Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. --------------------------------------------------------------------- From rudi at constantly.at Wed Jan 23 11:04:44 2008 From: rudi at constantly.at (Rudi Schlatte) Date: Wed, 23 Jan 2008 19:04:44 +0800 Subject: [climacs-devel] Integrating climacs and clim-listener, via cl:ed Message-ID: <119E0A85-C982-4755-B13E-5488B2EB2833@constantly.at> Hi, The attached patch implements climacs:edit-file, with the same semantics as cl:ed, and integrates it with sbcl's sb-ext:*ed- functions*. Since the clim-listener calls ed for certain files, I can now invoke climacs by clicking on a text file in the listener. This makes me happy. (Thanks to Athas for discussion on #lisp, and the code for find- climacs-frame.) rudi -------------- next part -------------- A non-text attachment was scrubbed... Name: edit-file.diff Type: application/octet-stream Size: 4777 bytes Desc: not available URL: -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2419 bytes Desc: not available URL: From athas at sigkill.dk Wed Jan 23 18:17:51 2008 From: athas at sigkill.dk (Troels Henriksen) Date: Wed, 23 Jan 2008 19:17:51 +0100 Subject: [climacs-devel] Integrating climacs and clim-listener, via cl:ed In-Reply-To: <119E0A85-C982-4755-B13E-5488B2EB2833@constantly.at> (Rudi Schlatte's message of "Wed, 23 Jan 2008 19:04:44 +0800") References: <119E0A85-C982-4755-B13E-5488B2EB2833@constantly.at> Message-ID: <87k5m0mmnk.fsf@lambda.athas.dyndns.dk> Rudi Schlatte writes: > The attached patch implements climacs:edit-file, with the same > semantics as cl:ed, and integrates it with sbcl's sb-ext:*ed- > functions*. Since the clim-listener calls ed for certain files, I can > now invoke climacs by clicking on a text file in the listener. This > makes me happy. It makes me happy too! I committed your patch, excellent work. (Finding definitions of symbols is still slightly wonky, I think this is my fault though). -- \ Troels /\ Henriksen From strandh at labri.fr Mon Jan 28 06:14:30 2008 From: strandh at labri.fr (Robert Strandh) Date: Mon, 28 Jan 2008 07:14:30 +0100 Subject: [climacs-devel] Redisplay bug? Message-ID: <18333.29382.352762.753446@serveur5.labri.fr> In a fresh buffer (as a result of find-file on a file that doesn't exist), if I type a b c d e f g h C-p C-o C-k C-o the second line is no longer visible, until I either type C-k again, or C-l. Can anyone else reproduce this problem? -- Robert Strandh --------------------------------------------------------------------- Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. --------------------------------------------------------------------- From strandh at labri.fr Mon Jan 28 06:55:25 2008 From: strandh at labri.fr (Robert Strandh) Date: Mon, 28 Jan 2008 07:55:25 +0100 Subject: [climacs-devel] Strange behavior of C-l close to end of buffer Message-ID: <18333.31837.142543.474092@serveur5.labri.fr> Let M be the number of lines between the cursor and the end of the buffer, and let W be the number of lines that can be displayed in a window. When M is large, C-l displays the line with the cursor in the middle of the window, which is good. However, when the cursor is close to the end of the buffer (when M < W/2) this is no longer the case. It looks to me as if a sequence of C-l slowly converges to a situation where 2*M lines are displayed. I think it would be better if C-l would center the cursor in the window if possible. -- Robert Strandh --------------------------------------------------------------------- Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. --------------------------------------------------------------------- From athas at sigkill.dk Mon Jan 28 08:27:03 2008 From: athas at sigkill.dk (Troels Henriksen) Date: Mon, 28 Jan 2008 09:27:03 +0100 Subject: [climacs-devel] Redisplay bug? In-Reply-To: <18333.29382.352762.753446@serveur5.labri.fr> (Robert Strandh's message of "Mon, 28 Jan 2008 07:14:30 +0100") References: <18333.29382.352762.753446@serveur5.labri.fr> Message-ID: <87zluq5p9k.fsf@lambda.athas.dyndns.dk> Robert Strandh writes: > In a fresh buffer (as a result of find-file on a file that doesn't > exist), if I type > > a b c d e f g h C-p C-o C-k C-o > > the second line is no longer visible, until I either type C-k again, > or C-l. > > Can anyone else reproduce this problem? Nice catch. Due to the fact that the redisplay engine is highly nonconsing, some old line data was left over and made it think that the new line (the one that was moved down) was not, in fact, new. I ran into a similar bug with strokes at the end of a line earlier. Fixed in McCLIM CVS. -- \ Troels /\ Henriksen From athas at sigkill.dk Mon Jan 28 09:30:49 2008 From: athas at sigkill.dk (Troels Henriksen) Date: Mon, 28 Jan 2008 10:30:49 +0100 Subject: [climacs-devel] Strange behavior of C-l close to end of buffer In-Reply-To: <18333.31837.142543.474092@serveur5.labri.fr> (Robert Strandh's message of "Mon, 28 Jan 2008 07:55:25 +0100") References: <18333.31837.142543.474092@serveur5.labri.fr> Message-ID: <87tzky5mba.fsf@lambda.athas.dyndns.dk> Robert Strandh writes: > I think it would be better if C-l would center the cursor in the > window if possible. If anyone wants to take a swing at it, the function to be modified is REPOSITION-PANE in mcclim/Drei/drei-redisplay.lisp. Closely related are the page-up/page-down functions that currently do something equally strange. -- \ Troels /\ Henriksen