<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/etc, branch scratch/track-changes</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>lisp/emacs-lisp/track-changes.el: New file</title>
<updated>2024-04-10T02:28:11+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2024-04-05T21:37:32+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=820011a254231d6255b0d7fe07ff4ab1314c3b6e'/>
<id>820011a254231d6255b0d7fe07ff4ab1314c3b6e</id>
<content type='text'>
This new package provides an API that is easier to use right than
our `*-change-functions` hooks.

The patch includes changes to `diff-mode.el` and `eglot.el` to
make use of this new package.

* lisp/emacs-lisp/track-changes.el: New file.
* test/lisp/emacs-lisp/track-changes-tests.el: New file.
* doc/lispref/text.texi (Tracking changes): New subsection.

* lisp/progmodes/eglot.el: Require `track-changes`.
(eglot--virtual-pos-to-lsp-position): New function.
(eglot--track-changes): New var.
(eglot--managed-mode): Use `track-changes-register` i.s.o
`after/before-change-functions` when available.
(eglot--track-changes-signal): New function, partly extracted from
`eglot--after-change`.
(eglot--after-change): Use it.
(eglot--track-changes-fetch): New function.
(eglot--signal-textDocument/didChange): Use it.

* lisp/vc/diff-mode.el: Require `track-changes`.
Also require `easy-mmode` before the `eval-when-compile`s.
(diff-unhandled-changes): Delete variable.
(diff-after-change-function): Delete function.
(diff--track-changes-function): Rename from `diff-post-command-hook`
and adjust to new calling convention.
(diff--track-changes): New variable.
(diff--track-changes-signal): New function.
(diff-mode, diff-minor-mode): Use it with `track-changes-register`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This new package provides an API that is easier to use right than
our `*-change-functions` hooks.

The patch includes changes to `diff-mode.el` and `eglot.el` to
make use of this new package.

* lisp/emacs-lisp/track-changes.el: New file.
* test/lisp/emacs-lisp/track-changes-tests.el: New file.
* doc/lispref/text.texi (Tracking changes): New subsection.

* lisp/progmodes/eglot.el: Require `track-changes`.
(eglot--virtual-pos-to-lsp-position): New function.
(eglot--track-changes): New var.
(eglot--managed-mode): Use `track-changes-register` i.s.o
`after/before-change-functions` when available.
(eglot--track-changes-signal): New function, partly extracted from
`eglot--after-change`.
(eglot--after-change): Use it.
(eglot--track-changes-fetch): New function.
(eglot--signal-textDocument/didChange): Use it.

* lisp/vc/diff-mode.el: Require `track-changes`.
Also require `easy-mmode` before the `eval-when-compile`s.
(diff-unhandled-changes): Delete variable.
(diff-after-change-function): Delete function.
(diff--track-changes-function): Rename from `diff-post-command-hook`
and adjust to new calling convention.
(diff--track-changes): New variable.
(diff--track-changes-signal): New function.
(diff-mode, diff-minor-mode): Use it with `track-changes-register`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'mouse-wheel-buttons'</title>
<updated>2024-04-09T14:28:05+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2024-04-09T14:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d0cf9f3601b88e4a87a0afd557110ea4c6834998'/>
<id>d0cf9f3601b88e4a87a0afd557110ea4c6834998</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>(mouse-wheel-buttons): Map old-style wheel buttons to actual wheel events</title>
<updated>2024-04-09T14:26:07+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2024-01-29T14:35:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e720ba6219394d275dd741c5f17feea1ee0bf9af'/>
<id>e720ba6219394d275dd741c5f17feea1ee0bf9af</id>
<content type='text'>
Change the handling of the old X11 convention that uses mouse-4/5/6/7
events to represent wheel events: instead of asking downstream
packages to use the `mouse-wheel-*-event` variables to know which events
represent wheel events, use new var `mouse-wheel-buttons` to directly
convert those events into the standard `wheel-up/down/left/right` events
used everywhere else.

This will simplify the work of packages which can thus just bind their
commands to `wheel-up/down/left/right`.

* lisp/mouse.el (mouse-wheel-buttons): New custom variable.

* src/keyboard.c (make_lispy_event): Adjust for "wheel-clicks" on the tab-bar.
* src/xterm.c (x_construct_mouse_click): Add `xi2` argument and
obey `mouse-wheel-buttons` variable.
(handle_one_xevent): Adjust calls accordingly.
(syms_of_xterm): Define the `mouse-wheel-buttons` and the
`wheel-up/down/left/right`symbols.

* lisp/xt-mouse.el: Don't require `mwheel` any more.
(xterm-mouse--same-button-p): Delete function.
(xterm-mouse--read-event-sequence): Use `mouse-wheel-buttons`.

* lisp/mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event)
(mouse-wheel-left-event, mouse-wheel-right-event): Make obsolete.
(mouse-wheel-obey-old-style-wheel-buttons): Delete variable.

* lisp/completion-preview.el (completion-preview--mouse-map):
* lisp/progmodes/flymake.el (flymake--mode-line-counter-map):
* lisp/edmacro.el (edmacro-fix-menu-commands): Silence warnings.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the handling of the old X11 convention that uses mouse-4/5/6/7
events to represent wheel events: instead of asking downstream
packages to use the `mouse-wheel-*-event` variables to know which events
represent wheel events, use new var `mouse-wheel-buttons` to directly
convert those events into the standard `wheel-up/down/left/right` events
used everywhere else.

This will simplify the work of packages which can thus just bind their
commands to `wheel-up/down/left/right`.

* lisp/mouse.el (mouse-wheel-buttons): New custom variable.

* src/keyboard.c (make_lispy_event): Adjust for "wheel-clicks" on the tab-bar.
* src/xterm.c (x_construct_mouse_click): Add `xi2` argument and
obey `mouse-wheel-buttons` variable.
(handle_one_xevent): Adjust calls accordingly.
(syms_of_xterm): Define the `mouse-wheel-buttons` and the
`wheel-up/down/left/right`symbols.

* lisp/xt-mouse.el: Don't require `mwheel` any more.
(xterm-mouse--same-button-p): Delete function.
(xterm-mouse--read-event-sequence): Use `mouse-wheel-buttons`.

* lisp/mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event)
(mouse-wheel-left-event, mouse-wheel-right-event): Make obsolete.
(mouse-wheel-obey-old-style-wheel-buttons): Delete variable.

* lisp/completion-preview.el (completion-preview--mouse-map):
* lisp/progmodes/flymake.el (flymake--mode-line-counter-map):
* lisp/edmacro.el (edmacro-fix-menu-commands): Silence warnings.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * etc/NEWS: Announce new ls-lisp options.  (Bug#70721)</title>
<updated>2024-04-09T03:28:49+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2024-04-09T03:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=677bc276998de0a467803b35134925d833d1ab9d'/>
<id>677bc276998de0a467803b35134925d833d1ab9d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Document tree-sitter things feature (bug#70016) (bug#68824)</title>
<updated>2024-04-08T06:22:44+00:00</updated>
<author>
<name>Yuan Fu</name>
</author>
<published>2024-04-07T22:59:48+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4efe3b99a5d0d72b6a96bf339601f9390ca5c03a'/>
<id>4efe3b99a5d0d72b6a96bf339601f9390ca5c03a</id>
<content type='text'>
* doc/lispref/parsing.texi (Retrieving Nodes): Mention new kinds of
predicate argument that the tree-traversing functions accept (which are
thing symbols and thing definitions).
(User-defined Things): New node dedicated to thing definition and
navigation functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/lispref/parsing.texi (Retrieving Nodes): Mention new kinds of
predicate argument that the tree-traversing functions accept (which are
thing symbols and thing definitions).
(User-defined Things): New node dedicated to thing definition and
navigation functions.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * etc/NEWS: Add entry about tab-bar-mode-map (bug#69578).</title>
<updated>2024-04-06T18:32:04+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2024-04-06T18:32:04+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ec25f5ad3d4323b56f239a06186f965c8d4cb695'/>
<id>ec25f5ad3d4323b56f239a06186f965c8d4cb695</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-29</title>
<updated>2024-04-06T15:13:35+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2024-04-06T15:13:35+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b4864ca4affe6527b5958214ef2aa7198eb09220'/>
<id>b4864ca4affe6527b5958214ef2aa7198eb09220</id>
<content type='text'>
3d87d74a23d ; * etc/PROBLEMS: Entry about slow mouse-wheel with GTK3 ...
c6899603b9c ; * doc/lispref/tips.texi (Documentation Tips): Improve (...
bd2c4d825db ; Update admin/make-tarball.txt
f107dc26e37 ; * etc/PROBLEMS: Add an entry about WebKitGTK (bug#66068).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
3d87d74a23d ; * etc/PROBLEMS: Entry about slow mouse-wheel with GTK3 ...
c6899603b9c ; * doc/lispref/tips.texi (Documentation Tips): Improve (...
bd2c4d825db ; Update admin/make-tarball.txt
f107dc26e37 ; * etc/PROBLEMS: Add an entry about WebKitGTK (bug#66068).
</pre>
</div>
</content>
</entry>
<entry>
<title>; * etc/PROBLEMS: Entry about slow mouse-wheel with GTK3 (bug#70002).</title>
<updated>2024-04-06T09:14:26+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2024-04-06T09:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3d87d74a23d13e853f202cc589eb750c40f9e2be'/>
<id>3d87d74a23d13e853f202cc589eb750c40f9e2be</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark display-comint-buffer-action as obsolete after adding a category.</title>
<updated>2024-04-05T16:44:52+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2024-04-05T16:44:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4e22ad8cef0710bf5ce3bf99deb8dd6e30d4078c'/>
<id>4e22ad8cef0710bf5ce3bf99deb8dd6e30d4078c</id>
<content type='text'>
* lisp/window.el (display-comint-buffer-action):
Append '(category . comint)' to the default value.  Mark as obsolete.
(display-tex-shell-buffer-action):
Append '(category . tex-shell)' to the default value.  Mark as obsolete.
(bug#69983)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/window.el (display-comint-buffer-action):
Append '(category . comint)' to the default value.  Mark as obsolete.
(display-tex-shell-buffer-action):
Append '(category . tex-shell)' to the default value.  Mark as obsolete.
(bug#69983)
</pre>
</div>
</content>
</entry>
<entry>
<title>New variable haiku-pass-control-tab-to-system</title>
<updated>2024-04-04T00:33:52+00:00</updated>
<author>
<name>Tor-björn Claesson</name>
</author>
<published>2024-04-03T07:25:59+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ba3bf69f84e5c1143a6ff3b1e7031a10e0beed89'/>
<id>ba3bf69f84e5c1143a6ff3b1e7031a10e0beed89</id>
<content type='text'>
Allow passing C-TAB on to the Haiku operating system, fixing
window switching when an Emacs frame has focus (Bug#70138).
* src/haiku_support.cc (DispatchMessage): Conditionally pass
message to BWindow.
* src/haiku_support.h:
* src/haikufns.c (haiku_should_pass_control_tab_to_system): Add
variable haiku-pass-control-tab-to-system, and C function
haiku_should_pass_control_tab_to_system.

Co-authored-by: Po Lu &lt;luangruo@yahoo.com&gt;
Copyright-paperwork-exempt: yes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow passing C-TAB on to the Haiku operating system, fixing
window switching when an Emacs frame has focus (Bug#70138).
* src/haiku_support.cc (DispatchMessage): Conditionally pass
message to BWindow.
* src/haiku_support.h:
* src/haikufns.c (haiku_should_pass_control_tab_to_system): Add
variable haiku-pass-control-tab-to-system, and C function
haiku_should_pass_control_tab_to_system.

Co-authored-by: Po Lu &lt;luangruo@yahoo.com&gt;
Copyright-paperwork-exempt: yes
</pre>
</div>
</content>
</entry>
</feed>
