* [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] @ 2007-07-03 4:24 Richard Stallman 2007-07-09 12:03 ` Jan Djärv 0 siblings, 1 reply; 8+ messages in thread From: Richard Stallman @ 2007-07-03 4:24 UTC (permalink / raw) To: emacs-devel Would someone please DTRT then ack? ------- Start of forwarded message ------- X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY autolearn=failed version=3.1.0 From: Joe Wells <jbw@macs.hw.ac.uk> To: bug-gnu-emacs@gnu.org Date: Mon, 02 Jul 2007 12:12:42 +0100 Subject: window-min-height not obeying its documentation in Emacs 22.1 I have window-min-height set to 4. According to its documentation, any window whose height is less than 4 will be deleted. This is false when the value split-height-threshold is small enough. The following script reproduces the bug (at least with my screen height). - ---------------------------------------------------------------------- #!/bin/sh ~/local2/bin/emacs --quick --eval '(progn (split-window-vertically) (temp-buffer-resize-mode 1) (setq window-min-height 4) (setq split-height-threshold 4) (describe-bindings))' # # You will now see a window that is 1 line tall and is missing its # mode line. This should be impossible according to the documentation # of window-min-height. - ---------------------------------------------------------------------- This may just be a documentation bug. But I would really like for window-min-height to obey its documentation, as I get very confused by windows that are missing their mode lines because they are only 1 line tall. Joe - ---------------------------------------------------------------------- In GNU Emacs 22.1.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2007-06-27 on artemis Windowing system distributor `The X.Org Foundation', version 11.0.70000000 configured using `configure '--prefix=/home/jbw/local2' '--enable-debug' '--disable-nls' '--with-x-toolkit=gtk' 'CFLAGS=-O0 -g3 -ggdb'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: en_US.UTF-8 value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: jbw value of $LANG: nil locale-coding-system: utf-8 default-enable-multibyte-characters: t _______________________________________________ bug-gnu-emacs mailing list bug-gnu-emacs@gnu.org http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs ------- End of forwarded message ------- ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] 2007-07-03 4:24 [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] Richard Stallman @ 2007-07-09 12:03 ` Jan Djärv 2007-07-09 17:51 ` martin rudalics 0 siblings, 1 reply; 8+ messages in thread From: Jan Djärv @ 2007-07-09 12:03 UTC (permalink / raw) To: rms; +Cc: emacs-devel Richard Stallman skrev: > Would someone please DTRT then ack? > Fixed in HEAD. Jan D. > ------- Start of forwarded message ------- > X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY > autolearn=failed version=3.1.0 > From: Joe Wells <jbw@macs.hw.ac.uk> > To: bug-gnu-emacs@gnu.org > Date: Mon, 02 Jul 2007 12:12:42 +0100 > Subject: window-min-height not obeying its documentation in Emacs 22.1 > > I have window-min-height set to 4. According to its documentation, > any window whose height is less than 4 will be deleted. This is false > when the value split-height-threshold is small enough. The following > script reproduces the bug (at least with my screen height). > > - ---------------------------------------------------------------------- > #!/bin/sh > ~/local2/bin/emacs --quick --eval '(progn (split-window-vertically) (temp-buffer-resize-mode 1) (setq window-min-height 4) (setq split-height-threshold 4) (describe-bindings))' > # > # You will now see a window that is 1 line tall and is missing its > # mode line. This should be impossible according to the documentation > # of window-min-height. > - ---------------------------------------------------------------------- > > This may just be a documentation bug. But I would really like for > window-min-height to obey its documentation, as I get very confused by > windows that are missing their mode lines because they are only 1 line > tall. > > Joe > > - ---------------------------------------------------------------------- > In GNU Emacs 22.1.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20) > of 2007-06-27 on artemis > Windowing system distributor `The X.Org Foundation', version 11.0.70000000 > configured using `configure '--prefix=/home/jbw/local2' '--enable-debug' '--disable-nls' '--with-x-toolkit=gtk' 'CFLAGS=-O0 -g3 -ggdb'' > > Important settings: > value of $LC_ALL: nil > value of $LC_COLLATE: nil > value of $LC_CTYPE: en_US.UTF-8 > value of $LC_MESSAGES: nil > value of $LC_MONETARY: nil > value of $LC_NUMERIC: nil > value of $LC_TIME: jbw > value of $LANG: nil > locale-coding-system: utf-8 > default-enable-multibyte-characters: t > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] 2007-07-09 12:03 ` Jan Djärv @ 2007-07-09 17:51 ` martin rudalics 2007-07-10 5:38 ` Richard Stallman 0 siblings, 1 reply; 8+ messages in thread From: martin rudalics @ 2007-07-09 17:51 UTC (permalink / raw) To: Jan Djärv; +Cc: rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 634 bytes --] > Fixed in HEAD. The fix is correct but it only cures a symptom of the bug. The real problem is what the OP described as >> You will now see a window that is 1 line tall and is missing its >> mode line. That's what you also get when - with `window-min-height' set to 1 - you split windows or drag the mode-line: The last visible line of the window whose height becomes 1 reappears as "header-line" of the window below. Note that here's no convenient safe minimum window height (or width) since you always have to cater for mode- and header-lines, fringes, and scroll-bars. Hence I'd propose something like the attached patch. [-- Attachment #2: window.c.patch --] [-- Type: text/plain, Size: 7144 bytes --] *** window.c.~1.577.~ Tue Jun 5 22:41:24 2007 --- window.c Mon Jul 9 19:29:14 2007 *************** *** 62,67 **** --- 62,68 ---- static void window_scroll_pixel_based P_ ((Lisp_Object, int, int, int)); static void window_scroll_line_based P_ ((Lisp_Object, int, int, int)); static int window_min_size_1 P_ ((struct window *, int)); + static int window_min_size_2 P_ ((struct window *, int)); static int window_min_size P_ ((struct window *, int, int, int *)); static void size_window P_ ((Lisp_Object, int, int, int, int, int)); static int freeze_window_start P_ ((struct window *, void *)); *************** *** 2553,2559 **** *cols = MIN_SAFE_WINDOW_WIDTH; } - /* Value is non-zero if window W is fixed-size. WIDTH_P non-zero means check if W's width can be changed, otherwise check W's height. CHECK_SIBLINGS_P non-zero means check resizablity of WINDOW's --- 2554,2559 ---- *************** *** 2655,2660 **** --- 2655,2686 ---- return fixed_p; } + /* Return the minimum size for leaf window W. WIDTH_P non-zero means + take into account fringes and the scrollbar of W. WIDTH_P zero + means take into account mode-line and header-line of W. Return 1 + for the minibuffer. */ + + static int + window_min_size_2 (w, width_p) + struct window *w; + int width_p; + { + int size; + + if (width_p) + size = max (window_min_width, + (MIN_SAFE_WINDOW_WIDTH + + WINDOW_FRINGE_COLS (w) + + WINDOW_SCROLL_BAR_COLS (w))); + else if (MINI_WINDOW_P (w)) + size = 1; + else + size = max (window_min_height, + (MIN_SAFE_WINDOW_HEIGHT + + (WINDOW_WANTS_MODELINE_P (w) ? 1 : 0) + + (WINDOW_WANTS_HEADER_LINE_P (w) ? 1 : 0 ))); + return size; + } /* Return the minimum size of window W, not taking fixed-width windows into account. WIDTH_P non-zero means return the minimum width, *************** *** 2724,2745 **** } } else ! { ! if (width_p) ! size = max (window_min_width, ! (MIN_SAFE_WINDOW_WIDTH ! + WINDOW_FRINGE_COLS (w) ! + WINDOW_SCROLL_BAR_COLS (w))); ! else ! { ! if (MINI_WINDOW_P (w) ! || (!WINDOW_WANTS_MODELINE_P (w) ! && !WINDOW_WANTS_HEADER_LINE_P (w))) ! size = 1; ! else ! size = window_min_height; ! } ! } return size; } --- 2750,2756 ---- } } else ! size = window_min_size_2 (w, width_p); return size; } *************** *** 2981,2991 **** Lisp_Object child, *forward, *sideward; int old_size, min_size, safe_min_size; - /* We test nodelete_p != 2 and nodelete_p != 1 below, so it - seems like it's too soon to do this here. ++KFS. */ - if (nodelete_p == 2) - nodelete_p = 0; - check_min_window_sizes (); size = max (0, size); --- 2992,2997 ---- *************** *** 2996,3017 **** { old_size = WINDOW_TOTAL_COLS (w); min_size = window_min_width; ! /* Ensure that there is room for the scroll bar and fringes! ! We may reduce display margins though. */ ! safe_min_size = (MIN_SAFE_WINDOW_WIDTH ! + WINDOW_FRINGE_COLS (w) ! + WINDOW_SCROLL_BAR_COLS (w)); } else { old_size = XINT (w->total_lines); min_size = window_min_height; ! safe_min_size = MIN_SAFE_WINDOW_HEIGHT; } if (old_size < min_size && nodelete_p != 2) w->too_small_ok = Qt; /* Maybe delete WINDOW if it's too small. */ if (nodelete_p != 1 && !NILP (w->parent)) { --- 3002,3024 ---- { old_size = WINDOW_TOTAL_COLS (w); min_size = window_min_width; ! safe_min_size = window_min_size_2 (w, 1); } else { old_size = XINT (w->total_lines); min_size = window_min_height; ! safe_min_size = window_min_size_2 (w, 0); } if (old_size < min_size && nodelete_p != 2) w->too_small_ok = Qt; + /* Move the following test here since otherwise the + preceding test doesn't make sense. martin. */ + if (nodelete_p == 2) + nodelete_p = 0; + /* Maybe delete WINDOW if it's too small. */ if (nodelete_p != 1 && !NILP (w->parent)) { *************** *** 3751,3757 **** && ! FRAME_NO_SPLIT_P (XFRAME (XWINDOW (window)->frame)) && (EQ (window, selected_window) || EQ (XWINDOW (window)->parent, Qnil)) ! && window_height (window) >= window_min_height << 1) window = Fsplit_window (window, Qnil, Qnil); else window = Fget_lru_window (frames, Qnil); --- 3758,3765 ---- && ! FRAME_NO_SPLIT_P (XFRAME (XWINDOW (window)->frame)) && (EQ (window, selected_window) || EQ (XWINDOW (window)->parent, Qnil)) ! && (window_height (window) >= ! window_min_size_2 (XWINDOW (window), 0) << 1)) window = Fsplit_window (window, Qnil, Qnil); else window = Fget_lru_window (frames, Qnil); *************** *** 4000,4008 **** if (NILP (horflag)) { ! if (size_int < window_min_height) error ("Window height %d too small (after splitting)", size_int); ! if (size_int + window_min_height > XFASTINT (o->total_lines)) error ("Window height %d too small (after splitting)", XFASTINT (o->total_lines) - size_int); if (NILP (o->parent) --- 4008,4018 ---- if (NILP (horflag)) { ! int window_safe_height = window_min_size_2 (o, 0); ! ! if (size_int < window_safe_height) error ("Window height %d too small (after splitting)", size_int); ! if (size_int + window_safe_height > XFASTINT (o->total_lines)) error ("Window height %d too small (after splitting)", XFASTINT (o->total_lines) - size_int); if (NILP (o->parent) *************** *** 4015,4024 **** } else { ! if (size_int < window_min_width) error ("Window width %d too small (after splitting)", size_int); ! ! if (size_int + window_min_width > XFASTINT (o->total_cols)) error ("Window width %d too small (after splitting)", XFASTINT (o->total_cols) - size_int); if (NILP (o->parent) --- 4025,4035 ---- } else { ! int window_safe_width = window_min_size_2 (o, 1); ! ! if (size_int < window_safe_width) error ("Window width %d too small (after splitting)", size_int); ! if (size_int + window_safe_width > XFASTINT (o->total_cols)) error ("Window width %d too small (after splitting)", XFASTINT (o->total_cols) - size_int); if (NILP (o->parent) *************** *** 4499,4505 **** /* Don't make this window too small. */ if (XINT (CURSIZE (window)) + delta ! < (horiz_flag ? window_min_width : window_min_height)) { Fset_window_configuration (old_config); error ("Cannot adjust window size as specified"); --- 4510,4516 ---- /* Don't make this window too small. */ if (XINT (CURSIZE (window)) + delta ! < window_min_size_2 (XWINDOW (window), horiz_flag)) { Fset_window_configuration (old_config); error ("Cannot adjust window size as specified"); [-- Attachment #3: Type: text/plain, Size: 142 bytes --] _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] 2007-07-09 17:51 ` martin rudalics @ 2007-07-10 5:38 ` Richard Stallman 2007-07-10 7:13 ` David Kastrup 2007-07-10 12:11 ` martin rudalics 0 siblings, 2 replies; 8+ messages in thread From: Richard Stallman @ 2007-07-10 5:38 UTC (permalink / raw) To: martin rudalics; +Cc: jan.h.d, emacs-devel Your change is clean and clear that I could only find the tiniest nit to criticize: ! && (window_height (window) >= ! window_min_size_2 (XWINDOW (window), 0) << 1)) Please break the line before the >= operator, not after. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] 2007-07-10 5:38 ` Richard Stallman @ 2007-07-10 7:13 ` David Kastrup 2007-07-10 22:01 ` Richard Stallman 2007-07-10 12:11 ` martin rudalics 1 sibling, 1 reply; 8+ messages in thread From: David Kastrup @ 2007-07-10 7:13 UTC (permalink / raw) To: rms; +Cc: martin rudalics, jan.h.d, emacs-devel Richard Stallman <rms@gnu.org> writes: > Your change is clean and clear that I could only find the tiniest nit > to criticize: > > ! && (window_height (window) >= > ! window_min_size_2 (XWINDOW (window), 0) << 1)) > > Please break the line before the >= operator, not after. I'd write * 2 instead of << 1 here. -- David Kastrup ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] 2007-07-10 7:13 ` David Kastrup @ 2007-07-10 22:01 ` Richard Stallman 0 siblings, 0 replies; 8+ messages in thread From: Richard Stallman @ 2007-07-10 22:01 UTC (permalink / raw) To: David Kastrup; +Cc: rudalics, jan.h.d, emacs-devel I'd write * 2 instead of << 1 here. You found another nit! ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] 2007-07-10 5:38 ` Richard Stallman 2007-07-10 7:13 ` David Kastrup @ 2007-07-10 12:11 ` martin rudalics 2007-07-10 22:01 ` Richard Stallman 1 sibling, 1 reply; 8+ messages in thread From: martin rudalics @ 2007-07-10 12:11 UTC (permalink / raw) To: rms; +Cc: jan.h.d, emacs-devel [-- Attachment #1: Type: text/plain, Size: 777 bytes --] > ! && (window_height (window) >= > ! window_min_size_2 (XWINDOW (window), 0) << 1)) > > Please break the line before the >= operator, not after. Done. I also replaced shifting by multiplication as proposed by David (there are still two ">>" left in `split-window'). Moreover, I now do the check in `display-buffer' for the largest _and_ the LRU window. Finally, I do not reset `split-height-threshold' any more when it is less than `window-min-height'. Otherwise, binding `window-min-height' temporarily to a larger value may break a user's customizations of `split-height-threshold' due to the following assignment in `display-buffer': if (split_height_threshold < window_min_height << 1) split_height_threshold = window_min_height << 1; [-- Attachment #2: window.c.patch --] [-- Type: text/plain, Size: 8369 bytes --] *** window.c.~1.577.~ Tue Jun 5 22:41:24 2007 --- window.c Tue Jul 10 13:59:22 2007 *************** *** 62,67 **** --- 62,68 ---- static void window_scroll_pixel_based P_ ((Lisp_Object, int, int, int)); static void window_scroll_line_based P_ ((Lisp_Object, int, int, int)); static int window_min_size_1 P_ ((struct window *, int)); + static int window_min_size_2 P_ ((struct window *, int)); static int window_min_size P_ ((struct window *, int, int, int *)); static void size_window P_ ((Lisp_Object, int, int, int, int, int)); static int freeze_window_start P_ ((struct window *, void *)); *************** *** 2553,2559 **** *cols = MIN_SAFE_WINDOW_WIDTH; } - /* Value is non-zero if window W is fixed-size. WIDTH_P non-zero means check if W's width can be changed, otherwise check W's height. CHECK_SIBLINGS_P non-zero means check resizablity of WINDOW's --- 2554,2559 ---- *************** *** 2655,2660 **** --- 2655,2687 ---- return fixed_p; } + /* Return the minimum size for leaf window W. WIDTH_P non-zero means + take into account fringes and the scrollbar of W. WIDTH_P zero + means take into account mode-line and header-line of W. Return 1 + for the minibuffer. */ + + static int + window_min_size_2 (w, width_p) + struct window *w; + int width_p; + { + int size; + + if (width_p) + size = max (window_min_width, + (MIN_SAFE_WINDOW_WIDTH + + WINDOW_FRINGE_COLS (w) + + WINDOW_SCROLL_BAR_COLS (w))); + else if (MINI_WINDOW_P (w)) + size = 1; + else + size = max (window_min_height, + (MIN_SAFE_WINDOW_HEIGHT + + (WINDOW_WANTS_MODELINE_P (w) ? 1 : 0) + + (WINDOW_WANTS_HEADER_LINE_P (w) ? 1 : 0 ))); + + return size; + } /* Return the minimum size of window W, not taking fixed-width windows into account. WIDTH_P non-zero means return the minimum width, *************** *** 2724,2745 **** } } else ! { ! if (width_p) ! size = max (window_min_width, ! (MIN_SAFE_WINDOW_WIDTH ! + WINDOW_FRINGE_COLS (w) ! + WINDOW_SCROLL_BAR_COLS (w))); ! else ! { ! if (MINI_WINDOW_P (w) ! || (!WINDOW_WANTS_MODELINE_P (w) ! && !WINDOW_WANTS_HEADER_LINE_P (w))) ! size = 1; ! else ! size = window_min_height; ! } ! } return size; } --- 2751,2757 ---- } } else ! size = window_min_size_2 (w, width_p); return size; } *************** *** 2981,2991 **** Lisp_Object child, *forward, *sideward; int old_size, min_size, safe_min_size; - /* We test nodelete_p != 2 and nodelete_p != 1 below, so it - seems like it's too soon to do this here. ++KFS. */ - if (nodelete_p == 2) - nodelete_p = 0; - check_min_window_sizes (); size = max (0, size); --- 2993,2998 ---- *************** *** 2996,3017 **** { old_size = WINDOW_TOTAL_COLS (w); min_size = window_min_width; ! /* Ensure that there is room for the scroll bar and fringes! ! We may reduce display margins though. */ ! safe_min_size = (MIN_SAFE_WINDOW_WIDTH ! + WINDOW_FRINGE_COLS (w) ! + WINDOW_SCROLL_BAR_COLS (w)); } else { old_size = XINT (w->total_lines); min_size = window_min_height; ! safe_min_size = MIN_SAFE_WINDOW_HEIGHT; } if (old_size < min_size && nodelete_p != 2) w->too_small_ok = Qt; /* Maybe delete WINDOW if it's too small. */ if (nodelete_p != 1 && !NILP (w->parent)) { --- 3003,3025 ---- { old_size = WINDOW_TOTAL_COLS (w); min_size = window_min_width; ! safe_min_size = window_min_size_2 (w, 1); } else { old_size = XINT (w->total_lines); min_size = window_min_height; ! safe_min_size = window_min_size_2 (w, 0); } if (old_size < min_size && nodelete_p != 2) w->too_small_ok = Qt; + /* Move the following test here since otherwise the + preceding test doesn't make sense. martin. */ + if (nodelete_p == 2) + nodelete_p = 0; + /* Maybe delete WINDOW if it's too small. */ if (nodelete_p != 1 && !NILP (w->parent)) { *************** *** 3708,3716 **** frames = Qnil; if (FRAME_MINIBUF_ONLY_P (f)) XSETFRAME (frames, last_nonminibuf_frame); - /* Don't try to create a window if we would get an error. */ - if (split_height_threshold < window_min_height << 1) - split_height_threshold = window_min_height << 1; /* Note that both Fget_largest_window and Fget_lru_window ignore minibuffers and dedicated windows. --- 3716,3721 ---- *************** *** 3737,3744 **** split it. */ if (!NILP (window) && ! FRAME_NO_SPLIT_P (XFRAME (XWINDOW (window)->frame)) && window_height (window) >= split_height_threshold ! && WINDOW_FULL_WIDTH_P (XWINDOW (window))) window = Fsplit_window (window, Qnil, Qnil); else { --- 3742,3751 ---- split it. */ if (!NILP (window) && ! FRAME_NO_SPLIT_P (XFRAME (XWINDOW (window)->frame)) + && WINDOW_FULL_WIDTH_P (XWINDOW (window)) && window_height (window) >= split_height_threshold ! && (window_height (window) ! >= (2 * window_min_size_2 (XWINDOW (window), 0)))) window = Fsplit_window (window, Qnil, Qnil); else { *************** *** 3751,3757 **** && ! FRAME_NO_SPLIT_P (XFRAME (XWINDOW (window)->frame)) && (EQ (window, selected_window) || EQ (XWINDOW (window)->parent, Qnil)) ! && window_height (window) >= window_min_height << 1) window = Fsplit_window (window, Qnil, Qnil); else window = Fget_lru_window (frames, Qnil); --- 3758,3766 ---- && ! FRAME_NO_SPLIT_P (XFRAME (XWINDOW (window)->frame)) && (EQ (window, selected_window) || EQ (XWINDOW (window)->parent, Qnil)) ! && window_height (window) >= split_height_threshold ! && (window_height (window) ! >= (2 * window_min_size_2 (XWINDOW (window), 0)))) window = Fsplit_window (window, Qnil, Qnil); else window = Fget_lru_window (frames, Qnil); *************** *** 4000,4008 **** if (NILP (horflag)) { ! if (size_int < window_min_height) error ("Window height %d too small (after splitting)", size_int); ! if (size_int + window_min_height > XFASTINT (o->total_lines)) error ("Window height %d too small (after splitting)", XFASTINT (o->total_lines) - size_int); if (NILP (o->parent) --- 4009,4019 ---- if (NILP (horflag)) { ! int window_safe_height = window_min_size_2 (o, 0); ! ! if (size_int < window_safe_height) error ("Window height %d too small (after splitting)", size_int); ! if (size_int + window_safe_height > XFASTINT (o->total_lines)) error ("Window height %d too small (after splitting)", XFASTINT (o->total_lines) - size_int); if (NILP (o->parent) *************** *** 4015,4024 **** } else { ! if (size_int < window_min_width) error ("Window width %d too small (after splitting)", size_int); ! ! if (size_int + window_min_width > XFASTINT (o->total_cols)) error ("Window width %d too small (after splitting)", XFASTINT (o->total_cols) - size_int); if (NILP (o->parent) --- 4026,4036 ---- } else { ! int window_safe_width = window_min_size_2 (o, 1); ! ! if (size_int < window_safe_width) error ("Window width %d too small (after splitting)", size_int); ! if (size_int + window_safe_width > XFASTINT (o->total_cols)) error ("Window width %d too small (after splitting)", XFASTINT (o->total_cols) - size_int); if (NILP (o->parent) *************** *** 4499,4505 **** /* Don't make this window too small. */ if (XINT (CURSIZE (window)) + delta ! < (horiz_flag ? window_min_width : window_min_height)) { Fset_window_configuration (old_config); error ("Cannot adjust window size as specified"); --- 4511,4517 ---- /* Don't make this window too small. */ if (XINT (CURSIZE (window)) + delta ! < window_min_size_2 (XWINDOW (window), horiz_flag)) { Fset_window_configuration (old_config); error ("Cannot adjust window size as specified"); [-- Attachment #3: Type: text/plain, Size: 142 bytes --] _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] 2007-07-10 12:11 ` martin rudalics @ 2007-07-10 22:01 ` Richard Stallman 0 siblings, 0 replies; 8+ messages in thread From: Richard Stallman @ 2007-07-10 22:01 UTC (permalink / raw) To: martin rudalics; +Cc: jan.h.d, emacs-devel If no further problems show up in a few days, please install your patch. Please install it in Emacs 22 as well as the trunk. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-07-10 22:01 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-07-03 4:24 [jbw@macs.hw.ac.uk: window-min-height not obeying its documentation in Emacs 22.1] Richard Stallman 2007-07-09 12:03 ` Jan Djärv 2007-07-09 17:51 ` martin rudalics 2007-07-10 5:38 ` Richard Stallman 2007-07-10 7:13 ` David Kastrup 2007-07-10 22:01 ` Richard Stallman 2007-07-10 12:11 ` martin rudalics 2007-07-10 22:01 ` Richard Stallman
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.