From 8cf81cc0646b920b4f528ac71eea027b073a9c4e Mon Sep 17 00:00:00 2001 From: Philippe Brochard Date: Wed, 8 Dec 2010 22:32:08 +0100 Subject: [PATCH] src/clfswm-second-mode.lisp (sm-leave-function): Do not use *second-mode-program* anymore. --- ChangeLog | 5 +++++ src/bindings-second-mode.lisp | 4 +++- src/clfswm-second-mode.lisp | 6 ------ src/clfswm-util.lisp | 4 +++- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0c41ce6..953e6df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-12-08 Philippe Brochard + + * src/clfswm-second-mode.lisp (sm-leave-function): Do not use + *second-mode-program* anymore. + 2010-12-07 Philippe Brochard * src/clfswm-second-mode.lisp (*second-mode-leave-function*): New diff --git a/src/bindings-second-mode.lisp b/src/bindings-second-mode.lisp index 5a7fb54..de63635 100644 --- a/src/bindings-second-mode.lisp +++ b/src/bindings-second-mode.lisp @@ -74,7 +74,9 @@ `(define-second-key ,key (defun ,name () ,docstring - (setf *second-mode-program* ,cmd) + (setf *second-mode-leave-function* (let ((cmd ,cmd)) + (lambda () + (do-shell cmd)))) (leave-second-mode)))) diff --git a/src/clfswm-second-mode.lisp b/src/clfswm-second-mode.lisp index 59819a7..de2d0c7 100644 --- a/src/clfswm-second-mode.lisp +++ b/src/clfswm-second-mode.lisp @@ -29,9 +29,6 @@ (defparameter *sm-font* nil) (defparameter *sm-gc* nil) -(defparameter *second-mode-program* nil - "Execute the program string if not nil") - (defparameter *second-mode-leave-function* nil "Execute the function if not nil") @@ -138,9 +135,6 @@ (show-all-children) (display-all-frame-info) (wait-no-key-or-button-press) - (when *second-mode-program* - (do-shell *second-mode-program*) - (setf *second-mode-program* nil)) (when *second-mode-leave-function* (funcall *second-mode-leave-function*) (setf *second-mode-leave-function* nil)) diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 1159816..c3c60c7 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -356,7 +356,9 @@ (multiple-value-bind (program return) (query-string "Run:") (when (and (equal return :return) program (not (equal program ""))) - (setf *second-mode-program* (concatenate 'string "cd $HOME && " program)) + (setf *second-mode-leave-function* (let ((cmd (concatenate 'string "cd $HOME && " program))) + (lambda () + (do-shell cmd)))) (leave-second-mode)))) -- 2.11.4.GIT