Develop and Download Open Source Software

Browse CVS Repository

Diff of /shiki/shiki/xyzzylisp.c

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

revision 1.7 by aloha, Sun Nov 26 18:41:43 2006 UTC revision 1.8 by aloha, Mon Nov 27 12:01:50 2006 UTC
# Line 136  SCM_RETURN(Scm_MakeInteger(SCM_RESULT)); Line 136  SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
136  static SCM_DEFINE_STRING_CONST(xyzzylisp_buffer_size__NAME, "buffer-size", 11, 11);  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);  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_)  static ScmObj xyzzylisp_get_previous_buffer(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
251  {  {
252    ScmObj buffer_scm;    ScmObj buffer_scm;
# Line 482  SCM_RETURN(SCM_UNDEFINED); Line 593  SCM_RETURN(SCM_UNDEFINED);
593  static SCM_DEFINE_STRING_CONST(xyzzylisp_goto_eol__NAME, "goto-eol", 8, 8);  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);  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)  void Scm_Init_xyzzylisp(ScmModule *module)
664  {  {
665    
# Line 490  void Scm_Init_xyzzylisp(ScmModule *modul Line 668  void Scm_Init_xyzzylisp(ScmModule *modul
668    SCM_DEFINE(module, "get-next-buffer", SCM_OBJ(&xyzzylisp_get_next_buffer__STUB));    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));    SCM_DEFINE(module, "buffer-lines", SCM_OBJ(&xyzzylisp_buffer_lines__STUB));
670    SCM_DEFINE(module, "buffer-size", SCM_OBJ(&xyzzylisp_buffer_size__STUB));    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));    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));    SCM_DEFINE(module, "buffer-list", SCM_OBJ(&xyzzylisp_buffer_list__STUB));
678    SCM_DEFINE(module, "next-buffer", SCM_OBJ(&xyzzylisp_next_buffer__STUB));    SCM_DEFINE(module, "next-buffer", SCM_OBJ(&xyzzylisp_next_buffer__STUB));
# Line 509  void Scm_Init_xyzzylisp(ScmModule *modul Line 692  void Scm_Init_xyzzylisp(ScmModule *modul
692    SCM_DEFINE(module, "goto-line", SCM_OBJ(&xyzzylisp_goto_line__STUB));    SCM_DEFINE(module, "goto-line", SCM_OBJ(&xyzzylisp_goto_line__STUB));
693    SCM_DEFINE(module, "goto-bol", SCM_OBJ(&xyzzylisp_goto_bol__STUB));    SCM_DEFINE(module, "goto-bol", SCM_OBJ(&xyzzylisp_goto_bol__STUB));
694    SCM_DEFINE(module, "goto-eol", SCM_OBJ(&xyzzylisp_goto_eol__STUB));    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  }  }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

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