Merge commit 'dharmatech/master'

release
Slava Pestov 2007-11-26 18:21:29 -05:00
commit df28decfa4
5 changed files with 35 additions and 16 deletions

View File

@ -44,7 +44,10 @@ IN: raptor
! rcS.d
"mountvirtfs" start-service
"hostname.sh" start-service
! "hostname.sh" start-service
"narodnik" set-hostname
"keymap.sh" start-service
"linux-restricted-modules-common" start-service
"udev" start-service

View File

@ -6,8 +6,6 @@ IN: raptor
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: fork-exec-args-wait ( args -- ) [ first ] [ ] bi fork-exec-wait ;
: run-script ( path -- ) 1array [ fork-exec-args-wait ] curry in-thread ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

View File

@ -22,6 +22,8 @@ SYMBOL: networking-hook
: fork-exec-wait ( pathname args -- )
fork dup 0 = [ drop exec drop ] [ 2nip wait-for-pid drop ] if ;
: fork-exec-args-wait ( args -- ) [ first ] [ ] bi fork-exec-wait ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: forever ( quot -- ) [ call ] [ forever ] bi ;
@ -59,6 +61,10 @@ SYMBOL: swap-devices
: start-networking ( -- ) networking-hook get call ;
: set-hostname ( name -- ) `{ "/bin/hostname" , } fork-exec-args-wait ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: boot ( -- ) boot-hook get call ;
: reboot ( -- ) reboot-hook get call ;
: shutdown ( -- ) shutdown-hook get call ;

View File

@ -29,7 +29,8 @@ define-independent-class
<display> "create" !( name <display> -- display ) [
new-empty swap >>name
dup $name dup [ string>char-alien ] [ ] if XOpenDisplay >>ptr
dup $name dup [ string>char-alien ] [ ] if XOpenDisplay
dup [ >>ptr ] [ "XOpenDisplay error" throw ] if
dup $ptr XDefaultScreen >>default-screen
dup $ptr XDefaultRootWindow dupd <window> new >>default-root
dup $ptr over $default-screen XDefaultGC >>default-gc

View File

@ -113,13 +113,6 @@
(defvar factor-binary "/scratch/repos/Factor/factor")
(defvar factor-image "/scratch/repos/Factor/factor.image")
(defun run-factor ()
(interactive)
(switch-to-buffer
(make-comint-in-buffer "factor" nil factor-binary nil
(concat "-i=" factor-image)
"-run=listener")))
(defun factor-telnet-to-port (port)
(interactive "nPort: ")
(switch-to-buffer
@ -166,12 +159,30 @@
(beginning-of-line)
(insert "! "))
(defun factor-refresh-all ()
(interactive)
(comint-send-string "*factor*" "refresh-all\n"))
(define-key factor-mode-map "\C-c\C-f" 'factor-run-file)
(define-key factor-mode-map "\C-c\C-r" 'factor-send-region)
(define-key factor-mode-map "\C-c\C-s" 'factor-see)
(define-key factor-mode-map "\C-ce" 'factor-edit)
(define-key factor-mode-map "\C-ce" 'factor-edit)
(define-key factor-mode-map "\C-c\C-h" 'factor-help)
(define-key factor-mode-map "\C-cc" 'comment-region)
(define-key factor-mode-map [return] 'newline-and-indent)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; factor-listener-mode
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-derived-mode factor-listener-mode comint-mode "Factor Listener")
(define-key factor-listener-mode-map [f8] 'factor-refresh-all)
(defun run-factor ()
(interactive)
(switch-to-buffer
(make-comint-in-buffer "factor" nil factor-binary nil
(concat "-i=" factor-image)
"-run=listener"))
(factor-listener-mode))
(defun factor-refresh-all ()
(interactive)
(comint-send-string "*factor*" "refresh-all\n"))