<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/doc, branch scratch/low-level-key</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>Go through normal keymaps</title>
<updated>2025-06-30T15:34:54+00:00</updated>
<author>
<name>Cecilio Pardo</name>
</author>
<published>2024-12-02T16:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ba02efb85e403a55d321e3d213f1449246ad9484'/>
<id>ba02efb85e403a55d321e3d213f1449246ad9484</id>
<content type='text'>
In this new version I changed the way events are handled.
Now llk-handle generates input events to be used with normal
keymaps, instead of running a command. The function llk-bind
activates event generation for a key and a combination of
events press, release, double, triple.

I also made changes following your notes, such as:

- Clarification on the event's time, documentation of
  keysyms variables moved, don't limit to GUI systems.
- cl-defstruct for the event payload.
- Format and naming conventions.
- Default timeout to mouse double click timeout.

You suggested to auto generate the keysym table, but we
would still need a table to relate the Windows keys to the X
equivalent.

* doc/lispref/commands.texi (Misc Events): Adjust to new semantics.
* src/keyboard.c (syms_of_keyboard): Adust docstring.

FIXME: Old commit msg.

* lisp/low-level-key.el (New file).
(low-level-key): Struct with event data.
(llk-bindings): User bindings for low level key events.
(llk-tap-timeout): User option.
(llk-keysyms): List of available keysyms.
(llk--define-xk): Macro for defining keysyms.
(llk--define-keysyms): Build llk-keysyms.
(llk-bind): Function to create a binding.
(llk--event-history-for-tap): Event history for tap detection.
(llk--detect-n-tap): Function to detect taps.
(describe-low-level-key): Command to get information about a key.
(llk--describe): Show help buffer with information
about an event.
(llk-handle): Handler for key events.
(llk--generate-event): Generate input event for key.
(llk--generate-events): Generate input events for key.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In this new version I changed the way events are handled.
Now llk-handle generates input events to be used with normal
keymaps, instead of running a command. The function llk-bind
activates event generation for a key and a combination of
events press, release, double, triple.

I also made changes following your notes, such as:

- Clarification on the event's time, documentation of
  keysyms variables moved, don't limit to GUI systems.
- cl-defstruct for the event payload.
- Format and naming conventions.
- Default timeout to mouse double click timeout.

You suggested to auto generate the keysym table, but we
would still need a table to relate the Windows keys to the X
equivalent.

* doc/lispref/commands.texi (Misc Events): Adjust to new semantics.
* src/keyboard.c (syms_of_keyboard): Adust docstring.

FIXME: Old commit msg.

* lisp/low-level-key.el (New file).
(low-level-key): Struct with event data.
(llk-bindings): User bindings for low level key events.
(llk-tap-timeout): User option.
(llk-keysyms): List of available keysyms.
(llk--define-xk): Macro for defining keysyms.
(llk--define-keysyms): Build llk-keysyms.
(llk-bind): Function to create a binding.
(llk--event-history-for-tap): Event history for tap detection.
(llk--detect-n-tap): Function to detect taps.
(describe-low-level-key): Command to get information about a key.
(llk--describe): Show help buffer with information
about an event.
(llk-handle): Handler for key events.
(llk--generate-event): Generate input event for key.
(llk--generate-events): Generate input events for key.
</pre>
</div>
</content>
</entry>
<entry>
<title>low-level-key-event: Minor doc style improvement</title>
<updated>2025-06-30T15:34:54+00:00</updated>
<author>
<name>Cecilio Pardo</name>
</author>
<published>2024-12-02T16:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=67aed063f6460e8add0fcfdebf562a3062cc26a2'/>
<id>67aed063f6460e8add0fcfdebf562a3062cc26a2</id>
<content type='text'>
* doc/lispref/commands.texi (Misc Events): Improve style and clarify
the dependence on `enable-low-level-key-events`.
* src/keyboard.c (syms_of_keyboard): Fix markup.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/lispref/commands.texi (Misc Events): Improve style and clarify
the dependence on `enable-low-level-key-events`.
* src/keyboard.c (syms_of_keyboard): Fix markup.
</pre>
</div>
</content>
</entry>
<entry>
<title>Include a manual entry, and correct doc strings and comments</title>
<updated>2025-06-30T15:34:54+00:00</updated>
<author>
<name>Cecilio Pardo</name>
</author>
<published>2024-12-02T16:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4d26a17b01ac7794bf3d3ed7ce9e5ceb0ecec74d'/>
<id>4d26a17b01ac7794bf3d3ed7ce9e5ceb0ecec74d</id>
<content type='text'>
* doc/lispref/commands.texi: Added information about new event.
* src/keyboard.c (syms_of_keyboard): Tweak docstring.

FIXME: Old commit msg.

* lisp/low-level-key.el (New file).
(llk-bindings): User bindings for low level key events.
(llk-tap-count): User option.
(llk-tap-timeout): User option.
(llk-tap-keys): User option.
(llk-keysyms): List of available keysyms.
(define-xk): Macro for defining keysyms.
(llk-define-keysyms): Build llk-keysyms.
(llk-init): Function to initialize low level key handling.
(event-is-key-press): Get field from event.
(event-keysym): Get field from event.
(event-modifier): Get field from event.
(event-time): Get field from event.
(llk-bind): Function to create a binding.
(llk-events): Event history for tap detection.
(llk-detect-n-tap): Function to detect taps.
(describe-low-level-key): Command to get information about a key.
(llk-show-event-description): Show help buffer with information
about an event.
(llk-handle): Handler for key events.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/lispref/commands.texi: Added information about new event.
* src/keyboard.c (syms_of_keyboard): Tweak docstring.

FIXME: Old commit msg.

* lisp/low-level-key.el (New file).
(llk-bindings): User bindings for low level key events.
(llk-tap-count): User option.
(llk-tap-timeout): User option.
(llk-tap-keys): User option.
(llk-keysyms): List of available keysyms.
(define-xk): Macro for defining keysyms.
(llk-define-keysyms): Build llk-keysyms.
(llk-init): Function to initialize low level key handling.
(event-is-key-press): Get field from event.
(event-keysym): Get field from event.
(event-modifier): Get field from event.
(event-time): Get field from event.
(llk-bind): Function to create a binding.
(llk-events): Event history for tap detection.
(llk-detect-n-tap): Function to detect taps.
(describe-low-level-key): Command to get information about a key.
(llk-show-event-description): Show help buffer with information
about an event.
(llk-handle): Handler for key events.
</pre>
</div>
</content>
</entry>
<entry>
<title>Adapt Tramp versions</title>
<updated>2025-06-29T09:03:05+00:00</updated>
<author>
<name>Michael Albinus</name>
</author>
<published>2025-06-29T09:03:05+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=bd04818e53be49f2a087de8a92cb02549f8c2407'/>
<id>bd04818e53be49f2a087de8a92cb02549f8c2407</id>
<content type='text'>
* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add variable `fill-region-as-paragraph-function'</title>
<updated>2025-06-29T04:33:24+00:00</updated>
<author>
<name>Roi Martin</name>
</author>
<published>2025-06-17T08:45:13+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=99ec286d7803fa59f770013a2135f23918510103'/>
<id>99ec286d7803fa59f770013a2135f23918510103</id>
<content type='text'>
Add the variable `fill-region-as-paragraph-function' to provide
a way to override how functions like `fill-region' fill text.
* doc/lispref/text.texi (Filling): Document
`fill-region-as-paragraph-function' variable.
* doc/emacs/text.texi (Fill Commands): Reference
`fill-region-as-paragraph-function' variable.
* lisp/textmodes/fill.el (fill-region-as-paragraph-function):
Add variable.
(fill-region-as-paragraph): Convert into
`fill-region-as-paragraph-function' wrapper.
(fill-region-as-paragraph-default): Rename old
`fill-region-as-paragraph' function.
(fill-region-as-paragraph-semlf): Update calls to
`fill-region-as-paragraph-default'.
(fill-region): Add reference to `fill-region-as-paragraph-function'
in doc string.
* test/lisp/textmodes/fill-tests.el (fill-test-fill-region): Add
test case for the `fill-region' function.
* test/lisp/textmodes/fill-resources/fill-region.erts: Add test
data.  (Bug#78816)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the variable `fill-region-as-paragraph-function' to provide
a way to override how functions like `fill-region' fill text.
* doc/lispref/text.texi (Filling): Document
`fill-region-as-paragraph-function' variable.
* doc/emacs/text.texi (Fill Commands): Reference
`fill-region-as-paragraph-function' variable.
* lisp/textmodes/fill.el (fill-region-as-paragraph-function):
Add variable.
(fill-region-as-paragraph): Convert into
`fill-region-as-paragraph-function' wrapper.
(fill-region-as-paragraph-default): Rename old
`fill-region-as-paragraph' function.
(fill-region-as-paragraph-semlf): Update calls to
`fill-region-as-paragraph-default'.
(fill-region): Add reference to `fill-region-as-paragraph-function'
in doc string.
* test/lisp/textmodes/fill-tests.el (fill-test-fill-region): Add
test case for the `fill-region' function.
* test/lisp/textmodes/fill-resources/fill-region.erts: Add test
data.  (Bug#78816)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-30</title>
<updated>2025-06-28T10:57:19+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2025-06-28T10:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=131cde2f862fb623a5af5bce2c207ee0a72a3546'/>
<id>131cde2f862fb623a5af5bce2c207ee0a72a3546</id>
<content type='text'>
6299eb0fe54 bug#78901: [PATCH] js-ts-mode: Fix auto-mode-alist regexp
982938363ad Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs ...
e68ad70af6d Fix 'insert-directory' in Turkish language-environment
f805f513732 Fix job control in remote shell
039ad15373d ; * doc/emacs/package.texi (Package Statuses): Clarify "n...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
6299eb0fe54 bug#78901: [PATCH] js-ts-mode: Fix auto-mode-alist regexp
982938363ad Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs ...
e68ad70af6d Fix 'insert-directory' in Turkish language-environment
f805f513732 Fix job control in remote shell
039ad15373d ; * doc/emacs/package.texi (Package Statuses): Clarify "n...
</pre>
</div>
</content>
</entry>
<entry>
<title>bug#78845: [PATCH 2/2] doc: Document desktop notifications for Gnus</title>
<updated>2025-06-28T09:35:13+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
</author>
<published>2025-06-20T04:27:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=08b0dd890fcccadd3372a80141ab02074bc4430a'/>
<id>08b0dd890fcccadd3372a80141ab02074bc4430a</id>
<content type='text'>
* doc/misc/gnus.texi (Notifications): Add section.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/gnus.texi (Notifications): Add section.
</pre>
</div>
</content>
</entry>
<entry>
<title>bug#78845: [PATCH 1/2] doc: Update Texinfo menus.</title>
<updated>2025-06-28T09:30:01+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
</author>
<published>2025-06-20T04:27:16+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d04b5d244500b66dcdbbe807c0c75a74b4d9182e'/>
<id>d04b5d244500b66dcdbbe807c0c75a74b4d9182e</id>
<content type='text'>
Generated from Emacs via M-x texinfo-all-menus-update, and dropping
changes made due to limitations of the tool.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Generated from Emacs via M-x texinfo-all-menus-update, and dropping
changes made due to limitations of the tool.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update from Gnulib by running admin/merge-gnulib</title>
<updated>2025-06-28T06:06:40+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-06-28T05:32:33+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=dbdf761187d7cccfad20a2899bab3dc77f379c3a'/>
<id>dbdf761187d7cccfad20a2899bab3dc77f379c3a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>'C-u C-x .' clears the fill prefix</title>
<updated>2025-06-27T13:14:36+00:00</updated>
<author>
<name>Sean Whitton</name>
</author>
<published>2025-06-27T13:14:36+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0c0ac8d48a154779bc349da9fae2a2cf0230ff5d'/>
<id>0c0ac8d48a154779bc349da9fae2a2cf0230ff5d</id>
<content type='text'>
* lisp/textmodes/fill.el (set-fill-prefix): When called
interactively with a prefix argument, clear the fill prefix,
just like how 'C-u C-x C-n' clears the goal column.
* doc/emacs/text.texi (Fill Prefix):
* etc/NEWS: Document the change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/textmodes/fill.el (set-fill-prefix): When called
interactively with a prefix argument, clear the fill prefix,
just like how 'C-u C-x C-n' clears the goal column.
* doc/emacs/text.texi (Fill Prefix):
* etc/NEWS: Document the change.
</pre>
</div>
</content>
</entry>
</feed>
