branch: externals/poke
commit e363a2b11be2c76128c283db6358d86fa527ee00
Author: Jose E. Marchesi <[email protected]>
Commit: Jose E. Marchesi <[email protected]>

    poke.el: fix settings
    
    * emacs/poke.el (poke-setting-pretty-print): New variable.
    (poke-setting-omode): Likewise.
    (poke-settings-create-widgets): New function.
    (poke-settings): Likewise.
    (poke-exit): Kill buffer *poke-settings*.
---
 poke.el | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/poke.el b/poke.el
index 09d027d67a..959c424b1d 100644
--- a/poke.el
+++ b/poke.el
@@ -51,6 +51,11 @@
 (require 'poke-mode)
 (require 'widget)
 
+;;;; Configurable settings
+
+(defvar poke-setting-pretty-print "no")
+(defvar poke-setting-omode "plain")
+
 ;;;; First, some utilities
 
 (defun poke-decode-u64-le (seq)
@@ -948,12 +953,6 @@ fun plet_elval = (string s) void:
 
 ;;;; poke-settings
 
-;; Note the following default values must match
-;; of the default settings of poke. XXX set as default
-;; when starting.
-(defvar poke-setting-pretty-print "no")
-(defvar poke-setting-omode "plain")
-
 (defun poke-settings-create-widgets ()
   (kill-all-local-variables)
   (let ((inhibit-read-only t))
@@ -1045,6 +1044,16 @@ fun quit = void:
   plet_elval (\"(poke-exit)\");
 }")
 
+(defun poke-init-settings ()
+  (poke-code-send (concat "vm_set_omode ("
+                          (if (equal poke-setting-omode "plain")
+                              "VM_OMODE_PLAIN"
+                            "VM_OMODE_TREE")
+                          ");"))
+  (poke-code-send (concat "vm_set_opprint ("
+                          (if (equal poke-setting-pretty-print "yes")
+                              "1" "0")
+                          ");")))
 (defun poke ()
   (interactive)
   (when (not (process-live-p poke-poked-process))
@@ -1053,6 +1062,7 @@ fun quit = void:
     (sit-for 0.2))
   (poke-elval)
   (poke-code-send poke-pk)
+  (poke-init-settings)
   (poke-repl)
   (poke-vu)
   (delete-other-windows)
@@ -1074,4 +1084,5 @@ fun quit = void:
   (setq poke-repl-prompt poke-repl-default-prompt)
   (setq poke-ios-alist nil))
 
+(provide 'poke)
 ;;; poke.el ends here

Reply via email to