From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Better handling of window margins Date: Mon, 07 Dec 2015 18:39:25 +0200 Message-ID: <83610adxhe.fsf@gnu.org> References: <87mvttsvsj.fsf@fastmail.fm> <83k2oxj7d6.fsf@gnu.org> <565F2DD3.9020400@gmx.at> <838u5cka88.fsf@gnu.org> <565F3441.1020707@gmx.at> <83610gjabz.fsf@gnu.org> <566086FA.6010603@gmx.at> <83h9jzi99p.fsf@gnu.org> <83d1umiq9u.fsf@gnu.org> <83lh9agtke.fsf@gnu.org> <834mfygihw.fsf@gnu.org> <83vb8dgbo6.fsf@gnu.org> <83si3hfhvy.fsf@gnu.org> <83bna4gajl.fsf@gnu.org> <83twnveewy.fsf@gnu.org> <83lh97djbs.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: ger.gmane.org 1449506414 21674 80.91.229.3 (7 Dec 2015 16:40:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 7 Dec 2015 16:40:14 +0000 (UTC) Cc: jwiegley@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Yuri Khan Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Dec 07 17:39:58 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a5ypR-00013U-Sp for ged-emacs-devel@m.gmane.org; Mon, 07 Dec 2015 17:39:58 +0100 Original-Received: from localhost ([::1]:55418 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5ypR-0003GB-4j for ged-emacs-devel@m.gmane.org; Mon, 07 Dec 2015 11:39:57 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55387) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5ypH-000372-MP for emacs-devel@gnu.org; Mon, 07 Dec 2015 11:39:51 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a5ypE-0007Vd-Vk for emacs-devel@gnu.org; Mon, 07 Dec 2015 11:39:47 -0500 Original-Received: from mtaout26.012.net.il ([80.179.55.182]:53294) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5ypE-0007VM-JS for emacs-devel@gnu.org; Mon, 07 Dec 2015 11:39:44 -0500 Original-Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NYZ00A00Y7Z1N00@mtaout26.012.net.il> for emacs-devel@gnu.org; Mon, 07 Dec 2015 18:42:04 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NYZ001NMYE3S170@mtaout26.012.net.il>; Mon, 07 Dec 2015 18:42:03 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.182 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:195950 Archived-At: > From: Yuri Khan > Date: Mon, 7 Dec 2015 16:35:06 +0600 > Cc: John Wiegley , Stefan Monnier ,=20 > =09Emacs developers >=20 > On Mon, Dec 7, 2015 at 9:32 AM, Eli Zaretskii wrote: >=20 > > Can you name Emacs packages that implement those? (The first ite= m > > excluded, of course.) >=20 > >> * Modification bars (which might display one marker on lines mod= ified > >> since the last save, another marker on lines which differ from t= he > >> staged state, and yet another for differences from last commit) >=20 > [git-gutter.el by Syohei Yoshida] > (https://github.com/syohex/emacs-git-gutter) >=20 > >> * =E2=80=9Cgit blame=E2=80=9D annotations >=20 > git-blame.el distributed with Git =E2=80=94 currently emulates marg= ins using overlays. Thanks. (But why do you say git-blame "emulates margins"? It seems like it uses line-prefix property entirely on purpose.) These two fit well into the scheme I proposed. Moreover, they both display information that is per-line, i.e. not tied to any particular buffer position, but to a whole line. For such use cases, we already have a way to control the order of display in the margin: the overlay priority. If all the packages put an overlay with a before-string having the 'margin' display spec before the first character on the line, then their stuff will be displayed in the order of the overlay priorities.