From unknown Sun Aug 10 00:26:30 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#52855 <52855@debbugs.gnu.org> To: bug#52855 <52855@debbugs.gnu.org> Subject: Status: vc-shrink-buffer Reply-To: bug#52855 <52855@debbugs.gnu.org> Date: Sun, 10 Aug 2025 07:26:30 +0000 retitle 52855 vc-shrink-buffer reassign 52855 emacs submitter 52855 Juri Linkov severity 52855 wishlist tag 52855 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 28 13:31:48 2021 Received: (at submit) by debbugs.gnu.org; 28 Dec 2021 18:31:48 +0000 Received: from localhost ([127.0.0.1]:47382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2HGG-0007On-6R for submit@debbugs.gnu.org; Tue, 28 Dec 2021 13:31:48 -0500 Received: from lists.gnu.org ([209.51.188.17]:46988) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2HGE-0007Og-M4 for submit@debbugs.gnu.org; Tue, 28 Dec 2021 13:31:46 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2HGE-0002Rx-Ev for bug-gnu-emacs@gnu.org; Tue, 28 Dec 2021 13:31:46 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:54163) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2HGC-0003g7-1H for bug-gnu-emacs@gnu.org; Tue, 28 Dec 2021 13:31:45 -0500 Received: (Authenticated sender: juri@linkov.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id A29CA60007 for ; Tue, 28 Dec 2021 18:31:38 +0000 (UTC) From: Juri Linkov To: bug-gnu-emacs@gnu.org Subject: vc-shrink-buffer Organization: LINKOV.NET Date: Tue, 28 Dec 2021 20:29:09 +0200 Message-ID: <867dbosit6.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=217.70.183.195; envelope-from=juri@linkov.net; helo=relay3-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) --=-=-= Content-Type: text/plain When no shrink is needed, two new hooks are added in this patch with the default value containing vc-shrink-buffer to preserve the current behavior that can be easily removed in user configuration by e.g.: (remove-hook 'vc-diff-finish-functions 'vc-shrink-buffer) (remove-hook 'vc-log-finish-functions 'vc-shrink-buffer) --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-shrink-buffer.patch diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index ba94d908d1..7b710efff7 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1730,12 +1730,22 @@ vc-switches ;; any switches in diff-switches. (when (listp switches) switches)))) +(defun vc-shrink-buffer (&optional buffer) + "Call `shrink-window-if-larger-than-buffer' only when BUFFER is visible. +BUFFER defaults to the current buffer." + (let ((window (get-buffer-window buffer t))) + (when window + (shrink-window-if-larger-than-buffer window)))) + +(defvar vc-diff-finish-functions '(vc-shrink-buffer) + "Functions run at the end of the diff command. +Each function runs in the diff output buffer without args.") + (defun vc-diff-finish (buffer messages) ;; The empty sync output case has already been handled, so the only ;; possibility of an empty output is for an async process. (when (buffer-live-p buffer) - (let ((window (get-buffer-window buffer t)) - (emptyp (zerop (buffer-size buffer)))) + (let ((emptyp (zerop (buffer-size buffer)))) (with-current-buffer buffer (and messages emptyp (let ((inhibit-read-only t)) @@ -1744,8 +1754,7 @@ vc-diff-finish (diff-setup-whitespace) (diff-setup-buffer-type) (goto-char (point-min)) - (when window - (shrink-window-if-larger-than-buffer window))) + (run-hooks 'vc-diff-finish-functions)) (when (and messages (not emptyp)) (message "%sdone" (car messages)))))) @@ -2498,6 +2507,10 @@ vc-log-view-type (put 'vc-log-view-type 'permanent-local t) (defvar vc-sentinel-movepoint) +(defvar vc-log-finish-functions '(vc-shrink-buffer) + "Functions run at the end of the log command. +Each function runs in the log output buffer without args.") + (defun vc-log-internal-common (backend buffer-name files @@ -2529,11 +2542,11 @@ vc-log-internal-common (vc-run-delayed (let ((inhibit-read-only t)) (funcall setup-buttons-func backend files retval) - (shrink-window-if-larger-than-buffer) (when goto-location-func (funcall goto-location-func backend) (setq vc-sentinel-movepoint (point))) - (set-buffer-modified-p nil))))) + (set-buffer-modified-p nil) + (run-hooks 'vc-log-finish-functions))))) (defun vc-incoming-outgoing-internal (backend remote-location buffer-name type) (vc-log-internal-common --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 28 18:54:46 2021 Received: (at 52855) by debbugs.gnu.org; 28 Dec 2021 23:54:46 +0000 Received: from localhost ([127.0.0.1]:47709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2MIo-0000fW-MG for submit@debbugs.gnu.org; Tue, 28 Dec 2021 18:54:46 -0500 Received: from mail-wr1-f48.google.com ([209.85.221.48]:36477) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2MIn-0000fJ-73 for 52855@debbugs.gnu.org; Tue, 28 Dec 2021 18:54:45 -0500 Received: by mail-wr1-f48.google.com with SMTP id r17so41070714wrc.3 for <52855@debbugs.gnu.org>; Tue, 28 Dec 2021 15:54:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=FVosiu7ewMsjL31LwqqfxBoZl2qCl68SF87+e/TCFxg=; b=oQhKERuG89AopWLZkAHNHufUgpjAdti39cuViXDT1sPtlzJ5O0JoU5ubMM6vnGRe26 FJdLwvKRk/Sp2Dss7BmLIWxarSILwHXbviv2pA8cgNYKNZ9tif20LVFE2aFBqXTB1Udo vkTp1qrXJg4KBOgdnByB5OVJ7+wf7kCAHiBzrJHJkTERVH5iCSQW1BKoTIkRT9JVwoPV FQwSKtIXtCYfGY1yoe8RGzCpCCuaU0PVKn/6VZQ26RuUWQGU/R7NgZB8kQ2Rwh90eV4K HQ8jAEg+b9blOGuZSOGiPF37rtBretomwuKxxG1vgk8FKg2Vg2+k/GbsqJA2OpuGAmPf 8KpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=FVosiu7ewMsjL31LwqqfxBoZl2qCl68SF87+e/TCFxg=; b=c/kaZnySxn5dqASg/6pfx4xqbEa4wdZR+k/6aZztZB0O/XUD+xJhq7fq5HrRTex+ul E9cQ/XGwoLFqcl55KQ5BxsJC83VP5uoSLrd2M9OVVdEmXt4kvAnD47Ydnh6zIt7tJZud eKTPitLY7ex4VOlp1IpEjHAYcGg10Ymm5y0fo/Lg5HCOkLMIujH7TEYQ2M1Ef+2Mi5oi y1dEkzevGJQ1RERqcVKNEkrcjz4HnhP2zm8QBIH2rpyaNPFKWeCFxvh9LxVM+bhjKaT3 qjHQHnKvwKEye/+7JEzHxBnGt0Kj4LifZnQfLGR8F5eZSJAWKK+6qoBSi861F5EDQZaD WxFA== X-Gm-Message-State: AOAM531VJIuNE/2dJwQHAcZqctq79PJ9cPUf30azOqWDLO+5LNlKzE0u iF1+HpR3BkgnKdLamV6hikOsOQ6qso19BQ== X-Google-Smtp-Source: ABdhPJzCfXxIkUxo7SOxFnX3Vy3c4oK/FjiGmBrc8cW0xxuuXGEh3fO5FjuxcGDoWj8lP7qCxgmIaw== X-Received: by 2002:adf:e109:: with SMTP id t9mr17917177wrz.387.1640735679246; Tue, 28 Dec 2021 15:54:39 -0800 (PST) Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id m10sm20599785wms.25.2021.12.28.15.54.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Dec 2021 15:54:38 -0800 (PST) Subject: Re: bug#52855: vc-shrink-buffer To: Juri Linkov , 52855@debbugs.gnu.org References: <867dbosit6.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Wed, 29 Dec 2021 01:53:26 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <867dbosit6.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 52855 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) On 28.12.2021 21:29, Juri Linkov wrote: > When no shrink is needed, two new hooks are added in this patch > with the default value containing vc-shrink-buffer to preserve > the current behavior that can be easily removed in user configuration > by e.g.: > > (remove-hook 'vc-diff-finish-functions 'vc-shrink-buffer) > (remove-hook 'vc-log-finish-functions 'vc-shrink-buffer) So the idea is to allow customizing this behavior off? For those users who don't see the benefits? LGTM. From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 28 19:10:47 2021 Received: (at control) by debbugs.gnu.org; 29 Dec 2021 00:10:47 +0000 Received: from localhost ([127.0.0.1]:47716 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2MYJ-00013R-70 for submit@debbugs.gnu.org; Tue, 28 Dec 2021 19:10:47 -0500 Received: from mail-pj1-f51.google.com ([209.85.216.51]:51037) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2MYH-00013E-IY for control@debbugs.gnu.org; Tue, 28 Dec 2021 19:10:45 -0500 Received: by mail-pj1-f51.google.com with SMTP id gj24so17146226pjb.0 for ; Tue, 28 Dec 2021 16:10:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:mime-version:date:message-id:subject:to; bh=ga1RGC8HJ86bsuZx1P+wOfAyvxscNeiTZhu/txcwYVU=; b=5P4+T9h2Z7sWeecCqKhOu+uznT+oCOmKCi8Bo4G8JWzUjXuxXLiRAK+/S3qr0smU6D Kv4EtYSNAzUaGReYgS7HHngQKEieJMLlyolfMHRX+So42tz4+Dk+CfPmT5k0Peos+EwQ A/pwHplWW/4SEzoPWBOYOO+APT8sUw3LwuSXbu65l1PcLzOk69/7D/pIcKSX0csPfim/ Ebhi6cMftNG70gPnE0YnxF+9jVK0u0fFVIJiHocZ2Wqad5uR2H3tEiQj3mENwy7Ejbj1 8hOQC8sji84WIRb9KxiPIcIEx4h+HJdS6963Okvn5pkWuQJn7wIq0pRL1vqH+qH3UsE/ PfkQ== X-Gm-Message-State: AOAM533RvHGMr/orgIysjHQBHHaAU5JHNMC1a5egBQRd8Lk5HMP254ka FGlEKhoUmVxIZFutAxIJ1DGOuzvzlXK0XS/zjrWzP2Kz X-Google-Smtp-Source: ABdhPJw14ycg0cg1mQV1adCB0VPTaC2/OdrLLbsRWYfkY/kOs7UgmXfZTZzvIYBlK85qjE999Ysnh4z8tW/3Kfe9JoQ= X-Received: by 2002:a17:90b:4b0e:: with SMTP id lx14mr29055855pjb.132.1640736640059; Tue, 28 Dec 2021 16:10:40 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Tue, 28 Dec 2021 16:10:39 -0800 From: Stefan Kangas MIME-Version: 1.0 Date: Tue, 28 Dec 2021 16:10:39 -0800 Message-ID: Subject: control message for bug #52855 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) tags 52855 + patch quit From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 29 03:29:14 2021 Received: (at 52855) by debbugs.gnu.org; 29 Dec 2021 08:29:14 +0000 Received: from localhost ([127.0.0.1]:48013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2UKf-0000qi-St for submit@debbugs.gnu.org; Wed, 29 Dec 2021 03:29:14 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:41687) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2UKe-0000qV-5V for 52855@debbugs.gnu.org; Wed, 29 Dec 2021 03:29:12 -0500 Received: (Authenticated sender: juri@linkov.net) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 1A0641C0005; Wed, 29 Dec 2021 08:29:04 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#52855: vc-shrink-buffer Organization: LINKOV.NET References: <867dbosit6.fsf@mail.linkov.net> Date: Wed, 29 Dec 2021 10:23:08 +0200 In-Reply-To: (Dmitry Gutov's message of "Wed, 29 Dec 2021 01:53:26 +0200") Message-ID: <86tuer3jhb.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 52855 Cc: 52855@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> When no shrink is needed, two new hooks are added in this patch >> with the default value containing vc-shrink-buffer to preserve >> the current behavior that can be easily removed in user configuration >> by e.g.: >> (remove-hook 'vc-diff-finish-functions 'vc-shrink-buffer) >> (remove-hook 'vc-log-finish-functions 'vc-shrink-buffer) > > So the idea is to allow customizing this behavior off? > > For those users who don't see the benefits? What for one is a benefit, for others is an annoyance. > LGTM. Before pushing I only have a doubt about 'vc-shrink-buffer'. Currently it's a wrapper around 'shrink-window-if-larger-than-buffer' that has nothing to do with vc: (defun vc-shrink-buffer (&optional buffer) "Call `shrink-window-if-larger-than-buffer' only when BUFFER is visible. BUFFER defaults to the current buffer." (let ((window (get-buffer-window buffer t))) (when window (shrink-window-if-larger-than-buffer window)))) Maybe it should be in window.el and renamed to shrink-buffer-if-larger-than-buffer From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 29 10:47:09 2021 Received: (at 52855) by debbugs.gnu.org; 29 Dec 2021 15:47:09 +0000 Received: from localhost ([127.0.0.1]:49977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2bAT-0002DN-7M for submit@debbugs.gnu.org; Wed, 29 Dec 2021 10:47:09 -0500 Received: from mail-wm1-f51.google.com ([209.85.128.51]:42690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2bAR-00028x-Tl for 52855@debbugs.gnu.org; Wed, 29 Dec 2021 10:47:08 -0500 Received: by mail-wm1-f51.google.com with SMTP id a83-20020a1c9856000000b00344731e044bso11939003wme.1 for <52855@debbugs.gnu.org>; Wed, 29 Dec 2021 07:47:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=nXmjVP+y+s/DM9CM50jD4iqsUpZGEebzrdfvAThMmDs=; b=CMX3ZJSW+MxC+IlZQSyg1iFKXUZTe66VbWJiwF+DLv6hA/vkJE4G4q9ZbbbOuqaS+q /hn1M7bmxrBAxylDUk/OFWfNvdPW7AP5foJMyG2BHBP/X5FV4EVhLs7yYpx70vQFjta+ vnVyL0IBzoTNawdx7ICoUJr+//KP7HvXKw5GRXTLL3V6RPzankm9XYrUo69sycTw2C/C LgAIMMyheMWN0ZSr3nYwQpMeBuFaSVQwYR3S2DONrkLeksPkr5+euGtGuEczpxw1JfyA ky5JpIjRoxOLuyS2V1Koscz9/0mN6nkRPHMjDJIIO9qmHQqrzcEbFRRlyZymydfj4IEO gtAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=nXmjVP+y+s/DM9CM50jD4iqsUpZGEebzrdfvAThMmDs=; b=hz9qpcc5bg5a3pNtvyPtmk9n7shX7izzHlPjEeExwULtUYnt7SUs0AiCQu4+i1kAYS gld5q3piN1OqzBEwM16FpaThZxyUYmaUcEKLFVaNV8BTQ8x5J/wAvokkC9NYonOgUZzU /sSeq8ukUSBzPJoFtvcIu2ciK3QssYuWEeXvJ1XN91trCGhULwYJFeRDShkoRE8v3HGW 2QBhhAOiHHxHaDR1iCgfQhw98GCW/TZBg9Z1TCpcgJh17mv4YsOQqjZCuLYvs4RzQEXC m8WKkueeHrNHnMqkTc3GlzPoMJpt5bc3/gNaRK+yBo+akLX68ZvTE7kMiWCgOJnvFAMG jElQ== X-Gm-Message-State: AOAM533Qt31tN8uBTawY+KinzG4P/sBQ9yFTcCxYmthVENzhATREno15 1M/e1kfnQCnMxl1ip1qRmlrj9S/zh2w0hA== X-Google-Smtp-Source: ABdhPJwqdckIgZmbJ/S8AT36r9VMc9uI5rbBs9tp1W757NRxKcq+X5MGrMJ2BxTY2eclTTn6cD4WyA== X-Received: by 2002:a1c:4406:: with SMTP id r6mr22307604wma.42.1640792821883; Wed, 29 Dec 2021 07:47:01 -0800 (PST) Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id r11sm24432688wrz.78.2021.12.29.07.47.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 07:47:01 -0800 (PST) Subject: Re: bug#52855: vc-shrink-buffer To: Juri Linkov References: <867dbosit6.fsf@mail.linkov.net> <86tuer3jhb.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Wed, 29 Dec 2021 17:45:48 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <86tuer3jhb.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 52855 Cc: 52855@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) On 29.12.2021 11:23, Juri Linkov wrote: > Maybe it should be in window.el and renamed to > > shrink-buffer-if-larger-than-buffer Depends on whether we have similar code anywhere in Emacs, I guess? So it can reuse the new function. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 29 12:32:26 2021 Received: (at control) by debbugs.gnu.org; 29 Dec 2021 17:32:26 +0000 Received: from localhost ([127.0.0.1]:50238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2coM-0000H0-G1 for submit@debbugs.gnu.org; Wed, 29 Dec 2021 12:32:26 -0500 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:43515) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2coK-0000GX-6s; Wed, 29 Dec 2021 12:32:25 -0500 Received: (Authenticated sender: juri@linkov.net) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id A39BA2000A; Wed, 29 Dec 2021 17:32:15 +0000 (UTC) From: Juri Linkov To: martin rudalics Subject: Re: bug#51062: Customizable window resizing Organization: LINKOV.NET References: <87zgrm2h6v.fsf@mail.linkov.net> <63433373-a57b-a68a-8ccc-6d4a9192d9a4@gmx.at> <871r4oahjx.fsf@mail.linkov.net> <87wnmfk40w.fsf@mail.linkov.net> <87a6jbil4d.fsf@mail.linkov.net> <87o87mmjth.fsf@mail.linkov.net> <377a69a2-7694-bd7a-ac63-409e5064e5c9@gmx.at> Date: Wed, 29 Dec 2021 19:27:07 +0200 In-Reply-To: <377a69a2-7694-bd7a-ac63-409e5064e5c9@gmx.at> (martin rudalics's message of "Mon, 18 Oct 2021 19:44:15 +0200") Message-ID: <86czlf1fv8.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control Cc: 51062@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) forcemerge 51062 52855 stop >> Actually, the right name was 'vc-post-process-functions' >> proposed in bug#36859 (merged). > > You mean to run 'shrink-window-if-larger-than-buffer' from that hook > unless the user removed it? The problem is that the argument of this function should be a buffer, not a window as in 'shrink-window-if-larger-than-buffer'. This is why bug#52855 proposed to add a new function shrink-buffer-if-larger-than-buffer But not sure if this should be added to window.el, or better to leave in vc.el with the name vc-shrink-buffer? From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 11 12:36:16 2022 Received: (at control) by debbugs.gnu.org; 11 Jan 2022 17:36:16 +0000 Received: from localhost ([127.0.0.1]:55460 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n7L4C-0007Qd-A4 for submit@debbugs.gnu.org; Tue, 11 Jan 2022 12:36:16 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:52753) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n7L48-0007QD-3m; Tue, 11 Jan 2022 12:36:14 -0500 Received: (Authenticated sender: juri@linkov.net) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 43B691C0004; Tue, 11 Jan 2022 17:36:03 +0000 (UTC) From: Juri Linkov To: martin rudalics Subject: Re: bug#51062: Customizable window resizing Organization: LINKOV.NET References: <87zgrm2h6v.fsf@mail.linkov.net> <63433373-a57b-a68a-8ccc-6d4a9192d9a4@gmx.at> <871r4oahjx.fsf@mail.linkov.net> <87wnmfk40w.fsf@mail.linkov.net> <87a6jbil4d.fsf@mail.linkov.net> <87o87mmjth.fsf@mail.linkov.net> <377a69a2-7694-bd7a-ac63-409e5064e5c9@gmx.at> <86czlf1fv8.fsf@mail.linkov.net> <3c447b7e-7ce3-14fe-03d5-63cb7f75d783@gmx.at> <86bl0rgas3.fsf@mail.linkov.net> <7c39d839-3405-dad3-4e45-90152744e48f@gmx.at> Date: Tue, 11 Jan 2022 19:35:33 +0200 In-Reply-To: <7c39d839-3405-dad3-4e45-90152744e48f@gmx.at> (martin rudalics's message of "Tue, 4 Jan 2022 11:27:11 +0100") Message-ID: <86pmoynpju.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control Cc: 51062@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) close 51062 29.0.50 thanks >>> "shrink-buffer-if-larger-than-buffer"? Maybe this should become >>> 'shrink-buffer-window-if-larger-than-buffer' then. >> >> Should such a function be added to window.el? > > Maybe. But we could also rename the first argument of > 'shrink-window-if-larger-than-buffer' to WINDOW-OR-BUFFER. This can't be generalized because vc uses specific logic: (let ((window (get-buffer-window buffer t))) (with-current-buffer buffer ... (when window (shrink-window-if-larger-than-buffer window)))) >>> With the usual problem what to do when there are two windows showing >>> that buffer. >> >> It's understandable why vc-diff-internal and vc-diff-finish >> use get-buffer-window to get a window: >> >> vc-diff-internal: >> (pop-to-buffer (current-buffer)) >> (let ((buf (current-buffer))) >> (vc-run-delayed (vc-diff-finish buf ... >> >> vc-diff-finish: >> (let ((window (get-buffer-window buffer t))) >> (with-current-buffer buffer >> ... >> (when window >> (shrink-window-if-larger-than-buffer window)))) >> >> This is needed to handle the case when the window was deleted >> before the vc command finished. >> >> But why vc-log-internal-common doesn't so the same? >> >> vc-log-internal-common: >> (pop-to-buffer buffer) >> (vc-run-delayed >> ... >> (shrink-window-if-larger-than-buffer) >> >> So I posted a patch in bug#52855 to use the same function >> that relies on get-buffer-window in both cases. >> >> But it seems you propose to remember the window with e.g. >> >> (setq window (pop-to-buffer (current-buffer))) >> >> then to use it in: >> >> (run-hook-with-args 'vc-diff-finish-functions window) >> >> where the defalut value of 'vc-diff-finish-functions' is: >> >> '(shrink-window-if-larger-than-buffer) >> >> Then 'shrink-buffer-window-if-larger-than-buffer' is not needed. > > Personally I dislike abusing hooks like that. But I probably do not use > vc-... much either. And it would require a weird condition: (when window (run-hook-with-args 'vc-diff-finish-functions window)) > So do whatever you like more. So instead of above, I pushed the original patch with a better function name 'vc-shrink-buffer-window'. From unknown Sun Aug 10 00:26:30 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 09 Feb 2022 12:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator