emacs/etc
F. Jason Park 63d8b2a59a Make erc-fill-wrap work with left-sided stamps
* 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)
2023-07-22 07:33:07 -07:00
..
charsets ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
e Implement alternative sub-buffer support in term.el 2022-01-24 20:02:33 +01:00
forms ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
gnus
images Improve portability of newly added icons 2023-04-03 16:16:06 +08:00
nxml
org ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
refcards Merge from origin/emacs-29 2023-05-18 07:49:49 -04:00
schema ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
srecode ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
themes Update modus-themes to their version 4.2.0 2023-05-30 09:37:24 +03:00
tutorials Update zh-CN tutorial translation 2023-04-28 09:09:10 +03:00
AUTHORS ; Update ChangeLog.4 and etc/AUTHORS. 2023-06-18 07:15:29 -04:00
CALC-NEWS ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ChangeLog.1 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
compilation.txt Tighten and simplify typescript compilation-mode regexps (bug#61104) 2023-02-06 17:47:00 +01:00
COPYING Merge from Gnulib 2017-10-01 18:31:10 -07:00
DEBUG Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
DEVEL.HUMOR ; * etc/DEVEL.HUMOR: Add a recent joke. 2022-02-11 10:15:20 +02:00
DISTRIB ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
edt-user.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
EGLOT-NEWS ; Eglot: adjust EGLOT-NEWS mention for last change 2023-07-22 10:36:39 +01:00
emacs-buffer.gdb ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacs-mail.desktop Hide emacs-mail.desktop, emacsclient-mail.desktop from menus 2021-07-02 13:09:18 +02:00
emacs.desktop Drop redundant keywords in .desktop files. 2021-08-11 14:05:25 +02:00
emacs.icon
emacs.metainfo.xml ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacs.service * etc/emacs.service: 2020-12-14 17:59:58 +01:00
emacs_lldb.py ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacsclient-mail.desktop Avoid using bash in the emacsclient desktop file 2023-03-08 19:37:27 +01:00
emacsclient.desktop Fix quoted argument in emacsclient-mail.desktop Exec key 2022-12-24 09:19:40 +02:00
enriched.txt ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ERC-NEWS Make erc-fill-wrap work with left-sided stamps 2023-07-22 07:33:07 -07:00
ETAGS.EBNF ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ETAGS.README ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
future-bug
gnus-tut.txt ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
grep.txt ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
HELLO Add Mongolian language environments 2023-04-25 11:50:59 +03:00
HISTORY Update HISTORY for Emacs 28.3 2023-02-17 11:22:19 +01:00
JOKES
MACHINES ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
MH-E-NEWS ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS Add inhibit-remote-files and without-remote-files 2023-07-22 10:16:04 +02:00
NEWS.1-17 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.18 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.19 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.20 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.21 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.22 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.23 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.24 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.25 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.26 cl-print: Put buttons on ellipses 2023-07-13 19:00:51 -04:00
NEWS.27 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.28 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.29 Merge from origin/emacs-29 2023-07-01 06:29:52 -04:00
NEXTSTEP ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NXML-NEWS ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ORG-NEWS Update to Org 9.6.1-48-g92471e 2023-03-18 21:41:22 -04:00
org.gnu.emacs.defaults.gschema.xml ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
package-keyring.gpg * etc/package-keyring.gpg: Update with new key 2022-12-28 12:19:02 -05:00
PROBLEMS Merge from origin/emacs-29 2023-07-01 06:30:00 -04:00
ps-prin0.ps ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ps-prin1.ps ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
publicsuffix.txt Update publicsuffix.txt from upstream 2023-04-01 06:00:47 +02:00
README ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
rgb.txt
ses-example.ses ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
spook.lines Add more spook.lines 2019-07-13 05:09:45 +02:00
TERMS ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
TODO ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
w32-feature.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
yow.lines

This directory contains the architecture-independent files used by or
with Emacs.  This includes some text files of documentation for GNU
Emacs or of interest to Emacs users, and the file of dumped docstrings
for Emacs functions and variables.

COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES

File: emacs.icon
  Author: Sun Microsystems, Inc
  Copyright (C) 1999, 2001-2023 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)