diff options
| author | Eli Zaretskii | 2024-11-09 07:34:57 -0500 |
|---|---|---|
| committer | Eli Zaretskii | 2024-11-09 07:34:57 -0500 |
| commit | 96beaeab06312f51f2dfe3bf310ea17ae32cae74 (patch) | |
| tree | a02b1be527330feb76306c1c0a5555354c39c369 | |
| parent | 0642d5f7da208e3237f17102858811c2d9c28990 (diff) | |
| parent | 3231af3727b450404efd6f49ddf5c95c5a8cbb0f (diff) | |
| download | emacs-96beaeab06312f51f2dfe3bf310ea17ae32cae74.tar.gz emacs-96beaeab06312f51f2dfe3bf310ea17ae32cae74.zip | |
Merge from origin/emacs-30
3231af3727b Improve 'open-network-stream' documentation.
fb55431c44e ; Fix typos in case-conversion descriptions
83f095d1fd4 ; Fix typo and indexing in the ELisp manual
37b1799c9e5 ; Instrument proced-tests.el further
03fa832b4dc Improve Tramp documentation on direct async processes
# Conflicts:
# etc/NEWS
| -rw-r--r-- | doc/lispref/display.texi | 8 | ||||
| -rw-r--r-- | doc/lispref/nonascii.texi | 14 | ||||
| -rw-r--r-- | doc/lispref/processes.texi | 13 | ||||
| -rw-r--r-- | doc/lispref/strings.texi | 6 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 12 | ||||
| -rw-r--r-- | etc/NEWS.30 | 10 | ||||
| -rw-r--r-- | lisp/net/network-stream.el | 16 | ||||
| -rw-r--r-- | test/lisp/proced-tests.el | 6 |
8 files changed, 57 insertions, 28 deletions
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 91f6f3b0d97..2d90f22e087 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -6024,8 +6024,9 @@ is platform dependent, but should be equivalent to bilinear | |||
| 6024 | filtering. Disabling smoothing will use the nearest neighbor | 6024 | filtering. Disabling smoothing will use the nearest neighbor |
| 6025 | algorithm. | 6025 | algorithm. |
| 6026 | 6026 | ||
| 6027 | @vindex image-transform-smoothing | ||
| 6027 | If this property is not specified, @code{create-image} will use the | 6028 | If this property is not specified, @code{create-image} will use the |
| 6028 | @code{image-transform-smoothing} user option to say whether scaling | 6029 | @code{image-transform-smoothing} user option to say whether smoothing |
| 6029 | should be done or not. This option can be @code{nil} (no smoothing), | 6030 | should be done or not. This option can be @code{nil} (no smoothing), |
| 6030 | @code{t} (use smoothing) or a predicate function that's called with | 6031 | @code{t} (use smoothing) or a predicate function that's called with |
| 6031 | the image object as the only parameter, and should return either | 6032 | the image object as the only parameter, and should return either |
| @@ -7026,12 +7027,13 @@ Here is an example of using @code{image-load-path-for-library}: | |||
| 7026 | @end example | 7027 | @end example |
| 7027 | @end defun | 7028 | @end defun |
| 7028 | 7029 | ||
| 7029 | @vindex image-scaling-factor | 7030 | @vindex image-scaling-factor, and automatic image scaling |
| 7030 | Images are automatically scaled when created based on the | 7031 | Images are automatically scaled when created based on the |
| 7031 | @code{image-scaling-factor} variable. The value is either a floating | 7032 | @code{image-scaling-factor} variable. The value is either a floating |
| 7032 | point number (where numbers higher than 1 means to increase the size | 7033 | point number (where numbers higher than 1 means to increase the size |
| 7033 | and lower means to shrink the size), or the symbol @code{auto}, which | 7034 | and lower means to shrink the size), or the symbol @code{auto}, which |
| 7034 | will compute a scaling factor based on the font pixel size. | 7035 | will compute a scaling factor based on the font pixel size. @xref{Image |
| 7036 | Descriptors}. | ||
| 7035 | 7037 | ||
| 7036 | @node Showing Images | 7038 | @node Showing Images |
| 7037 | @subsection Showing Images | 7039 | @subsection Showing Images |
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index cb32c7671e7..87503a45075 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi | |||
| @@ -631,30 +631,30 @@ is @code{nil}, which means the character itself. | |||
| 631 | @item special-uppercase | 631 | @item special-uppercase |
| 632 | Corresponds to Unicode language- and context-independent special upper-casing | 632 | Corresponds to Unicode language- and context-independent special upper-casing |
| 633 | rules. The value of this property is a string (which may be empty). For | 633 | rules. The value of this property is a string (which may be empty). For |
| 634 | example mapping for U+00DF @sc{latin small letter sharp s} is | 634 | example for U+00DF @sc{latin small letter sharp s} the value is |
| 635 | @code{"SS"}. This mapping overrides the @code{uppercase} property, and | 635 | @code{"SS"}. This mapping overrides the @code{uppercase} property, and |
| 636 | thus the current case table. For characters with no special mapping, | 636 | thus the current case table. For characters with no special mapping, |
| 637 | the value is @code{nil}, which means @code{uppercase} property needs to | 637 | the value is @code{nil}, which means the @code{uppercase} property needs to |
| 638 | be consulted instead. | 638 | be consulted instead. |
| 639 | 639 | ||
| 640 | @item special-lowercase | 640 | @item special-lowercase |
| 641 | Corresponds to Unicode language- and context-independent special | 641 | Corresponds to Unicode language- and context-independent special |
| 642 | lower-casing rules. The value of this property is a string (which may | 642 | lower-casing rules. The value of this property is a string (which may |
| 643 | be empty). For example mapping for U+0130 @sc{latin capital letter i | 643 | be empty). For example for U+0130 @sc{latin capital letter i |
| 644 | with dot above} the value is @code{"i\u0307"} (i.e. 2-character string | 644 | with dot above} the value is @code{"i\u0307"} (i.e. a 2-character string |
| 645 | consisting of @sc{latin small letter i} followed by U+0307 | 645 | consisting of @sc{latin small letter i} followed by U+0307 |
| 646 | @sc{combining dot above}). This mapping overrides the @code{lowercase} | 646 | @sc{combining dot above}). This mapping overrides the @code{lowercase} |
| 647 | property, and thus the current case table. For characters with no | 647 | property, and thus the current case table. For characters with no |
| 648 | special mapping, the value is @code{nil}, which means @code{lowercase} | 648 | special mapping, the value is @code{nil}, which means the @code{lowercase} |
| 649 | property needs to be consulted instead. | 649 | property needs to be consulted instead. |
| 650 | 650 | ||
| 651 | @item special-titlecase | 651 | @item special-titlecase |
| 652 | Corresponds to Unicode unconditional special title-casing rules. The value of | 652 | Corresponds to Unicode unconditional special title-casing rules. The value of |
| 653 | this property is a string (which may be empty). For example mapping for | 653 | this property is a string (which may be empty). For example for |
| 654 | U+FB01 @sc{latin small ligature fi} the value is @code{"Fi"}. This | 654 | U+FB01 @sc{latin small ligature fi} the value is @code{"Fi"}. This |
| 655 | mapping overrides the @code{titlecase} property, and thus the current | 655 | mapping overrides the @code{titlecase} property, and thus the current |
| 656 | case table. For characters with no special mapping, the value is | 656 | case table. For characters with no special mapping, the value is |
| 657 | @code{nil}, which means @code{titlecase} property needs to be consulted | 657 | @code{nil}, which means the @code{titlecase} property needs to be consulted |
| 658 | instead. | 658 | instead. |
| 659 | @end table | 659 | @end table |
| 660 | 660 | ||
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 53468e0d252..2c19275f946 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi | |||
| @@ -2686,10 +2686,12 @@ If non-@code{nil}, do opportunistic @acronym{STARTTLS} upgrades even if Emacs | |||
| 2686 | doesn't have built-in @acronym{TLS} support. | 2686 | doesn't have built-in @acronym{TLS} support. |
| 2687 | 2687 | ||
| 2688 | @item :warn-unless-encrypted @var{boolean} | 2688 | @item :warn-unless-encrypted @var{boolean} |
| 2689 | If non-@code{nil}, and @code{:return-value} is also non-@code{nil}, | 2689 | If non-@code{nil}, warn the user if the final connection type is not |
| 2690 | Emacs will warn if the connection isn't encrypted. This is useful for | 2690 | encrypted. This is useful for protocols like @acronym{IMAP} and the |
| 2691 | protocols like @acronym{IMAP} and the like, where most users would | 2691 | like, where most users would expect the network traffic to be encrypted. |
| 2692 | expect the network traffic to be encrypted. | 2692 | This may be due to @acronym{STARTTLS} upgrade failure, specifying |
| 2693 | @code{:return-list} non-@code{nil} allows you to capture any error | ||
| 2694 | encountered. | ||
| 2693 | 2695 | ||
| 2694 | @vindex network-stream-use-client-certificates | 2696 | @vindex network-stream-use-client-certificates |
| 2695 | @item :client-certificate @var{list-or-t} | 2697 | @item :client-certificate @var{list-or-t} |
| @@ -2715,6 +2717,9 @@ If non-@code{nil}, the greeting string returned by the host. | |||
| 2715 | If non-@code{nil}, the host's capability string. | 2717 | If non-@code{nil}, the host's capability string. |
| 2716 | @item :type @var{symbol} | 2718 | @item :type @var{symbol} |
| 2717 | The connection type: @samp{plain} or @samp{tls}. | 2719 | The connection type: @samp{plain} or @samp{tls}. |
| 2720 | @item :error @var{symbol} | ||
| 2721 | A string describing any error encountered when perfoming | ||
| 2722 | @acronym{STARTTLS} upgrade. | ||
| 2718 | @end table | 2723 | @end table |
| 2719 | 2724 | ||
| 2720 | @item :shell-command @var{string-or-nil} | 2725 | @item :shell-command @var{string-or-nil} |
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index c2b18387ad5..efeddf1a20c 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi | |||
| @@ -1593,7 +1593,7 @@ be made. | |||
| 1593 | 1593 | ||
| 1594 | Other characters can also have special case-conversion rules. They | 1594 | Other characters can also have special case-conversion rules. They |
| 1595 | all have non-@code{nil} character properties @code{special-uppercase}, | 1595 | all have non-@code{nil} character properties @code{special-uppercase}, |
| 1596 | @code{special-lowercase} or @code{special-titlecase} (@pxref{Character | 1596 | @code{special-lowercase}, or @code{special-titlecase} (@pxref{Character |
| 1597 | Properties}) defined by the Unicode Standard. These properties define | 1597 | Properties}) defined by the Unicode Standard. These properties define |
| 1598 | special case-conversion rules which override the current case table | 1598 | special case-conversion rules which override the current case table |
| 1599 | (@pxref{Case Tables}). | 1599 | (@pxref{Case Tables}). |
| @@ -1640,11 +1640,11 @@ maps for both lower case and upper case. | |||
| 1640 | Some characters have special case-conversion rules defined for them, | 1640 | Some characters have special case-conversion rules defined for them, |
| 1641 | which by default override the current case table. These characters have | 1641 | which by default override the current case table. These characters have |
| 1642 | non-@code{nil} character properties @code{special-uppercase}, | 1642 | non-@code{nil} character properties @code{special-uppercase}, |
| 1643 | @code{special-lowercase} or @code{special-titlecase} (@pxref{Character | 1643 | @code{special-lowercase}, or @code{special-titlecase} (@pxref{Character |
| 1644 | Properties}) defined by the Unicode Standard. An example is U+00DF | 1644 | Properties}) defined by the Unicode Standard. An example is U+00DF |
| 1645 | LATIN SMALL LETTER SHARP S, @ss{}, which by default up-cases to the | 1645 | LATIN SMALL LETTER SHARP S, @ss{}, which by default up-cases to the |
| 1646 | string @code{"SS"}, not to U+1E9E LATIN CAPITAL LETTER SHARP S@. To | 1646 | string @code{"SS"}, not to U+1E9E LATIN CAPITAL LETTER SHARP S@. To |
| 1647 | force these characters follow the case-table conversions, set the | 1647 | force these characters to follow the case-table conversions, set the |
| 1648 | corresponding Unicode property to @code{nil}: | 1648 | corresponding Unicode property to @code{nil}: |
| 1649 | 1649 | ||
| 1650 | @example | 1650 | @example |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index a014319c02c..5afc41b3a4b 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -4631,6 +4631,18 @@ which must be set to a non-@code{nil} value. Example: | |||
| 4631 | @end group | 4631 | @end group |
| 4632 | @end lisp | 4632 | @end lisp |
| 4633 | 4633 | ||
| 4634 | This enables direct async processes for the host @samp{remotehost}. | ||
| 4635 | If you want to enable direct async processes for all remote hosts | ||
| 4636 | connected via the same method (e.g., @option{ssh}), use instead | ||
| 4637 | |||
| 4638 | @lisp | ||
| 4639 | @group | ||
| 4640 | (connection-local-set-profiles | ||
| 4641 | '(:application tramp :protocol "ssh") | ||
| 4642 | 'remote-direct-async-process) | ||
| 4643 | @end group | ||
| 4644 | @end lisp | ||
| 4645 | |||
| 4634 | Using direct asynchronous processes in @value{tramp} is not possible, | 4646 | Using direct asynchronous processes in @value{tramp} is not possible, |
| 4635 | if the remote host is connected via multiple hops | 4647 | if the remote host is connected via multiple hops |
| 4636 | (@pxref{Multi-hops}). In this case, @value{tramp} falls back to its | 4648 | (@pxref{Multi-hops}). In this case, @value{tramp} falls back to its |
diff --git a/etc/NEWS.30 b/etc/NEWS.30 index c72a87787f3..3c765b97542 100644 --- a/etc/NEWS.30 +++ b/etc/NEWS.30 | |||
| @@ -1413,10 +1413,12 @@ method but "sudo" can be configured with user option | |||
| 1413 | +++ | 1413 | +++ |
| 1414 | *** Direct asynchronous processes are indicated by a connection-local variable. | 1414 | *** Direct asynchronous processes are indicated by a connection-local variable. |
| 1415 | If direct asynchronous processes shall be used, set the connection-local | 1415 | If direct asynchronous processes shall be used, set the connection-local |
| 1416 | variable 'tramp-direct-async-process' to a non-nil value. This has been | 1416 | variable 'tramp-direct-async-process' to a non-nil value. In previous |
| 1417 | changed, in previous Emacs versions this was indicated by the now | 1417 | Emacs versions this was indicated by the connection property |
| 1418 | deprecated connection property "direct-async-process". See the Tramp | 1418 | "direct-async-process". That connection property (though not connection |
| 1419 | manual "(tramp) Improving performance of asynchronous remote processes". | 1419 | properties and 'tramp-connection-properties' in general) is now |
| 1420 | deprecated. See the Tramp manual "(tramp) Improving performance of | ||
| 1421 | asynchronous remote processes". | ||
| 1420 | 1422 | ||
| 1421 | --- | 1423 | --- |
| 1422 | *** Direct asynchronous processes use 'tramp-remote-path'. | 1424 | *** Direct asynchronous processes use 'tramp-remote-path'. |
diff --git a/lisp/net/network-stream.el b/lisp/net/network-stream.el index dcb3ad61f6d..89d3e4f19c1 100644 --- a/lisp/net/network-stream.el +++ b/lisp/net/network-stream.el | |||
| @@ -117,15 +117,18 @@ values: | |||
| 117 | used to decode and encode the data which the process reads and | 117 | used to decode and encode the data which the process reads and |
| 118 | writes. See `make-network-process' for details. | 118 | writes. See `make-network-process' for details. |
| 119 | 119 | ||
| 120 | :return-list specifies this function's return value. | 120 | :return-list controls the form of the function's return value. |
| 121 | If omitted or nil, return a process object. A non-nil means to | 121 | If omitted or nil, return a process object. Anything else means to |
| 122 | return (PROC . PROPS), where PROC is a process object and PROPS | 122 | return (PROC . PROPS), where PROC is a process object, and PROPS is a |
| 123 | is a plist of connection properties, with these keywords: | 123 | plist of connection properties, which may include the following |
| 124 | keywords: | ||
| 124 | :greeting -- the greeting returned by HOST (a string), or nil. | 125 | :greeting -- the greeting returned by HOST (a string), or nil. |
| 125 | :capabilities -- a string representing HOST's capabilities, | 126 | :capabilities -- a string representing HOST's capabilities, |
| 126 | or nil if none could be found. | 127 | or nil if none could be found. |
| 127 | :type -- the resulting connection type; `plain' (unencrypted) | 128 | :type -- the resulting connection type; `plain' (unencrypted) |
| 128 | or `tls' (TLS-encrypted). | 129 | or `tls' (TLS-encrypted). |
| 130 | :error -- A string describing any error when attempting | ||
| 131 | to negotiate STARTTLS. | ||
| 129 | 132 | ||
| 130 | :end-of-command specifies a regexp matching the end of a command. | 133 | :end-of-command specifies a regexp matching the end of a command. |
| 131 | 134 | ||
| @@ -164,8 +167,9 @@ writes. See `make-network-process' for details. | |||
| 164 | :use-starttls-if-possible is a boolean that says to do opportunistic | 167 | :use-starttls-if-possible is a boolean that says to do opportunistic |
| 165 | STARTTLS upgrades even if Emacs doesn't have built-in TLS functionality. | 168 | STARTTLS upgrades even if Emacs doesn't have built-in TLS functionality. |
| 166 | 169 | ||
| 167 | :warn-unless-encrypted is a boolean which, if :return-list is | 170 | :warn-unless-encrypted, if non-nil, warn the user if the connection |
| 168 | non-nil, is used warn the user if the connection isn't encrypted. | 171 | isn't encrypted (i.e. STARTTLS failed). Additionally, setting |
| 172 | :return-list non-nil allows capturing any error response. | ||
| 169 | 173 | ||
| 170 | :nogreeting is a boolean that can be used to inhibit waiting for | 174 | :nogreeting is a boolean that can be used to inhibit waiting for |
| 171 | a greeting from the server. | 175 | a greeting from the server. |
diff --git a/test/lisp/proced-tests.el b/test/lisp/proced-tests.el index 9036c15271c..3dc7e065afa 100644 --- a/test/lisp/proced-tests.el +++ b/test/lisp/proced-tests.el | |||
| @@ -50,7 +50,11 @@ | |||
| 50 | (defun proced--assert-process-valid-cpu-refinement (cpu) | 50 | (defun proced--assert-process-valid-cpu-refinement (cpu) |
| 51 | "Fail unless the process at point could be present after a refinement using CPU." | 51 | "Fail unless the process at point could be present after a refinement using CPU." |
| 52 | (proced--move-to-column "%CPU") | 52 | (proced--move-to-column "%CPU") |
| 53 | (>= (thing-at-point 'number) cpu)) | 53 | (condition-case err |
| 54 | (>= (thing-at-point 'number) cpu) | ||
| 55 | (error | ||
| 56 | (ert-fail | ||
| 57 | (list err (proced--assert-process-valid-cpu-refinement-explainer cpu)))))) | ||
| 54 | 58 | ||
| 55 | (defun proced--assert-process-valid-cpu-refinement-explainer (cpu) | 59 | (defun proced--assert-process-valid-cpu-refinement-explainer (cpu) |
| 56 | "Explain the result of `proced--assert-process-valid-cpu-refinement'. | 60 | "Explain the result of `proced--assert-process-valid-cpu-refinement'. |