<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/etc, branch scratch/handler-bind</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>eval.c: Add new var `lisp-eval-depth-reserve`</title>
<updated>2023-12-28T06:16:37+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2023-12-27T04:56:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c89b234405f8fa6c52f83104a46a4a2c3121198f'/>
<id>c89b234405f8fa6c52f83104a46a4a2c3121198f</id>
<content type='text'>
Rather than blindly increase `max-lisp-eval-depth` when entering the
debugger or running `signal-hook-function`, use this new "reserve"
to keep track of how much we have grown the stack for "debugger"
purposes so that for example recursive calls to `signal-hook-function`
can't eat up the whole C stack.

* src/eval.c (max_ensure_room): Rewrite.
(restore_stack_limits): Move before `max_ensure_room`.  Rewrite.
(call_debugger, signal_or_quit): Adjust calls accordingly.
Also grow `max-lisp-eval-depth` for `hander-bind` handlers.
(init_eval_once): Don't initialize `max_lisp_eval_depth` here.
(syms_of_eval): Initialize it here instead.
Add new var `lisp-eval-depth-reserve`.

* doc/lispref/eval.texi (Eval): Add `lisp-eval-depth-reserve`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than blindly increase `max-lisp-eval-depth` when entering the
debugger or running `signal-hook-function`, use this new "reserve"
to keep track of how much we have grown the stack for "debugger"
purposes so that for example recursive calls to `signal-hook-function`
can't eat up the whole C stack.

* src/eval.c (max_ensure_room): Rewrite.
(restore_stack_limits): Move before `max_ensure_room`.  Rewrite.
(call_debugger, signal_or_quit): Adjust calls accordingly.
Also grow `max-lisp-eval-depth` for `hander-bind` handlers.
(init_eval_once): Don't initialize `max_lisp_eval_depth` here.
(syms_of_eval): Initialize it here instead.
Add new var `lisp-eval-depth-reserve`.

* doc/lispref/eval.texi (Eval): Add `lisp-eval-depth-reserve`.
</pre>
</div>
</content>
</entry>
<entry>
<title>New special form `handler-bind`</title>
<updated>2023-12-28T04:45:51+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2023-12-26T03:32:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a4efbe4c499623b33882a770c896ebfd31459ce9'/>
<id>a4efbe4c499623b33882a770c896ebfd31459ce9</id>
<content type='text'>
AFAIK, this provides the same semantics as Common Lisp's `handler-bind`,
modulo the differences about how error objects and conditions are
represented.

* lisp/subr.el (handler-bind): New macro.

* src/eval.c (pop_handler): New function.
(Fhandler_Bind_1): New function.
(signal_or_quit): Handle new handlertypes `HANDLER` and `SKIP_CONDITIONS`.
(find_handler_clause): Simplify.
(syms_of_eval): Defsubr `Fhandler_bind_1`.

* doc/lispref/control.texi (Handling Errors): Add `handler-bind`.

* test/src/eval-tests.el (eval-tests--handler-bind): New test.

* lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-keywords):
Move 'handler-bind' from CL-only to generic Lisp.
(handler-bind): Remove indentation setting, it now lives in the macro
definition.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AFAIK, this provides the same semantics as Common Lisp's `handler-bind`,
modulo the differences about how error objects and conditions are
represented.

* lisp/subr.el (handler-bind): New macro.

* src/eval.c (pop_handler): New function.
(Fhandler_Bind_1): New function.
(signal_or_quit): Handle new handlertypes `HANDLER` and `SKIP_CONDITIONS`.
(find_handler_clause): Simplify.
(syms_of_eval): Defsubr `Fhandler_bind_1`.

* doc/lispref/control.texi (Handling Errors): Add `handler-bind`.

* test/src/eval-tests.el (eval-tests--handler-bind): New test.

* lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-keywords):
Move 'handler-bind' from CL-only to generic Lisp.
(handler-bind): Remove indentation setting, it now lives in the macro
definition.
</pre>
</div>
</content>
</entry>
<entry>
<title>Abbreviate the VC revision in vc-annotate's buffer name</title>
<updated>2023-12-27T22:22:18+00:00</updated>
<author>
<name>Jim Porter</name>
</author>
<published>2023-12-14T19:31:27+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ea4cbb3aae3c7f72ef04337bc2db7292909ca9a1'/>
<id>ea4cbb3aae3c7f72ef04337bc2db7292909ca9a1</id>
<content type='text'>
* lisp/vc/vc-hooks.el (vc-use-short-revision): New variable.
(vc-short-revision): New function.

* lisp/vc/vc-annotate.el (vc-annotate-use-short-revision): New
option...
(vc-annotate): ... use it.

* lisp/vc/vc-git.el (vc-git--rev-parse): Consult
'vc-use-short-revision'.

* etc/NEWS: Announce this change (bug#67062).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/vc/vc-hooks.el (vc-use-short-revision): New variable.
(vc-short-revision): New function.

* lisp/vc/vc-annotate.el (vc-annotate-use-short-revision): New
option...
(vc-annotate): ... use it.

* lisp/vc/vc-git.el (vc-git--rev-parse): Consult
'vc-use-short-revision'.

* etc/NEWS: Announce this change (bug#67062).
</pre>
</div>
</content>
</entry>
<entry>
<title>Eglot: bump to 1.16</title>
<updated>2023-12-27T14:02:20+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2023-12-27T12:05:43+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c5a4366b3f3c6ee4178d954e58eb226441d1d2ee'/>
<id>c5a4366b3f3c6ee4178d954e58eb226441d1d2ee</id>
<content type='text'>
* etc/EGLOT-NEWS: Update.

* lisp/progmodes/eglot.el (Version): Bump to 1.15
(Package-Requires): Bump jsonrpc depedency to 1.23
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* etc/EGLOT-NEWS: Update.

* lisp/progmodes/eglot.el (Version): Bump to 1.15
(Package-Requires): Bump jsonrpc depedency to 1.23
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix toolbar for Log Edit mode</title>
<updated>2023-12-24T08:32:45+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-12-24T08:32:45+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9b8e0a54318fe909f321a9d437875c99f1bd4451'/>
<id>9b8e0a54318fe909f321a9d437875c99f1bd4451</id>
<content type='text'>
* lisp/vc/log-edit.el (log-edit-tool-bar-map): Fix buttons and
help messages.

* etc/images/README (Files): Fix whitespace.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/vc/log-edit.el (log-edit-tool-bar-map): Fix buttons and
help messages.

* etc/images/README (Files): Fix whitespace.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce a toolbar for Log Edit mode</title>
<updated>2023-12-24T07:23:38+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2023-12-24T07:21:24+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b7fc3ab787d8dd926e1912e51e99f0efcf57cb02'/>
<id>b7fc3ab787d8dd926e1912e51e99f0efcf57cb02</id>
<content type='text'>
* etc/NEWS: Announce new change.

* etc/images/README: List the sources of the new image files.

* etc/images/commit.xpm:
* etc/images/commit.pbm:
* etc/images/gen-changelog.xpm:
* etc/images/gen-changelog.pbm:
* etc/images/ins-changelog.xpm:
* etc/images/ins-changelog.pbm:
* etc/images/load-changelog.xpm:
* etc/images/load-changelog.pbm:
* etc/images/view-diff.xpm: New files.

* lisp/vc/log-edit.el (log-edit-menu): Insert a menu item for
"Generate ChangeLog".
(log-edit-tool-bar-map): New keymap.
(log-edit-mode): Install this keymap as the tool bar map.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* etc/NEWS: Announce new change.

* etc/images/README: List the sources of the new image files.

* etc/images/commit.xpm:
* etc/images/commit.pbm:
* etc/images/gen-changelog.xpm:
* etc/images/gen-changelog.pbm:
* etc/images/ins-changelog.xpm:
* etc/images/ins-changelog.pbm:
* etc/images/load-changelog.xpm:
* etc/images/load-changelog.pbm:
* etc/images/view-diff.xpm: New files.

* lisp/vc/log-edit.el (log-edit-menu): Insert a menu item for
"Generate ChangeLog".
(log-edit-tool-bar-map): New keymap.
(log-edit-mode): Install this keymap as the tool bar map.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from origin/emacs-29</title>
<updated>2023-12-23T11:30:40+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-12-23T11:30:40+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1be62044732df0c4f1be9679a4ada09850a9e2ab'/>
<id>1be62044732df0c4f1be9679a4ada09850a9e2ab</id>
<content type='text'>
a4751657389 * doc/man/emacsclient.1: Fix --tramp option.
1e5357d3d1f * doc/man/emacsclient.1: Add missing sections (bug#66598)
fba7b9db397 Add explanation for extra parentheses in ELisp Introduction
77232826821 Add sample code to the "let*" section in "forward-paragraph"
7a00ca92c19 Fix treesit test (bug#67117)
d220893216c Fix c++-ts-mode indentation (bug#67975)
d386a8aa43f Recommend customizing eglot for python-base-mode
bd0c7589715 Improve documentation of new native-compilation commands
1ad126c0f28 ; Fix typo
77678244b83 doc/lispintro: Don't mention `set` (bug#67734)
cb3684e9dfa Fix script for some characters
2922d683b78 ; * src/treesit.c (treesit_traverse_child_helper): Fix co...
7b315e8a5c9 Fix an issue when searching subtree backward (bug#67117)
03625c2fefa Fix passive mode for tnftp client in ange-ftp.el.
b6429b1c1c7 ; Improve documentation of ispell.el's dictionary database
75cc1593412 ; * etc/PROBLEMS: Update the "GnuPG hangs" entry.
67d9af1c074 Fix using disabled command without a docstring
f68f3500236 Improve documentation of text properties handling when ya...
06c399914fa Eglot: Add Uiua language server
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a4751657389 * doc/man/emacsclient.1: Fix --tramp option.
1e5357d3d1f * doc/man/emacsclient.1: Add missing sections (bug#66598)
fba7b9db397 Add explanation for extra parentheses in ELisp Introduction
77232826821 Add sample code to the "let*" section in "forward-paragraph"
7a00ca92c19 Fix treesit test (bug#67117)
d220893216c Fix c++-ts-mode indentation (bug#67975)
d386a8aa43f Recommend customizing eglot for python-base-mode
bd0c7589715 Improve documentation of new native-compilation commands
1ad126c0f28 ; Fix typo
77678244b83 doc/lispintro: Don't mention `set` (bug#67734)
cb3684e9dfa Fix script for some characters
2922d683b78 ; * src/treesit.c (treesit_traverse_child_helper): Fix co...
7b315e8a5c9 Fix an issue when searching subtree backward (bug#67117)
03625c2fefa Fix passive mode for tnftp client in ange-ftp.el.
b6429b1c1c7 ; Improve documentation of ispell.el's dictionary database
75cc1593412 ; * etc/PROBLEMS: Update the "GnuPG hangs" entry.
67d9af1c074 Fix using disabled command without a docstring
f68f3500236 Improve documentation of text properties handling when ya...
06c399914fa Eglot: Add Uiua language server
</pre>
</div>
</content>
</entry>
<entry>
<title>Make ffap correctly guess remote file names at point</title>
<updated>2023-12-23T09:27:36+00:00</updated>
<author>
<name>Visuwesh</name>
</author>
<published>2023-12-12T15:44:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=cbbb19ced674dc8c42c95238577abb9849a75b87'/>
<id>cbbb19ced674dc8c42c95238577abb9849a75b87</id>
<content type='text'>
* lisp/ffap.el (ffap-lax-url): Set it to nil so that remote file
names may be matched.
(ffap-fixup-email): New function.
(ffap-guesser): Specially handle email addresses now that
'ffap-lax-url' is nil, as user@host fails to be matched as an
email address with that setting.  (Bug#67688)

* etc/NEWS: Announce the new value of the defcustom.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/ffap.el (ffap-lax-url): Set it to nil so that remote file
names may be matched.
(ffap-fixup-email): New function.
(ffap-guesser): Specially handle email addresses now that
'ffap-lax-url' is nil, as user@host fails to be matched as an
email address with that setting.  (Bug#67688)

* etc/NEWS: Announce the new value of the defcustom.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tramp's direct asynchronous processes use 'tramp-remote-path'</title>
<updated>2023-12-22T18:58:32+00:00</updated>
<author>
<name>Michael Albinus</name>
</author>
<published>2023-12-22T18:58:32+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9c86dd52475e0ad65359bc964fbe0d62b9d3e464'/>
<id>9c86dd52475e0ad65359bc964fbe0d62b9d3e464</id>
<content type='text'>
* doc/misc/tramp.texi (Remote processes): Remove item about
tramp-remote-path.

* etc/NEWS: Direct asynchronous processes use 'tramp-remote-path'.

* lisp/net/tramp-sh.el (tramp-get-remote-pipe-buf): New defun.
(tramp-set-remote-path): Use it.
(tramp-get-remote-path): Add ;;;###tramp-autoload cookie.

* lisp/net/tramp.el (tramp-handle-make-process):
Use `tramp-remote-path' for setting PATH environment.

* test/lisp/net/tramp-tests.el (tramp-test35-exec-path-direct-async)
(tramp-test35-remote-path-direct-async): New tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/tramp.texi (Remote processes): Remove item about
tramp-remote-path.

* etc/NEWS: Direct asynchronous processes use 'tramp-remote-path'.

* lisp/net/tramp-sh.el (tramp-get-remote-pipe-buf): New defun.
(tramp-set-remote-path): Use it.
(tramp-get-remote-path): Add ;;;###tramp-autoload cookie.

* lisp/net/tramp.el (tramp-handle-make-process):
Use `tramp-remote-path' for setting PATH environment.

* test/lisp/net/tramp-tests.el (tramp-test35-exec-path-direct-async)
(tramp-test35-remote-path-direct-async): New tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * etc/NEWS: Fix markings (bug#67249).</title>
<updated>2023-12-21T13:23:33+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-12-21T13:21:21+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=843cbb9a15a93c5f20368d6bc6baa97e65ff27ac'/>
<id>843cbb9a15a93c5f20368d6bc6baa97e65ff27ac</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
