Develop and Download Open Source Software

Browse CVS Repository

Contents of /shiki/shiki/xyzzylisp.c

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.8 - (show annotations) (download) (as text)
Mon Nov 27 12:01:50 2006 UTC (17 years, 4 months ago) by aloha
Branch: MAIN
Changes since 1.7: +187 -0 lines
File MIME type: text/x-csrc
add some xyzzy lisp API

1 /* Generated by genstub. Do not edit. */
2 #include <gauche.h>
3 #if defined(__CYGWIN__) || defined(__MINGW32__)
4 #define SCM_CGEN_CONST /*empty*/
5 #else
6 #define SCM_CGEN_CONST const
7 #endif
8 #include "shiki.h"
9 static ScmObj xyzzylisp_bufferp(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
10 {
11 ScmObj buffer_scm;
12 ScmObj buffer;
13 SCM_ENTER_SUBR("bufferp");
14 buffer_scm = SCM_ARGREF(0);
15 buffer = (buffer_scm);
16 {
17 {
18 int SCM_RESULT;
19 SCM_RESULT = SHIKI_BUFFER_P(buffer);
20 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
21 }
22 }
23 }
24
25 static SCM_DEFINE_STRING_CONST(xyzzylisp_bufferp__NAME, "bufferp", 7, 7);
26 static SCM_DEFINE_SUBR(xyzzylisp_bufferp__STUB, 1, 0, SCM_OBJ(&xyzzylisp_bufferp__NAME), xyzzylisp_bufferp, NULL, NULL);
27
28 static ScmObj xyzzylisp_selected_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
29 {
30 SCM_ENTER_SUBR("selected-buffer");
31 {
32 {
33 GtkTextBuffer* SCM_RESULT;
34 g_object_ref(Shiki_CURRENT_TEXT_BUFFER);
35 SCM_RESULT = Shiki_CURRENT_TEXT_BUFFER;
36 SCM_RETURN(SHIKI_BUFFER_BOX(SCM_RESULT));
37 }
38 }
39 }
40
41 static SCM_DEFINE_STRING_CONST(xyzzylisp_selected_buffer__NAME, "selected-buffer", 15, 15);
42 static SCM_DEFINE_SUBR(xyzzylisp_selected_buffer__STUB, 0, 0, SCM_OBJ(&xyzzylisp_selected_buffer__NAME), xyzzylisp_selected_buffer, NULL, NULL);
43
44 static ScmObj xyzzylisp_get_next_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
45 {
46 ScmObj buffer_scm;
47 ScmObj buffer;
48 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
49 SCM_ENTER_SUBR("get-next-buffer");
50 if (Scm_Length(SCM_OPTARGS) > 1)
51 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
52 if (SCM_NULLP(SCM_OPTARGS)) buffer_scm = SCM_UNBOUND;
53 else {
54 buffer_scm = SCM_CAR(SCM_OPTARGS);
55 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
56 }
57 buffer = (buffer_scm);
58 {
59 {
60 GtkTextBuffer* SCM_RESULT;
61 if(buffer == SCM_UNBOUND)
62 SCM_RESULT = Shiki_get_next_buffer(Shiki_CURRENT_TEXT_BUFFER);
63 else if(SHIKI_BUFFER_P(buffer))
64 SCM_RESULT = Shiki_get_next_buffer(SHIKI_BUFFER_UNBOX(buffer));
65 else
66 Scm_Error("buffer required, but got %S", buffer);
67 if(SCM_RESULT)
68 g_object_ref(SCM_RESULT);
69 SCM_RETURN(SHIKI_BUFFER_BOX(SCM_RESULT));
70 }
71 }
72 }
73
74 static SCM_DEFINE_STRING_CONST(xyzzylisp_get_next_buffer__NAME, "get-next-buffer", 15, 15);
75 static SCM_DEFINE_SUBR(xyzzylisp_get_next_buffer__STUB, 0, 1, SCM_OBJ(&xyzzylisp_get_next_buffer__NAME), xyzzylisp_get_next_buffer, NULL, NULL);
76
77 static ScmObj xyzzylisp_buffer_lines(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
78 {
79 ScmObj buffer_scm;
80 ScmObj buffer;
81 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
82 SCM_ENTER_SUBR("buffer-lines");
83 if (Scm_Length(SCM_OPTARGS) > 1)
84 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
85 if (SCM_NULLP(SCM_OPTARGS)) buffer_scm = SCM_UNBOUND;
86 else {
87 buffer_scm = SCM_CAR(SCM_OPTARGS);
88 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
89 }
90 buffer = (buffer_scm);
91 {
92 {
93 int SCM_RESULT;
94 if(buffer == SCM_UNBOUND)
95 SCM_RESULT = gtk_text_buffer_get_line_count(Shiki_CURRENT_TEXT_BUFFER);
96 else if(SHIKI_BUFFER_P(buffer))
97 SCM_RESULT = gtk_text_buffer_get_line_count(SHIKI_BUFFER_UNBOX(buffer));
98 else
99 Scm_Error("buffer required, but got %S", buffer);
100 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
101 }
102 }
103 }
104
105 static SCM_DEFINE_STRING_CONST(xyzzylisp_buffer_lines__NAME, "buffer-lines", 12, 12);
106 static SCM_DEFINE_SUBR(xyzzylisp_buffer_lines__STUB, 0, 1, SCM_OBJ(&xyzzylisp_buffer_lines__NAME), xyzzylisp_buffer_lines, NULL, NULL);
107
108 static ScmObj xyzzylisp_buffer_size(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
109 {
110 ScmObj buffer_scm;
111 ScmObj buffer;
112 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
113 SCM_ENTER_SUBR("buffer-size");
114 if (Scm_Length(SCM_OPTARGS) > 1)
115 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
116 if (SCM_NULLP(SCM_OPTARGS)) buffer_scm = SCM_UNBOUND;
117 else {
118 buffer_scm = SCM_CAR(SCM_OPTARGS);
119 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
120 }
121 buffer = (buffer_scm);
122 {
123 {
124 int SCM_RESULT;
125 if(buffer == SCM_UNBOUND)
126 SCM_RESULT = gtk_text_buffer_get_char_count(Shiki_CURRENT_TEXT_BUFFER);
127 else if(SHIKI_BUFFER_P(buffer))
128 SCM_RESULT = gtk_text_buffer_get_char_count(SHIKI_BUFFER_UNBOX(buffer));
129 else
130 Scm_Error("buffer required, but got %S", buffer);
131 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
132 }
133 }
134 }
135
136 static SCM_DEFINE_STRING_CONST(xyzzylisp_buffer_size__NAME, "buffer-size", 11, 11);
137 static SCM_DEFINE_SUBR(xyzzylisp_buffer_size__STUB, 0, 1, SCM_OBJ(&xyzzylisp_buffer_size__NAME), xyzzylisp_buffer_size, NULL, NULL);
138
139 static ScmObj xyzzylisp_erase_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
140 {
141 ScmObj buffer_scm;
142 ScmObj buffer;
143 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
144 SCM_ENTER_SUBR("erase-buffer");
145 if (Scm_Length(SCM_OPTARGS) > 1)
146 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
147 if (SCM_NULLP(SCM_OPTARGS)) buffer_scm = SCM_UNBOUND;
148 else {
149 buffer_scm = SCM_CAR(SCM_OPTARGS);
150 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
151 }
152 buffer = (buffer_scm);
153 {
154 if(buffer == SCM_UNBOUND)
155 Shiki_erase_buffer(Shiki_CURRENT_TEXT_BUFFER);
156 else if(SHIKI_BUFFER_P(buffer))
157 Shiki_erase_buffer(SHIKI_BUFFER_UNBOX(buffer));
158 else
159 Scm_Error("buffer required, but got %S", buffer);
160 SCM_RETURN(SCM_UNDEFINED);
161 }
162 }
163
164 static SCM_DEFINE_STRING_CONST(xyzzylisp_erase_buffer__NAME, "erase-buffer", 12, 12);
165 static SCM_DEFINE_SUBR(xyzzylisp_erase_buffer__STUB, 0, 1, SCM_OBJ(&xyzzylisp_erase_buffer__NAME), xyzzylisp_erase_buffer, NULL, NULL);
166
167 static ScmObj xyzzylisp_delete_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
168 {
169 ScmObj buffer_scm;
170 ScmObj buffer;
171 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
172 SCM_ENTER_SUBR("delete-buffer");
173 if (Scm_Length(SCM_OPTARGS) > 1)
174 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
175 if (SCM_NULLP(SCM_OPTARGS)) buffer_scm = SCM_UNBOUND;
176 else {
177 buffer_scm = SCM_CAR(SCM_OPTARGS);
178 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
179 }
180 buffer = (buffer_scm);
181 {
182 if(buffer == SCM_UNBOUND)
183 Shiki_delete_buffer(Shiki_CURRENT_TEXT_BUFFER);
184 else if(SHIKI_BUFFER_P(buffer))
185 Shiki_delete_buffer(SHIKI_BUFFER_UNBOX(buffer));
186 else
187 Scm_Error("buffer required, but got %S", buffer);
188 SCM_RETURN(SCM_UNDEFINED);
189 }
190 }
191
192 static SCM_DEFINE_STRING_CONST(xyzzylisp_delete_buffer__NAME, "delete-buffer", 13, 13);
193 static SCM_DEFINE_SUBR(xyzzylisp_delete_buffer__STUB, 0, 1, SCM_OBJ(&xyzzylisp_delete_buffer__NAME), xyzzylisp_delete_buffer, NULL, NULL);
194
195 static ScmObj xyzzylisp_find_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
196 {
197 ScmObj buffer_name_scm;
198 const char * buffer_name;
199 SCM_ENTER_SUBR("find-buffer");
200 buffer_name_scm = SCM_ARGREF(0);
201 if (!SCM_STRINGP(buffer_name_scm)) Scm_Error("const C string required, but got %S", buffer_name_scm);
202 buffer_name = SCM_STRING_CONST_CSTRING(buffer_name_scm);
203 {
204 {
205 GtkTextBuffer* SCM_RESULT;
206 SCM_RESULT = Shiki_find_buffer(buffer_name);
207 SCM_RETURN(SCM_MAKE_MAYBE(SHIKI_BUFFER_BOX, SCM_RESULT));
208 }
209 }
210 }
211
212 static SCM_DEFINE_STRING_CONST(xyzzylisp_find_buffer__NAME, "find-buffer", 11, 11);
213 static SCM_DEFINE_SUBR(xyzzylisp_find_buffer__STUB, 1, 0, SCM_OBJ(&xyzzylisp_find_buffer__NAME), xyzzylisp_find_buffer, NULL, NULL);
214
215 static ScmObj xyzzylisp_new_buffer_create(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
216 {
217 ScmObj buffer_name_scm;
218 const char * buffer_name;
219 SCM_ENTER_SUBR("new-buffer-create");
220 buffer_name_scm = SCM_ARGREF(0);
221 if (!SCM_STRINGP(buffer_name_scm)) Scm_Error("const C string required, but got %S", buffer_name_scm);
222 buffer_name = SCM_STRING_CONST_CSTRING(buffer_name_scm);
223 {
224 {
225 GtkTextBuffer* SCM_RESULT;
226 SCM_RESULT = (Shiki_new_buffer_create(g_strdup(buffer_name)));
227 SCM_RETURN(SHIKI_BUFFER_BOX(SCM_RESULT));
228 }
229 }
230 }
231
232 static SCM_DEFINE_STRING_CONST(xyzzylisp_new_buffer_create__NAME, "new-buffer-create", 17, 17);
233 static SCM_DEFINE_SUBR(xyzzylisp_new_buffer_create__STUB, 1, 0, SCM_OBJ(&xyzzylisp_new_buffer_create__NAME), xyzzylisp_new_buffer_create, NULL, NULL);
234
235 static ScmObj xyzzylisp_count_buffers(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
236 {
237 SCM_ENTER_SUBR("count-buffers");
238 {
239 {
240 int SCM_RESULT;
241 SCM_RESULT = (g_list_length(Shiki_EDITOR_BUFFER_LIST));
242 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
243 }
244 }
245 }
246
247 static SCM_DEFINE_STRING_CONST(xyzzylisp_count_buffers__NAME, "count-buffers", 13, 13);
248 static SCM_DEFINE_SUBR(xyzzylisp_count_buffers__STUB, 0, 0, SCM_OBJ(&xyzzylisp_count_buffers__NAME), xyzzylisp_count_buffers, NULL, NULL);
249
250 static ScmObj xyzzylisp_get_previous_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
251 {
252 ScmObj buffer_scm;
253 ScmObj buffer;
254 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
255 SCM_ENTER_SUBR("get-previous-buffer");
256 if (Scm_Length(SCM_OPTARGS) > 1)
257 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
258 if (SCM_NULLP(SCM_OPTARGS)) buffer_scm = SCM_UNBOUND;
259 else {
260 buffer_scm = SCM_CAR(SCM_OPTARGS);
261 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
262 }
263 buffer = (buffer_scm);
264 {
265 {
266 GtkTextBuffer* SCM_RESULT;
267 if(buffer == SCM_UNBOUND)
268 SCM_RESULT = Shiki_get_previous_buffer(Shiki_CURRENT_TEXT_BUFFER);
269 else if(SHIKI_BUFFER_P(buffer))
270 SCM_RESULT = Shiki_get_previous_buffer(SHIKI_BUFFER_UNBOX(buffer));
271 else
272 Scm_Error("buffer required, but got %S", buffer);
273 if(SCM_RESULT)
274 g_object_ref(SCM_RESULT);
275 SCM_RETURN(SHIKI_BUFFER_BOX(SCM_RESULT));
276 }
277 }
278 }
279
280 static SCM_DEFINE_STRING_CONST(xyzzylisp_get_previous_buffer__NAME, "get-previous-buffer", 19, 19);
281 static SCM_DEFINE_SUBR(xyzzylisp_get_previous_buffer__STUB, 0, 1, SCM_OBJ(&xyzzylisp_get_previous_buffer__NAME), xyzzylisp_get_previous_buffer, NULL, NULL);
282
283 static ScmObj xyzzylisp_buffer_list(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
284 {
285 SCM_ENTER_SUBR("buffer-list");
286 {
287 {
288 ScmObj SCM_RESULT;
289 SCM_RESULT = Shiki_buffer_list();
290 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
291 }
292 }
293 }
294
295 static SCM_DEFINE_STRING_CONST(xyzzylisp_buffer_list__NAME, "buffer-list", 11, 11);
296 static SCM_DEFINE_SUBR(xyzzylisp_buffer_list__STUB, 0, 0, SCM_OBJ(&xyzzylisp_buffer_list__NAME), xyzzylisp_buffer_list, NULL, NULL);
297
298 static ScmObj xyzzylisp_next_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
299 {
300 SCM_ENTER_SUBR("next-buffer");
301 {
302 gtk_notebook_next_page(Shiki_EDITOR_NOTEBOOK);
303 SCM_RETURN(SCM_UNDEFINED);
304 }
305 }
306
307 static SCM_DEFINE_STRING_CONST(xyzzylisp_next_buffer__NAME, "next-buffer", 11, 11);
308 static SCM_DEFINE_SUBR(xyzzylisp_next_buffer__STUB, 0, 0, SCM_OBJ(&xyzzylisp_next_buffer__NAME), xyzzylisp_next_buffer, NULL, NULL);
309
310 static ScmObj xyzzylisp_previous_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
311 {
312 SCM_ENTER_SUBR("previous-buffer");
313 {
314 gtk_notebook_prev_page(Shiki_EDITOR_NOTEBOOK);
315 SCM_RETURN(SCM_UNDEFINED);
316 }
317 }
318
319 static SCM_DEFINE_STRING_CONST(xyzzylisp_previous_buffer__NAME, "previous-buffer", 15, 15);
320 static SCM_DEFINE_SUBR(xyzzylisp_previous_buffer__STUB, 0, 0, SCM_OBJ(&xyzzylisp_previous_buffer__NAME), xyzzylisp_previous_buffer, NULL, NULL);
321
322 static ScmObj xyzzylisp_buffer_name(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
323 {
324 ScmObj buffer_scm;
325 GtkTextBuffer* buffer;
326 SCM_ENTER_SUBR("buffer-name");
327 buffer_scm = SCM_ARGREF(0);
328 if (!SHIKI_BUFFER_P(buffer_scm)) Scm_Error("buffer required, but got %S", buffer_scm);
329 buffer = SHIKI_BUFFER_UNBOX(buffer_scm);
330 {
331 {
332 const char * SCM_RESULT;
333 SCM_RESULT = (Shiki_buffer_name(buffer));
334 SCM_RETURN(SCM_MAKE_MAYBE(SCM_MAKE_STR_COPYING, SCM_RESULT));
335 }
336 }
337 }
338
339 static SCM_DEFINE_STRING_CONST(xyzzylisp_buffer_name__NAME, "buffer-name", 11, 11);
340 static SCM_DEFINE_SUBR(xyzzylisp_buffer_name__STUB, 1, 0, SCM_OBJ(&xyzzylisp_buffer_name__NAME), xyzzylisp_buffer_name, NULL, NULL);
341
342 static ScmObj xyzzylisp_deleted_buffer_p(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
343 {
344 ScmObj buffer_scm;
345 GtkTextBuffer* buffer;
346 SCM_ENTER_SUBR("deleted-buffer-p");
347 buffer_scm = SCM_ARGREF(0);
348 if (!SHIKI_BUFFER_P(buffer_scm)) Scm_Error("buffer required, but got %S", buffer_scm);
349 buffer = SHIKI_BUFFER_UNBOX(buffer_scm);
350 {
351 {
352 int SCM_RESULT;
353 SCM_RESULT = (Shiki_deleted_buffer_p(buffer));
354 SCM_RETURN(SCM_MAKE_MAYBE(SCM_MAKE_BOOL, SCM_RESULT));
355 }
356 }
357 }
358
359 static SCM_DEFINE_STRING_CONST(xyzzylisp_deleted_buffer_p__NAME, "deleted-buffer-p", 16, 16);
360 static SCM_DEFINE_SUBR(xyzzylisp_deleted_buffer_p__STUB, 1, 0, SCM_OBJ(&xyzzylisp_deleted_buffer_p__NAME), xyzzylisp_deleted_buffer_p, NULL, NULL);
361
362 static ScmObj xyzzylisp_buffer_modified_p(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
363 {
364 ScmObj buffer_scm;
365 ScmObj buffer;
366 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
367 SCM_ENTER_SUBR("buffer-modified-p");
368 if (Scm_Length(SCM_OPTARGS) > 1)
369 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
370 if (SCM_NULLP(SCM_OPTARGS)) buffer_scm = SCM_UNBOUND;
371 else {
372 buffer_scm = SCM_CAR(SCM_OPTARGS);
373 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
374 }
375 buffer = (buffer_scm);
376 {
377 {
378 int SCM_RESULT;
379 if(buffer == SCM_UNBOUND)
380 SCM_RESULT = gtk_text_buffer_get_modified(Shiki_CURRENT_TEXT_BUFFER);
381 else if(SHIKI_BUFFER_P(buffer))
382 SCM_RESULT = gtk_text_buffer_get_modified(SHIKI_BUFFER_UNBOX(buffer));
383 else
384 Scm_Error("buffer required, but got %S", buffer);
385 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
386 }
387 }
388 }
389
390 static SCM_DEFINE_STRING_CONST(xyzzylisp_buffer_modified_p__NAME, "buffer-modified-p", 17, 17);
391 static SCM_DEFINE_SUBR(xyzzylisp_buffer_modified_p__STUB, 0, 1, SCM_OBJ(&xyzzylisp_buffer_modified_p__NAME), xyzzylisp_buffer_modified_p, NULL, NULL);
392
393 static ScmObj xyzzylisp_buffer_substring(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
394 {
395 ScmObj start_scm;
396 int start;
397 ScmObj end_scm;
398 int end;
399 SCM_ENTER_SUBR("buffer-substring");
400 start_scm = SCM_ARGREF(0);
401 if (!SCM_EXACTP(start_scm)) Scm_Error("C integer required, but got %S", start_scm);
402 start = Scm_GetInteger(start_scm);
403 end_scm = SCM_ARGREF(1);
404 if (!SCM_EXACTP(end_scm)) Scm_Error("C integer required, but got %S", end_scm);
405 end = Scm_GetInteger(end_scm);
406 {
407 {
408 ScmString* SCM_RESULT;
409 gchar *substr = Shiki_buffer_substring(start, end);
410 if(substr)
411 SCM_RESULT = SCM_STRING(SCM_MAKE_STR_COPYING(substr));
412 else
413 SCM_RESULT = SCM_STRING(SCM_FALSE);
414 g_free(substr);
415 SCM_RETURN(SCM_MAKE_MAYBE(SCM_OBJ_SAFE, SCM_RESULT));
416 }
417 }
418 }
419
420 static SCM_DEFINE_STRING_CONST(xyzzylisp_buffer_substring__NAME, "buffer-substring", 16, 16);
421 static SCM_DEFINE_SUBR(xyzzylisp_buffer_substring__STUB, 2, 0, SCM_OBJ(&xyzzylisp_buffer_substring__NAME), xyzzylisp_buffer_substring, NULL, NULL);
422
423 static ScmObj xyzzylisp_delete_region(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
424 {
425 ScmObj start_scm;
426 int start;
427 ScmObj end_scm;
428 int end;
429 SCM_ENTER_SUBR("delete-region");
430 start_scm = SCM_ARGREF(0);
431 if (!SCM_EXACTP(start_scm)) Scm_Error("C integer required, but got %S", start_scm);
432 start = Scm_GetInteger(start_scm);
433 end_scm = SCM_ARGREF(1);
434 if (!SCM_EXACTP(end_scm)) Scm_Error("C integer required, but got %S", end_scm);
435 end = Scm_GetInteger(end_scm);
436 {
437 Shiki_delete_region(start, end);
438 SCM_RETURN(SCM_UNDEFINED);
439 }
440 }
441
442 static SCM_DEFINE_STRING_CONST(xyzzylisp_delete_region__NAME, "delete-region", 13, 13);
443 static SCM_DEFINE_SUBR(xyzzylisp_delete_region__STUB, 2, 0, SCM_OBJ(&xyzzylisp_delete_region__NAME), xyzzylisp_delete_region, NULL, NULL);
444
445 static ScmObj xyzzylisp_insert(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
446 {
447 ScmObj char_or_string_scm;
448 ScmObj char_or_string;
449 SCM_ENTER_SUBR("insert");
450 char_or_string_scm = SCM_ARGREF(0);
451 char_or_string = (char_or_string_scm);
452 {
453 if(SCM_CHARP(char_or_string)) {
454 gunichar u = SCM_CHAR_VALUE(char_or_string);
455 gchar *str = g_ucs4_to_utf8(&u, 1, NULL, NULL, NULL);
456 gtk_text_buffer_insert_at_cursor(Shiki_CURRENT_TEXT_BUFFER, str, -1);
457 g_free(str);
458 } else if(SCM_STRINGP(char_or_string))
459 gtk_text_buffer_insert_at_cursor(Shiki_CURRENT_TEXT_BUFFER, SCM_STRING_CONST_CSTRING(char_or_string), -1);
460 else
461 Scm_Error("character or string required, but got %S", char_or_string);
462 SCM_RETURN(SCM_UNDEFINED);
463 }
464 }
465
466 static SCM_DEFINE_STRING_CONST(xyzzylisp_insert__NAME, "insert", 6, 6);
467 static SCM_DEFINE_SUBR(xyzzylisp_insert__STUB, 1, 0, SCM_OBJ(&xyzzylisp_insert__NAME), xyzzylisp_insert, NULL, NULL);
468
469 static ScmObj xyzzylisp_point(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
470 {
471 SCM_ENTER_SUBR("point");
472 {
473 {
474 int SCM_RESULT;
475 SCM_RESULT = Shiki_point();
476 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
477 }
478 }
479 }
480
481 static SCM_DEFINE_STRING_CONST(xyzzylisp_point__NAME, "point", 5, 5);
482 static SCM_DEFINE_SUBR(xyzzylisp_point__STUB, 0, 0, SCM_OBJ(&xyzzylisp_point__NAME), xyzzylisp_point, NULL, NULL);
483
484 static ScmObj xyzzylisp_point_max(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
485 {
486 SCM_ENTER_SUBR("point-max");
487 {
488 {
489 int SCM_RESULT;
490 SCM_RESULT = Shiki_point_max();
491 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
492 }
493 }
494 }
495
496 static SCM_DEFINE_STRING_CONST(xyzzylisp_point_max__NAME, "point-max", 9, 9);
497 static SCM_DEFINE_SUBR(xyzzylisp_point_max__STUB, 0, 0, SCM_OBJ(&xyzzylisp_point_max__NAME), xyzzylisp_point_max, NULL, NULL);
498
499 static ScmObj xyzzylisp_point_min(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
500 {
501 SCM_ENTER_SUBR("point-min");
502 {
503 {
504 int SCM_RESULT;
505 SCM_RESULT = Shiki_point_min();
506 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
507 }
508 }
509 }
510
511 static SCM_DEFINE_STRING_CONST(xyzzylisp_point_min__NAME, "point-min", 9, 9);
512 static SCM_DEFINE_SUBR(xyzzylisp_point_min__STUB, 0, 0, SCM_OBJ(&xyzzylisp_point_min__NAME), xyzzylisp_point_min, NULL, NULL);
513
514 static ScmObj xyzzylisp_goto_char(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
515 {
516 ScmObj offset_scm;
517 int offset;
518 SCM_ENTER_SUBR("goto-char");
519 offset_scm = SCM_ARGREF(0);
520 if (!SCM_EXACTP(offset_scm)) Scm_Error("C integer required, but got %S", offset_scm);
521 offset = Scm_GetInteger(offset_scm);
522 {
523 Shiki_goto_char(offset);
524 SCM_RETURN(SCM_UNDEFINED);
525 }
526 }
527
528 static SCM_DEFINE_STRING_CONST(xyzzylisp_goto_char__NAME, "goto-char", 9, 9);
529 static SCM_DEFINE_SUBR(xyzzylisp_goto_char__STUB, 1, 0, SCM_OBJ(&xyzzylisp_goto_char__NAME), xyzzylisp_goto_char, NULL, NULL);
530
531 static ScmObj xyzzylisp_forward_char(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
532 {
533 SCM_ENTER_SUBR("forward-char");
534 {
535 Shiki_forward_char();
536 SCM_RETURN(SCM_UNDEFINED);
537 }
538 }
539
540 static SCM_DEFINE_STRING_CONST(xyzzylisp_forward_char__NAME, "forward-char", 12, 12);
541 static SCM_DEFINE_SUBR(xyzzylisp_forward_char__STUB, 0, 0, SCM_OBJ(&xyzzylisp_forward_char__NAME), xyzzylisp_forward_char, NULL, NULL);
542
543 static ScmObj xyzzylisp_backward_char(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
544 {
545 SCM_ENTER_SUBR("backward-char");
546 {
547 Shiki_backward_char();
548 SCM_RETURN(SCM_UNDEFINED);
549 }
550 }
551
552 static SCM_DEFINE_STRING_CONST(xyzzylisp_backward_char__NAME, "backward-char", 13, 13);
553 static SCM_DEFINE_SUBR(xyzzylisp_backward_char__STUB, 0, 0, SCM_OBJ(&xyzzylisp_backward_char__NAME), xyzzylisp_backward_char, NULL, NULL);
554
555 static ScmObj xyzzylisp_goto_line(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
556 {
557 ScmObj line_scm;
558 int line;
559 SCM_ENTER_SUBR("goto-line");
560 line_scm = SCM_ARGREF(0);
561 if (!SCM_EXACTP(line_scm)) Scm_Error("C integer required, but got %S", line_scm);
562 line = Scm_GetInteger(line_scm);
563 {
564 Shiki_goto_line(line);
565 SCM_RETURN(SCM_UNDEFINED);
566 }
567 }
568
569 static SCM_DEFINE_STRING_CONST(xyzzylisp_goto_line__NAME, "goto-line", 9, 9);
570 static SCM_DEFINE_SUBR(xyzzylisp_goto_line__STUB, 1, 0, SCM_OBJ(&xyzzylisp_goto_line__NAME), xyzzylisp_goto_line, NULL, NULL);
571
572 static ScmObj xyzzylisp_goto_bol(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
573 {
574 SCM_ENTER_SUBR("goto-bol");
575 {
576 Shiki_goto_bol();
577 SCM_RETURN(SCM_UNDEFINED);
578 }
579 }
580
581 static SCM_DEFINE_STRING_CONST(xyzzylisp_goto_bol__NAME, "goto-bol", 8, 8);
582 static SCM_DEFINE_SUBR(xyzzylisp_goto_bol__STUB, 0, 0, SCM_OBJ(&xyzzylisp_goto_bol__NAME), xyzzylisp_goto_bol, NULL, NULL);
583
584 static ScmObj xyzzylisp_goto_eol(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
585 {
586 SCM_ENTER_SUBR("goto-eol");
587 {
588 Shiki_goto_eol();
589 SCM_RETURN(SCM_UNDEFINED);
590 }
591 }
592
593 static SCM_DEFINE_STRING_CONST(xyzzylisp_goto_eol__NAME, "goto-eol", 8, 8);
594 static SCM_DEFINE_SUBR(xyzzylisp_goto_eol__STUB, 0, 0, SCM_OBJ(&xyzzylisp_goto_eol__NAME), xyzzylisp_goto_eol, NULL, NULL);
595
596 static ScmObj xyzzylisp_forward_line(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
597 {
598 ScmObj count_scm;
599 int count;
600 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
601 SCM_ENTER_SUBR("forward-line");
602 if (Scm_Length(SCM_OPTARGS) > 1)
603 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
604 if (SCM_NULLP(SCM_OPTARGS)) count_scm = Scm_MakeInteger(1);
605 else {
606 count_scm = SCM_CAR(SCM_OPTARGS);
607 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
608 }
609 if (!SCM_EXACTP(count_scm)) Scm_Error("C integer required, but got %S", count_scm);
610 count = Scm_GetInteger(count_scm);
611 {
612 Shiki_forward_line(count);
613 SCM_RETURN(SCM_UNDEFINED);
614 }
615 }
616
617 static SCM_DEFINE_STRING_CONST(xyzzylisp_forward_line__NAME, "forward-line", 12, 12);
618 static SCM_DEFINE_SUBR(xyzzylisp_forward_line__STUB, 0, 1, SCM_OBJ(&xyzzylisp_forward_line__NAME), xyzzylisp_forward_line, NULL, NULL);
619
620 static SCM_DEFINE_STRING_CONST(KEYARG_title__NAME, "title", 5, 5);
621 static ScmObj KEYARG_title = SCM_UNBOUND;
622 static ScmObj xyzzylisp_file_name_dialog(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
623 {
624 ScmObj title_scm;
625 const char * title;
626 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
627 SCM_ENTER_SUBR("file-name-dialog");
628 title_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_title), SCM_OPTARGS, SCM_MAKE_STR("���������������������"));
629 if (!SCM_STRINGP(title_scm)) Scm_Error("const C string required, but got %S", title_scm);
630 title = SCM_STRING_CONST_CSTRING(title_scm);
631 {
632 {
633 const char * SCM_RESULT;
634 SCM_RESULT = Shiki_file_name_dialog(title);
635 SCM_RETURN(SCM_MAKE_MAYBE(SCM_MAKE_STR_COPYING, SCM_RESULT));
636 }
637 }
638 }
639
640 static SCM_DEFINE_STRING_CONST(xyzzylisp_file_name_dialog__NAME, "file-name-dialog", 16, 16);
641 static SCM_DEFINE_SUBR(xyzzylisp_file_name_dialog__STUB, 0, 1, SCM_OBJ(&xyzzylisp_file_name_dialog__NAME), xyzzylisp_file_name_dialog, NULL, NULL);
642
643 static ScmObj xyzzylisp_yes_or_no_p(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
644 {
645 ScmObj msg_scm;
646 const char * msg;
647 SCM_ENTER_SUBR("yes-or-no-p");
648 msg_scm = SCM_ARGREF(0);
649 if (!SCM_STRINGP(msg_scm)) Scm_Error("const C string required, but got %S", msg_scm);
650 msg = SCM_STRING_CONST_CSTRING(msg_scm);
651 {
652 {
653 int SCM_RESULT;
654 SCM_RESULT = Shiki_yes_or_no_p(msg);
655 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
656 }
657 }
658 }
659
660 static SCM_DEFINE_STRING_CONST(xyzzylisp_yes_or_no_p__NAME, "yes-or-no-p", 11, 11);
661 static SCM_DEFINE_SUBR(xyzzylisp_yes_or_no_p__STUB, 1, 0, SCM_OBJ(&xyzzylisp_yes_or_no_p__NAME), xyzzylisp_yes_or_no_p, NULL, NULL);
662
663 void Scm_Init_xyzzylisp(ScmModule *module)
664 {
665
666 SCM_DEFINE(module, "bufferp", SCM_OBJ(&xyzzylisp_bufferp__STUB));
667 SCM_DEFINE(module, "selected-buffer", SCM_OBJ(&xyzzylisp_selected_buffer__STUB));
668 SCM_DEFINE(module, "get-next-buffer", SCM_OBJ(&xyzzylisp_get_next_buffer__STUB));
669 SCM_DEFINE(module, "buffer-lines", SCM_OBJ(&xyzzylisp_buffer_lines__STUB));
670 SCM_DEFINE(module, "buffer-size", SCM_OBJ(&xyzzylisp_buffer_size__STUB));
671 SCM_DEFINE(module, "erase-buffer", SCM_OBJ(&xyzzylisp_erase_buffer__STUB));
672 SCM_DEFINE(module, "delete-buffer", SCM_OBJ(&xyzzylisp_delete_buffer__STUB));
673 SCM_DEFINE(module, "find-buffer", SCM_OBJ(&xyzzylisp_find_buffer__STUB));
674 SCM_DEFINE(module, "new-buffer-create", SCM_OBJ(&xyzzylisp_new_buffer_create__STUB));
675 SCM_DEFINE(module, "count-buffers", SCM_OBJ(&xyzzylisp_count_buffers__STUB));
676 SCM_DEFINE(module, "get-previous-buffer", SCM_OBJ(&xyzzylisp_get_previous_buffer__STUB));
677 SCM_DEFINE(module, "buffer-list", SCM_OBJ(&xyzzylisp_buffer_list__STUB));
678 SCM_DEFINE(module, "next-buffer", SCM_OBJ(&xyzzylisp_next_buffer__STUB));
679 SCM_DEFINE(module, "previous-buffer", SCM_OBJ(&xyzzylisp_previous_buffer__STUB));
680 SCM_DEFINE(module, "buffer-name", SCM_OBJ(&xyzzylisp_buffer_name__STUB));
681 SCM_DEFINE(module, "deleted-buffer-p", SCM_OBJ(&xyzzylisp_deleted_buffer_p__STUB));
682 SCM_DEFINE(module, "buffer-modified-p", SCM_OBJ(&xyzzylisp_buffer_modified_p__STUB));
683 SCM_DEFINE(module, "buffer-substring", SCM_OBJ(&xyzzylisp_buffer_substring__STUB));
684 SCM_DEFINE(module, "delete-region", SCM_OBJ(&xyzzylisp_delete_region__STUB));
685 SCM_DEFINE(module, "insert", SCM_OBJ(&xyzzylisp_insert__STUB));
686 SCM_DEFINE(module, "point", SCM_OBJ(&xyzzylisp_point__STUB));
687 SCM_DEFINE(module, "point-max", SCM_OBJ(&xyzzylisp_point_max__STUB));
688 SCM_DEFINE(module, "point-min", SCM_OBJ(&xyzzylisp_point_min__STUB));
689 SCM_DEFINE(module, "goto-char", SCM_OBJ(&xyzzylisp_goto_char__STUB));
690 SCM_DEFINE(module, "forward-char", SCM_OBJ(&xyzzylisp_forward_char__STUB));
691 SCM_DEFINE(module, "backward-char", SCM_OBJ(&xyzzylisp_backward_char__STUB));
692 SCM_DEFINE(module, "goto-line", SCM_OBJ(&xyzzylisp_goto_line__STUB));
693 SCM_DEFINE(module, "goto-bol", SCM_OBJ(&xyzzylisp_goto_bol__STUB));
694 SCM_DEFINE(module, "goto-eol", SCM_OBJ(&xyzzylisp_goto_eol__STUB));
695 SCM_DEFINE(module, "forward-line", SCM_OBJ(&xyzzylisp_forward_line__STUB));
696 SCM_DEFINE(module, "file-name-dialog", SCM_OBJ(&xyzzylisp_file_name_dialog__STUB));
697 KEYARG_title = Scm_MakeKeyword(&KEYARG_title__NAME);
698 SCM_DEFINE(module, "yes-or-no-p", SCM_OBJ(&xyzzylisp_yes_or_no_p__STUB));
699 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26