all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dmitry Antipov <dmantipov@yandex.ru>
To: martin rudalics <rudalics@gmx.at>
Cc: emacs-devel@gnu.org
Subject: Re: [patch] proposal tiny cleanup for window code
Date: Wed, 07 Nov 2007 16:32:22 +0300	[thread overview]
Message-ID: <4731BE66.3030507@yandex.ru> (raw)
In-Reply-To: <4731B61D.7040106@gmx.at>

[-- Attachment #1: Type: text/plain, Size: 335 bytes --]

martin rudalics wrote:

> hence (the "implied") too_small_ok can be set to t when nodelete_p
> initially equals 2 and your version is not semantically equivalent to
> the previous one.  Please verify again.

Argh, you're right. But, it still should be enough to make too_small_ok
local instead of a member of struct window...

Dmitry


[-- Attachment #2: too_small_ok-drop-2.patch --]
[-- Type: text/x-patch, Size: 3897 bytes --]

Index: doc/lispref/ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/doc/lispref/ChangeLog,v
retrieving revision 1.15
diff -u -r1.15 ChangeLog
--- doc/lispref/ChangeLog	31 Oct 2007 04:08:29 -0000	1.15
+++ doc/lispref/ChangeLog	7 Nov 2007 13:39:04 -0000
@@ -1,3 +1,7 @@
+2007-11-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+	* internals.texi (Window Internals): Remove description of too_small_ok.
+	
 2007-10-31  Richard Stallman  <rms@gnu.org>
 
 	* strings.texi (Creating Strings): Null strings from concat not unique.
Index: doc/lispref/internals.texi
===================================================================
RCS file: /sources/emacs/emacs/doc/lispref/internals.texi,v
retrieving revision 1.2
diff -u -r1.2 internals.texi
--- doc/lispref/internals.texi	6 Sep 2007 04:27:42 -0000	1.2
+++ doc/lispref/internals.texi	7 Nov 2007 13:39:04 -0000
@@ -1280,9 +1280,6 @@
 Non-@code{nil} means current value of @code{start} was the beginning of a line
 when it was chosen.
 
-@item too_small_ok
-Non-@code{nil} means don't delete this window for becoming ``too small.''
-
 @item height_fixed_p
 This field is temporarily set to 1 to fix the height of the selected
 window when the echo area is resized.
Index: src/ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/src/ChangeLog,v
retrieving revision 1.5979
diff -u -r1.5979 ChangeLog
--- src/ChangeLog	6 Nov 2007 09:27:17 -0000	1.5979
+++ src/ChangeLog	7 Nov 2007 13:39:04 -0000
@@ -1,3 +1,8 @@
+2007-11-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+	* window.h (struct window): Remove too_small_ok.
+	* window.c (size_window): New local variable prevent_deletion_p.
+	
 2007-11-06  Jan Dj^[,Ad^[(Brv  <jan.h.d@swipnet.se>
 
 	* gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
Index: src/window.c
===================================================================
RCS file: /sources/emacs/emacs/src/window.c,v
retrieving revision 1.597
diff -u -r1.597 window.c
--- src/window.c	26 Oct 2007 20:56:47 -0000	1.597
+++ src/window.c	7 Nov 2007 13:39:10 -0000
@@ -3027,7 +3027,7 @@
   struct window *w = XWINDOW (window);
   struct window *c;
   Lisp_Object child, *forward, *sideward;
-  int old_size, min_size, safe_min_size;
+  int old_size, min_size, safe_min_size, prevent_deletion_p;
 
   check_min_window_sizes ();
   size = max (0, size);
@@ -3048,8 +3048,8 @@
       safe_min_size = window_min_size_2 (w, 0);
     }
 
-  if (old_size < min_size && nodelete_p != 2)
-    w->too_small_ok = Qt;
+  /* Don't delete this window even if it becomes "too small".  */
+  prevent_deletion_p = (old_size < min_size && nodelete_p != 2);
 
   /* Move the following test here since otherwise the
      preceding test doesn't make sense.  martin. */
@@ -3059,7 +3059,7 @@
   /* Maybe delete WINDOW if it's too small.  */
   if (nodelete_p != 1 && !NILP (w->parent))
     {
-      if (!MINI_WINDOW_P (w) && !NILP (w->too_small_ok))
+      if (!MINI_WINDOW_P (w) && prevent_deletion_p)
 	min_size = width_p ? MIN_SAFE_WINDOW_WIDTH : MIN_SAFE_WINDOW_HEIGHT;
       if (min_size < safe_min_size)
 	min_size = safe_min_size;
Index: src/window.h
===================================================================
RCS file: /sources/emacs/emacs/src/window.h,v
retrieving revision 1.73
diff -u -r1.73 window.h
--- src/window.h	2 Oct 2007 21:55:26 -0000	1.73
+++ src/window.h	7 Nov 2007 13:39:10 -0000
@@ -221,9 +221,6 @@
     /* If redisplay in this window goes beyond this buffer position,
        must run the redisplay-end-trigger-hook.  */
     Lisp_Object redisplay_end_trigger;
-    /* Non-nil means don't delete this window for becoming "too small".  */
-    Lisp_Object too_small_ok;
-
     /* Original window height and top before mini-window was
        enlarged. */
     Lisp_Object orig_total_lines, orig_top_line;

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

  reply	other threads:[~2007-11-07 13:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-07 10:58 [patch] proposal tiny cleanup for window code Dmitry Antipov
2007-11-07 12:57 ` martin rudalics
2007-11-07 13:32   ` Dmitry Antipov [this message]
2007-11-07 15:38     ` martin rudalics
2007-11-08  4:42 ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4731BE66.3030507@yandex.ru \
    --to=dmantipov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.