<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src, branch feature/margin-columns</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/term.c (append_glyph): Fix wide character handling in margins columns.</title>
<updated>2025-12-31T07:44:17+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2025-12-31T07:44:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=464e1a5a81cb19263d2d0e26b1964ee08a84ec68'/>
<id>464e1a5a81cb19263d2d0e26b1964ee08a84ec68</id>
<content type='text'>
Use 'it-&gt;pixel_width' for 'it-&gt;margin_column' and 'nglyphs'.
Also fix 'glyph-&gt;padding_p' (bug#80025).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use 'it-&gt;pixel_width' for 'it-&gt;margin_column' and 'nglyphs'.
Also fix 'glyph-&gt;padding_p' (bug#80025).
</pre>
</div>
</content>
</entry>
<entry>
<title>Make variables 'left-margin-columns' and 'right-margin-columns' buffer-local</title>
<updated>2025-12-30T18:08:07+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2025-12-30T18:08:07+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3ff8f30f838ae062d45da13ad2cc11bcfe53f963'/>
<id>3ff8f30f838ae062d45da13ad2cc11bcfe53f963</id>
<content type='text'>
* src/xdisp.c (handle_single_display_spec): Use FIXNATP for margin column.
Also use 'Vleft_margin_columns' instead of 'Fsymbol_value' (bug#80025).
(left-margin-columns, right-margin-columns): Use Fmake_variable_buffer_local.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xdisp.c (handle_single_display_spec): Use FIXNATP for margin column.
Also use 'Vleft_margin_columns' instead of 'Fsymbol_value' (bug#80025).
(left-margin-columns, right-margin-columns): Use Fmake_variable_buffer_local.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix term.c:append_glyph for wide character margin column indicators</title>
<updated>2025-12-30T18:01:40+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2025-12-30T18:01:40+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=996b2304e591f75fd0db5540a315a815a05250e7'/>
<id>996b2304e591f75fd0db5540a315a815a05250e7</id>
<content type='text'>
* src/term.c (append_glyph): Add 'handled_column' variable
and use it on existing code instead of immediately returning
after adding margin column glyph (bug#80025).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/term.c (append_glyph): Add 'handled_column' variable
and use it on existing code instead of immediately returning
after adding margin column glyph (bug#80025).
</pre>
</div>
</content>
</entry>
<entry>
<title>Support multi-character margin indicators (bug#80025)</title>
<updated>2025-12-29T17:25:12+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2025-12-29T17:25:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9522f4c79e189023894b391a6876d254756ff026'/>
<id>9522f4c79e189023894b391a6876d254756ff026</id>
<content type='text'>
* src/term.c (append_glyph):
* src/xdisp.c (append_glyph, produce_image_glyph):
Increment it-&gt;margin_column to handle multi-char margin indicators.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/term.c (append_glyph):
* src/xdisp.c (append_glyph, produce_image_glyph):
Increment it-&gt;margin_column to handle multi-char margin indicators.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add new variables 'left-margin-columns' and 'right-margin-columns' (bug#80025)</title>
<updated>2025-12-29T17:19:45+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2025-12-29T17:19:45+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ea3d05394c0898bfcef6fd38c790ba1ddb781b09'/>
<id>ea3d05394c0898bfcef6fd38c790ba1ddb781b09</id>
<content type='text'>
* src/xdisp.c (left-margin-columns, right-margin-columns): New variables.
(handle_single_display_spec): Find the column number that
corresponds to the position of the column symbol in these variables.

* lisp/outline.el (outline--create-button-icons):
Add the symbol 'outline' to margin column spec.
(outline-minor-mode): Add/remove the symbol 'outline' to/from
'left-margin-columns' and 'right-margin-columns'.

* lisp/progmodes/flymake.el (flymake--bs-display):
Add the symbol 'flymake' to margin column spec.
(flymake--restore-margins): Remove the symbol 'outline' from
'left-margin-columns' and 'right-margin-columns'.
(flymake--resize-margins): Add the symbol 'outline' to
'left-margin-columns' and 'right-margin-columns'.

* lisp/progmodes/hideshow.el (hs--make-indicators-overlays):
Add the symbol 'hideshow' to margin column spec.
(hs-minor-mode): Add/remove the symbol 'outline' to/from
'left-margin-columns'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xdisp.c (left-margin-columns, right-margin-columns): New variables.
(handle_single_display_spec): Find the column number that
corresponds to the position of the column symbol in these variables.

* lisp/outline.el (outline--create-button-icons):
Add the symbol 'outline' to margin column spec.
(outline-minor-mode): Add/remove the symbol 'outline' to/from
'left-margin-columns' and 'right-margin-columns'.

* lisp/progmodes/flymake.el (flymake--bs-display):
Add the symbol 'flymake' to margin column spec.
(flymake--restore-margins): Remove the symbol 'outline' from
'left-margin-columns' and 'right-margin-columns'.
(flymake--resize-margins): Add the symbol 'outline' to
'left-margin-columns' and 'right-margin-columns'.

* lisp/progmodes/hideshow.el (hs--make-indicators-overlays):
Add the symbol 'hideshow' to margin column spec.
(hs-minor-mode): Add/remove the symbol 'outline' to/from
'left-margin-columns'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the same margin-column handling for term and image glyphs (bug#80025)</title>
<updated>2025-12-22T07:27:34+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2025-12-22T07:27:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7dd94923ef7feabc19406863668dff5a6ed07f7c'/>
<id>7dd94923ef7feabc19406863668dff5a6ed07f7c</id>
<content type='text'>
* src/term.c (append_glyph):
* src/xdisp.c (produce_image_glyph):
Copy the margin-column random-access indexing with space-padding
from 'append_glyph' in xdisp.c.  Also copy code from the end of these
functions before return after handling the margin column.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/term.c (append_glyph):
* src/xdisp.c (produce_image_glyph):
Copy the margin-column random-access indexing with space-padding
from 'append_glyph' in xdisp.c.  Also copy code from the end of these
functions before return after handling the margin column.
</pre>
</div>
</content>
</entry>
<entry>
<title>Initial implementation of column-based margin indicators (bug#80025)</title>
<updated>2025-12-21T07:32:32+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2025-12-21T07:32:32+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1c55ea07fa778ca129fc39a0e98ab007916b4155'/>
<id>1c55ea07fa778ca129fc39a0e98ab007916b4155</id>
<content type='text'>
* src/dispextern.h (it): Add 'margin_column' field.

* src/xdisp.c (handle_single_display_spec): Parse margin column
specification '(margin left-margin COLUMN)' and set the column
to 'it-&gt;margin_column'.
(append_glyph): Support random-access indexing of margin column,
padding with spaces when the required column is beyond the used area.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/dispextern.h (it): Add 'margin_column' field.

* src/xdisp.c (handle_single_display_spec): Parse margin column
specification '(margin left-margin COLUMN)' and set the column
to 'it-&gt;margin_column'.
(append_glyph): Support random-access indexing of margin column,
padding with spaces when the required column is beyond the used area.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Avoid compilation warnings in xwidget.c on macOS</title>
<updated>2025-12-21T06:15:55+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2025-12-21T06:15:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=040374be2dd0b601cdd69e2355cb1418b79398f6'/>
<id>040374be2dd0b601cdd69e2355cb1418b79398f6</id>
<content type='text'>
* src/xwidget.c (Fxwidget_perform_lispy_event): Avoid compiler
warnings about set but not used variables.  (Bug#80044)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xwidget.c (Fxwidget_perform_lispy_event): Avoid compiler
warnings about set but not used variables.  (Bug#80044)
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve handling of non-ASCII characters in 'transpose-regions'</title>
<updated>2025-12-20T18:23:29+00:00</updated>
<author>
<name>Jens Schmidt</name>
</author>
<published>2025-12-17T21:20:15+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0aabe62b64b4698340e8414d28b0fa0a3eabbf82'/>
<id>0aabe62b64b4698340e8414d28b0fa0a3eabbf82</id>
<content type='text'>
* src/editfns.c (Ftranspose_regions): Separate code related to character
semantics from that related to byte semantics and in that way leverage
optimizations for regions of equal length with respect to both
semantics.  Move and update comments dating back to the initial
implementation.
* test/src/editfns-tests.el (editfns-tests--transpose-regions-tests)
(editfns-tests--transpose-regions-markups)
(editfns-tests--transpose-regions): New test and accompanying variables.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/editfns.c (Ftranspose_regions): Separate code related to character
semantics from that related to byte semantics and in that way leverage
optimizations for regions of equal length with respect to both
semantics.  Move and update comments dating back to the initial
implementation.
* test/src/editfns-tests.el (editfns-tests--transpose-regions-tests)
(editfns-tests--transpose-regions-markups)
(editfns-tests--transpose-regions): New test and accompanying variables.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix byte-vs-char length issue in 'transpose-regions'</title>
<updated>2025-12-20T18:23:21+00:00</updated>
<author>
<name>Jens Schmidt</name>
</author>
<published>2025-12-17T21:06:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=875e42d501df262fcd9903528657997d025e5c68'/>
<id>875e42d501df262fcd9903528657997d025e5c68</id>
<content type='text'>
* src/editfns.c (Ftranspose_regions): Calculate length of range between
regions both in units of bytes and characters and use these values as
appropriate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/editfns.c (Ftranspose_regions): Calculate length of range between
regions both in units of bytes and characters and use these values as
appropriate.
</pre>
</div>
</content>
</entry>
</feed>
