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

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