From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Sep 2022 19:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.166318456416731 (code B ref -1); Wed, 14 Sep 2022 19:43:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Sep 2022 19:42:44 +0000 Received: from localhost ([127.0.0.1]:56311 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYYHU-0004Lm-JG for submit@debbugs.gnu.org; Wed, 14 Sep 2022 15:42:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:49866) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYYHS-0004Le-3y for submit@debbugs.gnu.org; Wed, 14 Sep 2022 15:42:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54630) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oYYHR-0005A1-Sw for bug-gnu-emacs@gnu.org; Wed, 14 Sep 2022 15:42:41 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:58915) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oYYHQ-0008Pn-4g for bug-gnu-emacs@gnu.org; Wed, 14 Sep 2022 15:42:41 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 707E820003 for ; Wed, 14 Sep 2022 19:42:37 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET Date: Wed, 14 Sep 2022 22:40:07 +0300 Message-ID: <86pmfxlp7s.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; charset=utf-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=217.70.183.200; envelope-from=juri@linkov.net; helo=relay7-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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) 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 (--) (info "(elisp) Icons") suggests to use: (define-icon outline-open button '((image "right.svg" "open.xpm" "open.pbm" :height line) (emoji "▶️") (symbol "▶" "➤") (text "open" :face icon-button)) "Icon used for buttons for opening a section in outline buffers." :version "29.1" :help-echo "Open this section") So I tried this with 'C-h b', but images are displayed as black boxes. PS: "right.svg" exists in etc/images/right.svg. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Sep 2022 16:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166325955026879 (code B ref 57813); Thu, 15 Sep 2022 16:33:02 +0000 Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 16:32:30 +0000 Received: from localhost ([127.0.0.1]:59030 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYrmv-0006zT-R3 for submit@debbugs.gnu.org; Thu, 15 Sep 2022 12:32:30 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:41887) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYrmt-0006z3-Ck for 57813@debbugs.gnu.org; Thu, 15 Sep 2022 12:32:28 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 7A80540010 for <57813@debbugs.gnu.org>; Thu, 15 Sep 2022 16:32:20 +0000 (UTC) From: Juri Linkov In-Reply-To: <86pmfxlp7s.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 14 Sep 2022 22:40:07 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> Date: Thu, 15 Sep 2022 19:30:32 +0300 Message-ID: <861qsca9cn.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; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) 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 (-) > (info "(elisp) Icons") suggests to use: > > (define-icon outline-open button > '((image "right.svg" "open.xpm" "open.pbm" :height line) > (emoji "▶️") > (symbol "▶" "➤") > (text "open" :face icon-button)) > "Icon used for buttons for opening a section in outline buffers." > :version "29.1" > :help-echo "Open this section") > > So I tried this with 'C-h b', but images are displayed as black boxes. > > PS: "right.svg" exists in etc/images/right.svg. Fixed now in 471414fe6b. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Sep 2022 16:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166325991127456 (code B ref 57813); Thu, 15 Sep 2022 16:39:02 +0000 Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 16:38:31 +0000 Received: from localhost ([127.0.0.1]:59046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYrsk-00078m-MJ for submit@debbugs.gnu.org; Thu, 15 Sep 2022 12:38:30 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:38529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYrsi-00078X-1c for 57813@debbugs.gnu.org; Thu, 15 Sep 2022 12:38:29 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 0F062E000C for <57813@debbugs.gnu.org>; Thu, 15 Sep 2022 16:38:18 +0000 (UTC) From: Juri Linkov In-Reply-To: <861qsca9cn.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 15 Sep 2022 19:30:32 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> Date: Thu, 15 Sep 2022 19:36:52 +0300 Message-ID: <86sfks8uhn.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="=-=-=" X-Spam-Score: -0.7 (/) 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 (-) --=-=-= Content-Type: text/plain >> So I tried this with 'C-h b', but images are displayed as black boxes. >> >> PS: "right.svg" exists in etc/images/right.svg. > > Fixed now in 471414fe6b. S-TAB is so slow that it takes several seconds on etc/NEWS. Here is an attempt to optimize it, so that it's almost instantaneous: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=outline--fix-up-all-buttons.patch diff --git a/lisp/outline.el b/lisp/outline.el index b19e0cf811..ff6eebcd1b 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -982,8 +989,6 @@ outline-hide-subtree (interactive (list last-nonmenu-event)) (when (mouse-event-p event) (mouse-set-point event)) - (when (outline--use-buttons-p) - (outline--insert-close-button)) (outline-flag-subtree t)) (defun outline--make-button-overlay (type) @@ -1051,9 +1056,12 @@ outline--fix-up-all-buttons ;; `outline--cycle-state' will fail if we're in a totally ;; collapsed buffer -- but in that case, we're not in a ;; `show-all' situation. - (if (eq (ignore-errors (outline--cycle-state)) 'show-all) - (outline--insert-open-button) - (outline--insert-close-button))) + (if (save-excursion + (outline-end-of-heading) + (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) + (overlays-at (point)))) + (outline--insert-close-button) + (outline--insert-open-button))) (or from (point-min)) (or to (point-max))))) (define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1") @@ -1076,8 +1084,6 @@ outline-show-subtree (interactive (list last-nonmenu-event)) (when (mouse-event-p event) (mouse-set-point event)) - (when (outline--use-buttons-p) - (outline--insert-open-button)) (outline-flag-subtree nil)) (define-obsolete-function-alias 'show-subtree #'outline-show-subtree "25.1") --=-=-=-- From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Sep 2022 16:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166326082129057 (code B ref 57813); Thu, 15 Sep 2022 16:54:01 +0000 Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 16:53:41 +0000 Received: from localhost ([127.0.0.1]:59079 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYs7Q-0007Yb-JM for submit@debbugs.gnu.org; Thu, 15 Sep 2022 12:53:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50946) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYs7M-0007YK-Vt for 57813@debbugs.gnu.org; Thu, 15 Sep 2022 12:53:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44150) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oYs7H-0006zz-Nf; Thu, 15 Sep 2022 12:53:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=TcrPH0D0XU5W3VOnZ4t2JEZ9+AZV6c6GNxy2/ALrvSI=; b=Axj3VKvWIBKI 6AtnPEEkAcBa3cQn/KTldHUnzZaNVMC1dQ4gjw86oMK4ekHt548pz5GxPKBl9B2XSjjDngM4CyK7L 04uAHi+QXTUHtkHdTkStsETKN+sbk6xyCUrqJQfayeI9Vt3SdVoRH8/OZamy5NKlTeQzgoACyBhDy ibc31EKL+ySn8Pxgc0PKKH6OmUengmEVtn2PTcRm7jGJzLLqAIs1q4N5DyJSbLnrfkZJxJjmwhwDd UfRYFPmXfOzDxG+i2FhmNCH418xNLVlkibe3sz44kc7lYki5CDht1L5tJxON9h7tCCQGSWN/zQe0S 8REtLvcox76oefibCgIw8g==; Received: from [87.69.77.57] (port=3822 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oYs7F-0004ny-UQ; Thu, 15 Sep 2022 12:53:31 -0400 Date: Thu, 15 Sep 2022 19:53:22 +0300 Message-Id: <83bkrgziil.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86sfks8uhn.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 15 Sep 2022 19:36:52 +0300) References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <86sfks8uhn.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Date: Thu, 15 Sep 2022 19:36:52 +0300 > > S-TAB is so slow that it takes several seconds on etc/NEWS. Please profile it and post the profile. For me, S-TAB is instantaneous in NEWS, even though my Emacs is built without optimizations. So I wonder what takes it several seconds in your case. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Sep 2022 17:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.1663263487898 (code B ref 57813); Thu, 15 Sep 2022 17:39:01 +0000 Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 17:38:07 +0000 Received: from localhost ([127.0.0.1]:59126 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYsoR-0000EQ-Bs for submit@debbugs.gnu.org; Thu, 15 Sep 2022 13:38:07 -0400 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:34175) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYsoM-0000DZ-Ui for 57813@debbugs.gnu.org; Thu, 15 Sep 2022 13:38:06 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id EDBE1C0005; Thu, 15 Sep 2022 17:37:53 +0000 (UTC) From: Juri Linkov In-Reply-To: <83bkrgziil.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 15 Sep 2022 19:53:22 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <86sfks8uhn.fsf@mail.linkov.net> <83bkrgziil.fsf@gnu.org> Date: Thu, 15 Sep 2022 20:35:38 +0300 Message-ID: <86pmfw7d79.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-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 (-) >> S-TAB is so slow that it takes several seconds on etc/NEWS. > > Please profile it and post the profile. For me, S-TAB is > instantaneous in NEWS, even though my Emacs is built without > optimizations. So I wonder what takes it several seconds in your > case. Maybe you didn't enable buttons? With something like: (setq outline-minor-mode-use-buttons '(derived-mode . special-mode)) This is before optimization: 1995 89% - command-execute 1959 87% - funcall-interactively 1946 86% - outline-cycle-buffer 1379 61% - outline-hide-sublevels 1375 61% - outline-flag-region 1375 61% - outline--fix-up-all-buttons 1371 61% - outline-map-region 1371 61% - # 1339 59% - outline--cycle-state 43 1% + outline-end-of-subtree 20 0% + seq-filter 4 0% outline-back-to-heading 20 0% + outline--insert-close-button 4 0% + outline-map-region 567 25% - outline--fix-up-all-buttons 567 25% - outline-map-region 563 25% - # 511 22% - outline--cycle-state 260 11% + outline-end-of-subtree 20 0% + seq-filter 4 0% outline-back-to-heading 16 0% + outline--insert-close-button This is after optimization that removed 'outline--cycle-state': 287 82% - command-execute 229 65% - funcall-interactively 216 61% - outline-cycle-buffer 108 30% - outline-hide-sublevels 104 29% - outline-flag-region 104 29% - outline--fix-up-all-buttons 104 29% - outline-map-region 92 26% - # 80 22% - outline--insert-close-button 64 18% - outline--make-button-overlay 56 16% + icon-elements 8 2% + seq-find 12 3% + define-keymap 4 1% + outline-map-region 108 30% - outline--fix-up-all-buttons 108 30% - outline-map-region 104 29% - # 88 25% - outline--insert-close-button 60 17% - outline--make-button-overlay 60 17% + icon-elements 20 5% + define-keymap From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Sep 2022 18:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16632667956478 (code B ref 57813); Thu, 15 Sep 2022 18:34:02 +0000 Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 18:33:15 +0000 Received: from localhost ([127.0.0.1]:59161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYtfm-0001gQ-NH for submit@debbugs.gnu.org; Thu, 15 Sep 2022 14:33:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYtfj-0001gC-Uh for 57813@debbugs.gnu.org; Thu, 15 Sep 2022 14:33:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39392) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oYtfe-0008Jg-6y; Thu, 15 Sep 2022 14:33:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Vs8wic76VNppM76KeLp8nej2MN8VASrHxsvJXrEnOEA=; b=aX+tJaMcmnpX JK1RmKSCwT6MlXGTc2YVD0YrFYQpGvZTX9WHQbx3vWZKy2eksxxjeGK94uu/kik1kFjRicwqxQVtD HodhT11DZDwUWshW4Nn3s41xKRE7J+LnN6maKmGjkB7ELKI0jSXOZNT1sVscdGBsjqWjHfSqJlduJ xxhIp8Tmt0ewfR4Ian/KyHtZs5/UYzOWlQWxBAEH94RijtNIr8rKqZpFkSP9iRQSh2FeFoiRSfRi1 lTxb7IqWccgvFIwLmqOqCmCTJ87+hip1OVXODHE+iJdzkFoYYWWWefqnNO1h76DK1oWYDHd5Orbrr 8ONaFYYbpZbjFLPwkjJ4gw==; Received: from [87.69.77.57] (port=1933 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oYtfd-0007y9-KV; Thu, 15 Sep 2022 14:33:05 -0400 Date: Thu, 15 Sep 2022 21:32:58 +0300 Message-Id: <835yhozdwl.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86pmfw7d79.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 15 Sep 2022 20:35:38 +0300) References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <86sfks8uhn.fsf@mail.linkov.net> <83bkrgziil.fsf@gnu.org> <86pmfw7d79.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Cc: 57813@debbugs.gnu.org > Date: Thu, 15 Sep 2022 20:35:38 +0300 > > >> S-TAB is so slow that it takes several seconds on etc/NEWS. > > > > Please profile it and post the profile. For me, S-TAB is > > instantaneous in NEWS, even though my Emacs is built without > > optimizations. So I wonder what takes it several seconds in your > > case. > > Maybe you didn't enable buttons? Maybe you didn't tell I should? > With something like: > > (setq outline-minor-mode-use-buttons '(derived-mode . special-mode)) I still cannot reproduce this, after evaluating the above and visiting NEWS. Neither do I see buttons in NEWS. What else is needed? Can you show a recipe starting from "emacs -Q"? > This is before optimization: > > 1995 89% - command-execute > 1959 87% - funcall-interactively > 1946 86% - outline-cycle-buffer > 1379 61% - outline-hide-sublevels > 1375 61% - outline-flag-region > 1375 61% - outline--fix-up-all-buttons > 1371 61% - outline-map-region > 1371 61% - # > 1339 59% - outline--cycle-state > 43 1% + outline-end-of-subtree And if you load outline.el (not .elc or .eln)? How does the profile before optimization look then? From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Sep 2022 19:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166327132713867 (code B ref 57813); Thu, 15 Sep 2022 19:49:02 +0000 Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 19:48:47 +0000 Received: from localhost ([127.0.0.1]:59223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYuqt-0003bb-2B for submit@debbugs.gnu.org; Thu, 15 Sep 2022 15:48:47 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:49679) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYuqp-0003bK-Cq for 57813@debbugs.gnu.org; Thu, 15 Sep 2022 15:48:45 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id CAE851BF209; Thu, 15 Sep 2022 19:48:33 +0000 (UTC) From: Juri Linkov In-Reply-To: <835yhozdwl.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 15 Sep 2022 21:32:58 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <86sfks8uhn.fsf@mail.linkov.net> <83bkrgziil.fsf@gnu.org> <86pmfw7d79.fsf@mail.linkov.net> <835yhozdwl.fsf@gnu.org> Date: Thu, 15 Sep 2022 22:46:56 +0300 Message-ID: <86h718774f.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-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 (-) >> With something like: >> >> (setq outline-minor-mode-use-buttons '(derived-mode . special-mode)) > > I still cannot reproduce this, after evaluating the above and visiting > NEWS. Neither do I see buttons in NEWS. What else is needed? Can > you show a recipe starting from "emacs -Q"? 1. Eval: (setq outline-minor-mode-use-buttons '(derived-mode . special-mode)) 2. Type 'C-h n'. 3. 'S-TAB' on a heading. > And if you load outline.el (not .elc or .eln)? How does the profile > before optimization look then? 5236 87% - command-execute 5178 86% - funcall-interactively 5166 86% - outline-cycle-buffer 5166 86% - let 5166 86% - outline--fix-up-all-buttons 5166 86% - if 5166 86% - progn 5166 86% - outline-map-region 5166 86% - save-excursion 5166 86% - if 5166 86% - progn 5162 86% - while 5150 86% - funcall 5150 86% - # 5150 86% - if 5142 86% - eq 5142 86% - condition-case 5142 86% - progn 5142 86% - outline--cycle-state 5138 86% - save-excursion 5138 86% - let 3718 62% + outline-back-to-heading 824 13% + outline-end-of-subtree 314 5% + cond 274 4% + setq 8 0% + outline-end-of-heading The patch removes the problematic outline-back-to-heading and outline-end-of-subtree. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Sep 2022 20:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166327226315487 (code B ref 57813); Thu, 15 Sep 2022 20:05:02 +0000 Received: (at 57813) by debbugs.gnu.org; 15 Sep 2022 20:04:23 +0000 Received: from localhost ([127.0.0.1]:59260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYv5z-00041j-Do for submit@debbugs.gnu.org; Thu, 15 Sep 2022 16:04:23 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:39841) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYv5x-00041U-DX for 57813@debbugs.gnu.org; Thu, 15 Sep 2022 16:04:21 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id EAAF7240002 for <57813@debbugs.gnu.org>; Thu, 15 Sep 2022 20:04:13 +0000 (UTC) From: Juri Linkov In-Reply-To: <861qsca9cn.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 15 Sep 2022 19:30:32 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> Date: Thu, 15 Sep 2022 22:53:07 +0300 Message-ID: <867d2476u4.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="=-=-=" 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" --=-=-= Content-Type: text/plain > Fixed now in 471414fe6b. Since now images can be displayed in outlines, here is a patch that adds nice images to outlines that look like this: --=-=-= Content-Type: image/png Content-Disposition: inline; filename=outlines.png Content-Transfer-Encoding: base64 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 VegAAAAASUVORK5CYII= --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=outline-svg.patch Content-Transfer-Encoding: 8bit diff --git a/etc/images/outline-close.svg b/etc/images/outline-close.svg new file mode 100644 index 0000000000..ea9157a5fb --- /dev/null +++ b/etc/images/outline-close.svg @@ -0,0 +1,6 @@ + +outline-close + + + + diff --git a/etc/images/outline-open.svg b/etc/images/outline-open.svg new file mode 100644 index 0000000000..75cf6aff9f --- /dev/null +++ b/etc/images/outline-open.svg @@ -0,0 +1,4 @@ + +outline-open + + diff --git a/lisp/emacs-lisp/icons.el b/lisp/emacs-lisp/icons.el index 93749a3451..ff4f20c207 100644 --- a/lisp/emacs-lisp/icons.el +++ b/lisp/emacs-lisp/icons.el @@ -202,7 +202,7 @@ icons--create :height (if (eq height 'line) (window-default-line-height) height) - :scale 1) + :scale 1 :ascent 'center) (create-image file)))))) (cl-defmethod icons--create ((_type (eql 'emoji)) icon _keywords) diff --git a/lisp/outline.el b/lisp/outline.el index b19e0cf811..364c3bee84 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -292,16 +295,18 @@ outline-minor-mode-use-buttons :safe #'booleanp :version "29.1") -(define-icon outline-open button - '((emoji "🔽") +(define-icon outline-open nil + '((image "outline-open.svg" :height 15 :ascent center) + (emoji "🔽") (symbol " ▼ ") (text " open ")) "Icon used for buttons for opening a section in outline buffers." :version "29.1" :help-echo "Open this section") -(define-icon outline-close button - '((emoji "▶️") +(define-icon outline-close nil + '((image "outline-close.svg" :height 15 :ascent center) + (emoji "▶️") (symbol " ▶ ") (text " close ")) "Icon used for buttons for closing a section in outline buffers." --=-=-=-- From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 16 Sep 2022 05:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.1663306165586 (code B ref 57813); Fri, 16 Sep 2022 05:30:02 +0000 Received: (at 57813) by debbugs.gnu.org; 16 Sep 2022 05:29:25 +0000 Received: from localhost ([127.0.0.1]:41212 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZ3um-00009O-9r for submit@debbugs.gnu.org; Fri, 16 Sep 2022 01:29:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZ3uh-000098-0Y for 57813@debbugs.gnu.org; Fri, 16 Sep 2022 01:29:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47024) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZ3ub-0005d0-1u; Fri, 16 Sep 2022 01:29:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=RA+j15hl8wJuzygsVmvyRW6PK760jIPLO691IkAMDsI=; b=CZozB47rAuYu iFJ8EVUPTi+V4u5lrTob9WJg4Jiubd/LVCzeHv7nheLtRqxNZegKUQCpT8ZV+bgi+wTFL0XgBugSM ANMOLYZ2Fh/3NUz+5SmvJ0GoxQIAZstRQtSJwy7kvSoF2c1wMosIo4Hgfgdk1O8fdHGAmlU5gT5+R IEY15x1wrfHkknqTbcIGXaHbivbs5aexInDPL6Z+mtpvfVdL2R0ykLib05NWYLT/KLRwnZFuTQMj2 sIK1+VYNiMgMO6lhK8hi4jQpwt/gvejeEyxpiHgTFp0gFel3WPxXyoj/mGn7KJ7qwWTFpjEbwK9ee rPQbPyQrbWh222sJThubtw==; Received: from [87.69.77.57] (port=4699 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZ3uY-0005oc-2T; Fri, 16 Sep 2022 01:29:12 -0400 Date: Fri, 16 Sep 2022 08:29:02 +0300 Message-Id: <831qsb6g69.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <867d2476u4.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 15 Sep 2022 22:53:07 +0300) References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Date: Thu, 15 Sep 2022 22:53:07 +0300 > > Since now images can be displayed in outlines, > here is a patch that adds nice images to outlines > that look like this: Thanks, LGTM. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 16 Sep 2022 07:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166331225910975 (code B ref 57813); Fri, 16 Sep 2022 07:11:02 +0000 Received: (at 57813) by debbugs.gnu.org; 16 Sep 2022 07:10:59 +0000 Received: from localhost ([127.0.0.1]:41365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZ5V4-0002qv-N5 for submit@debbugs.gnu.org; Fri, 16 Sep 2022 03:10:58 -0400 Received: from relay11.mail.gandi.net ([217.70.178.231]:41563) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZ5V1-0002qU-64 for 57813@debbugs.gnu.org; Fri, 16 Sep 2022 03:10:56 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 03FB8100009; Fri, 16 Sep 2022 07:10:45 +0000 (UTC) From: Juri Linkov In-Reply-To: <831qsb6g69.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 16 Sep 2022 08:29:02 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> Date: Fri, 16 Sep 2022 10:09:50 +0300 Message-ID: <86illnpzgh.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-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 (-) >> Since now images can be displayed in outlines, >> here is a patch that adds nice images to outlines >> that look like this: > > Thanks, LGTM. So now pushed to master. Next I could try to add an option to display these outline images in margins. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 16 Sep 2022 16:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166334504414333 (code B ref 57813); Fri, 16 Sep 2022 16:18:01 +0000 Received: (at 57813) by debbugs.gnu.org; 16 Sep 2022 16:17:24 +0000 Received: from localhost ([127.0.0.1]:44014 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZE1s-0003j6-Hc for submit@debbugs.gnu.org; Fri, 16 Sep 2022 12:17:24 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:41723) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZE1p-0003ir-5O for 57813@debbugs.gnu.org; Fri, 16 Sep 2022 12:17:23 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id E9064FF803; Fri, 16 Sep 2022 16:17:13 +0000 (UTC) From: Juri Linkov In-Reply-To: <86h718774f.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 15 Sep 2022 22:46:56 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <86sfks8uhn.fsf@mail.linkov.net> <83bkrgziil.fsf@gnu.org> <86pmfw7d79.fsf@mail.linkov.net> <835yhozdwl.fsf@gnu.org> <86h718774f.fsf@mail.linkov.net> Date: Fri, 16 Sep 2022 19:16:55 +0300 Message-ID: <86illnguq0.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-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 (-) > The patch removes the problematic outline-back-to-heading and > outline-end-of-subtree. This is pushed as well. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Sep 2022 19:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16634437769007 (code B ref 57813); Sat, 17 Sep 2022 19:43:02 +0000 Received: (at 57813) by debbugs.gnu.org; 17 Sep 2022 19:42:56 +0000 Received: from localhost ([127.0.0.1]:47222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZdiK-0002LC-8d for submit@debbugs.gnu.org; Sat, 17 Sep 2022 15:42:56 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:44139) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZdiG-0002Kv-5T for 57813@debbugs.gnu.org; Sat, 17 Sep 2022 15:42:54 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id AC56860003; Sat, 17 Sep 2022 19:42:44 +0000 (UTC) From: Juri Linkov In-Reply-To: <86illnpzgh.fsf@mail.linkov.net> (Juri Linkov's message of "Fri, 16 Sep 2022 10:09:50 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> Date: Sat, 17 Sep 2022 22:37:22 +0300 Message-ID: <86mtaxaj2l.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="=-=-=" X-Spam-Score: -0.7 (/) 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 (-) --=-=-= Content-Type: text/plain > Next I could try to add an option to display these outline images in > margins. Here is a preliminary patch, but using buffer-local left-margin-width exhibits strange behavior: margins don't always appear immediately after switching the buffer. --=-=-= Content-Type: image/png Content-Disposition: inline; filename=outline-minor-mode-use-margins.png Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAiYAAAEKCAIAAACpKgnBAAAACXBIWXMAABDDAAAQwwHmNsGNAAAg AElEQVR42uxdd3wUxdt/ZnevpvfeGy0QehWQooCCNBFFARUrKnZFwV5Rf4KvCjYsFKV3pPfeOwQS UkhISL3L1b0t8/6xSbiUu1zuLpDIfD/KB3b3dp55nnnazOw86MKFC0BAQEBAQND0oAgLCAgICAha kMvBZafXzv/+t13XxdvbGazLOrx59cZTZZgIlqB5obnoCAER/e3ti3Muh0v/+9VHxr/053kzAAAI xSfWr9pyPM90m029kLv1p+/nb7qkE+shsqWghZLtECx5+37/ZNrjD40aMWLUuEmvLrzAAwA2ZW3/ 5YMXJ40b9cADox56/J3lmcJ/0O40Fx0hI/92i75Fd9MNw5ix5c20W96fNOc4V/u6LO2F3z8ZKi/N u16hF/OKLRiUCICiEACikJs9qg0a6LgJc+Y8EkfX40BpKzosNYnkLy2Z8c16NOzLT0eFu5bb8WWX dq5fv+vIucwCjRmp/SOS03oNGnFf71jPxjDAFj21yG4WMBz9ZcbPe66XVRhZAdMylad/aGxKp7uG jxzc2o92WJyGE7+8N+tfTVDagFFDQuQWDUoOowFrD3z//re7DeGdB45uGyQzlcuSQm/5bK9h+0eP /u+wpf6bKOC+z+Y/355xdT7BzTrSeO1oBjGydsv7k+acbv3cb5/dH1iHE7dv5DetRtcS/e3qpk3m 82d+fOKdf5kHvvj5qbZM0w9jm00gmgGggjsN65+oth7QkUlqBMq+b/wSMx6Hx/sgrgmjNhs0UAGp fg5YJc+aRGLjjZyCikjKNXuGy0/88elXKy7pGO/Y1E79u3kI5TlnT21dcGz7pm5TZrwxPEHl8Jts 0ON5a3jbqE4LFdezrmsCu40a1doTLPqyG9nnju1bcXrfrhPTZr09MMQxlhqPb9lVxKS99N3/RgZi EYDCvNlsKT205WCZuufb3392j48gAqIwbzLf6o7L43qPGhPJAwCAWHhsw4FrypT+g9r6IQAA5Nku uDkuebqmHbeRZkQzlAMKe6sGd5NrdHNRcJvMpxkKAaJvUZRi36vRkX0nPjOihksUOTPLYx75xMSB wIlNz7N6aMA8a+YanEysQySq/N+FtPLami8/X3EJJzzw4Scv3B3G8CJGFI30F5d+OmPewZ8/nhs4 55WePo62UT89t5K3jRiuAHR0/wmT7/VBiEIURRnPznvplX8O/rXiTN/n02QOvEEsL75hQb7xMSqj 0XTzaumNIp4KSoiSGayu3mrIk4Y9046WZMEdnrX9QJ5/1/HPP5FEAwBgkWfNlmY6D++0djTHHOg2 jPxbodEtQsFvHZiG4lvWZDLV4aKQteiFaX8b7vv8l2faMTZmUTJ3/L1ozb5z18p5ZXBC50HjJ43p HOTU5IQNGgAAhLJz6xf9velweoEOe4a36pjAmwA87RDJn//5yeE/Sz1PefzHr8dGNCIgxLqD/yw9 b1J3fuXjF3v6sBV6tmqkxY6cMaPw6VdW7lqw9oFujyXQAIA1J5fNX3s0Myf/RpnegpS+YUmd7x45 7oGuYXLrnLYuPfWQjU05e5ctXr3rdHYZK/OP7dD3gUfG9YtVSyzBZccW/7LmeE5eYbHGYBaQyj+6 ff9xkx/pEymvzqjPr/tz0cbDlwt0vMwrIDzx3ufeHdda7sT8A2symysFgRIG949flnG18IYegx8C 7ui3j324K+KJuV+NrpxVEDIXvPjKUsuIWfOmtGYAsCiIWLyx4tXhK6QXeAyYuei1zoIoYCF3wfP3 L6gxi2V7/GDdxY2L1+w/dzm7oEzPIbV/0gNvf/ZwssGVPmKBNRkr/85JoafIGo3GGnGfXSk49EDN aQ73CMW2dlQOjOy8whKNgRUZr7DWd42dMNDjzMYNe09m5JebZX5xnYZOfOrBjgFU5Q8O/jJrwYHs wnKDQHsGxaUNfPiJB7tYKS025e5b/veaPaezik1I5ReeMvjJN8Z38EBu6kvtkW/jtY5plvs1usER 7qCFqdXNhvXXvebUsTlwB5tzRhZOUk0zNADF0LYyzPN/vvP+8mxVSr9hD0cxhce27ljwUXrJe98+ 39nTfZOXWHv0x7c/3XydCUvrfV+Cj6Xw3OH9l7UiFWSHSCq094Qxad4AALR/5cSJwzCe2ne0AnyH jLnbt2bUi3kLSn5geKs1c9MP7L/6SEISDSBq0vftOpoX3OGuQb195YIm5+ShbX9+ePDYpI8/fDBJ aY+e2mSbLv0z471F6XxI+7uG9vHUZx7et/zrk2fyPvr00dYqABB1GYf3n8wL7dh/cF8fGa/JOXng 8PIvr5TS373a0wcBiPlrP3v/l0uqVv1HPBbnJWjyMorVHq4PVqzLzS0WKXVwiBeq5DYCoGkrBaMY qg7/vdqPfPSuMAoAkCwqnpaCQiqg64MPdQtEAIDU8VG03fEjlp7evGHftcB2fQbdFeyJdUUoJgg1 TR+t0YAUHHigRsrX9ARXDoz8sC4Dh9ztJWOLzu7ds/7b19chRVDrbl0Hd1boMw7u3rfgk1LZ7C9G R9EAgFRypVdiz6F9/VWiJvPgtn2LPrnGfzX7sSSJMPPlpTNnLrjE+qf0GNQzhDEV55YyHkrkxr7U GPk2X+uYZrlfox0c4Q1bmJoK3pD+3ipz6pT1dkYW9oeGcP3gkj8Kbv6Ujuj94D3JDU1u8lmr5626 qu4/4+f3BviJAlCTRrZ984nZ21bsfLDT8ODGMkkoOLR8QdFNGij/jvffl+qLuIvLftlyXZb69A/f PBLHCBgo2nLki0fe3mzvZVRA+3tGjgpDlcPKIuDGEJKTa8Z0mzbxVN1pCyz6JbcJoC4W5l4z4STP yi0VyK/3E29PTaUAKAqV7f962vsbFv7f6i7fjq9a3W2YHiF7zdx/0vnkR2fPebK1QsSIYi//8cpL fy77cVWvbx+JZ6S1POTXc/LrU9vRGFG0kPH7c8/+uW/dvok97gtCWHPmaLpZ2eetb2f0lQkYIYqm BJOBdWJXGFtRXHTDBILFoCm4tG/F4m0azw7Pj02TATjORY/kfiNHta00KhzLWQAAkHfrASNHJVSG jpzh8kI740dirP9dT78ztS2FAVHAG/PXuKuPtmTfkBQaFlPN4NBdQrGlHQCVA8O3x2MvSwMDRi96 /slfM1On/vS/EX5YBIQmdHhr4tcndh3IG/lQDAUA6h7PfN4XCaKIgaIf6z/n8VfX7NqV/nBSWwZA zFk79+9LfPKj382e0lopiIAoihLMejNXdqYpmG+HRQ5pVhNotENovIWxr79uN6d5u/+al6WomQ5f 0GPwcch61+lu42Vh3+WIN46tX37s5r9lncMfGJysst9N4erePTli4JC7k4y5OXqJq4lp8fSxjPRM y/BgRWODtcKja5YctaI4QXHXsFRfIfPI0QLwvvfhEWGc3iBtNhJoZYOrCoLFzLJOLa9i1mTCiPJQ 198DrPLwRLjMxJpvzu0BiBaD0SgxWdV5yuReuz7Zt2tv5oNxybRj9AjZ+/ZmiZ53TxgXLxoMRgAA FDPm0b6rZm7btTvzofgUuroho9HEAACgsJ49oxZk5mTnCRDEII+gIDU6fW7r2rNthsV7uBAVcad+ femJX600JaDbM08PDAfcqHUDkTOzLFPvVdqh8VP5W5E1VPYXANzWR2elAI6KqZJ3biPYhnZYvfHm wAhI6xxGXb6enak1tGEAAFRtO8XSR3MKigSIoQAAcyY9B4A5g84IqtjUZGb1wdJyHoABIXvfnkzB 6+5Hx8VjvcHYcF9w0b4/Fh4qrRwbVNTAp8Z19GrM4mFDLGpQs5pIo6FpLIwt/XW7OS0+s3X9mXpc pY9D2kfbIL4RsrDvcmSdXl06Z4zVfh3epNWzDfhty43rRaLIbnjvsQ213lahM2FQNFLB6tAgmHU6 s2ApKSzGVEJ0KBZw9TBv0vU4pFKrES7X64wY6llQxDqdASOkVqttCZtn4lKi6D1X829YINnBfTB8 YX6BSCUkRCIeVyf9VERCNL0lPb/QDCkedQnBnr5+FL5uMIsAAMpuk18ZcvnLf+dOO7W6fe/BQ4cP 7RXv5YzPZVLGvD25iwcAFsy6otxz+/7dPO/Fp09N/Wz6PeHu3OzSwPipz265rY/OSoFppJjcRrAN 7ah/AKq8vBDONZirSZSrPRDmzBYBQAYglJ5cMX/hpqMZRUYeA6VQMByGyjVuviCvQKTi4yNudtB+ X0R9zrFdO7MrKZF1aDOxcS6nMSxySrPcoNFNtJBSU3+b2pwCcCe+eXDaase0r0HX27AsGto+wOm1 GnnjekVRFAAdOfSVF++umfZRXhFeTgR0tmjAAIBFHru6Dc3hmeaw+BgFys28eNk8uGsdXopF6RdL RCoiLtr2XnuMpaWLxmzURggAMBatu4lFEQMAQsh2qo5x5XQXFv16vzF/yajda1esXLPzry+2rkx5 cPoHEzs0WhTINz6tU2dvBAAIUdQ9o4anzpj4xcGFq88OeD6NQRRCCATR9cksJ8aP2/rotBQaKSb3 EdwIDUUIKATYKjCjabo6UhOyln388cKrXu3vnzK5U7SfjC89+Ne363Nr6huIddXNRl86Pblgz1Tq ZqxaoWcbtUXLJovcpVmN1Wj3jXBHptqq9bfpzSlvEhzWPgck2JAsmmAHPxMaFoREjUmZ1CGtBtrH +7svGpaHR4dQwrX0qwYHxzFiGAYBx/FON6nq2L+HN2j2rd1RWGcuyXhu3b+XBTqqb59Y2yy1XMu+ LqLg8FDGYXpkEdFhlJB3+ar1DmJTVkauQAVHRTiWVYsWo0kW3efht35YsuiL0Qls+so/N+c7s4tW 4CphsbBmo1EeGR+IRJ1GawEA8PDyBLG0uFy8LePHbX10TgqNF1PTEuzEDF3e0UNZnPfA1754+cFB vbp06tJzQJco2koo4cFIzMvMNjvaF85cobkJPdv4vjWCRTU0q6k0uqER7rqFuX3m1I3NNSQLt7gc RNM0woYKvQgAQMf17h2BDAf+XnSyzMJZg3ejSlFx/QfE0YaDixee0DjkdKiAoABKKMjMMjg9/abq MfGx9mrjyd8/nbc3/6buidpLK7/6ZsN1HDRoyqjYGqEBZzJVfx5uydqwcp8Wwnv1iqcdpoeKuWtg AqM/uHT5hcrnsPHSyqX7dXT8oAEJjg85kbeYjTqzR/uB3UIoUavVuSwKvvjQmh3XRDo8NkYJAHRU SpIalx7Zc8bg4vSm0+PH/X10WAoNi6mmjjQ1wc7EcHIGMG/UaA1mi4XjOAtrbTrp+D59IpBu/9Jl F+qXbxP1xeZr7WhWE2l0gyPclkbXJ/pboA5Non319qVxsnDLxkwqJD5WhfdsnzdL/dgTj/YMT374 5TFH312+csZzpzp3aRPhxVh0hVnXwiZ8+WSHxrcn5O9d+EtujQ13SJ50z2N3x4159bEjb/654aPn L3TunhrpRbGa7JPlNqcbqYgevWMX/rnvh3eEs2nBSJOb6z/6o8cd+orxZq4f+sB7H5W999E/G798 ft/fbdslBKtEbd7Fs5eLzHRwr5c+f6mrUrSe6xZLN33yXFaXzq2CZRVZxw+eLuAj7p/6UDICwXF6 oke9MvHQG78vm/HC+e5d4r2M2ccPnitiWk16ZUwMQMNJPq7Y8dX0LTi1dbSfCtiSywd35mP/ezs5 cSCKkLNn8R+5CgCB1ZUVXD1/NqPUIosa/syoeApEQKruYx+IO7B446fTrvXsFO+nAHPh6SIMvk6M +saOH/f10SYalEJDD9TQkQltL37jJqHY0o6YRr6LCuvRN3nBzwf+740PT3dPClLRmL2aYeV0UOL4 V8cefWfpsneeO9WlS+swDzAW5ZjbT31tmOeuRjK/7qYpOvrux+5rJW+ETO1pVhNpdIMj3JZG1zKP wU2tDi76HLvN1deXRsrCLTQjzz5PvznW8OuWUyfzuEcBC/LUZ7+f2+rvBat3ndy/6ZiFUvmFJXbo 7OWUVxaLTm1ec6pmex6D0ibcHSNPmPDtT0nLFizbdnTfxqNmLFP7BMV2vrtXa9/6c7eYce+/o//u 963HNq0Wlf7R7YZSZgyyRk2HChZV6pQ5f/TZsmzF5oOnz+y/YEaqgKjUIcPve2jUXRG0ma25J5Ly aXdXRzr90L+H9ZRXRKv7pj7x5MgUBVt5zkX99NRpkop/+Jsfoxb9vmTb8e3pZnlgQo8Jzzwx4a5Q zPKO5BOcT0SEZefuNft1FlB4h8R3fXjmkxO6qjDveDKCmICYxIgruWc2rjguANAylXdAWEyP0Q/e M/KBniHYxIkAgKmkyV/P8pr369pD+/89y1MKD9/AiA59O7cLaKwhbfz4cUMfGxJ8Q1Jo6IEaOjIh 2V0E29aORruviLGffEn/8vv6Q7tXH2dBpvT08Y9L7dompGojoazN03N+TFr0x8pdp3ZvOCIofENj O3YVnWB+3U1Tsq5J44fVdDm2X8s3rFlNo9ENj3AbFqameYQmVweXYL+5+vrSSFkgWyXakNzTR81I q371uEKll5cSsfoKU2UgRMlVaqWcwWzVfhlEy5VKhYyhKIQAY1HgWZORFRo1JCQa6mOLxaA1cgCA aJlCoZDLaAohAIxFURA41iQd+FGHSETLlSqlnKEQYCwIrMlgdsooUYxcoZDLGJpCCLAoCDxnYdma W/CF3KWvvrBAP+rbhS92UjIUAizyHGs2s1bpcP301CH7JjNpCmFR4DnWbL7ZWt3nKYWnt4rhjFqD BQMlU6mUMoamEADU/bVjgpCpPFVyiqpaCJcYLfAWluWs30QxSpVKXtUWFkVB4FmT5JLq6xcAMCpv TwWYdRW1tlnZHj/1vMcdfbxp/9Q+HnLM6ipMAtRLUr1ScOABKx2xUG4QSkPaUVdJFV7eKqpKd6pf UTlQAChGqVTKZUyl+DAWRYEzGW8qiVUHAWNR5FmjgcWNYL4tmnmjVm/BNQi2KVNHNKspNLrhEW7b wtQwj7Xk0oD+NqQOjR0w9Zh0Ru3jKcfWFNhrzrovFidkYTPLwRa9xmI7NjDrNOaaS30mvcVUw1la TAaLa8dm2adBaoUzGzmzg0RioTaVTk8wm3jH3iNyBn0Fa5P6+uipQ3YDzKz7vMjqNexNCkwGzsU+ Y86kc+QdIm826MyOjhnJ2JgqNCYbvKm/y/W8xx19vBleG7UaIzSKJMcesNYRwQ1CaUg76iopq9Ow dl4h8maj3gyN7WAjmN8Iq9KQTO1qVpNptN0RbtvC1DCPteTSgP7eAnPK1xnx9poT63axUbIgVUEJ CAgICG4RbE6sEbiI+ueRCAgIiGbdwbIgLoeAgICA4BaBTKwREBAQEBCXQ0BAQEBAXA4BAQEBAQFx OQQEBAQExOUQEBAQENzxYHDTFpkhICAgICAgWQ4BAQEBAclyCAgICAhIlkNA0LxQXFwsl8sJB8hI ILwlWQ4BQZOjqKgoLi6OZVnCATIYCG+JyyEgaFrgKhAOkMFAeNsiQCbWCAgICAhIlkNA4EAcWv0n 4QAB4S3JcggICAgICEiWQ/CfiEPJWg5ZbyC8JVkOAQEBAQFBy8xyEEJ1AxAiPOcDDYqqy9Ja7BVF sQWFoiQYJ6Pa2lzQNE1RteNpURQFQWgUr5zgraRZRCI2XY57PUFTeAWEEMMw1gNIFEWe55tCqHq9 Pisry461ZRgmOTlZJpO1aH9z9OjRS5cuCYJQ7wM0Tbdq1apr164txesQOK5KCCFbYqUoqim81y2O byRzoVAounbtWuvW0aNHWZZtItMh8ZaiKMlSiaIoiiKJBtyZ5dA0zTAMQqjuG6SLPM/bMmqNHUCT Jk26cuVK9cW2bdv+8ssvtoaOKzI2m82pqalpaWm2Hti+fTvLsgzDtFyRUxR17do1X19fO89cu3at e/furovvFgT4QHasOcYBhFBubu7JkydHjhxZV7I0Ta9evbpjx45RUVFu5CdC6MiRI+np6TzP24rh UlJSunTp4nqjksVnGEYmk3Xv3j08PLzWA927dz906BBCiOd5yR+4kbcMw6xevXr79u2ZmZkAkJCQ MHDgwJEjR3IcR7yOG7Icmqbnzp27evVqi8VS7wNyuXzkyJHPPfeci2ZLkmVJSUloaGj1xZKSEoVC IQVl9UZMjU2fJWRkZLAsGxYWZucZmUx29epVO0GZh4dHYmKiiy6BpulaDlXigyAIbokH5XI5Quih hx5SqVS1bplMpiVLlkjnfNQbTxC402Hoc44dOlMW0ueeVD/U9KFGenq6KIoXL15MSUmpNbouXrwo imJ6enpMTIy7Qg1pgisvL89+fJOXl9e9e3dbPqlRRmnevHmSUYqMjASAAwcOVN/t3bt3ZGRkr169 JNP07LPPut5idTfLy8s/+OCDzMxMlUqlVquloG3u3Llbtmz54IMP/Pz8iB65lOUghGQy2d69e0ND Q22lzBjjvXv3vvTSS85Zf+v3IIS8vLxqXezRo4ctlzB06NBXXnmF47jGtsVx3MiRIwFAr9fbeqZT p06dOnWy85K1a9e60l+apv/999+NGzfOnj272uJLkyHPP//8sGHDhg4d6rpFkHJ/QRC0Wm0t00PT tDRF4HrKeGti/BY9dyHk7pj/078eD3UY2M6XbmIOIIQEQZDL5enp6QkJCdYz1YIgXL58WS6XC4Lg rjhDmmKiaVqhUACAnfhGoVC43qgUk+3atSskJKT6bTqdTgrRKIpSKBQcx0VHR2OMd+3a9cILLzQ4 w+YIb6V2P//886Kioh49erz11lvx8fEAkJmZOWvWrPPnz3/88cdz5sxpotm8O8jlUBSlUqkoilq1 apW/v38ts1VWVjZq1KjqBRgXXQ7GuO7herGxsbaeP3DgwBtvvOFEPpudnb106dJGRXD1hmwpKSlO +5tNmzbNnTtXJpNNmzZtzpw51Z2aNm1aQUHB3LlzEUL33nuvK15H8uIAwLJsLS5JwUT1+mdD+sbr rmdeyS4o05ksAtBylZdvQHBUfHyIxy3bB3lLXI6Yt3L66//kdX/1j1d6yBy43hj6KRoBUBQ43QfH OYAxjoqKys3NlclkR48e7dGjR7U5PnbsmLTeLllkt8xxHT9+PD09/YknnqiObzQaTd3EvdpEuO5y EEJqtdralVbP1yGEwsPDq5dgpbiqQdPkCG8pitqwYUNhYWG7du3mzZvHcZzBYACA6Ojon3766cUX Xzx37tzGjRvvvfdesjLq0sQaAEjBC0KosLCw7i33LrDv37/f8ZEnOQ8n4qaIiIj2/cIUcocoF0Us iiICShR5q2awx3EPp6PCLVu2/Pzzz4GBgZLbfu2117755hsAeO2118rKynx9fTHGP//8M0Jo8ODB roxg61CglhXAGFsrrXUWW5Ofou7q0QMXy3i5d0h4nLcScQZtaXHede+YxJDmONBpmrb209YrvQ1O V1IyGgFiZMjB6800oxKE1NTU/Px8jHFJSUl5ebmPjw8AaDSakpISaa41NTXViemBerldUFAQFBQk 8VmKbywWS63BJpfL6+4rc8Xr1IpNY2Ji7KuAW3p6+fJlLy+vadOm6XQ6nU4nzdcxDOPl5fXyyy+/ 8sorFy5cGDZsWPNfGW2+WY7k+SWnotPp9Hp9rZHk6ekp3XU9CEUIzZs3b926dbYWjepCLpcPHz58 0qRJjW1XEISc4jNmsRwDbgSB1r5W5sHzCc71l2GYjIyM4ODg6l6Ul5e/+eabACBZB+m1wcHBGRkZ Q4cOdfqA22qnUlc60j+lu9XGovqWtAmnyuOU5lwt4+WRPe/rG6sQRBEQTTOUwBpNBpa/ZcPXwQVe mqZPnTqVlpbG8zxFUXl5eWvXrs3IyMjPz5fJZDExMUlJSePGjVOpVPW9qmo41B7Jtq43iv7KP13J chycSBAEQaVStWrVKj09XaVSnTx5csCAAQBw4sQJpVIJAK1bt6Zp2mw2u8X6K5VK6wimxuCxGlHu ynKsjZIDARPMnj37mWeese8GGuStpCNFRUUymSwoKEij0VSvDwmCIAhCUFCQTCYrLCyUZkTI3Job shxpGNVyOaIoSnddH7gymezQoUNxcXH1zmLZUq1Dhw5NmTLFiT34gsDxAtcYl1ODXgosTkdPGOMv v/zy//7v/3bs2FHtdSoqKgDAevV1wIABL7744rVr11xkbIN3aZpetGiR9fXx48fftBoCx3IY+fp7 cBota8UBVMk6zBZePHm5UGdkOYxkKu/AiKRWiUEqKL+w62A2H9F5QIeQKoHiist792dwUd3ubhdI AXAVeRmXswvK9KxIq3yCIhNTEoJUriUSDMPMmzcvNTX1xRdf/Pnnn9evX0/TtFwuV6vVGOOsrKz0 9PTNmzc/99xz/fr1czYaxeUnl/+18VTu9RslWiMrIJVvZJu7Rk0Y2yPcKvIWyi9uXrZ827GMG3rR IzS5fZxgArDOi7Hp2oHVyzbuP5dbbmF8o9v1HvbgqN7RKvckUiaTKTExMTMzUxRFjuNu3LhhMBh4 npfJZAzDJCQkmEwmd1mWakVwZLC5C45Prpw4cYJhGBeXWCSXExQUZDabKyoqatkoURQ1Go1MJvPz 85Pm/YjLcT7LsZZuvZGyW7IcSU4BAQF1x+W8efOkiabqJzUazbPPPisRJi1INjaswBgLmOMFi9Mu hwEZ42wsY7FYSkpKnn/+eZqmd+/eXe11rJ/p16/fM888U1JSUmuOoimyHACYOnWqtPAj/VlWVnaT pTIvHzVVqLmanu/fJlRV5WaxUP0yRq5QBkSGxKgYYMvzsvKuHNeLPXolB0RHqLIzNZoKMdgXVRrZ co0Ry2OigigscmXph49d1cn8oxPbelOGgqysy8c0ps692gXJ7Ia3Dc2CijKZ7ODBg9IWpqioKOup RWmo8Dz/ww8/XLp06amnnqoZj2PrdMb2dUGXdezQmeshaX0H9vGW8drcU4eOr5l9teyVL57v5o0k 33ritw/+t72QCW3fY0i8t6Xw4rHDVypEKrA6UTJfWf7JZ8sz+OB2vQf38jRePSOFXawAACAASURB VLp/zf+dPZc/fca4ZFUDAb4jopc2B7dp0+bChQvh4eFRUVHr1q2TUpz27dvzPO+uTVzWY8xOHmP/ rhNZTq2vF3799VdrK1FtKKZMmeLr6+vISrN9wqTULSkpqbCw8Pjx4927d6/18IkTJ2QyWevWraXw l7gc57MchNA///wDAAUFBTRN150Kd9daDkKo3oQJIVRUVFQr67I20E5ETxhjURR4wel99EigBJmz URvGWKvVAsDTTz8tl8urvY61v5k8eXJ5eXmtbWZNlOVIGmt9ffTo0TcjNeyT1CmhYH9G7sm9Jf7h 0dFRESE+CusEjw5J7RtDCYKIgWLaRp/YuP1yQYE2yTcgJFSekV1SqkvylQyxpbS4XJSFh/hgLFZk X8yqkMf0GdIrguEEoNomBe7eeCQ/63pCYIwLkf7Vq1c9PT29vb05jpPJZBhjb2/v4cOHR0ZGsix7 4cKFbdu2iaLo6+t7+vTpnJycqKgop+J6BMi3+4QXn2pNY0TRYtbCl19adGjLofFd7wlAANzlNX/t KJS1feLbz8dF07wItIw//r/JM7ZWp0C5G39blSEkjv/q60nJMgEjesqohW++vmjNbxu6fTY2lnaH QpnN5ujo6KysrKSkpFOnTimVSoqiPDw8wsPDdTqdGy1LdeBiP+9341qOlM7WulLLSkhhnLu+q5O+ PuzZs+ehQ4eWL1/epk0bT0/P6k0Z0n48lUo1cOBAFzfukiwHY4ylj3tFUVyxYoX1xic3Zjm2tqsB QEVFhcFgqHZ1ktpYP+lc07zAcbzzLocGTuFaf7VarSAI2dnZdXudnZ1dWlqq1+td3PpiJ7S0znIw xkFBQXXvVv2EE/063jss4sqFSxk519JPXrus9AmPS0mO8VdUJi+sXsMCYJHneJAp/f0Q5Fssgij6 hoUrsnKKSvRxXp4IwFJSXCbIwiL8QRS0hQU6UMdHqCsKbkizW5Q6yJcqKK/QCVhJ2xohDTK8rKzM 09Oz+p9BQUHvv/++NAeLEOrUqdOQIUO+++674uJiDw+PJUuWvP3221ar6JXJDLaxllN1vfKeYNJV 6GgAABTQtVvk35m5ufk89mdAyD5+4gb2Hjj23gBjuVZ6WMRyWfX2QCHn0MFcwbPvQw9EmjVaEwAA Ch8xvs+6j3buP3B1ZEwiDU5zwHra2WKxpKam+vn5lZWVMQyDMW7btq3JZHLj+nb1rkjrv9Sb5di5 63qWo9PprK1EtaGQHmuQdY7wluf5pKSkAQMG7N69+8033xw7dmz79u0B4MKFC0uWLAkJCWEYJjg4 WFrwJl7HmSynOgTu1q1btRTrzmK5ccdava+qdZiEtBTpeqMcz3E8B85OrPEU50rUJrFx+vTpFovF 29u7rsuZPn36u+++6/qksESkTqfz9PSsNe2g0+mquzB8+HBru1BeXl5DBKxOz/jGd7q7TRe25NqV C2cv5V06WlbRoUdqqAIBNpdkpWdcK9aaeBEDomlKxAAIAIt+kRGK7KyiEmOspweylBaV8LLwyAAQ BYE1mbDIZ+zfnFGTXtrCCwC001wtKyuTPtCTkJ+fP2fOnIkTJ0pL5QqFwtPTc8qUKdKudA8Pj2vX roWFhTX8dbr0fpu3RZWPD4ICE4sBAPjS4lJMx0cFCzxGN+fmrKxXceENkY6LC8Nc1QOYE0PjIunt VwqKWEhUu0ehLBZLUFDQjRs3pJHg5+fn7+8vZdj/sSyn7pEzkqFw4+khoiiWl5ePHj0aY3zo0KHV q1cvWLAAY+zl5RUdHU3TNMb4p59+6tq1a6tWrchJBI3OchiGkQ65sd7ORFGUXC7HGAuCIC3HWe9W bKIsp1YAUvdJJ7IcjDEnWHgXXI6AeKf9gWTWP/vsMym9qJvKSFtiPvvss+nTp4MLu18kRnEct23b tro7YmUyWUhIiOS8f//9d+tvQh944IHaCsyZDZzZgGhFUEqve0PPbNl+qSAzNyY40UufeeJEhk4e lJjWIdRbSYnG/LNHMyowYIxFwSc8UnX1asENfXScvKSwhFdERvoJgoARhQAo74SunWM8ahpyWiaz c7iRfVYwDKPVaj08bi7S+/r6lpWVnTt3Li4ujud5lmWNRmNISMgLL7wQEBDg5+en1WqLioqqX8vI 5YBFs9EsYmu6RJPRjEGukEFlllN7AxvGQCGMMRYxxiACBgCRt4gYUzVdTiVbpQUfgbd6ADAvSOtN NnrpxJE/oigajcacnByGYTw8PNq1a2c0Gt0bg1uvCNba91hrwDfpWo6t1UrHsxxwYLHHaDQqFIoJ Eyb06dPnzJkzFy9eVCqVISEhffr0CQ8P37dv3/z58/fv39+lS5cpU6a4sgp7x2U50rLKI488Iv29 e/fu0vVx48ZJTFy6dKm0lTk/P9+NcUS9LsfFJ22nyZxrLkdwegeOXC7/6quvGIbx9fWt9jedO3cG gOPHj0v/DA4O1mg0s2fPfuONN1zZJN2mTZuLFy9Kh4LUK+hWrVqJolj3lCobbxQsZr2FVYSEqtIr jGZWxFRJiU6Ux3br2yFA4AQRI2/Wm8qoqHrcJyrG62p64Q1dqLKghFfHR/uJmAeg1J4qhM0WrPLy ktXMF3iOE5xUVJlMRlFU586dQ0NDg4ODAwICfHx8aJrW6/VSpC9Nj5SWloaFhfE8X1JSYjAYrOwC 8gkLU6FLWVeyLL3b3VxXxOUZl2+IdFx4sGNxujwsMpg6lJ+RZcQhnvUNEiY8KpQ6kJ+ZbYbg6oTG nHM1T6CCIsPdsAMUEEIsyxYUFEj9DQ8P79ix46lTp6RjA8PCwhQKhbsMYi2Xo9PpPDw87KTUTTcj 4vRjjZ0PDw0NjY6OHjlypBR/S6FMSkpKaGhoWFhYbm7uH3/8MXny5Dvc6zQiy5EyG2kvPwBUB8h3 33239BeFQvHwww8DgFKp7NSpk1KpdH0tx874qJXl1H2ysU2LosgLFl5w0uUghASRcyX/mDZt2uLF i6u/QEpLSxsxYgRUfVYiXQwPD5e8vtOt8Dzv7+8/YMAAW94RIWSxWMxmc60mqlNbQRAAWwwGrPK0 2jHAl+QXmTGo1CoKMzIKQGR1ZRVKWWWwLt7MADCvjoj1TT97PfOSrFT0bhXpxYscBgCP0AjP9PTr 6RdDPZP9ZY6NEEek/NJLL0mHzEooLy/ned5sNlsneSaTqaioSHqgtpK06tXTb8fW3f+s6PrG+DbS pgfuxp5Fay/wTFLvriGARVw7Y6kR00s5THTvvjGrFh9dufx0q4kdfJD1ExhjjFF4z35xyxccWbN2 UNtxyWoEgE0Z61Yf0tGxw++KQVjEznOg2sQfOXJE+gbWx8cnJCTk/Pnz2dnZ0s6rzMzMbt261Zpr ddHlSMu6giDs2LGj3pQ6PDxcmn1yPcuB+rYP1M1yrB9zfS2nWqe0Wq3JZJLL5dL+FMnlCILg7+8/ evToNWvWRERE5OTk/PXXX4899tid7HUa4XJqCcBabNWDbNCgQZUzITQ9ePBgjuMcObHVfoteXl51 P0+rd2Kt2uU47e043uL0Wg5CyIIsgJx0BizLRkRETJo0adGiRRzHtW/fftiwYRqNBgCGDx9O0/SZ M2dkMtmECROCgoKkb8id46ogCAaDgWVZWwGm1NaFCxeio6Otry9fvjwlJUU6ERLrrp0+fNWs8vH1 VisZCvNmXXlZBSsqI9rEeWMshkT6Xzpz/ewRS0iQt5JGIBo04s1JJ8zJwhNCLhwruAF0cFqE0iJK e3MFj6ROKYX70rOP7y8NCPT1kFEiZ9QZ1Aldkv0pZ40Cy7JlZWUcx3EcJ3kUW2PSVuKI6fYPP3v3 6Vk713/+2vGUtvEBjLHg8vnMEotH20nP3RskCDxA1W4CbLWXusboBBBCh78w/sTMRVu+futSh06t wz0pVpt3ToPBo/JTUBw6bOojR2csWPvZ25c6d4j1MOWePn6phE6eMHV4WGUjLphFiqKuXLkSFBQU ExPDsmxhYSFFUQEBASUlJcHBwQqFIicn58qVK506dXL9aJbq9T9BEJKTk69cuRIdHW2r6lViYqLr G7qaaGLNcRuCMTabzWazudbCtlarTUtLQwitX79eOnBoyZIlY8eOdcspD//xiTXJdb/33nuSef38 88+l69OnT5f4W1ZW9vbbb1c/bDKZCgoKXDxgjed5aTdILa+DqmD9T+lTLKVS2a9fPyc+8sIYc5yF 55z8LgchJAMenJ3bE0WxqKgoMDBwwoQJ58+fHzhwoFarlVwOAAwbNkyhULRt2zYgIKCoqMhFoyDZ X1tZDk3TXbp0CQwMzMnJsb7et2/f2NjYyk0EntHtO9DX8gtLSgtLORExCrV3WHK7lNYxnqzOJIAi rnd/+tzZjPzCnBIBKEamUPoEhfmrqxyHgIISopWFWWJEQijNV+UVmOM82w68JyD9/OWcG0X5pQIw Sk/foDAlcq2zpaWlrllQi6rztNmz2ixZuvXwhTOHLvEyn9DkuyeOeXRUmqfJ4LDpEMTIsZ9+l7jm 71U7TxzZfsqMZSrvgOi0vt2TvSW+8GLEqE+/jVy2cMXOk3u3s/KA2K4PPTXxwW6+rMF1+ySdi4gx DgkJkXKd6i0VhYWF3bp1k85ioCjKLVvXpNGl1WqDg4PDw8PrHWzSYr7FYpE+eXYdXl5e1l+z1rIS 1VeatPhILbPDsmx5eXmHDh0wxlu2bImJieF53vWvUFsukOPHl0mZjfQJlVwu/+GHH6SLU6dOleaC dDpd9ZHPgiCYTCaj0eiqS2SY0NBQlUoljRuE0KxZswBg8ODBgYGB1pukS0pKtm7dCgBvvPGG0Wgs LCxs7Hdtx44d0/rvrDCXOatjlJrxaaueEBER4XR/FQpFYGCgXC7XaDTVxyAihHx9fX19faXPRZ1e xXHcWCgUCrVanZ6eXlJSIl0MDAxMSUkxGo0sy2KMgWKUKpVSIZcxNIUQYFHgOYvZaDBZKtdcKLmH l6dKztAUAoxFLIoCb9ZpDVzV17sKn0BfJWK1JRpzDf9JMUq1h1opZ2gKYSwKnMWkrzBy9Wpnenp6 jx49am2layJQcrWHWqmQMTSFsCjwFrPBYGCtDthjPAMCPJCxvERXdTYTpfIL8pax2mKNueoxxCjU HmqlXMZIfBEFnmONOj0rVj+g9PBUK+UMDSDwFrNRbzDztk2T4xyQyWR5eXkajUY6r09KdwAgJyen uLhYo9H4+/v7+vpGRka6HoDL5fKLFy/yPJ+XlyedalPX5VAUNWLECGnTtustSkfslJaWbt68uTo8 HTFiRK2dOBRFFRcXr127FgCeeeYZ+58cuGt0SWfh+/v7nz179sKFC0OGDDEajXfs3FrjvL206iid olZ9saKiovqYNetcxC0MFQRB2uEqhSfSyQIsy37yySe1DudQqVTdu3dXKBR6vV5azXMizzCbWYvZ 4uzAohi5AK7tZGVZtqSkRKlUVlRUWE8bajQaURTNZnNT+xupOZZlEULJyclSgQMfH5+kpCSTyVTp bwBA5M0Gndlgh5sWg7bMzn3Maotv1LcxV+TNeq1Z3+xURbQYdRajna8leX3pjZpki6byG7VOkME8 a9Cy9vjCm/Wapui+KIoJCQnZ2dnSgWAxMTFSbpGcnKxQKBQKhbe3d2xsrFvOvMEYx8fHZ2VlxcfH 15vf0DQtteWuYB9jzHFcSkpKWloaRVFfffWV2Wz+8MMP63ZHpVJ17dpVmnu/NSMHYyx9Ztu2bdu0 tDSTyeT619wt2OU4MfskldV7/fXXpSv5+fmuLNg02JzBYJCyJSmQ6dev3+7du/v06VNrKEv7Mvv1 61deXm4ymZygh+M4D6W/h9LfaWr1ep3rKiTNCNflQ/Uk261REomHKSkpWVlZcXFxElXNTU9IVdBG HespimJycjJFUTzPm0wmKbcwmUxRUVFxcXFSTOOW7+Q5jvP19e3WrZudelocx1VUVLjxSH9pt6H0 pefAgQN37drVt2/feheQpG1QDa40u3F0YYwrKioEQZDJZAaD4U4+VZpxjn3SBKX0DcrNyLfp9Yrj uMTExNTUVFtTwyaT6caNG07TE2zu7wqdgZT4nxlM0nIoRVEJCQksyzZDf0PQWIEajUZBEKTVmuqN kdK5A9KxVe7SZSlStL8XWbL4bu+gyWRiGCY+Pr5du3a21mzcstLsBHl6vZ4c7sk413+O44qLi904 geZ4u6WlpdI8m60x5/Qnvvfff7/rXwmYTCY7RUVbopHied5isTTPAlMtvSroLeaAZGrrjS3cTpjF YnG84Ih7GcJxXHW6Y39gu16izbno+Y52OS2Ld9JYcX1XQr1wdV/TfxHSZAvhA0HLcsO3y+ERNFWW Q0BAshzCAcJbAuJyCO4sowBk+wCZriG8bTmgCAsICAgICEiWQ0DgUCh6h49hwgHCW5LlEBAQEBAQ kCyH4D8Ef39/qdYL4QAZDIS3LQJo586dhAsEBAQEBCTLISAgICD474Cs5RAQEBAQkCyHgICAgIBk OQQEBAQEBM5kOenp6YQLBAQEBAS3AMhWCdjq+p4EBAQEBARuAZlYIyAgICAgLoeAgICAgLic2sDl 65+MjZiwosT23jdhh+nvZP3ZzMa9WLfRvOXuioWJ2j/jK/ZuqXlPFNMnaBc+w/HNip3Nkyp3wDkJ NhHSV8LHv0JprfEmwo8DASFACJAKlrO2ZAQ/DgTVKGhedfSaJ1XuALse/BXwxSVibAkccDllZWVn z561/wx3es7MJf7Pvv1AIHIraXru5LusLlU5YKnn/Ws8OvaoeRcheSTtG46aFzubJ1X/OaSvgk9+ hVKx9lh+bDFkZcHe98BeAWQE/rHQJrqZJfjNkyoCAnejgaqgu3bteuaZZzZv3typUycbj2g3/u+n Kz3ff7wt417KcLGoM6DgEfLwTvUb97gvPeOaGzubJ1V3DLxCwAsA/AHZNe7jf4PxzW7kNEuqCAhu cZYzevToWbNmDR48+OjRo/U7htL1f67V9hwzPLz2m3D5MtOm/hULW1esfNSck1t70o1L5449pV/e XruwbcXaJ825OVZObJ5+QZz2rwHmEg5ffUr7Z1zNiTULt7uV9s847Z9x9UxhaefpF7Q3pm827xha sSilYsm9xnPHsYPt2vN/meyG1rodbxlWtKtYNt6cvca8oWvFol6Gs6ewW6gy7mf3jNb93Vq7sJPu 31fZwpKarV80r02u2P+vkPmhYXWXioVtKlaMMheYXKa5gXadl2CDyN8Gj/QEfzWoA6HPRNh1wyqD +RIUvrCualqM2wOxCnjtgDRHAxN9ASF4YCFYDkMKAwgBUsKvRQ5O8cA4VeXMW90pLKndH1fByA7g pYTgVPjqAFj3WXcWXn8Aon1B6Qnth8Mqx+YYhUvQTQ0jn4R4b4jsD8sWQ49Q8IqGLw67hyo7nAQA /jS0V8ATy2HBNGgTAkoPiOsBO4wu09xQu2d/h/6JoFZD0iBYcRVqDR3nOElwR7gcAHj88ce//vrr IUOG1Ot1DHs27jK16tcntNaL2K3m7e9wXE9l//nqjt2EU9/wnNW4E6+wOx8yZpTRqd96DPpeGaaz 7JlsKtBV3vV+1GPUXq/RCxV+DIr50mvMXq8xez273VX1YxnTfbvXmD2eHTvboNjIn1kEKT94jd2m TvHhT77JlvAOtdsAeLECyXrOkqtOsXv/D7earWoVKpybz/MuUyWcMW+fYi72l/f4xWPAezLZIfP2 KWwZV8uBwI2vTZcFWfc/PUesUqf1RQi7SrP9dl2RoH2Yj8LwEXAwCH5cA6vngPcuuH8EnHakUL0C /ncGsrLgl5EgS4MdmZCVBVnpMD7QMQnK4YdLkHUVPu5lw0nr4fN58MxSyLoIz/nBu0/A0SpuWC7A yH7wRzG8swA2LYVBWnh4KGzTOjhy4DIFP/0GIYdhwsfw3CKYGgFfzq7yLi5Q5RAnMeyZAfN4+G4T nDkEH9wLjo0cezTbb7dkDdz3NFQMgKUb4OO+8P5M0Fu16BInCf7zE2vVXgcAhgwZsmnTpq5du1oP zPRjp/TKtLYJdI0fiGL2HxZTsnLgx3I/BqAHTV3V7d5QrQM4dw5bqJLf/ZsqyhcAILQtVAwwn9ug CBtPAQDyRJ6eCLOIRsAEUp6RtSevlBEIRFGhsDVHQSW9pYyIBwCm3ePMxWl8YS4ExjfcbgOgqYgH 5eEdhMIo1tRLFteb0R5nL24TDQL40C5QBfj6H5ZyP/mg7xThagBgAj3x6ufYSwfkvfpZzw9hNl4+ 9EO5CgEA5Z3i2DSmPZrttuuaBO1j8//B2UBYvxju9QQA6O4FrcbA9zvglyENdygwGgIBgj0BKSAi BmLpxk1eBcVAkAj+SpsPPP4FDE0BAHhjGsx5BHZehW4pABhWfwh71LB8PTzgDwDQryOkp8DXS2Hg U9Dwwh0NQx+Hwd1gZxwUDYBHBsKl/fDdWrgmQGvaBaoc5CSGshTY+z2EIQCA5FTHeGWXZnvtirD0 OyhsBxt+hFQGoD/I0+HBZTeJcYmTBHdClmM/Bc+/lo8DQ4OZ2sF18XlQd6d9mEonEdqbvtkSLxQc xsp+snDfqisBTEgiLj0lim7pk5zyS6zqnj+SATZrHW5XAE6HLRXYUoEthpoTAgjJPQEQkqmR3Ash AJkHgBFz2EWqxJLzmO7IBKurHuzOBDK47KxY68XBQ2SqepXSOZrtt9t0EuTh2AlQ9oDenpUXfPpB NxmcOAbCbdcGBXRoXfXXQPABKCmXZvdg224IGApD/Kv4Ggz9WsPxw8BZSUGnBY0GNBrQ6mr2BYGP FwACb0/w9gEE4OkFYKgR+ztDlcOc7DUaQm2MHGdott8uB0dOQng/aFU5cqDfIKvdHI5wkoBkOb// /vvrr79eJ8UBAOAtHDCMrNaA5jFnBrkvqr7M+CKqOp/nMasD8wrD36usQjEeUBgW3bJrmwYK3dQc BIBFR9sVT5nXPcTqBAAAlKi4719lAGNtwKV0BSrjMQqBANhFqgBzepB5o5sdVyC5HDQVgME67kNK //qjQGdptttu00kQg1YHHr4gr76iBF8FXNCCCEDfVmVADMhryqjShfJQqoXiP8BngRXbOaAjgYPK jnCHoWNfyBQAAJjWcPAMdLGSgiR6igKJ3YgCEEDArlHlICcRBAfVn0A4TbO9dnmoMIGf/81h4OkP CnQz4GiQkwR3usux428AkI+fL+gqKmoFtzIkVwNvtUopGuFm0M4ghRd4D1P3n0hbawLyQEzT9rXh dqlW8n7/MJXhnpLyuRUmEMk8gdNaGWsztrAg865pJhAgG7bcWZrtttt0EkTg4wWGcrBUmxgTaMzg 5VNJBkVJ5rTKQ3HANfKsc9QEWhLgA0ljYcULNZwi5QXq6kdSYcluMGEAAKSGVrdg5DTEyQZHjpM0 229XBr4eYLTKti0GKwk6wEmCO9rlrFy58s0339y6dauNTdJMUutE6vesbA2GYCtNp6nANijrnGAS aTUFAFB2WhCrTQFDh3VDVy+IKEbmw9zKvjrQrgcV0OXWfhrBUIFtkHCIv2GQRXgAAFgOcyUCimxH OWo6naPZfrtNJ0EGunQE8y7Yq4OhXgAAmt1wmIf7O1faIL8AQGYo0QEoAACun4WSOrN1cgWACcw2 XJGHFyAM5VqAYDfJSAYD+8KiU8Akgq1FNOQFnXvfat21z8mGfYdzNNtvl4FuHeGfE3BDhAgKAODU EbA0hpMAgMtg1WrQBMLY4eCN3HmX4LajAVPVv3//HTt22P4ohwrvc1ciPn3kZM1PvSkqdrJMeYQ9 tlxgLdiwz3xihdXKBEJRLykCr7DbnjKnb+IL9/PZ/7BHpxoO/etQNCuUi/o8UZ+PWRbAhPV5oj5P NDqy48W1dpuKKkDhk+S+5ZZDL7FX9/D5K8273+O41opWvZpaXey225QSvOcFaFMCzz0MizbDv3/B +BdAlwZTB1Te9esNnRD89DVkayDvALz+I6A6nGjdAahLMHsBnL4Ily6DtubahV9P6IDgh/dg2wE4 dASKqvd3lUJONmTnQJkZsBFysiE7G/LLHYrrR86Ebhdg6AiYtxJ2boclv8Cr4+C5FW4Qg/NUNcTJ poO9dil48EUI3ANv/AFlLORuhbf/BLGRnBSuwQfPwLOfQWF9a4Ou3CVo7i7H398/NdXeHhem/Zgx yeXbNh2ttTNTMUg58FPG+INhWaru369xzBMyuXUWlKIYuFQVq+TPTTdufdJ45CdO58dEtnXIyN74 Ur/yLt2KvvqTx0HYa1pzl27FXbotPzk0Me5Ku01IVZpy0M/KwFLL4acNOz/iuB7KAb8q/Jt+Ytt+ u00nQVV32LAaehTDCyNh9MtQ0Q/WrYWOiuo3w9zZIPwFKeFwz0cwZjqE1hmkMY/Dtw/Dztegc1to 3R6WldbsV2v47XtQboChfaBnX1hZXHl999sQHwdx8TDzALBboF0cxMXBwFngyOlEilRYtwfGqWDW UzDkfnjlK8gIgPs6ukEKrlBln5NNB/vtBoyADfMg/1OI8IE+M+DBl8EH3QpOErQIuF68QMz+YXD7 LxKWXfr5Xg/CTwICAgICZ7McR94QO3nmZOXy2YuvkUSWgICAgKBJXQ6AR7/3fv/yLjpPiwk/CQgI CAhsglQFJSAgICBoQVkOAQEBAQEBcTkEBAQEBMTlEBAQEBAQl+MEbksh6maJ/2CB5FuOC5+CIhA2 WtwtBcfutlTY0EF8Y/HY0MTntlaQnT0ELcPlNN9C1M3T5fz3CiS3QNQvBcfutlDY0kEUMnb6k8oF 735/gSfjgqAluJxdu3YNGDDgxIkTth+RClE/3ZSFqOmAVNrTuwVz2SsEYmMh0oECycfnkPMNCRoL Ozoo7/jkkx3P/Th7m56wiaAFuJxmWIhaKup8rWriRTxiWpGsO3q8xl07JZ/t484pkNxwrmCnvwAA cH0bPNILAtWg9Ia4TvDC4hoFV1ykKnMZDEgEtRoS+8MfZ90hBQdk1KD0fcywEQAAIABJREFU7UjB Pjfs4MRMUATDp99AtyhQqiF5ECy+2MjgzKYOAgBQsSNHdy5Z+ecmDbF2BM3f5UAzLETdIGyXfLaP O65AsgsQr8GTY+BoJPy0AbavhPfHQXnuzdMbXaQKa2HmxzD4c9i4DAbq4Kn7YF2py1JoSEYNSt+O FOxzo2FmlsL/1sAne6A4E17wgCeGw9aKRsjClg5WqXhU377xuu0b95uIuSO4/WiBhagbhM2Szw3g jiuQ7AL4C3DCBFPegjGdAQB6D4LJN22zy1SJMOZ/MH0YAECfGDjWCb5bBvc923B8ZF8K9u82LH3b BaHtccOxwO/JWXBPHADAC9/C0jbwf6tg0CQHJWhDB610PDm1tUxz8niGcF8qTUweQXPPcuyiRRWi bkBz77wCyQ3etROqJENbOfz5FvywAs5cq3nssetUKWBAVR0XJgXuCodTR6Fp178dkb4tKdjnhiP9 VUL39tU5CXQOhVPHHO+vDR20fn1ImD/Ov3ZdIPaOoGW4HDcVor55t7KMcYp2ofRfG93Js8BrsXtc js2Sz/Znc+ovr1uhhdu+uanhAslKUEr/ecCMY6Avv2ncucPQMQD8/MDPDwK7w8malsz+XXvjJg4W rIEhNHzxOKTFQGAr+HR31dqGy1QhJfgob/bXxxv0FU3s+B2Qvk0p2OeGY/31YG6+2dMDtJpGjLr6 dbBGgMAwwFk4slOaoCVMrDW3QtS1q+pyVm92ya7fiQWS7dxtsL8RA+HXgQACZB+Aj6fCB5Ohbzrc JXcDVdgMWnNlVVDAoKkAL9/KV7kuBeek3yBscsOR/hqhzFzVsAhl5eDl7fhosaGD1u/XaSvA18+H bL8naPYupxkWolb4IsRis6FSRY3pohm7hxN3YIFkO3cd6a+UU8beBe9MhoUzIE8y2K6XbWZh+z6Y cB8AAJ8O+65Dx66VnzS5LoX677pc1NkmNxzprxm27YFH7gcA4M7A3pKb/XVk4Navg1bx3o2r2Xo6 sXViPcLAZSdWrT6hCew2dnj7+oo6O3+XgMCZibVmWIha3oXxR8Lln3l9BTYetxxbICA3DXdSILkG tXb7y66FXqPhm79gyx7YvAimfQfK3tBD7SaqKFj5Knz8N2xfC89PgjPh8NLYyoDFdSnYuutKUWd7 3HBEjDSsfBU++Qe2r4Gnn4DLUfDCKMezHBs6eBOmE4fPQJu+vetzSMK1NR8889Szn22yUdTZ+bsE BPWjwgawg+BOzGyniHt5D1v7hli21PhvX+2CZO2yB4znZxsWJ+nOZFj9Lt1y7Fnd8jTtXynaJf11 2981X8up+fsM8/ok7d7tdZsUSxcZ1nXT/tVKu2qi6epS4/KkiiPHKu9p5ur+SjXkVlEjHK5xt0Fc 24Qf6oZ9lVjph3tOwNuv17h7ah7uHIblKtz6Xrx4Po6R41f31/y9Ds+dhGP9MI0wKPAvN2q//+yv uHskZhAGBZ6bX3lx0xRMAYaa/6W8jTmMMcaXvsByH7zWXPmwZXftdnVn8VujcZw/litxWBIe/ixe l4ndAjv95c/jqSNxm0islmN1EO47Ce8qrMkJZ6k6/wmWB+DvF+MBCVipxAn98R9n3SoF23ftSN++ FBrkhh0cn4Hlwfj7P3HfOKxQ4qQBeOGFRsrJpg5ijDE2bn46QtHx47N8vT899V4qA7LuX6bzbr5L QFAvSCFqAoLbiRMzoecvsC4X7pE7/Q57OqhdPTFlcvHH5zY8FUnWcgia/cSaI28ghagJCG6vFtvU QTHrrzlr/abMeJT4G4L/isshhagJCG43bOggLs1TDP5m/ru9VIRFBM0DpBA1AQEBAUELynIICAgI CAiIyyEgICAgIC6HgICAgIC4HCdAClFXgRSibvFooVIghagJ7hyXQwpR33Q5pBB1S0fLlAIpRE1w 57gcUoi6YZBC1C3I5bRAKZBC1AQt3+WUlZWtWrWq7vVVq1aVlZXddAykEDWQQtRuK0QtXIJuahj5 JMR7Q2R/WLYYeoSCVzR8cbjqgUyYOQk6JYCPCrxCof9k2FlQ4w38aWivgCeWw4Jp0CYElB4Q1wN2 VB1qfv4v6J8IajUkD4J/vgc/BXxxyT1SIIWoCQhccjl5eXlPP/30/PnzrS/Onz//6aefzsvLq75C ClEDkELUbi1EzcNlCn76DUIOw4SP4blFMDUCvpxd6QOEHDgvgykfw7JNsHoetLsMw++D47VkhGHP DJjHw3eb4Mwh+OBeQBgAoHwj3P8klPeFfzbAZ4Pgo/dAj90jBVKImoDAUdg51vPkyZOBgYFz586V jmObP3++v7//kSNHrE/2O/ZOG5n3IyuNNU9uE4RLj2j+GmYuk06mFMXsado/E6uO9RTFrKnaP3sY c8urnr/Bbmur3fK34MixnvYP7tTM1f2VqDt5roq+jYbFSbqzjh0oufoxzEThTbqqV63BoQye8q9D BztKWPMolnfHtk45zJqN5Uq8zGyjeQH/MAArR2JdzcuXvsAyBs88UXUo5XLsI8dfXJJ4hJeMw0wE Xl1axbTreJgXvvdnLLp8+p79/rKbcLAMv1PveakuUMVfxF2V+NX9GHN4emscORVbMD7zIVZ1xhfq 46plH45T4BnHrc+axKkM9huBr4u12TtvMJal4dNc5YW1kzElw59fdFkK9rnhwLGeDIPfOFjVfibu rcDD/3BcgjZ00AoVf49Wy9I+PENO3yS4/bC3lpOWlrZ169aZM2fOmzfPRqE2Uoj6luCOKkSNwMcL AIG3J3j7AALw9AIwVGUkPOz8HwzpCCG+oFKB1wDI4aCotDZ5vUZDaO1KtXD4BET2h9ZVY7XP3SB3 ixRIIWoCAtcn1qq9zubNm2fOnCkVaiOFqG8L7rRC1JL4KKqyAiyiAAQQMADA4fdh2EzwGQ/LdsCJ k3D8H0igga9lSxEEB9XZqcGBxgA+fjdHvNrXiquuSIEUoiYgcDxabfCJTp06bd68WfpLXTUkhagb 04L7pfefLERtExwsWwKBE+GPt0A6p9KSD3qxHkajuqGUDHyrTLnUmkkDFvcZYVKImoDAPS7HhrOp /DkpRF1jSo8UonZLIWrbMLPg6Xfz86Zj/0IxdlS+PTrDwl1wiYdUBgBg/y6wuF2fWlohagKC5jWx 1uDPSSFqa5BC1E1LFQP3DIDMf+CfSyBwcGYhPP+Xw5NjFDw4DSLOwaTn4d99sPYbeHdDjSTMeSm0 5ELUBAQty+UA037MmOTybZuO1goYFYOUAz9ljD8YlqXq/v0axzwhszYNdIpi4FJVrJI/N9249Unj kZ84nR8T2dYhlUDx8h7vMXilcVV33ZbvxJjnZSo3qZKqO2xYDT2K4YWRMPplqOgH69ZCR0U1zTB3 Ngh/QUo43PMRjJkOdTelxjwO3z4MO1+Dzm2hdXtYVnNZm24Nv30Pyg0wtA/07Asriyuv734b4uMg Lh5mHgB2C7SLg7g4GDjLoQVkRSqs2wPjVDDrKRhyP7zyFWQEwH0d3RGv2+0vkwidMMx/F0YNhtGv gK4/rF0IcVQTU4Vg+LfwZU94uyt4BMCj/8DbP0IC7eiv/YbBul/AazuMHgyvb4YZ74EagULhBinY 50bD3fKDT2fA1nfgvvGwPwh+Xw/3+rhBB6s8zv6NOw1tR49qTRNzR3D7QQpRE9yhyJ4NrT6DFTlw 322tX0YKUROQLKdxbyCFqAlaBLAWvnsX/tkKZ87D3qXw9CxImAwD/gv1MkkhaoI7yOWQQtQELSSj p0B/DmY+Bt07wvA3wHsKrP8E/iMVmkkhaoKWooakEDUBAQEBQcvJcggICAgICIjLISAgICAgLoeA gICAgLicWwwHili7AucKYDvdWvrKLz7+dX+dQtT5Pw5UIAmqcbYLUef/OFChGrW4edXSap5UuQPs +kn+im5fXCKHXRIQ3DEup6mKWN8e8OmrPv/k1/11ClGHPrb4clZW5t73utotRC3zj23TJtq3eSWe zZMqAgKClonbe+ySVED3fbcXsW5moL1CYrxABH+l3ULUweN/Ozm+udHePKkiICAgWU5jYauALs7h Tr5mWNevYnEr7aKuuk2vs4VWFZ0bKjXdQAFsuxDyt33+SM94f7VSHZjYZ+JXu25UJyxC+pfdFb4T rQozT4tVJL52gAMAYNdN9KUQUj6wsMJy+K0UBqH/b++8A5q62jj8u9khhLBUBFFx4UJF6x4o7ln3 qlq1auv4Wtvaum2tWlet2rptq7jqwj0r7okDFVxokeGoCgIhjOz7/QFIQJJcSFDU9/lLSXLOe896 7z25uQ/DMJIOf7zgVrtmZ19p9sZb3i2szHoHrtg9o3ttT7nEoaRfr4UXkk3KZVURmyd8XLess1Ti WLpW10m7ozScDvXevAYOvt0/61jBybFMyx92bBnfyEMmL9t2XmiaPaKy0JIAoL/5Qy1xieE7wzZ+ 1b56KUeJzM2n0ZQT6TbHbKXetIh1o1tWcnVwcK3c5pvgh3kejV3IliQI4t1IOeYEuuwTQ7KQX+Ub acsgWeAcsUu05vhw9UudyTvMq6YtC7Ato74ys2u3Hy+WGLZi75E9Sz9xOjW1S7e53ETUbX4Nj46O jlzbXS6sM+lEVHR0dHR0ZFB/jtuFok7L70VHP7w0q0n+zzxhU/fNXcV8vv1G9N39o12OTx0+z0RE /Vv3gE/XxzeZsvHQke2z2yj/GtDx2xCOP8rVR9/nDVj958hSobM/maUavXnLWK+L85ccSbU5Kk4t yWacmfbpKn3v345cC78U/GP7Ugxra8wW62UT9o7tPGpzSuCc7Qe3zWrx4Ifpe01F1Da1JEEQHLEg oi5irAt0s9S8VzJ2VlGFRXBQTVsWYFtBtWewu8B7pImI+lMPgceIw5nx6e/NayBSDDYRM39ZTlTx m/NakxLUewc5iRrONyOiNkQvaS6S9DEvon68PFAk6b45twJZf29eA6Gg5vQwXbYCub9C1GDePT3L sqzx5ba+bgKvIXteGrOVz390ksvar3nCQfk8t76kwjfntazuyuRqojJjT2pZffjMOtJ6c3IpnwsR lZWWzNRFz/AT8Fy6BT0tiDHbWswW6zXELQ+UCOvMDM8aG4nBA0vwhPXn3rW1JQmCsI+IuogxL9DV G5/9kXGss2pbrZRNVZVbBmrS9EZ1sullgRnVtGUBtpXT5wdXw5IljdqYiKjbNBC+DLv6sBiIqGvU zvYni91LKJCYkGQEAN3VkNNKt44DO7gy2d+8NA+opr8WGm6ifFarlMmZKFXq3MpnJ4WcB0bu5Mh3 UsgZMI5yGdJUqaxtUXFtSVGTnl088r0OLFzMluvVhV++rvcMaFU1a2w4B7T5KOduDi4tSRDEO72x Zk6gm7AkPeRXvairpOUWWdeD8i6/i+Q8sKYLjznVtGUBtpVvllKUKsicnU1E1M7OYjZFmVIMRNQi EwUyw4DNFlEnvlQa4td3U0iykdWadlWbmpRsonye6u/mkol7w59yK5AzG4fh8Uz+ZTAYWNui4tiS jKxkCcd8O6eQMVuuV5+SksG4uL669Y5xdHUV58jRrbckQRC28xZvFTMj0NUbYg4YxD1lzb4QZAo+ jM84K58tC7CthCNXyJGWlGwiok5KVjNyhVO2iJoHsCZiZm0xEFG7uikElXtvDx7nm1v57GWifB63 7XSPbAWyd9U3IE2x1pI5WcrMCU8hY7Zcr1DhLEN6WvqrTtOmpeX0IIeWJAjinU455gS6rEEDoSJn OUo4reeqmrYswLYSTpWP/J3Vp46dVfXtKAfAJp8+Fqp37VKvAh8AeC5uLoz6ZYKKhZgBjE8jbr8m ZmZEYjEy0s1Ey8jkjgyrTFKaEwYXHGG91i3km288EFT62Lzy2adeU58327GWW5JL7ihUzJbrFdRq 4C/YGnb9ubGhFw+A5sblcC3cuLckQRC28xY31swIdPl8zyaMar8mOopl9WzSnozQYJbPVTZsUYBt Bcd240ZVTwgaPWDm5qMnDm+Y3n/cVlWdsWOzhCqMS9NWdZkzq385FpOsfHxh2YQVN14TUQuq1a7O u7d9ycYzN+/eu3f/cW4RNePSOKA2c275jKCQC5cuXb5rIqJ+FBsTExP7OFENNj0hNiYmJib2SRKH W+UYt+7Tpza4M6Njt4mrdh07efzAtrULvunbYnSwyvbuKXxUVlqy6LBYL8+rz//6uZ9Z8N368ERN WtyxnyYFxRrfSEsSBFEcUo4ZgS7DeE+X1atrvPZxyuY6qrP7mZqzRXLOYVoWYFtG2nDmwT0zGsWv H9e9Q8/xW1ICftq/b4qJiHrMyiU9DBt6+HpWbvdTXK/JA18TUfPKDVu8eIDzyW/b1atRvVqtETty P/qGX+1/fy7rJzn4v47NmjRu8b9d8Zmvak9PqlfBx8enQqPpF7Saf76q6ePj41Op9YKb3ETUX+8/ 82df6ckFIz/u0GXQ1wuD/3Xr0Nnf9sXdpqgst2TRYbFexq3bsoOr2j2ZE+ClKN1s2uM+47spmDfQ kgRBmCzwb9WXQxJrgiAIusp5U7WTxJogCIJSzpuCJNYEQRAfDCSiJgiCID6QqxyCIAiCUg5BEARB UMohCIIgKOW8N+SjxzbcmVNP7D78kNaWcnUPd4xvXcVdKuDxeE6f7NEU5NViiBnxttVP5TYPvTuQ aPxdgkTjxXNs0MM98ssMmXrsi/bWY6fsm/bF8uh2S/cG1XcVCdwqigrwanFEH7l77uwHvH7Dmrrx P4RxYeZ4eR6Dt9zvlGF4vK5/4ALzn85UejsWS9G4I4nGiTc0NijlvE5R6bENz6KiUmVNB3zWrrG4 oK8SxRgSjRPvZcopkrFBJzd5MafHBgBoo3Z8HVjJ1cHBtVLL0esjcvzHljTVMETObyhiGIHvxMta 5aaPJQzDMDlbZ5ZfhVVBchFJnQ1Re6Z/2r5uRQ+FVCL3qNpy6MKT/2XvUXARbxvjL64c27G2t7NU 6lTat/nAmYfiTH/va3x5YfEn9b2d8pFYW7rOCJteU1yy35xFgxt4O0kc3Ku0+XLL3QzuSZ9E4yQa L7ho3PLsBmB4GjJ3YJOK7g4iiVNJn7odx225byj6HrQ0Q633QvrtDWMz26pKmwlbl33iYroJadvY sNgab9MKWkxR7RroIvKfFZFH7am/PbuuUOCg8O3x8/aQkwdWjqrrJPAeui/ByMUZqlM+jYmOjgr5 vpZQ0evPyOjo6OiY2Pg0lsurmttLAl34bo3Hrtx34uTBP75uXkJceeyxZGMuw6ZQVtG3ZpMxa46F 3YsMP7l+xpITqRwMm0JhtRFB/2wfX1fCE1Ydvj5kz8RGMuf+OzOlmprjP/T47Iflm3cfPXUmZPeK sY3dZP4/XNVkfjo9PjYmr3g75pnKkF26MfnENzWlIu+2363ec/z0yf3rfxrU6quD6py2EpUq37DP nM0HD+9Y2LeySOA7MVTLySR7bVoNAY/v2nza0YfJKU8vLu3mJa445h8lJ3VnxuXp/lJR+a4//f3P yaObZnT0FsoazL6hYTn0oLXjtWx9Naa9iMlSeufvV+XLyrSbceje8/iHITOaK4QmrWG19wvdv7ZE ZbEli3BMWqzXGL/nU2+B3H/kiv0n/vl7ZpdKTg6CV9ZXG1rS6uw2xK3p4CSq1GfhzhPnzx3bvW7u mIFzz70azkXXgxZnqOVeMCYeHFFe4Fhr2O97T4TsmNuzmoujaVvZMjYstwbLspRyOOqx9bdn1xXy PIcfzGoZXcSsukJpm5WPDVw11az+7tz6Ipch+9VmR9jrr3IQJBeN1Dkv2nNf+4hrTLum4yLe1j9Y 1FQi8v8hzORg9Dq96ZCt8OWpzCY2JmzoJsuRWHNIOYIq313MmliGqF+bih27rn/B4dBJNE6i8cKJ xq2MDc2RESWF1adc1eXz0TfQg+ZnqNleMDxe1dZBWOfHm1nvVe4b6sEzTTmFHxsWW+Nti6iLJ+b1 2ADE9QObZj2UQeAb0NxTd+NKhL5Iw+EqSLa31BmA/unJX0d18Pcp5ewolUrkgb/H6l6+eMnlYXhs 8rkT1wx+vfvWMvlWii8w/cpdXLfpR1lWCKey5dxeSaytxgxA4t+wVta9FTzvevU8NDeu3rbeCyQa J9F4oVvS8vfhVWrXEN0PmjhxefDp8Ecp+oLO36Kdofn1gv5maJi2TMvW2d3r1KzVRyK7jFjLrUHf 5eS/NJnRYwNgJAqFxGQ0OCE1JaVoFyyOgmS7S52hDv2hY6fpZxT9F+44ERp2/ca1rSMr8vV6TkfL Jr9MMvLcS7rzzN8LI5W+SuqmEmvrMYORyGQ5n5U5yqBM5iALJ9E4icYL35IWvw/3+WLj3rkd+Mfn DWtTp5ybe9Vuc05n/7yiCHuQ2wzNtxd0yuQ0RuGieDU/HZydRYw9Rqzl1sjMSZRj8jRm/nrszLmm VirVQOapO6tMToHcWZF57m67ptrMGRQ3QbLdpc666zu23XUfcmj9xDaZFyPaJ2wq17WZcXZz4Rn/ e55gRMnC3D1tOWY2PTFRne2aNiYlJrFyJ0fr84VE43abIu+naNxCVNbGhsCr9YQ/Wk+AQRVzYeus seN/HDq7ReSS5qKi7EGOMzTfXhAqnGWsMllpBDJry0hWau32YGXzrUEpJ9/2MqPHzryR4/Lxcymf dHYCoI88c+6pyL++nxDgpqkuFDYLkgsrolarNYyji3P21oT66uET8XkHpTnxNuPcLLAef/KOrTe+ /ale9mWhXq8XCAT2iFkdGnImZWAXJwC68JNnEyT+9WsKOWx/kGjcTlPk/RSNm4+K8+zmy8s3/2zK 0PWbpsU9zkyMRdiDXGaouZas06ieaNOpk/f0zfwEAFTnT13Vooydx8nrrUEpJ9/h5dmseSX2z8vX NSPaS157MWXXN4N9UsY0kUVtm7kw3HPAnt6lGSBbUz1z9S/HAic1FNwJmrDiBsOUtMcZpVv36VNX BUzr2C3++xFtfBWaFw/vhB47kNHv4MpeRfmob4F/u0C3NVuXbh2yYkBF7e1tk8dseCZi8uz3CqrV rs7buH3JxsCvGpUU8x1LVyyTedHHr/jZrDHrOs/r3iVtytiO1ZwyYs9v+SN+UMjvne3wkyOGn7Lr m8EVUsc2lkZumr70vvfgRT1KcFjjHduNG1V958LRA8rM+V9z1+cnlk7dqqozPbdo3HIPmj3erBIa B9Rmflo+I8hnSFVHgaKCf7WSQgBQv3z0XGVg2eeJarCChNiYGBkYoaK0l4voLfZ+4aOy0pJFh8V6 eV59/tfv5z4LvlvfZNknFVPP/DwpKNb4KuXY1JJWxoZm37hW60W9ujf3K+/GPjrx+29XJE2XNHIo 4h7kNEPNLXKl+3w1cG73hZ+OKTFnSA1d6LIZBzP49hkbFlsjE7pj7bW7osKm1xT7jD+jee2ONZHb oGVbvg6s6CyRuFRsOXp9hOldn6k3Vg2qV9pBJC1Rrf23W/763D53rLEsyxpVEVsm9qzv4yoVSRSl Kzfo+sWc/VG570sRuQ8/rCnQUervzq0v9Z8VoWf1kfMbSmtMu6ZjDdFLmksrf3dRm3mvzflfB37k 5SgSy0v7df7u7x0T86lFFbby08blXcR8hoG4/drnJnfGGF6cXz66vZ+XQix2LFm56YCZh+IMnO8N s3THmqjkkGVB41r4KMQS18qB4zbdSefetY+OzOrXoLyzRChx8Wn8ydzjT/UF6kFLx8uyLJsW8cew hmUcBQwDceuVWTclaY6MKPHa3obAd9JlHafWsNL7he1fG6Oy3JJFNSat9mD4X5+3qOAsEcu9GwxZ /GMPZ5HpXViFbEmrY0N/e8PY7k2rl3FzEAkdSlRp8enCU88M3Odv0c1Qi72QGrH+ixYVnCUSl8pt v9+xbIBC1OzXhwbbR6y11mDJl/M6pMcutujDptdpvLbJ/rg17UTUGgRhpxVvSUDVnysHx/7VWVrk ldEda/m0CemxCYJ4j2GVJ3+bunTrsdDw2zfObv9x1IKrFYeOCJS+iarpu5z8kAXMWDd/zf3HStbb haHmIAjivYLh8VNvbfn9zxmPEzXi0n5tRmxfPa2J9M1UTRtrBEEQxJuBNtYIgiAISjkEQRAEpRyC IAiCoJRDEARBUMohCIIgKOVQExAEQRCUcgiCIAhKOQRBEARBKYcgCIKglEMQBEFQyiEIgiAISjkE QRAEpRyCIAiCoJRDEARBUMohCIIgKOUQBEEQBKUcgiAIglIOQRAEQVDKIQiCICjlEARBEJRyCIIg CIJSDkEQBEEpxxQ26cBn5b0+CU5gzb7FcCLj7yqpEVEFK1h1SP1Pq5RNlZRBFVLO/vNW28lojPxE GeSjDPJRBlVNj9W+7/VmV6+89OfNkOuaPD3Lvoj8sV5Qr1pBvWoF9Z8QqzM3MF5E/lhv0/xD+jcW 7e6BGwdPfaQr8poMV6f+3W9gxBPjWz1ey7OyqPvIzNiwed1gn2/p7VFp9LEUFsR7iMDyy4mJiU+e PPHz87PwHt3NpdO3uX5x8WN3xq6hpequT9WomksDF/HFQojLvd3UzKuwVO6lRvqO9KOrP4B6s9Cn hP4Z/h/PJ9BfbNq5jHuF8fu9tMb0E98f3WNpdIlKVHSWyj+c2VSMjrfI+8jM2OCMuXWDKdV78mc/ B0xdNq7VlBoCWqI/sJRz6tSpzz///OjRo3Xr1jXzFuWhX1c/aPzDMHuPDjbeqEpjSnYTedYtFi0l dOcJATgzH0i9ljOh0NlTCCPkIournqvP2O0+H85kKl7HW8z7yMK6IfL/7DP/xYuWhHy5toMjrdEf Vsrp2bOnUqls27btkSNH6tevn09ieHkgaJ+y8byunrzXLpt3qEOX6xKew6GeqE6bvFfJukjdzV80 MaEGtYFxaiSqM0NSNvs6Rrkqdd98Q+aeRcJI5UMADFNhlVPzdkCC9njLDO14eYcRvKw12GCM6KG6 5eXQc4VQzICN1d34Tfv4qkH1nGXlPLcAUZ3vxR4lTcK6q97/sdYgryuEAAAf/UlEQVRtqczjsjpi vyE1HVJfUZMtktJSW5sy/bzm6iLtk7tGg5Tn1lLkP0Xs4W66D8HGb1Hf3KyPjzayTjyXxiK/ieIy ngCsx2zLXlN6+F9X/w5+EhNvEJdyq9vHf8gQD2de9jbUoH27fFr+NcdbCADGO/N3zzxT9qe99X0F 0J0+N/zLqPTMXlu8u89iABA2abJ6ZWUFh+SnO3Z68LcxOgDgN5jXf2InQa7tr0H7dnk3GFf2ybZd /z1NEZRuXuOLmTV9X51os7rYQzf/Doq5Ha02yJ38utUZNqash4j7IWsiN57dsOFRXDK/ICWzz07c 2LH98d1IVaKKlXm61elZZ9AQD5dXwzoj6cSi0OAjCYlw8P24Tn29/Y5XnXxq0aUdhxMSIfPtUadh /KX1cTV/3eTnZX3T21rMhe6j7JGzddfT6Gd6vlzqUb3Mx5MaNC/HALaODSvrBgDwynfvWW/y7KAj Czv0dqZF+oNKOQCGDRsGoEOHDvlmnbQzh05lVP2mmUeekaM5pj4+RSfuLWnZjae7orm+yKBjc95i fKA52U+dWFHkv1ii4BkfrVSfGcq23ictLQcAp0GyHl1YNlZ7cqjWaY7jR00ABkJXAICbsHxj9cUj utThYjkPANhoXew9pvQoQebVPfvEkCzkV/lGJPdgGKUxbrX6+HC2w26Jm9B0vOP5LxkpTUUNg6Qy gTH+kIGxedvYEK4+PkKjbSpptJYvTtDfWaA+PgIdd4hdM+tl2Wdz00KC2FLDxM2m84Rq4/P9uqeR 2SmHS8yFi+rflcfn/qWtNarRpLpi5ZU7m387Pk/XcfZIV6vdLmxUf/HhOkbdf+v6X4rv3/a7Po4M wIglTtzWFEHzhr8fqce+fLhkaHi+b1CfCj/6aZMJO5oKHtz97evry/70WDLenQ8AxsdbTs5YmOjV 1/+rCQre40e7lp6Znd56weTSDtyq1l66uUlXpeuMCoKofzf/Hsa5ZDY+Mplfu8qAvnJXZybt37g9 y47Pyegwb7SbAACruTzn+Krj4sCvWzbz1t3dcn1rqI6tZI/jZbVh846vOCIM+CogoILxwbbrWy/o 2AqcdwIsxGxTH7EJuy8sXJlS53+NB9aRGhNToi7+l5DIohxj+9iwuG5k5xzvFi0qqNYeOp/Ru7OU VukPLOVYzDr6yKs3UiV1alTk5z5DMsas12ZUkbSeJXIRAI34vIeq0wdfDWc2bqnmmVTU6k+ptzMA eNRASqD61kFx6f48AIwj4+jIsBqGz0DgznMsY7oPwJTpLOBN1MU9EtcoBwDKI7okmcCvRdZw5zWR tGqS8/ZSrsbHn+jjIuFWM9eE0lQQdZwpkjIAeE6+tm8Jsk/Xa5NcRG1+E3s6ABC4O7J7RmvuXRA1 CWAAsHHa6xsNijGOgeP5mS3lEShiDShIzIW57np6aFuSU7c2X3/uKQFQ3136dM/Cv+9FDGniL7b2 WbHY3VMMrUTCQODkUMLTsUA3mjASSQlPsAKxuYsTxqvy4M+9PPlAw5pdmt1dfPnZc6O7Jw+sMm7b 6meizq2mTPZ2ZIAGHj5I+d/8W+dHlm5bgttFjtR78By/GmKgmbs27PEKriXz/Ea3yvnKsm4pp9jH P/4TFzfKrQIf7POYQ0czyn7WemRfFz5QowbvSdfTF+xyvPExBw6llx3W5YsBLnygZg3ek24nz3De O7MQs219xD6OeKkpW7n74HIV+QBK1gqsZK+xYWHdMFmXqvhVEyZfv/avobMfn5bpDy7lWDiNfvLo CeveoWSeYvTG+Ntw6MlXCLLyhEdTPu9g9qWE3vBfKCtpLfR8dc3sJihVib11w2jsz7M6esUthZ6S 9Nh/jNVH8hiDIe6IQRgg9nTKqfrZek3Ebn3iI1anZWGE0cCok/MWUrKDUJrvOZkBunSWzYyUzwhl 4HTmpjcm3Gb5/oKSDtm70Q0F7gJtYoSRDeAzgPaK/qWBX7sz33T2MPyCxVzwzolLeKjiV2lUUpId VY1G7vxDiVGPWf+Kb/mrIUEllzJZx8+TuwpxR51qBHgw3P7vjkryUWdPx+wAFfVKlTHcenDf2LYE L3vnTKfWZvURTySU5v72WlitZKXMhMoI3T3FeMi1ZEP8s0MrIk5fTHyepNMZwBqMBhe1ygjwob8f H613CGigyAyZkXvUqsG7kGyP442Mf6hzCGiUVTIcS9WswTvzMs9OodnjtRCzbTCevs6CvVEbFzt0 aFmqUlVnd0e7Dhgz64YJklKlXdmzj54aQCnnA0w569atmzBhQr4ba3qtDgKBMM941LM6NUTOzKs/ C5wZ3qvdKz2rUUEdnPb3bpOzKj2Y0qyRy13bCkH5Fsy5I7rU4WLHKH3sfabMeMGrLaiEJekhf7He X0paNuNJpAz7r+bkON2r64mcEzzX/GeQ8YZ6fz+NygAATCVx58MSTnsUYHWpEDoxOcGLGZEIySlg AQbQJrEsj5G45v9hbjEXglRdBoQyeU5UQrlIyCanp2ZG9TbhC3kmV64MstO8IUWTZlSf/N/fpxmT saFj3FSvxobxwe/7p21QGQGAKTOi869fupkuSnwJn1eIkjUJ20aHHNB69/m2Ze0KEjGPfbz55KJ/ 2MxvFI1pOg0jksuzP8kIHBU8Jtkex5uqVTMix5wFnS+T85hcKcf88VqM2caUU7Jv88maG7sPRizb HKqGqHSzGl/MqlXDbl+s5L9u5FqZBALotDq6U/rDSzkW8g3AKFycoUpJyTPKhYzIAfp0k2mTDuOr wSNgxHI4dXJoOYSf685bGcNpeWcYz84CwVe6uEdizyO6ZIXQvwnz6vop5oBB3FPW7AtB5qw0PkM+ g5YBYyaz8aqKArYKslZ7CU/B9QSLETpCpzRJmWpWq4HQKWtlF7kwjJHNSATcXp983GIuDDKhFLrU nMUa2hStlhE6ZC1wDI8HmNRk0Bnf+gTnO4llfKfGv7TsWD7X2JDmnBDzyg4ImNXakBmquJSCZ4+S Dfdizj8Ut1zRrEejrF5INOkFvqNIAr1abXLhkWGftuI7iiSsNi3nJMCQpspTstnjtRyzzZE5+A1t 4jcUxrTUyCPha+ffWLa61O8TS9nnvlQz64bpSZxKmQJnFwX9Vv0DSzm7du36/vvvjx07ZuYmaUHl apV466JjklmUNJnIfJ57dSb6liHDyHfgAUDiTYPx1Ym1gF+6AfPwjpEpJ1QUagSLmgu9HNNjD+l0 Rwzi1hIPh5yBatBAqMhJKAmn9eoCTUIZz+0jS6NcKAPDshpV7uQh4LlXZwyX9M/ThF4yANCG6hIM TJmaWbfVieoL3Pjq2P2GGt/k7K2xejACrjHnX6+VRaOcu4/ccPvi84z2XlIArPb2pQSjokyFMgwA MGK5E6NLVmewEDKAMT3239fqZXhCIbRqA2sm0UodGKRq0lko7HTVxK9eurrsYXQs49HKbL6XerlV 9bJ3yRqDjjG5ItQkhIXmtAa/irsPP/rh3QzWz4EBoE18cN8Ie5zy86uWqCB8eOuy0uDvwgeQ9uL2 HSNKcTteizHbq494MsdqPfxa7Y3a8ixdb7pgWB4bVpad/NcNk3PU5w9jUvmVqlXKZ4FgE8N27wlL dm/Qu2ut129ZsOVV4g1g5SSiZcuWJ06cMP+jHJ5ns+aV2JuXr2ty/5lXfqhQcllzdadBo2XTzqnD gk1O3RjG+0ux+wNNyEh15BH9s/P6mK2aK2PTLh3mPHhlAp9A5uU69f0HPO/O/JxRyed7NmFU+zXR USyrZ5P2ZIQGs3y7DixRXYELY4j8VfvfNUP8TaM6615ZxvNTkXOS9tKXmodn9E92qU/P0Omqiatm X34xZUX+g/nKlenH52jjzuv/O669+WXa5TMFiNlMvZZx8OzU2zll36XFKx/euPzk1LLTfxzWle9f 1S/rqw5R1QauuHZ/38XUtNT0yL+vHolk8tbLV5SvyDw5euf0tcTH0cqnz7W5TksZUZWPXBAWuXXf f5Hh8Q8eqrM3Aw2qZ6kvnqbGP9doAU1S6ounqS+epqdyeCoA4+zde6T74+Uh8xZHXrr4LOJ0zLF1 VxYNvXQpzeYTa4sl86p5+jmrzm2OfpLGGpKTzswLPfUypxeYkuU7dZDcWXf15H2NLiPt5qqwU09N B6sNx+tevksnh7j159Zuf3I37NG+H69fU3MdsJZjtq2PDFd+PrRg4e1Tx5/eufb0zOrLB2/xqzYq IeY+NqyEnv+6kUNGWGg4qrdoml9CMjza++PnI7/4+ciz/Gq05VXi7V/luLq6urq6Wvp8rV69qvyy 6cgVbfvmpne+iNtIWs9Rhy5L2zEdkmrC6sOFyctzOpnvK269nXdzsebWZG16BsSlee5NhVVqcE8O jEdnoXiXVl1KVL4BY7rn5j1dVu/HjGsfp1wA49RQ5DdbFPGVPZ8Sw1QSNZ1pPL9EfexvlhUKGp2R +ZYCAH4dSZs1zJVftaGjjAYJz7WVJHCy2FWUE5jHZFm7suqbmzXnNxiNcp5rU1GtagWI2Vy9Vs6h K49tM0lyZeuu0HlrDeJSrnXHBg4Z5pr9xRfj2a/R8PsXto/ffVAqr96tds9OL1dfyrM0OAZ+Xz9q zq2gz6PSdKygcZ7fXjBlBjYdGXN+29xjxzJYQYNGK9b4ujKA7vmmfiEhSdmL8vy9o+cDfEWPjR8P qmm1j/nlBreeVeLmto23Vm5J1wjF7uXdawVW8ZHY4YrCQsmM3HvYonp/zL/2fYsLjLNT9c5+o/pG LNn16kDF9ae0/vyX0J3DdqwxSsoHVu/SKjn4efarthwvI6o7sfUYwaXtS0+eYmTVe9Xt0+zC+md8 LvfHW4nZpj7ilfZzY3f+u2V/qjIVDl5udb9sPbhP7lsIrIwNK+uOmXUjO+OcP3QyrcYXParRrQPv HUxKSkq+L8jlHJ+BYYxZ3rbWvIo77q1pL6P2JAhbMKYeGLYnuFzL1T+VEb3nR2ph3VDuGeI7NH7W rYMjy9B3OR/YxhqXEsoPnT5UsnPJlkd0qUoQBSb98t0tm6NvRiQ9uvf8wsqLe+7IW/UsLXrvD9v8 umGM3rB0n8uIaYMo37yP2OMGFFnAjHXz19x/rGS9XegbOYIo2EYDXx938Prx5ekqLd+lcuk2v7Tu XeeD2E8ys26wLx+L2y76a3QTeuzA+znebd5YIwiCIIiivMphGEuXM9m/cyMIgiCIHGi3lCAIgqCU QxAEQVDKyQvj0uXPmCebe1mwgr7zImpuRO7CrD/wMs+2ohErWoNhwDBgpNhp7tdvRqxoDWkPpL6Z WDlGVWzrJY0xQbx/KScxMTEiIsLye4S1v5rVL3HVvL0J9p3lmSJqP0ngdscue2X+jd6FlLMbs//A S2PeNh68BdHRODsDln7hx8C1PKqXfVMXnhyjKq71ZmmMJ+WrMZZsnLrsjp5mN0G8aynn1KlTgYGB YWFh5t+i6PTN55Uvrll3285T3EREzXfz4zs6vcOtLC+F8uVRxtXi85sZ9P8T15bCoVhFVUzrzdQY jzKrMb61YklIKk1vgnjHUk7Pnj0XLFjQtm3bK1eu5L9OunX5tJviYvD+p8bXNj52ZBxpmbKpWsqu QerYuHxE1FdHpu6spdxUI2XfZ+q4WJPlZFXqRh/lhkB1go59OFIZ5JNrY025KnVjrfRH2U+EMV7O CK6iunIt16uRR9UnOqZs9k3Z1j791rUCXHw9CcHAxnB1gIM7mg3BqecmVzDzIXbG/uyNIN0ZlBfj 20xPlwZDnMEw+HgTtKHwFYBhwEjwxwtutWrQV5q11/T6xlpmvSt2o3ttyCUo6YeFF0yf/wxVBCZ8 jLLOkDiiVlfsjrLb4DBXMvscXeRo9ity+tyAufXh3CtnU7HoosIrjXEvCxrjhF1BR5JpfhPEu5Vy AAwbNuyXX37p0KFDvllH1qJTS+m90+fyPiUvU0Stayxp+ZeDfwPDjUV608eqGx9oTvZL/zeR77dY 1maZpLRKe2Zoxn+qrFedBsl6nJX33CR2ETDl5st7nZX3OuvYoDnnY0rXh2+G73J57xAHX4X++vea BG4XYOor6NoNF0tgxV7sWQqnU+jSDTe5PKFNjF/DER2Ntd0hrIMTUYiORnQk+rtzC1iE5fcQ/RCz mphZYVMxdxU+347ouxjtgqnDcSX7iZHaO+gegPXxmLIRR7ajjRIDOiJEaYeRYaFkpiT6BuJqMKKz e91wH8HhaNsXmR6ioosqk0yNcYBljfHxQ+czaIITRPHCRhG1wPejOo7qG7ejcgvFik5EzQWGV3mi xKsCAEHNYYK7X+mfxcGdg07+6O+IcMeBLWjvCAAN5ajaC8tOYG0H6591Lwt3oKQjGDG8yqF8gX4+ zqBEOZQwwlVi9g3D5qGjLwB89xWWDsTJh2jgC7DYMxNnHLDzAD52BYAAf0T64pftaD3Stu0yyyUz 6NwX4s+w5yG+rQQAkbsQ4YhJ7cGgKKPKgjTGBPH+XuVYhO/l7cUkPHuR5zIiU0TdMLeIOudVw3+h rCQgr4j65Q2jfZ7SJuK5ZIvaea6MEKyay/m1HlfDIGmEpo5Zf1AEoIEQYVdheOu9JEbtatn/dIcC SEgCAOgQchpuHdEh+2HfTEkEVMO1UOhMtrxUSiQnIzkZShXnY7FWsmtHtJMieC+MAAzYFQx5B7Rz 5hyVTWRqjD2saYyfPHpqoBlOEO/eVY4FMahAJIRen9dFWKQiaut5ELwc0wkYgJOal4VSBZkzch6o KIGzGHeUsINK3jYYAUS5jygrOevxUon49VBsNLnC1IFfBjpkHYguFP4tkHkVKqiGi+H4iEufWyuZ cUHf9hgcjIfj4XMXwbfR+Uc4gWtUtl7mkMaYIN7XlGNRRM0qk5Ihd3LKkyiKUkSd1yGtg32UwAwU cqQlQftqWcxAshpyRVYW5PEyE1P2kesKLP1liqD33BSo3BvB43IlRZ4857Y3gR+2nUYGCwCMA6ry uUVltWQG7frCcSD2PET7XbjjglmBBYjKttYgjTFBvKcpx5qIWv/g7r/GYT7lnRm8MFmAi1JELXZm GA2rTsvKDOmRRjVrn5b4yB/qUzirQkc5ACSfRqgeXeplrZsubmDUSFABYgB4GoGE15Y8kRjIgLl4 ZHIwLJKUQEk79Z4QrVtg8w0IKsHXTEsyctRraqmM/KPiULKiLTo6IXgnUnbBrQsCHQvwWdtagzTG BPGuYqOI2vj03Nl/mdoN/MW5Sy1CEbXoI4ErY7i/Rp+awqZf017daGDsNPnbjUP1BIwegM1HcXgD +o+Dqg7GZp+8uzRFXQarf0FMMh5fwIQVeL3earXBu4clG3HzLu7dhzL3VwkujVGbwfIZCLmAS5fx IvubDfVLxMYgJhaJarDpiI1BTAyeJHG6buo+HQ3uoGM3rNqFk8exbS2+6YvRwQU46vyj4lKyHP06 49pSrLmDrn1NrmC4RWWuNbgMWtIYE8T7mXJcXV39/PwsvEEfHhx836VNh/p59ujFbSSt5wjSl6ft 8FMd/oUtN1woMpn+fF9x6+3S8hL9rcnpxz5Lv7xap3IRlOEmomYqiBrNELC70nc3VP3zm7HcGKHU TilH2hAH96BRPMZ1R8/xSAnA/n14lUz5vli5BIYN8PVEu5/QazJev0W33DAsHoCT36JeDVSrhR0v c73Kr4Y/l0FyEB2boXEL7IrP+vvpSajgA58KmH4Bmn9Q0wc+Pmi9AFxu7Rb7Yf8Z9JViwUh06IKv F+JfN3T2L8BRm4uKS8mt+sI9Hgke6NuiwFGZq5fTZU6tXr2qJIUcuZL/HeyZGuOepDEmiGJHIX05 JvICXvmxx8InRfWpOupoWvb+A8kLiKKFNMYE8T5e5XCa/OtnrVf3Hj/Qm+Y38cbGLWmMCeLDTDlA 2umfhk08ayijoC9UiTeGLGDGuvnN+Y+VeZ4knakxnkoaY4Iojti+sZYPtLFGEARBvE4hRdSUVAiC IIiCQvvdBEEQBKUcgiAIglJOXswogU0hEXWxE1G/rdYoBjzcgdZVIBWAx8Mne4pNWKTWJijlcBFR m1MC2wqJqN/1lJNva7x1UjDtC0TXw96zuHwFs1sWl7hIrU1QyuEioragBLbtnI9E1EQRYHiGqFQ0 HYB2jfFRPfg4F5O4SK1NUMrhIKI2rwQmEXVxF1EXvmQ91nSCrC4uZT9vIuUUqkvRfT0MNrdG2HSI S2LOIjTwhsQBVdpgy91cb9DfRC0xhu/Exq9QvRQkMvg0wol0660ROR8iBgJfXNZi08dgGDAmG2uG KEz/FHUrQiGF3AMth+Lkf7kjM+LiSnSsDWcpnEqj+UAcirNDL1ibRwCptYkPJ+XAmojanBKYRNTv hIi6kCULMGItOj/H8GlQsmBfYsIIpPbGqk/Bt701AONL/LoXs88gPgrjZBjeFcfy/HiMxZlpWKXH b0cQfgk/tkemjMlya1QcjQfRiApBLSF6/YnoaERHY2m77JQTi9tCjJiFHUewZxVq3kfXzrimzanx 5HdoPR6G9gg6iH1r0Y6Pf27ZpxdAam3iwyHFDGxu/vrrL1dX18uXL+f+s+7qlOpCp4G70nP/2WC4 NzB5Qyd1oo5lWZY1GmO+UgZVUoX/m/Xf6LHKoEbpcUnZ73+uCamh/Odvg2kZxn/VByorzx7PEwib vFK1wS8tTpNdVWj6zsopl6+avFpJdf1WdnyH0rZUVkVEsVzYM5gVeLNHVNlF7WU9BOyIw1n/vTeP FSnYfeqs/2pPs+VE7Dfnc5WwdxArashG6vMvP3oJK5KwO9RmqjewywNZSXdWlfvP9+axQgE7PSzr v6qdrELEzruX2Ubstr6swIvd8zK70Z6yneRs+zWskcPx2lhy/AG2goQduZ/dPpAVV2aPJuYt33Jr mOPaNFYgYL+7mN0qUWxTMdt1fU69uhusn4B16cY+zXOQ3FpDf5etL2KH7LcShvYc6yNmp13L/tQD tqmE9f+BNe09nd4OvWBpHpmQ8ndPB2GdmeEFbE2CKGbY+F21GSUwiajtS9GJqG0o2b0T/hqNjf0x bDe+Xo92LgUaOBajkqBhrVfn96jngRtX8z5Xu0lPeOT5ZsxGAbYeJ39FB3+UcoZUCnkgYnV4kf0s 8ORzuGZA774wtXQI+Pao18I8Mm0SUmsT7wW2iqjzVwKTiNquFJ2I2paSwaDxYPguw93aGFS/YEdk JSoJZIKcqBxlUCYjVx8yKFnitXsxbBNgh/6ATkvQbQZ2tEUJBxjvokc/6LNX+OSXMPJQ0j3/XGW7 eJvU2gSlHOv5xqwSmETU+ddg/96zXURd6JKRjp9H4ZE/akZi5EKcmAIJ98AtRsWmI1Gd3Q1GJCZB 7pS79ZjXhgG4CrDN5EDs2Ab3IVg/EZnPA9U+QarJqHZ2A8+I5wn5OUxtqdfyPDJtE1JrEx9CyrEm ojajBCYRdX4UTxF1IUtmcWIy5j/C6stoehgNv8aM5ljQnGtrWIlKjZAzGNgFAHThOJsA//oWf9LE uTUsoNbA0SWnlquHEW8SuXMz1ONjx1Z8+1NOZtXrIRDYWq+leWRyzkZqbeL9wEYRtRklMImo3x0R deFKfr4Hw1eix+8YVBYVR2JxRywdhoMJBWgNS5XzsesbzN6K43sxajjue2NcDw7XiLa0hgDtAhG1 FVvvwaBD+CaM2YBcHtuKmDUG9+ehy7fYHYLj+/HTAHx91F69QGptglIOAA4ianNKYBJRvysi6kKU bIjF56PBG4LfeoMHgIdBy9FXi1Fj8NjItTUsdbEL5kzDsSno3B/nS2DdAbRX2Bqz1XTVdTHmN8ak +pC5YdBWTFqBivxcb2i1ECFLIDiGYV3QfQT+YdCplt16gdTaxAdCIX05ppf8FpTABFFQwqaj8Vrs j0M70Qd13KTWJugqh1sJZpXABEHYPo9IrU1QysmFGSUwQRC2zyNSaxPvE7ZvrBEEQRDEG7vKIQiC IAhKOQRBEASlHIIgCIJSTiEgEXU2JKK23hpWP5XbS1R0aA7AVYx594pNL5CImqCUQyLqgi2XJKK2 2hrFnLfXCySiJijlkIjaPpCI+h1KOW+pF0hETVDKIRE1iajfuIg6k5cX8El9OBXweK3KpCPWoWUl ODigchsEP8xVrI29cHtDVslV2mDrMri8vmVn+QSLRNQEpZxMSERtHRJR21VEjQzMnIwaX2P7JrTS YArn47Usk07Yi86jkBKI7QcxqwV+mI5U1j69kHQIXT5DUgtsPYif2+CnGblL5gCJqIkPBRJRk4i6 WImo781jhXz2y1NZ/03YwMoKe7y5ZNIGdnkgK6zDhmeNSTZ4IMsTsnPv2twLBnZVW1ZYh72py3p1 39D8SiYRNUGQiNokZhJRFxsRtRhNP8q+5C0LN+5RWZBJ63D5OjwDUDVrTCKgDQcHD5e20iM0DGVa olr2LGjWCiK7zCMTSERNvB+QiPpVBCSiLjYiaiGkgsJEZUkmrUdKBlxccwaYoyvEjD16QYfkNChc ckp2cM7l2uECiagJSjnW8w2JqAtYg/17770UURcyKssyaSGcZUhPy+lBbRrss4AL4SyDMjnn1CQj GdqClUwiaoJSDgASUZOI+q2IqAsblSWZtAAN/LE1DM+N8OIBwI3L0NppDjWqh02ncE8PPwEAnD9V 0JJJRE18KJCIOgcSUXMvuUhF1IWMyrJMmoc+/4P7GXy3HokaxB3DpCCYnjMUvhd46PMVvG7h0zE4 fA77FmHqwYLuxJKImqCUA4BE1CSifhsi6kIerzWZtFs3HFyFJ3PgpUCzaegzHgqTkWNLL7h0wv61 kB9Hz7aYcBTTZsCBgVhckMscElETHwYkoiYIOxOzBFV/RnAsOhfAqkYiaoKucriVQCJq4gOHVeK3 qdh6DOG3cXY7Ri1AxaEIlNppHpGImqCUkwsSURMf+F4BD6m3MH0wGvqj63dwGoEDsyG10zwiETXx Xk0WElETBEEQ785VDkEQBEFQyiEIgiCKD/8Hm5vleh4t2s0AAAAASUVORK5CYII= --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=outline-minor-mode-use-margins.patch diff --git a/lisp/outline.el b/lisp/outline.el index 25ef1616b9..3b8e68bfe1 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -292,6 +292,16 @@ outline-minor-mode-use-buttons :safe #'booleanp :version "29.1") +(defcustom outline-minor-mode-use-margins '(derived-mode . special-mode) + "Whether to display clickable buttons on the margins. +The value should be a `buffer-match-p' condition. + +These buttons can be used to hide and show the body under the heading. +Note that this feature is meant to be used in editing buffers." + :type 'buffer-predicate + :safe #'booleanp + :version "29.1") + (define-icon outline-open nil '((image "outline-open.svg" "outline-open.pbm" :height 15 :ascent center) @@ -437,8 +447,10 @@ outline-minor-mode-highlight-buffer (and (eq outline-minor-mode-highlight t) (not (get-text-property (match-beginning 0) 'face)))) (overlay-put overlay 'face (outline-font-lock-face))) - (when (outline--use-buttons-p) - (outline--insert-open-button))) + (cond ((outline--use-margins-p) + (outline--insert-open-button t)) + ((outline--use-buttons-p) + (outline--insert-open-button)))) (goto-char (match-end 0)))))) ;;;###autoload @@ -453,6 +465,9 @@ outline-minor-mode (key-description outline-minor-mode-prefix) outline-mode-prefix-map) (if outline-minor-mode (progn + (when (outline--use-margins-p) + (setq-local left-margin-width (1+ left-margin-width)) + (setq-local fringes-outside-margins t)) (when outline-minor-mode-highlight (if (and global-font-lock-mode (font-lock-specified-p major-mode)) (progn @@ -473,6 +488,9 @@ outline-minor-mode (font-lock-remove-keywords nil outline-font-lock-keywords)) (remove-overlays nil nil 'outline-overlay t) (font-lock-flush)) + (when (outline--use-margins-p) + (setq-local left-margin-width (1- left-margin-width)) + (setq-local fringes-outside-margins nil)) (setq line-move-ignore-invisible nil) ;; Cause use of ellipses for invisible text. (remove-from-invisibility-spec '(outline . t)) @@ -483,6 +501,10 @@ outline--use-buttons-p (and outline-minor-mode (buffer-match-p outline-minor-mode-use-buttons (current-buffer)))) +(defun outline--use-margins-p () + (and outline-minor-mode + (buffer-match-p outline-minor-mode-use-margins (current-buffer)))) + (defvar-local outline-heading-alist () "Alist associating a heading for every possible level. Each entry is of the form (HEADING . LEVEL). @@ -1012,10 +1034,34 @@ outline--make-button-overlay (overlay-put o 'face (plist-get icon 'face)))) o)) -(defun outline--insert-open-button () +(defun outline--make-margin-overlay (type) + (let ((o (seq-find (lambda (o) + (overlay-get o 'outline-margin)) + (overlays-at (point))))) + (unless o + (setq o (make-overlay (point) (1+ (point)))) + (overlay-put o 'follow-link 'mouse-face) + (overlay-put o 'mouse-face 'highlight) + (overlay-put o 'outline-margin t)) + (let ((icon + (icon-elements (if (eq type 'close) 'outline-close 'outline-open))) + (inhibit-read-only t)) + (overlay-put o 'before-string + (propertize " " 'display `((margin left-margin) + ,(or (plist-get icon 'image) + (plist-get icon 'string)))))) + o)) + +(defun outline--insert-open-button (&optional margins-p) (with-silent-modifications (save-excursion - (beginning-of-line) + (beginning-of-line) + (if margins-p + (let ((o (outline--make-margin-overlay 'open))) + (overlay-put o 'help-echo "Click to hide") + (overlay-put o 'keymap + (define-keymap + "" #'outline-hide-subtree))) (when (derived-mode-p 'special-mode) (let ((inhibit-read-only t)) (insert " ") @@ -1025,12 +1071,18 @@ outline--insert-open-button (overlay-put o 'keymap (define-keymap "RET" #'outline-hide-subtree - "" #'outline-hide-subtree)))))) + "" #'outline-hide-subtree))))))) -(defun outline--insert-close-button () +(defun outline--insert-close-button (&optional margins-p) (with-silent-modifications (save-excursion - (beginning-of-line) + (beginning-of-line) + (if margins-p + (let ((o (outline--make-margin-overlay 'close))) + (overlay-put o 'help-echo "Click to show") + (overlay-put o 'keymap + (define-keymap + "" #'outline-show-subtree))) (when (derived-mode-p 'special-mode) (let ((inhibit-read-only t)) (insert " ") @@ -1040,23 +1092,25 @@ outline--insert-close-button (overlay-put o 'keymap (define-keymap "RET" #'outline-show-subtree - "" #'outline-show-subtree)))))) + "" #'outline-show-subtree))))))) (defun outline--fix-up-all-buttons (&optional from to) - (when (outline--use-buttons-p) - (when from - (save-excursion - (goto-char from) - (setq from (line-beginning-position)))) - (outline-map-region - (lambda () - (if (save-excursion - (outline-end-of-heading) - (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) - (overlays-at (point)))) - (outline--insert-close-button) - (outline--insert-open-button))) - (or from (point-min)) (or to (point-max))))) + (let ((buttons-p (outline--use-buttons-p)) + (margins-p (outline--use-margins-p))) + (when (or buttons-p margins-p) + (when from + (save-excursion + (goto-char from) + (setq from (line-beginning-position)))) + (outline-map-region + (lambda () + (if (save-excursion + (outline-end-of-heading) + (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) + (overlays-at (point)))) + (outline--insert-close-button margins-p) + (outline--insert-open-button margins-p))) + (or from (point-min)) (or to (point-max)))))) (define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1") --=-=-=-- From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 18 Sep 2022 05:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166347769514682 (code B ref 57813); Sun, 18 Sep 2022 05:09:01 +0000 Received: (at 57813) by debbugs.gnu.org; 18 Sep 2022 05:08:15 +0000 Received: from localhost ([127.0.0.1]:47526 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZmXP-0003oj-0Q for submit@debbugs.gnu.org; Sun, 18 Sep 2022 01:08:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZmXK-0003oU-Nm for 57813@debbugs.gnu.org; Sun, 18 Sep 2022 01:08:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52824) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZmXF-0000zl-42; Sun, 18 Sep 2022 01:08:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=F83yF/y53lesz3J+O8fqpazBliYYoskXMbThsyYYqrI=; b=XLxcWeHB7rOi ef56SAGVbMRbwmdmuJwJBP5OzVE9dY6lHG/mmOCBd0MIm05D81NN8LJ/Ij4XYPqI/jJKezBinYKOF gkxMkHyNkcUrqpybMp1p/cK75md47fC6FHXKgD5k0irnMI7Za1RPyC94wLzcqdD3T7wW1kgBTPy4z iTB+6f49hP1vJCBxz56TB8Hri7Hv48OljhJvlKZ/4eqFWdF2/DGmKhE7sbpCYY4XF8rJtZ6Ygu1Ed OOj8eXjixs86wKikOugq+byo5kJcBsohaSglD1VW9v8q6hQdQh4YoDtL7/Zdkcz9T+Hf3I8sa0GQJ LzUTHchoqwQ6FRHITr23Gw==; Received: from [87.69.77.57] (port=1267 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZmXE-0000xV-HB; Sun, 18 Sep 2022 01:08:04 -0400 Date: Sun, 18 Sep 2022 08:08:04 +0300 Message-Id: <83tu55z2vf.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86mtaxaj2l.fsf@mail.linkov.net> (message from Juri Linkov on Sat, 17 Sep 2022 22:37:22 +0300) References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> <86mtaxaj2l.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Cc: 57813@debbugs.gnu.org > Date: Sat, 17 Sep 2022 22:37:22 +0300 > > Here is a preliminary patch, but using buffer-local left-margin-width > exhibits strange behavior: margins don't always appear immediately > after switching the buffer. Margins are specific to a window, not to a buffer. See the description of set-window-margins in the ELisp manual, and the accompanying description of set-window-buffer there. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 18 Sep 2022 05:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166347823615642 (code B ref 57813); Sun, 18 Sep 2022 05:18:02 +0000 Received: (at 57813) by debbugs.gnu.org; 18 Sep 2022 05:17:16 +0000 Received: from localhost ([127.0.0.1]:47532 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZmg8-00044E-0b for submit@debbugs.gnu.org; Sun, 18 Sep 2022 01:17:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53232) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZmg6-000440-6D for 57813@debbugs.gnu.org; Sun, 18 Sep 2022 01:17:14 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:59864) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZmg0-00026K-99; Sun, 18 Sep 2022 01:17:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=MMT+tN9ab8bETqViLmXMvLbOlsbz8YeZYHyy8QWCCF0=; b=iGZEbX8JEgP0 pWAKObYCxWHltC4zNEadbcij5QJPcyL7HS+eAJkwW6A5p7y/ChxsVZl0sRyX9q3am1XSBNR3mvaQ9 lpwmXDtavMorRVfDpV9I0wZrsWck01Wa0Lk+QmJ55z4ID0K4+nPmohlOXHNgGrhlQmGalhRIMIyHl AAClba4UbEOmBXMrW8SsF3PyrqOCWa9Zi3TeTVhVgHI/1ZlwpzL04Dbg9D48XLwNG1jZUSa22oF0U jD55VzNOQ1FfUGwNi6KG9MkiHLriU/YuE9wUe75/F+VYTCngRdTOGQ1nuH257mqYHQ/03BBNbThNl Pp0J0eByJBGcoYUMgswglw==; Received: from [87.69.77.57] (port=1819 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZmfz-0001bg-H5; Sun, 18 Sep 2022 01:17:07 -0400 Date: Sun, 18 Sep 2022 08:17:08 +0300 Message-Id: <83sfkpz2gb.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86mtaxaj2l.fsf@mail.linkov.net> (message from Juri Linkov on Sat, 17 Sep 2022 22:37:22 +0300) References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> <86mtaxaj2l.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Cc: 57813@debbugs.gnu.org > Date: Sat, 17 Sep 2022 22:37:22 +0300 > > Here is a preliminary patch Thanks. I only quickly read the patch, and have one comment: the hard-coded left-margin should depend on the value returned by current-bidi-paragraph-direction, because text that is displayed right-to-left should have the icons on the right margin, not left margin. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 18 Sep 2022 19:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166352835728484 (code B ref 57813); Sun, 18 Sep 2022 19:13:02 +0000 Received: (at 57813) by debbugs.gnu.org; 18 Sep 2022 19:12:37 +0000 Received: from localhost ([127.0.0.1]:51329 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZziW-0007PK-CL for submit@debbugs.gnu.org; Sun, 18 Sep 2022 15:12:36 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:36923) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZziS-0007P1-V1 for 57813@debbugs.gnu.org; Sun, 18 Sep 2022 15:12:33 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 998581BF204; Sun, 18 Sep 2022 19:12:24 +0000 (UTC) From: Juri Linkov In-Reply-To: <83tu55z2vf.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 18 Sep 2022 08:08:04 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> <86mtaxaj2l.fsf@mail.linkov.net> <83tu55z2vf.fsf@gnu.org> Date: Sun, 18 Sep 2022 21:46:07 +0300 Message-ID: <86mtawil7s.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; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) 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 (-) >> Here is a preliminary patch, but using buffer-local left-margin-width >> exhibits strange behavior: margins don't always appear immediately >> after switching the buffer. > > Margins are specific to a window, not to a buffer. See the > description of set-window-margins in the ELisp manual, and the > accompanying description of set-window-buffer there. -- Function: set-window-buffer window buffer-or-name &optional keep-margins ... By default, this function resets WINDOW’s position, display margins, fringe widths, and scroll bar settings, based on the local variables in the specified buffer. However, if the optional argument KEEP-MARGINS is non-‘nil’, it leaves WINDOW’s display margins, fringes and scroll bar settings alone. KEEP-MARGINS is nil by default, so buffer-local 'left-margin-width' should work as described: -- Variable: left-margin-width This variable specifies the width of the left margin, in character cell (a.k.a. “column”) units. It is buffer-local in all buffers. A value of ‘nil’ means no left marginal area. And indeed, 'left-margin-width' works fine. The only problem is with 'C-h n' that doesn't show margins immediately, only after switching to another buffer and back. Then afterwards buffer-local margins are kept in etc/NEWS as well. It can be fixed by: diff --git a/lisp/textmodes/emacs-news-mode.el b/lisp/textmodes/emacs-news-mode.el index 88e8948060..9b99740290 100644 --- a/lisp/textmodes/emacs-news-mode.el +++ b/lisp/textmodes/emacs-news-mode.el @@ -80,6 +80,7 @@ emacs-news--mode-common outline-minor-mode-cycle t outline-minor-mode-highlight 'append) (outline-minor-mode) + (set-window-buffer nil (current-buffer)) (emacs-etc--hide-local-variables)) From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 18 Sep 2022 19:13:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166352836328503 (code B ref 57813); Sun, 18 Sep 2022 19:13:03 +0000 Received: (at 57813) by debbugs.gnu.org; 18 Sep 2022 19:12:43 +0000 Received: from localhost ([127.0.0.1]:51332 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZzic-0007Pd-Ao for submit@debbugs.gnu.org; Sun, 18 Sep 2022 15:12:43 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:36191) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZziY-0007PA-9q for 57813@debbugs.gnu.org; Sun, 18 Sep 2022 15:12:39 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 1AA0320004; Sun, 18 Sep 2022 19:12:28 +0000 (UTC) From: Juri Linkov In-Reply-To: <83sfkpz2gb.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 18 Sep 2022 08:17:08 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> <86mtaxaj2l.fsf@mail.linkov.net> <83sfkpz2gb.fsf@gnu.org> Date: Sun, 18 Sep 2022 22:06:56 +0300 Message-ID: <86bkrcijsf.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="=-=-=" X-Spam-Score: -0.7 (/) 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 (-) --=-=-= Content-Type: text/plain >> Here is a preliminary patch > > Thanks. I only quickly read the patch, and have one comment: the > hard-coded left-margin should depend on the value returned by > current-bidi-paragraph-direction, because text that is displayed > right-to-left should have the icons on the right margin, not left > margin. To not create a new mirrored image file for RTL arrow required a change in icons--create to support ':rotation 180' for the existing image file: (define-icon outline-close-rtl-in-margins outline-close '((image "outline-close.svg" "outline-close.pbm" :height 10 :ascent center :rotation 180)) "Icon used for buttons for closing a section in outline buffers." :version "29.1" :help-echo "Close this section") Then the right margin could be used with: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=outline-minor-mode-rtl-in-margins.patch diff --git a/lisp/emacs-lisp/icons.el b/lisp/emacs-lisp/icons.el index ff4f20c207..96f5ea6b08 100644 --- a/lisp/emacs-lisp/icons.el +++ b/lisp/emacs-lisp/icons.el @@ -202,7 +202,9 @@ icons--create :height (if (eq height 'line) (window-default-line-height) height) - :scale 1 :ascent 'center) + :scale 1 + :rotation (plist-get keywords :rotation) + :ascent (or (plist-get keywords :ascent) 'center)) (create-image file)))))) (cl-defmethod icons--create ((_type (eql 'emoji)) icon _keywords) diff --git a/lisp/outline.el b/lisp/outline.el index 25ef1616b9..32c5799814 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -292,6 +292,16 @@ outline-minor-mode-use-buttons :safe #'booleanp :version "29.1") +(defcustom outline-minor-mode-use-margins '(derived-mode . special-mode) + "Whether to display clickable buttons on the margins. +The value should be a `buffer-match-p' condition. + +These buttons can be used to hide and show the body under the heading. +Note that this feature is meant to be used in editing buffers." + :type 'buffer-predicate + :safe #'booleanp + :version "29.1") + (define-icon outline-open nil '((image "outline-open.svg" "outline-open.pbm" :height 15 :ascent center) @@ -312,6 +322,27 @@ outline-close :version "29.1" :help-echo "Close this section") +(define-icon outline-open-in-margins outline-open + '((image "outline-open.svg" "outline-open.pbm" + :height 10 :ascent center)) + "Icon used for buttons for opening a section in outline buffers." + :version "29.1" + :help-echo "Open this section") + +(define-icon outline-close-in-margins outline-close + '((image "outline-open.svg" "outline-open.pbm" + :height 10 :ascent center :rotation -90)) + "Icon used for buttons for closing a section in outline buffers." + :version "29.1" + :help-echo "Close this section") + +(define-icon outline-close-rtl-in-margins outline-close + '((image "outline-open.svg" "outline-open.pbm" + :height 10 :ascent center :rotation 90)) + "Icon used for buttons for closing a section in outline buffers." + :version "29.1" + :help-echo "Close this section") + (defvar outline-level #'outline-level "Function of no args to compute a header's nesting level in an outline. @@ -453,6 +486,11 @@ outline-minor-mode (key-description outline-minor-mode-prefix) outline-mode-prefix-map) (if outline-minor-mode (progn + (when (outline--use-margins-p) + (if (eq (current-bidi-paragraph-direction) 'right-to-left) + (setq-local right-margin-width (1+ right-margin-width)) + (setq-local left-margin-width (1+ left-margin-width))) + (setq-local fringes-outside-margins t)) (when outline-minor-mode-highlight (if (and global-font-lock-mode (font-lock-specified-p major-mode)) (progn @@ -473,6 +511,11 @@ outline-minor-mode (font-lock-remove-keywords nil outline-font-lock-keywords)) (remove-overlays nil nil 'outline-overlay t) (font-lock-flush)) + (when (outline--use-margins-p) + (if (eq (current-bidi-paragraph-direction) 'right-to-left) + (setq-local right-margin-width (1- right-margin-width)) + (setq-local left-margin-width (1- left-margin-width))) + (setq-local fringes-outside-margins nil)) (setq line-move-ignore-invisible nil) ;; Cause use of ellipses for invisible text. (remove-from-invisibility-spec '(outline . t)) @@ -483,6 +526,10 @@ outline--use-buttons-p (and outline-minor-mode (buffer-match-p outline-minor-mode-use-buttons (current-buffer)))) +(defun outline--use-margins-p () + (and outline-minor-mode + (buffer-match-p outline-minor-mode-use-margins (current-buffer)))) + (defvar-local outline-heading-alist () "Alist associating a heading for every possible level. Each entry is of the form (HEADING . LEVEL). @@ -1012,10 +1061,43 @@ outline--make-button-overlay (overlay-put o 'face (plist-get icon 'face)))) o)) -(defun outline--insert-open-button () +(defun outline--make-margin-overlay (type) + (let ((o (seq-find (lambda (o) + (overlay-get o 'outline-margin)) + (overlays-at (point))))) + (unless o + (setq o (make-overlay (point) (1+ (point)))) + (overlay-put o 'follow-link 'mouse-face) + (overlay-put o 'mouse-face 'highlight) + (overlay-put o 'outline-margin t)) + (let ((icon + (icon-elements (if (eq type 'close) + (if (eq (current-bidi-paragraph-direction) + 'right-to-left) + 'outline-close-rtl-in-margins + 'outline-close-in-margins) + 'outline-open-in-margins))) + (inhibit-read-only t)) + (overlay-put + o 'before-string + (propertize " " 'display + `((margin ,(if (eq (current-bidi-paragraph-direction) + 'right-to-left) + 'right-margin 'left-margin)) + ,(or (plist-get icon 'image) + (plist-get icon 'string)))))) + o)) + +(defun outline--insert-open-button (&optional margins-p) (with-silent-modifications (save-excursion - (beginning-of-line) + (beginning-of-line) + (if margins-p + (let ((o (outline--make-margin-overlay 'open))) + (overlay-put o 'help-echo "Click to hide") + (overlay-put o 'keymap + (define-keymap + "" #'outline-hide-subtree))) (when (derived-mode-p 'special-mode) (let ((inhibit-read-only t)) (insert " ") @@ -1025,12 +1107,18 @@ outline--insert-open-button (overlay-put o 'keymap (define-keymap "RET" #'outline-hide-subtree - "" #'outline-hide-subtree)))))) + "" #'outline-hide-subtree))))))) -(defun outline--insert-close-button () +(defun outline--insert-close-button (&optional margins-p) (with-silent-modifications (save-excursion - (beginning-of-line) + (beginning-of-line) + (if margins-p + (let ((o (outline--make-margin-overlay 'close))) + (overlay-put o 'help-echo "Click to show") + (overlay-put o 'keymap + (define-keymap + "" #'outline-show-subtree))) (when (derived-mode-p 'special-mode) (let ((inhibit-read-only t)) (insert " ") @@ -1040,23 +1128,25 @@ outline--insert-close-button (overlay-put o 'keymap (define-keymap "RET" #'outline-show-subtree - "" #'outline-show-subtree)))))) + "" #'outline-show-subtree))))))) (defun outline--fix-up-all-buttons (&optional from to) - (when (outline--use-buttons-p) - (when from - (save-excursion - (goto-char from) - (setq from (line-beginning-position)))) - (outline-map-region - (lambda () - (if (save-excursion - (outline-end-of-heading) - (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) - (overlays-at (point)))) - (outline--insert-close-button) - (outline--insert-open-button))) - (or from (point-min)) (or to (point-max))))) + (let ((buttons-p (outline--use-buttons-p)) + (margins-p (outline--use-margins-p))) + (when (or buttons-p margins-p) + (when from + (save-excursion + (goto-char from) + (setq from (line-beginning-position)))) + (outline-map-region + (lambda () + (if (save-excursion + (outline-end-of-heading) + (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) + (overlays-at (point)))) + (outline--insert-close-button margins-p) + (outline--insert-open-button margins-p))) + (or from (point-min)) (or to (point-max)))))) (define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1") --=-=-=-- From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Sep 2022 12:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166358955217209 (code B ref 57813); Mon, 19 Sep 2022 12:13:01 +0000 Received: (at 57813) by debbugs.gnu.org; 19 Sep 2022 12:12:32 +0000 Received: from localhost ([127.0.0.1]:52617 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oaFdX-0004TV-NB for submit@debbugs.gnu.org; Mon, 19 Sep 2022 08:12:31 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oaFdV-0004TI-FC for 57813@debbugs.gnu.org; Mon, 19 Sep 2022 08:12:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52784) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaFdP-0001IH-Ie; Mon, 19 Sep 2022 08:12:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Q1lSsfcKdpWdaviPRx45nXcS6WFmA+w6izY781yM714=; b=SImJYbv9vgAa oXdEE8MW39WFzxIcn+Nl7Y8BL8mgPt7IXVQ6zW+KrWvFNLpWPwKqNR3Z6BwFHPTSvhtyM5xSW/RH1 oZxaUxhKvHANgaKYZLUFhVtub6HLm4vC3FJi3jDL8MT/3CPl0cN/DDUn3dnlVPPlH+rhcCd4W+7Gu TWOzrEK+zLsGL3As/KHZbe03W8DAYDMsiNhCPVk7zOKv/ZMEx7IJDMi+5Ma8uIG0zXqX55CGxxagv QbYaqg5u3GWxcYGQVJqd6aRNe5PnexmQZUSsTw9du0OpKNfXrwfZrjxyQ3tuN0SUBZRtmrZPtCwF4 bg11WhxYItXobJEOHqCoqw==; Received: from [87.69.77.57] (port=4082 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaFdN-0006f4-3X; Mon, 19 Sep 2022 08:12:21 -0400 Date: Mon, 19 Sep 2022 15:12:25 +0300 Message-Id: <83y1ufy34m.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86bkrcijsf.fsf@mail.linkov.net> (message from Juri Linkov on Sun, 18 Sep 2022 22:06:56 +0300) References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> <86mtaxaj2l.fsf@mail.linkov.net> <83sfkpz2gb.fsf@gnu.org> <86bkrcijsf.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Cc: 57813@debbugs.gnu.org > Date: Sun, 18 Sep 2022 22:06:56 +0300 > > > Thanks. I only quickly read the patch, and have one comment: the > > hard-coded left-margin should depend on the value returned by > > current-bidi-paragraph-direction, because text that is displayed > > right-to-left should have the icons on the right margin, not left > > margin. > > To not create a new mirrored image file for RTL arrow required a change in > icons--create to support ':rotation 180' for the existing image file: > > (define-icon outline-close-rtl-in-margins outline-close > '((image "outline-close.svg" "outline-close.pbm" > :height 10 :ascent center :rotation 180)) > "Icon used for buttons for closing a section in outline buffers." > :version "29.1" > :help-echo "Close this section") > > Then the right margin could be used with: Thanks, the code LGTM. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Sep 2022 19:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166361630610733 (code B ref 57813); Mon, 19 Sep 2022 19:39:01 +0000 Received: (at 57813) by debbugs.gnu.org; 19 Sep 2022 19:38:26 +0000 Received: from localhost ([127.0.0.1]:55338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oaMb4-0002n3-4d for submit@debbugs.gnu.org; Mon, 19 Sep 2022 15:38:26 -0400 Received: from relay10.mail.gandi.net ([217.70.178.230]:35181) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oaMb3-0002mq-06 for 57813@debbugs.gnu.org; Mon, 19 Sep 2022 15:38:25 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id B594C240004; Mon, 19 Sep 2022 19:38:17 +0000 (UTC) From: Juri Linkov In-Reply-To: <83y1ufy34m.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 19 Sep 2022 15:12:25 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> <86mtaxaj2l.fsf@mail.linkov.net> <83sfkpz2gb.fsf@gnu.org> <86bkrcijsf.fsf@mail.linkov.net> <83y1ufy34m.fsf@gnu.org> Date: Mon, 19 Sep 2022 22:37:08 +0300 Message-ID: <86bkrb2m1n.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-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 (-) >> Then the right margin could be used with: > > Thanks, the code LGTM. Pushed. There is still a remaining problem: mouse clicks in the margins have no effect. Then I noticed in (info "(elisp) Display Margins"): There is currently no way to make text or images in the margin mouse-sensitive. This means no way to bind mouse events in the margins? From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 20 Sep 2022 11:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16636735092047 (code B ref 57813); Tue, 20 Sep 2022 11:32:02 +0000 Received: (at 57813) by debbugs.gnu.org; 20 Sep 2022 11:31:49 +0000 Received: from localhost ([127.0.0.1]:56342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oabTg-0000Ww-MI for submit@debbugs.gnu.org; Tue, 20 Sep 2022 07:31:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39390) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oabTe-0000Wj-L7 for 57813@debbugs.gnu.org; Tue, 20 Sep 2022 07:31:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44362) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oabTY-0000Rf-Fr; Tue, 20 Sep 2022 07:31:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=PCQFOdOk7ARrHMux27QAYazXUoJ34S55gZVsRnjZaYo=; b=QJMNqLL45pXF b3/H6b96Pcqob5Yd1UbzRh4LWumTy0SX7IczLDbdKBHGLw/r54ZkuLYX8iaG4jLX7lPtgAkzwLdC1 R02kubvarwf/v/mq2o4Ng33b4Ui4Tfe5v0HYfr7ARswIw68YRC0v5VEWmoWDWf1eBuDt3ytHleGN9 sB6R10EXi9VKkShMnnCTXw6IB7BEfOfm6rCuAHwEfJ5P3U+ZQggvJQMMHXTFVx+LbPvOgBJWnnv4C Ycs2wbR7N4Zizu4SwmfxxvSA5SdT2fw+zNLoeDhkmXEgIE8ME77MPJQJpHmJCmuNHhP1MrIHwu+Lw zBDHHgSVmS0p2yUBWFnY2g==; Received: from [87.69.77.57] (port=2520 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oabTX-0004LN-SH; Tue, 20 Sep 2022 07:31:40 -0400 Date: Tue, 20 Sep 2022 14:31:46 +0300 Message-Id: <83zgeuwacd.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86bkrb2m1n.fsf@mail.linkov.net> (message from Juri Linkov on Mon, 19 Sep 2022 22:37:08 +0300) References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> <86mtaxaj2l.fsf@mail.linkov.net> <83sfkpz2gb.fsf@gnu.org> <86bkrcijsf.fsf@mail.linkov.net> <83y1ufy34m.fsf@gnu.org> <86bkrb2m1n.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Cc: 57813@debbugs.gnu.org > Date: Mon, 19 Sep 2022 22:37:08 +0300 > > >> Then the right margin could be used with: > > > > Thanks, the code LGTM. > > Pushed. There is still a remaining problem: mouse clicks in the margins > have no effect. Then I noticed in (info "(elisp) Display Margins"): > > There is currently no way to make text or images in the margin > mouse-sensitive. > > This means no way to bind mouse events in the margins? When I click the mouse in a left margin, "C-h c" says: (translated from ) at that spot is undefined So it looks like this is possible, and that text in the manual is simply outdated? From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 20 Sep 2022 16:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16636904084025 (code B ref 57813); Tue, 20 Sep 2022 16:14:02 +0000 Received: (at 57813) by debbugs.gnu.org; 20 Sep 2022 16:13:28 +0000 Received: from localhost ([127.0.0.1]:59381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oafsG-00012q-64 for submit@debbugs.gnu.org; Tue, 20 Sep 2022 12:13:28 -0400 Received: from relay10.mail.gandi.net ([217.70.178.230]:58627) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oafsB-00012a-Bf for 57813@debbugs.gnu.org; Tue, 20 Sep 2022 12:13:27 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id A76A1240003; Tue, 20 Sep 2022 16:13:16 +0000 (UTC) From: Juri Linkov In-Reply-To: <83zgeuwacd.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 20 Sep 2022 14:31:46 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> <86mtaxaj2l.fsf@mail.linkov.net> <83sfkpz2gb.fsf@gnu.org> <86bkrcijsf.fsf@mail.linkov.net> <83y1ufy34m.fsf@gnu.org> <86bkrb2m1n.fsf@mail.linkov.net> <83zgeuwacd.fsf@gnu.org> Date: Tue, 20 Sep 2022 19:12:33 +0300 Message-ID: <8635cmxbwu.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-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 (-) >> Pushed. There is still a remaining problem: mouse clicks in the margins >> have no effect. Then I noticed in (info "(elisp) Display Margins"): >> >> There is currently no way to make text or images in the margin >> mouse-sensitive. >> >> This means no way to bind mouse events in the margins? > > When I click the mouse in a left margin, "C-h c" says: > > (translated from ) at that spot is undefined > > So it looks like this is possible, and that text in the manual is > simply outdated? These are mode bindings for the whole buffer, but I expected margin-local bindings that really don't work, so probably the manual is right. Now I added mode bindings, and everything works fine. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Sep 2022 15:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166394863623161 (code B ref 57813); Fri, 23 Sep 2022 15:58:02 +0000 Received: (at 57813) by debbugs.gnu.org; 23 Sep 2022 15:57:16 +0000 Received: from localhost ([127.0.0.1]:41483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1obl3E-00061V-CH for submit@debbugs.gnu.org; Fri, 23 Sep 2022 11:57:16 -0400 Received: from relay12.mail.gandi.net ([217.70.178.232]:34113) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1obl3C-00061F-9x for 57813@debbugs.gnu.org; Fri, 23 Sep 2022 11:57:15 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 45D5E200003 for <57813@debbugs.gnu.org>; Fri, 23 Sep 2022 15:57:04 +0000 (UTC) From: Juri Linkov In-Reply-To: <867d2476u4.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 15 Sep 2022 22:53:07 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> Date: Fri, 23 Sep 2022 18:48:54 +0300 Message-ID: <86zgequm55.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; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) 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 (-) > diff --git a/lisp/emacs-lisp/icons.el b/lisp/emacs-lisp/icons.el > index ff4f20c207..ccc3657793 100644 > --- a/lisp/emacs-lisp/icons.el > +++ b/lisp/emacs-lisp/icons.el > @@ -202,7 +202,11 @@ icons--create > :height (if (eq height 'line) > (window-default-line-height) > height) > - :scale 1 :ascent 'center) > + :scale 1 > + :rotation (plist-get keywords :rotation) Oh, I noticed now this prints a warning in *Messages*: Invalid image ‘:rotation’ parameter nil but still continues to work fine. So maybe the keyword :rotation should be used only on this condition (plist-member keywords :rotation) instead of: (create-image file nil nil :rotation (plist-get keywords :rotation) I guess the only way is to convert this function call to 'apply' with a constructed list of arguments? Or better to change compute_image_rotation to allow nil in :rotation: diff --git a/src/image.c b/src/image.c index 1e323ba66a..6d9316c64b 100644 --- a/src/image.c +++ b/src/image.c @@ -2548,6 +2548,8 @@ compute_image_rotation (struct image *img, double *rotation) Lisp_Object value = image_spec_value (img->spec, QCrotation, &foundp); if (!foundp) return; + if (NILP (value)) + return; if (! NUMBERP (value)) { image_error ("Invalid image `:rotation' parameter"); From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Sep 2022 16:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16639504082465 (code B ref 57813); Fri, 23 Sep 2022 16:27:02 +0000 Received: (at 57813) by debbugs.gnu.org; 23 Sep 2022 16:26:48 +0000 Received: from localhost ([127.0.0.1]:41588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oblVo-0000dh-1v for submit@debbugs.gnu.org; Fri, 23 Sep 2022 12:26:48 -0400 Received: from quimby.gnus.org ([95.216.78.240]:38840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oblVm-0000dR-1r for 57813@debbugs.gnu.org; Fri, 23 Sep 2022 12:26:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ADCvrCwel0xEEO0UDzFYknLegyIugluwsN4wcrXHS+I=; b=Z1cSzBEgTrZMj0DCP5RCwpDcZx 2YZH7ZIqODNfYN/Ri/JXCxRR1dg8munhFYnWvADgPCqX9a57QDYOanwj8HOoVYPgItsWdlWNUFopH Zx/uT7RKX5bFp6CEWszyNwmU5VYGm4+ASRAEQXSz5TbEyd3XTOlUIHpWkBMzGdUbGYbg=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oblVd-0003Zx-W8; Fri, 23 Sep 2022 18:26:40 +0200 From: Lars Ingebrigtsen In-Reply-To: <86zgequm55.fsf@mail.linkov.net> (Juri Linkov's message of "Fri, 23 Sep 2022 18:48:54 +0300") References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <86zgequm55.fsf@mail.linkov.net> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEUgEg9gRSy2mnv/ ///07xp6AAAAAWJLR0QDEQxM8gAAAAd0SU1FB+YJFxAZNoSLwJkAAAGcSURBVCjPbdKxbtswEADQ oxFq6BQDZlF76xb0K2ijEdBMEqAjIE4dKiPiV3hJ5riIOGhyAVMw7yt7x6BbNUh8FHnHIwnwn0ft G/msfsj7c/wu7fq1YEYLsFu9yCgXkcc9fxUgJcGQrgKc468vcJwzgO4rqtMDrAPDjIrq84UbCYCT +Ppw4vGRp1jQWAmC3RirJtxIvvntp4HVTaPke6XrhkOgLEFFuiilx/Uk+E2NbqucxzLHvxlbUyaZ k91JtzURPQo8tIPzFHpZ5KjOeEQKhv+EZ4XokDInUhyZeheIeJGraD/lIXKAPwwL3yh6RiwIlBjL DMArDzm5TNF9gHuJJo5WTZaxUJ4CYP3SBe4NORIM9d76vM2ZY0BX7Rt/8dQTzYCHU6PfHZU8uLcN olRAHrgIM5iDAOGON3fdIi2UHBi419X7SGlIHgyiMp2nlNHzYXSAE5eTfQbFCOfrjm5jW2C23Y6r rsq5b47IW+D6ArMIcCo4zv7sb9gWhCdssNstBdsdJodPVKAxUN/78HGNEONjRP3vTt2t5079BfLO rQmAMz0ZAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA5LTIzVDE2OjI1OjU0KzAwOjAwPntwwwAA ACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wOS0yM1QxNjoyNTo1NCswMDowME8myH8AAAAASUVORK5C YII= X-Now-Playing: Kate Bush's _Never For Ever_: "The Wedding List" Date: Fri, 23 Sep 2022 18:26:37 +0200 Message-ID: <87a66q2h1e.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Juri Linkov writes: > (create-image file > nil nil > :rotation (plist-get keywords :rotation) You could just have a :rotation (or ... 0) here, I think? Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) 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: -3.3 (---) Juri Linkov writes: > (create-image file > nil nil > :rotation (plist-get keywords :rotation) You could just have a :rotation (or ... 0) here, I think? From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 24 Sep 2022 17:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Lars Ingebrigtsen Cc: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16640399393126 (code B ref 57813); Sat, 24 Sep 2022 17:19:02 +0000 Received: (at 57813) by debbugs.gnu.org; 24 Sep 2022 17:18:59 +0000 Received: from localhost ([127.0.0.1]:45190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oc8nr-0000oM-HX for submit@debbugs.gnu.org; Sat, 24 Sep 2022 13:18:59 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:62175) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oc8no-0000o7-Sx for 57813@debbugs.gnu.org; Sat, 24 Sep 2022 13:18:57 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 7E66A40004; Sat, 24 Sep 2022 17:18:48 +0000 (UTC) From: Juri Linkov In-Reply-To: <87a66q2h1e.fsf@gnus.org> (Lars Ingebrigtsen's message of "Fri, 23 Sep 2022 18:26:37 +0200") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <86zgequm55.fsf@mail.linkov.net> <87a66q2h1e.fsf@gnus.org> Date: Sat, 24 Sep 2022 20:17:55 +0300 Message-ID: <86wn9s8zek.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-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 (-) >> (create-image file >> nil nil >> :rotation (plist-get keywords :rotation) > > You could just have a :rotation (or ... 0) here, I think? Ok, done. (I checked that anyway the default value is 0.0 in image_set_transform.) From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Max Brieiev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Oct 2022 14:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Lars Ingebrigtsen , 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166558576629936 (code B ref 57813); Wed, 12 Oct 2022 14:43:01 +0000 Received: (at 57813) by debbugs.gnu.org; 12 Oct 2022 14:42:46 +0000 Received: from localhost ([127.0.0.1]:58182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oicwX-0007ml-QX for submit@debbugs.gnu.org; Wed, 12 Oct 2022 10:42:46 -0400 Received: from mail-ed1-f51.google.com ([209.85.208.51]:34795) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oicwV-0007mU-FV for 57813@debbugs.gnu.org; Wed, 12 Oct 2022 10:42:44 -0400 Received: by mail-ed1-f51.google.com with SMTP id s30so24813317eds.1 for <57813@debbugs.gnu.org>; Wed, 12 Oct 2022 07:42:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=i4Im9r0u5iNJSa847qjTVcppcH3iGQ1Kza5tqf1MGSk=; b=bUUq4qSNjdmGNcJaWPvfs3s9AvJrDoDgoX3C/QW9B36cntT+WMgLLzXY3aeaA+H3xs D6LIX7iYdO45MAXssm89kI/eDJSMRgcd6ewOjeTAsl2aaMklBhnVgqJqZU7JbNAVlkiu duXN//eZwu6Mac5bHoK4QoKRrhPkatuHboXW7TpEq5Mi3Z3217En/ELPlMHXR9aDNdwU wpF7VJ4THQZD6fD1QttTmhwqVT8wejmBPZ+gMMP8Vvs1/6NpSJrhwAJUKWvkS3/F2fiM qTY53j1ivyt/XnEPw+0YrwsUkOnmHl99vo7JB05+wmG3Kd1aDwoP7GEwL1+w7G1KEVga ngsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=i4Im9r0u5iNJSa847qjTVcppcH3iGQ1Kza5tqf1MGSk=; b=7xkfU0fL5sWfE+2DbfHrKNn620oYQ5T62S4btVS/WaN3BmKrV6Zio99GhLiUvT3mir U7Ihj5o1uo0JFKFYPdx52r7JOeaedW6nAS1MDPiwtm6WNJ8m6LALQabwYmrhSLlHwXgH PSF0I9mp1q33GCXXxiv9wrrvaM6veeeiPIGUyy9pkPToVS2Tdgt8a4l3mNvTrUwUKtho CUxwaEFXJDSIXKvHpxEe7Zii7+Y6p0dJZptQUlaCND7HgbgnwT/iehDI5iE8dkW49NT1 PJXdmnK6NrZzgas/fqVTFcTUXkUTE8vfM6FStu7cu/6qVxUN1DBOmvq/MlqobHIkddWY 489w== X-Gm-Message-State: ACrzQf2pUrfkaS0+bhyPb/SRFHk5jCzG0sUNI5EVsiljAyH5Hl3WKhlM K/+ukgvWqMc5s0rGXeiyTDKx3AcF71hLMg== X-Google-Smtp-Source: AMsMyM7ZjGmxsX+Es0zZlkRjhFY+22ZQ8RJIfpyd70Ay58HU71fNLdcv5qIgZ93RJ69X1MABIRj/+A== X-Received: by 2002:a05:6402:2793:b0:45c:d273:8c18 with SMTP id b19-20020a056402279300b0045cd2738c18mr314925ede.337.1665585757043; Wed, 12 Oct 2022 07:42:37 -0700 (PDT) Received: from thinkmax ([109.251.233.9]) by smtp.gmail.com with ESMTPSA id l9-20020a1709060cc900b00783f32d7eaesm1377624ejh.164.2022.10.12.07.42.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Oct 2022 07:42:36 -0700 (PDT) From: Max Brieiev In-Reply-To: <86wn9s8zek.fsf@mail.linkov.net> (Juri Linkov's message of "Sat, 24 Sep 2022 20:17:55 +0300") References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <86zgequm55.fsf@mail.linkov.net> <87a66q2h1e.fsf@gnus.org> <86wn9s8zek.fsf@mail.linkov.net> Date: Wed, 12 Oct 2022 17:42:34 +0300 Message-ID: <875ygp5cit.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) 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.0 (-) --=-=-= Content-Type: text/plain It seems in some cases this can cause an overlap between the heading and the image, like on the screenshot: --=-=-= Content-Type: image/png Content-Disposition: inline; filename="Screenshot from 2022-10-12 17-27-33.png" Content-Transfer-Encoding: base64 Content-Description: screenshot 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 /yeUylVyQ6uaAAAAAElFTkSuQmCC --=-=-=-- From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Oct 2022 18:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Max Brieiev Cc: Lars Ingebrigtsen , 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166560105431964 (code B ref 57813); Wed, 12 Oct 2022 18:58:01 +0000 Received: (at 57813) by debbugs.gnu.org; 12 Oct 2022 18:57:34 +0000 Received: from localhost ([127.0.0.1]:58444 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oigv8-0008JU-39 for submit@debbugs.gnu.org; Wed, 12 Oct 2022 14:57:34 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:59631) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oigv6-0008JG-4k for 57813@debbugs.gnu.org; Wed, 12 Oct 2022 14:57:33 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 718ED1BF205; Wed, 12 Oct 2022 18:57:23 +0000 (UTC) From: Juri Linkov In-Reply-To: <875ygp5cit.fsf@gmail.com> (Max Brieiev's message of "Wed, 12 Oct 2022 17:42:34 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <86zgequm55.fsf@mail.linkov.net> <87a66q2h1e.fsf@gnus.org> <86wn9s8zek.fsf@mail.linkov.net> <875ygp5cit.fsf@gmail.com> Date: Wed, 12 Oct 2022 21:55:55 +0300 Message-ID: <86wn94ooqs.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-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 (-) > It seems in some cases this can cause an overlap between the heading and > the image, like on the screenshot: It's hard to guess whether the outlines are using buttons or margins. Probably buttons, because margins are not displayed in *Completions*. Actually the same problem exists for both of them. By default the button/margin face is inherited, because in most modes inheriting fontification from the outline heading lines provides a nicer look, but your example demonstrates that in some cases that face needs to be overridden. Then there are several variants what face to use instead: 1. the default face; 2. the outline faces outline-1, outline-2, ... corresponding to the outline level. So it's not clear what to prefer here. But there is a simpler way to avoid such a problem: it's possible to customize the face 'completions-group-separator' to remove the face attribute 'strike-through'. Then you can also use: (setq-local outline-minor-mode-highlight 'override) that will use the outline faces on the group headings, and the button/margin will inherit it. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Oct 2022 08:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166564861724453 (code B ref 57813); Thu, 13 Oct 2022 08:11:01 +0000 Received: (at 57813) by debbugs.gnu.org; 13 Oct 2022 08:10:17 +0000 Received: from localhost ([127.0.0.1]:59400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oitIH-0006ML-73 for submit@debbugs.gnu.org; Thu, 13 Oct 2022 04:10:17 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:59677) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oitIE-0006Lw-Mq for 57813@debbugs.gnu.org; Thu, 13 Oct 2022 04:10:15 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id C81AD1BF203 for <57813@debbugs.gnu.org>; Thu, 13 Oct 2022 08:10:07 +0000 (UTC) From: Juri Linkov In-Reply-To: <86pmfxlp7s.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 14 Sep 2022 22:40:07 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> Date: Thu, 13 Oct 2022 10:51:35 +0300 Message-ID: <86sfjstan4.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="=-=-=" X-Spam-Score: -0.7 (/) 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 (-) --=-=-= Content-Type: text/plain This patch distinguishes two cases of using buttons in outline-minor-mode: 1. when buttons can be inserted to a read-only buffer, then it's possible to move point to the inserted button and use it by keyboard; 2. when the buffer is editable and should not be modified to insert buttons, when the only way to display buttons is with a before-string overlay. The disadvantage is that buttons can be used only by clicking mouse. A new variable 'outline-read-only' is added here to allow setting it explicitly in buffers that can be modified to insert buttons like the Help buffer: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=outline-read-only.patch diff --git a/lisp/help.el b/lisp/help.el index b4b9120da3..713467c9b2 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -608,13 +608,8 @@ describe-bindings (setq-local outline-heading-end-regexp ":\n") (setq-local outline-level (lambda () 1)) (setq-local outline-minor-mode-cycle t - outline-minor-mode-highlight t) + outline-minor-mode-highlight t + outline-read-only t) (outline-minor-mode 1) (save-excursion (goto-char (point-min)) diff --git a/lisp/outline.el b/lisp/outline.el index b87d3ac5e7..5a65c6c8e5 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -295,6 +295,9 @@ outline-minor-mode-use-buttons (defvar-local outline--use-buttons nil "Non-nil when buffer displays clickable buttons on the headings.") +(defvar-local outline-read-only nil + "Non-nil when it's allowed to modify buffer to insert buttons.") + (defvar-local outline--use-rtl nil "Non-nil when direction of clickable buttons is right-to-left.") @@ -1652,18 +1655,24 @@ outline--make-button-overlay (if outline--use-rtl 'outline-close-rtl 'outline-close) - 'outline-open))) - (inhibit-read-only t)) + 'outline-open)))) ;; In editing buffers we use overlays only, but in other buffers ;; we use a mix of text properties, text and overlays to make ;; movement commands work more logically. - (when (derived-mode-p 'special-mode) - (put-text-property (point) (1+ (point)) 'face (plist-get icon 'face))) - (if-let ((image (plist-get icon 'image))) - (overlay-put o 'display image) - (overlay-put o 'display (concat (plist-get icon 'string) - (string (char-after (point))))) - (overlay-put o 'face (plist-get icon 'face)))) + (if outline-read-only + (let ((inhibit-read-only t)) + (put-text-property (point) (1+ (point)) 'face (plist-get icon 'face)) + (if-let ((image (plist-get icon 'image))) + (overlay-put o 'display image) + (overlay-put o 'display (concat (plist-get icon 'string) + (string (char-after (point))))) + (overlay-put o 'face (plist-get icon 'face)))) + (overlay-put + o 'before-string + (propertize " " + 'display + (or (plist-get icon 'image) + (plist-get icon 'string)))))) o)) (defun outline--make-margin-overlay (type) @@ -1699,7 +1713,7 @@ outline--insert-open-button (beginning-of-line) (if use-margins (outline--make-margin-overlay 'open) - (when (derived-mode-p 'special-mode) + (when outline-read-only (let ((inhibit-read-only t)) (insert " ") (beginning-of-line))) @@ -1716,7 +1730,7 @@ outline--insert-close-button (beginning-of-line) (if use-margins (outline--make-margin-overlay 'close) - (when (derived-mode-p 'special-mode) + (when outline-read-only (let ((inhibit-read-only t)) (insert " ") (beginning-of-line))) diff --git a/lisp/textmodes/emacs-news-mode.el b/lisp/textmodes/emacs-news-mode.el index d9decae4df..f7f56eb047 100644 --- a/lisp/textmodes/emacs-news-mode.el +++ b/lisp/textmodes/emacs-news-mode.el @@ -73,11 +73,7 @@ emacs-news-mode-font-lock-keywords (defun emacs-news--mode-common () (setq-local font-lock-defaults '(emacs-news-mode-font-lock-keywords t)) - ;; This `outline-regexp' matches leading spaces inserted - ;; by the current implementation of `outline-minor-mode-use-buttons'. - (setq-local outline-regexp "\\(?: +\\)?\\(\\*+\\) " - outline-level (lambda () (length (match-string 1))) - outline-minor-mode-cycle t + (setq-local outline-minor-mode-cycle t outline-minor-mode-highlight 'append) (outline-minor-mode) (setq-local imenu-generic-expression outline-imenu-generic-expression) --=-=-=-- From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Oct 2022 18:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.1666116911423 (code B ref 57813); Tue, 18 Oct 2022 18:16:01 +0000 Received: (at 57813) by debbugs.gnu.org; 18 Oct 2022 18:15:11 +0000 Received: from localhost ([127.0.0.1]:54081 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okr7O-00006j-Qk for submit@debbugs.gnu.org; Tue, 18 Oct 2022 14:15:11 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:33871) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okr7L-00005g-Ax for 57813@debbugs.gnu.org; Tue, 18 Oct 2022 14:15:09 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 4409120009 for <57813@debbugs.gnu.org>; Tue, 18 Oct 2022 18:14:59 +0000 (UTC) From: Juri Linkov In-Reply-To: <86sfjstan4.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 13 Oct 2022 10:51:35 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <86sfjstan4.fsf@mail.linkov.net> Date: Tue, 18 Oct 2022 21:14:41 +0300 Message-ID: <86pmepyp66.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-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 (-) > This patch distinguishes two cases of using buttons in outline-minor-mode: > > 1. when buttons can be inserted to a read-only buffer, > then it's possible to move point to the inserted button > and use it by keyboard; > > 2. when the buffer is editable and should not be modified > to insert buttons, when the only way to display buttons > is with a before-string overlay. The disadvantage is that > buttons can be used only by clicking mouse. > > A new variable 'outline-read-only' is added here to allow > setting it explicitly in buffers that can be modified > to insert buttons like the Help buffer: Pushed with the new variable named outline-minor-mode-insert-buttons. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Oct 2022 18:40:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16661183622902 (code B ref 57813); Tue, 18 Oct 2022 18:40:01 +0000 Received: (at 57813) by debbugs.gnu.org; 18 Oct 2022 18:39:22 +0000 Received: from localhost ([127.0.0.1]:54127 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okrUn-0000kh-MC for submit@debbugs.gnu.org; Tue, 18 Oct 2022 14:39:21 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:57049) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okrUj-0000kT-BW for 57813@debbugs.gnu.org; Tue, 18 Oct 2022 14:39:19 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id BCADC60004 for <57813@debbugs.gnu.org>; Tue, 18 Oct 2022 18:39:09 +0000 (UTC) From: Juri Linkov In-Reply-To: <86pmepyp66.fsf@mail.linkov.net> (Juri Linkov's message of "Tue, 18 Oct 2022 21:14:41 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <86sfjstan4.fsf@mail.linkov.net> <86pmepyp66.fsf@mail.linkov.net> Date: Tue, 18 Oct 2022 21:35:15 +0300 Message-ID: <86r0z5x9ng.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-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 (-) I wonder why outline-minor-mode-use-buttons is defcustom with a list of modes. Usually outline-minor-mode is parameterized by buffer-local variables set before calling outline-minor-mode, for example: (setq-local outline-minor-mode-cycle t outline-minor-mode-highlight t outline-minor-mode-insert-buttons t) (outline-minor-mode) and (setq-local outline-minor-mode-cycle t outline-minor-mode-highlight 'append outline-minor-mode-use-margins t) (outline-minor-mode) So shouldn't outline-minor-mode-use-buttons be just a buffer-local variable like all other variables that affect outline-minor-mode? Then it could be set in mode hooks like other variables: (add-hook 'ruby-mode-hook (lambda () (setq-local outline-default-state 2 outline-minor-mode-use-buttons t) (outline-minor-mode))) Also outline-minor-mode-use-buttons could be set in dir/file-local variables that has no problem with early init as in major modes. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 19 Oct 2022 06:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166616202124537 (code B ref 57813); Wed, 19 Oct 2022 06:47:02 +0000 Received: (at 57813) by debbugs.gnu.org; 19 Oct 2022 06:47:01 +0000 Received: from localhost ([127.0.0.1]:55643 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ol2qy-0006Ng-IQ for submit@debbugs.gnu.org; Wed, 19 Oct 2022 02:47:01 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:34569) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ol2qu-0006NP-8z for 57813@debbugs.gnu.org; Wed, 19 Oct 2022 02:46:59 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 84527240003 for <57813@debbugs.gnu.org>; Wed, 19 Oct 2022 06:46:46 +0000 (UTC) From: Juri Linkov In-Reply-To: <86r0z5x9ng.fsf@mail.linkov.net> (Juri Linkov's message of "Tue, 18 Oct 2022 21:35:15 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <86sfjstan4.fsf@mail.linkov.net> <86pmepyp66.fsf@mail.linkov.net> <86r0z5x9ng.fsf@mail.linkov.net> Date: Wed, 19 Oct 2022 09:44:21 +0300 Message-ID: <86tu40z516.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="=-=-=" X-Spam-Score: -0.7 (/) 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 (-) --=-=-= Content-Type: text/plain > So shouldn't outline-minor-mode-use-buttons be just a buffer-local > variable like all other variables that affect outline-minor-mode? > Then it could be set in mode hooks like other variables: > > (add-hook 'ruby-mode-hook > (lambda () > (setq-local outline-default-state 2 > outline-minor-mode-use-buttons t) > (outline-minor-mode))) Here is a patch for this simplification: --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=outline-minor-mode-use-buttons.patch Content-Transfer-Encoding: 8bit diff --git a/lisp/help.el b/lisp/help.el index 0f5342b77d..d48b866938 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -745,7 +745,7 @@ describe-bindings (setq-local outline-level (lambda () 1)) (setq-local outline-minor-mode-cycle t outline-minor-mode-highlight t - outline-minor-mode-insert-buttons t) + outline-minor-mode-use-buttons 'insert) (outline-minor-mode 1) (save-excursion (goto-char (point-min)) diff --git a/lisp/textmodes/emacs-news-mode.el b/lisp/textmodes/emacs-news-mode.el index d57d053a7a..ebb31da9cf 100644 --- a/lisp/textmodes/emacs-news-mode.el +++ b/lisp/textmodes/emacs-news-mode.el @@ -75,7 +75,7 @@ emacs-news--mode-common (setq-local font-lock-defaults '(emacs-news-mode-font-lock-keywords t)) (setq-local outline-minor-mode-cycle t outline-minor-mode-highlight 'append - outline-minor-mode-use-margins t) + outline-minor-mode-use-buttons 'in-margins) (outline-minor-mode) (setq-local imenu-generic-expression outline-imenu-generic-expression) (emacs-etc--hide-local-variables)) diff --git a/lisp/outline.el b/lisp/outline.el index 2209964577..384ad6f2e7 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -281,40 +281,22 @@ outline-font-lock-faces [outline-1 outline-2 outline-3 outline-4 outline-5 outline-6 outline-7 outline-8]) -(defcustom outline-minor-mode-use-buttons '(derived-mode . help-mode) +(defvar-local outline-minor-mode-use-buttons nil "Whether to display clickable buttons on the headings. -The value should be a `buffer-match-p' condition. - These buttons can be used to hide and show the body under the heading. -Note that this feature is not meant to be used in editing -buffers (yet) -- that will be amended in a future version." - :type 'buffer-predicate - :safe #'booleanp - :version "29.1") - -(defvar-local outline--use-buttons nil - "Non-nil when buffer displays clickable buttons on the headings.") - -(defvar-local outline-minor-mode-insert-buttons nil - "Non-nil when it's allowed to modify buffer to insert buttons.") +When the value is `insert', additional placeholders for buttons are +inserted to the buffer, so buttons are not only clickable, +but also typing `RET' on them can hide and show the body. +When the value is `in-margins', then clickable buttons are +displayed in the margins before the headings. +When the value is `t', clickable buttons are displayed +in the buffer before the headings. The values `t' and +`in-margins' can be used in editing buffers because they +don't modify the buffer.") (defvar-local outline--use-rtl nil "Non-nil when direction of clickable buttons is right-to-left.") -(defcustom outline-minor-mode-use-margins '(and (derived-mode . special-mode) - (not (derived-mode . help-mode))) - "Whether to display clickable buttons in the margins. -The value should be a `buffer-match-p' condition. - -These buttons can be used to hide and show the body under the heading. -Note that this feature is meant to be used in editing buffers." - :type 'buffer-predicate - :safe #'booleanp - :version "29.1") - -(defvar-local outline--use-margins nil - "Non-nil when buffer displays clickable buttons in the margins.") - (define-icon outline-open nil '((image "outline-open.svg" "outline-open.pbm" :height (0.8 . em)) (emoji "🔽") @@ -487,7 +469,7 @@ outline-minor-mode-highlight-buffer (let ((regexp (concat "^\\(?:" outline-regexp "\\).*$"))) (while (re-search-forward regexp nil t) (let ((overlay (make-overlay (match-beginning 0) (match-end 0)))) - (overlay-put overlay 'outline-overlay t) + (overlay-put overlay 'outline-highlight t) ;; FIXME: Is it possible to override all underlying face attributes? (when (or (memq outline-minor-mode-highlight '(append override)) (and (eq outline-minor-mode-highlight t) @@ -511,25 +493,19 @@ outline-minor-mode (key-description outline-minor-mode-prefix) outline-mode-prefix-map) (if outline-minor-mode (progn - (cond - ((buffer-match-p outline-minor-mode-use-margins (current-buffer)) - (setq-local outline--use-margins t)) - ((buffer-match-p outline-minor-mode-use-buttons (current-buffer)) - (setq-local outline--use-buttons t))) - (when (and (or outline--use-buttons outline--use-margins) - (eq (current-bidi-paragraph-direction) 'right-to-left)) - (setq-local outline--use-rtl t)) - (when outline--use-margins - (if outline--use-rtl - (setq-local right-margin-width (1+ right-margin-width)) - (setq-local left-margin-width (1+ left-margin-width))) - (setq-local fringes-outside-margins t) - ;; Force display of margins - (when (eq (current-buffer) (window-buffer)) - (set-window-buffer nil (window-buffer)))) - (when (or outline--use-buttons outline--use-margins) + (when outline-minor-mode-use-buttons (add-hook 'after-change-functions - #'outline--fix-buttons-after-change nil t)) + #'outline--fix-buttons-after-change nil t) + (when (eq (current-bidi-paragraph-direction) 'right-to-left) + (setq-local outline--use-rtl t)) + (when (eq outline-minor-mode-use-buttons 'in-margins) + (if outline--use-rtl + (setq-local right-margin-width (1+ right-margin-width)) + (setq-local left-margin-width (1+ left-margin-width))) + (setq-local fringes-outside-margins t) + ;; Force display of margins + (when (eq (current-buffer) (window-buffer)) + (set-window-buffer nil (window-buffer))))) (when outline-minor-mode-highlight (if (and global-font-lock-mode (font-lock-specified-p major-mode)) (progn @@ -554,18 +530,18 @@ outline-minor-mode (if font-lock-fontified (font-lock-remove-keywords nil outline-font-lock-keywords)) (font-lock-flush) - (remove-overlays nil nil 'outline-overlay t)) - (when outline--use-buttons - (remove-overlays nil nil 'outline-button t)) - (when outline--use-margins - (remove-overlays nil nil 'outline-margin t) - (if outline--use-rtl - (setq-local right-margin-width (1- right-margin-width)) - (setq-local left-margin-width (1- left-margin-width))) - (setq-local fringes-outside-margins nil) - ;; Force removal of margins - (when (eq (current-buffer) (window-buffer)) - (set-window-buffer nil (window-buffer)))))) + (remove-overlays nil nil 'outline-highlight t)) + (when outline-minor-mode-use-buttons + (if (not (eq outline-minor-mode-use-buttons 'in-margins)) + (remove-overlays nil nil 'outline-button t) + (remove-overlays nil nil 'outline-margin t) + (if outline--use-rtl + (setq-local right-margin-width (1- right-margin-width)) + (setq-local left-margin-width (1- left-margin-width))) + (setq-local fringes-outside-margins nil) + ;; Force removal of margins + (when (eq (current-buffer) (window-buffer)) + (set-window-buffer nil (window-buffer))))))) (defvar-local outline-heading-alist () "Alist associating a heading for every possible level. @@ -1675,7 +1651,7 @@ outline--make-button-overlay ;; In editing buffers we use overlays only, but in other buffers ;; we use a mix of text properties, text and overlays to make ;; movement commands work more logically. - (if outline-minor-mode-insert-buttons + (if (eq outline-minor-mode-use-buttons 'insert) (let ((inhibit-read-only t)) (put-text-property (point) (1+ (point)) 'face (plist-get icon 'face)) (if-let ((image (plist-get icon 'image))) @@ -1713,13 +1689,13 @@ outline--make-margin-overlay (plist-get icon 'string)))))) o)) -(defun outline--insert-open-button (&optional use-margins) +(defun outline--insert-open-button (&optional in-margins) (with-silent-modifications (save-excursion (beginning-of-line) - (if use-margins + (if in-margins (outline--make-margin-overlay 'open) - (when outline-minor-mode-insert-buttons + (when (eq outline-minor-mode-use-buttons 'insert) (let ((inhibit-read-only t)) (insert " ") (beginning-of-line))) @@ -1730,13 +1706,13 @@ outline--insert-open-button "RET" #'outline-hide-subtree "" #'outline-hide-subtree))))))) -(defun outline--insert-close-button (&optional use-margins) +(defun outline--insert-close-button (&optional in-margins) (with-silent-modifications (save-excursion (beginning-of-line) - (if use-margins + (if in-margins (outline--make-margin-overlay 'close) - (when outline-minor-mode-insert-buttons + (when (eq outline-minor-mode-use-buttons 'insert) (let ((inhibit-read-only t)) (insert " ") (beginning-of-line))) @@ -1748,7 +1724,7 @@ outline--insert-close-button "" #'outline-show-subtree))))))) (defun outline--fix-up-all-buttons (&optional from to) - (when (or outline--use-buttons outline--use-margins) + (when outline-minor-mode-use-buttons (when from (save-excursion (goto-char from) @@ -1759,17 +1735,16 @@ outline--fix-up-all-buttons (outline-end-of-heading) (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) (overlays-at (point)))) - (outline--insert-close-button outline--use-margins) - (outline--insert-open-button outline--use-margins))) + (outline--insert-close-button (eq outline-minor-mode-use-buttons 'in-margins)) + (outline--insert-open-button (eq outline-minor-mode-use-buttons 'in-margins)))) (or from (point-min)) (or to (point-max))))) (defun outline--fix-buttons-after-change (beg end _len) ;; Handle whole lines (save-excursion (goto-char beg) (setq beg (pos-bol))) (save-excursion (goto-char end) (setq end (pos-eol))) - (when outline--use-buttons - (remove-overlays beg end 'outline-button t)) - (when outline--use-margins + (if (not (eq outline-minor-mode-use-buttons 'in-margins)) + (remove-overlays beg end 'outline-button t) (remove-overlays beg end 'outline-margin t)) (outline--fix-up-all-buttons beg end)) --=-=-=-- From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 22 Oct 2022 18:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16664639631325 (code B ref 57813); Sat, 22 Oct 2022 18:40:02 +0000 Received: (at 57813) by debbugs.gnu.org; 22 Oct 2022 18:39:23 +0000 Received: from localhost ([127.0.0.1]:42316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1omJP1-0000LI-2Q for submit@debbugs.gnu.org; Sat, 22 Oct 2022 14:39:23 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:48677) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1omJOz-0000Kz-2M; Sat, 22 Oct 2022 14:39:22 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id CAE7460003; Sat, 22 Oct 2022 18:39:12 +0000 (UTC) From: Juri Linkov In-Reply-To: <86tu40z516.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 19 Oct 2022 09:44:21 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <86sfjstan4.fsf@mail.linkov.net> <86pmepyp66.fsf@mail.linkov.net> <86r0z5x9ng.fsf@mail.linkov.net> <86tu40z516.fsf@mail.linkov.net> Date: Sat, 22 Oct 2022 21:38:54 +0300 Message-ID: <868rl7sny9.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-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 57813 29.0.50 thanks > Here is a patch for this simplification: Now pushed and closed. From unknown Sun Aug 17 01:00:03 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57813: Icon images are non-functional Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 23 Oct 2022 16:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Max Brieiev Cc: Lars Ingebrigtsen , 57813@debbugs.gnu.org Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.166654422826263 (code B ref 57813); Sun, 23 Oct 2022 16:58:01 +0000 Received: (at 57813) by debbugs.gnu.org; 23 Oct 2022 16:57:08 +0000 Received: from localhost ([127.0.0.1]:46430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1omeHb-0006pX-Vi for submit@debbugs.gnu.org; Sun, 23 Oct 2022 12:57:08 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:48775) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1omeHZ-0006p1-Gr for 57813@debbugs.gnu.org; Sun, 23 Oct 2022 12:57:06 -0400 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id ADCC0FF804; Sun, 23 Oct 2022 16:56:55 +0000 (UTC) From: Juri Linkov In-Reply-To: <86wn94ooqs.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 12 Oct 2022 21:55:55 +0300") Organization: LINKOV.NET References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <86zgequm55.fsf@mail.linkov.net> <87a66q2h1e.fsf@gnus.org> <86wn9s8zek.fsf@mail.linkov.net> <875ygp5cit.fsf@gmail.com> <86wn94ooqs.fsf@mail.linkov.net> Date: Sun, 23 Oct 2022 19:55:52 +0300 Message-ID: <86tu3u7a3r.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; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) 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 (-) >> It seems in some cases this can cause an overlap between the heading and >> the image, like on the screenshot: > > It's hard to guess whether the outlines are using buttons or margins. > Probably buttons, because margins are not displayed in *Completions*. > Actually the same problem exists for both of them. By default the > button/margin face is inherited, because in most modes inheriting > fontification from the outline heading lines provides a nicer look, > but your example demonstrates that in some cases that face needs to be > overridden. Then there are several variants what face to use instead: > 1. the default face; 2. the outline faces outline-1, outline-2, ... > corresponding to the outline level. So it's not clear what to prefer here. Now refactored the outline button icon functions to support the face attribute of the icon for margins and buttons. So if an icon definition is customized to contain e.g. ':face default': (define-icon outline-open nil '((image "outline-open.svg" "outline-open.pbm" :height (0.8 . em) :face default) (symbol " ▼ " :face default)) then it doesn't inherit the outline heading face. > But there is a simpler way to avoid such a problem: it's possible > to customize the face 'completions-group-separator' to remove > the face attribute 'strike-through'. Then you can also use: > (setq-local outline-minor-mode-highlight 'override) > that will use the outline faces on the group headings, > and the button/margin will inherit it. For better compatibility with different face combinations, I changed the 'completions-group-separator' face attribute 'strike-through' to 'underline'.