[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows: Emacs 24.1 binary size vs 24.2 binary size

From: Eli Zaretskii
Subject: Re: Windows: Emacs 24.1 binary size vs 24.2 binary size
Date: Mon, 10 Sep 2012 07:52:42 +0300

> Date: Sun, 9 Sep 2012 20:42:06 -0600
> From: Christoph <address@hidden>
> Cc: address@hidden
> Bisection via bootstraps lead to r108079 where the size decreases to 9,634
> KB.
> Backport fix for Bug#11989 from trunk.
> * mouse.el (mouse-drag-track): Do not set the mark if the user
> releases the mouse without selecting anything.
> Bootstrapping r108078 yields emacs.exe with 11,062KB, bootstrapping r108079
> yields 9,634KB. I did it multiple times to be sure.
> Any ideas?

None whatsoever.  This revision changes a few lines in a single
function, see the diffs below.  None of the changes should cause or
prevent loading of some other package, AFAICS.

IOW, it all sounds like some obscure bug triggered indirectly either
by previous versions or by the new version.  Beats me how, though.

One way to explore this further would be to dump the pure space in the
2 builds and compare them.  I don't know of any convenient method of
doing that.

In any case, I don't think you should delay the 24.2 binaries any
more.  I'm using 24.2 every day since the release, on 2 different
machines, and didn't see any problems.


=== modified file 'lisp/mouse.el'
--- lisp/mouse.el       2012-04-20 08:49:24 +0000
+++ lisp/mouse.el       2012-07-25 06:14:30 +0000
@@ -806,7 +806,7 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should
         ;; when setting point near the right fringe (but see below).
         (automatic-hscrolling-saved automatic-hscrolling)
         (automatic-hscrolling nil)
-        event end end-point)
+        moved-off-start event end end-point)
     (setq mouse-selection-click-count click-count)
     ;; In case the down click is in the middle of some intangible text,
@@ -841,6 +841,9 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should
          (setq end (event-end event)
                end-point (posn-point end))
+         ;; Note whether the mouse has left the starting position.
+         (unless (eq end-point start-point)
+           (setq moved-off-start t))
          (if (and (eq (posn-window end) start-window)
                   (integer-or-marker-p end-point))
              (mouse--drag-set-mark-and-point start-point
@@ -881,11 +884,11 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should
                   (let (deactivate-mark)
                     (copy-region-as-kill (mark) (point)))))
-         ;; If point hasn't moved, run the binding of the
-         ;; terminating up-event.
-         (if do-multi-click
-             (goto-char start-point)
-           (deactivate-mark))
+         ;; Otherwise, run binding of terminating up-event.
+         (cond
+          (do-multi-click (goto-char start-point))
+          (moved-off-start (deactivate-mark))
+          (t (pop-mark)))
          (when (and (functionp fun)
                     (= start-hscroll (window-hscroll start-window))
                     ;; Don't run the up-event handler if the window

reply via email to

[Prev in Thread] Current Thread [Next in Thread]