From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?utf-8?B?7KGw7ISx67mI?= Newsgroups: gmane.emacs.devel Subject: Patch to vertically center line content when using line-spacing variable Date: Fri, 24 Jan 2020 01:32:21 +0900 Message-ID: <6E80D3C1-CE0D-4BC4-BE86-CB833078A08E@icloud.com> Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.40.2.2.4\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_AF1E3E5D-180A-4D26-B4BD-DA061844671E" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="27080"; mail-complaints-to="usenet@ciao.gmane.io" Cc: jessenzr@gmail.com To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Jan 23 19:53:42 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1iuhbp-000708-1Q for ged-emacs-devel@m.gmane-mx.org; Thu, 23 Jan 2020 19:53:41 +0100 Original-Received: from localhost ([::1]:35134 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iuhbn-0002S7-J2 for ged-emacs-devel@m.gmane-mx.org; Thu, 23 Jan 2020 13:53:39 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36363) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iufPC-0002cZ-SP for emacs-devel@gnu.org; Thu, 23 Jan 2020 11:32:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iufPB-00047d-H0 for emacs-devel@gnu.org; Thu, 23 Jan 2020 11:32:30 -0500 Original-Received: from pv50p00im-ztdg10021101.me.com ([17.58.6.44]:52883) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iufPB-00045u-5z for emacs-devel@gnu.org; Thu, 23 Jan 2020 11:32:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1579797146; bh=yx2u0wTqIK4hPT+L0uS/SPj+Knzrj+YOH9aWrJncoZ4=; h=From:Content-Type:Subject:Message-Id:Date:To; b=WVq7n68oAslhbAYt/6U40prcc1H+7FcWc3VswR3dDamvQ6BTgszs5v0XImztaWt3u tM99odsfT+tlxafPonfkYehoFdcfz0eK254B6og1qABa8va2TcMh+EwPpUsYoHnjsB K1Va72mpRGsOFmvdVc0hRNgC47kCH5eWEZ1yE4YCdD16H82Jce4zndfh84TFnViX5t SpDsYyk2+z1bHo3zNlO2bAtJwaEgRUyP5P5yjyNRJMG5nMYAsoyfQorfFQe0EsEur5 3cww8h4FUtBiIW+R4vMsiDyTWXz4FJmvAocxGbgS6wiQCbkpMfhu4+BA09FC/LfOgc oikOZ70ZzrRTA== Original-Received: from [192.168.0.2] (unknown [1.230.108.64]) by pv50p00im-ztdg10021101.me.com (Postfix) with ESMTPSA id 620881805D1; Thu, 23 Jan 2020 16:32:25 +0000 (UTC) X-Mailer: Apple Mail (2.3608.40.2.2.4) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2020-01-23_10:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=970 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-2001230131 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 17.58.6.44 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:244544 Archived-At: --Apple-Mail=_AF1E3E5D-180A-4D26-B4BD-DA061844671E Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii; delsp=yes; format=flowed Hello, there was a thread[0,1] before which introduced a patch to vertically center line content. I decided to fix the leftover nitpicks. Can anybody check this patch and give any feedback? --Apple-Mail=_AF1E3E5D-180A-4D26-B4BD-DA061844671E Content-Disposition: attachment; filename=0001-Add-new-variable-for-centering-lines-vertically.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Add-new-variable-for-centering-lines-vertically.patch" Content-Transfer-Encoding: quoted-printable =46rom=201302c040a23837b80a53416421914f3fe8ba1926=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Sungbin=20Jo=20=0ADate:=20= Fri,=2024=20Jan=202020=2000:56:38=20+0900=0ASubject:=20[PATCH]=20Add=20= new=20variable=20for=20centering=20lines=20vertically.=0A=0A= Co-authored-by:=20Jesse=20Nazario=20=0A=0AWhen=20= using=20line-spacing,=20the=20new=20variable=20= line-spacing-vertical-center=0Acan=20be=20set=20to=20non-nil=20to=20= center=20the=20line=20content=20vertically.=0A=0A*=20src/buffer.h=20= (struct=20buffer):=20New=20member=20line_spacing_vertical_center.=0A*=20= src/buffer.c=20(bset_line_spacing_vertical_center):=20New=20setter=20for=0A= line_spacing_vertical_center.=0A(reset_buffer):=20Reset=20= line_spacing_vertical_center.=0A(init_buffer_once):=20Initialize=20= line_spacing_vertical_center.=0A(syms_of_buffer):=20Declare=20Lisp=20= variable=20line-spacing-vertical-center.=0A*=20src/xdisp.c=20= (gui_produce_glyphs):=20Center=20the=20text=20when=0A= line-spacing-vertical-center=20is=20non-nil.=0A*=20= doc/lispref/display.texi=20(Line=20Height):=20Document=20the=20new=20= variable.=0A*=20etc/NEWS:=20Announce=20the=20new=20variable.=0A---=0A=20= doc/lispref/display.texi=20|=20=205=20+++++=0A=20etc/NEWS=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20|=20=204=20++++=0A=20src/buffer.c=20=20=20= =20=20=20=20=20=20=20=20=20=20|=2014=20++++++++++++++=0A=20src/buffer.h=20= =20=20=20=20=20=20=20=20=20=20=20=20|=20=204=20++++=0A=20src/xdisp.c=20=20= =20=20=20=20=20=20=20=20=20=20=20=20|=2010=20+++++++++-=0A=205=20files=20= changed,=2036=20insertions(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/doc/lispref/display.texi=20b/doc/lispref/display.texi=0Aindex=20= e4980fe4c3..2fa63ddb56=20100644=0A---=20a/doc/lispref/display.texi=0A+++=20= b/doc/lispref/display.texi=0A@@=20-2231,6=20+2231,11=20@@=20Line=20= Height=0A=20number=20of=20pixels=20put=20below=20lines.=20=20A=20= floating-point=20number=20specifies=0A=20the=20spacing=20relative=20to=20= the=20frame's=20default=20line=20height.=0A=20=0A+=20=20The=20= @code{line-spacing}=20parameter=20creates=20the=20space=20by=20putting=20= some=0A+margin=20only=20below=20the=20line.=20=20If=20you=20wish=20to=20= center=20the=20line=20vertically=0A+instead,=20you=20can=20set=20the=20= variable=20@code{line-spacing-vertical-center}=0A+as=20non-nil.=0A+=0A=20= @vindex=20line-spacing=0A=20=20=20You=20can=20specify=20the=20line=20= spacing=20for=20all=20lines=20in=20a=20buffer=20via=20the=0A=20= buffer-local=20@code{line-spacing}=20variable.=20=20An=20integer=20= specifies=0Adiff=20--git=20a/etc/NEWS=20b/etc/NEWS=0Aindex=20= 11ef31b2c8..fb85131f07=20100644=0A---=20a/etc/NEWS=0A+++=20b/etc/NEWS=0A= @@=20-51,6=20+51,10=20@@=20It=20was=20declared=20obsolete=20in=20Emacs=20= 27.1.=0A=20=0C=0A=20*=20Changes=20in=20Emacs=2028.1=0A=20=0A+**=20New=20= variable=20line-spacing-vertical-center.=0A+This=20variable,=20if=20= non-nil,=20centers=20the=20line=20content=20vertically=20when=0A+using=20= the=20'line-spacing'=20variable.=0A+=0A=20=0C=0A=20*=20Editing=20Changes=20= in=20Emacs=2028.1=0A=20=0Adiff=20--git=20a/src/buffer.c=20b/src/buffer.c=0A= index=205c65d4d4d1..234745a66a=20100644=0A---=20a/src/buffer.c=0A+++=20= b/src/buffer.c=0A@@=20-219,6=20+219,11=20@@=20bset_extra_line_spacing=20= (struct=20buffer=20*b,=20Lisp_Object=20val)=0A=20=20=20= b->extra_line_spacing_=20=3D=20val;=0A=20}=0A=20static=20void=0A= +bset_line_spacing_vertical_center=20(struct=20buffer=20*b,=20= Lisp_Object=20val)=0A+{=0A+=20=20b->line_spacing_vertical_center_=20=3D=20= val;=0A+}=0A+static=20void=0A=20bset_file_format=20(struct=20buffer=20= *b,=20Lisp_Object=20val)=0A=20{=0A=20=20=20b->file_format_=20=3D=20val;=0A= @@=20-967,6=20+972,8=20@@=20reset_buffer=20(register=20struct=20buffer=20= *b)=0A=20=20=20=20=20(b,=20BVAR=20(&buffer_defaults,=20= enable_multibyte_characters));=0A=20=20=20bset_cursor_type=20(b,=20BVAR=20= (&buffer_defaults,=20cursor_type));=0A=20=20=20bset_extra_line_spacing=20= (b,=20BVAR=20(&buffer_defaults,=20extra_line_spacing));=0A+=20=20= bset_line_spacing_vertical_center=20(b,=20BVAR=20(&buffer_defaults,=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= line_spacing_vertical_center));=0A=20=0A=20=20=20b->display_error_modiff=20= =3D=200;=0A=20}=0A@@=20-5202,6=20+5209,7=20@@=20init_buffer_once=20= (void)=0A=20=20=20XSETFASTINT=20(BVAR=20(&buffer_local_flags,=20= tab_line_format),=20idx);=20++idx;=0A=20=20=20XSETFASTINT=20(BVAR=20= (&buffer_local_flags,=20cursor_type),=20idx);=20++idx;=0A=20=20=20= XSETFASTINT=20(BVAR=20(&buffer_local_flags,=20extra_line_spacing),=20= idx);=20++idx;=0A+=20=20XSETFASTINT=20(BVAR=20(&buffer_local_flags,=20= line_spacing_vertical_center),=20idx);=20++idx;=0A=20=20=20XSETFASTINT=20= (BVAR=20(&buffer_local_flags,=20cursor_in_non_selected_windows),=20idx);=20= ++idx;=0A=20=0A=20=20=20/*=20buffer_local_flags=20contains=20no=20= pointers,=20so=20it's=20safe=20to=20treat=20it=0A@@=20-5272,6=20+5280,7=20= @@=20init_buffer_once=20(void)=0A=20=20=20= bset_bidi_paragraph_separate_re=20(&buffer_defaults,=20Qnil);=0A=20=20=20= bset_cursor_type=20(&buffer_defaults,=20Qt);=0A=20=20=20= bset_extra_line_spacing=20(&buffer_defaults,=20Qnil);=0A+=20=20= bset_line_spacing_vertical_center=20(&buffer_defaults,=20Qnil);=0A=20=20=20= bset_cursor_in_non_selected_windows=20(&buffer_defaults,=20Qt);=0A=20=0A=20= =20=20bset_enable_multibyte_characters=20(&buffer_defaults,=20Qt);=0A@@=20= -6268,6=20+6277,11=20@@=20from=20(abs=20POSITION).=20=20If=20POSITION=20= is=20positive,=20point=20was=20at=20the=20front=0A=20If=20value=20is=20a=20= floating=20point=20number,=20it=20specifies=20the=20spacing=20relative=0A= =20to=20the=20default=20frame=20line=20height.=20=20A=20value=20of=20nil=20= means=20add=20no=20extra=20space.=20=20*/);=0A=20=0A+=20=20= DEFVAR_PER_BUFFER=20("line-spacing-vertical-center",=0A+=09=09=20=20=20=20= =20&BVAR=20(current_buffer,=20line_spacing_vertical_center),=20Qnil,=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20doc:=20/*=20= Non-nil=20means=20center=20the=20line=20content=20vertically=0A+when=20= using=20`line-spacing'=20variable.=20=20*/);=0A+=0A=20=20=20= DEFVAR_PER_BUFFER=20("cursor-in-non-selected-windows",=0A=20=09=09=20=20=20= =20=20&BVAR=20(current_buffer,=20cursor_in_non_selected_windows),=20= Qnil,=0A=20=09=09=20=20=20=20=20doc:=20/*=20Non-nil=20means=20show=20a=20= cursor=20in=20non-selected=20windows.=0Adiff=20--git=20a/src/buffer.h=20= b/src/buffer.h=0Aindex=20fd05fdd37d..c15065b599=20100644=0A---=20= a/src/buffer.h=0A+++=20b/src/buffer.h=0A@@=20-553,6=20+553,10=20@@=20= #define=20BVAR(buf,=20field)=20((buf)->field=20##=20_)=0A=20=20=20=20=20=20= in=20the=20display=20of=20this=20buffer.=20=20*/=0A=20=20=20Lisp_Object=20= extra_line_spacing_;=0A=20=0A+=20=20/*=20Non-nil=20means=20center=20the=20= line=20content=20vertically.=20To=20be=20used=0A+=20=20=20=20=20along=20= with=20`line-spacing'.=20=20*/=0A+=20=20Lisp_Object=20= line_spacing_vertical_center_;=0A+=0A=20=20=20/*=20Cursor=20type=20to=20= display=20in=20non-selected=20windows.=0A=20=20=20=20=20=20t=20means=20= to=20use=20hollow=20box=20cursor.=0A=20=20=20=20=20=20See=20= `cursor-type'=20for=20other=20values.=20=20*/=0Adiff=20--git=20= a/src/xdisp.c=20b/src/xdisp.c=0Aindex=20a5efbb39be..44727cdd64=20100644=0A= ---=20a/src/xdisp.c=0A+++=20b/src/xdisp.c=0A@@=20-30527,7=20+30527,15=20= @@=20gui_produce_glyphs=20(struct=20it=20*it)=0A=20=0A=20=20=20if=20= (extra_line_spacing=20>=200)=0A=20=20=20=20=20{=0A-=20=20=20=20=20=20= it->descent=20+=3D=20extra_line_spacing;=0A+=20=20=20=20=20=20if=20(NILP=20= (BVAR=20(XBUFFER=20(it->w->contents),=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20line_spacing_vertical_center)))=0A+=20=20= =20=20=20=20=20=20it->descent=20+=3D=20extra_line_spacing;=0A+=20=20=20=20= =20=20else=0A+=20=20=20=20=20=20=20=20{=0A+=20=20=20=20=20=20=20=20=20=20= int=20spacing=20=3D=20extra_line_spacing=20/=202;=0A+=20=20=20=20=20=20=20= =20=20=20it->ascent=20+=3D=20spacing;=0A+=20=20=20=20=20=20=20=20=20=20= it->descent=20+=3D=20spacing;=0A+=20=20=20=20=20=20=20=20}=0A=20=20=20=20= =20=20=20if=20(extra_line_spacing=20>=20it->max_extra_line_spacing)=0A=20= =09it->max_extra_line_spacing=20=3D=20extra_line_spacing;=0A=20=20=20=20=20= }=0A--=20=0A2.21.1=20(Apple=20Git-122.3)=0A=0A= --Apple-Mail=_AF1E3E5D-180A-4D26-B4BD-DA061844671E Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii; delsp=yes; format=flowed [0] https://lists.gnu.org/archive/html/emacs-devel/2019-08/msg00659.html [1] https://lists.gnu.org/archive/html/emacs-devel/2019-09/msg00049.html --Apple-Mail=_AF1E3E5D-180A-4D26-B4BD-DA061844671E--