X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fwindow.c;h=c8eb2a8fb11370219642b10f4605615eb8d49f16;hp=ccddef81ba797bf091733b68dfe28cc886374faf;hb=21db8709c0c2dcedbd278c7fe571290d5ce80a71;hpb=40402600969429d5253e62c6314a3eebbb21f027 diff --git a/src/window.c b/src/window.c index ccddef8..c8eb2a8 100644 --- a/src/window.c +++ b/src/window.c @@ -2534,6 +2534,7 @@ enum window_loop GET_LRU_WINDOW, /* Arg is t for full-width windows only */ DELETE_OTHER_WINDOWS, /* Arg is window not to delete */ DELETE_BUFFER_WINDOWS, /* Arg is buffer */ + UNDEDICATE_BUFFER, /* Arg is buffer */ GET_LARGEST_WINDOW, GET_BUFFER_WINDOW_COUNT, /* Arg is buffer */ GET_BUFFER_MRU_WINDOW /* Arg is buffer */ @@ -2686,6 +2687,13 @@ window_loop (enum window_loop type, break; } + case UNDEDICATE_BUFFER: + { + if ((XBUFFER (p->buffer) == XBUFFER (obj)) && (p->dedicated)) + p->dedicated = Qnil; + break; + } + case DELETE_OTHER_WINDOWS: { /* Don't delete the last window on a frame; this can @@ -2812,6 +2820,12 @@ buffer_window_mru (struct window *w) #endif +void +undedicate_windows (Lisp_Object buffer, Lisp_Object frame) +{ + window_loop (UNDEDICATE_BUFFER, buffer, 0, frame, 1, Qnil); +} + DEFUN ("get-lru-window", Fget_lru_window, 0, 2, 0, /* Return the window least recently selected or used for display. @@ -4513,6 +4527,11 @@ When calling from a program, supply an integer as argument or nil. On attempt to scroll past end of buffer, `end-of-buffer' is signaled. On attempt to scroll past beginning of buffer, `beginning-of-buffer' is signaled. + +The characters that are moved over may be added to the current selection +\(i.e. active region) if the Shift key is held down, a motion key is used +to invoke this command, and `shifted-motion-keys-select-region' is t; see +the documentation for this variable for more details. */ (count)) { @@ -4528,6 +4547,11 @@ When calling from a program, supply a number as argument or nil. On attempt to scroll past end of buffer, `end-of-buffer' is signaled. On attempt to scroll past beginning of buffer, `beginning-of-buffer' is signaled. + +The characters that are moved over may be added to the current selection +\(i.e. active region) if the Shift key is held down, a motion key is used +to invoke this command, and `shifted-motion-keys-select-region' is t; see +the documentation for this variable for more details. */ (count)) { @@ -4600,6 +4624,11 @@ showing that buffer, popping the buffer up if necessary. DEFUN ("scroll-left", Fscroll_left, 0, 1, "_P", /* Scroll selected window display COUNT columns left. Default for COUNT is window width minus 2. + +The characters that are moved over may be added to the current selection +\(i.e. active region) if the Shift key is held down, a motion key is used +to invoke this command, and `shifted-motion-keys-select-region' is t; see +the documentation for this variable for more details. */ (count)) { @@ -4615,6 +4644,11 @@ Default for COUNT is window width minus 2. DEFUN ("scroll-right", Fscroll_right, 0, 1, "_P", /* Scroll selected window display COUNT columns right. Default for COUNT is window width minus 2. + +The characters that are moved over may be added to the current selection +\(i.e. active region) if the Shift key is held down, a motion key is used +to invoke this command, and `shifted-motion-keys-select-region' is t; see +the documentation for this variable for more details. */ (count)) { @@ -6311,6 +6345,9 @@ This is a specifier; use `set-specifier' to change it. #ifdef HAVE_TTY fb = Fcons (Fcons (list1 (Qtty), make_int (1)), fb); #endif +#ifdef HAVE_GTK + fb = Fcons (Fcons (list1 (Qgtk), make_int (3)), fb); +#endif #ifdef HAVE_X_WINDOWS fb = Fcons (Fcons (list1 (Qx), make_int (3)), fb); #endif @@ -6345,6 +6382,9 @@ This is a specifier; use `set-specifier' to change it. Should not the same value be the fallback under X? - kkm */ fb = Fcons (Fcons (list1 (Qx), make_int (2)), fb); #endif +#ifdef HAVE_GTK + fb = Fcons (Fcons (list1 (Qgtk), Qzero), fb); +#endif #ifdef HAVE_MS_WINDOWS fb = Fcons (Fcons (list1 (Qmswindows), Qzero), fb); #endif