Develop and Download Open Source Software

Browse CVS Repository

Annotation of /shiki/shiki/xyzzylisp.c

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


Revision 1.10 - (hide 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 aloha 1.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 aloha 1.2 #include "shiki.h"
9 aloha 1.6 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 aloha 1.5 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 aloha 1.6 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 aloha 1.9 SCM_RESULT = NULL;
62 aloha 1.6 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 aloha 1.7 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 aloha 1.9 SCM_RESULT = -1;
96 aloha 1.7 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 aloha 1.9 SCM_RESULT = -1;
128 aloha 1.7 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 aloha 1.8 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 aloha 1.6 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 aloha 1.9 SCM_RESULT = NULL;
271 aloha 1.6 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 aloha 1.7 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 aloha 1.6 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 aloha 1.9 SCM_RESULT = FALSE;
384 aloha 1.6 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 aloha 1.1 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 aloha 1.3 {
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 aloha 1.1 }
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 aloha 1.4 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 aloha 1.6 else
466     Scm_Error("character or string required, but got %S", char_or_string);
467 aloha 1.4 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 aloha 1.8 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 aloha 1.10 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 aloha 1.9 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 aloha 1.1 void Scm_Init_xyzzylisp(ScmModule *module)
742     {
743    
744 aloha 1.6 SCM_DEFINE(module, "bufferp", SCM_OBJ(&xyzzylisp_bufferp__STUB));
745 aloha 1.5 SCM_DEFINE(module, "selected-buffer", SCM_OBJ(&xyzzylisp_selected_buffer__STUB));
746 aloha 1.6 SCM_DEFINE(module, "get-next-buffer", SCM_OBJ(&xyzzylisp_get_next_buffer__STUB));
747 aloha 1.7 SCM_DEFINE(module, "buffer-lines", SCM_OBJ(&xyzzylisp_buffer_lines__STUB));
748     SCM_DEFINE(module, "buffer-size", SCM_OBJ(&xyzzylisp_buffer_size__STUB));
749 aloha 1.8 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 aloha 1.6 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 aloha 1.7 SCM_DEFINE(module, "deleted-buffer-p", SCM_OBJ(&xyzzylisp_deleted_buffer_p__STUB));
760 aloha 1.6 SCM_DEFINE(module, "buffer-modified-p", SCM_OBJ(&xyzzylisp_buffer_modified_p__STUB));
761 aloha 1.1 SCM_DEFINE(module, "buffer-substring", SCM_OBJ(&xyzzylisp_buffer_substring__STUB));
762 aloha 1.4 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 aloha 1.8 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 aloha 1.10 SCM_DEFINE(module, "no-or-yes-p", SCM_OBJ(&xyzzylisp_no_or_yes_p__STUB));
778 aloha 1.9 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 aloha 1.1 }

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