<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src, branch fix/bug-48598</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>Fix reporting of last-event-device for synthetic events</title>
<updated>2022-04-08T00:22:40+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2022-04-08T00:22:40+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=6ac7fa7e78b84a6fbdf12a63d927ad55bacd8d91'/>
<id>6ac7fa7e78b84a6fbdf12a63d927ad55bacd8d91</id>
<content type='text'>
* src/keyboard.c (read_char): Clear `last-event-device' earlier.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/keyboard.c (read_char): Clear `last-event-device' earlier.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make device reporting work for tool bar clicks</title>
<updated>2022-04-08T00:13:49+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2022-04-08T00:13:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5414331d07a77d8e72aa44d4dd31f6af09bc161e'/>
<id>5414331d07a77d8e72aa44d4dd31f6af09bc161e</id>
<content type='text'>
* src/dispextern.h: Update prototyupes.
* src/xdisp.c (handle_tool_bar_click): Pass Qt to that function
instead.
(handle_tool_bar_click_with_device): New function.
* src/xterm.c (handle_one_xevent): Pass device to tool bar click
logic.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/dispextern.h: Update prototyupes.
* src/xdisp.c (handle_tool_bar_click): Pass Qt to that function
instead.
(handle_tool_bar_click_with_device): New function.
* src/xterm.c (handle_one_xevent): Pass device to tool bar click
logic.
</pre>
</div>
</content>
</entry>
<entry>
<title>* src/xterm.c (handle_one_xevent): Fix build warning on non-GTK builds.</title>
<updated>2022-04-07T23:47:10+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2022-04-07T23:47:10+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0622df36112e41074dfff432c782e3e3b5de3e47'/>
<id>0622df36112e41074dfff432c782e3e3b5de3e47</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>OClosure: New function `function-documentation`</title>
<updated>2022-04-07T19:59:09+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2022-04-07T19:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=39e8fd357dd0a1f3776c05eee2cc5be451686712'/>
<id>39e8fd357dd0a1f3776c05eee2cc5be451686712</id>
<content type='text'>
As mentioned in the original OClosure commit, OClosures (ab)use the
bytecode's docstring slot to hold the OClosure's type.  This currently
prevents OClosures from having their own docstring.

Introduce a new generic function `function-documentation` to fetch the
docstring of a function, which can then be implemented in various
different ways depending on the OClosure's type.

* lisp/simple.el (function-documentation): New generic function.
(bad-package-check): Strength-reduce `eval` to `symbol-value`.
* src/doc.c (Fdocumentation): Use it.

* lisp/emacs-lisp/oclosure.el (oclosure--accessor-docstring): New function.
* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test):
Add test for accessor's docstrings.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As mentioned in the original OClosure commit, OClosures (ab)use the
bytecode's docstring slot to hold the OClosure's type.  This currently
prevents OClosures from having their own docstring.

Introduce a new generic function `function-documentation` to fetch the
docstring of a function, which can then be implemented in various
different ways depending on the OClosure's type.

* lisp/simple.el (function-documentation): New generic function.
(bad-package-check): Strength-reduce `eval` to `symbol-value`.
* src/doc.c (Fdocumentation): Use it.

* lisp/emacs-lisp/oclosure.el (oclosure--accessor-docstring): New function.
* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test):
Add test for accessor's docstrings.
</pre>
</div>
</content>
</entry>
<entry>
<title>Expose the name of an event's input device to Lisp</title>
<updated>2022-04-07T13:16:11+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2022-04-07T13:16:11+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3b411417086ceb2ce3838160d01c6f250e47bbf3'/>
<id>3b411417086ceb2ce3838160d01c6f250e47bbf3</id>
<content type='text'>
This name can be used to identify the device for special
treatment, i.e. only interpolating scrolls coming from mice and
not touchpads inside pixel-scroll-precision-mode.

* doc/lispref/commands.texi (Command Loop Info): Document new
variable `last-event-device'.
* etc/NEWS: Announce new variable `last-event-device'.
* src/frame.h (struct frame): New field `last_mouse_device'.
* src/keyboard.c (read_char): Clear last-event-device.
(kbd_buffer_get_event): Set last-event-device to the event's
recorded device.
(init_keyboard): Clear last-event-device.
(syms_of_keyboard): New defvar `last-event-device'.
* src/termhooks.h (struct input_event): New field `device'.
(EVENT_INIT): Set it to the special value `Qt' by default.
* src/xterm.c (x_init_master_valuators): Record the device's
name.
(x_dnd_begin_drag_and_drop): Only preserve last event device if
the mouse ended up in the source frame.
(x_note_mouse_movement): New argument `source'.
(handle_one_xevent): Set input event sources whenever
appropriate.
(mark_xterm): Mark device names.

* src/xterm.h (struct xi_device_t): New field `name'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This name can be used to identify the device for special
treatment, i.e. only interpolating scrolls coming from mice and
not touchpads inside pixel-scroll-precision-mode.

* doc/lispref/commands.texi (Command Loop Info): Document new
variable `last-event-device'.
* etc/NEWS: Announce new variable `last-event-device'.
* src/frame.h (struct frame): New field `last_mouse_device'.
* src/keyboard.c (read_char): Clear last-event-device.
(kbd_buffer_get_event): Set last-event-device to the event's
recorded device.
(init_keyboard): Clear last-event-device.
(syms_of_keyboard): New defvar `last-event-device'.
* src/termhooks.h (struct input_event): New field `device'.
(EVENT_INIT): Set it to the special value `Qt' by default.
* src/xterm.c (x_init_master_valuators): Record the device's
name.
(x_dnd_begin_drag_and_drop): Only preserve last event device if
the mouse ended up in the source frame.
(x_note_mouse_movement): New argument `source'.
(handle_one_xevent): Set input event sources whenever
appropriate.
(mark_xterm): Mark device names.

* src/xterm.h (struct xi_device_t): New field `name'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix xwidget smooth scrolling when the default pointer is not a touchpad</title>
<updated>2022-04-07T11:43:41+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2022-04-07T11:43:15+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c1a6aa0c3eb1029e3f7f5c3b227d7952bee775b8'/>
<id>c1a6aa0c3eb1029e3f7f5c3b227d7952bee775b8</id>
<content type='text'>
* xwidget.c (find_suitable_pointer): New argument
`need_smooth'.  Try to find a touchpad if that is set.
(xwidget_button_1, xwidget_button, xwidget_motion_notify)
(xwidget_scroll, xwidget_pinch, xw_notify_virtual_upwards_until)
(xw_notify_virtual_downwards_until):
(xw_maybe_synthesize_crossing):
(xwidget_motion_or_crossing, synthesize_focus_in_event): Set
parameter accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* xwidget.c (find_suitable_pointer): New argument
`need_smooth'.  Try to find a touchpad if that is set.
(xwidget_button_1, xwidget_button, xwidget_motion_notify)
(xwidget_scroll, xwidget_pinch, xw_notify_virtual_upwards_until)
(xw_notify_virtual_downwards_until):
(xw_maybe_synthesize_crossing):
(xwidget_motion_or_crossing, synthesize_focus_in_event): Set
parameter accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Clarify read-answer-short/use-short-answers action</title>
<updated>2022-04-07T11:37:16+00:00</updated>
<author>
<name>Lars Ingebrigtsen</name>
</author>
<published>2022-04-07T11:37:16+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4c8e23d5d7fb662dc9eefba67b52ae5df0dffe62'/>
<id>4c8e23d5d7fb662dc9eefba67b52ae5df0dffe62</id>
<content type='text'>
* lisp/emacs-lisp/map-ynp.el (read-answer-short): Clarify what
this variable affects (bug#54754).

* src/fns.c (Fyes_or_no_p): Mention `use-short-answers'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/emacs-lisp/map-ynp.el (read-answer-short): Clarify what
this variable affects (bug#54754).

* src/fns.c (Fyes_or_no_p): Mention `use-short-answers'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix error when calling DND movement tracking function</title>
<updated>2022-04-07T06:32:10+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2022-04-07T06:32:10+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=510eb1d401b5708657819913a52a3d8ba2dc0f3f'/>
<id>510eb1d401b5708657819913a52a3d8ba2dc0f3f</id>
<content type='text'>
* src/xterm.c (x_dnd_begin_drag_and_drop): Verify
x_dnd_movement_x and x_dnd_movement_y are wholenums before
caling posn-at-x-y.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xterm.c (x_dnd_begin_drag_and_drop): Verify
x_dnd_movement_x and x_dnd_movement_y are wholenums before
caling posn-at-x-y.
</pre>
</div>
</content>
</entry>
<entry>
<title>* src/xterm.c (xm_write_targets_table): Remove extra XGrabServer pair.</title>
<updated>2022-04-07T06:25:52+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2022-04-07T06:25:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=57ad2f333c754c927b7cddc17a61bd73fe38a738'/>
<id>57ad2f333c754c927b7cddc17a61bd73fe38a738</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix DND bugs on GTK</title>
<updated>2022-04-07T06:02:34+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2022-04-07T06:02:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=48bbc4a9a1606b76cac2382b93743fb22dc044c7'/>
<id>48bbc4a9a1606b76cac2382b93743fb22dc044c7</id>
<content type='text'>
* src/xterm.c (handle_one_xevent): Don't let some client
messages reach the toolkit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/xterm.c (handle_one_xevent): Don't let some client
messages reach the toolkit.
</pre>
</div>
</content>
</entry>
</feed>
