|
3 | 3 |
|
4 | 4 | <!-- ----------------------------------------------------- -->
|
5 | 5 | <head>
|
6 |
| -<title>Clink v1.6.2</title> |
| 6 | +<title>Clink v1.6.3</title> |
7 | 7 | <style>
|
8 | 8 | @import url('https://fonts.googleapis.com/css2?family=Rambla:wght@400;700&family=Roboto&family=Fira+Mono&display=swap');
|
9 | 9 | html {
|
|
942 | 942 | </td>
|
943 | 943 | <td style="text-align:right">
|
944 | 944 | <div id="header">
|
945 |
| - <div id="title">Clink v1.6.2</div> |
| 945 | + <div id="title">Clink v1.6.3</div> |
946 | 946 | <div id="url">
|
947 | 947 | <a href="https://github.com/chrisant996/clink">
|
948 | 948 | https://github.com/chrisant996/clink
|
@@ -2704,7 +2704,8 @@ <h4 id="conditional-init-constructs"><a class="wlink" href="#conditional-init-co
|
2704 | 2704 | "\C-xq": "\eb\"\ef\""
|
2705 | 2705 | $endif
|
2706 | 2706 | </code></pre>
|
2707 |
| -<p>The <code>$if clink_version</code> test may be used to perform comparisons against specific Clink versions. The <code>clink_version</code> expands to the current Clink version. The set of comparison operators includes <code>=</code> (and <code>==</code>), <code>!=</code>, <code><=</code>, <code>>=</code>, <code><</code>, and <code>></code>. The version number supplied on the right side of the operator consists of a major version number, an optional decimal point and minor version, and an optional decimal point and patch version (e.g., "1.6" or "1.6.2"). If the minor or patch versions are omitted, they are assumed to be "0". The operator may be separated from the string <code>clink_version</code> and from the version number argument by whitespace. In other applications that use Readline (such as <code>bash</code>) or in versions of Clink before v1.6.1, the test is always false. The following example sets a key binding if the Clink version being used is 1.6.1 or newer:</p> |
| 2707 | +<p><a name="if_clink_version"></a> |
| 2708 | +The <code>$if clink_version</code> test may be used to perform comparisons against specific Clink versions. The <code>clink_version</code> expands to the current Clink version. The set of comparison operators includes <code>=</code> (and <code>==</code>), <code>!=</code>, <code><=</code>, <code>>=</code>, <code><</code>, and <code>></code>. The version number supplied on the right side of the operator consists of a major version number, an optional decimal point and minor version, and an optional decimal point and patch version (e.g., "1.6" or "1.6.2"). If the minor or patch versions are omitted, they are assumed to be "0". The operator may be separated from the string <code>clink_version</code> and from the version number argument by whitespace. In other applications that use Readline (such as <code>bash</code>) or in versions of Clink before v1.6.1, the test is always false. The following example sets a key binding if the Clink version being used is 1.6.1 or newer:</p> |
2708 | 2709 | <pre><code class="language-inputrc">$if clink_version >= 1.6.1
|
2709 | 2710 | "\C-x\C-f": clink-dump-functions # This function doesn't exist before Clink 1.6.1,
|
2710 | 2711 | # and would print an error in older versions.
|
@@ -2734,7 +2735,7 @@ <h4 id="conditional-init-constructs"><a class="wlink" href="#conditional-init-co
|
2734 | 2735 | </code></pre>
|
2735 | 2736 | </dd>
|
2736 | 2737 |
|
2737 |
| -<h4 id="sample-inputrc-file"><a class="wlink" href="#sample-inputrc-file"><svg width=16 height=16><use href="#wicon"/></svg><span class="wfix">.</span></a>Sample .inputrc file <span class="uplinks"><a href="#init-file-syntax">up</a> <a href="#toc">top</a></span></h4> |
| 2738 | +<h4 id="sample-inputrc-file"><a class="wlink" href="#if_clink_version"><svg width=16 height=16><use href="#wicon"/></svg><span class="wfix">.</span></a>Sample .inputrc file <span class="uplinks"><a href="#init-file-syntax">up</a> <a href="#toc">top</a></span></h4> |
2738 | 2739 | <p>Here is a sample <code>.inputrc</code> file with some of the variables and key bindings that I use:</p>
|
2739 | 2740 | <pre><code class="language-inputrc">$if clink # begin clink-only section
|
2740 | 2741 |
|
@@ -7994,6 +7995,55 @@ <h5 id="Deprecated" class="group_name"><a class="wlink" href="#Deprecated"><svg
|
7994 | 7995 | <div class="section" id="changes">
|
7995 | 7996 | <h1 id="changes"><a class="wlink" href="#changes"><svg width=16 height=16><use href="#wicon"/></svg><span class="wfix">.</span></a>Changes <span class="uplinks"><a href="#toc">top</a></span></h1>
|
7996 | 7997 | <h3 id="releases-from-chrisant996clink-fork"><a class="wlink" href="#releases-from-chrisant996clink-fork"><svg width=16 height=16><use href="#wicon"/></svg><span class="wfix">.</span></a>Releases from <a href="https://github.com/chrisant996/clink">chrisant996/clink</a> fork <span class="uplinks"><a href="#changes">up</a> <a href="#toc">top</a></span></h3>
|
| 7998 | +<h4 id="v163"><a class="wlink" href="#v163"><svg width=16 height=16><use href="#wicon"/></svg><span class="wfix">.</span></a>v1.6.3 <span class="uplinks"><a href="#releases-from-chrisant996clink-fork">up</a> <a href="#toc">top</a></span></h4> |
| 7999 | +<ul> |
| 8000 | +<li><strong>Breaking Change:</strong> For the four <kbd>Ctrl</kbd>-<kbd>-</kbd> key combinations, Clink got the <kbd>Shift</kbd> key backwards and generated inaccurate input codes. And that broke the Readline/bash default key binding for <code>undo</code> (the Windows default key binding of <kbd>Ctrl</kbd>-<kbd>z</kbd> works fine). If your .inputrc file has bindings for any of the <kbd>Ctrl</kbd>-<kbd>-</kbd> key combinations then you can keep the keys working the same by updating the key bindings. You can even use the <a href="#if_clink_version"><code>$if clink_version >= 1.6.3</code></a> syntax in your .inputrc file to make it define the key bindings differently in different versions of Clink.<table> |
| 8001 | +<thead> |
| 8002 | +<tr> |
| 8003 | +<th>Key Combination</th> |
| 8004 | +<th>Old Code</th> |
| 8005 | +<th>New Code</th> |
| 8006 | +</tr> |
| 8007 | +</thead> |
| 8008 | +<tbody><tr> |
| 8009 | +<td><kbd>Ctrl</kbd>-<kbd>-</kbd></td> |
| 8010 | +<td><code>"\C-_"</code> or <code>C-_</code></td> |
| 8011 | +<td><code>"\e[27;5;189~"</code></td> |
| 8012 | +</tr> |
| 8013 | +<tr> |
| 8014 | +<td><kbd>Ctrl</kbd>-<kbd>Shift</kbd>-<kbd>-</kbd></td> |
| 8015 | +<td><code>"\e[27;6;189~"</code></td> |
| 8016 | +<td><code>"\C-_"</code> or <code>C-_</code></td> |
| 8017 | +</tr> |
| 8018 | +<tr> |
| 8019 | +<td><kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>-</kbd></td> |
| 8020 | +<td><code>"\e\C-_"</code> or <code>"\M-\C-_"</code> or <code>M-C-_</code> or etc</td> |
| 8021 | +<td><code>"\e[27;7;189~"</code></td> |
| 8022 | +</tr> |
| 8023 | +<tr> |
| 8024 | +<td><kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>Shift</kbd>-<kbd>-</kbd></td> |
| 8025 | +<td><code>"\e[27;8;189~"</code></td> |
| 8026 | +<td><code>"\e\C-_"</code> or <code>"\M-\C-_"</code> or <code>M-C-_</code> or etc</td> |
| 8027 | +</tr> |
| 8028 | +</tbody></table> |
| 8029 | +</li> |
| 8030 | +<li>Completions for all <code>clink set</code> settings include the current value in the description field (e.g. type <code>clink set </code><kbd>Alt</kbd>-<kbd>=</kbd> to see Clink settings and their current values).</li> |
| 8031 | +<li>Fixed to differentiate between <code>undo</code> and <code>vi-undo</code> commands again (they do the same thing, but are technically different commands).</li> |
| 8032 | +<li>Fixed <code>execute-named-command</code> to also accept <kbd>Ctrl</kbd>-<kbd>-</kbd> for <code>undo</code> (the emacs binding for undo).</li> |
| 8033 | +<li>Fixed redisplaying multi-line prompts after using completion during <code>execute-named-command</code>.</li> |
| 8034 | +<li>Fixed accidentally loading the history file twice on each prompt; now it loads once, as intended.</li> |
| 8035 | +<li>Fixed another double-free and potential crash in the Readline library; after navigating through history entries and then editing a history entry, pressing <kbd>Ctrl</kbd>-<kbd>c</kbd> or <kbd>Ctrl</kbd>-<kbd>Break</kbd> could cause a crash or memory corruption (regression exposed by changes in Readline 8.2).</li> |
| 8036 | +<li>Applied fixes for 6 Lua bugs, curated by <a href="https://github.com/goodusername123">@goodusername123</a> (thank you!) from <a href="https://lua.org/bugs.html">Lua.org</a>:<ul> |
| 8037 | +<li>"Dead keys with nil values can stay in weak tables."</li> |
| 8038 | +<li>"Expression list with four or more expressions in a 'for' loop can crash the interpreter."</li> |
| 8039 | +<li>"Label between local definitions can mix-up their initializations."</li> |
| 8040 | +<li>"Return hook may not see correct values for active local variables when function returns."</li> |
| 8041 | +<li>"Suspended __le metamethod can give wrong result."</li> |
| 8042 | +<li>"Wrong code generated for a 'goto' followed by a label inside an 'if'."</li> |
| 8043 | +</ul> |
| 8044 | +</li> |
| 8045 | +<li>Fixed the Lua debugger so 5-digit line numbers don't break indentation when showing source code lines.</li> |
| 8046 | +</ul> |
7997 | 8047 | <h4 id="v162"><a class="wlink" href="#v162"><svg width=16 height=16><use href="#wicon"/></svg><span class="wfix">.</span></a>v1.6.2 <span class="uplinks"><a href="#releases-from-chrisant996clink-fork">up</a> <a href="#toc">top</a></span></h4>
|
7998 | 8048 | <ul>
|
7999 | 8049 | <li>Added optional argument <code>argmatcher:chaincommand(aliases)</code> to let the argmatcher know that the chained command will have doskey aliases expanded.</li>
|
|
0 commit comments