mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-20 19:42:53 -08:00
* etc/ERC-NEWS: Remove all mention of option `erc-timestamp-align-to' supporting a value of `margin', which has been abandoned. Do mention leading white space before stamps now having stamp-related properties. * lisp/erc/erc-backend.el (erc--reveal-prompt, erc--conceal-prompt): New generic functions with default implementations factored out from `erc--unhide-prompt' and `erc--hide-prompt'. (erc--prompt-hidden-p): New internal predicate function. (erc--unhide-prompt): Defer to `erc--reveal-prompt', and set `erc-prompt' text property to t. (erc--hide-prompt): Defer to `erc--conceal-prompt', and set `erc-prompt' text property to `hidden'. * lisp/erc/erc-compat.el (erc-compat--29-browse-url-irc): Don't use `function-equal'. * lisp/erc/erc-fill.el (erc-fill-wrap-margin-width, erc-fill-wrap-margin-side): New options to control side and initial width of `fill-wrap' margin. (erc-fill--wrap-beginning-of-line): Fix bug involving non-string valued `display' props. (erc-fill-wrap-toggle-truncate-lines): New command to re-enable `visual-line-mode' when toggling off `truncate-lines'. (erc-fill-wrap-mode-map): Remap `toggle-truncate-lines' to `erc-fill-wrap-toggle-truncate-lines'. (erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable): Update doc string, persist a few local vars, and conditionally set `erc-stamp--margin-left-p'. When deactivating, disable `visual-line-mode' first. (erc-fill--wrap-continued-message-p): Use `erc-speaker' instead of heuristics when comparing nicks between consecutive messages. (erc-fill-wrap-nudge): Update doc string and account for left-sided stamps. (erc-timestamp-offset): Add comment regarding conditional guard based on function-valued option. * lisp/erc/erc-stamp.el (erc-timestamp-use-align-to): Remove value variant `margin', which was originally intended to be new in ERC 5.6. This functionality was all but useless without the internal minor mode `erc-stamp--display-margin-mode' active. (erc-stamp-right-margin-width): Remove unused option new in 5.6. (erc-stamp--display-margin-force): Remove unused function. (erc-stamp--margin-width, erc-stamp--margin-left-p): New internal variables. (erc-stamp--init-margins-on-connect): New function for initializing mode-managed margin after connecting. (erc-stamp--adjust-right-margin, erc-stamp--adjust-margin): Rename function to latter and accommodate left-hand stamps. (erc-stamp--inherited-props): Move definition higher up in same file. (erc-stamp--display-margin-mode): Update function name, and adjust setup and teardown to accommodate left-handed stamps. Don't add advice around `erc-insert-timestamp-function'. (erc-stamp--last-prompt, erc-stamp--display-prompt-in-left-margin): New function and helper var to convert a normal inserted prompt so that it appears in the left margin. (erc-stamp--refresh-left-margin-prompt): Helper for other modules to quickly refresh prompt outside of insert hooks. (erc--reveal-prompt, erc--conceal-prompt): New implementations for when `erc-stamp--display-margin-mode' is active. (erc-insert-timestamp-left): Convert to generic function and provide implementation for `erc-stamp--display-margin-mode'. (erc-stamp--omit-properties-on-folded-lines): New variable, an escape hatch for propertizing white space before right-side stamps folded over onto another line. (erc-insert-timestamp-right): Don't expect `erc-timestamp-align-to' to ever be the symbol `margin'. Move handling for that case to one contingent on the internal minor mode `erc-stamp--display-margin-mode' being active. Add text properties preceding stamps that occupy a line by their lonesome. See related news entry for rationale. This is arguably a breaking change. * lisp/erc/erc.el (erc--refresh-prompt-hook): New hook variable for modules to adjust prompt properties whenever it's refreshed. (erc--refresh-prompt): Fix bug in which user-defined prompt functions failed to hide when quitting in server buffers. Run new hook `erc--refresh-prompt-hook'. (erc-display-prompt): Add comment noting that the text property `erc-prompt' now actually matters: it's t while a session is running and `hidden' when disconnected. * test/lisp/erc/erc-fill-tests.el (erc-fill--left-hand-stamps): New test. * test/lisp/erc/erc-stamp-tests.el (erc-stamp-tests--use-align-to--nil, erc-stamp-tests--use-align-to--t): New functions forged from old test bodies to allow optionally asserting pre-5.6 behavior regarding leading white space on right-hand stamps that exist on their own line. (erc-timestamp-use-align-to--nil, erc-timestamp-use-align-to--t): Parameterize with compatibility flag. (erc-timestamp-use-align-to--margin, erc-stamp--display-margin-mode--right): Rename test to latter. * test/lisp/erc/erc-tests.el (erc-hide-prompt): Add some assertions for new possible value of `erc-prompt' text property. * test/lisp/erc/resources/fill/snapshots/stamps-left-01.eld: New test data file. (Bug#60936) |
||
|---|---|---|
| .. | ||
| align-resources | ||
| auth-source-resources | ||
| bookmark-resources | ||
| calc | ||
| calendar | ||
| cedet | ||
| custom-resources | ||
| dired-resources/insert-directory | ||
| emacs-lisp | ||
| emulation | ||
| epg-resources | ||
| erc | ||
| eshell | ||
| faces-resources | ||
| files-resources | ||
| gnus | ||
| hfy-cmap-resources | ||
| image | ||
| international | ||
| loadhist-resources | ||
| mh-e | ||
| minibuffer-resources | ||
| net | ||
| nxml | ||
| obsolete | ||
| org | ||
| pcmpl-linux-resources | ||
| play | ||
| progmodes | ||
| saveplace-resources | ||
| so-long-tests | ||
| term | ||
| textmodes | ||
| time-resources | ||
| url | ||
| use-package | ||
| vc | ||
| xdg-resources | ||
| abbrev-tests.el | ||
| align-tests.el | ||
| allout-tests.el | ||
| allout-widgets-tests.el | ||
| ansi-color-tests.el | ||
| ansi-osc-tests.el | ||
| apropos-tests.el | ||
| arc-mode-tests.el | ||
| auth-source-pass-tests.el | ||
| auth-source-tests.el | ||
| autoinsert-tests.el | ||
| autorevert-tests.el | ||
| battery-tests.el | ||
| bookmark-tests.el | ||
| buff-menu-tests.el | ||
| button-tests.el | ||
| calculator-tests.el | ||
| char-fold-tests.el | ||
| color-tests.el | ||
| comint-tests.el | ||
| completion-tests.el | ||
| cus-edit-tests.el | ||
| custom-tests.el | ||
| dabbrev-tests.el | ||
| delim-col-tests.el | ||
| descr-text-tests.el | ||
| desktop-tests.el | ||
| dired-aux-tests.el | ||
| dired-tests.el | ||
| dired-x-tests.el | ||
| dnd-tests.el | ||
| dom-tests.el | ||
| edmacro-tests.el | ||
| electric-tests.el | ||
| elide-head-tests.el | ||
| env-tests.el | ||
| epg-config-tests.el | ||
| epg-tests.el | ||
| faces-tests.el | ||
| ffap-tests.el | ||
| filenotify-tests.el | ||
| files-tests.el | ||
| files-x-tests.el | ||
| find-cmd-tests.el | ||
| font-lock-tests.el | ||
| format-spec-tests.el | ||
| help-fns-tests.el | ||
| help-mode-tests.el | ||
| help-tests.el | ||
| hfy-cmap-tests.el | ||
| hi-lock-tests.el | ||
| hl-line-tests.el | ||
| htmlfontify-tests.el | ||
| ibuffer-tests.el | ||
| ido-tests.el | ||
| image-file-tests.el | ||
| image-tests.el | ||
| imenu-tests.el | ||
| info-tests.el | ||
| info-xref-tests.el | ||
| isearch-tests.el | ||
| jit-lock-tests.el | ||
| json-tests.el | ||
| jsonrpc-tests.el | ||
| kmacro-tests.el | ||
| loadhist-tests.el | ||
| lpr-tests.el | ||
| ls-lisp-tests.el | ||
| man-tests.el | ||
| md4-tests.el | ||
| minibuffer-tests.el | ||
| misc-tests.el | ||
| mouse-tests.el | ||
| mwheel-tests.el | ||
| newcomment-tests.el | ||
| obarray-tests.el | ||
| paren-tests.el | ||
| password-cache-tests.el | ||
| pcmpl-linux-tests.el | ||
| pcomplete-tests.el | ||
| proced-tests.el | ||
| ps-print-tests.el | ||
| register-tests.el | ||
| repeat-tests.el | ||
| replace-tests.el | ||
| rot13-tests.el | ||
| saveplace-tests.el | ||
| scroll-lock-tests.el | ||
| server-tests.el | ||
| ses-tests.el | ||
| shadowfile-tests.el | ||
| shell-tests.el | ||
| simple-tests.el | ||
| sort-tests.el | ||
| soundex-tests.el | ||
| startup-tests.el | ||
| subr-tests.el | ||
| tab-bar-tests.el | ||
| tabify-tests.el | ||
| tar-mode-tests.el | ||
| tempo-tests.el | ||
| term-tests.el | ||
| thingatpt-tests.el | ||
| thread-tests.el | ||
| time-stamp-tests.el | ||
| time-tests.el | ||
| timezone-tests.el | ||
| uniquify-tests.el | ||
| version-tests.el | ||
| wdired-tests.el | ||
| whitespace-tests.el | ||
| wid-edit-tests.el | ||
| x-dnd-tests.el | ||
| xdg-tests.el | ||
| xml-tests.el | ||
| xt-mouse-tests.el | ||
| yank-media-tests.el | ||