core: Remove make_keyword.
authorJan Nieuwenhuizen <janneke@gnu.org>
Fri, 23 Dec 2016 14:53:57 +0000 (15:53 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Fri, 23 Dec 2016 14:53:57 +0000 (15:53 +0100)
* mes.c (make_keyword): Remove.
* module/mes/read-0.mes (<cell:keyword>): New global.
  (read-word): Use it with make_cell instead fo make-keyword.
* strting.c (symbol_to_keyword): Use make_cell instead of make_keyword.

mes.c
module/mes/read-0.mes
string.c

diff --git a/mes.c b/mes.c
index ab9c6b66ec0f84a9ed49f03ede1380c9a3700587..c2a2cebba28a89ad49af41b99e7b3bca6eff0c67 100644 (file)
--- a/mes.c
+++ b/mes.c
@@ -693,15 +693,6 @@ make_function (SCM name, SCM id, SCM arity)
   return make_cell (tmp_num3, name, tmp_num4);
 }
 
-SCM
-make_keyword (SCM s)
-{
-  SCM x = lookup_symbol_ (s);
-  x = x ? x : make_symbol_ (s);
-  g_cells[tmp_num].value = KEYWORD;
-  return make_cell (tmp_num, STRING (x), 0);
-}
-
 SCM
 make_number (int x)
 {
index 699c42fe26e5dae37b29eddcb9a81a13eff5e45b..93b272a2a0203bcda98c87553cc19b2a423e5279 100644 (file)
   ;; * lookup in Scheme
   ;; * read characters, quote, strings
 
+  (define <cell:keyword> 2)
   (define (read)
     (read-word (read-byte) (list) (current-module)))
 
                   ((eq? (peek-byte) 39) (read-byte)
                    (cons (quote syntax) (cons (read-word (read-byte) w a) (list))))
                   ((eq? (peek-byte) 58) (read-byte)
-                   (make-keyword (symbol->list (read-word (read-byte) (list) a))))
+                   (make-cell <cell:keyword> (symbol->list (read-word (read-byte) (list) a)) 0))
                   ((eq? (peek-byte) 59) (read-byte)
                    (read-word (read-byte) w a)
                    (read-word (read-byte) w a))
index b62a4a9476e7d99e1945b30007db5a12c06e13c4..57550b24765d1727caeba398f96475b36c001737 100644 (file)
--- a/string.c
+++ b/string.c
@@ -122,5 +122,6 @@ SCM
 symbol_to_keyword (SCM x)
 {
   assert (TYPE (x) == SYMBOL);
-  return make_keyword (STRING (x));
+  g_cells[tmp_num].value = KEYWORD;
+  return make_cell (tmp_num, STRING (x), 0);
 }