<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src/textconv.c, branch scratch/cedet-object-name</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>Replace call[1-8] with calln</title>
<updated>2025-01-19T13:29:41+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2025-01-19T03:59:22+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=251e3d2654ae8e5fdee4624d9af93fb9c0e1b698'/>
<id>251e3d2654ae8e5fdee4624d9af93fb9c0e1b698</id>
<content type='text'>
Since the introduction of the 'calln' macro, the 'call1', 'call2', ...,
'call8' macros are just aliases for the former.  This is slightly
misleading and potentially unhelpful.  The number of arguments N can
also easily go out-of-synch with the used alias callN.  There is no
reason not to replace these aliases with using 'calln' directly.

To reduce the risk for mistakes, the tool Coccinelle was used to make
these changes.  See &lt;https://coccinelle.gitlabpages.inria.fr/website/&gt;.

* src/alloc.c, src/androidvfs.c, src/androidfns.c, src/buffer.c:
* src/callint.c, src/callproc.c, src/casefiddle.c, src/charset.c:
* src/chartab.c, src/cmds.c, src/coding.c, src/composite.c:
* src/data.c, src/dbusbind.c, src/dired.c, src/doc.c:
* src/emacs.c, src/eval.c, src/fileio.c, src/filelock.c:
* src/fns.c, src/frame.c, src/gtkutil.c, src/haikufns.c:
* src/haikumenu.c, src/image.c, src/insdel.c, src/intervals.c:
* src/keyboard.c, src/keymap.c, src/lisp.h, src/lread.c:
* src/minibuf.c, src/nsfns.m, src/nsselect.m, src/pgtkfns.c:
* src/pgtkselect.c, src/print.c, src/process.c, src/sort.c:
* src/syntax.c, src/textconv.c, src/textprop.c, src/undo.c:
* src/w32fns.c, src/window.c, src/xfaces.c, src/xfns.c:
* src/xmenu.c, src/xselect.c, src/xterm.c:
Replace all uses of 'call1', 'call2', ..., 'call8' with 'calln'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the introduction of the 'calln' macro, the 'call1', 'call2', ...,
'call8' macros are just aliases for the former.  This is slightly
misleading and potentially unhelpful.  The number of arguments N can
also easily go out-of-synch with the used alias callN.  There is no
reason not to replace these aliases with using 'calln' directly.

To reduce the risk for mistakes, the tool Coccinelle was used to make
these changes.  See &lt;https://coccinelle.gitlabpages.inria.fr/website/&gt;.

* src/alloc.c, src/androidvfs.c, src/androidfns.c, src/buffer.c:
* src/callint.c, src/callproc.c, src/casefiddle.c, src/charset.c:
* src/chartab.c, src/cmds.c, src/coding.c, src/composite.c:
* src/data.c, src/dbusbind.c, src/dired.c, src/doc.c:
* src/emacs.c, src/eval.c, src/fileio.c, src/filelock.c:
* src/fns.c, src/frame.c, src/gtkutil.c, src/haikufns.c:
* src/haikumenu.c, src/image.c, src/insdel.c, src/intervals.c:
* src/keyboard.c, src/keymap.c, src/lisp.h, src/lread.c:
* src/minibuf.c, src/nsfns.m, src/nsselect.m, src/pgtkfns.c:
* src/pgtkselect.c, src/print.c, src/process.c, src/sort.c:
* src/syntax.c, src/textconv.c, src/textprop.c, src/undo.c:
* src/w32fns.c, src/window.c, src/xfaces.c, src/xfns.c:
* src/xmenu.c, src/xselect.c, src/xterm.c:
Replace all uses of 'call1', 'call2', ..., 'call8' with 'calln'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2025</title>
<updated>2025-01-01T07:39:17+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-01-01T07:39:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4da38c632161867e914b3a13dc760f8019255f94'/>
<id>4da38c632161867e914b3a13dc760f8019255f94</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>Fix get_conversion_field --with-wide-wint overflow</title>
<updated>2024-07-16T22:37:20+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2024-07-14T22:24:21+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b4050ab75e896dd0df51624c956e0dd412dde2cc'/>
<id>b4050ab75e896dd0df51624c956e0dd412dde2cc</id>
<content type='text'>
* src/textconv.c (get_conversion_field): Set max value to
PTRDIFF_MAX, not MOST_POSITIVE_FIXNUM, since the variable is
ptrdiff_t, not EMACS_INT.  Problem caught by gcc -Woverflow on a
32-bit platform with --with-wide-int.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/textconv.c (get_conversion_field): Set max value to
PTRDIFF_MAX, not MOST_POSITIVE_FIXNUM, since the variable is
ptrdiff_t, not EMACS_INT.  Problem caught by gcc -Woverflow on a
32-bit platform with --with-wide-int.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix latent side-effects of respecting field boundaries in text conversion</title>
<updated>2024-06-25T03:37:09+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-06-25T03:37:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1b4c56272110944c4ea1483c6f9662de9e42a07b'/>
<id>1b4c56272110944c4ea1483c6f9662de9e42a07b</id>
<content type='text'>
* src/textconv.c (textconv_query, get_extracted_text)
(get_surrounding_text): Restore selected window in addition to
excursion.
(locate_and_save_position_in_field): Restore excursion lest the
current buffer differ from the selected window's contents, to
prevent redisplay from clobbering the current buffer when called
while the current buffer is at variance with the selected
window's contents, as seen with dired-other-window.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/textconv.c (textconv_query, get_extracted_text)
(get_surrounding_text): Restore selected window in addition to
excursion.
(locate_and_save_position_in_field): Restore excursion lest the
current buffer differ from the selected window's contents, to
prevent redisplay from clobbering the current buffer when called
while the current buffer is at variance with the selected
window's contents, as seen with dired-other-window.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix minor issues in textconv.c</title>
<updated>2024-05-27T10:01:00+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-05-27T09:59:36+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=435df51d1e7bffd768de15a6c91b7d6f7baa5cbf'/>
<id>435df51d1e7bffd768de15a6c91b7d6f7baa5cbf</id>
<content type='text'>
* src/textconv.c (really_commit_text): Introduce a few
additional debugging printouts.
(locate_and_save_position_in_field): Fix typo.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/textconv.c (really_commit_text): Introduce a few
additional debugging printouts.
(locate_and_save_position_in_field): Fix typo.
</pre>
</div>
</content>
</entry>
<entry>
<title>Work around bad GCC diagnostic in select_window</title>
<updated>2024-04-30T08:26:24+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2024-04-30T08:20:13+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=aad80e1934f09b643b93aeb3bf9c1d583af6e2ec'/>
<id>aad80e1934f09b643b93aeb3bf9c1d583af6e2ec</id>
<content type='text'>
* src/textconv.c (select_window): Add an eassume to work
around GCC bug 114893.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/textconv.c (select_window): Add an eassume to work
around GCC bug 114893.
</pre>
</div>
</content>
</entry>
<entry>
<title>Take fields into account during text conversion</title>
<updated>2024-04-29T04:34:39+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-04-21T13:51:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=430088c9ccec5fe9be57d267f45acdc87aa3b28e'/>
<id>430088c9ccec5fe9be57d267f45acdc87aa3b28e</id>
<content type='text'>
* lisp/cus-edit.el (Custom-mode): Enable text conversion, now
that fields are correctly treated.

* src/alloc.c (mark_frame): Mark f-&gt;conversion.field.

* src/androidterm.c (android_update_selection): Adjust
conversion region and selection position by the field start and
end.

* src/editfns.c (find_field): Export function.

* src/frame.c (make_frame): Clear f-&gt;conversion.field.

* src/frame.h (struct text_conversion_state) &lt;field&gt;: New field.

* src/lisp.h (find_fields, reset_frame_conversion): Export
functions.

* src/minibuf.c (Fread_from_minibuffer): Reset frame conversion
if Voverriding_text_conversion_style is set.

* src/textconv.c (textconv_query): Narrow to field.
(reset_frame_conversion): New function.
(reset_frame_state): Clear conversion field.
(really_delete_surrounding_text): Narrow to field.
(locate_and_save_position_in_field): New function.
(really_request_point_update, really_set_point_and_mark)
(complete_edit_check, handle_pending_conversion_events_1)
(handle_pending_conversion_events, get_conversion_field)
(set_composing_region, textconv_set_point_and_mark, replace_text)
(get_extracted_text, get_surrounding_text, report_point_change):
Compute, narrow to and offset by the currently active field
whenever point is updated or a command is received.
(syms_of_textconv): Revise doc strings.

* src/textconv.h (get_conversion_field): Export function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/cus-edit.el (Custom-mode): Enable text conversion, now
that fields are correctly treated.

* src/alloc.c (mark_frame): Mark f-&gt;conversion.field.

* src/androidterm.c (android_update_selection): Adjust
conversion region and selection position by the field start and
end.

* src/editfns.c (find_field): Export function.

* src/frame.c (make_frame): Clear f-&gt;conversion.field.

* src/frame.h (struct text_conversion_state) &lt;field&gt;: New field.

* src/lisp.h (find_fields, reset_frame_conversion): Export
functions.

* src/minibuf.c (Fread_from_minibuffer): Reset frame conversion
if Voverriding_text_conversion_style is set.

* src/textconv.c (textconv_query): Narrow to field.
(reset_frame_conversion): New function.
(reset_frame_state): Clear conversion field.
(really_delete_surrounding_text): Narrow to field.
(locate_and_save_position_in_field): New function.
(really_request_point_update, really_set_point_and_mark)
(complete_edit_check, handle_pending_conversion_events_1)
(handle_pending_conversion_events, get_conversion_field)
(set_composing_region, textconv_set_point_and_mark, replace_text)
(get_extracted_text, get_surrounding_text, report_point_change):
Compute, narrow to and offset by the currently active field
whenever point is updated or a command is received.
(syms_of_textconv): Revise doc strings.

* src/textconv.h (get_conversion_field): Export function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent passwords from being recorded during text conversion</title>
<updated>2024-03-26T02:11:26+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-26T02:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=728bf2c9e5353e68b16808ae455223549c16efc6'/>
<id>728bf2c9e5353e68b16808ae455223549c16efc6</id>
<content type='text'>
* doc/lispref/commands.texi (Misc Events): Document new value of
text-conversion-style.

* java/org/gnu/emacs/EmacsService.java (EmacsService)
&lt;IC_MODE_PASSWORD&gt;: New constant.

* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Set TYPE_TEXT_VARIATION_PASSWORD and IME_FLAG_FORCE_ASII if mode
is IC_MODE_PASSWORD.

* lisp/subr.el (read-passwd): Set text-conversion-style to
`password'.

* src/androidgui.h (enum android_ic_mode): New value
ANDROID_IC_MODE_PASSWORD.

* src/androidterm.c (android_reset_conversion): Handle
`password'.

* src/buffer.c (syms_of_buffer)
&lt;&amp;BVAR (current_buffer, text_conversion_style)&gt;: Update doc
string.

* src/textconv.c (syms_of_textconv) &lt;Qpassword&gt;: New DEFSYM.
&lt;Vtext_conversion_edits&gt;: Fix typos in doc string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/lispref/commands.texi (Misc Events): Document new value of
text-conversion-style.

* java/org/gnu/emacs/EmacsService.java (EmacsService)
&lt;IC_MODE_PASSWORD&gt;: New constant.

* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Set TYPE_TEXT_VARIATION_PASSWORD and IME_FLAG_FORCE_ASII if mode
is IC_MODE_PASSWORD.

* lisp/subr.el (read-passwd): Set text-conversion-style to
`password'.

* src/androidgui.h (enum android_ic_mode): New value
ANDROID_IC_MODE_PASSWORD.

* src/androidterm.c (android_reset_conversion): Handle
`password'.

* src/buffer.c (syms_of_buffer)
&lt;&amp;BVAR (current_buffer, text_conversion_style)&gt;: Update doc
string.

* src/textconv.c (syms_of_textconv) &lt;Qpassword&gt;: New DEFSYM.
&lt;Vtext_conversion_edits&gt;: Fix typos in doc string.
</pre>
</div>
</content>
</entry>
<entry>
<title>textconv.c: Fix warnings with-wide-int</title>
<updated>2024-02-03T21:07:24+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2024-02-03T21:07:24+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d41cdceb133e30c71a95fe893d70645472b326e3'/>
<id>d41cdceb133e30c71a95fe893d70645472b326e3</id>
<content type='text'>
* src/textconv.c (set_composing_region, textconv_set_point_and_mark):
Use `min/max`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/textconv.c (set_composing_region, textconv_set_point_and_mark):
Use `min/max`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prefer C23 ckd_* to Gnulib *_WRAPV and *_OK macros</title>
<updated>2024-01-28T08:26:44+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2024-01-28T08:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ad2c81082a62f9f781e4f5771fc223520d91cefd'/>
<id>ad2c81082a62f9f781e4f5771fc223520d91cefd</id>
<content type='text'>
* src/alloc.c (android_make_lisp_symbol) [HAVE_ANDROID &amp;&amp; !__clang__]:
* src/android.c (android_blit_copy, android_blit_xor)
(android_get_image):
* src/androidmenu.c (android_menu_show):
* src/androidselect.c (Fandroid_get_clipboard_data)
(android_notifications_notify_1):
* src/androidterm.c (android_decode_utf16)
(android_text_to_string):
* src/haiku_select.cc (be_display_notification):
* src/sfnt.c (sfnt_read_cmap_format_8, sfnt_read_cmap_format_12)
(sfnt_read_cmap_format_14, sfnt_read_cmap_table_1)
(sfnt_expand_compound_glyph_context, sfnt_poly_edges_exact)
(sfnt_read_meta_table, sfnt_read_ttc_header)
(sfnt_read_cvt_table, sfnt_read_fpgm_table)
(sfnt_read_prep_table, sfnt_make_interpreter)
(sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_2)
(sfnt_interpret_compound_glyph, sfnt_read_default_uvs_table)
(sfnt_read_nondefault_uvs_table, sfnt_create_uvs_context)
(sfnt_read_fvar_table, sfnt_read_gvar_table)
(sfnt_read_avar_table, sfnt_read_cvar_table):
* src/sfntfont-android.c (GET_SCANLINE_BUFFER):
* src/textconv.c (really_commit_text, really_set_composing_text)
(really_replace_text, get_surrounding_text):
Prefer C2x stdckdint.h macros to intprops.h macros.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/alloc.c (android_make_lisp_symbol) [HAVE_ANDROID &amp;&amp; !__clang__]:
* src/android.c (android_blit_copy, android_blit_xor)
(android_get_image):
* src/androidmenu.c (android_menu_show):
* src/androidselect.c (Fandroid_get_clipboard_data)
(android_notifications_notify_1):
* src/androidterm.c (android_decode_utf16)
(android_text_to_string):
* src/haiku_select.cc (be_display_notification):
* src/sfnt.c (sfnt_read_cmap_format_8, sfnt_read_cmap_format_12)
(sfnt_read_cmap_format_14, sfnt_read_cmap_table_1)
(sfnt_expand_compound_glyph_context, sfnt_poly_edges_exact)
(sfnt_read_meta_table, sfnt_read_ttc_header)
(sfnt_read_cvt_table, sfnt_read_fpgm_table)
(sfnt_read_prep_table, sfnt_make_interpreter)
(sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_2)
(sfnt_interpret_compound_glyph, sfnt_read_default_uvs_table)
(sfnt_read_nondefault_uvs_table, sfnt_create_uvs_context)
(sfnt_read_fvar_table, sfnt_read_gvar_table)
(sfnt_read_avar_table, sfnt_read_cvar_table):
* src/sfntfont-android.c (GET_SCANLINE_BUFFER):
* src/textconv.c (really_commit_text, really_set_composing_text)
(really_replace_text, get_surrounding_text):
Prefer C2x stdckdint.h macros to intprops.h macros.
</pre>
</div>
</content>
</entry>
</feed>
