<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src/xfaces.c, branch scratch/seccomp-helper-binary</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>; * src/xfaces.c (realize_gui_face): Correct formatting</title>
<updated>2021-02-25T15:44:43+00:00</updated>
<author>
<name>Robert Pluim</name>
</author>
<published>2021-02-23T14:21:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a1673d329643073233114c22d6d2c1af8dffa51b'/>
<id>a1673d329643073233114c22d6d2c1af8dffa51b</id>
<content type='text'>
* src/xfaces.c (realize_gui_face): Correct code formatting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xfaces.c (realize_gui_face): Correct code formatting.
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump FACE_CACHE_BUCKETS_SIZE to 1009</title>
<updated>2021-02-10T16:10:17+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2021-02-10T16:10:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9b0d76e93b1e72425f8ee67de5eea74520beb5dd'/>
<id>9b0d76e93b1e72425f8ee67de5eea74520beb5dd</id>
<content type='text'>
* src/xfaces.c (FACE_CACHE_BUCKETS_SIZE): Make it 1009, a prime
number, per the comment.  Reported by Win Treese &lt;treese@acm.org&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xfaces.c (FACE_CACHE_BUCKETS_SIZE): Make it 1009, a prime
number, per the comment.  Reported by Win Treese &lt;treese@acm.org&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add distinct controls for child frames' borders (Bug#45620)</title>
<updated>2021-01-26T09:36:52+00:00</updated>
<author>
<name>Alexander Miller</name>
</author>
<published>2021-01-26T09:36:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ff7b1a133bfa7f2614650f8551824ffaef13fadc'/>
<id>ff7b1a133bfa7f2614650f8551824ffaef13fadc</id>
<content type='text'>
The background of the 'child-frame-border' face instead of the
'internal-border' face now controls the color of child frames'
borders.

The 'child-frame-border-width' frame parameter is now used for the
width of child frames' borders instead of internal-border-width',
though we still fall back on using the latter if the former is not
set.

* doc/lispref/frames.texi (Frame Layout): Mention
'child-frame-border' and 'child-frame-border-width'.
(Layout Parameters): Mention 'child-frame-border-width'.
* etc/NEWS: Mention new face 'child-frame-border' and frame
parameter 'child-frame-border-width'.
* lisp/faces.el (child-frame-border): New face.
* src/dispextern.h (enum face_id): Add CHILD_FRAME_BORDER_FACE_ID.
* src/frame.c (Fframe_child_frame_border_width): New function.
(gui_report_frame_params): Add entry for Qchild_frame_border_width.
* src/frame.h (struct frame): New slot child_frame_border_width.
(FRAME_CHILD_FRAME_BORDER_WIDTH): New inlined function.
* src/nsfns.m (ns_set_child_frame_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(ns_frame_parm_handlers): Add ns_set_child_frame_border_width.
* src/nsterm.m (ns_clear_under_internal_border): Handle
CHILD_FRAME_BORDER_FACE_ID.
* src/w32fns.c (w32_clear_under_internal_border): Handle
CHILD_FRAME_BORDER_FACE_ID.
(w32_set_internal_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(w32_frame_parm_handlers): Add w32_set_child_frame_border_width.
* src/xfaces.c (lookup_basic_face, realize_basic_faces): Handle
CHILD_FRAME_BORDER_FACE_ID.
* src/xfns.c (x_set_child_frame_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(x_frame_parm_handlers): Add x_set_child_frame_border_width.
* src/xterm.c (x_clear_under_internal_border)
(x_after_update_window_line): Handle CHILD_FRAME_BORDER_FACE_ID.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The background of the 'child-frame-border' face instead of the
'internal-border' face now controls the color of child frames'
borders.

The 'child-frame-border-width' frame parameter is now used for the
width of child frames' borders instead of internal-border-width',
though we still fall back on using the latter if the former is not
set.

* doc/lispref/frames.texi (Frame Layout): Mention
'child-frame-border' and 'child-frame-border-width'.
(Layout Parameters): Mention 'child-frame-border-width'.
* etc/NEWS: Mention new face 'child-frame-border' and frame
parameter 'child-frame-border-width'.
* lisp/faces.el (child-frame-border): New face.
* src/dispextern.h (enum face_id): Add CHILD_FRAME_BORDER_FACE_ID.
* src/frame.c (Fframe_child_frame_border_width): New function.
(gui_report_frame_params): Add entry for Qchild_frame_border_width.
* src/frame.h (struct frame): New slot child_frame_border_width.
(FRAME_CHILD_FRAME_BORDER_WIDTH): New inlined function.
* src/nsfns.m (ns_set_child_frame_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(ns_frame_parm_handlers): Add ns_set_child_frame_border_width.
* src/nsterm.m (ns_clear_under_internal_border): Handle
CHILD_FRAME_BORDER_FACE_ID.
* src/w32fns.c (w32_clear_under_internal_border): Handle
CHILD_FRAME_BORDER_FACE_ID.
(w32_set_internal_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(w32_frame_parm_handlers): Add w32_set_child_frame_border_width.
* src/xfaces.c (lookup_basic_face, realize_basic_faces): Handle
CHILD_FRAME_BORDER_FACE_ID.
* src/xfns.c (x_set_child_frame_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(x_frame_parm_handlers): Add x_set_child_frame_border_width.
* src/xterm.c (x_clear_under_internal_border)
(x_after_update_window_line): Handle CHILD_FRAME_BORDER_FACE_ID.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for flat buttons</title>
<updated>2021-01-10T13:10:18+00:00</updated>
<author>
<name>Pedro Andres Aranda Gutierrez</name>
</author>
<published>2021-01-10T13:10:18+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=13bd909591e9c1cf0228750b2d4a9e4364f61cc9'/>
<id>13bd909591e9c1cf0228750b2d4a9e4364f61cc9</id>
<content type='text'>
* src/xfaces.c (Finternal_set_lisp_face_attribute):
(realize_gui_face): Add support for `flat-button' (bug#45735).

Copyright-paperwork-exempt: yes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xfaces.c (Finternal_set_lisp_face_attribute):
(realize_gui_face): Add support for `flat-button' (bug#45735).

Copyright-paperwork-exempt: yes
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2021</title>
<updated>2021-01-01T09:13:56+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2021-01-01T09:13:56+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ba05d005e5a81bc123ad8da928b1bccb6b160e7a'/>
<id>ba05d005e5a81bc123ad8da928b1bccb6b160e7a</id>
<content type='text'>
Run "TZ=UTC0 admin/update-copyright".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run "TZ=UTC0 admin/update-copyright".
</pre>
</div>
</content>
</entry>
<entry>
<title>TTY Support for ECMA-48 strike-through graphic rendition</title>
<updated>2020-09-18T08:31:12+00:00</updated>
<author>
<name>Mike Hamrick</name>
</author>
<published>2020-09-13T22:52:24+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e0e147e10389e407531ca81d0063a11a5716d765'/>
<id>e0e147e10389e407531ca81d0063a11a5716d765</id>
<content type='text'>
* term.c: Support strike-through in capable terminals.
(no_color_bit): Replace unused NC_INVIS with
NC_STRIKE_THROUGH.
(turn_on_face): Output via TS_enter_strike_through_mode
if available.
(turn_off_face): Handle strike-through case.
(tty_capable_p, init_tty): Support strike-through.
* termchar.h (struct tty_display_info): Add field for
strike-through.
* xfaces.c (tty_supports_face_attributes_p, realize_tty_face):
Handle strike-through case.
* dispextern.h: Add TTY_CAP_STRIKE_THROUGH definition.
(struct face): Add field tty_strike_through_p.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* term.c: Support strike-through in capable terminals.
(no_color_bit): Replace unused NC_INVIS with
NC_STRIKE_THROUGH.
(turn_on_face): Output via TS_enter_strike_through_mode
if available.
(turn_off_face): Handle strike-through case.
(tty_capable_p, init_tty): Support strike-through.
* termchar.h (struct tty_display_info): Add field for
strike-through.
* xfaces.c (tty_supports_face_attributes_p, realize_tty_face):
Handle strike-through case.
* dispextern.h: Add TTY_CAP_STRIKE_THROUGH definition.
(struct face): Add field tty_strike_through_p.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prefer Fvector to make_uninit_vector</title>
<updated>2020-08-15T18:19:51+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2020-08-15T17:48:36+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f1b06fd5fc66377f85b420d3d40c666da9dca2a5'/>
<id>f1b06fd5fc66377f85b420d3d40c666da9dca2a5</id>
<content type='text'>
Fvector is less error-prone than make_uninit_vector, as it
avoids the possibility of a GC crash due to an uninitialized
vector.  So prefer Fvector to make_uninit_vector when this is
easy (and when there's no significant performance difference).
Inspired by a suggestion by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00313.html
* src/ccl.c (Fregister_ccl_program):
* src/ccl.c (Fregister_ccl_program):
* src/charset.c (Fdefine_charset_internal):
* src/font.c (Fquery_font, Ffont_info, syms_of_font):
* src/fontset.c (font_def_new, Fset_fontset_font):
* src/ftfont.c (ftfont_shape_by_flt):
* src/hbfont.c (hbfont_shape):
* src/macfont.m (macfont_shape):
* src/search.c (Fnewline_cache_check):
* src/xfaces.c (Fx_family_fonts):
* src/xfns.c (Fx_window_property_attributes):
Prefer Fvector to make_uninit_vector when either is easy.
* src/fontset.c (font_def_new): Now a function with one less
arg instead of a do-while macro, and renamed from FONT_DEF_NEW.
All uses changed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fvector is less error-prone than make_uninit_vector, as it
avoids the possibility of a GC crash due to an uninitialized
vector.  So prefer Fvector to make_uninit_vector when this is
easy (and when there's no significant performance difference).
Inspired by a suggestion by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00313.html
* src/ccl.c (Fregister_ccl_program):
* src/ccl.c (Fregister_ccl_program):
* src/charset.c (Fdefine_charset_internal):
* src/font.c (Fquery_font, Ffont_info, syms_of_font):
* src/fontset.c (font_def_new, Fset_fontset_font):
* src/ftfont.c (ftfont_shape_by_flt):
* src/hbfont.c (hbfont_shape):
* src/macfont.m (macfont_shape):
* src/search.c (Fnewline_cache_check):
* src/xfaces.c (Fx_family_fonts):
* src/xfns.c (Fx_window_property_attributes):
Prefer Fvector to make_uninit_vector when either is easy.
* src/fontset.c (font_def_new): Now a function with one less
arg instead of a do-while macro, and renamed from FONT_DEF_NEW.
All uses changed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix face merging at EOL when inherited face specifies :extend</title>
<updated>2020-08-11T14:39:35+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2020-08-11T14:39:35+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=39c90f8dfabe158ad7ac9243aa9b9dedb9409e19'/>
<id>39c90f8dfabe158ad7ac9243aa9b9dedb9409e19</id>
<content type='text'>
* src/xfaces.c (merge_face_ref): Handle correctly faces that
inherit from another, and in addition specify :extend.
(Bug#42552)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xfaces.c (merge_face_ref): Handle correctly faces that
inherit from another, and in addition specify :extend.
(Bug#42552)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix face extension past EOL in overlay strings</title>
<updated>2020-07-30T13:56:36+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2020-07-30T13:56:36+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=35564bea4d73bc266743216599d01d644aed6fd8'/>
<id>35564bea4d73bc266743216599d01d644aed6fd8</id>
<content type='text'>
* src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
face_for_overlay_string.
* src/xfaces.c (face_for_overlay_string): Accept an additional
argument ATTR_INDEX and pass it to merge_face_ref for merging the
face at POS.  This ensures a face from buffer text will not be
merged unless it specifies the :extend attribute.  (Bug#42552)
* src/dispextern.h (face_for_overlay_string): Adjust prototype.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
face_for_overlay_string.
* src/xfaces.c (face_for_overlay_string): Accept an additional
argument ATTR_INDEX and pass it to merge_face_ref for merging the
face at POS.  This ensures a face from buffer text will not be
merged unless it specifies the :extend attribute.  (Bug#42552)
* src/dispextern.h (face_for_overlay_string): Adjust prototype.
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor improvements as followup to recent RGB string-parsing change</title>
<updated>2020-06-22T15:32:01+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2020-06-22T15:32:01+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=30ff2433b16dba2c4e36c6eda6f808c6f2cb46d1'/>
<id>30ff2433b16dba2c4e36c6eda6f808c6f2cb46d1</id>
<content type='text'>
* src/xfaces.c (Finternal_color_values_from_color_spec): Rename to...
(Fcolor_values_from_color_spec): ...this.  Callers changed.
Rename the argument to SPEC and improve the doc string.
(parse_color_spec, parse_float_color_comp, parse_hex_color_comp):
Improve commentary.
(parse_color_spec): Rename the argument S to SPEC.

* etc/NEWS: Mention 'color-values-from-color-spec'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xfaces.c (Finternal_color_values_from_color_spec): Rename to...
(Fcolor_values_from_color_spec): ...this.  Callers changed.
Rename the argument to SPEC and improve the doc string.
(parse_color_spec, parse_float_color_comp, parse_hex_color_comp):
Improve commentary.
(parse_color_spec): Rename the argument S to SPEC.

* etc/NEWS: Mention 'color-values-from-color-spec'.
</pre>
</div>
</content>
</entry>
</feed>
