<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src/term.c, branch scratch/octave-eldoc-fixes</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>Merge from origin/emacs-26</title>
<updated>2018-10-03T16:23:16+00:00</updated>
<author>
<name>Glenn Morris</name>
</author>
<published>2018-10-03T16:23:16+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=48adb87bcb0f27e2d18fc6523c472af4916d5884'/>
<id>48adb87bcb0f27e2d18fc6523c472af4916d5884</id>
<content type='text'>
7296b6f Improve cl-do, cl-do* docstrings
d416109 Avoid returning early in 'while-no-input' due to subprocesses
e8a4d94 Cleanup when opening a new terminal fails. (Bug#32794)

# Conflicts:
#	etc/NEWS
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
7296b6f Improve cl-do, cl-do* docstrings
d416109 Avoid returning early in 'while-no-input' due to subprocesses
e8a4d94 Cleanup when opening a new terminal fails. (Bug#32794)

# Conflicts:
#	etc/NEWS
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup when opening a new terminal fails. (Bug#32794)</title>
<updated>2018-09-29T06:30:01+00:00</updated>
<author>
<name>John Shahid</name>
</author>
<published>2018-09-21T15:15:10+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e8a4d942dd7305b85850603c97d987e52510a726'/>
<id>e8a4d942dd7305b85850603c97d987e52510a726</id>
<content type='text'>
* src/term.c (init_tty): Call delete_terminal_internal if emacs_open
fail.
* src/terminal.c (delete_terminal): Move some code into
delete_terminal_internal and call it.
(delete_terminal_internal): New function.
* src/termhooks.h: Prototype for delete_terminal_internal.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/term.c (init_tty): Call delete_terminal_internal if emacs_open
fail.
* src/terminal.c (delete_terminal): Move some code into
delete_terminal_internal and call it.
(delete_terminal_internal): New function.
* src/termhooks.h: Prototype for delete_terminal_internal.
</pre>
</div>
</content>
</entry>
<entry>
<title>More macro renamings for bignum</title>
<updated>2018-08-08T00:08:53+00:00</updated>
<author>
<name>Tom Tromey</name>
</author>
<published>2018-08-08T00:08:53+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d1ec3a0a8e4d7d56ebc1e4fa743130b9974ac6a8'/>
<id>d1ec3a0a8e4d7d56ebc1e4fa743130b9974ac6a8</id>
<content type='text'>
* src/alloc.c, src/bidi.c, src/buffer.c, src/buffer.h, src/bytecode.c,
src/callint.c, src/callproc.c, src/casefiddle.c, src/casetab.c,
src/category.c, src/ccl.c, src/character.c, src/character.h,
src/charset.c, src/charset.h, src/chartab.c, src/cmds.c, src/coding.c,
src/composite.c, src/composite.h, src/data.c, src/dbusbind.c,
src/decompress.c, src/dired.c, src/dispextern.h, src/dispnew.c,
src/disptab.h, src/doc.c, src/dosfns.c, src/editfns.c,
src/emacs-module.c, src/emacs.c, src/eval.c, src/fileio.c,
src/floatfns.c, src/fns.c, src/font.c, src/font.h, src/fontset.c,
src/frame.c, src/frame.h, src/fringe.c, src/ftcrfont.c, src/ftfont.c,
src/gfilenotify.c, src/gnutls.c, src/gtkutil.c, src/image.c,
src/indent.c, src/insdel.c, src/intervals.c, src/json.c,
src/keyboard.c, src/keymap.c, src/kqueue.c, src/lcms.c, src/lisp.h,
src/lread.c, src/macros.c, src/marker.c, src/menu.c, src/minibuf.c,
src/msdos.c, src/print.c, src/process.c, src/profiler.c, src/search.c,
src/sound.c, src/syntax.c, src/syntax.h, src/sysdep.c, src/term.c,
src/termhooks.h, src/textprop.c, src/undo.c, src/w32.c,
src/w32console.c, src/w32fns.c, src/w32font.c, src/w32inevt.c,
src/w32proc.c, src/w32select.c, src/w32term.c, src/w32term.h,
src/w32uniscribe.c, src/window.c, src/xdisp.c, src/xfaces.c,
src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c, src/xml.c,
src/xrdb.c, src/xselect.c, src/xsettings.c, src/xterm.c, src/xwidget.c
Rename XINT-&gt;XFIXNUM, XFASTINT-&gt;XFIXNAT, XUINT-&gt;XUFIXNUM.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/alloc.c, src/bidi.c, src/buffer.c, src/buffer.h, src/bytecode.c,
src/callint.c, src/callproc.c, src/casefiddle.c, src/casetab.c,
src/category.c, src/ccl.c, src/character.c, src/character.h,
src/charset.c, src/charset.h, src/chartab.c, src/cmds.c, src/coding.c,
src/composite.c, src/composite.h, src/data.c, src/dbusbind.c,
src/decompress.c, src/dired.c, src/dispextern.h, src/dispnew.c,
src/disptab.h, src/doc.c, src/dosfns.c, src/editfns.c,
src/emacs-module.c, src/emacs.c, src/eval.c, src/fileio.c,
src/floatfns.c, src/fns.c, src/font.c, src/font.h, src/fontset.c,
src/frame.c, src/frame.h, src/fringe.c, src/ftcrfont.c, src/ftfont.c,
src/gfilenotify.c, src/gnutls.c, src/gtkutil.c, src/image.c,
src/indent.c, src/insdel.c, src/intervals.c, src/json.c,
src/keyboard.c, src/keymap.c, src/kqueue.c, src/lcms.c, src/lisp.h,
src/lread.c, src/macros.c, src/marker.c, src/menu.c, src/minibuf.c,
src/msdos.c, src/print.c, src/process.c, src/profiler.c, src/search.c,
src/sound.c, src/syntax.c, src/syntax.h, src/sysdep.c, src/term.c,
src/termhooks.h, src/textprop.c, src/undo.c, src/w32.c,
src/w32console.c, src/w32fns.c, src/w32font.c, src/w32inevt.c,
src/w32proc.c, src/w32select.c, src/w32term.c, src/w32term.h,
src/w32uniscribe.c, src/window.c, src/xdisp.c, src/xfaces.c,
src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c, src/xml.c,
src/xrdb.c, src/xselect.c, src/xsettings.c, src/xterm.c, src/xwidget.c
Rename XINT-&gt;XFIXNUM, XFASTINT-&gt;XFIXNAT, XUINT-&gt;XUFIXNUM.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename integerp-&gt;fixnum, etc, in preparation for bignums</title>
<updated>2018-07-13T04:12:27+00:00</updated>
<author>
<name>Tom Tromey</name>
</author>
<published>2018-07-07T03:56:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=42fe787b0f26c2df682b2797407a669ef8522ccb'/>
<id>42fe787b0f26c2df682b2797407a669ef8522ccb</id>
<content type='text'>
* src/json.c, src/keyboard.c, src/keyboard.h, src/keymap.c,
src/kqueue.c, src/lcms.c, src/lisp.h, src/lread.c, src/macros.c,
src/marker.c, src/menu.c, src/minibuf.c, src/msdos.c, src/print.c,
src/process.c, src/profiler.c, src/search.c, src/sound.c,
src/syntax.c, src/sysdep.c, src/term.c, src/terminal.c,
src/textprop.c, src/undo.c, src/w16select.c, src/w32.c,
src/w32console.c, src/w32cygwinx.c, src/w32fns.c, src/w32font.c,
src/w32inevt.c, src/w32proc.c, src/w32select.c, src/w32term.c,
src/w32uniscribe.c, src/widget.c, src/window.c, src/xdisp.c,
src/xfaces.c, src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c,
src/xrdb.c, src/xselect.c, src/xterm.c, src/xwidget.c: Rename
INTEGERP-&gt;FIXNUM, make_number-&gt;make_fixnum, CHECK_NUMBER-&gt;CHECK_FIXNUM,
make_natnum-&gt;make_fixed_natum, NUMBERP-&gt;FIXED_OR_FLOATP,
NATNUMP-&gt;FIXNATP, CHECK_NATNUM-&gt;CHECK_FIXNAT.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/json.c, src/keyboard.c, src/keyboard.h, src/keymap.c,
src/kqueue.c, src/lcms.c, src/lisp.h, src/lread.c, src/macros.c,
src/marker.c, src/menu.c, src/minibuf.c, src/msdos.c, src/print.c,
src/process.c, src/profiler.c, src/search.c, src/sound.c,
src/syntax.c, src/sysdep.c, src/term.c, src/terminal.c,
src/textprop.c, src/undo.c, src/w16select.c, src/w32.c,
src/w32console.c, src/w32cygwinx.c, src/w32fns.c, src/w32font.c,
src/w32inevt.c, src/w32proc.c, src/w32select.c, src/w32term.c,
src/w32uniscribe.c, src/widget.c, src/window.c, src/xdisp.c,
src/xfaces.c, src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c,
src/xrdb.c, src/xselect.c, src/xterm.c, src/xwidget.c: Rename
INTEGERP-&gt;FIXNUM, make_number-&gt;make_fixnum, CHECK_NUMBER-&gt;CHECK_FIXNUM,
make_natnum-&gt;make_fixed_natum, NUMBERP-&gt;FIXED_OR_FLOATP,
NATNUMP-&gt;FIXNATP, CHECK_NATNUM-&gt;CHECK_FIXNAT.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tune SAFE_FREE</title>
<updated>2018-06-28T07:42:46+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2018-06-28T07:37:08+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=76eda952b09db6d79342b7ddfcae45c7c836ab62'/>
<id>76eda952b09db6d79342b7ddfcae45c7c836ab62</id>
<content type='text'>
On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e) this sped
up a SAFE_FREE-using microbenchmark (string-distance "abc" "abc")
by about 18%, and shrank the Emacs text size by about 0.1%.
* src/callint.c (Fcall_interactively):
* src/callproc.c (call_process):
* src/doc.c (get_doc_string, Fsnarf_documentation):
* src/editfns.c (Freplace_buffer_contents):
* src/emacs-module.c (funcall_module):
* src/eval.c (Flet):
* src/process.c (Fmake_process):
* src/term.c (tty_menu_show):
* src/xdisp.c (safe__call):
* src/xmenu.c (x_menu_show):
Use SAFE_FREE_UNBIND_TO.
* src/data.c (wrong_choice): No need to call SAFE_FREE here.
* src/lisp.h (USE_SAFE_ALLOCA):
* src/regex.c (REGEX_USE_SAFE_ALLOCA):
Do not declare sa_must_free local; no longer needed.
All uses removed.
(SAFE_FREE): Rewrite in terms of safe_free.
(safe_free): New function, optimized to use xfree.
(SAFE_FREE_UNBIND_TO): New macro.
(safe_free_unbind_to): New function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e) this sped
up a SAFE_FREE-using microbenchmark (string-distance "abc" "abc")
by about 18%, and shrank the Emacs text size by about 0.1%.
* src/callint.c (Fcall_interactively):
* src/callproc.c (call_process):
* src/doc.c (get_doc_string, Fsnarf_documentation):
* src/editfns.c (Freplace_buffer_contents):
* src/emacs-module.c (funcall_module):
* src/eval.c (Flet):
* src/process.c (Fmake_process):
* src/term.c (tty_menu_show):
* src/xdisp.c (safe__call):
* src/xmenu.c (x_menu_show):
Use SAFE_FREE_UNBIND_TO.
* src/data.c (wrong_choice): No need to call SAFE_FREE here.
* src/lisp.h (USE_SAFE_ALLOCA):
* src/regex.c (REGEX_USE_SAFE_ALLOCA):
Do not declare sa_must_free local; no longer needed.
All uses removed.
(SAFE_FREE): Rewrite in terms of safe_free.
(safe_free): New function, optimized to use xfree.
(SAFE_FREE_UNBIND_TO): New macro.
(safe_free_unbind_to): New function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use record_unwind_protect_ptr to avoid allocation</title>
<updated>2018-06-15T00:13:38+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2018-06-14T22:59:08+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3f0a8a2e14669cf4a1f56e97f8b1299fced79796'/>
<id>3f0a8a2e14669cf4a1f56e97f8b1299fced79796</id>
<content type='text'>
* src/term.c (struct tty_pop_down_menu): New type.
(tty_pop_down_menu, tty_menu_show): Use it, along with
record_unwind_protect_ptr, to avoid allocating a Lisp_Misc.
* src/xmenu.c (struct pop_down_menu): New type.
(pop_down_menu, x_menu_show): Use it, likewise.
* src/xterm.c (x_cr_destroy, x_cr_export_frames):
Use record_unwind_protect_pointer to avoid possibly allocating
a Lisp_Misc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/term.c (struct tty_pop_down_menu): New type.
(tty_pop_down_menu, tty_menu_show): Use it, along with
record_unwind_protect_ptr, to avoid allocating a Lisp_Misc.
* src/xmenu.c (struct pop_down_menu): New type.
(pop_down_menu, x_menu_show): Use it, likewise.
* src/xterm.c (x_cr_destroy, x_cr_export_frames):
Use record_unwind_protect_pointer to avoid possibly allocating
a Lisp_Misc.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for per-window face remapping</title>
<updated>2018-06-08T04:03:30+00:00</updated>
<author>
<name>Daniel Colascione</name>
</author>
<published>2018-06-07T23:20:06+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9d447fa1562c69f2224bdefc37703c0eb0f7d7cf'/>
<id>9d447fa1562c69f2224bdefc37703c0eb0f7d7cf</id>
<content type='text'>
Extend face specifications to support the notion of filtering to a
specific context and add a filter that limits a face specification to
windows having a certain parameter.

* src/xfaces.c:
(evaluate_face_filter,filter_face_ref): New functions.
(merge_face_ref): Ignore filtered face specifications.
(Fx_list_fonts,get_lface_attributes,merge_face_vectors)
(merge_named_face,merge_face_ref,merge_face_ref)
(Finternal_merge_in_global_face,Fface_font,lookup_named_face)
(lookup_basic_face,Fface_attributes_as_vector)
(x_supports_face_attributes_p)
(Fdisplay_supports_face_attributes_p,realize_named_face)
(compute_char_face,face_at_buffer_position)
(face_at_buffer_position,face_at_buffer_position)
(face_at_buffer_position)
(face_for_overlay_string,face_at_string_position,merge_faces):
Pass window to face machinery.
(syms_of_xfaces): Add :window and :filtered

* src/xdisp.c (init_iterator, handle_face_prop)
(handle_single_display_spec, merge_escape_glyph_face)
(merge_glyphless_glyph_face, get_next_display_element)
(next_element_from_display_vector, append_space_for_newline)
(extend_face_to_end_of_line,highlight_trailing_whitespace)
(maybe_produce_line_number)
(display_line, calc_line_height_property): Pass window to
face machinery.

* src/term.c (tty_menu_activate): Adjust to new face core
function signature.

* src/msdos.c (XMenuActivate): Adjust to new face core
function signature.

* src/fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
Pass window to face machinery.

* src/font.c (font_range, Finternal_char_font): Pass window to
face machinery.

* src/dispnew.c (spec_glyph_lookup_face): Pass window to
face machinery.

* src/dispextern.h:
(lookup_named_face,lookup_basic_face)
(lookup_derived_face,merge_faces):
Add struct window arguments to prototypes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extend face specifications to support the notion of filtering to a
specific context and add a filter that limits a face specification to
windows having a certain parameter.

* src/xfaces.c:
(evaluate_face_filter,filter_face_ref): New functions.
(merge_face_ref): Ignore filtered face specifications.
(Fx_list_fonts,get_lface_attributes,merge_face_vectors)
(merge_named_face,merge_face_ref,merge_face_ref)
(Finternal_merge_in_global_face,Fface_font,lookup_named_face)
(lookup_basic_face,Fface_attributes_as_vector)
(x_supports_face_attributes_p)
(Fdisplay_supports_face_attributes_p,realize_named_face)
(compute_char_face,face_at_buffer_position)
(face_at_buffer_position,face_at_buffer_position)
(face_at_buffer_position)
(face_for_overlay_string,face_at_string_position,merge_faces):
Pass window to face machinery.
(syms_of_xfaces): Add :window and :filtered

* src/xdisp.c (init_iterator, handle_face_prop)
(handle_single_display_spec, merge_escape_glyph_face)
(merge_glyphless_glyph_face, get_next_display_element)
(next_element_from_display_vector, append_space_for_newline)
(extend_face_to_end_of_line,highlight_trailing_whitespace)
(maybe_produce_line_number)
(display_line, calc_line_height_property): Pass window to
face machinery.

* src/term.c (tty_menu_activate): Adjust to new face core
function signature.

* src/msdos.c (XMenuActivate): Adjust to new face core
function signature.

* src/fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
Pass window to face machinery.

* src/font.c (font_range, Finternal_char_font): Pass window to
face machinery.

* src/dispnew.c (spec_glyph_lookup_face): Pass window to
face machinery.

* src/dispextern.h:
(lookup_named_face,lookup_basic_face)
(lookup_derived_face,merge_faces):
Add struct window arguments to prototypes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix display of TABs in hscrolled windows with line numbers</title>
<updated>2018-06-02T09:15:14+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2018-03-07T18:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=8b2b4b580c38d7f1d95f8b2bf1f7c6ad8b9207b9'/>
<id>8b2b4b580c38d7f1d95f8b2bf1f7c6ad8b9207b9</id>
<content type='text'>
* src/dispextern.h (struct it): New members tab_offset and
line_number_produced_p.
* src/xdisp.c (display_line): Don't set row-&gt;x to a negative value
if line numbers are being displayed.  (Bug#30582)
Reset the line_number_produced_p flag before laying out the glyph
row.
(x_produce_glyphs): Use the line_number_produced_p flag to decide
whether to offset the X coordinate due to line-number display.
Use the tab_offset member to restore the original TAB width for
alignment purposes.
(move_it_in_display_line_to): Don't produce line numbers when moving
in hscrolled window to the left of first_visible_x.
(maybe_produce_line_number): Set the line_number_produced_p flag.
(Bug#30584)
* src/term.c (produce_glyphs): Correct TAB width only when
line_number_produced_p flag is set.

(cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/dispextern.h (struct it): New members tab_offset and
line_number_produced_p.
* src/xdisp.c (display_line): Don't set row-&gt;x to a negative value
if line numbers are being displayed.  (Bug#30582)
Reset the line_number_produced_p flag before laying out the glyph
row.
(x_produce_glyphs): Use the line_number_produced_p flag to decide
whether to offset the X coordinate due to line-number display.
Use the tab_offset member to restore the original TAB width for
alignment purposes.
(move_it_in_display_line_to): Don't produce line numbers when moving
in hscrolled window to the left of first_visible_x.
(maybe_produce_line_number): Set the line_number_produced_p flag.
(Bug#30584)
* src/term.c (produce_glyphs): Correct TAB width only when
line_number_produced_p flag is set.

(cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)
</pre>
</div>
</content>
</entry>
<entry>
<title>Port --enable-gcc-warnings to GCC 8</title>
<updated>2018-04-28T23:56:48+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2018-04-28T23:49:24+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=8c3215e7a47e3caaa005bf573765ed63e0739b89'/>
<id>8c3215e7a47e3caaa005bf573765ed63e0739b89</id>
<content type='text'>
* configure.ac: Do not use GCC 8’s new -Wcast-align flag.
* lib-src/ebrowse.c (xmalloc):
* lib-src/emacsclient.c (xmalloc, xstrdup):
* lib-src/etags.c (xmalloc):
* lib-src/make-docfile.c (xmalloc):
* lib-src/movemail.c (xmalloc):
* src/dispnew.c (new_glyph_pool):
* src/regex.c (xmalloc):
* src/term.c (tty_menu_create):
* src/tparam.h (tparam):
Use ATTRIBUTE_MALLOC.  Also see GCC bug 85562.
* lib-src/emacsclient.c (fail):
Do not dereference a null pointer.
* src/frame.c (delete_frame):
Add a decl with UNINIT to work around GCC bug 85563.
* src/menu.h (finish_menu_items):
Do not use attribute const.
* src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* configure.ac: Do not use GCC 8’s new -Wcast-align flag.
* lib-src/ebrowse.c (xmalloc):
* lib-src/emacsclient.c (xmalloc, xstrdup):
* lib-src/etags.c (xmalloc):
* lib-src/make-docfile.c (xmalloc):
* lib-src/movemail.c (xmalloc):
* src/dispnew.c (new_glyph_pool):
* src/regex.c (xmalloc):
* src/term.c (tty_menu_create):
* src/tparam.h (tparam):
Use ATTRIBUTE_MALLOC.  Also see GCC bug 85562.
* lib-src/emacsclient.c (fail):
Do not dereference a null pointer.
* src/frame.c (delete_frame):
Add a decl with UNINIT to work around GCC bug 85563.
* src/menu.h (finish_menu_items):
Do not use attribute const.
* src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix display of TABs in hscrolled windows with line numbers</title>
<updated>2018-03-07T18:40:44+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2018-03-07T18:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1ac190553886ff20817d3dd218464e2fc6f9e42a'/>
<id>1ac190553886ff20817d3dd218464e2fc6f9e42a</id>
<content type='text'>
* src/dispextern.h (struct it): New members tab_offset and
line_number_produced_p.
* src/xdisp.c (display_line): Don't set row-&gt;x to a negative value
if line numbers are being displayed.  (Bug#30582)
Reset the line_number_produced_p flag before laying out the glyph
row.
(x_produce_glyphs): Use the line_number_produced_p flag to decide
whether to offset the X coordinate due to line-number display.
Use the tab_offset member to restore the original TAB width for
alignment purposes.
(move_it_in_display_line_to): Don't produce line numbers when moving
in hscrolled window to the left of first_visible_x.
(maybe_produce_line_number): Set the line_number_produced_p flag.
(Bug#30584)
* src/term.c (produce_glyphs): Correct TAB width only when
line_number_produced_p flag is set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/dispextern.h (struct it): New members tab_offset and
line_number_produced_p.
* src/xdisp.c (display_line): Don't set row-&gt;x to a negative value
if line numbers are being displayed.  (Bug#30582)
Reset the line_number_produced_p flag before laying out the glyph
row.
(x_produce_glyphs): Use the line_number_produced_p flag to decide
whether to offset the X coordinate due to line-number display.
Use the tab_offset member to restore the original TAB width for
alignment purposes.
(move_it_in_display_line_to): Don't produce line numbers when moving
in hscrolled window to the left of first_visible_x.
(maybe_produce_line_number): Set the line_number_produced_p flag.
(Bug#30584)
* src/term.c (produce_glyphs): Correct TAB width only when
line_number_produced_p flag is set.
</pre>
</div>
</content>
</entry>
</feed>
