iForbid escaping clic loading with SIGINT - clic - Clic is an command line interactive client for gopher written in Common LISP Err bitreich.org 70 hgit clone git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/ URL:git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/ bitreich.org 70 1Log /scm/clic/log.gph bitreich.org 70 1Files /scm/clic/files.gph bitreich.org 70 1Refs /scm/clic/refs.gph bitreich.org 70 1Tags /scm/clic/tag bitreich.org 70 1README /scm/clic/file/README.md.gph bitreich.org 70 1LICENSE /scm/clic/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 22248dc9ab2895d7bcf8b3bcfcf76eb48ecc075f /scm/clic/commit/22248dc9ab2895d7bcf8b3bcfcf76eb48ecc075f.gph bitreich.org 70 1parent be4bf91b222d03b0de1c9c83ab2afccbfa41dc28 /scm/clic/commit/be4bf91b222d03b0de1c9c83ab2afccbfa41dc28.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Thu, 21 Jun 2018 11:05:17 +0200 Err bitreich.org 70 i Err bitreich.org 70 iForbid escaping clic loading with SIGINT Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M clic.lisp | 12 ++++++++---- Err bitreich.org 70 i M make-binary.lisp | 6 +++++- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 13 insertions(+), 5 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/clic.lisp b/clic.lisp /scm/clic/file/clic.lisp.gph bitreich.org 70 i@@ -571,10 +571,8 @@ Err bitreich.org 70 i ;; split and ask to scroll or to type a command Err bitreich.org 70 i (when (= row rows) Err bitreich.org 70 i (setf row 0) Err bitreich.org 70 i- (format t "~a~a press enter or a shell command ~a : " Err bitreich.org 70 i- (get-color 'bg-black) Err bitreich.org 70 i- (if *kiosk-mode* "KIOSK" "") Err bitreich.org 70 i- (get-color 'reset)) Err bitreich.org 70 i+ (format t "~a press enter or a shell command: " Err bitreich.org 70 i+ (if *kiosk-mode* "KIOSK" "")) Err bitreich.org 70 i (force-output) Err bitreich.org 70 i (let ((first-input (read-char *standard-input* nil nil t))) Err bitreich.org 70 i (cond Err bitreich.org 70 i@@ -735,7 +733,13 @@ Err bitreich.org 70 i with a parameter not of type 1, so it will fetch the content, Err bitreich.org 70 i display it and exit and finally, the redirected case where clic will Err bitreich.org 70 i print to stdout and exit." Err bitreich.org 70 i+ Err bitreich.org 70 i+ ;; pledge support on OpenBSD Err bitreich.org 70 i (c-pledge) Err bitreich.org 70 i+ Err bitreich.org 70 i+ ;; re-enable SIGINT (Ctrl+C) disabled for loading clic Err bitreich.org 70 i+ (ext:set-signal-handler ext:+sigint+ 'quit) Err bitreich.org 70 i+ Err bitreich.org 70 i (ignore-errors ;; lisp is magic Err bitreich.org 70 i (let ((destination (car (last Err bitreich.org 70 i (loop for element in (get-argv) Err bitreich.org 70 1diff --git a/make-binary.lisp b/make-binary.lisp /scm/clic/file/make-binary.lisp.gph bitreich.org 70 i@@ -7,7 +7,11 @@ Err bitreich.org 70 i #+ecl Err bitreich.org 70 i (progn Err bitreich.org 70 i (compile-file "clic.lisp" :system-p t) Err bitreich.org 70 i- (c:build-program "clic" :epilogue-code '(progn (handler-case (main) (condition () (quit)))) :lisp-files '("clic.o"))) Err bitreich.org 70 i+ (c:build-program "clic" Err bitreich.org 70 i+ :prologue-code '(ext:set-signal-handler ext:+sigint+ nil) Err bitreich.org 70 i+ :epilogue-code '(progn (handler-case (main) Err bitreich.org 70 i+ (condition () (quit)))) Err bitreich.org 70 i+ :lisp-files '("clic.o"))) Err bitreich.org 70 i Err bitreich.org 70 i (format t "INFO => Compilation done (or at least it should be)~%") Err bitreich.org 70 i (quit) Err bitreich.org 70 .