| 58 |
{ |
{ |
| 59 |
{ |
{ |
| 60 |
GtkTextBuffer* SCM_RESULT; |
GtkTextBuffer* SCM_RESULT; |
| 61 |
|
SCM_RESULT = NULL; |
| 62 |
if(buffer == SCM_UNBOUND) |
if(buffer == SCM_UNBOUND) |
| 63 |
SCM_RESULT = Shiki_get_next_buffer(Shiki_CURRENT_TEXT_BUFFER); |
SCM_RESULT = Shiki_get_next_buffer(Shiki_CURRENT_TEXT_BUFFER); |
| 64 |
else if(SHIKI_BUFFER_P(buffer)) |
else if(SHIKI_BUFFER_P(buffer)) |
| 92 |
{ |
{ |
| 93 |
{ |
{ |
| 94 |
int SCM_RESULT; |
int SCM_RESULT; |
| 95 |
|
SCM_RESULT = -1; |
| 96 |
if(buffer == SCM_UNBOUND) |
if(buffer == SCM_UNBOUND) |
| 97 |
SCM_RESULT = gtk_text_buffer_get_line_count(Shiki_CURRENT_TEXT_BUFFER); |
SCM_RESULT = gtk_text_buffer_get_line_count(Shiki_CURRENT_TEXT_BUFFER); |
| 98 |
else if(SHIKI_BUFFER_P(buffer)) |
else if(SHIKI_BUFFER_P(buffer)) |
| 124 |
{ |
{ |
| 125 |
{ |
{ |
| 126 |
int SCM_RESULT; |
int SCM_RESULT; |
| 127 |
|
SCM_RESULT = -1; |
| 128 |
if(buffer == SCM_UNBOUND) |
if(buffer == SCM_UNBOUND) |
| 129 |
SCM_RESULT = gtk_text_buffer_get_char_count(Shiki_CURRENT_TEXT_BUFFER); |
SCM_RESULT = gtk_text_buffer_get_char_count(Shiki_CURRENT_TEXT_BUFFER); |
| 130 |
else if(SHIKI_BUFFER_P(buffer)) |
else if(SHIKI_BUFFER_P(buffer)) |
| 267 |
{ |
{ |
| 268 |
{ |
{ |
| 269 |
GtkTextBuffer* SCM_RESULT; |
GtkTextBuffer* SCM_RESULT; |
| 270 |
|
SCM_RESULT = NULL; |
| 271 |
if(buffer == SCM_UNBOUND) |
if(buffer == SCM_UNBOUND) |
| 272 |
SCM_RESULT = Shiki_get_previous_buffer(Shiki_CURRENT_TEXT_BUFFER); |
SCM_RESULT = Shiki_get_previous_buffer(Shiki_CURRENT_TEXT_BUFFER); |
| 273 |
else if(SHIKI_BUFFER_P(buffer)) |
else if(SHIKI_BUFFER_P(buffer)) |
| 380 |
{ |
{ |
| 381 |
{ |
{ |
| 382 |
int SCM_RESULT; |
int SCM_RESULT; |
| 383 |
|
SCM_RESULT = FALSE; |
| 384 |
if(buffer == SCM_UNBOUND) |
if(buffer == SCM_UNBOUND) |
| 385 |
SCM_RESULT = gtk_text_buffer_get_modified(Shiki_CURRENT_TEXT_BUFFER); |
SCM_RESULT = gtk_text_buffer_get_modified(Shiki_CURRENT_TEXT_BUFFER); |
| 386 |
else if(SHIKI_BUFFER_P(buffer)) |
else if(SHIKI_BUFFER_P(buffer)) |
| 665 |
static SCM_DEFINE_STRING_CONST(xyzzylisp_yes_or_no_p__NAME, "yes-or-no-p", 11, 11); |
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); |
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_need_buffer_save_p(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_) |
| 669 |
|
{ |
| 670 |
|
ScmObj buffer_scm; |
| 671 |
|
GtkTextBuffer* buffer; |
| 672 |
|
SCM_ENTER_SUBR("need-buffer-save-p"); |
| 673 |
|
buffer_scm = SCM_ARGREF(0); |
| 674 |
|
if (!SHIKI_BUFFER_P(buffer_scm)) Scm_Error("buffer required, but got %S", buffer_scm); |
| 675 |
|
buffer = SHIKI_BUFFER_UNBOX(buffer_scm); |
| 676 |
|
{ |
| 677 |
|
{ |
| 678 |
|
int SCM_RESULT; |
| 679 |
|
SCM_RESULT = Shiki_need_buffer_save_p(buffer); |
| 680 |
|
SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT)); |
| 681 |
|
} |
| 682 |
|
} |
| 683 |
|
} |
| 684 |
|
|
| 685 |
|
static SCM_DEFINE_STRING_CONST(xyzzylisp_need_buffer_save_p__NAME, "need-buffer-save-p", 18, 18); |
| 686 |
|
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); |
| 687 |
|
|
| 688 |
|
static ScmObj xyzzylisp_msgbox(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_) |
| 689 |
|
{ |
| 690 |
|
ScmObj format_scm; |
| 691 |
|
ScmString* format; |
| 692 |
|
ScmObj args_scm; |
| 693 |
|
ScmObj args; |
| 694 |
|
ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1); |
| 695 |
|
SCM_ENTER_SUBR("msgbox"); |
| 696 |
|
format_scm = SCM_ARGREF(0); |
| 697 |
|
if (!SCM_STRINGP(format_scm)) Scm_Error("string required, but got %S", format_scm); |
| 698 |
|
format = SCM_STRING(format_scm); |
| 699 |
|
args_scm = SCM_OPTARGS; |
| 700 |
|
args = (args_scm); |
| 701 |
|
{ |
| 702 |
|
{ |
| 703 |
|
ScmSymbol* SCM_RESULT; |
| 704 |
|
ScmObj os = Scm_MakeOutputStringPort(TRUE); |
| 705 |
|
GtkWidget *dialog; |
| 706 |
|
Scm_Format(SCM_PORT(os), format, args, FALSE); |
| 707 |
|
dialog = gtk_message_dialog_new(GTK_WINDOW(Shiki_EDITOR_WINDOW), |
| 708 |
|
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, |
| 709 |
|
Scm_GetString(SCM_STRING(Scm_GetOutputString(SCM_PORT(os))))); |
| 710 |
|
gtk_dialog_run(GTK_DIALOG(dialog)); |
| 711 |
|
gtk_widget_destroy(dialog); |
| 712 |
|
SCM_RESULT = SCM_SYMBOL(SCM_INTERN(":ok")); |
| 713 |
|
SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT)); |
| 714 |
|
} |
| 715 |
|
} |
| 716 |
|
} |
| 717 |
|
|
| 718 |
|
static SCM_DEFINE_STRING_CONST(xyzzylisp_msgbox__NAME, "msgbox", 6, 6); |
| 719 |
|
static SCM_DEFINE_SUBR(xyzzylisp_msgbox__STUB, 1, 1, SCM_OBJ(&xyzzylisp_msgbox__NAME), xyzzylisp_msgbox, NULL, NULL); |
| 720 |
|
|
| 721 |
void Scm_Init_xyzzylisp(ScmModule *module) |
void Scm_Init_xyzzylisp(ScmModule *module) |
| 722 |
{ |
{ |
| 723 |
|
|
| 754 |
SCM_DEFINE(module, "file-name-dialog", SCM_OBJ(&xyzzylisp_file_name_dialog__STUB)); |
SCM_DEFINE(module, "file-name-dialog", SCM_OBJ(&xyzzylisp_file_name_dialog__STUB)); |
| 755 |
KEYARG_title = Scm_MakeKeyword(&KEYARG_title__NAME); |
KEYARG_title = Scm_MakeKeyword(&KEYARG_title__NAME); |
| 756 |
SCM_DEFINE(module, "yes-or-no-p", SCM_OBJ(&xyzzylisp_yes_or_no_p__STUB)); |
SCM_DEFINE(module, "yes-or-no-p", SCM_OBJ(&xyzzylisp_yes_or_no_p__STUB)); |
| 757 |
|
SCM_DEFINE(module, "need-buffer-save-p", SCM_OBJ(&xyzzylisp_need_buffer_save_p__STUB)); |
| 758 |
|
SCM_DEFINE(module, "msgbox", SCM_OBJ(&xyzzylisp_msgbox__STUB)); |
| 759 |
} |
} |