Received: (at 78794) by debbugs.gnu.org; 17 Jun 2025 11:20:52 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 17 07:20:52 2025 Received: from localhost ([127.0.0.1]:55161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uRUN1-0002uM-Va for submit <at> debbugs.gnu.org; Tue, 17 Jun 2025 07:20:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46136) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uRUMv-0002to-TE for 78794 <at> debbugs.gnu.org; Tue, 17 Jun 2025 07:20:49 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1uRUMp-0003A8-BL; Tue, 17 Jun 2025 07:20:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=wef91FERpEab9kr/7VwUH5ZMAC5K1Papq0L9NVRLWTY=; b=dLTGV27XicPcdhLRl13Z 2Vtp1C2E+lRNmJltxcakLXaLrbcFzjUmya+GMwl0emMPtsJ0C7pmbmXCd93EvVHy3+VSVG0Fzrq6T 2YRe/jrFMvd4YkKpTAOb5BrjslVLWpADTHfi4CWf9Wh/lcZejFSBm7efhYxeSI5ZvDeQgWb3aiNyH De+gLO2nTd653/Ij2hhMSbZ4MmzdyvyNqX1i4zKQI4wNtAZACqFlMkRttk5UM+3Zln6YQY5RtCAnq ecppE999ahL0WBOcECEco/Crczv5duQ5h8e9wDzZhuRcaJk8ulyewAP8C+a+k8XTKvcqOKmF3fLZJ 7vWpFHoX0ZAAcg==; Date: Tue, 17 Jun 2025 14:20:36 +0300 Message-Id: <86frfyobqz.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= <eg642616@HIDDEN> In-Reply-To: <87plf3mpkv.fsf@HIDDEN> (message from Elijah Gabe =?utf-8?Q?P=C3=A9rez?= on Mon, 16 Jun 2025 13:52:32 -0600) Subject: Re: bug#78794: [PATCH] Pretiffy package-menu References: <87plf5iwps.fsf@HIDDEN> <87ikkxiwh9.fsf@HIDDEN> <86bjqpr2gb.fsf@HIDDEN> <87ikkwakwh.fsf@HIDDEN> <86frg0p5bs.fsf@HIDDEN> <87ecvjetv5.fsf@HIDDEN> <87plf3mpkv.fsf@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78794 Cc: 78794 <at> debbugs.gnu.org, philipk@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Elijah Gabe Pérez <eg642616@HIDDEN> > Cc: Eli Zaretskii <eliz@HIDDEN>, 78794 <at> debbugs.gnu.org > Date: Mon, 16 Jun 2025 13:52:32 -0600 > > Philip Kaludercic <philipk@HIDDEN> writes: > > >>> +(defcustom package-menu-marks-indicators > >>> + '((install . "I") > >>> + (delete . "D")) > >>> + "Alist indicators to indicate a package is marked to install or delete. > >>> +The value of each list must be in the formt: '(KIND . MARK) where KIND > >>> +is the kind mark performed (`install' or `delete') in package-menu and > >>> +MARK a string to use for mark the packages. This currently support > >>> +marks for install and delete." > > > > What is the reason we would want to customise this in the first place? > > IMO, the I and D characters looks somewhat ugly to me, making them > customizable allows to change them to an Unicode/Emoji icon (or any > other character), making them more recognizable according to the user's > preferences (e.g. 🗑️/♻️ and ✅). I hear you, but AFAIR we don't provide such customizations in any other clients of tabulated-list-mode, so why do it here? > > >> This doc string has several grammatical issues, and also lacks some > >> important information. I suggest to rephrase as follows: > >> > >> "Indicators for packages to be installed or deleted. > >> The value is an alist whose elements have the form (KIND . MARK), > >> where KIND is the operation to perform, either `install' or `delete', > >> and MARK is a string to indicate that the operation is pending for > >> the package. The MARK string should satisfy the requirements of the > >> TAG argument of `tabulated-list-put-tag', which see. It is displayed > >> in the padding area of the package's line. > >> > >> Currently, only indicators for installing or deleting a package are > >> supported." > >> > >>> + :type '(list (cons symbol string) > >>> + (cons symbol string)) > >> > >> Can we come up with a meaningful :tag for the value? > > > > (I haven't check it, but...) is this the type of > > `package-menu-marks-indicators'? If so, we shouldn't document the user > > option as an Alist. > > But what other name would be better? I don't agree with Philip here: we do say in doc strings of user options that the value should be an alist. We could use "association list" if that makes it more clear, though.
bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.Received: (at 78794) by debbugs.gnu.org; 16 Jun 2025 19:52:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 16 15:52:47 2025 Received: from localhost ([127.0.0.1]:49000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uRFss-0003pK-CO for submit <at> debbugs.gnu.org; Mon, 16 Jun 2025 15:52:47 -0400 Received: from mail-oa1-x41.google.com ([2001:4860:4864:20::41]:56447) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>) id 1uRFsn-0003nR-HU for 78794 <at> debbugs.gnu.org; Mon, 16 Jun 2025 15:52:44 -0400 Received: by mail-oa1-x41.google.com with SMTP id 586e51a60fabf-2da73158006so4030988fac.0 for <78794 <at> debbugs.gnu.org>; Mon, 16 Jun 2025 12:52:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750103554; x=1750708354; darn=debbugs.gnu.org; h=content-transfer-encoding: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=35LgrxUzrrwxMtIt7U51yY3hsxV/t7Fu7V6CaQzXndQ=; b=DiEVE4Y0z3TXhEncF7XrM0hhdF6JOaWFEDRplUF1fyKHbUF/xsZ4guDQ4vkhw5JWUq pG4y1W+dbf6HjWdsG30J4z4+HFSbQdB3VE1xTtg5VbkdQrtzWKa9N5Qb26PXg/AePcJy D9W/a+mwnbmt0R17A+oB55LQdgVFqzxvaWA9XsKRLFwvYDnXU1enHmyA+u+osf+FHlv8 egJqORhQHc8Ewgpdwqf8Ts1jCX58t0eBkv/PoHSDCm0qUpOWK11gOkRcYFQbOKi1H08N EagiQ/UCbbnd6+MkKp/hcgMXlLXuU9E0HQ9CWJD34Drf1uLzOO3iJKVumUsSYbV4J6uH 5lHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750103554; x=1750708354; h=content-transfer-encoding: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=35LgrxUzrrwxMtIt7U51yY3hsxV/t7Fu7V6CaQzXndQ=; b=r1gfSY7dXzJZjHPJa8zLvTvK0W+IcrNUgKeS/HZqW2RMDTY3O0H1YOFDEw2KIodgge yhi0jqLSJqIU999X5AcwKN2vhg2hBsk67T6VCs2Pv00kOWMnrTIU1au5Ha6QfR0Ggns3 lZC1p1iBkq5v31U4n+hH1G53m/RHQN4r2GFLmS6UbLwWFOrRRs47iNWojJonetOHIjoP RmCpQfphSiu8gOd6y+CCp3bFLA16S0fQoGM6Tg21aBHqxuKkFwAppl603mH+/QKsK09E 7k+g5inNaO9YUZBNmHfAj25IBtzFyoHP0ybIiq/Oyr1cGh30iv9BeGXaH/PVpKPm5EWB TPNQ== X-Forwarded-Encrypted: i=1; AJvYcCWuhl+9jaNhhkPIFk/xc1+SpkvxZzsvtJ6DURDRcbk7r+hTlQf15+e+a6rasQM+DsFEnYfl4Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwMEKtBFshUdwGPK40sFWFsVEhNQTB1kR/XPPmut3jn9DStOZlr kgUNeCT0qkdXPiTT/1tnXKcVTRSDVTT+3oUFvxGjxNBovedZi/gjwRL68ZsWEGu+ X-Gm-Gg: ASbGncvrgf1qIRA+8t2J5iPtPn5J3/amRxsveGflADUtxF+aX8HfXcnF7T3Wdclq2F+ zcsIjz+G6KyyDCT05PSp0+MXV03grzI/Ebl03z/gaUXFJpXWycZsx3nctEfCEv13mcMY/NhnmjW tCHA/7bUixOHwzzfBhvEe0Qclbcz+yS9ku7Xt2X+tRdZ91N0kUM/NR52H5AicCHj3MgdzTI5wCW Utdl5GyFPRWn6VycUwzBVteZqmok2a/tTR7mrcyX/D31vDOsClT45AXTaroNXEXc+WnmOOJqViL wrd54AQ1vDVFEYUdircvEuySkrcRiw== X-Google-Smtp-Source: AGHT+IEib5u9U524W3IM4W3Yg0wsSqO7t6pyYaJDtBHezqjl7sriw0wwRWDBZ3Ha8tSt7lrFJ78MpA== X-Received: by 2002:a05:6870:e388:b0:2c8:5db8:f23a with SMTP id 586e51a60fabf-2eaf0847ed5mr5169913fac.20.1750103554332; Mon, 16 Jun 2025 12:52:34 -0700 (PDT) Received: from fedora ([2806:10ae:e:998c::1]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61108ebe597sm1008532eaf.20.2025.06.16.12.52.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 12:52:33 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> Subject: Re: bug#78794: [PATCH] Pretiffy package-menu In-Reply-To: <87ecvjetv5.fsf@HIDDEN> References: <87plf5iwps.fsf@HIDDEN> <87ikkxiwh9.fsf@HIDDEN> <86bjqpr2gb.fsf@HIDDEN> <87ikkwakwh.fsf@HIDDEN> <86frg0p5bs.fsf@HIDDEN> <87ecvjetv5.fsf@HIDDEN> Date: Mon, 16 Jun 2025 13:52:32 -0600 Message-ID: <87plf3mpkv.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 78794 Cc: 78794 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Philip Kaludercic <philipk@HIDDEN> writes: >>> +(defcustom package-menu-marks-indicators >>> + '((install . "I") >>> + (delete . "D")) >>> + "Alist indicators to indicate a package is marked to install or dele= te. >>> +The value of each list must be in the formt: '(KIND . MARK) where KIND >>> +is the kind mark performed (`install' or `delete') in package-menu and >>> +MARK a string to use for mark the packages. This currently support >>> +marks for install and delete." > > What is the reason we would want to customise this in the first place? IMO, the I and D characters looks somewhat ugly to me, making them customizable allows to change them to an Unicode/Emoji icon (or any other character), making them more recognizable according to the user's preferences (e.g. =F0=9F=97=91=EF=B8=8F/=E2=99=BB=EF=B8=8F and =E2=9C=85). >> This doc string has several grammatical issues, and also lacks some >> important information. I suggest to rephrase as follows: >> >> "Indicators for packages to be installed or deleted. >> The value is an alist whose elements have the form (KIND . MARK), >> where KIND is the operation to perform, either `install' or `delete', >> and MARK is a string to indicate that the operation is pending for >> the package. The MARK string should satisfy the requirements of the >> TAG argument of `tabulated-list-put-tag', which see. It is displayed >> in the padding area of the package's line. >> >> Currently, only indicators for installing or deleting a package are >> supported." >> >>> + :type '(list (cons symbol string) >>> + (cons symbol string)) >> >> Can we come up with a meaningful :tag for the value? > > (I haven't check it, but...) is this the type of > `package-menu-marks-indicators'? If so, we shouldn't document the user > option as an Alist. But what other name would be better? Honestly I decided to make this option a list instead of making a separated option for each mark, this is in case there are plans to add more options/marks in the future. --=20 - E.G via GNU Emacs and Org.
bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.Received: (at 78794) by debbugs.gnu.org; 16 Jun 2025 19:13:15 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 16 15:13:15 2025 Received: from localhost ([127.0.0.1]:48831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uRFGY-0005mY-AL for submit <at> debbugs.gnu.org; Mon, 16 Jun 2025 15:13:15 -0400 Received: from mail-oi1-x242.google.com ([2607:f8b0:4864:20::242]:57467) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>) id 1uRFGQ-0005k4-Kf for 78794 <at> debbugs.gnu.org; Mon, 16 Jun 2025 15:13:07 -0400 Received: by mail-oi1-x242.google.com with SMTP id 5614622812f47-407aaace4daso2373437b6e.2 for <78794 <at> debbugs.gnu.org>; Mon, 16 Jun 2025 12:13:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750101176; x=1750705976; darn=debbugs.gnu.org; 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=UyheHMjadSmM0OkgJSazBAspf4LDc0Ev0CsOFgLLJPs=; b=kJYqfdW6pZzbtoFqEEFmt/VFg8oYbeV3Y835wUsPWZ6wpT9lNY6uyIm04tPEs8y3cf ZSZ3b0FsIHgrmkaY4jbrdNDB6LxlrUC24NG7g8GRfkw73X73Igtg/nH4s/upP6ejdAek x0C/iHPbKaL89S+ClYrOKaAXLSlDiXguJajDVnld6Q8MxH++gPAFoeef2yWwWSCZsDVO mUUkt1+g9yMeriPTHHWrnEp8fbI73+dLvUkOdqwVqbJx1Uo0/cf4pS/E1iItF7QML5/l SnJakBOLOkoxgsW5he7NU+SNPBCtQUyf6C/4tpGDqN6yXZVq7oPzUhcpWuSwGq2XJY8n wkFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750101176; x=1750705976; 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=UyheHMjadSmM0OkgJSazBAspf4LDc0Ev0CsOFgLLJPs=; b=e0kV/3VCZ7z3x6nHLHsGF8Jet430SjJvvamoLaS7FWr4bujQiwWUBIXM5Gu5DHFkru KJ3x7aX00yScCaFaXzyFg0e7h7K3+AxAgHWfxqlzSYfonObSEQoLLbpR4+bzWq42biGp 4dPYkX/qYkBgXfU2MnJ+k9uSc1MwuoWfRfpbYYwjcaUGmezXvZEdeP9MDgtDwbTwyocs 4N7/ted1h4yuZb3gom6YZC4GezNkixUB1cpgrkXIbo/l1lTqgwj9EFcdTMfbj9X+vLZZ n5xD9QBjENMSzuNYi8qzIOTuQoulZOhGXLqGrqFcTb7Xqrp5byvgddsca/M9PNx63nXi CKjQ== X-Forwarded-Encrypted: i=1; AJvYcCXxWAzmnD0NL7HJG+YkAouVDg4w7GleIO1tThUkpI/zIpiB6DZzT+2p/6gtgxVbhDlj/0MC4A==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxgLSkXICccTlnq2/pcCKoibmQPFqi+Zk/BYCohba9r5UH6FyEI 0fL5mC5GSFB+JaUgsIFBdTqSfaZCeXT7N1IuMP7965N45n5cJuF+Ab72GWful+0x X-Gm-Gg: ASbGncuUcSSvLFt1TvMg6mD0EyrfOpRmEu4NEHKWW8/n9ri9zcYSICoV69Zd6yqqw1i lGnMYymjdsw6VEUEU8j+pmN1j3X8wy/nKxUuEUwTjU/nOTBv7oUnUSjL5IVilt26XeP7ugXHVPT MQcGQs5e/dOrEOIaLKqUDoQUPpoaAWwXX9QyDKmGwnXT5J8wIrUGBXARN0JrRAcaebUyWLvcw+Q ucYxRJU8LJP52LWT6Ex21iECOrFekfNmFLuUb6jyJb5+yyqldWppJRGvGxyUdbxWclP1yufH3EC J7kcM+eQaoCVWyPraGRLPxm22bx7jyrvBrKObqCB X-Google-Smtp-Source: AGHT+IGcZHHBEF4JQCECscVsOGkSypMtG4NR0yvZjWYnkzOv6LefOKwDZmpqr5RaMD7gyiCedCCC7Q== X-Received: by 2002:a05:6808:190f:b0:3fe:af0b:22f7 with SMTP id 5614622812f47-40a7c10aae4mr6785499b6e.11.1750101176031; Mon, 16 Jun 2025 12:12:56 -0700 (PDT) Received: from fedora ([2806:10ae:e:998c::1]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61108f2f6fdsm932937eaf.35.2025.06.16.12.12.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 12:12:55 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#78794: [PATCH] Pretiffy package-menu In-Reply-To: <86frg0p5bs.fsf@HIDDEN> References: <87plf5iwps.fsf@HIDDEN> <87ikkxiwh9.fsf@HIDDEN> <86bjqpr2gb.fsf@HIDDEN> <87ikkwakwh.fsf@HIDDEN> <86frg0p5bs.fsf@HIDDEN> Date: Mon, 16 Jun 2025 13:12:53 -0600 Message-ID: <87cyb3h556.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 78794 Cc: 78794 <at> debbugs.gnu.org, Philip Kaludercic <philipk@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Eli Zaretskii <eliz@HIDDEN> writes: >> This is enabled by default (I forgot to include it in the NEWS entry). >> The reason why i decided make it an option is because some user >> may find it annoying. > > In what ways could it be annoying? Fine, I've removed the option. >> These faces are not for the mode-line, are for the package-menu buffer, >> specifically for highlight the line where a package was marked for >> install/delete. > > Then I think inverse-video is too radical. I'd suggest to use bold > (if supported) or underline (if supported), with inverse-video being > the last resort. I've changed it to use `highlight` face instead, following Philip suggestion. >> +(defcustom package-menu-marks-indicators >> + '((install . "I") >> + (delete . "D")) >> + "Alist indicators to indicate a package is marked to install or delete. >> +The value of each list must be in the formt: '(KIND . MARK) where KIND >> +is the kind mark performed (`install' or `delete') in package-menu and >> +MARK a string to use for mark the packages. This currently support >> +marks for install and delete." > > This doc string has several grammatical issues, and also lacks some > important information. I suggest to rephrase as follows: > > "Indicators for packages to be installed or deleted. > The value is an alist whose elements have the form (KIND . MARK), > where KIND is the operation to perform, either `install' or `delete', > and MARK is a string to indicate that the operation is pending for > the package. The MARK string should satisfy the requirements of the > TAG argument of `tabulated-list-put-tag', which see. It is displayed > in the padding area of the package's line. > > Currently, only indicators for installing or deleting a package are > supported." Thanks, it sounds better. >> +(defun package-menu--overlay-line (face) >> + "Highlight whole line with face FACE." >> + (let ((ov (make-overlay (line-beginning-position) >> + (1+ (line-end-position))))) >> + (overlay-put ov 'pkg-menu-ov t) >> + (overlay-put ov 'evaporate t) >> + (overlay-put ov 'face face))) > > Does package-menu use other faces in overlays, and if so, should we > consider giving this overlay a non-default priority? AFAIK, there are no other overlays in package-menu. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Pretiffy-package-menu-Bug-78794.patch From a4829091eec260e35c9a67cbe39fb78ea48bd89a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <eg642616@HIDDEN> Date: Thu, 12 Jun 2025 22:23:52 -0600 Subject: [PATCH] Pretiffy package-menu (Bug#78794) Add package-menu mode-line which displays information about: total packages installed, total packages from all the packages archive, total packages to upgrade and total new packages available. Highlight packages marked for installation or deletion. And allow customize package-menu marks. * etc/NEWS: Announce changes. * lisp/emacs-lisp/package.el (package-menu-mode): Add package-menu mode-line format to 'mode-line-misc-info'. (package-mark-install-line, package-mark-delete-line): New faces. (package-menu-marks-indicators): New user options. (package-menu--overlay-line, package-menu--remove-overlay) (package-menu--set-mode-line-format): New functions. (package-menu-mark-delete, package-menu-mark-install) (package-menu-mark-unmark, package-menu-backup-unmark) (package-menu-mark-obsolete-for-deletion): Tweak for set/unset the overlays. (package-menu-mode-line-format, package-menu-mode-line-info): New buffer-local variables. (list-packages): Add 'package-menu--set-mode-line-format' to 'package--post-download-archives-hook'. --- etc/NEWS | 7 ++ lisp/emacs-lisp/package.el | 132 ++++++++++++++++++++++++++++++++++++- 2 files changed, 136 insertions(+), 3 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 0c66ac38105..4b728075dbf 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1900,6 +1900,13 @@ the command will only copy those files. +++ *** package-x.el is now obsolete. +--- +*** New user option 'package-menu-marks-indicators'. +This option controls the kind of mark string to use in package-menu-mark +commands. + +--- +*** Package-menu now highlights packages marked for installation or deletion. ** RCIRC diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 82fcf439a11..5633ed1bdb5 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -3236,6 +3236,10 @@ package-menu-mode (setq mode-line-process '((package--downloads-in-progress ":Loading") (package-menu--transaction-status package-menu--transaction-status))) + (setq-local mode-line-misc-info + (append + mode-line-misc-info + package-menu-mode-line-format)) (setq tabulated-list-format `[("Package" ,package-name-column-width package-menu--name-predicate) ("Version" ,package-version-column-width package-menu--version-predicate) @@ -3642,6 +3646,24 @@ package-status-avail-obso "Face used on the status and version of avail-obso packages." :version "25.1") +(defface package-mark-install-line + '((((class color) (background light)) + :background "darkolivegreen1" :extend t) + (((class color) (background dark)) + :background "seagreen" :extend t) + (t :inherit (highlight) :extend t)) + "Face used for highlight the line where a package is marked to install." + :version "31.1") + +(defface package-mark-delete-line + '((((class color) (background light)) + :background "rosybrown1" :extend t) + (((class color) (background dark)) + :background "indianred4" :extend t) + (t :inherit (highlight) :extend t)) + "Face used for highlight the line where a package is marked to delete." + :version "31.1") + ;;; Package menu printing @@ -3702,6 +3724,37 @@ package-menu--refresh-contents (package-refresh-contents package-menu-async)) (define-obsolete-function-alias 'package-menu-refresh 'revert-buffer "27.1") +(defcustom package-menu-marks-indicators + '((install . "I") + (delete . "D")) + "Indicators for packages to be installed or deleted. +The value is an alist whose elements have the form (KIND . MARK), +where KIND is the operation to perform, either `install' or `delete', +and MARK is a string to indicate that the operation is pending for +the package. The MARK string should satisfy the requirements of the +TAG argument of `tabulated-list-put-tag', which see. It is displayed +in the padding area of the package's line. + +Currently, only indicators for installing or deleting a package are +supported." + :type '(list (cons :tag "Install mark indicator" symbol string) + (cons :tag "Delete mark indicator" symbol string)) + :version "31.1") + +(defun package-menu--overlay-line (face) + "Highlight whole line with face FACE." + (let ((ov (make-overlay (line-beginning-position) + (1+ (line-end-position))))) + (overlay-put ov 'pkg-menu-ov t) + (overlay-put ov 'evaporate t) + (overlay-put ov 'face face))) + +(defun package-menu--remove-overlay () + "Remove all overlays done by `package-menu--overlay-line' in current line." + (remove-overlays (line-beginning-position) + (1+ (line-end-position)) + 'pkg-menu-ov t)) + (defun package-menu-hide-package () "Hide in Package Menu packages that match a regexp. Prompt for the regexp to match against package names. @@ -3757,7 +3810,9 @@ package-menu-mark-delete (package--ensure-package-menu-mode) (if (member (package-menu-get-status) '("installed" "source" "dependency" "obsolete" "unsigned")) - (tabulated-list-put-tag "D" t) + (progn (package-menu--overlay-line 'package-mark-delete-line) + (tabulated-list-put-tag + (alist-get 'delete package-menu-marks-indicators) t)) (forward-line))) (defun package-menu-mark-install (&optional _num) @@ -3766,7 +3821,9 @@ package-menu-mark-install (interactive "p" package-menu-mode) (package--ensure-package-menu-mode) (if (member (package-menu-get-status) '("available" "avail-obso" "new" "dependency")) - (tabulated-list-put-tag "I" t) + (progn (package-menu--overlay-line 'package-mark-install-line) + (tabulated-list-put-tag + (alist-get 'install package-menu-marks-indicators) t)) (forward-line))) (defun package-menu-mark-unmark (&optional _num) @@ -3774,6 +3831,7 @@ package-menu-mark-unmark The current package is the package at point." (interactive "p" package-menu-mode) (package--ensure-package-menu-mode) + (package-menu--remove-overlay) (tabulated-list-put-tag " " t)) (defun package-menu-backup-unmark () @@ -3781,6 +3839,7 @@ package-menu-backup-unmark (interactive nil package-menu-mode) (package--ensure-package-menu-mode) (forward-line -1) + (package-menu--remove-overlay) (tabulated-list-put-tag " ")) (defun package-menu-mark-obsolete-for-deletion () @@ -3791,7 +3850,9 @@ package-menu-mark-obsolete-for-deletion (goto-char (point-min)) (while (not (eobp)) (if (equal (package-menu-get-status) "obsolete") - (tabulated-list-put-tag "D" t) + (progn (package-menu--overlay-line 'package-mark-delete-line) + (tabulated-list-put-tag + (alist-get 'delete package-menu-marks-indicators) t)) (forward-line 1))))) (defvar package--quick-help-keys @@ -4207,6 +4268,69 @@ package-menu--mark-or-notify-upgrades (package-menu--mark-upgrades-1) (package-menu--find-and-notify-upgrades)))))) +;; Mode-line +(defconst package-menu-mode-line-format + '((package-menu-mode-line-info + (:eval (symbol-value 'package-menu-mode-line-info))))) + +(defvar-local package-menu-mode-line-info nil + "Variable which stores package-menu mode-line format.") + +(defun package-menu--set-mode-line-format () + "Display package-menu mode-line." + (when-let* ((buf (get-buffer "*Packages*")) + ((buffer-live-p buf))) + (with-current-buffer buf + (setq package-menu-mode-line-info + (let ((installed 0) + (new 0) + (total (length package-archive-contents)) + (to-upgrade (length (package-menu--find-upgrades))) + (total-help "Total number of packages of all package archives") + (installed-help "Total number of packages installed") + (upgrade-help "Total number of packages to upgrade") + (new-help "Total number of new packages available")) + + (save-excursion + (goto-char (point-min)) + (while (not (eobp)) + (let ((status (package-menu-get-status))) + (cond + ((member status + '("installed" "dependency" "unsigned")) + (setq installed (1+ installed))) + ((equal status "new") + (setq new (1+ new))))) + (forward-line))) + + (setq installed (number-to-string installed)) + (setq total (number-to-string total)) + (setq to-upgrade (number-to-string to-upgrade)) + (setq new (number-to-string new)) + + (list + "[" + (propertize "Total: " 'help-echo total-help) + (propertize total + 'help-echo total-help + 'face 'font-lock-keyword-face) + " / " + (propertize "Installed: " 'help-echo installed-help) + (propertize installed + 'help-echo installed-help + 'face 'package-status-installed) + " / " + (propertize "To Upgrade: " 'help-echo upgrade-help) + (propertize to-upgrade + 'help-echo upgrade-help + 'face 'font-lock-keyword-face) + " / " + (propertize "New: " 'help-echo new-help) + (propertize new + 'help-echo new-help + 'face 'package-status-new) + "] ")))))) + ;;;###autoload (defun list-packages (&optional no-fetch) "Display a list of packages. @@ -4225,6 +4349,8 @@ list-packages #'package-menu--post-refresh) (add-hook 'package--post-download-archives-hook #'package-menu--mark-or-notify-upgrades 'append) + (add-hook 'package--post-download-archives-hook + #'package-menu--set-mode-line-format 'append) ;; Generate the Package Menu. (let ((buf (get-buffer-create "*Packages*"))) -- 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.Received: (at 78794) by debbugs.gnu.org; 16 Jun 2025 12:47:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 16 08:47:26 2025 Received: from localhost ([127.0.0.1]:44233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uR9FE-0005PG-Gb for submit <at> debbugs.gnu.org; Mon, 16 Jun 2025 08:47:26 -0400 Received: from mout02.posteo.de ([185.67.36.66]:60605) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1uR9F8-0005N9-Gq for 78794 <at> debbugs.gnu.org; Mon, 16 Jun 2025 08:47:20 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id D697B240103 for <78794 <at> debbugs.gnu.org>; Mon, 16 Jun 2025 14:47:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=1984.ea087b; t=1750078031; bh=AVYbNWHYa3yCMWvVL2QCC/if+VyoCWgfkN5aNs2o58U=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:Content-Transfer-Encoding:From; b=PjLkZi9DOJiArF0lh0g/sx89Dto7gUIcsgeqMaliThL0svhqhLGGSh3X7MQBQGgdX Sj2SsX3EixSmg5GTWQo0n5m2EsXYff0kA5pwdkiq4MvCgTf8deSA36Dh50b+w2xlw6 Y/zbHtspmoaFpezO3wKOhQiJGSicA5wwdGIQONtgIJSlKPVHs6J+s7lh5NvCWkzYMR fm+tAuMPY6WPbiAuC/Hy8BsHgYFrPRJGYWPj8+4av2c4vexYFpchVrbw6Pv/i0H//e 9YEYgNm7p6GNP3prC8tA7YA2RCld67ckXvL892YKRxyKmJ/uPPvswB596ccVCXDn+Z RkqZRF/u0OS3KO111BaLSiIo7NjHLbFhIn+pRuMfjeD4VwerbDX7rdX852G/ZjGbae i/MsL44nT6aJOl2EaJkrGa2WCbwf+Aa7pdQOyQmsI0vzUzwMkNBCNrrPRiZfPwgHdG PUzPIVJKWrfWW+VdKB5uD3V5oDuYGOjcfRsuX1H/2CmOPszHsqp Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4bLVBl1CLfz9rxN; Mon, 16 Jun 2025 14:47:11 +0200 (CEST) From: Philip Kaludercic <philipk@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#78794: [PATCH] Pretiffy package-menu In-Reply-To: <86frg0p5bs.fsf@HIDDEN> References: <87plf5iwps.fsf@HIDDEN> <87ikkxiwh9.fsf@HIDDEN> <86bjqpr2gb.fsf@HIDDEN> <87ikkwakwh.fsf@HIDDEN> <86frg0p5bs.fsf@HIDDEN> Autocrypt: addr=philipk@HIDDEN; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=philipk@HIDDEN; url="https://keys.openpgp.org/vks/v1/by-email/philipk@HIDDEN"; preference=signencrypt Date: Mon, 16 Jun 2025 12:47:10 +0000 Message-ID: <87ecvjetv5.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78794 Cc: 78794 <at> debbugs.gnu.org, Elijah Gabe =?utf-8?Q?P=C3=A9rez?= <eg642616@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Eli Zaretskii <eliz@HIDDEN> writes: >> From: Elijah Gabe P=C3=A9rez <eg642616@HIDDEN> >> Cc: 78794 <at> debbugs.gnu.org >> Date: Sun, 15 Jun 2025 13:02:06 -0600 >>=20 >> >> +*** New user option 'package-menu-mode-line'. >> >> +If non-nil, package-menu will display additional information about T= otal >> >> +packages installed, Total packages from all the package archives, To= tal >> >> +packages to upgrade and Total new packages available. >> > >> > Any reason not to have this by default, and drop the option? >>=20 >> This is enabled by default (I forgot to include it in the NEWS entry). >> The reason why i decided make it an option is because some user >> may find it annoying. > > In what ways could it be annoying? > > Philip, do you see any reason to make this customizable with a boolean > variable, and not via the usual mode-line customizations? Will many > users want to remove this new information? I agree that it doesn't seem like something that should be too annoying. From the description, it reminds me of Flymake, that also displays the number of warnings and errors by default. I haven't heard frequent complaints about that. >> >> +(defface package-mark-install-line >> >> + '((((class color) (min-colors 88) (background light)) >> >> + :background "darkolivegreen1" :extend t) >> >> + (((class color) (min-colors 88) (background dark)) >> >> + :background "seagreen" :extend t) >> >> + (((class color) (min-colors 8)) >> >> + :background "green" :foreground "white" :extend t) >> > >> > If tty-color translation produces "green" from the two green shades >> > you define for 88+ color displays, then the last part is not needed. >>=20 >> Fine. >>=20 >> >> + (t :inverse-video t :extend t)) >> > >> > Isn't the mode line shown in inverse video by default in monochrome >> > case? If so, this is not needed, either. >>=20 >> These faces are not for the mode-line, are for the package-menu buffer, >> specifically for highlight the line where a package was marked for >> install/delete. > > Then I think inverse-video is too radical. I'd suggest to use bold > (if supported) or underline (if supported), with inverse-video being > the last resort. I would use the `highlight' face. We could also add a semantic "selection". >> +(defface package-mark-install-line >> + '((((class color) (min-colors 88) (background light)) >> + :background "darkolivegreen1" :extend t) >> + (((class color) (min-colors 88) (background dark)) >> + :background "seagreen" :extend t) >> + (t :inverse-video t :extend t)) > > This will cause any display with fewer than 88 colors use the > inverse-video alternative. I suggest to remove the min-colors > requirement, since it isn't needed. > >> +(defface package-mark-delete-line >> + '((((class color) (min-colors 88) (background light)) >> + :background "rosybrown1" :extend t) >> + (((class color) (min-colors 88) (background dark)) >> + :background "indianred4" :extend t) >> + (t :inverse-video t :extend t)) > > Likewise. > >> +(defcustom package-menu-marks-indicators >> + '((install . "I") >> + (delete . "D")) >> + "Alist indicators to indicate a package is marked to install or delet= e. >> +The value of each list must be in the formt: '(KIND . MARK) where KIND >> +is the kind mark performed (`install' or `delete') in package-menu and >> +MARK a string to use for mark the packages. This currently support >> +marks for install and delete." What is the reason we would want to customise this in the first place? > > This doc string has several grammatical issues, and also lacks some > important information. I suggest to rephrase as follows: > > "Indicators for packages to be installed or deleted. > The value is an alist whose elements have the form (KIND . MARK), > where KIND is the operation to perform, either `install' or `delete', > and MARK is a string to indicate that the operation is pending for > the package. The MARK string should satisfy the requirements of the > TAG argument of `tabulated-list-put-tag', which see. It is displayed > in the padding area of the package's line. > > Currently, only indicators for installing or deleting a package are > supported." > >> + :type '(list (cons symbol string) >> + (cons symbol string)) > > Can we come up with a meaningful :tag for the value? (I haven't check it, but...) is this the type of `package-menu-marks-indicators'? If so, we shouldn't document the user option as an Alist. >> +(defun package-menu--overlay-line (face) >> + "Highlight whole line with face FACE." >> + (let ((ov (make-overlay (line-beginning-position) >> + (1+ (line-end-position))))) >> + (overlay-put ov 'pkg-menu-ov t) >> + (overlay-put ov 'evaporate t) >> + (overlay-put ov 'face face))) > > Does package-menu use other faces in overlays, and if so, should we > consider giving this overlay a non-default priority? From a quick search, we don't appear to use any overlays in package.el. >> + (total-help "Total packages of all package archives") >> + (installed-help "Total packages installed") >> + (upgrade-help "Total packages to upgrade") >> + (new-help "Total new packages available")) > > Please use "Total number of SOMETHING" in these help strings. > Otherwise, it is not immediately clear what "Total" refers to. 1+
bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.Received: (at 78794) by debbugs.gnu.org; 16 Jun 2025 06:29:40 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 16 02:29:40 2025 Received: from localhost ([127.0.0.1]:40135 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uR3Lg-0004PF-2f for submit <at> debbugs.gnu.org; Mon, 16 Jun 2025 02:29:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53018) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uR3Ld-0004OP-Qn for 78794 <at> debbugs.gnu.org; Mon, 16 Jun 2025 02:29:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1uR3LX-0004Fk-Fg; Mon, 16 Jun 2025 02:29:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=EajsUjBj1FYuZ8u15Mioxk97Pjes4l0qlTyJ17IR4I0=; b=bw51zlEjfs5LF10tzvTG UB5Lk2XNai2U1Q6ChneulRm+t85WxEnvScQF4ofvRH3QA6RnsoIOMy55ga2AXz/sh0/I+g64sbMjp b7wM3crHcICyhnkmeBOSAhfkADSKyY2YafRMhmOZdEAWIh6YE+oeNVVq8owVLsA6fHh4F2l/BOL/4 bpABbGY8UlVBZAb3Z4ZlSOdOIjr37dHgody3Yk6DpUL2//ZtbE6+TGIOvAETRhgm96qsRhEMJiEcP HQHzFRk++cEc7dW1Rjy4YvopfOVU4jgBBfv7blYVhDsFbO6JZwXoD9QjsLPQFW/VjMrG6GG0txKc0 8osqtiLpvo1ExQ==; Date: Mon, 16 Jun 2025 09:29:27 +0300 Message-Id: <86frg0p5bs.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= <eg642616@HIDDEN>, Philip Kaludercic <philipk@HIDDEN> In-Reply-To: <87ikkwakwh.fsf@HIDDEN> (message from Elijah Gabe =?utf-8?Q?P=C3=A9rez?= on Sun, 15 Jun 2025 13:02:06 -0600) Subject: Re: bug#78794: [PATCH] Pretiffy package-menu References: <87plf5iwps.fsf@HIDDEN> <87ikkxiwh9.fsf@HIDDEN> <86bjqpr2gb.fsf@HIDDEN> <87ikkwakwh.fsf@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78794 Cc: 78794 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Elijah Gabe Pérez <eg642616@HIDDEN> > Cc: 78794 <at> debbugs.gnu.org > Date: Sun, 15 Jun 2025 13:02:06 -0600 > > >> +*** New user option 'package-menu-mode-line'. > >> +If non-nil, package-menu will display additional information about Total > >> +packages installed, Total packages from all the package archives, Total > >> +packages to upgrade and Total new packages available. > > > > Any reason not to have this by default, and drop the option? > > This is enabled by default (I forgot to include it in the NEWS entry). > The reason why i decided make it an option is because some user > may find it annoying. In what ways could it be annoying? Philip, do you see any reason to make this customizable with a boolean variable, and not via the usual mode-line customizations? Will many users want to remove this new information? > >> +(defface package-mark-install-line > >> + '((((class color) (min-colors 88) (background light)) > >> + :background "darkolivegreen1" :extend t) > >> + (((class color) (min-colors 88) (background dark)) > >> + :background "seagreen" :extend t) > >> + (((class color) (min-colors 8)) > >> + :background "green" :foreground "white" :extend t) > > > > If tty-color translation produces "green" from the two green shades > > you define for 88+ color displays, then the last part is not needed. > > Fine. > > >> + (t :inverse-video t :extend t)) > > > > Isn't the mode line shown in inverse video by default in monochrome > > case? If so, this is not needed, either. > > These faces are not for the mode-line, are for the package-menu buffer, > specifically for highlight the line where a package was marked for > install/delete. Then I think inverse-video is too radical. I'd suggest to use bold (if supported) or underline (if supported), with inverse-video being the last resort. > +(defface package-mark-install-line > + '((((class color) (min-colors 88) (background light)) > + :background "darkolivegreen1" :extend t) > + (((class color) (min-colors 88) (background dark)) > + :background "seagreen" :extend t) > + (t :inverse-video t :extend t)) This will cause any display with fewer than 88 colors use the inverse-video alternative. I suggest to remove the min-colors requirement, since it isn't needed. > +(defface package-mark-delete-line > + '((((class color) (min-colors 88) (background light)) > + :background "rosybrown1" :extend t) > + (((class color) (min-colors 88) (background dark)) > + :background "indianred4" :extend t) > + (t :inverse-video t :extend t)) Likewise. > +(defcustom package-menu-marks-indicators > + '((install . "I") > + (delete . "D")) > + "Alist indicators to indicate a package is marked to install or delete. > +The value of each list must be in the formt: '(KIND . MARK) where KIND > +is the kind mark performed (`install' or `delete') in package-menu and > +MARK a string to use for mark the packages. This currently support > +marks for install and delete." This doc string has several grammatical issues, and also lacks some important information. I suggest to rephrase as follows: "Indicators for packages to be installed or deleted. The value is an alist whose elements have the form (KIND . MARK), where KIND is the operation to perform, either `install' or `delete', and MARK is a string to indicate that the operation is pending for the package. The MARK string should satisfy the requirements of the TAG argument of `tabulated-list-put-tag', which see. It is displayed in the padding area of the package's line. Currently, only indicators for installing or deleting a package are supported." > + :type '(list (cons symbol string) > + (cons symbol string)) Can we come up with a meaningful :tag for the value? > +(defun package-menu--overlay-line (face) > + "Highlight whole line with face FACE." > + (let ((ov (make-overlay (line-beginning-position) > + (1+ (line-end-position))))) > + (overlay-put ov 'pkg-menu-ov t) > + (overlay-put ov 'evaporate t) > + (overlay-put ov 'face face))) Does package-menu use other faces in overlays, and if so, should we consider giving this overlay a non-default priority? > + (total-help "Total packages of all package archives") > + (installed-help "Total packages installed") > + (upgrade-help "Total packages to upgrade") > + (new-help "Total new packages available")) Please use "Total number of SOMETHING" in these help strings. Otherwise, it is not immediately clear what "Total" refers to.
bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.Received: (at 78794) by debbugs.gnu.org; 15 Jun 2025 19:02:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 15 15:02:19 2025 Received: from localhost ([127.0.0.1]:60785 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uQscU-0003qR-Ip for submit <at> debbugs.gnu.org; Sun, 15 Jun 2025 15:02:19 -0400 Received: from mail-oi1-x243.google.com ([2607:f8b0:4864:20::243]:57675) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>) id 1uQscR-0003po-OZ for 78794 <at> debbugs.gnu.org; Sun, 15 Jun 2025 15:02:16 -0400 Received: by mail-oi1-x243.google.com with SMTP id 5614622812f47-40a4bf1eb0dso2150855b6e.3 for <78794 <at> debbugs.gnu.org>; Sun, 15 Jun 2025 12:02:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750014129; x=1750618929; darn=debbugs.gnu.org; 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=lE028lR7wIdvBjDH0ApELmOZyTD328/Vzuvck9elJQw=; b=nNIo4nGMdIAsIeeKKbmT1ovApgEc/wVCMw57qI3zpi3oLYePqZeeR6uQShjh2O7LCC vsm29mNk7bALAsAHJslSNwOydGak/G6nQhN8sAqLhQk7/NKebnvxhgeGLcdpvOuN0lru lGPmM6j0weDd3wziezHCdm2qMjCrBU3vT87+z3nnnFidX9GqHG0LeKCRZDfwcnGz+KdR Bzlz9L/X0k/dTrtlI3V2gCpVAyEwT73kXm7gep6TTzF2VINn0wCfGgJUJPqoJubGQcbv 6NGSYkJv63Yfrtrln8YwNPQkDUzRmBhBnu71k7pc+o8exx43NWQq/1m0twgkb9cBg8A1 Nqng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750014129; x=1750618929; 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=lE028lR7wIdvBjDH0ApELmOZyTD328/Vzuvck9elJQw=; b=K1LGoL/zdphB+mMX5CN8Y1cMdW9JXW+m/dJW8pGevfTfMLngbi5z6ocf746tZHMjQq Xj2E/nJ/aMf1Ix5Ra1adsb9WcOVoQ26LwZDgW8PxYPssCbyy1kNfP70geAE15ZdjYqB0 HkIBYAUdAie5xy9m/fZkE+lbShzVlpIq2lw/A9Wi1UOMDi5HY9aWqAyEcmrBYz7kN480 kXSJNnBPOuTzDcA1v3Bq31E1dvcd89o5i4oQqcwCMNE1qG8N8M5Gpm8XoUPsSgOfj6jV peuQZ6a8qH1apFHEh+n6N7h3dV8E2vh8Fjmtq051Hu4G4ksUXzUqvc6ACIcyWhDc8T58 GTHw== X-Gm-Message-State: AOJu0Yxh1/ssT3Ga6jtKnldKZVLF2q6AGsd5OcBDv+7vP8zWsfyb0lSq 0cBRuY3nEChsTXKYwJVK6YOEh2X+LrIPX21DVRiFA6yoZPUv1oqLw+jCL/kX4iD7 X-Gm-Gg: ASbGncska3tLBF2hTX7ztW7ptcbhQ9GbrwJpPEOFnkCwz20BQG178YcewoyKfkJ5nuw C1TSeDHJZysUgAM6YdZAE1OIxxU2fLTeRFn1twY3EFSpeAgD3qiH/lcczpY1g5jpQ15Pr6v+Rvm 98v4K+g4HBj3Q83AfG2qLLly5VHR21Y/y1Y/Eqx4xCA0GR7N+EqcbbFyFonxsMmPOCDdtHeYvOx ShYpKN/Mea1TqunSFVlKb0NINVOkVY8dCstwCzmYeUOWK3debBdmR+NpnKCXxsibuDBwKBBQhtq XICRxuf2heX9FFXX2JKukD+qHNQWDg== X-Google-Smtp-Source: AGHT+IGmlIcejDsD+bGJ14MjLKY/ICbZPawa4fPgL5ixfoPVXDZDTWrJ3WWdjg5Id7xlkgAA0W1ojQ== X-Received: by 2002:a05:6808:60f:b0:406:6a36:230c with SMTP id 5614622812f47-40a7c166902mr3497603b6e.19.1750014128644; Sun, 15 Jun 2025 12:02:08 -0700 (PDT) Received: from fedora ([2806:10ae:e:8d2b::1]) by smtp.gmail.com with ESMTPSA id 5614622812f47-40a74172cb3sm1176241b6e.25.2025.06.15.12.02.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Jun 2025 12:02:07 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#78794: [PATCH] Pretiffy package-menu In-Reply-To: <86bjqpr2gb.fsf@HIDDEN> References: <87plf5iwps.fsf@HIDDEN> <87ikkxiwh9.fsf@HIDDEN> <86bjqpr2gb.fsf@HIDDEN> Date: Sun, 15 Jun 2025 13:02:06 -0600 Message-ID: <87ikkwakwh.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 78794 Cc: 78794 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Eli Zaretskii <eliz@HIDDEN> writes: >> From: Elijah Gabe P=C3=A9rez <eg642616@HIDDEN> >> Date: Sat, 14 Jun 2025 20:12:34 -0600 >>=20 >> +--- >> +*** New user option 'package-menu-mode-line'. >> +If non-nil, package-menu will display additional information about Total >> +packages installed, Total packages from all the package archives, Total >> +packages to upgrade and Total new packages available. > > Any reason not to have this by default, and drop the option? This is enabled by default (I forgot to include it in the NEWS entry). The reason why i decided make it an option is because some user may find it annoying. >> +(defface package-mark-install-line >> + '((((class color) (min-colors 88) (background light)) >> + :background "darkolivegreen1" :extend t) >> + (((class color) (min-colors 88) (background dark)) >> + :background "seagreen" :extend t) >> + (((class color) (min-colors 8)) >> + :background "green" :foreground "white" :extend t) > > If tty-color translation produces "green" from the two green shades > you define for 88+ color displays, then the last part is not needed. Fine. >> + (t :inverse-video t :extend t)) > > Isn't the mode line shown in inverse video by default in monochrome > case? If so, this is not needed, either. These faces are not for the mode-line, are for the package-menu buffer, specifically for highlight the line where a package was marked for install/delete. >> +(define-fringe-bitmap >> + 'package-menu-install >> + (vector >> + #b000000 >> + #b001100 >> + #b001100 >> + #b111111 >> + #b111111 >> + #b001100 >> + #b001100 >> + #b000000) >> + nil nil 'center) >> + >> +(define-fringe-bitmap >> + 'package-menu-delete >> + (vector >> + #b000000 >> + #b000000 >> + #b000000 >> + #b111111 >> + #b111111 >> + #b000000 >> + #b000000 >> + #b000000) >> + nil nil 'center) > > Both colors _and_ fringe markers? Isn't than too much? Well, I don't know what others say about this, the fringes were originally intended as an alternative to the "I" and "D" marks. Anyways I've added a better alternative to fringes. >> +;; Mode-line >> +(defcustom package-menu-mode-line t >> + "If non-nil, package-menu will display additional information in mode= -line. >> +package-menu mode-line information includes: Total packages installed, >> +Total packages from all the packages archive, Total packages to upgrade >> +and Total new packages available." > > Capitalization is wrong here: the last sentence should start with a > capital letter, whereas the "Total something" parts should not be > capitalized. Thanks, fixed. >> + ;; XXX: Add a efficient way for set these variables (?) > > What about this part? Oh, that was temporal, I was supposed to remove it before making the patch. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Pretiffy-package-menu-Bug-78794.patch From b3e8b4471894948f44cfee61a0b5f9c9b9753ead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <eg642616@HIDDEN> Date: Thu, 12 Jun 2025 22:23:52 -0600 Subject: [PATCH] Pretiffy package-menu (Bug#78794) Add package-menu mode-line which displays information about: total packages installed, total packages from all the packages archive, total packages to upgrade and total new packages available. Highlight packages marked for installation or deletion. And allow customize package-menu marks. * lisp/emacs-lisp/package.el (package-menu-mode): Add package-menu mode-line format to 'mode-line-misc-info' (package-mark-install-line, package-mark-delete-line): New faces. (package-menu-install, package-menu-delete): Tweak for add overlays. (package-menu--overlay-line): New function. (package-menu-mode-line package-menu-marks-indicators): New user options. (package-menu-mode-line-format, package-menu-mode-line-info): New buffer-local variables. (list-packages): Add 'package-menu-mode-line-format' to 'package--post-download-archives-hook'. * etc/NEWS: Announce changes. --- etc/NEWS | 15 +++++ lisp/emacs-lisp/package.el | 135 ++++++++++++++++++++++++++++++++++++- 2 files changed, 147 insertions(+), 3 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index edfd7f20f18..4d272ce1999 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1837,6 +1837,21 @@ the command will only copy those files. +++ *** package-x.el is now obsolete. +--- +*** New user option 'package-menu-mode-line'. +If non-nil, package-menu will display additional information in +mode-line about total packages installed, total packages from all the +package archives, total packages to upgrade and total new packages +available. By default this is enabled. + +--- +*** New user option 'package-menu-marks-indicators'. +This option controls the kind of mark string to use in package-menu-mark +commands. + +--- +*** Package-menu now highlights packages marked for installation or deletion. + ** Xref --- diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 82fcf439a11..54a909df408 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -3236,6 +3236,10 @@ package-menu-mode (setq mode-line-process '((package--downloads-in-progress ":Loading") (package-menu--transaction-status package-menu--transaction-status))) + (setq-local mode-line-misc-info + (append + mode-line-misc-info + package-menu-mode-line-format)) (setq tabulated-list-format `[("Package" ,package-name-column-width package-menu--name-predicate) ("Version" ,package-version-column-width package-menu--version-predicate) @@ -3642,6 +3646,24 @@ package-status-avail-obso "Face used on the status and version of avail-obso packages." :version "25.1") +(defface package-mark-install-line + '((((class color) (min-colors 88) (background light)) + :background "darkolivegreen1" :extend t) + (((class color) (min-colors 88) (background dark)) + :background "seagreen" :extend t) + (t :inverse-video t :extend t)) + "Face used for highlight the line where a package is marked to install." + :version "31.1") + +(defface package-mark-delete-line + '((((class color) (min-colors 88) (background light)) + :background "rosybrown1" :extend t) + (((class color) (min-colors 88) (background dark)) + :background "indianred4" :extend t) + (t :inverse-video t :extend t)) + "Face used for highlight the line where a package is marked to delete." + :version "31.1") + ;;; Package menu printing @@ -3702,6 +3724,32 @@ package-menu--refresh-contents (package-refresh-contents package-menu-async)) (define-obsolete-function-alias 'package-menu-refresh 'revert-buffer "27.1") +(defcustom package-menu-marks-indicators + '((install . "I") + (delete . "D")) + "Alist indicators to indicate a package is marked to install or delete. +The value of each list must be in the formt: '(KIND . MARK) where KIND +is the kind mark performed (`install' or `delete') in package-menu and +MARK a string to use for mark the packages. This currently support +marks for install and delete." + :type '(list (cons symbol string) + (cons symbol string)) + :version "31.1") + +(defun package-menu--overlay-line (face) + "Highlight whole line with face FACE." + (let ((ov (make-overlay (line-beginning-position) + (1+ (line-end-position))))) + (overlay-put ov 'pkg-menu-ov t) + (overlay-put ov 'evaporate t) + (overlay-put ov 'face face))) + +(defun package-menu--remove-overlay () + "Remove all overlays done by `package-menu--overlay-line' in current line." + (remove-overlays (line-beginning-position) + (1+ (line-end-position)) + 'pkg-menu-ov t)) + (defun package-menu-hide-package () "Hide in Package Menu packages that match a regexp. Prompt for the regexp to match against package names. @@ -3757,7 +3805,9 @@ package-menu-mark-delete (package--ensure-package-menu-mode) (if (member (package-menu-get-status) '("installed" "source" "dependency" "obsolete" "unsigned")) - (tabulated-list-put-tag "D" t) + (progn (package-menu--overlay-line 'package-mark-delete-line) + (tabulated-list-put-tag + (alist-get 'delete package-menu-marks-indicators) t)) (forward-line))) (defun package-menu-mark-install (&optional _num) @@ -3766,7 +3816,9 @@ package-menu-mark-install (interactive "p" package-menu-mode) (package--ensure-package-menu-mode) (if (member (package-menu-get-status) '("available" "avail-obso" "new" "dependency")) - (tabulated-list-put-tag "I" t) + (progn (package-menu--overlay-line 'package-mark-install-line) + (tabulated-list-put-tag + (alist-get 'install package-menu-marks-indicators) t)) (forward-line))) (defun package-menu-mark-unmark (&optional _num) @@ -3774,6 +3826,7 @@ package-menu-mark-unmark The current package is the package at point." (interactive "p" package-menu-mode) (package--ensure-package-menu-mode) + (package-menu--remove-overlay) (tabulated-list-put-tag " " t)) (defun package-menu-backup-unmark () @@ -3781,6 +3834,7 @@ package-menu-backup-unmark (interactive nil package-menu-mode) (package--ensure-package-menu-mode) (forward-line -1) + (package-menu--remove-overlay) (tabulated-list-put-tag " ")) (defun package-menu-mark-obsolete-for-deletion () @@ -3791,7 +3845,9 @@ package-menu-mark-obsolete-for-deletion (goto-char (point-min)) (while (not (eobp)) (if (equal (package-menu-get-status) "obsolete") - (tabulated-list-put-tag "D" t) + (progn (package-menu--overlay-line 'package-mark-delete-line) + (tabulated-list-put-tag + (alist-get 'delete package-menu-marks-indicators) t)) (forward-line 1))))) (defvar package--quick-help-keys @@ -4207,6 +4263,77 @@ package-menu--mark-or-notify-upgrades (package-menu--mark-upgrades-1) (package-menu--find-and-notify-upgrades)))))) +;; Mode-line +(defcustom package-menu-mode-line t + "If non-nil, package-menu will display additional information in mode-line. +Package-menu mode-line information includes: total packages installed, +total packages from all the packages archive, total packages to upgrade +and total new packages available." + :type 'boolean + :version "31.1") + +(defconst package-menu-mode-line-format + '((package-menu-mode-line + (:eval (when package-menu-mode-line-info + (symbol-value 'package-menu-mode-line-info)))))) + +(defvar-local package-menu-mode-line-info nil + "Variable which stores package-menu mode-line format.") + +(defun package-menu-mode-line-format () + "Display package-menu mode-line." + (when-let* (package-menu-mode-line + (buf (get-buffer "*Packages*")) + ((buffer-live-p buf))) + (with-current-buffer buf + (setq package-menu-mode-line-info + (let ((installed 0) + (new 0) + (total (length package-archive-contents)) + (to-upgrade (length (package-menu--find-upgrades))) + (total-help "Total packages of all package archives") + (installed-help "Total packages installed") + (upgrade-help "Total packages to upgrade") + (new-help "Total new packages available")) + (save-excursion + (goto-char (point-min)) + (while (not (eobp)) + (cond + ((member (package-menu-get-status) + '("installed" "dependency" "unsigned")) + (setq installed (1+ installed))) + ((equal (package-menu-get-status) "new") + (setq new (1+ new)))) + (forward-line))) + + (setq installed (number-to-string installed)) + (setq total (number-to-string total)) + (setq to-upgrade (number-to-string to-upgrade)) + (setq new (number-to-string new)) + + (list + "[" + (propertize "Total: " 'help-echo total-help) + (propertize total + 'help-echo total-help + 'face 'font-lock-keyword-face) + " / " + (propertize "Installed: " 'help-echo installed-help) + (propertize installed + 'help-echo installed-help + 'face 'package-status-installed) + " / " + (propertize "To Upgrade: " 'help-echo upgrade-help) + (propertize to-upgrade + 'help-echo upgrade-help + 'face 'font-lock-keyword-face) + " / " + (propertize "New: " 'help-echo new-help) + (propertize new + 'help-echo new-help + 'face 'package-status-new) + "] ")))))) + ;;;###autoload (defun list-packages (&optional no-fetch) "Display a list of packages. @@ -4225,6 +4352,8 @@ list-packages #'package-menu--post-refresh) (add-hook 'package--post-download-archives-hook #'package-menu--mark-or-notify-upgrades 'append) + (add-hook 'package--post-download-archives-hook + #'package-menu-mode-line-format 'append) ;; Generate the Package Menu. (let ((buf (get-buffer-create "*Packages*"))) -- 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.Received: (at 78794) by debbugs.gnu.org; 15 Jun 2025 05:36:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 15 01:36:33 2025 Received: from localhost ([127.0.0.1]:52092 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uQg2i-0005Ff-P6 for submit <at> debbugs.gnu.org; Sun, 15 Jun 2025 01:36:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60544) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uQg2g-0005F4-Ns for 78794 <at> debbugs.gnu.org; Sun, 15 Jun 2025 01:36:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1uQg2b-00038u-CI; Sun, 15 Jun 2025 01:36:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=3FA6U3XathlCP1px9KnM/plj362w2yCm1hbumj66ohU=; b=OguBBZKtsso0fbqau+Ew gxgePWBpkZyOE+GCEV64Z4IbSYDzMMlZVz1fkRif107BzW0wi9VdvMLSRd7P3rnuSr755c7OZPL06 Kp4s00Aut5TZJvYGd/mx5tq3zUGCLYPRVAsk71ZAO+LSGUwInyl0Psv00cqE6TDW4o4l7LPZrQBxe KfJfMivo5m2gNUce2rtDMMkbiSm+ZzukOGOLVyV84UOe5mDbLERATjBZc2wuajBPId04pwj/RkikT O7y9RrraensAVQ9sHLwT0zMQBov6TxZQnUZtDTr0xbYZPoIo9sRYkVt789skkp9qyBeie1FQW5s4w oNYN3bvlm4Aafw==; Date: Sun, 15 Jun 2025 08:36:20 +0300 Message-Id: <86bjqpr2gb.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Elijah Gabe =?iso-8859-1?Q?P=E9rez?= <eg642616@HIDDEN> In-Reply-To: <87ikkxiwh9.fsf@HIDDEN> (message from Elijah Gabe =?iso-8859-1?Q?P=E9rez?= on Sat, 14 Jun 2025 20:12:34 -0600) Subject: Re: bug#78794: [PATCH] Pretiffy package-menu References: <87plf5iwps.fsf@HIDDEN> <87ikkxiwh9.fsf@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78794 Cc: 78794 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Elijah Gabe Prez <eg642616@HIDDEN> > Date: Sat, 14 Jun 2025 20:12:34 -0600 > > +--- > +*** New user option 'package-menu-mode-line'. > +If non-nil, package-menu will display additional information about Total > +packages installed, Total packages from all the package archives, Total > +packages to upgrade and Total new packages available. Any reason not to have this by default, and drop the option? > +(defface package-mark-install-line > + '((((class color) (min-colors 88) (background light)) > + :background "darkolivegreen1" :extend t) > + (((class color) (min-colors 88) (background dark)) > + :background "seagreen" :extend t) > + (((class color) (min-colors 8)) > + :background "green" :foreground "white" :extend t) If tty-color translation produces "green" from the two green shades you define for 88+ color displays, then the last part is not needed. > + (t :inverse-video t :extend t)) Isn't the mode line shown in inverse video by default in monochrome case? If so, this is not needed, either. > +(defface package-mark-delete-line > + '((((class color) (min-colors 88) (background light)) > + :background "rosybrown1" :extend t) > + (((class color) (min-colors 88) (background dark)) > + :background "indianred4" :extend t) > + (((class color) (min-colors 8)) > + :background "red" :foreground "white" :extend t) > + (t :inverse-video t :extend t)) > + "Face used for highlight the line where a package is marked to delete." > + :version "31.1") Same here. > +(define-fringe-bitmap > + 'package-menu-install > + (vector > + #b000000 > + #b001100 > + #b001100 > + #b111111 > + #b111111 > + #b001100 > + #b001100 > + #b000000) > + nil nil 'center) > + > +(define-fringe-bitmap > + 'package-menu-delete > + (vector > + #b000000 > + #b000000 > + #b000000 > + #b111111 > + #b111111 > + #b000000 > + #b000000 > + #b000000) > + nil nil 'center) Both colors _and_ fringe markers? Isn't than too much? > +;; Mode-line > +(defcustom package-menu-mode-line t > + "If non-nil, package-menu will display additional information in mode-line. > +package-menu mode-line information includes: Total packages installed, > +Total packages from all the packages archive, Total packages to upgrade > +and Total new packages available." Capitalization is wrong here: the last sentence should start with a capital letter, whereas the "Total something" parts should not be capitalized. > + ;; XXX: Add a efficient way for set these variables (?) What about this part? Thanks.
bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.Received: (at 78794) by debbugs.gnu.org; 15 Jun 2025 02:12:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 14 22:12:45 2025 Received: from localhost ([127.0.0.1]:49974 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uQcrU-00047W-Sr for submit <at> debbugs.gnu.org; Sat, 14 Jun 2025 22:12:45 -0400 Received: from mail-ot1-x342.google.com ([2607:f8b0:4864:20::342]:54783) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>) id 1uQcrS-000475-ND for 78794 <at> debbugs.gnu.org; Sat, 14 Jun 2025 22:12:43 -0400 Received: by mail-ot1-x342.google.com with SMTP id 46e09a7af769-72c173211feso1123342a34.1 for <78794 <at> debbugs.gnu.org>; Sat, 14 Jun 2025 19:12:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749953556; x=1750558356; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:subject:to:from:from:to:cc :subject:date:message-id:reply-to; bh=9Iyf/0/JnEEW/xZZ9NFqnJf5KzxJxnF12xx5ru+9Cb8=; b=dVsYQdRE53U5Ff8370qMD8N2zw4b3yDASxZ6GWcvopOQY9f+hiw6BrJgKCQQc2X70q BCxuldoW5kO68/FHYkFc2nRU3xJYF4PoTBKdyzCxa/SHqwz2FR7aUMfDyv2941mpQrR0 CNx22QwTtbfL/CnnFsnJW432GFE+uRmWLxP6gMtRx2LZ7qVUV8Wj6aR5ziNRgxtkYG63 U5LDfX+oU4U2IwuLDD/zPqGsMfpc4FeFaLR3eQhzFUZaa+drU32zy3xiHmP5kR41/Cy2 hqSoWCHizVdEguG6yGWwfkiGPcGrvAQ0fW5jeY1euNzKvp9QUA2Ge/sQpnf3Q7RQrgIv nMAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749953556; x=1750558356; h=mime-version:user-agent:message-id:date:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=9Iyf/0/JnEEW/xZZ9NFqnJf5KzxJxnF12xx5ru+9Cb8=; b=gD8WgpnUBB+EbEflx+bCUpPLQ7T5uWwcZIK6PqVJuTyd+MckAZ9sByQ+3XGwX7N9NJ 7gNRaBeJb0NWTi+boLg31UzBOZa6nYopUEtdpwh5fwmQutQV/1HFEuR85O/rBQGR/ki8 pjzxy1xDFwJOYgJpPSnYMWaybNdfI4WBdKVwhgzS8YGQufDQWqf7dZcdF96SyGYP88ke TFQaf5MSKAY+gMpR28kD2TWV6z8NCDhcohxDA5+zl8HW11pS60o1/d4zuAk3jJgqCPKJ GvIQsG5icdJackePfHHVlCTVGtC+H/dpk760TJIXaKxugrt9uizx1GJDk54d0KnP6j4A cNLA== X-Gm-Message-State: AOJu0YwyPCeQsJFhvTL4bSSPfxROGuGunz1flexNdkT0RWbZX2RUt7Qb L/KdhQLOusV15LqaxbPE6HQIhw67p8U8qb7DwyTnv5WJFHUMuzZkWdA2BEtSHI7G X-Gm-Gg: ASbGncvC9swDAspjk4vT0tNGnpKpvQSYFA56rQqLA0GQ2F+IHemuokO2Qojr9O95+2W dIk2DTbCyobRbVnQ6MGJ9+Yi/WgGzxpmyQpZrdzEG21jmweD2gi0Lx+JXe+dQ459NcNzZmstoU9 pcz+lEBkt30bEcz9tB+Q2sjlbveMorpPa8VdSQl7vL/aeVLWscR124D64vOoC6c9tXhq3ndH2PB rRp0m9VB9H7Lpa/9zCC+r88I/LfQjFugx0m2Qe/Aof9+M0uUA/CrsImP7iJO8/M74132NCxaw3m fRi/Au2bOskZ9GXUxkHRa37D8YcYRQBLvgN/bg69 X-Google-Smtp-Source: AGHT+IEEr3Mv7x007ulO9e1QRCl2aBOlUsn6zz9QekAqX78sVzoHiKC57s3XE2NADEK8+QfbrWlyuA== X-Received: by 2002:a05:6808:6f87:b0:409:f8e:727f with SMTP id 5614622812f47-40a7c0fb994mr2961959b6e.3.1749953556442; Sat, 14 Jun 2025 19:12:36 -0700 (PDT) Received: from fedora ([2806:10ae:e:8d2b::1]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61108f316f8sm560314eaf.40.2025.06.14.19.12.35 for <78794 <at> debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Jun 2025 19:12:35 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN> To: 78794 <at> debbugs.gnu.org Subject: [PATCH] Pretiffy package-menu Date: Sat, 14 Jun 2025 20:12:34 -0600 Message-ID: <87ikkxiwh9.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 78794 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Pretiffy-package-menu-Bug-78794.patch From a3be7ce9837f6dcc41c07fc4ee8731584a82041a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <eg642616@HIDDEN> Date: Thu, 12 Jun 2025 22:23:52 -0600 Subject: [PATCH] Pretiffy package-menu (Bug#78794) Add package-menu mode-line which displays information about: Total packages installed, Total packages from all the packages archive, Total packages to upgrade and Total new packages available. Highlight packages marked for installation or deletion * lisp/emacs-lisp/package.el (package-menu-mode): Add package-menu mode-line format to 'mode-line-misc-info' (package-mark-install-line, package-mark-delete-line): New faces. (package-menu-install, package-menu-delete): Tweak for add overlays. (package-menu--overlay-line): New function. (package-menu-mode-line): New user option. (package-menu-mode-line-format, package-menu-mode-line-info): New buffer-local variables. (list-packages): Add 'package-menu-mode-line-format' to 'package--post-download-archives-hook'. * etc/NEWS: Announce changes. --- etc/NEWS | 9 +++ lisp/emacs-lisp/package.el | 161 ++++++++++++++++++++++++++++++++++++- 2 files changed, 167 insertions(+), 3 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index edfd7f20f18..1534f61691e 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1837,6 +1837,15 @@ the command will only copy those files. +++ *** package-x.el is now obsolete. +--- +*** New user option 'package-menu-mode-line'. +If non-nil, package-menu will display additional information about Total +packages installed, Total packages from all the package archives, Total +packages to upgrade and Total new packages available. + +--- +*** Package-menu now highlights packages marked for installation or deletion. + ** Xref --- diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 82fcf439a11..45dafabaeb8 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -3236,6 +3236,10 @@ package-menu-mode (setq mode-line-process '((package--downloads-in-progress ":Loading") (package-menu--transaction-status package-menu--transaction-status))) + (setq-local mode-line-misc-info + (append + mode-line-misc-info + package-menu-mode-line-format)) (setq tabulated-list-format `[("Package" ,package-name-column-width package-menu--name-predicate) ("Version" ,package-version-column-width package-menu--version-predicate) @@ -3642,6 +3646,28 @@ package-status-avail-obso "Face used on the status and version of avail-obso packages." :version "25.1") +(defface package-mark-install-line + '((((class color) (min-colors 88) (background light)) + :background "darkolivegreen1" :extend t) + (((class color) (min-colors 88) (background dark)) + :background "seagreen" :extend t) + (((class color) (min-colors 8)) + :background "green" :foreground "white" :extend t) + (t :inverse-video t :extend t)) + "Face used for highlight the line where a package is marked to install." + :version "31.1") + +(defface package-mark-delete-line + '((((class color) (min-colors 88) (background light)) + :background "rosybrown1" :extend t) + (((class color) (min-colors 88) (background dark)) + :background "indianred4" :extend t) + (((class color) (min-colors 8)) + :background "red" :foreground "white" :extend t) + (t :inverse-video t :extend t)) + "Face used for highlight the line where a package is marked to delete." + :version "31.1") + ;;; Package menu printing @@ -3702,6 +3728,50 @@ package-menu--refresh-contents (package-refresh-contents package-menu-async)) (define-obsolete-function-alias 'package-menu-refresh 'revert-buffer "27.1") +(define-fringe-bitmap + 'package-menu-install + (vector + #b000000 + #b001100 + #b001100 + #b111111 + #b111111 + #b001100 + #b001100 + #b000000) + nil nil 'center) + +(define-fringe-bitmap + 'package-menu-delete + (vector + #b000000 + #b000000 + #b000000 + #b111111 + #b111111 + #b000000 + #b000000 + #b000000) + nil nil 'center) + +(defun package-menu--overlay-line (face fringe fringe-face) + "Highlight whole line with face FACE and display FRINGE on current line." + (let ((ov (make-overlay (line-beginning-position) + (1+ (line-end-position))))) + (overlay-put ov 'pkg-menu-ov t) + (overlay-put ov 'evaporate t) + (when (display-graphic-p) + (overlay-put ov 'before-string + (propertize "x" 'display + `(left-fringe ,fringe ,fringe-face)))) + (overlay-put ov 'face face))) + +(defun package-menu--remove-overlay () + "Remove all overlays done by `package-menu--overlay-line' in current line." + (remove-overlays (line-beginning-position) + (1+ (line-end-position)) + 'pkg-menu-ov t)) + (defun package-menu-hide-package () "Hide in Package Menu packages that match a regexp. Prompt for the regexp to match against package names. @@ -3757,7 +3827,10 @@ package-menu-mark-delete (package--ensure-package-menu-mode) (if (member (package-menu-get-status) '("installed" "source" "dependency" "obsolete" "unsigned")) - (tabulated-list-put-tag "D" t) + (progn (package-menu--overlay-line 'package-mark-delete-line + 'package-menu-delete + 'error) + (tabulated-list-put-tag "D" t)) (forward-line))) (defun package-menu-mark-install (&optional _num) @@ -3766,7 +3839,10 @@ package-menu-mark-install (interactive "p" package-menu-mode) (package--ensure-package-menu-mode) (if (member (package-menu-get-status) '("available" "avail-obso" "new" "dependency")) - (tabulated-list-put-tag "I" t) + (progn (package-menu--overlay-line 'package-mark-install-line + 'package-menu-install + 'success) + (tabulated-list-put-tag "I" t)) (forward-line))) (defun package-menu-mark-unmark (&optional _num) @@ -3774,6 +3850,7 @@ package-menu-mark-unmark The current package is the package at point." (interactive "p" package-menu-mode) (package--ensure-package-menu-mode) + (package-menu--remove-overlay) (tabulated-list-put-tag " " t)) (defun package-menu-backup-unmark () @@ -3781,6 +3858,7 @@ package-menu-backup-unmark (interactive nil package-menu-mode) (package--ensure-package-menu-mode) (forward-line -1) + (package-menu--remove-overlay) (tabulated-list-put-tag " ")) (defun package-menu-mark-obsolete-for-deletion () @@ -3791,7 +3869,10 @@ package-menu-mark-obsolete-for-deletion (goto-char (point-min)) (while (not (eobp)) (if (equal (package-menu-get-status) "obsolete") - (tabulated-list-put-tag "D" t) + (progn (package-menu--overlay-line 'package-mark-delete-line + 'package-menu-delete + 'error) + (tabulated-list-put-tag "D" t)) (forward-line 1))))) (defvar package--quick-help-keys @@ -4207,6 +4288,78 @@ package-menu--mark-or-notify-upgrades (package-menu--mark-upgrades-1) (package-menu--find-and-notify-upgrades)))))) +;; Mode-line +(defcustom package-menu-mode-line t + "If non-nil, package-menu will display additional information in mode-line. +package-menu mode-line information includes: Total packages installed, +Total packages from all the packages archive, Total packages to upgrade +and Total new packages available." + :type 'boolean + :version "31.1") + +(defconst package-menu-mode-line-format + '((package-menu-mode-line + (:eval (when package-menu-mode-line-info + (symbol-value 'package-menu-mode-line-info)))))) + +(defvar-local package-menu-mode-line-info nil + "Variable which stores package-menu mode-line format.") + +(defun package-menu-mode-line-format () + "Display package-menu mode-line." + (when-let* (package-menu-mode-line + (buf (get-buffer "*Packages*")) + ((buffer-live-p buf))) + (with-current-buffer buf + (setq package-menu-mode-line-info + (let ((installed 0) + (new 0) + (total (length package-archive-contents)) + (to-upgrade (length (package-menu--find-upgrades))) + (total-help "Total packages of all package archives") + (installed-help "Total packages installed") + (upgrade-help "Total packages to upgrade") + (new-help "Total new packages available")) + (save-excursion + (goto-char (point-min)) + (while (not (eobp)) + (cond + ((member (package-menu-get-status) + '("installed" "dependency" "unsigned")) + (setq installed (1+ installed))) + ((equal (package-menu-get-status) "new") + (setq new (1+ new)))) + (forward-line))) + + ;; XXX: Add a efficient way for set these variables (?) + (setq installed (number-to-string installed)) + (setq total (number-to-string total)) + (setq to-upgrade (number-to-string to-upgrade)) + (setq new (number-to-string new)) + + (list + "[" + (propertize "Total: " 'help-echo total-help) + (propertize total + 'help-echo total-help + 'face 'font-lock-keyword-face) + " / " + (propertize "Installed: " 'help-echo installed-help) + (propertize installed + 'help-echo installed-help + 'face 'package-status-installed) + " / " + (propertize "To Upgrade: " 'help-echo upgrade-help) + (propertize to-upgrade + 'help-echo upgrade-help + 'face 'font-lock-keyword-face) + " / " + (propertize "New: " 'help-echo new-help) + (propertize new + 'help-echo new-help + 'face 'package-status-new) + "] ")))))) + ;;;###autoload (defun list-packages (&optional no-fetch) "Display a list of packages. @@ -4225,6 +4378,8 @@ list-packages #'package-menu--post-refresh) (add-hook 'package--post-download-archives-hook #'package-menu--mark-or-notify-upgrades 'append) + (add-hook 'package--post-download-archives-hook + #'package-menu-mode-line-format 'append) ;; Generate the Package Menu. (let ((buf (get-buffer-create "*Packages*"))) -- 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 15 Jun 2025 02:07:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 14 22:07:42 2025 Received: from localhost ([127.0.0.1]:49861 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uQcmb-0003Zy-VY for submit <at> debbugs.gnu.org; Sat, 14 Jun 2025 22:07:42 -0400 Received: from lists.gnu.org ([2001:470:142::17]:60702) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>) id 1uQcmZ-0003YA-C2 for submit <at> debbugs.gnu.org; Sat, 14 Jun 2025 22:07:39 -0400 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 <eg642616@HIDDEN>) id 1uQcmT-0004ko-U6 for bug-gnu-emacs@HIDDEN; Sat, 14 Jun 2025 22:07:33 -0400 Received: from mail-ot1-x342.google.com ([2607:f8b0:4864:20::342]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <eg642616@HIDDEN>) id 1uQcmS-00007p-8q for bug-gnu-emacs@HIDDEN; Sat, 14 Jun 2025 22:07:33 -0400 Received: by mail-ot1-x342.google.com with SMTP id 46e09a7af769-72ecb4d9a10so3431692a34.3 for <bug-gnu-emacs@HIDDEN>; Sat, 14 Jun 2025 19:07:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749953250; x=1750558050; darn=gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=GDqCeUTvPG6taulvfCMzVT/EYKOtIr1ujpt652ENtjg=; b=cLAR33DS1mavEEncSrj8x7qDJlGBWkJoH/G2uBCO0SVQV5WBL/42QB8fQtz0RYZoho 2xGy6ZGQkKLXo6qehA3U1TA9t4Aof5nSzc//8wsn5z+uEOlm+oBwcLntMTSjec0hhxZ8 MvwjU4Dip2+o/P+8SNdoSP5eCPZZj7OpyZntUA/8ZwIBbMMyp5tS2yqP7fawh1co+dRI XYBTkmdMfan8magLR/i5ufNBI+ul0pO17Llz0Lyh3MKSg9XzzlddlAjOhsLd7kVMO7Rn zVE15/uOwtO5gypxAW9edat4+KY146Czb9C92uHA3UDmKqEC01vZky5t9JokTTnglreM Nxzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749953250; x=1750558050; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=GDqCeUTvPG6taulvfCMzVT/EYKOtIr1ujpt652ENtjg=; b=Iifua912De9hmtMId76ZmUCxp183NfSajHdGt5GHnZW53IISpM2QvtLqcfeYfPppPE 2i7i7ILkHCD2uaCMIwmURTDY2nro0cZXhb/tXMGSILwNow/0ppml74gw7X+9JHJQFqov k7mMpW2zn2O4rQnLaGa0sEpX/Frwaj3hqx/+6jTmgtmoMjD+2yEFImBiAqzq0STx3Cyz 9rg16Jkc+CB5IYibC3LCxJPrV1wknPdK75FTjJUxzvxaP3lTKUNvftQ7bQvQT7FpMZDD OzLI4+Q4KbwDOPKH6B9/ksSN8tOo5TFvaZaoTKwju1XVp9m3SWPSO3lQ6cJr1y9vdDwD kxAA== X-Gm-Message-State: AOJu0Yy7nLPOXaYN0b9tK+O6KOlfNpmOOQV9HnXLjOkYiTNn52g7bCj7 6HOFpFl6a9Obk22e8fKvL5D6alaYWzEzLfzpcm9L7Td/p1IKwBb9OqQE2oLMquu3 X-Gm-Gg: ASbGnct9lGFgiAEcsYYKGjY471C7Y4q/dxsIB1lwDXx4bktKcmZST7P0AuwjsszCkUj 72h+y4Psw8LRKzCr8KKFaC2drn3c4g1mNxRF6D1rYkOe/2jxXGq65fwGmwSa09Xkr3tSr9hRM1a XIlVpDGr1sGvcHTvOBNynJRbYQltW/LRq/diWFmOkjKjObFM5JHmQ3i4Ub8csllxRYKJl5G0dL+ rAKKBMOAmjnen9H1MsebnLlpnnsmZK7Bx7Jdl+ixpCn44OoP0f920kh4+bjqfjeGe/mUbGutSsv AdWn+U+DTQhU/8AAJR5ZkWT/mvk+0Q== X-Google-Smtp-Source: AGHT+IGxiz944qzpqq4/Xag/9U+cR2OAVvY+kQQoIejxjf/Oq0j/GkJa91+m+i303p5LPJP095B6AA== X-Received: by 2002:a05:6830:800a:b0:735:b0a3:e485 with SMTP id 46e09a7af769-73a363cd439mr3270277a34.25.1749953250132; Sat, 14 Jun 2025 19:07:30 -0700 (PDT) Received: from fedora ([2806:10ae:e:8d2b::1]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-73a284fea94sm739549a34.42.2025.06.14.19.07.28 for <bug-gnu-emacs@HIDDEN> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Jun 2025 19:07:29 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: [PATCH] Pretiffy package-menu X-Debbugs-Cc: Date: Sat, 14 Jun 2025 20:07:27 -0600 Message-ID: <87plf5iwps.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::342; envelope-from=eg642616@HIDDEN; helo=mail-ot1-x342.google.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, DC_IMAGE_SPAM_HTML=0.1, DC_IMAGE_SPAM_TEXT=0.1, DC_PNG_UNO_LARGO=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> --=-=-= Content-Type: text/plain Tags: patch Hello, This patch adds a few visual improvements to `package-menu-mode`. This add a new mode-line for package-menu which displays information about: Total packages installed, Total packages from all the packages archive, Total packages to upgrade and Total new packages available. And highlight packages marked for installation or deletion. I find this useful as the characters/tags can go unnoticed. Here is a screenshot of the result: --=-=-= Content-Type: image/png Content-Disposition: inline; filename="Captura desde 2025-06-14 20-05-30.png" Content-Transfer-Encoding: base64 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 CQkJSExMlPJTUlLw8ssvS1PPSkpKMHfuXBw6dAhoBft1hjUidlVVlexBxpbp06cjOTkZBoMBQUFB spczJSUlmDdvHo4cOSKVyeqsW3Vse7xWq5Wml1vZtm0bzGYzhg4dikdprnx79mfvocveejJ7WI+L ioqSrmN1sJXKf7R81vO/b1jXxrZXhH5H+lNaR47so615UPkANBPdh3/3sNh9eHc8uPUAxkojvLp8 FyjTJ8AHg6YMgu5pHfa8tgfD/284NAYNLHUW7HplF3RddZiaOxWaTpoWyXdEYWEhLl++3GYBrhzZ 98qVK/HgwQNMmzYN9fX1mDhxIjZs2KDYxtpSvy1tv23BkZMl8O9qQL8+XVqU74i20n9rtF8l2Mq3 frd9JlOin6biWnT0+OKIu9fv4vbl2zi85DAOLzkspa/0XIklpiWK5biqf4vFghdffBHV1dUoLCyU pcPJ/fft2xdlZWXSVPGysjLZC4vWILxXOHb8zw6o3TrMzRAIOpQWW767u7vkyKGh47Z1GJ2RnZ2N 0NBQac1rc2nulgbtyZ07d7B+/Xr85Cc/wf79+xEYGIi4uDjJObM32BUXF6O6uhohISGy4FvdunVD QUEB9uzZI72ldCbf3mBn+916/enTp2P79u1276Fr16748ssvceLECezYsQObNm3CxIkT22Uf8vak T58+WLRoESZMmCC92TcajThy5Ihsn+U5c+bgxRdfhMlkgqenp8v264xnnnkGOp0O//nPf5pch227 TdejvPzyy+jVqxfS09Ph5+eHEydOICUlBbDRv237ra2txc2bN9GjRw8pTa/X4/XXX8dvfvMbxMfH yx6+myvfnv1lZmY2erHk56csIrO17VjXlNp7seSKfDc3t0b9W0dRVlaGTp06tZmtPYo9/Vm/2/bx tg+4aIgboNFo4OXl5dA+2hqPhrWwj5YPAFRuKtBCGKuM8PL1gsrtv8f0iuqFuvt1qLxYCf8h/jj7 /llUXqzEnItzZM61EvlKyc7OxoABAxq92GoPtFot/vSnP2Ht2rXIy8vDggULMHv2bFkcg47Sr7P2 aw1o1VT/0pocPlHiMDq4s3xHtJX+lbZfRyh5vrNX/7aOriv66ejxxREGPwOSziZJv6/mX0XuglzM LGjenu6toX+1Wo2f/vSnOHjwoJSm5P779u2LU6dOoU+fPiCJ06dPNznLoNllanCoA3wCpO9my3/H Tw+35scpEAgeV1r82tff31+2JVBhYSF+9KMfyY6xWCxYunQpli5d2qiDzc7OxksvNT8oxONAWVkZ 6uvrERwcjMDAQBiNRvzzn/+U8q2O3D/+8Q9YLBZYLBbEx8fjueeekw0aarUaJ0+ehJ+fHxYuXChN iXcm3/pv91dffQWSqK+vl73htF7/2LFj0rTTyZMno1+/fqiqqoLJZMLMmTOxevVqjBgxAhs3bsTg wYNx6tSpRtPyH3cuXryIvXv3Svtfo2Eqru1MAzQ8YJCUHK22tl83NzeEhoY2miqnhKqqKpw/fx6r V69GXFwcwsLCZNvbdenSBRqNRhb4bs+ePRgwQB4NNSkpCWlpadDpdFi2bJli+b6+vnB3d5fJt+0r rNdXq9UICwtDWFgYfHx8sG/fPrtOS1OYzWbo9Xro9XqZrlpDvq+vr6zN2H5XQnFxMWbNmoXPPvtM SmuqP8zIyMCsWbNw5coVu7IKCgqk5R7tgT37KCwshFarlTn5Op0Od+/ele4lIiICW7ZscWofSnE0 fjhC00mDzr07o+z0d7tOlJ4ohf4ZPTyf8oTpjgnruq7DtWPXpPzbl/+7JZ+uiw4A8M3ubzBw4kB4 92i8Z6sz+UrpyO2Z0tLSUFJSAr1ej1deeQUrV65ETk6O7Ji21m9TOGu/zvoXKy21HytmC/HlmatN OtDO8p3RVvpX2n4doeT5zrZPvHDhAtRqNXx9fRXrpynaa3xpqX24ebihW1g36dO5T2eo3FTwG9Q8 57219P/qq68iLy9P+q3k/oODg5GXl4fQ0FCEhoYiLy+v0T/YLa2fZwzPwE3lhnPl52CmGWaa8XX5 13BTuaFbJ+fLvwSCJ4aWLt5euHAh/f39mZmZyYyMDPr7+3PJkiWyY06cOCEFiTp16pSUfvv2barV aubk5PDOnTtUqVT88MMPGRkZyfnz57u2qrydCA0NpV6vt5t3//596nQ6KZBYQEAAn3rqKSnIGBuC SAHg8OHDOXjwYALgL37xC0mGNcgZSb777rsEwLffflux/P79+xMAIyMjGRERQV9fX1l+fHw8AXDg wIEcOXIkATAqKkq6/qBBgwiAo0ePZmxsrHTsk0ZiYqLdICOxsbEMCwtjTk4ODxw4wEGDBnHMmDFk O9pvamoqg4KC7AYYsQ1y9ihms5m+vr4cP3488/PzuXPnTg4fPlwWZOaXv/wl+/fvz5ycHO7bt4+9 e/fmzJkzZfIXL15MNgR7U6vV/OqrrxTLj4uLY3BwMLOzs/nZZ58xPDxclj9p0iT27duXWVlZzM3N ZXR0NEeMGKGoXvLz8wlAFrDGGjQnPz9fkXxnQXxmzJjB7t27S/3bo+V3xrx58wiAAQEBUlpT/WFA QAAB2NVnfX09AwMDuX79esXXpotBzthgH1b9ZWVl8cc//rEs0CIbgutpNBquWrWK27dvp0ql4pkz ZxTZR1FREc+ePcuZM2dyxIgRPHv2LIuKimTym6ovJfxtzd+Y6p/K8/vO8/ze80ztlsrPF34u5X80 +iNuDNnIov1FvJh9kZuHbOb70e9L+ev81vHo8qO8fva69Ck/V65YvjOqq6vp4eEhC+TUHKz1N27c OI4bN65R/Tmz72HDhnHkyJHMy8tjbm4un3/+eb7wwguya7Slfp3lO2u/tv1LZmam3fbpiv2Q5Imv S9krZj1r7j1sUb4jXNW/FVfaryOcPd9ptVo+//zzzMzMZFZWFp999lnZOOqs/3+0v7alueOLPf0r GV9ctQ8rLQly5qr+bdt3TU0NNRpNs+4/PT2dPj4+3LZtG7du3UofHx/u3LlTdg1X6ifp0yQGrgvk 2B1jOXbHWAauC2TSp0l2jxVBzgRPKi12sE0mE2fPnk0fHx/6+Phw9uzZfPhQPtBUVlYyKCiIzz77 rOTYkeTu3bvp4eHBe/fukQ2RRHU6HQcMGMB///vfrtxPu+HIwSbJDz74gF26dGGnTp24YsUKyaG2 1sOtW7eYkJBAnU5Hb29vTpkyRVZHtg62yWRiz5496e3tzRs3biiSf+bMGQ4YMIAGg4FLlixplF9R UcHXX3+dBoOBnp6eHDdunCyC5OXLlxkXF0cvLy/qdDqOGTOGFy9ebKPa7BhKSkro4eHBvLzG0X/L y8s5fvx46vV66vV6jh8/njdv3iTb0X4rKirYuXNnvvfee43yHDnYJLl//3727t1b0u2uXbtkA/Cd O3c4ceJEdurUiT4+Ppw2bRprampk8q0ONkm+9tprDA8Pp8ViUST/ypUrfOGFF+jp6cno6Gju3LlT ll9TU8MpU6bQYDDQy8uL8fHxLC4uVlQvShxsZ/KdOSAVFRWMjY2ll5eX3fI7IzMzkwaDgUlJ3z1U NNUf/upXv6LBYJBFxbWyadMm+vr6sqqqSvG12QoOdnV1NSdPnkxvb296e3tz6tSprK6ubnTcRx99 xG7dutHHx4erVn33kOnMPoYOHSo9vFk/Q4cOlcluqr6UYDFbeOjNQ1zju4Zvd36b2W9k01z73Yuq ezfu8ePxH3OVfhVX6Vfx4/Ef896Ne1L+Kt0qLsdy2WeFdoVi+c745JNP2LlzZ0VR8+3hrP6c2fel S5ca9e/2dkBoK/06y3fWfp31L3TRfkjy7a1/Z0LyJy3Od4Sr+rfiavttCmfPd1qtlunp6YyOjpZ0 YLvLgTP9OHKw2U7ji6v2YaUlDrar+n+0fY8ZM6ZZ93/69GkC4OnTp3nq1Cnpuy2u1M8d4x0m709m yLshDHk3hCn7U1htsm9/wsEWPKmoaDsnWfBEQBLV1dXw8PCQ9s2NiYnB4cOHce/evXbbS1fgOhs3 bsT8+fNx5MgRDB8+vKOL02JycnLw2muvtVqk4R8CJ0+exKhRo/CHP/wBs2bNata5JpMJXl5eOH78 OMLDw9usjIKWMX36dBiNRuzevbujiyLoAB53/Xt6eiIrK0vxMinR/8t53PXfmhQUFCAiIgJGo7HJ oHcCwePIk7PvkkCirq4OXbt2lR6sHzx4gK+//hq+vr7CuX7MeOONN5CYmIiYmBgcOXKko4ujmP79 +yMrK0v6fe7cOVkANYFjDh8+jJdeegkzZ85stnNtS0REBFQqFVQqFbZu3dqqZRS0DJLIycnpsPXX go7lh6B/0f83zQ9B/87YunWrNC5FRER0dHEEgjZBxM9/AtFoNPjZz36GvXv3IioqChUVFaioqMCc OXM6umiCFrBhwwaEhIR0SLThljJ48GDMnz8fWq0Wd+/eRWpqqrC/ZtCnTx+sW7cOSUlJCo5ujFar xdmzZ2Vp9rYCFLQ/KpUK5eXlHV0MQQfxQ9C/6P+b5oegf2ckJCRg2LBhsrT22sZRIGgvxBTxJ5Sq qirMnj0bWVlZ0Gg0mDBhAtavXy+m4AjahaqqKvz617/GgQMH4OHhgalTpyI1NRUeHmKbDoFAIHic cTZFXPT/AoHgh45wsAUCgUAgEAgEAoFAIGgFxBpsgUAgEAgEAoFAIBAIWgHhYAsEAoFAIBAIBAKB QNAKCAdbIBAIBAKBQCAQCASCVkA42AKBQCAQCAQCgUAgELQCwsEWCAQCgUAgEAgEAoGgFRAOtkAg EAgEAoFAIBAIBK2AcLAFAoFAIBAIBAKBQCBoBYSDLRAIBAKBQCAQCAQCQSsgHGyBQCAQCAQCgUAg EAhaAeFgCwQCgUAgEAgEAoFA0Ar8P+NnvO3Ox4vcAAAAAElFTkSuQmCC --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=--
Elijah Gabe Pérez <eg642616@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#78794
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.