Commit graph

53 commits

Author SHA1 Message Date
Stefan Kangas
4fdb150769 ; Stylistic docfixes in erc/*.el found by checkdoc 2021-09-19 12:59:55 +02:00
Kevin Brubeck Unhammer
9bb8d90cdd Allow irc network symbols in erc-autojoin-channels-alist
* lisp/erc/erc-join.el (erc-autojoin-channels-alist): Explain the
extension.
(erc-autojoin-server-match): New function.
(erc-autojoin-channels): Use it.
(erc-autojoin-current-server): New function.
(erc-autojoin-add): Use it.
(erc-autojoin-remove): Ditto.

This can be useful when connecting to an IRC proxy like Weechat that
relays several networks under the same server. If we just keyed on the
server name, we would end up joining a channel on all networks
whenever we join one network on that server.

Networks are simply stored as symbols instead of regexes, since that's
how `erc-network' works.

The `erc-autojoin-add' function will still auto-add servers as strings
if the network doesn't have at least one entry in
`erc-autojoin-channels-alist'.
2021-09-16 15:50:14 +02:00
Stefan Monnier
f463633f00 lisp/erc: Use lexical-binding
Also remove various redundant `:group` arguments.

* lisp/erc/erc-backend.el (define-erc-response-handler): Move `declare`
after the docstring.

* lisp/erc/erc-capab.el: Use lexical-binding.
(erc-capab-identify-activate): Simplify with `member`.

* lisp/erc/erc-dcc.el (erc-dcc): Move before erc-dcc-mode definition,
which refers to it.
(erc-dcc-chat-accept): Remove unused vars `nick` and `buffer`.

* lisp/erc/erc-imenu.el: Use lexical-binding.
(erc-create-imenu-index): Remove unused var `prev-pos`.

* lisp/erc/erc-match.el: Use lexical-binding.
(erc-match-message): Remove unused var `old-pt`.
(erc-match-message): Strength-reduce `eval` to `symbol-value`.

* lisp/erc/erc-page.el: Use lexical-binding.
(erc-page): Move Custom group before `erg-page-mode` which refers to it.

* lisp/erc/erc-replace.el: Use lexical-binding.
(erc-replace-insert): Use `functionp`.

* lisp/erc/erc-status-sidebar.el: Use lexical-binding.
(erc-status-sidebar-open): Remove unused var `sidebar-window`.

* lisp/erc/erc.el: Fix header to use the customary 3 semi-colons.
(erc-fill-column): Declare variable.

* lisp/erc/erc-autoaway.el: Use lexical-binding.
* lisp/erc/erc-ezbounce.el: Use lexical-binding.
* lisp/erc/erc-fill.el: Use lexical-binding.
* lisp/erc/erc-goodies.el: Use lexical-binding.
* lisp/erc/erc-ibuffer.el: Use lexical-binding.
* lisp/erc/erc-identd.el: Use lexical-binding.
* lisp/erc/erc-join.el: Use lexical-binding.
* lisp/erc/erc-lang.el: Use lexical-binding.
* lisp/erc/erc-log.el: Use lexical-binding.
* lisp/erc/erc-menu.el: Use lexical-binding.
* lisp/erc/erc-netsplit.el: Use lexical-binding.
* lisp/erc/erc-networks.el: Use lexical-binding.
* lisp/erc/erc-pcomplete.el: Use lexical-binding.
* lisp/erc/erc-ring.el: Use lexical-binding.
* lisp/erc/erc-speedbar.el: Use lexical-binding.
* lisp/erc/erc-spelling.el: Use lexical-binding.
* lisp/erc/erc-truncate.el: Use lexical-binding.
* lisp/erc/erc-xdcc.el: Use lexical-binding.
2021-03-18 23:14:33 -04:00
Stefan Kangas
aaa80f408c Avoid having erc in irrelevant finder categories
* lisp/erc/erc-backend.el:
* lisp/erc/erc-button.el:
* lisp/erc/erc-dcc.el:
* lisp/erc/erc-identd.el:
* lisp/erc/erc-join.el:
* lisp/erc/erc-lang.el:
* lisp/erc/erc-log.el:
* lisp/erc/erc-match.el:
* lisp/erc/erc-menu.el:
* lisp/erc/erc-pcomplete.el:
* lisp/erc/erc-replace.el:
* lisp/erc/erc-spelling.el:
* lisp/erc/erc-stamp.el:
* lisp/erc/erc-track.el:
* lisp/erc/erc-xdcc.el: Remove irrelevant entries in Keywords header.
2021-02-11 00:06:36 +01:00
Stefan Kangas
fc66ec3322 Prefer defvar-local in erc
* lisp/erc/erc-backend.el (erc-server-current-nick)
(erc-server-process, erc-session-server, erc-session-connector)
(erc-session-port, erc-server-announced-name)
(erc-server-version, erc-server-parameters)
(erc-server-connected, erc-server-reconnect-count)
(erc-server-quitting, erc-server-reconnecting)
(erc-server-timed-out, erc-server-banned)
(erc-server-error-occurred, erc-server-lines-sent)
(erc-server-last-peers, erc-server-last-sent-time)
(erc-server-last-ping-time, erc-server-last-received-time)
(erc-server-lag, erc-server-filter-data, erc-server-duplicates)
(erc-server-processing-p, erc-server-flood-last-message)
(erc-server-flood-queue, erc-server-flood-timer)
(erc-server-ping-handler):
* lisp/erc/erc-capab.el (erc-capab-identify-activated)
(erc-capab-identify-sent):
* lisp/erc/erc-dcc.el (erc-dcc-byte-count, erc-dcc-entry-data)
(erc-dcc-file-name):
* lisp/erc/erc-ezbounce.el (erc-ezb-session-list):
* lisp/erc/erc-join.el (erc--autojoin-timer):
* lisp/erc/erc-netsplit.el (erc-netsplit-list):
* lisp/erc/erc-networks.el (erc-network):
* lisp/erc/erc-notify.el (erc-last-ison, erc-last-ison-time):
* lisp/erc/erc-ring.el (erc-input-ring, erc-input-ring-index):
* lisp/erc/erc-stamp.el (erc-timestamp-last-inserted)
(erc-timestamp-last-inserted-left)
(erc-timestamp-last-inserted-right):
* lisp/erc/erc.el (erc-session-password, erc-channel-users)
(erc-server-users, erc-channel-topic, erc-channel-modes)
(erc-insert-marker, erc-input-marker, erc-last-saved-position)
(erc-dbuf, erc-active-buffer, erc-default-recipients)
(erc-session-user-full-name, erc-channel-user-limit)
(erc-channel-key, erc-invitation, erc-channel-list)
(erc-bad-nick, erc-logged-in, erc-default-nicks)
(erc-nick-change-attempt-count, erc-send-input-line-function)
(erc-channel-new-member-names, erc-channel-banlist)
(erc-current-message-catalog): Prefer defvar-local.
2021-01-31 04:44:30 +01:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Mingde (Matthew) Zeng
88567ca8ec Fix erc-reuse-buffers behavior
* lisp/erc/erc.el (erc-generate-new-buffer-name): Fixes behavior 1,
also determines if the '#channel/server' buffer already exists
and will reuse that buffer when joining on the same
server. Additionally when creating a new buffer with
'#channel/serverB', the existing buffer '#channel' on 'severA' will be
renamed to '#channel/serverA' for the sake of consistency (bug#40121).

* lisp/erc/erc-join.el (erc-autojoin-channels): The logic is
simplified ensuring that when autojoining channels specified in
erc-autojoin-channels-alist, if there exists an erc buffer with the
same channel name but a different server, it will create a new buffer
to join the channel. The current logic is very weak that will skip
joining same channel on different servers altogether.

By the definition of erc-reuse-buffers, if non-nil it should create a
new buffer when joining channels with same names on different
servers. The current behavior of erc-reuse-buffers is:
1. when non-nil, it will always reuse the same channel buffer,
resulting in server A's channel gets reconnected to the channel with
the same name of server B.
2. when nil, the buffer-name of the joined channel is
'#channel/server'. However if one tries to '/join #channel' from the
server buffer, it creates a new empty buffer with buffer-name
'#channel', instead of opening the already-joined channel buffer.
2020-08-12 13:09:40 +02:00
Lars Ingebrigtsen
8f181124df Make some erc function aliases obsolete
* lisp/erc/erc-networks.el (erc-current-network):
* lisp/erc/erc-join.el (erc-autojoin-channels-delayed):
* lisp/erc/erc-backend.el (erc-server-setup-periodical-ping)
(erc-server-send-ping, erc-server-send-queue):
* lisp/erc/erc-autoaway.el (erc-autoaway-reestablish-idletimer)
(autoaway): Adjust callers.

* lisp/erc/erc-compat.el (erc-with-selected-window)
(erc-cancel-timer, erc-make-obsolete)
(erc-make-obsolete-variable): Make these aliases obsolete.
2020-08-02 07:55:02 +02:00
Amin Bandali
1aa1529301
ERC: Update maintainer address 2020-03-18 21:27:49 -04:00
Amin Bandali
1c487747ab
Update ERC module URLs
* lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el,
lisp/erc/erc-compat.el, lisp/erc/erc-fill.el, lisp/erc/erc-imenu.el,
lisp/erc/erc-join.el, lisp/erc/erc-lang.el, lisp/erc/erc-match.el,
lisp/erc/erc-pcomplete.el, lisp/erc/erc-ring.el,
lisp/erc/erc-spelling.el, lisp/erc/erc-stamp.el,
lisp/erc/erc-track.el: Update URL to friendlier form, over https.
* lisp/erc/erc-ibuffer.el: Remove URL to nonexistent page.
* lisp/erc/erc-list.el, lisp/erc/erc-log.el, lisp/erc/erc-notify.el,
lisp/erc/erc-replace.el, lisp/erc/erc-services.el,
lisp/erc/erc-sound.el, lisp/erc/erc-speedbar.el,
lisp/erc/erc-truncate.el: Add URL to corresponding EmacsWiki page.
2020-01-24 01:09:43 -05:00
Amin Bandali
36a4068105
ERC: New maintainer.
* admin/MAINTAINERS: Add entries for Amin Bandali, new maintainer for
ERC, and interested in maintaining Eshell.
* lisp/erc/*: New maintainer.
2020-01-17 21:45:10 -05:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Noam Postavsky
2f3544362c Remove lisp/erc/ file-local indent-tabs-mode settings
* lisp/erc/erc-autoaway.el:
* lisp/erc/erc-backend.el:
* lisp/erc/erc-button.el:
* lisp/erc/erc-compat.el:
* lisp/erc/erc-dcc.el:
* lisp/erc/erc-fill.el:
* lisp/erc/erc-ibuffer.el:
* lisp/erc/erc-identd.el:
* lisp/erc/erc-imenu.el:
* lisp/erc/erc-join.el:
* lisp/erc/erc-list.el:
* lisp/erc/erc-log.el:
* lisp/erc/erc-match.el:
* lisp/erc/erc-menu.el:
* lisp/erc/erc-netsplit.el:
* lisp/erc/erc-networks.el:
* lisp/erc/erc-notify.el:
* lisp/erc/erc-page.el:
* lisp/erc/erc-pcomplete.el:
* lisp/erc/erc-replace.el:
* lisp/erc/erc-ring.el:
* lisp/erc/erc-services.el:
* lisp/erc/erc-sound.el:
* lisp/erc/erc-speedbar.el:
* lisp/erc/erc-stamp.el:
* lisp/erc/erc-track.el:
* lisp/erc/erc-truncate.el:
* lisp/erc/erc-xdcc.el:
* lisp/erc/erc.el: Remove indent-tabs-mode setting, so that we follow
Emacs' global indent-tabs-mode=nil setting (and much of the
indentation in these fails is already spaces anyway).  Also remove
tab-width=8 settings, since those are redundant with the setting in
the top-level .dir-locals.el.
2019-09-21 14:09:30 -04:00
Martin Kletzander
63b29f8107 Autojoin channels with same name on different servers in erc
* lisp/erc/erc-join.el (erc-autojoin-channels): Join channels with
the same name on different servers (bug#32723).

Copyright-paperwork-exempt: yes
2019-06-23 23:53:02 +02:00
Paul Eggert
f744797af1 Go back to "Maintainer: emacs-devel@gnu.org"
Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
no special maintainer for a file.  Although this wasn't documented
it was common practice and removing the lines didn't have consensus.
2019-05-25 14:25:18 -07:00
Paul Eggert
bef1be8730 Fixes for "Maintainer:" and related lines
Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
which are not that useful.  It also cleans up and regularizes a
few similar lines.
2019-05-19 21:34:27 -07:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Paul Eggert
bb267f17f9 Merge from origin/emacs-26
63b04c11d5 Fix copyright years by hand
5c7dd8a783 Update copyright year to 2018
220a9ecba1 Merge from Gnulib
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
39ca289a7a Allow customization of decoding of "man" command
f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
acd289c5a4 Fix problems with indexing in User manual
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
5b38406491 Fix documentation of delsel and of killing text

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
2018-01-01 01:13:04 -08:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Glenn Morris
95369ac346 Put most erc autoloads in a dedicated file erc-loaddefs.el
These are features that are only useful after erc.el is loaded.
* lisp/erc/erc.el (top-level): Load erc-loaddefs.
* lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el:
* lisp/erc/erc-capab.el, lisp/erc/erc-compat.el:
* lisp/erc/erc-dcc.el, lisp/erc/erc-desktop-notifications.el:
* lisp/erc/erc-ezbounce.el, lisp/erc/erc-fill.el:
* lisp/erc/erc-identd.el, lisp/erc/erc-imenu.el:
* lisp/erc/erc-join.el, lisp/erc/erc-list.el, lisp/erc/erc-log.el:
* lisp/erc/erc-match.el, lisp/erc/erc-menu.el:
* lisp/erc/erc-netsplit.el, lisp/erc/erc-notify.el:
* lisp/erc/erc-page.el, lisp/erc/erc-pcomplete.el:
* lisp/erc/erc-replace.el, lisp/erc/erc-ring.el:
* lisp/erc/erc-services.el, lisp/erc/erc-sound.el:
* lisp/erc/erc-speedbar.el, lisp/erc/erc-spelling.el:
* lisp/erc/erc-stamp.el, lisp/erc/erc-track.el:
* lisp/erc/erc-truncate.el, lisp/erc/erc-xdcc.el:
Set generated-autoload-file to "erc-loaddefs.el".
2017-11-28 21:16:02 -05:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Tom Tromey
927dcbd2e6 Fix erc-join with channel password
Bug#25349
* lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
server names.
(erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
Likewise.
(erc-server-join-channel): Move to erc.el.
* lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
(erc-cmd-JOIN): Use erc-server-join-channel.
2017-05-05 21:45:02 -06:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Lars Ingebrigtsen
504982765c Don't join erc channels doubly
* erc-join.el (erc-autojoin-channels): Don't join channels
more than once (if you have several nicks) (bug#20695).
2015-12-27 20:26:22 +01:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Kelvin White
fbc782bd18 fix version tags 2014-11-10 05:38:11 -05:00
Kelvin White
ea283d21fc Update version to 24.5 2014-11-09 08:46:24 -05:00
Glenn Morris
34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Stefan Monnier
19dc72069c Use cl-lib instead of cl, and interactive-p => called-interactively-p.
* lisp/erc/erc-track.el, lisp/erc/erc-networks.el, lisp/erc/erc-netsplit.el:
* lisp/erc/erc-dcc.el, lisp/erc/erc-backend.el: Use cl-lib, nth, pcase, and
called-interactively-p instead of cl.
* lisp/erc/erc-speedbar.el, lisp/erc/erc-services.el:
* lisp/erc/erc-pcomplete.el, lisp/erc/erc-notify.el, lisp/erc/erc-match.el:
* lisp/erc/erc-log.el, lisp/erc/erc-join.el, lisp/erc/erc-ezbounce.el:
* lisp/erc/erc-capab.el: Don't require cl since we don't use it.
* lisp/erc/erc.el: Use cl-lib, nth, pcase, and called-interactively-p i.s.o cl.
(erc-lurker-ignore-chars, erc-common-server-suffixes): Move before first use.
* lisp/json.el: Don't require cl since we don't use it.
* lisp/color.el: Don't require cl.
(color-complement): `caddr' -> `nth 2'.
* test/automated/ert-x-tests.el: Use cl-lib.
* test/automated/ert-tests.el: Use lexical-binding and cl-lib.
2012-11-19 12:24:12 -05:00
Glenn Morris
df5d5f59f2 Set maintainer of most lisp/erc/*.el files to FSF
Ref: http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-10/msg00200.html
2012-10-05 21:04:53 -04:00
Josh Feinstein
cb7857924b 2012-08-21 Josh Feinstein <jlf@foxtail.org>
* erc-join.el (erc-autojoin-timing): Fix defcustom type.
2012-08-21 20:45:51 -07:00
Lars Magne Ingebrigtsen
b245988452 Make erc use auth-source to look up channel keys
* lisp/erc/erc-join.el (erc-server-join-channel): New function to look up
the channel password via auth-source.
(erc-autojoin-channels): Use it.
(erc-autojoin-after-ident): Ditto.
(erc-autojoin-channels-alist): Mention auth-source.
2012-04-10 06:43:35 +02:00
Glenn Morris
c4077254f9 Add missing :version tags for new erc defcustoms.
* lisp/erc/erc-backend.el (erc-coding-system-precedence):
* lisp/erc/erc-join.el (erc-autojoin-delay, erc-autojoin-timing):
Add missing :version settings.

* etc/NEWS: We don't need to duplicate the doc-strings of variables.
2012-02-08 00:07:24 -08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Vivek Dasmohapatra
8a8d54cd2a Allow delayed autojoin in ERC (Bug#5521).
* erc/erc-join.el (erc-autojoin-timing, erc-autojoin-delay): New vars.
(erc-autojoin-channels-delayed, erc-autojoin-after-ident): New
functions.
(erc-autojoin-channels): Allow autojoining after ident (Bug#5521).
2010-08-14 18:58:10 -04:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Glenn Morris
4ee57b2a2d Switch to recommended form of GPLv3 permissions notice. 2008-05-06 03:36:21 +00:00
Glenn Morris
8b72699e88 Add 2008 to copyright years. 2008-01-07 01:14:52 +00:00
Glenn Morris
e0085d62fa Switch license to GPLv3 or later. 2007-07-25 04:14:29 +00:00
Glenn Morris
f0fa15c5e5 Add 2007 to copyright years. 2007-01-21 02:48:43 +00:00