From 6726ce66180c5a93b5bb532750d7839497451a38 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Mon, 27 Jun 2011 13:19:19 +0200 Subject: [PATCH] scel: use in-process library recompilation scel is modified to support in-process library recompilation. the key binding has slightly been changed: C-c C-l - recompile the library C-c C-o - restart the interpreter Signed-off-by: Tim Blechmann --- el/sclang-interp.el | 7 +++++++ el/sclang-mode.el | 4 +++- sc/extPlatform.sc | 10 +++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/el/sclang-interp.el b/el/sclang-interp.el index 5360409..600bb77 100644 --- a/el/sclang-interp.el +++ b/el/sclang-interp.el @@ -342,6 +342,13 @@ If EOB-P is non-nil, positions cursor at end of buffer." (sclang-kill) (sclang-release-command-fifo)) +(defun sclang-recompile () + "Recompile class library." + (interactive) + (when (sclang-get-process) + (process-send-string sclang-process "\x18") + )) + ;; ===================================================================== ;; command process ;; ===================================================================== diff --git a/el/sclang-mode.el b/el/sclang-mode.el index 0cf2683..0537e71 100644 --- a/el/sclang-mode.el +++ b/el/sclang-mode.el @@ -74,6 +74,7 @@ '( ["Start Interpreter" sclang-start :included (not (sclang-library-initialized-p))] ["Restart Interpreter" sclang-start :included (sclang-library-initialized-p)] + ["Recompile Class Library" sclang-recompile :included (sclang-library-initialized-p)] ["Stop Interpreter" sclang-stop :included (sclang-get-process)] ["Kill Interpreter" sclang-kill :included (sclang-get-process)] "-" @@ -107,7 +108,8 @@ (defun sclang-fill-mode-map (map) ;; process control - (define-key map "\C-c\C-l" 'sclang-start) + (define-key map "\C-c\C-l" 'sclang-recompile) + (define-key map "\C-c\C-o" 'sclang-start) ;; post buffer control (define-key map "\C-c<" 'sclang-clear-post-buffer) (define-key map "\C-c>" 'sclang-show-post-buffer) diff --git a/sc/extPlatform.sc b/sc/extPlatform.sc index bd9cd18..8e0a173 100644 --- a/sc/extPlatform.sc +++ b/sc/extPlatform.sc @@ -4,4 +4,12 @@ Emacs.evalLispExpression( "(sclang-start)" ); }; } -} \ No newline at end of file +} + ++ LinuxPlatform { + recompile{ + if ( this.hasFeature( \emacs ) ) { + Emacs.evalLispExpression( "(sclang-recompile)" ); + }; + } +}