/[guile]/guile/guile-core/libguile/print.c
ViewVC logotype

Diff of /guile/guile-core/libguile/print.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.152 by dirk, Sun Sep 14 08:07:10 2003 UTC revision 1.153 by dirk, Tue Sep 16 17:37:56 2003 UTC
# Line 49  Line 49 
49   * This table must agree with the declarations in scm.h: {Immediate Symbols}.   * This table must agree with the declarations in scm.h: {Immediate Symbols}.
50   */   */
51    
52    /* This table must agree with the list of flags in tags.h.  */
53    static const char *iflagnames[] =
54    {
55      "#f",
56      "#t",
57      "#<undefined>",
58      "#<eof>",
59      "()",
60      "#<unspecified>",
61    
62      /* Unbound slot marker for GOOPS.  For internal use in GOOPS only.  */
63      "#<unbound>",
64    
65      /* Elisp nil value.  This is its Scheme name; whenever it's printed in
66       * Elisp, it should appear as the symbol `nil'.  */
67      "#nil"
68    };
69    
70    /* This table must agree with the list of SCM_IM_ constants in tags.h */
71  char *scm_isymnames[] =  char *scm_isymnames[] =
72  {  {
73    /* This table must agree with the list of SCM_IM_ constants in tags.h */    /* Short instructions */
74    
75    "#@and",    "#@and",
76    "#@begin",    "#@begin",
77    "#@case",    "#@case",
# Line 65  char *scm_isymnames[] = Line 85  char *scm_isymnames[] =
85    "#@or",    "#@or",
86    "#@quote",    "#@quote",
87    "#@set!",    "#@set!",
88    
89    
90      /* Long instructions */
91    
92    "#@define",    "#@define",
93    "#@apply",    "#@apply",
94    "#@call-with-current-continuation",    "#@call-with-current-continuation",
   
  /* user visible ISYMS */  
  /* other keywords */  
  /* Flags */  
   
   "#f",  
   "#t",  
   "#<undefined>",  
   "#<eof>",  
   "()",  
   "#<unspecified>",  
95    "#@dispatch",    "#@dispatch",
96    "#@slot-ref",    "#@slot-ref",
97    "#@slot-set!",    "#@slot-set!",
   
   /* Multi-language support */  
     
   "#@nil-cond",  
   "#@bind",  
     
98    "#@delay",    "#@delay",
99    "#@future",    "#@future",
100    "#@call-with-values",    "#@call-with-values",
101    
102    "#<unbound>",    /* Multi-language support */
103      "#@nil-cond",
104    /* Elisp nil value.  This is its Scheme name; whenever it's printed    "#@bind"
      in Elisp, it should appear as the symbol `nil'. */  
   
   "#nil"  
105  };  };
106    
107  scm_t_option scm_print_opts[] = {  scm_t_option scm_print_opts[] = {
# Line 434  scm_iprin1 (SCM exp, SCM port, scm_print Line 438  scm_iprin1 (SCM exp, SCM port, scm_print
438              scm_putc (i, port);              scm_putc (i, port);
439          }          }
440        else if (SCM_IFLAGP (exp)        else if (SCM_IFLAGP (exp)
441                   && ((size_t) SCM_IFLAGNUM (exp) < (sizeof iflagnames / sizeof (char *))))
442            {
443              scm_puts (iflagnames [SCM_IFLAGNUM (exp)], port);
444            }
445          else if (SCM_ISYMP (exp)
446                 && ((size_t) SCM_ISYMNUM (exp) < (sizeof scm_isymnames / sizeof (char *))))                 && ((size_t) SCM_ISYMNUM (exp) < (sizeof scm_isymnames / sizeof (char *))))
447            {
448            scm_puts (SCM_ISYMCHARS (exp), port);            scm_puts (SCM_ISYMCHARS (exp), port);
449            }
450        else if (SCM_ILOCP (exp))        else if (SCM_ILOCP (exp))
451          {          {
452            scm_puts ("#@", port);            scm_puts ("#@", port);

Legend:
Removed from v.1.152  
changed lines
  Added in v.1.153

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26