[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/poke e71f9cea1a 26/76: pkl: immutable declarations in c
From: |
ELPA Syncer |
Subject: |
[elpa] externals/poke e71f9cea1a 26/76: pkl: immutable declarations in compiler bootstrapping |
Date: |
Tue, 5 Apr 2022 14:59:34 -0400 (EDT) |
branch: externals/poke
commit e71f9cea1af218bf84daff81339366d9d9c66df4
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Commit: Jose E. Marchesi <jose.marchesi@oracle.com>
pkl: immutable declarations in compiler bootstrapping
2022-03-14 Jose E. Marchesi <jemarch@gnu.org>
* libpoke/pkl-env.c (_decl): Do not allow re-defining immutable
declarations.
* libpoke/pkl-rt.pk: Mark declarations as immutable.
* libpoke/pkl-tab.y: Allow IMMUTABLE declarations at the
top-level.
* libpoke/pkl-ast.c (pkl_ast_make_decl): Initialize immutable_p to
0.
(pkl_ast_print_1): Print immutable_p.
* libpoke/pkl-ast.h (PKL_AST_DECL_IMMUTABLE_P): Define.
(struct pkl_ast_decl): New field `immutable_p'.
* libpoke/pkl-tab.y: New token IMMUTABLE.
* libpoke/pkl-lex.l: Handle __IMMUTABLE__.
* testsuite/poke.pkl/immutable-func-1.pk: Likewise.
* testsuite/poke.pkl/immutable-diag-2.pk: Likewise.
* testsuite/poke.pkl/immutable-diag-1.pk: New test.
* testsuite/Makefile.am (EXTRA_DIST): Add new tests.
---
poke.el | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/poke.el b/poke.el
index 5d2ccd74ef..f5a6028adb 100644
--- a/poke.el
+++ b/poke.el
@@ -120,7 +120,7 @@
(setq poke-poked-process
(make-process :name "poked"
:buffer "*poked*"
- :command (list poke-poked-program)))
+ :command (list poke-poked-program "--debug")))
(set-process-query-on-exit-flag poke-poked-process nil)))
;;;; pokelet protocol
@@ -652,7 +652,7 @@ fun plet_elval = (string s) void:
*poke-ios* buffer."
(interactive)
(let ((ios-id (tabulated-list-get-id)))
- (poke-code-send "set_ios (" + (number-to-string ios-id) ")")))
+ (poke-code-send (concat "set_ios (" (number-to-string ios-id) ");"))))
(defun poke-ios-open (ios iohandler ioflags iosize)
(unless (assoc ios poke-ios-alist)
@@ -672,14 +672,18 @@ fun plet_elval = (string s) void:
(defun poke-ios-set (ios)
;; Select the right line in *poke-ios*.
+ ;; XXX
;; Change prompt in *poke-repl*.
(let ((ios-data (assoc ios poke-ios-alist)))
(when ios-data
- (poke-repl-set-prompt (concat "#!" (cadr ios-data) "!# ")))))
+ (poke-repl-set-prompt (concat "#!" (cadr ios-data) "!# "))))
+ ;; Update VU
+ (poke-vu-refresh))
(defvar poke-ios-mode-map
(let ((map (make-sparse-keymap)))
(define-key map [return] 'poke-ios-set-ios)
+ (define-key map (kbd "RET") 'poke-ios-set-ios)
map)
"Local keymap for `poke-ios-mode' buffers.")
@@ -733,7 +737,7 @@ fun plet_elval = (string s) void:
fun poke_el_banner = void:
{
/* XXX include libpoke version. */
- print \"Welcome to GNU poke.\\n\";
+ printf (\"Welcome to GNU poke %s.\\n\", poked_libpoke_version);
}
fun poke_el_ios_open = (int<32> ios) void:
@@ -797,11 +801,9 @@ fun quit = void:
(poke-code-send poke-pk)
(poke-repl)
(poke-vu)
- (poke-ios)
(delete-other-windows)
(switch-to-buffer "*poke-vu*")
(switch-to-buffer-other-window "*poke-out*")
- (switch-to-buffer-other-window "*poke-ios*")
(switch-to-buffer-other-window "*poke-repl*"))
(defun poke-exit ()
- [elpa] externals/poke 3e5e2cbc4a 07/76: poke.el: improve layout of windows, (continued)
- [elpa] externals/poke 3e5e2cbc4a 07/76: poke.el: improve layout of windows, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 72c5ec9ba3 10/76: poke.el: new function `quit', ELPA Syncer, 2022/04/05
- [elpa] externals/poke d9e55b8d64 03/76: poke.el: several fixes, ELPA Syncer, 2022/04/05
- [elpa] externals/poke e85c5fdcea 08/76: poke.el: accummulate output in poke-vu, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 4e7d779635 13/76: poke.el: convert poke-vu to new infrastructure, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 157431f80e 15/76: emacs.el: remove global state from poke-out, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 7851b82ef7 19/76: poke.el: require subr-ex, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 7bca885bb1 20/76: poke.el: use hooks ios_open_hook and ios_close_hook, ELPA Syncer, 2022/04/05
- [elpa] externals/poke f457341424 22/76: poke.el: command for setting the current IOS in the poke-ios, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 923ec644ba 24/76: poke.el: add size to poke-ios, ELPA Syncer, 2022/04/05
- [elpa] externals/poke e71f9cea1a 26/76: pkl: immutable declarations in compiler bootstrapping,
ELPA Syncer <=
- [elpa] externals/poke 224e283c86 27/76: poke.el: transmit flags in a string to poke-ios-open, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 2e6411d56a 29/76: poke.el: improvs, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 84ae4121b9 30/76: poke.el: get unibyte strings in pokelet processes, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 4743725592 34/76: poke.el: poke-code send command, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 14a8f278b1 37/76: poke.el: poke-settings buffer, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 0c410f656e 39/76: poke.el: factor settings code a bit, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 468f631988 43/76: poke.el: editor with values, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 47a7d4f84d 46/76: poke.el: window placement improvements, ELPA Syncer, 2022/04/05
- [elpa] externals/poke bb294de5b3 52/76: poke.el: select a line when creating IOS menu, ELPA Syncer, 2022/04/05
- [elpa] externals/poke 66fb149542 56/76: poke.el: command C-cV in repl to refresh the VU, ELPA Syncer, 2022/04/05