~ubuntu-branches/ubuntu/intrepid/ecl/intrepid

« back to all changes in this revision

Viewing changes to src/c/all_symbols.d

  • Committer: Bazaar Package Importer
  • Author(s): Peter Van Eynde
  • Date: 2006-06-21 09:21:21 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20060621092121-txz1f21lj0wh0f67
Tags: 0.9h-20060617-1
* New upstream version
* Updated standards version without real changes. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
67
67
                } else {
68
68
                        return NULL;
69
69
                }
70
 
                output->string.self[output->string.fillp++] = c;
 
70
                output->base_string.self[output->base_string.fillp++] = c;
71
71
        }
72
 
        return &output->string.self[output->string.fillp];
 
72
        return &output->base_string.self[output->base_string.fillp];
73
73
}
74
74
 
75
75
@(defun si::mangle-name (symbol &optional as_function)
88
88
                cl_fixnum p;
89
89
 
90
90
                if (symbol == Cnil)
91
 
                        @(return Ct make_constant_string("Cnil"))
 
91
                        @(return Ct make_constant_base_string("Cnil"))
92
92
                else if (symbol == Ct)
93
 
                        @(return Ct make_constant_string("Ct"))
 
93
                        @(return Ct make_constant_base_string("Ct"))
94
94
                p  = (cl_symbol_initializer*)symbol - cl_symbols;
95
95
                if (p >= 0 && p <= cl_num_symbols_in_core) {
96
96
                        found = Ct;
97
97
                        output = cl_format(4, Cnil,
98
 
                                           make_constant_string("ECL_SYM(~S,~D)"),
 
98
                                           make_constant_base_string("ECL_SYM(~S,~D)"),
99
99
                                           symbol->symbol.name, MAKE_FIXNUM(p));
100
100
                        @(return found output maxarg)
101
101
                }
120
120
        }
121
121
        package= symbol->symbol.hpack;
122
122
        if (package == cl_core.lisp_package)
123
 
                package = make_constant_string("cl");
 
123
                package = make_constant_base_string("cl");
124
124
        else if (package == cl_core.system_package)
125
 
                package = make_constant_string("si");
 
125
                package = make_constant_base_string("si");
126
126
        else if (package == cl_core.keyword_package)
127
127
                package = Cnil;
128
128
        else
129
129
                package = package->pack.name;
130
130
        symbol = symbol->symbol.name;
131
 
        l      = symbol->string.fillp;
132
 
        source = symbol->string.self;
133
 
        output = cl_alloc_simple_string(length(package) + l + 1);
 
131
        l      = symbol->base_string.fillp;
 
132
        source = symbol->base_string.self;
 
133
        output = cl_alloc_simple_base_string(length(package) + l + 1);
134
134
        if (is_symbol && source[0] == '*') {
135
135
                if (l > 2 && source[l-1] == '*') l--;
136
136
                c = 'V';
147
147
        } else {
148
148
                c = 'S';
149
149
        }
150
 
        output->string.fillp = 0;
 
150
        output->base_string.fillp = 0;
151
151
        if (!Null(package))
152
 
                if (!mangle_name(output, package->string.self, package->string.fillp))
 
152
                if (!mangle_name(output, package->base_string.self, package->base_string.fillp))
153
153
                        @(return Cnil Cnil maxarg)
154
 
        output->string.self[output->string.fillp++] = c;
 
154
        output->base_string.self[output->base_string.fillp++] = c;
155
155
        if (!(dest = mangle_name(output, source, l)))
156
156
                @(return Cnil Cnil maxarg)
157
157
        if (dest[-1] == '_')
196
196
        s->symbol.mflag = FALSE;
197
197
        s->symbol.isform = FALSE;
198
198
        s->symbol.hpack = package;
199
 
        s->symbol.name = make_constant_string(name);
 
199
        s->symbol.name = make_constant_base_string(name);
200
200
        if (package == cl_core.keyword_package) {
201
201
                sethash(s->symbol.name, package->pack.external, s);
202
202
                ECL_SET(s, s);