<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/doc, 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>; * doc/misc/eglot.texi (Performance): Fix a typo.</title>
<updated>2023-12-27T16:42:41+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-12-27T16:42:41+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9e0eeb2d49ccd443bb667be9231fe932be67bb10'/>
<id>9e0eeb2d49ccd443bb667be9231fe932be67bb10</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Eglot: introduce eglot-events-buffer-config</title>
<updated>2023-12-27T14:02:20+00:00</updated>
<author>
<name>João Távora</name>
</author>
<published>2023-12-27T12:38:31+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d9b5f618baa31e97a5d675c665c9094cf757d184'/>
<id>d9b5f618baa31e97a5d675c665c9094cf757d184</id>
<content type='text'>
* doc/misc/eglot.texi (Eglot Variables): Reword.
(Performance): Reword.

* lisp/progmodes/eglot.el (eglot-events-buffer-size): Obsolete.
(eglot-events-buffer-config): New customization variable.
(eglot--connect): Use eglot-events-buffer-config.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/eglot.texi (Eglot Variables): Reword.
(Performance): Reword.

* lisp/progmodes/eglot.el (eglot-events-buffer-size): Obsolete.
(eglot-events-buffer-config): New customization variable.
(eglot--connect): Use eglot-events-buffer-config.
</pre>
</div>
</content>
</entry>
<entry>
<title>More doc on ses+ and argument order</title>
<updated>2023-12-24T21:07:45+00:00</updated>
<author>
<name>Vincent Belaïche</name>
</author>
<published>2023-12-23T18:38:56+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=44676555f9f5cf268104ccdd8eca1666336853ad'/>
<id>44676555f9f5cf268104ccdd8eca1666336853ad</id>
<content type='text'>
* doc/misc/ses.texi (Standard formula functions): Indicate that
'ses+' reverses argument order.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/ses.texi (Standard formula functions): Indicate that
'ses+' reverses argument order.
</pre>
</div>
</content>
</entry>
<entry>
<title>Optionally continue on error in erc-auth-source-search</title>
<updated>2023-12-23T14:46:33+00:00</updated>
<author>
<name>F. Jason Park</name>
</author>
<published>2023-12-23T02:18:20+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5fb9d6c5e72e8a21b8426a3fd5ec5c8f4679d8b6'/>
<id>5fb9d6c5e72e8a21b8426a3fd5ec5c8f4679d8b6</id>
<content type='text'>
* doc/misc/erc.texi (auth-source): Add new "Troubleshooting"
subsection.
* lisp/erc/erc.el (erc-open): Initialize markers before determining
session parameters.  Otherwise, functions that rely on
`erc-inset-marker' being non-nil, like `erc-check-text-conversion',
may fail during auth-source lookups.
(erc-auth-source-search): When non-interactive, ask the user whether
to continue connecting anyway.  (Bug#67978)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/erc.texi (auth-source): Add new "Troubleshooting"
subsection.
* lisp/erc/erc.el (erc-open): Initialize markers before determining
session parameters.  Otherwise, functions that rely on
`erc-inset-marker' being non-nil, like `erc-check-text-conversion',
may fail during auth-source lookups.
(erc-auth-source-search): When non-interactive, ask the user whether
to continue connecting anyway.  (Bug#67978)
</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>* doc/man/emacsclient.1: Fix --tramp option.</title>
<updated>2023-12-23T11:04:37+00:00</updated>
<author>
<name>Michael Albinus</name>
</author>
<published>2023-12-23T11:04:37+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a4751657389cf47c18416fa5d148ad2a67e14565'/>
<id>a4751657389cf47c18416fa5d148ad2a67e14565</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>; Improve and correct documentation of registers (bug#66394)</title>
<updated>2023-12-23T10:46:55+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-12-23T10:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=44be4e92eca68ec4498c424573f0505aca69d39c'/>
<id>44be4e92eca68ec4498c424573f0505aca69d39c</id>
<content type='text'>
Suggested by Thierry Volpiatto &lt;thievol@posteo.net&gt;.
* doc/emacs/regs.texi (Registers): Mention filtering of registers
in the preview.

* lisp/register.el (register-use-preview)
(register--preview-function, register-preview-info): Doc fixes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Suggested by Thierry Volpiatto &lt;thievol@posteo.net&gt;.
* doc/emacs/regs.texi (Registers): Mention filtering of registers
in the preview.

* lisp/register.el (register-use-preview)
(register--preview-function, register-preview-info): Doc fixes.
</pre>
</div>
</content>
</entry>
<entry>
<title>* doc/man/emacsclient.1: Add missing sections (bug#66598)</title>
<updated>2023-12-23T09:45:22+00:00</updated>
<author>
<name>Peter Oliver</name>
</author>
<published>2023-10-21T13:02:06+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1e5357d3d1f5ecf68f1f34d017954d591eaaed14'/>
<id>1e5357d3d1f5ecf68f1f34d017954d591eaaed14</id>
<content type='text'>
Copyright-paperwork-exempt: yes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Copyright-paperwork-exempt: yes
</pre>
</div>
</content>
</entry>
</feed>
