From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Keith David Bershatsky Newsgroups: gmane.emacs.bugs Subject: bug#22637: 25.1.50; `mode-line` face `:height` incompatible with `scroll-conservatively 101`. Date: Mon, 15 Feb 2016 18:51:26 -0800 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-Trace: ger.gmane.org 1455591159 15641 80.91.229.3 (16 Feb 2016 02:52:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 16 Feb 2016 02:52:39 +0000 (UTC) Cc: 22637@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Feb 16 03:52:27 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aVVkM-0007pR-H8 for geb-bug-gnu-emacs@m.gmane.org; Tue, 16 Feb 2016 03:52:14 +0100 Original-Received: from localhost ([::1]:38556 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aVVkI-0007QO-Fk for geb-bug-gnu-emacs@m.gmane.org; Mon, 15 Feb 2016 21:52:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46803) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aVVkE-0007Q2-61 for bug-gnu-emacs@gnu.org; Mon, 15 Feb 2016 21:52:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aVVkA-0000gF-Tt for bug-gnu-emacs@gnu.org; Mon, 15 Feb 2016 21:52:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:49856) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aVVkA-0000gA-Q0 for bug-gnu-emacs@gnu.org; Mon, 15 Feb 2016 21:52:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aVVkA-0004wi-Fi for bug-gnu-emacs@gnu.org; Mon, 15 Feb 2016 21:52:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Keith David Bershatsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 16 Feb 2016 02:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22637 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22637-submit@debbugs.gnu.org id=B22637.145559109718981 (code B ref 22637); Tue, 16 Feb 2016 02:52:02 +0000 Original-Received: (at 22637) by debbugs.gnu.org; 16 Feb 2016 02:51:37 +0000 Original-Received: from localhost ([127.0.0.1]:40631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aVVjk-0004w5-OV for submit@debbugs.gnu.org; Mon, 15 Feb 2016 21:51:36 -0500 Original-Received: from cobb.liquidweb.com ([50.28.13.150]:49396) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aVVjj-0004vt-1N for 22637@debbugs.gnu.org; Mon, 15 Feb 2016 21:51:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=mHJhhfxc598jOcRVvx7oGbRFS9m8cyVn1jVojGgoijo=; b=LRs5YFI8mnPAspuST9KQ3rvVDnQaOZZB761pRGoJG7wR46s4oizBItAXjvW2T5fY2P5X+VesBrYa86J3JYvIFXo+CgYr8NXchNgHzIAB2+n5pRIfiKpehEU/+Ioo8u23; Original-Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:54348 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1aVVja-0006P3-1c; Mon, 15 Feb 2016 21:51:26 -0500 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:113109 Archived-At: The same situation mentioned in my email earlier today (02/15/2016) is also present in the first test case that we looked at for #22637. I.e., after an insertion in the first test case, the `window-scroll-functions` hook never fires after `window-start` is corrected. So a user seeking to use the `window-scroll-functions` hook following a large insertion (e.g., a large yank, and so forth) is out of luck in that situation in terms of using a correct `window-start`. I have already dealt with it for the `window-start-end-hook` by forcing a call every command loop thereby bypassing "optimization 3"; however, the WSF has no fix at this time. The difference between the first and second test case is as follows: The first test case deals with a straight insertion. The second test case uses insertion merely to populate the buffer with some text so that we can then see what happens when using `goto-char`. I commented out the two lines of `goto-char` in the `test` function below to replicate the first test case scenario. The prior email is the second test case scenario. (face-spec-set 'mode-line '((((class color) (min-colors 88)) :box (:line-width -1 :style released-button) :background "grey75" :foreground "black" :height 120) (t :inverse-video t))) (setq scroll-conservatively 101) (global-eldoc-mode -1) (global-font-lock-mode -1) (blink-cursor-mode -1) (defun test () (interactive) (switch-to-buffer (get-buffer-create "*foo*")) (add-hook 'window-scroll-functions 'wsf-test-fn nil 'local) (buffer-disable-undo) (setq undo-auto-current-boundary-timer t timer-list (delq 'undo-auto--boundary-timer timer-list)) (dotimes (i 200) (insert (format "I will not obey absurd orders %d.\n" i))) ;; (goto-char (point-min)) ;; (goto-char (- (point-max) 1000)) ) (defun wsf-test-fn (win start) (let* ( (end (window-end nil t)) (pos-visible (pos-visible-in-window-p nil win nil)) ) (message "window-start: %s | window-end: %s | pos-visible: %s" start end pos-visible))) (global-set-key [f1] 'test)