From unknown Thu Jun 19 16:09:05 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#76193 <76193@debbugs.gnu.org> To: bug#76193 <76193@debbugs.gnu.org> Subject: Status: 30.0.93; Wrong type argument in outline-minor-mode Reply-To: bug#76193 <76193@debbugs.gnu.org> Date: Thu, 19 Jun 2025 23:09:05 +0000 retitle 76193 30.0.93; Wrong type argument in outline-minor-mode reassign 76193 emacs submitter 76193 Roshan Shariff severity 76193 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 00:04:35 2025 Received: (at submit) by debbugs.gnu.org; 11 Feb 2025 05:04:36 +0000 Received: from localhost ([127.0.0.1]:53556 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1thiRl-0000mZ-Jg for submit@debbugs.gnu.org; Tue, 11 Feb 2025 00:04:35 -0500 Received: from lists.gnu.org ([2001:470:142::17]:59556) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1thbz1-0006OD-QQ for submit@debbugs.gnu.org; Mon, 10 Feb 2025 17:10:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1thbyv-00008E-Tl for bug-gnu-emacs@gnu.org; Mon, 10 Feb 2025 17:10:21 -0500 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1thbys-00011p-PD for bug-gnu-emacs@gnu.org; Mon, 10 Feb 2025 17:10:21 -0500 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-21c2f1b610dso119584955ad.0 for ; Mon, 10 Feb 2025 14:10:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739225416; x=1739830216; darn=gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=jYH1k4QJlxF7SZTWCHO6jnTtEfReRS1/in5d+plw5/I=; b=BJT9KmjSBqHMS0hMMEVrqaQKtC59qMRPZ0aqSlLAw150dE+113OiAEy1z2Xiy3Wv6M rat4iN217KIWgIRZyle39DL9BzsEnjeQUtHiu3aHZeE4s2QgypAfnryxsmV3/6crLj19 5jM+g2rH1c5Jfpnx2m1187sB/iRuvyLpkobC6VDLsQG922eiSE0vVFpniET7oATpIWXS dS0sK8npMC7fBZhDLUcHAEqOBbN5lYs0U1aLhb3bYux4p8usMs27/kMOt4h9NtKJFocb IbNUdW8o2mRGXqScPM2yFf9MwjVvSx6uidvmjeNqxGotwGcAqOWHEmU8K/4uH1UoVfKh 8MDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739225416; x=1739830216; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=jYH1k4QJlxF7SZTWCHO6jnTtEfReRS1/in5d+plw5/I=; b=enaThczeIjlE/M4hpBUgeu0UbtrgFpcuJ77ER1zoTGLrEFtK7UxiCa+h0NA2BwQ7i8 4NCsODgAzjyMO2+6RocnSlsYm2W/s14iCX8Vk6FxXQKHHg/Bnsz4r6Qb2tnWm9fqVkXm YVkpGs53/sX8Zs4hfFwZjUR+Oi3YkrHgWrjvz1ClXBYO5vwuP2Y9/RR8PPzeAZShd0mk 3Rp6PMvg/nuff3Qy/7kwJPXnNN2Y/qtzfpLRRonC1G6nCwLvCKKzpVWqVkxi9yPltd5L yJcbqd8wuO5eEAWiqpLhcCBby5nJzPi8XHnhhLR4kK83lULEIhdJNXNxCmD8f+Rhy6I7 AI8w== X-Gm-Message-State: AOJu0YztZQJoeDcLfEj9aDxsBwTX0TapTmnDpc1kiMsiviAvysf/v7db cOt3sPJ6+IVdUf1ZHzroBjSnNqpEd8n6tbwKJu9kpvNa8ebmqWrzWqSs/w== X-Gm-Gg: ASbGncsaZAK4mCKsXFKCKkj5fgAPkwNjaNJRATflPHVYp3ARhfJaJXMLggm3PZE0Smt Mi0bUCk5YrYcS3Pa7VYuL/VquGCtM9dVievXMhQyPN9U04lFgCo2hP3WFwZQJbst86eym1/n4Qk SLboMLIw2Ml5scW/2gaszh1sNypkLe8+0YTiEX1+rJSoPujzp4yrR2WDepoYp+KOv+vbC74vC3f c09b9SnRA2hMlyVaJ1BMKQv/dNH/Kzn8kCDQ7H+NDAHflw1NzVZyvv9cWAp5BzLS4HSCoUAuzan wCEXJ0u1Z9psls7+gBYIcV5whNl9v9LiKmjzoDo30d5wHa5yAyswXpRhrLG2Uw== X-Google-Smtp-Source: AGHT+IHYsFcjeEtG4BAX+wAmuuoBiK2RtxyoOIeafuZovYLco1QN87J1+ISwzU/ugSPE8b+Qlbr8CA== X-Received: by 2002:a17:903:240c:b0:21f:454:953c with SMTP id d9443c01a7336-21f4e800da4mr234558155ad.52.1739225416152; Mon, 10 Feb 2025 14:10:16 -0800 (PST) Received: from localhost (S01069050ca65e863.ed.shawcable.net. [174.3.244.184]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21f3683dac7sm83476245ad.142.2025.02.10.14.10.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Feb 2025 14:10:15 -0800 (PST) From: Roshan Shariff To: bug-gnu-emacs@gnu.org Subject: 30.0.93; Wrong type argument in outline-minor-mode X-Debbugs-Cc: Date: Mon, 10 Feb 2025 15:10:14 -0700 Message-ID: <87tt91bge1.fsf@acheron.home.roshan.ca> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::62c; envelope-from=roshan.shariff@gmail.com; helo=mail-pl1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 11 Feb 2025 00:04:32 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) 1. Open scratch buffer 2. M-: (setq outline-minor-mode-use-buttons 'in-margins) RET 3. M-: (setq left-margin-width 2) RET 4. M-x outline-minor-mode [Outline minor mode enabled in current buffer] 5. M-x outline-minor-mode [Wrong type argument: number-or-mark-p, nil] The error happens on line 616 of outline.el, because outline--margin-width is nil when outline-minor-mode is disabled. It turns out that it was never set when outline-minor-mode was enabled, because the condition on line 552 fails when left-margin-width is greater than zero. In GNU Emacs 30.0.93 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2) of 2025-02-09 built on 3232d44b99d846d18b5ee0bbc269a171 Windowing system distributor 'The X.Org Foundation', version 11.0.12401005 System Description: Fedora Linux 41 (Workstation Edition) Configured using: 'configure --build=x86_64-redhat-linux --host=x86_64-redhat-linux --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --program-suffix=-gtk+x11 --with-cairo --with-dbus --with-gif --with-gpm=no --with-harfbuzz --with-jpeg --with-modules --with-native-compilation=aot --with-png --with-rsvg --with-sqlite3 --with-tiff --with-tree-sitter --with-webp --with-x-toolkit=gtk3 --with-xinput2 --with-xpm build_alias=x86_64-redhat-linux host_alias=x86_64-redhat-linux CC=gcc 'CFLAGS=-DMAIL_USE_LOCKF -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' 'LDFLAGS=-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' CXX=g++ 'CXXFLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: en_CA.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date subr-x cl-extra pp cl-print byte-opt gv bytecomp byte-compile org-compat org-macs format-spec noutline outline icons thingatpt help-fns radix-tree help-mode cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 77563 11261) (symbols 48 7193 0) (strings 32 22050 2967) (string-bytes 1 666318) (vectors 16 12369) (vector-slots 8 164396 8470) (floats 8 43 133) (intervals 56 426 0) (buffers 992 13)) From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 02:59:04 2025 Received: (at 76193) by debbugs.gnu.org; 11 Feb 2025 07:59:04 +0000 Received: from localhost ([127.0.0.1]:54226 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1thlAe-000213-7X for submit@debbugs.gnu.org; Tue, 11 Feb 2025 02:59:04 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:42425) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1thlAc-0001zt-0i for 76193@debbugs.gnu.org; Tue, 11 Feb 2025 02:59:03 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 9E03E4416F; Tue, 11 Feb 2025 07:58:53 +0000 (UTC) From: Juri Linkov To: Roshan Shariff Subject: Re: bug#76193: 30.0.93; Wrong type argument in outline-minor-mode In-Reply-To: <87tt91bge1.fsf@acheron.home.roshan.ca> Organization: LINKOV.NET References: <87tt91bge1.fsf@acheron.home.roshan.ca> Date: Tue, 11 Feb 2025 09:53:25 +0200 Message-ID: <87ikpggbnu.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdegtdeghecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledrleeirdeltdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeluddruddvledrleeirdeltddphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepjeeiudelfeesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehrohhshhgrnhdrshhhrghrihhffhesghhmrghilhdrtghomh X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 76193 Cc: 76193@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > 1. Open scratch buffer > 2. M-: (setq outline-minor-mode-use-buttons 'in-margins) RET > 3. M-: (setq left-margin-width 2) RET > 4. M-x outline-minor-mode [Outline minor mode enabled in current buffer] > 5. M-x outline-minor-mode [Wrong type argument: number-or-mark-p, nil] > > The error happens on line 616 of outline.el, because > outline--margin-width is nil when outline-minor-mode is disabled. It > turns out that it was never set when outline-minor-mode was enabled, > because the condition on line 552 fails when left-margin-width is greater than > zero. Thanks for the bug report. outline-minor-mode was not intended to work for left-margin-width set to a non-zero value from outside. I wonder do you know a case where the same margin is successfully shared between outline-minor-mode and some other package? In any case this information is not required for fixing outline-minor-mode that should support any value of left-margin-width. Do you agree that the right fix would be just do nothing when outline--margin-width is nil? From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 13:39:42 2025 Received: (at 76193) by debbugs.gnu.org; 11 Feb 2025 18:39:42 +0000 Received: from localhost ([127.0.0.1]:58583 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1thvAc-0001QU-AK for submit@debbugs.gnu.org; Tue, 11 Feb 2025 13:39:42 -0500 Received: from mail-pj1-x1032.google.com ([2607:f8b0:4864:20::1032]:43128) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1thvAZ-0001QA-Ok for 76193@debbugs.gnu.org; Tue, 11 Feb 2025 13:39:40 -0500 Received: by mail-pj1-x1032.google.com with SMTP id 98e67ed59e1d1-2f9f5caa37cso87997a91.0 for <76193@debbugs.gnu.org>; Tue, 11 Feb 2025 10:39:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739299173; x=1739903973; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=bnfW5qaiofy92kJAfUk9OgI8YdNJUeFeXgcLb2qjBzA=; b=J9t0zu0xpH9kJT0s4sWF/rnHTuEd+PNuGXudbluW5ibFX8PfBehDO58i7E7lkVqCeN EznM4AsX+gkYmf9xg0TxJgVHz3pNl4xPIuCXTICbNm5u2hhyElng6T8rdi9l2tN58BN1 n9tzEv8olcOJT4ZGoiAV3yqe3pR6hlu8xy5+bqK1I1k7xAl1FDPJH2IdhgmaA8ka2FUC 16io2HnlrgYjXBnaEVHqKNe8vyoZwA/T+hhCVpXrqfnJFt4fIoQmKCKBHjxTtJX4+9um 4xTEClICUsDMrRerxq6FvbOrsYNRAcUWC152NEyz+NHzUTnk83ibPshsw9r2a4ixld3F RbNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739299173; x=1739903973; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=bnfW5qaiofy92kJAfUk9OgI8YdNJUeFeXgcLb2qjBzA=; b=MAv+XhrP0cvMiFCgHfxAqqs2hguhzKY6+nxLIDygy/YxGL3uKWyN0DSj7GTzlwmmmt c1jReraGvYuxmCZlpt+aeWUsD49XWsvc69yPxgt+1wVsJLXAdbXnQDKgFud1ihNZ+J0n le7Vc4jCNcZMl6NifspcTnid9LCis9mgUNyLk2KqoV4llj4v7ZR1pwQhb06w7iGV1uyU Zyptm4f86omYu0OyycguZRoQlO4qUQ28PiTJP/rNjTaOQDAJK1Bw9asf/gOOg0HGq7QZ CXwzmM3UrcJrHtiQ5fnJzaGtlrbdh/30UExSjUd8gRUGTSdGlCQzBuXc0rtf2GSyRzP3 iTEQ== X-Gm-Message-State: AOJu0YyMC5c/RWpL6ERNTrY6aJO4zTs/+4YI1AF5p60807uoEQKRoDq1 9sjDiVFN5Q1EJkx8HVnBgujhkicteJZCASf2iIbJxPM3XDyaHmcMoF5ynU42GeJGMo4ZEK48C6U z4r9f66VLbFpzGCjsQshqbRsejSw= X-Gm-Gg: ASbGncvB/xIKY0JpMnOD0GU5NtxszBbTo9uvTaioiOPhwbXOpm9c/wVTm1zj/IZTka5 /vfiOkpnu+1f0N6OiWS4VxcBckXcbPcg8vXmdHgCeK7KZdMvb9TGdPGnCy0IkuisZfi+rfk/n X-Google-Smtp-Source: AGHT+IEfOZ+U1llhYWWuTKac2uNPCIbGi3seKg7PyrtP8LDmwuJHCLsYmM1OWOD80S9VqdEcZZ7YgWb0CsS8BfiJH5o= X-Received: by 2002:a17:90a:a109:b0:2fa:3b6b:3370 with SMTP id 98e67ed59e1d1-2faa099b30bmr6739356a91.16.1739299173246; Tue, 11 Feb 2025 10:39:33 -0800 (PST) MIME-Version: 1.0 References: <87tt91bge1.fsf@acheron.home.roshan.ca> <87ikpggbnu.fsf@mail.linkov.net> In-Reply-To: <87ikpggbnu.fsf@mail.linkov.net> From: Roshan Shariff Date: Tue, 11 Feb 2025 11:39:22 -0700 X-Gm-Features: AWEUYZmSb-8z8ccFaXTmOxcCga3JhGT4GUipmPBYUzy4edzleO5i68lKeHvZNO8 Message-ID: Subject: Re: bug#76193: 30.0.93; Wrong type argument in outline-minor-mode To: Juri Linkov Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 76193 Cc: 76193@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) On Tue, 11 Feb 2025 at 00:58, Juri Linkov wrote: > Thanks for the bug report. outline-minor-mode was not intended > to work for left-margin-width set to a non-zero value from outside. Thanks, I wasn't sure what the intent of the code was, but that makes sense. However, the condition on line 552, which only holds if the margin width is zero, seems to make some of the following code redundant. Lines 566-569 add the current margin width to outline--margin-width, which is unnecessary if the current margin width has to be zero to get to that point. The reverse happens when the mode is disabled, in lines 616-619. > I wonder do you know a case where the same margin is successfully shared > between outline-minor-mode and some other package? It seems to work reasonably well as long as the margins are wide enough to show all the margin indicators. However, the other packages I use (flymake-mode and git-gutter-mode) unilaterally set the margin size to whatever they need without accounting for other packages' use of the margin. The final margin ends up depending on the order that modes are activated. In my case, flymake-mode (which defaults to margin indicators on graphical displays) was setting the margin width to 2, and by pure coincidence that is wide enough to show the outline-minor-mode and git-gutter symbols if there isn't a flymake indicator on that line. > In any case this information is not required for fixing outline-minor-mode > that should support any value of left-margin-width. > Do you agree that the right fix would be just do nothing > when outline--margin-width is nil? That is one approach, but the other one would be to just remove the (> 1 *-margin-width) condition on line 552. If I understand correctly, the effect would be to increase the existing margin to accommodate the outline-minor-mode buttons, and then decrease the margins by the same amount when the mode is disabled. I feel this change would play better with other packages that use the margin, and ideally those packages (e.g. flymake-mode) would be patched to do the same thing. What do you think? From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 13 02:47:24 2025 Received: (at 76193) by debbugs.gnu.org; 13 Feb 2025 07:47:24 +0000 Received: from localhost ([127.0.0.1]:40011 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tiTwS-0000AS-6y for submit@debbugs.gnu.org; Thu, 13 Feb 2025 02:47:24 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:49367) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tiTwP-0000A8-Rq for 76193@debbugs.gnu.org; Thu, 13 Feb 2025 02:47:22 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 6384020454; Thu, 13 Feb 2025 07:47:13 +0000 (UTC) From: Juri Linkov To: Roshan Shariff Subject: Re: bug#76193: 30.0.93; Wrong type argument in outline-minor-mode In-Reply-To: Organization: LINKOV.NET References: <87tt91bge1.fsf@acheron.home.roshan.ca> <87ikpggbnu.fsf@mail.linkov.net> Date: Thu, 13 Feb 2025 09:38:31 +0200 Message-ID: <87pljm9u44.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdegiedvtdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledrleekrdehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledurdduvdelrdelkedrhedphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepjeeiudelfeesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehrohhshhgrnhdrshhhrghrihhffhesghhmrghilhdrtghomh X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 76193 Cc: 76193@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> Thanks for the bug report. outline-minor-mode was not intended >> to work for left-margin-width set to a non-zero value from outside. > > Thanks, I wasn't sure what the intent of the code was, but that makes > sense. However, the condition on line 552, which only holds if the > margin width is zero, seems to make some of the following code > redundant. The intention was to avoid conflicts with other modes that use the same margin. But the problem is that other modes such as flymake-mode can be enabled AFTER outline-minor-mode is already enabled. So outline-minor-mode has no control over such situation. Therefore this condition is not needed in outline-minor-mode. > Lines 566-569 add the current margin width to > outline--margin-width, which is unnecessary if the current margin > width has to be zero to get to that point. The reverse happens when > the mode is disabled, in lines 616-619. These lines were intended for the perfect case possibly achievable in the future when different packages don't have to compete for the space in the margins, but each of them will update just own column. I still believe we need to try to make this possible. >> I wonder do you know a case where the same margin is successfully shared >> between outline-minor-mode and some other package? > > It seems to work reasonably well as long as the margins are wide > enough to show all the margin indicators. However, the other packages > I use (flymake-mode and git-gutter-mode) unilaterally set the margin > size to whatever they need without accounting for other packages' use > of the margin. The final margin ends up depending on the order that modes > are activated. > > In my case, flymake-mode (which defaults to margin indicators on > graphical displays) was setting the margin width to 2, and by pure > coincidence that is wide enough to show the outline-minor-mode and > git-gutter symbols if there isn't a flymake indicator on that line. Ideally, each package should increase the width of the margin as much as it needs, and then update only own columns. >> In any case this information is not required for fixing outline-minor-mode >> that should support any value of left-margin-width. > >> Do you agree that the right fix would be just do nothing >> when outline--margin-width is nil? > > That is one approach, but the other one would be to just remove the (> > 1 *-margin-width) condition on line 552. If I understand correctly, > the effect would be to increase the existing margin to accommodate the > outline-minor-mode buttons, and then decrease the margins by the same > amount when the mode is disabled. I agree, so this condition will be removed from outline-minor-mode. > I feel this change would play better with other packages that use the > margin, and ideally those packages (e.g. flymake-mode) would be > patched to do the same thing. What do you think? Ok, I will try to modify both outline-minor-mode and flymake-mode to respect each other in regard to the shared margin.