diff options
| author | F. Jason Park | 2022-12-09 22:00:59 -0800 |
|---|---|---|
| committer | F. Jason Park | 2023-04-08 14:23:51 -0700 |
| commit | 52c8d5371e4649d3dec4d254dcc483f8dee6b49c (patch) | |
| tree | dd97cd0d031bdf527aa1aef82fa9fa6fc4c82796 | |
| parent | 0e4c07dc7448aafd2aa5f6e101d7b7aac23d8a6b (diff) | |
| download | emacs-52c8d5371e4649d3dec4d254dcc483f8dee6b49c.tar.gz emacs-52c8d5371e4649d3dec4d254dcc483f8dee6b49c.zip | |
* etc/ERC-NEWS: Add section for ERC 5.6.
| -rw-r--r-- | etc/ERC-NEWS | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS index 434bfab94e9..8f1b89f268b 100644 --- a/etc/ERC-NEWS +++ b/etc/ERC-NEWS | |||
| @@ -12,6 +12,183 @@ extensible IRC (Internet Relay Chat) client distributed with | |||
| 12 | GNU Emacs since Emacs version 22.1. | 12 | GNU Emacs since Emacs version 22.1. |
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | * Changes in ERC 5.6 | ||
| 16 | |||
| 17 | ** Module 'keep-place' now offers a visual indicator. | ||
| 18 | Remember your place in ERC buffers a bit more easily while retaining | ||
| 19 | the freedom to look around. Optionally sync the indicator to any | ||
| 20 | progress made when you haven't yet caught up to the live stream. See | ||
| 21 | options 'erc-keep-place-indicator-style' and friends and new module | ||
| 22 | 'keep-place-indicator', which for now must be added manually to | ||
| 23 | 'erc-modules'. | ||
| 24 | |||
| 25 | ** Module 'fill' now offers a style based on 'visual-line-mode'. | ||
| 26 | This fill style mimics the "hanging indent" look of 'erc-fill-static' | ||
| 27 | and provides some movement and editing commands to optionally tame the | ||
| 28 | less familiar aspects of 'visual-line' behavior. An interactive | ||
| 29 | helper called 'erc-fill-wrap-nudge' allows for dynamic "refilling" of | ||
| 30 | buffers on the fly. Set 'erc-fill-function' to 'erc-fill-wrap' to get | ||
| 31 | started. | ||
| 32 | |||
| 33 | ** A unified interactive entry point. | ||
| 34 | New users are often dismayed to discover that M-x ERC doesn't connect | ||
| 35 | to its default network, Libera.Chat, over TLS. Though perhaps a | ||
| 36 | decade overdue, this is no longer the case. Other UX improvements in | ||
| 37 | this area aim to make the process of connecting interactively slightly | ||
| 38 | more streamlined and less repetitive, even for veteran users. | ||
| 39 | |||
| 40 | ** New buffer-display option 'erc-interactive-display'. | ||
| 41 | A point of friction for new users and one only just introduced with | ||
| 42 | ERC 5.5 has been the lack of visual feedback when first connecting via | ||
| 43 | M-x erc. As explained below in the news for 5.5, the discovery of a | ||
| 44 | security issue led to new ERC buffers being "buried" on creation. On | ||
| 45 | further reflection, this was judged to have been an overcorrection in | ||
| 46 | the case of interactive invocations, hence the new option | ||
| 47 | 'erc-interactive-display', which is set to 'buffer' (i.e., "take me | ||
| 48 | there") by default. Accompanying this addition are "display"-suffixed | ||
| 49 | aliases for related options 'erc-join-buffer' and 'erc-auto-query', | ||
| 50 | which users have reported as being difficult to discover and remember. | ||
| 51 | |||
| 52 | ** Setting a module's mode variable via Customize earns a warning. | ||
| 53 | Trying and failing to activate a module via its minor mode's Custom | ||
| 54 | widget has been an age-old annoyance for new users. Previously | ||
| 55 | ineffective, this method now actually works, but it also admonishes | ||
| 56 | users to edit the 'erc-modules' widget instead. | ||
| 57 | |||
| 58 | ** The option 'erc-timestamp-use-align-to' is more versatile. | ||
| 59 | While this option has always offered to right-align stamps via the | ||
| 60 | 'display' text property, it's now more effective at doing so when set | ||
| 61 | to a number indicating an offset from the right edge. And when set to | ||
| 62 | the symbol 'margin', it displays stamps in the right margin, although, | ||
| 63 | at the moment, this is mostly intended for use by other modules, such | ||
| 64 | as 'fill-wrap', described above. For both these variants, users of | ||
| 65 | the 'log' module may want to customize 'erc-log-filter-function' to | ||
| 66 | 'erc-stamp-prefix-log-filter' to avoid ragged right-hand stamps | ||
| 67 | appearing in their saved logs. | ||
| 68 | |||
| 69 | ** Smarter reconnect handling for users on the move. | ||
| 70 | ERC now offers a new, experimental reconnect strategy in the function | ||
| 71 | 'erc-server-delayed-check-reconnect', which tests for underlying | ||
| 72 | connectivity before attempting to reconnect in earnest. See options | ||
| 73 | 'erc-server-reconnect-function' and 'erc-nickname-in-use-functions' to | ||
| 74 | get started. | ||
| 75 | |||
| 76 | ** Easily constrain all ERC-related business to a dedicated frame. | ||
| 77 | The option 'erc-reuse-frames' can now be set to 'displayed', which | ||
| 78 | tells ERC to show new buffers in frames already occupied by buffers | ||
| 79 | from the same connection. This customization depends on the option | ||
| 80 | 'erc-buffer-display' (formerly 'erc-join-buffer') being set to | ||
| 81 | 'frame'. If you find the name 'displayed' unhelpful, please suggest | ||
| 82 | an alternative by writing to the mailing list. | ||
| 83 | |||
| 84 | ** Some keybindings are now set by modules rather than their libraries. | ||
| 85 | To put it another way, simply loading a built-in module's library no | ||
| 86 | longer modifies 'erc-mode-map'. Instead, modifications occur during | ||
| 87 | module setup. This should not impact most user configs since ERC | ||
| 88 | doesn't bother with keys already taken and only removes bindings it's | ||
| 89 | previously created. Note that while all affected bindings still | ||
| 90 | reside in 'erc-mode-map', future built-in modules will use their own | ||
| 91 | minor-mode maps, and new third-party modules should do the same. | ||
| 92 | |||
| 93 | ** The option 'erc-timestamp-format-right' has been deprecated. | ||
| 94 | Having to account for this option prevented other ERC modules from | ||
| 95 | easily determining what right-hand stamps would look like before | ||
| 96 | insertion, which is knowledge needed for certain UI decisions. The | ||
| 97 | way ERC has chosen to address this is imperfect and boils down to | ||
| 98 | asking users who've customized this option to switch to | ||
| 99 | 'erc-timestamp-format' instead. If you're affected by this and feel | ||
| 100 | that some other solution, like automatic migration, is justified, | ||
| 101 | please make that known on the bug list. | ||
| 102 | |||
| 103 | ** The 'nicknames' entry in 'erc-button-alist' is officially exceptional. | ||
| 104 | It's no secret that the 'buttons' module treats potential nicknames | ||
| 105 | specially. To simplify ERC's move to next-gen "rich UI" extensions, | ||
| 106 | this special treatment is being canonized. From now on, all values | ||
| 107 | other than the symbol 'erc-button-buttonize-nicks' appearing in the | ||
| 108 | "FORM" field (third element) of this entry are considered deprecated | ||
| 109 | and will incur a warning. | ||
| 110 | |||
| 111 | ** Miscellaneous UX changes. | ||
| 112 | Some minor quality-of-life niceties have finally made their way to | ||
| 113 | ERC. For example, the function 'erc-echo-timestamp' is now | ||
| 114 | interactive and can be invoked on any message to view its timestamp in | ||
| 115 | the echo area. Also, the 'irccontrols' module now supports additional | ||
| 116 | colors and special handling for "spoilers" (hidden text). And issuing | ||
| 117 | an "/MOTD" now dispatches a purpose-built command handler. | ||
| 118 | |||
| 119 | ** Changes in the library API. | ||
| 120 | |||
| 121 | *** Some top-level dependencies have been removed. | ||
| 122 | The library 'erc-goodies' is no longer loaded by ERC's main library. | ||
| 123 | This was done to further cement the move toward a unidirectional | ||
| 124 | dependency flow begun in 5.5. Additionally, a few barely used and | ||
| 125 | newly introduced dependencies are now lazily loaded, which may upset | ||
| 126 | some third-party code. The first of these is 'pp' because its | ||
| 127 | 'pp-to-string' is autoloaded in all supported ERC versions. Also gone | ||
| 128 | are 'thingatpt', 'time-date', and 'iso8601'. All were used ultra | ||
| 129 | sparingly, and the latter two have only been around for one minor | ||
| 130 | release cycle, so their removal hopefully won't cause much churn. | ||
| 131 | |||
| 132 | *** Some ERC-applied text properties have changed. | ||
| 133 | Chiefly, 'rear-sticky' has been replaced by 'erc-command', which | ||
| 134 | records the IRC command (or numeric) associated with a message. Less | ||
| 135 | impactfully, the value of the 'field' property for ERC's prompt has | ||
| 136 | changed from 't' to the more useful 'erc-prompt', although the | ||
| 137 | property of the same name has been retained. | ||
| 138 | |||
| 139 | *** ERC now manages timestamp-related properties a bit differently. | ||
| 140 | For starters, the 'cursor-sensor-functions' property no longer | ||
| 141 | contains unique closures and thus no longer proves effective for | ||
| 142 | traversing messages. To compensate, a new property, 'erc-timestamp', | ||
| 143 | now spans message bodies but not the newlines delimiting them. | ||
| 144 | Somewhat relatedly, the function 'erc-insert-aligned' has been | ||
| 145 | deprecated and removed from the primary client code path. | ||
| 146 | |||
| 147 | *** The role of a module's Custom group is now more clearly defined. | ||
| 148 | Associating built-in modules with Custom groups and provided library | ||
| 149 | features has improved. More specifically, a module's group now enjoys | ||
| 150 | the singular purpose of determining where the module's minor mode | ||
| 151 | variable lives in the Customize interface. And although ERC is now | ||
| 152 | slightly more adept at linking these entities, third-parties are still | ||
| 153 | encouraged to keep a module's name aligned with its group's as well as | ||
| 154 | the provided feature of its containing library, if only for the usual | ||
| 155 | reasons of namespace hygiene and discoverability. | ||
| 156 | |||
| 157 | *** ERC now supports arbitrary CHANTYPES. | ||
| 158 | Specifically, channels can be prefixed with any predesignated | ||
| 159 | character, mainly to afford more flexibility to specialty services, | ||
| 160 | like bridges to other protocols. | ||
| 161 | |||
| 162 | *** 'erc-cmd-HELP' recognizes subcommands. | ||
| 163 | Some IRC "slash" commands are hierarchical and require users to | ||
| 164 | specify a subcommand to actually carry out anything of consequence. | ||
| 165 | Built-in modules can now provide more detailed help for a particular | ||
| 166 | subcommand by telling ERC to defer to a specialized handler. | ||
| 167 | |||
| 168 | *** Longtime quasi modules have been made proper. | ||
| 169 | The 'fill' module is now defined by 'define-erc-module'. The same | ||
| 170 | goes for ERC's imenu integration, which has 'imenu' now appearing in | ||
| 171 | the default value of 'erc-modules'. | ||
| 172 | |||
| 173 | *** ERC's prompt survives the insertion of user input and messages. | ||
| 174 | Previously, ERC's prompt and its input marker disappeared while | ||
| 175 | running hooks during message insertion, and the position of its | ||
| 176 | "insert marker" (ERC's per-buffer process mark) was inconsistent | ||
| 177 | during these spells. To make insertion handling more predictable in | ||
| 178 | preparation for incorporating various protocol extensions, the prompt | ||
| 179 | and its bounding markers have become perennial fixtures. In rare | ||
| 180 | cases, these changes may mean third-party code needs tweaking, for | ||
| 181 | example, requiring the use of 'insert-before-markers' instead of | ||
| 182 | 'insert'. As always, users feeling unduly inconvenienced by these | ||
| 183 | changes are encouraged to voice their concerns on the bug list. | ||
| 184 | |||
| 185 | *** Miscellaneous changes | ||
| 186 | For autoloading purposes, 'Info-goto-node' has been supplanted by | ||
| 187 | plain old 'info' in 'erc-button-alist', and two helper macros from GNU | ||
| 188 | ELPA's Compat library are now available to third-party modules as | ||
| 189 | 'erc-compat-call' and 'erc-compat-function'. | ||
| 190 | |||
| 191 | |||
| 15 | * Changes in ERC 5.5 | 192 | * Changes in ERC 5.5 |
| 16 | 193 | ||
| 17 | ** Smarter buffer naming for withstanding collisions. | 194 | ** Smarter buffer naming for withstanding collisions. |