User: adrian
Date: 06/02/19 13:57:42
Modified: packages/xemacs-packages/erc ChangeLog CREDITS
ChangeLog.2001.upstream ChangeLog.2002.upstream
ChangeLog.2003.upstream ChangeLog.2004.upstream
ChangeLog.upstream FOR-RELEASE.upstream HISTORY
Makefile Makefile.upstream NEWS README erc-auto.in
erc-autoaway.el erc-autojoin.el erc-backend.el
erc-bbdb.el erc-button.el erc-chess.el
erc-compat.el erc-complete.el erc-dcc.el
erc-ezbounce.el erc-fill.el erc-goodies.el
erc-ibuffer.el erc-identd.el erc-imenu.el
erc-lang.el erc-list.el erc-log.el erc-maint.el
erc-match.el erc-menu.el erc-nets.el
erc-netsplit.el erc-nicklist.el erc-nickserv.el
erc-notify.el erc-page.el erc-pcomplete.el
erc-replace.el erc-ring.el erc-sound.el
erc-speak.el erc-speedbar.el erc-spelling.el
erc-stamp.el erc-track.el erc-truncate.el
erc-viper.el erc-xdcc.el erc.el
Log:
[PATCH] packages: Sync erc up to Version 5.1.1 Revision: 1.796.2.3
<8xs8ry5j.fsf(a)smtprelay.t-online.de>
Revision Changes Path
1.37 +245 -0 XEmacs/packages/xemacs-packages/erc/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -p -r1.36 -r1.37
--- ChangeLog 2005/10/21 13:39:58 1.36
+++ ChangeLog 2006/02/19 12:57:25 1.37
@@ -1,3 +1,248 @@
+2006-02-19 Adrian Aichner <adrian(a)xemacs.org>
+
+ * Full sync with upstream Version 5.1.1 $Revision: 1.796.2.3
+ (current state of release_5_1_branch).
+ * CREDITS:
+ * ChangeLog.2001.upstream:
+ * ChangeLog.2002.upstream:
+ * ChangeLog.2003.upstream:
+ * ChangeLog.2004.upstream:
+ * ChangeLog.upstream:
+ * FOR-RELEASE.upstream:
+ * HISTORY:
+ * Makefile:
+ * Makefile (AUTHOR_VERSION): Update to Version 5.1.1 $Revision:
+ 1.796.2.3
+ * Makefile.upstream:
+ * NEWS:
+ * README:
+ * erc-auto.in (generate-autoloads): Removed.
+ * erc-auto.in (erc-generate-autoloads): New.
+ * erc-autoaway.el:
+ * erc-autoaway.el (erc-autoaway-version):
+ * erc-autoaway.el (erc-autoaway-possibly-set-away):
+ * erc-autoaway.el (erc-autoaway-set-away):
+ * erc-autojoin.el:
+ * erc-autojoin.el (require):
+ * erc-autojoin.el (erc-autojoin-version):
+ * erc-backend.el:
+ * erc-backend.el (erc-compat):
+ * erc-backend.el (erc-backend-version):
+ * erc-backend.el (erc-server-version): New.
+ * erc-backend.el (erc-server-process-alive): New.
+ * erc-backend.el (erc-process-sentinel-1):
+ * erc-backend.el (erc-process-sentinel):
+ * erc-backend.el (erc-decode-string-from-target):
+ * erc-backend.el (erc-server-send):
+ * erc-backend.el (erc-server-send-queue):
+ * erc-backend.el (erc-decode-parsed-server-response):
+ * erc-backend.el (define-erc-response-handler):
+ * erc-backend.el (004):
+ * erc-bbdb.el:
+ * erc-bbdb.el (erc-bbdb-version):
+ * erc-bbdb.el (erc-bbdb-elide-display):
+ * erc-bbdb.el (erc-bbdb-whois):
+ * erc-button.el:
+ * erc-button.el (erc-fill):
+ * erc-button.el (erc-button-version):
+ * erc-button.el (erc-button): New.
+ * erc-button.el (erc-button-nickname-face): New.
+ * erc-button.el (erc-button-url-regexp):
+ * erc-button.el (erc-button-alist):
+ * erc-button.el (erc-button-add-nickname-buttons):
+ * erc-button.el (erc-button-add-buttons-1):
+ * erc-button.el (erc-button-add-button):
+ * erc-button.el (erc-button-describe-symbol): New.
+ * erc-button.el (erc-button-beats-to-time): New.
+ * erc-chess.el:
+ * erc-chess.el (erc-chess-version):
+ * erc-compat.el:
+ * erc-compat.el (erc-compat-version):
+ * erc-compat.el (not):
+ * erc-compat.el (erc-emacs-build-time): New.
+ * erc-compat.el (erc-const-expr-p): New.
+ * erc-compat.el (erc-list*): New.
+ * erc-compat.el (erc-assert): New.
+ * erc-compat.el (erc-member-if): New.
+ * erc-compat.el (erc-delete-if): New.
+ * erc-compat.el (erc-remove-if-not): New.
+ * erc-compat.el (*erc-sym-counter*): New.
+ * erc-compat.el (erc-gensym): New.
+ * erc-compat.el (erc-subseq): New.
+ * erc-complete.el:
+ * erc-complete.el (erc-complete-version):
+ * erc-complete.el (erc-nick-completion-exclude-myself):
+ * erc-complete.el (erc-try-complete-nick):
+ * erc-dcc.el:
+ * erc-dcc.el (require):
+ * erc-dcc.el (erc-dcc-version):
+ * erc-dcc.el (erc-unpack-int):
+ * erc-dcc.el (pcomplete/erc-mode/DCC):
+ * erc-dcc.el (erc-dcc-send-filter):
+ * erc-dcc.el (erc-dcc-get-filter):
+ * erc-dcc.el (erc-dcc-chat-parse-output):
+ * erc-ezbounce.el:
+ * erc-ezbounce.el (require):
+ * erc-ezbounce.el (erc-ezb-version):
+ * erc-fill.el:
+ * erc-fill.el (erc-fill-version):
+ * erc-fill.el (erc-fill-static):
+ * erc-fill.el (erc-restore-text-properties):
+ * erc-goodies.el:
+ * erc-ibuffer.el:
+ * erc-ibuffer.el (ibuf-ext):
+ * erc-ibuffer.el (erc-ibuffer-version):
+ * erc-ibuffer.el (erc-ibuffer-dangerous-host-char):
+ * erc-ibuffer.el (erc-server): New.
+ * erc-ibuffer.el (erc-modified): New.
+ * erc-ibuffer.el (erc-server-name): New.
+ * erc-ibuffer.el (erc-target): New.
+ * erc-ibuffer.el (erc-topic): New.
+ * erc-ibuffer.el (erc-members):
+ * erc-ibuffer.el (erc-away): New.
+ * erc-ibuffer.el (erc-op):
+ * erc-ibuffer.el (erc-voice): New.
+ * erc-ibuffer.el (erc-channel-modes): New.
+ * erc-ibuffer.el (erc-nick): New.
+ * erc-ibuffer.el (erc-ibuffer-formats):
+ * erc-identd.el:
+ * erc-identd.el (erc-identd-start):
+ * erc-imenu.el:
+ * erc-imenu.el (erc-imenu-version):
+ * erc-lang.el:
+ * erc-list.el:
+ * erc-list.el (require):
+ * erc-list.el (erc-list-version):
+ * erc-log.el:
+ * erc-log.el (require):
+ * erc-log.el (erc-log-version):
+ * erc-log.el (erc-log-setup-logging):
+ * erc-match.el:
+ * erc-match.el (require):
+ * erc-match.el (erc-match-version):
+ * erc-match.el (match):
+ * erc-match.el (erc-log-matches):
+ * erc-menu.el:
+ * erc-menu.el (erc-menu-version):
+ * erc-nets.el:
+ * erc-nets.el (require):
+ * erc-nets.el (erc-nets-version):
+ * erc-nets.el (erc-server-select):
+ * erc-netsplit.el:
+ * erc-netsplit.el (require):
+ * erc-netsplit.el (erc-netsplit-version):
+ * erc-nicklist.el:
+ * erc-nicklist.el (require):
+ * erc-nicklist.el (erc-nicklist-version):
+ * erc-nicklist.el (erc-nicklist-buffer-name):
+ * erc-nicklist.el (erc-nicklist-bitlbee-connected-p): Removed.
+ * erc-nicklist.el (erc-nicklist-insert-medium-name-or-icon):
+ * erc-nicklist.el (erc-nicklist-search-for-nick):
+ * erc-nicklist.el (erc-nicklist-insert-contents):
+ * erc-nicklist.el (erc-nicklist-menu):
+ * erc-nicklist.el (erc-nicklist-channel-users-info):
+ * erc-nickserv.el:
+ * erc-nickserv.el (require):
+ * erc-nickserv.el (erc-nickserv-version):
+ * erc-notify.el:
+ * erc-notify.el (require):
+ * erc-notify.el (erc-notify-QUIT):
+ * erc-page.el:
+ * erc-pcomplete.el:
+ * erc-pcomplete.el (require):
+ * erc-pcomplete.el (erc-pcomplete-version):
+ * erc-pcomplete.el (pcomplete-parse-erc-arguments):
+ * erc-replace.el:
+ * erc-replace.el (erc-replace-version):
+ * erc-ring.el:
+ * erc-ring.el (erc-ring-version):
+ * erc-ring.el (erc-previous-command):
+ * erc-sound.el:
+ * erc-speak.el:
+ * erc-speak.el (erc-speak-filter-timestamp):
+ * erc-speak.el (erc-speak-acronym-replace):
+ * erc-speak.el (erc-speak-smiley-replace):
+ * erc-speak.el (erc-speak-region):
+ * erc-speedbar.el:
+ * erc-speedbar.el (require):
+ * erc-speedbar.el (erc-speedbar-version):
+ * erc-speedbar.el (erc-speedbar-buttons):
+ * erc-speedbar.el (erc-speedbar-expand-channel):
+ * erc-speedbar.el (erc-speedbar-goto-buffer):
+ * erc-spelling.el:
+ * erc-spelling.el (erc-spelling-version):
+ * erc-spelling.el (spelling):
+ * erc-spelling.el (erc-spelling-dictionaries):
+ * erc-spelling.el (erc-spelling-init):
+ * erc-spelling.el (erc-spelling-unhighlight-word): New.
+ * erc-spelling.el (erc-spelling-flyspell-verify):
+ * erc-stamp.el:
+ * erc-stamp.el (erc-stamp-version):
+ * erc-stamp.el (erc-timestamp-last-inserted):
+ * erc-stamp.el (erc-insert-timestamp-left): Removed.
+ * erc-stamp.el (erc-timestamp-use-align-to): New.
+ * erc-stamp.el (erc-insert-aligned): New.
+ * erc-stamp.el (erc-insert-timestamp-right):
+ * erc-track.el:
+ * erc-track.el (require):
+ * erc-track.el (erc-track-version):
+ * erc-track.el (erc-track-use-faces):
+ * erc-track.el (erc-track-faces-priority-list):
+ * erc-track.el (erc-track-priority-faces-only):
+ * erc-track.el (erc-track-showcount): New.
+ * erc-track.el (erc-track-showcount-string): New.
+ * erc-track.el (erc-track-switch-from-erc): New.
+ * erc-track.el (erc-track-switch-direction): New.
+ * erc-track.el (erc-track-remove-from-mode-line):
+ * erc-track.el (and):
+ * erc-track.el (erc-track-modified-channels):
+ * erc-track.el (let):
+ * erc-track.el (erc-find-parsed-property):
+ * erc-track.el (erc-track-last-non-erc-buffer):
+ * erc-track.el (erc-track-sort-by-activest):
+ * erc-track.el (erc-track-get-active-buffer):
+ * erc-track.el (erc-track-switch-buffer):
+ * erc-truncate.el:
+ * erc-truncate.el (erc-max-buffer-size):
+ * erc-viper.el:
+ * erc-viper.el (assoc):
+ * erc-xdcc.el:
+ * erc.el:
+ * erc.el (erc-version-string):
+ * erc.el (require):
+ * erc.el (fboundp):
+ * erc.el (erc-remove-channel-users):
+ * erc.el (erc-get-server-nickname-list):
+ * erc.el (erc-get-server-nickname-alist):
+ * erc.el (erc-input-marker): New.
+ * erc.el (erc-flood-protect):
+ * erc.el (erc-mode-map):
+ * erc.el (erc-once-with-server-event):
+ * erc.el (erc-once-with-server-event-global):
+ * erc.el (erc-with-buffer):
+ * erc.el (erc-with-all-buffers-of-server):
+ * erc.el (erc-iswitchb):
+ * erc.el (erc-modules):
+ * erc.el (erc-update-modules):
+ * erc.el (erc):
+ * erc.el (erc-already-logged-in):
+ * erc.el (erc-get-arglist):
+ * erc.el (erc-cmd-SAY):
+ * erc.el (erc-cmd-QUIT):
+ * erc.el (erc-cmd-GQUIT):
+ * erc.el (erc-display-prompt):
+ * erc.el (erc-bol):
+ * erc.el (erc-banlist-update):
+ * erc.el (erc-group-list):
+ * erc.el (erc-user-input):
+ * erc.el (erc-command-symbol): New.
+ * erc.el (erc-toggle-flood-control):
+ * erc.el (erc-update-mode-line-buffer):
+ * erc.el (erc-format-message):
+ * erc.el (erc-kill-server):
+ * erc.el (erc-process-alive): Removed.
+ * erc.el (erc-kill-channel):
+
2005-10-21 Norbert Koch <viteno(a)xemacs.org>
* Makefile (VERSION): XEmacs package 0.19 released.
1.7 +4 -1 XEmacs/packages/xemacs-packages/erc/CREDITS
Index: CREDITS
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/CREDITS,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- CREDITS 2005/10/15 18:15:25 1.6
+++ CREDITS 2006/02/19 12:57:26 1.7
@@ -1,4 +1,4 @@
-The following people contributed to Emacs IRC Client development:
+The following people contributed to ERC development:
Alexander L. Belikoff <abel(a)bfr.co.il>:
* Original author.
@@ -120,6 +120,9 @@ John Paul Wallington (jpw AT pobox DOT c
Luigi Panzeri (matley AT muppetslab DOT org):
* Provided an erc-nickserv-alist entry for Azzurra.
+
+Simon Josefsson (jas AT extundo DOT com):
+ * Changed erc.el to use tls.el instead of ssl.el.
----
1.2 +6 -0 XEmacs/packages/xemacs-packages/erc/ChangeLog.2001.upstream
Index: ChangeLog.2001.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.2001.upstream,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- ChangeLog.2001.upstream 2005/04/10 14:47:32 1.1
+++ ChangeLog.2001.upstream 2006/02/19 12:57:26 1.2
@@ -1034,3 +1034,9 @@
* erc-speak.el 1.1.1.1, erc.el 1.1.1.1: Initial Import
* erc-speak.el 1.1, erc.el 1.1: New file.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+;; arch-tag: 306c4b58-f9ae-4f3d-9fd9-db2d743f05a6
1.3 +8 -0 XEmacs/packages/xemacs-packages/erc/ChangeLog.2002.upstream
Index: ChangeLog.2002.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.2002.upstream,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- ChangeLog.2002.upstream 2005/10/15 18:15:26 1.2
+++ ChangeLog.2002.upstream 2006/02/19 12:57:26 1.3
@@ -2593,3 +2593,11 @@
* This module allows a way of buttonizing text in IRC buffers.
Default it is used for URLs, but other things could be added.
see if you can find another use, erc-button-alist
+
+See ChangeLog.2001 for earlier changes.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+;; arch-tag: a6779d5e-99fa-442b-98cf-90e73eb2c272
1.2 +8 -0 XEmacs/packages/xemacs-packages/erc/ChangeLog.2003.upstream
Index: ChangeLog.2003.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.2003.upstream,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- ChangeLog.2003.upstream 2005/04/10 14:47:33 1.1
+++ ChangeLog.2003.upstream 2006/02/19 12:57:26 1.2
@@ -2137,3 +2137,11 @@
log file to a query from "User". Avoided adding an extra flag to control this
behavior - if you think this was the wrong decision, please correct it and
I'll remember it for next time.
+
+See ChangeLog.2002 for earlier changes.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+;; arch-tag: 808865e1-3cce-4c5b-9997-95a8b7a9d384
1.3 +12 -4 XEmacs/packages/xemacs-packages/erc/ChangeLog.2004.upstream
Index: ChangeLog.2004.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.2004.upstream,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- ChangeLog.2004.upstream 2005/10/15 18:15:26 1.2
+++ ChangeLog.2004.upstream 2006/02/19 12:57:26 1.3
@@ -1226,7 +1226,7 @@
* erc-stamp.el: Added local variables for file.
(erc-away-timestamp-format): Allow nil as a choice in `:type'.
- (erc-timestamp-intangible): Changed `:type' to boolean.
+ (erc-timestamp-intangible): Changed `:type' to boolean.
(erc-timestamp-right-column): Added `:group' and `:type'.
2004-04-28 Diane Murray <disumu(a)x3y2z1.net>
@@ -1611,7 +1611,7 @@
* erc.el (erc-network-name): Function definition moved to
erc-nets.el. The functions `erc-determine-network' and
- `èrc-network' in erc-nets.el do what this did before. Deprecated.
+ `erc-network' in erc-nets.el do what this did before. Deprecated.
Use (erc-network) instead.
2004-03-08 Diane Murray <disumu(a)x3y2z1.net>
@@ -1627,7 +1627,7 @@
(erc-networks): Removed. Use `erc-networks-alist' as defined in
erc-nets.el.
(erc-current-network): Function definition moved to erc-nets.el.
- The functions `erc-determine-network' and `èrc-network' in
+ The functions `erc-determine-network' and `erc-network' in
erc-nets.el do what this did before. Deprecated. Use
(erc-network) instead.
@@ -1950,7 +1950,7 @@
2004-01-20 Lawrence Mitchell <wence(a)gmx.li>
- * erc.el: From Johan Bockgård <bojohan+news(a)dd.chalmers.se>:
+ * erc.el: From Johan Bockgård <bojohan+news(a)dd.chalmers.se>:
(erc-update-undo-list): New function. Update `buffer-undo-list'
so that calling `undo' in an ERC buffer doesn't mess up the
existing text.
@@ -2066,3 +2066,11 @@
2004-01-02 Francis Litterio <franl(a)users.sourceforge.net>
* erc-list.el: Added variable erc-chanlist-mode-hook.
+
+See ChangeLog.2003 for earlier changes.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+;; arch-tag: cc606d2d-635b-4b36-829b-a50e3c51e2d1
1.10 +493 -1160 XEmacs/packages/xemacs-packages/erc/ChangeLog.upstream
Index: ChangeLog.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.upstream,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -p -r1.9 -r1.10
--- ChangeLog.upstream 2005/10/20 22:49:50 1.9
+++ ChangeLog.upstream 2006/02/19 12:57:26 1.10
@@ -1,1161 +1,494 @@
-2005-10-20 Diane Murray <disumu(a)x3y2z1.net>
+2006-02-15 Michael Olson <mwolson(a)gnu.org>
- * erc-match.el (erc-current-nick-highlight-type): Set to `keyword'
- as default.
- (erc-beep-match-types): New variable.
- (erc-text-matched-hook): Doc fix. Added `erc-beep-on-match' to
- customization options.
- (erc-beep-on-match): New function. If the MATCH-TYPE is found in
- `erc-beep-match-types', beep.
-
- * erc-compat.el (erc-make-obsolete, erc-make-obsolete-variable):
- New functions to deal with the difference in the number of
- arguments accepted by `make-obsolete' and `make-obsolete-variable'
- in Emacs and XEmacs.
-
- * erc.el, erc-nets.el: Use `erc-make-obsolete' and
- `erc-make-obsolete-variable'.
-
- * erc-compat.el (erc-make-obsolete, erc-make-obsolete-variable):
- Handle `wrong-number-of-arguments' error instead of checking for
- xemacs feature as future versions of XEmacs might accept three
- arguments.
-
-2005-10-18 Edward O'Connor <ted(a)oconnor.cx>
-
- * erc.el: Tell emacs-lisp-mode how to font-lock define-erc-module
- docstrings.
-
-2005-10-08 Diane Murray <disumu(a)x3y2z1.net>
-
- * AUTHORS, CREDITS, ChangeLog, ChangeLog.2002, ChangeLog.2004:
- Updated my email address.
-
-2005-10-06 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-send-input-line, erc-cmd-KICK, erc-cmd-PART)
- (erc-cmd-QUIT, erc-cmd-TOPIC, erc-kill-server, erc-kill-channel):
- Adapt to new TARGET parameter of erc-server-send.
-
- * erc-backend.el (erc-server-connect): Don't specify encoding for
- erc-server-process, since we set this each time we send a line to
- the server.
- (erc-encode-string-for-target): Remove.
- (erc-server-send): Allow TARGET to be specified. This was how it
- used to be before my more-backend work. Set encoding of server
- process just before sending text to it. Associate encoding with
- text if we are using the queue.
- (erc-server-send-queue): Pull encoding from queue.
- (erc-message, erc-send-ctcp-message, erc-send-ctcp-notice): Adapt
- to new TARGET parameter of erc-server-send.
-
-2005-10-05 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-toggle-debug-irc-protocol): Use erc-view-mode-enter
- rather than view-mode.
-
- * erc-backend.el (erc-encode-string-for-target): If given a nil or
- empty string, return "".
- (erc-server-send-queue): XEmacs fix: Use erc-cancel-timer rather
- than cancel-timer.
-
- * erc-compat.el (erc-view-mode-enter): New function that is
- aliased to the correct way of entering view-mode.
-
- * erc-match.el (erc-log-matches-make-buffer): Use
- erc-view-mode-enter rather than view-mode-enter.
-
-2005-10-05 Edward O'Connor <ted(a)oconnor.cx>
-
- * erc-backend.el (erc-encode-string-for-target): If str is nil,
- pass the empty string to erc-encode-coding-string instead, which
- allows one to /part and /quit without providing a reason again.
-
-2005-10-03 Michael Olson <mwolson(a)gnu.org>
-
- * erc-backend.el (erc-message, erc-send-ctcp-message)
- (erc-send-ctcp-notice): Encode string for target before sending.
-
- * erc.el (erc-cmd-KICK, erc-cmd-PART, erc-cmd-QUIT, erc-cmd-TOPIC)
- (erc-kill-server, erc-kill-channel): Ditto.
-
-2005-09-05 Johan Bockgård <bojohan(a)users.sourceforge.net>
-
- * erc-page.el (erc-ctcp-query-PAGE): (message text) -> (message
- "%s" text).
- (erc-cmd-PAGE): Simplify regexp. Put `do-not-parse-args' t.
-
-2005-09-05 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-flood-limit, erc-flood-limit2): Remove since they
- are no longer needed.
- (erc-send-input): Detect whether we want flood control to be
- active. The previous behavior was to always force the message.
- (erc-toggle-flood-control): Adapt to new flood control method. No
- more 'strict.
- (erc-cmd-SV): Use concat rather than
- format-time-string.
- (erc-format-target, erc-format-target-and/or-server): Shorten
- logic statements.
-
- * erc-compat.el (erc-emacs-build-time): Use a string
- representation rather than trying to coerce a time out of a string
- on XEmacs.
-
- * erc-identd.el (erc-identd-start): Use make-network-process
- instead of open-network-stream. Error out if this is not defined.
-
- * erc-backend.el (erc-send-line): New command that sends a line
- using flood control, using a callback for display. It isn't used
- yet.
-
-2005-09-04 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el: Add defvaralias and make-obsolete-variable for
- erc-default-coding-system.
- (channel-topic, channel-modes, channel-user-limit, channel-key,
- invitation, away, channel-list, bad-nick): Rename globally to
- erc-{name-of-variable}.
-
-2005-09-03 Johan Bockgård <bojohan(a)users.sourceforge.net>
-
- * erc.el (erc-message): Simplify regexp.
- (erc-cmd-DEOP, erc-cmd-OP): Simplify.
-
-2005-08-29 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el: Alias erc-send-command to erc-server-send. ErBot needs
- this to work without modification. Add defvaralias for
- erc-process. Make this and the other backwards-compatibility
- functions and variables be marked obsolete as of ERC 5.1.
-
- * erc-backend.el: Add autoload for erc-log macro.
- (erc-server-connect): Set some variables before defining process
- handlers. It probably doesn't make any difference.
-
-2005-08-26 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el: Add defvaralias for erc-announced-server-name, since
- this seems to be widely used.
-
-2005-08-17 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc): Remove unnecessary boundp check.
-
- * erc-autoaway.el: Fix compiler warning.
-
- * erc-backend.el (erc-server-version): Since this isn't used by
- any code, and isn't generally useful, remove it.
- (erc-server-send-queue): Use erc-current-time rather than
- float-time.
- (004): Don't set erc-server-version.
-
- * erc-dcc.el (erc-dcc-chat-request, erc-dcc-get-parent): Move to
- fix a compiler warning.
-
- * erc-ibuffer.el (erc-server): Remove unnecessary boundp check.
-
- * erc-identd.el (erc-identd-start): Use read-string instead of
- read-input.
-
- * erc-imenu.el (erc-unfill-notice): Use a while loop instead of
- replace-regexp.
-
- * erc-nicklist.el: Add conditional dependency on erc-bbdb.
- (erc-nicklist-insert-contents): Tighten some regexps.
-
- * erc-notify.el (erc-notify-list): Docfix.
-
- * erc-spelling.el (erc-spelling-dictionaries): Add :type and
- :group to silence a compiler warning.
-
-2005-08-14 Michael Olson <mwolson(a)gnu.org>
-
- * erc-backend.el (erc-session-server, erc-session-port)
- (erc-announced-server-name, erc-server-version)
- (erc-server-parameters): Moved here from erc.el.
- (erc-server-last-peers): Moved, renamed from last-peers.
- (erc-server-lag): Moved, renamed from erc-lag.
- (erc-server-duplicates): Moved, renamed from erc-duplicates.
- (erc-server-duplicate-timeout): Moved, renamed from
- erc-duplicate-timeout.
- (erc-server): New customization group hosting all options from
- this file.
- (erc-server-prevent-duplicates): Moved, renamed from
- erc-prevent-duplicates.
- (erc-server-duplicate-timeout): Moved, renamed from
- erc-duplicate-timeout.
- (erc-server-auto-reconnect, erc-split-line-length)
- (erc-server-coding-system, erc-encoding-coding-alist)
- (erc-server-connect-function, erc-server-flood-margin)
- (erc-server-flood-penalty): Change group to 'erc-server.
- (erc-server-send-ping-interval): Moved, renamed from
- erc-ping-interval.
- (erc-server-ping-handler): Moved, renamed from erc-ping-handler.
- (erc-server-setup-periodical-server-ping): Moved, renamed from
- erc-setup-periodical-server-ping.
- (erc-server-connect): Add to docstring. Move more initialization
- here.
- (erc-server-processing-p): Docfix.
- (erc-server-connect): Use 'raw-text like in the original version.
- (erc-server-filter-function): Don't reset process coding system.
-
- * erc-stamp.el (erc-add-timestamp): If the text at point is
- invisible, don't insert a timestamp. Thanks to Pascal
- J. Bourguignon for the suggestion.
-
- * erc-match.el (erc-text-matched-hook): Don't hide fools by
- default, but include it in the available options.
-
-2005-08-13 Michael Olson <mwolson(a)gnu.org>
-
- * erc-*.el: s/erc-send-command/erc-server-send/g.
- s/erc-process/erc-server-process/g (sort of). Occasional
- whitespace and indentation fixes.
-
- * erc-backend.el: Specify a few local variables for indentation.
- Take one item off of the TODO list.
- (erc-server-filter-data): Renamed from erc-previous-read. From
- circe.
- (erc-server-processing-p): New variable that indicates when we're
- currently processing a message. From circe.
- (erc-split-line-length): New option that gives the maximum line
- length of a single message. From circe.
- (erc-default-coding-system): Moved here from erc.el.
- (erc-split-line): Renamed from erc-split-command and taken from
- circe.
- (erc-connect-function, erc-connect, erc-process-sentinel-1)
- (erc-process-sentinel, erc-flood-exceeded-p, erc-send-command)
- (erc-message, erc-upcase-first-word, erc-send-ctcp-message)
- (erc-send-ctcp-notice): Moved here from erc.el.
- (erc-server-filter-function): Renamed from erc-process-filter.
- From circe.
- (erc-server-process): Renamed from `erc-process' and moved here
- from erc.el.
- (erc-server-coding-system): Renamed from
- `erc-default-coding-system'.
- (erc-encoding-coding-alist): Moved here from erc.el.
- (erc-server-flood-margin, erc-server-flood-penalty):
- (erc-server-flood-last-message, erc-server-flood-queue):
- (erc-server-flood-timer): New options from circe that allow
- tweaking of flood control.
- (erc-server-connect-function): Renamed from erc-connect-function.
- (erc-flood-exceeded-p): Removed.
- (erc-coding-system-for-target)
- (erc-encode-string-for-target, erc-decode-string-from-target):
- Moved here from erc.el
- (erc-server-send): Renamed from erc-send-command. Adapted from
- the circe function by the same name.
- (erc-server-send-queue): New function from circe that implements
- handling of a flood queue.
- (erc-server-current-nick): Renamed from current-nick.
- (erc-server-quitting): Renamed from `quitting'.
- (erc-server-last-sent-time): Renamed from `last-sent-time'.
- (erc-server-last-ping-time): Renamed from `last-ping-time'.
- (erc-server-lines-sent): Renamed from `lines-sent'.
- (erc-server-auto-reconnect): Renamed from `erc-auto-reconnect'.
- (erc-server-coding-system): Docfix.
- (erc-server-connect): Renamed from `erc-connect'. Require SERVER
- and PORT parameters. Initialize several variables here. Don't
- set `erc-insert-marker'. Use a per-server coding system via
- erc-server-default-encoding.
-
- * erc.el (erc-version-string): Changed to indicate we are running
- the `more-backend' branch.
- (erc-kill-queries-on-quit): Removed, since this is unused.
- (erc-send-single-line): Implement flood control using
- erc-split-line.
- (erc-send-input): Move functionality of erc-send-single-line in
- here.
- (erc-send-single-line): Assimilated!
- (erc-display-command, erc-display-msg): Handle display hooks.
- (erc-auto-reconnect, current-nick, last-sent-time)
- (last-ping-time, last-ctcp-time, erc-lines-sent, erc-bytes-sent)
- (quitting): Moved to erc-backend.el.
- (erc): Docfix. Don't initialize quite so many things here.
-
-2005-08-10 Michael Olson <mwolson(a)gnu.org>
-
- * debian/copyright (Copyright): Remove notices for 4 people, since
- they didn't contribute legally-significant changes, or have had
- these changes overwritten.
-
- * erc-log.el: Remove copyright notice.
-
- * erc.el: Remove 3 copyright notices.
-
-2005-08-09 Michael Olson <mwolson(a)gnu.org>
-
- * debian/changelog: Create 5.0.4-3 package. This doesn't serve
- any purpose other than to thank Romain Francoise for some advice.
-
- * Makefile (debrelease): Allow last upload and extra build options
- to be specified.
-
-2005-08-08 Michael Olson <mwolson(a)gnu.org>
-
- * debian/changelog: Create 5.0.4-2 package.
-
- * debian/control (Uploaders): Add Romain Francoise.
- (Standards-Version): Update to 3.6.2.
- (Depends): Add `emacsen'.
-
- * debian/scripts/startup.erc (load-path): Minor whitespace fixup.
-
- * Makefile (clean): Split target from realclean and make it remove
- files that aren't packaged in releases.
- (clean, release): Minor cleanups.
- (debrelease): Use debuild rather than dpkg-buildpackage since the
- former calls lintian. Minor cleanups.
- (debrelease-mwolson): New target that removes old Debian packages,
- calls debrelease, and copies the resulting package to my dist dir.
- (upload): New target that automates the process of uploading an
- ERC release to sourceforge.
-
- * erc.el (erc-mode): Use `make-local-variable' instead of
- `make-variable-buffer-local'.
-
-2005-07-12 Michael Olson <mwolson(a)gnu.org>
-
- * debian/changelog: Build 5.0.4-1.
-
- * Makefile (release): Prepare zip file in addition to tarball.
-
- * NEWS: Add item for the undo fix.
-
-2005-07-09 Michael Olson <mwolson(a)gnu.org>
-
- * erc-nicklist.el (erc-nicklist-insert-contents): Check
- erc-announced-name before erc-session-server. Make sure that we
- can never get a stringp (nil) error.
- (erc-nicklist-call-erc-command): If given no command, do nothing.
- This fixes an error that used to occur when a stray mouse click
- was made outside of the popup window, but on the erc-nicklist
- menu.
-
- * erc-bbdb.el (erc-bbdb-search-name-and-create): Get rid of the
- infinite input loop when you want to create a new record. Replace
- most of that with a completing read of existing nicks. If no nick
- is chosen, create a new John Doe record. The net effect of this
- is that the old behavior is re-instated, with the addition of one
- completing read that happens when you do a /whois.
-
-2005-07-09 Johan Bockgård <bojohan(a)users.sourceforge.net>
-
- * erc.el (erc-process-input-line): Docfix.
- (erc-update-mode-line-buffer): Use `erc-propertize' instead of
- `propertize'.
- (erc-propertize): Move to erc-compat.el.
-
- * erc-compat.el (erc-propertize): Move here from erc.el. Always
- return a copy of the string (like `propertize' in GNU Emacs).
-
- * erc-nicklist.el (erc-nicklist-icons-directory)
- (erc-nicklist-voiced-position)
- (erc-nicklist-insert-medium-name-or-icon): Docfix.
- (erc-nicklist-insert-contents): Simplify.
- (erc-nicklist-mode-map): Bind RET instead of `return'. Bind
- `down-mouse-3' instead of `mouse-3'.
- (erc-nicklist-kbd-cmd-QUERY): Cleanup regexp.
- (erc-nicklist-channel-users-info): Docfix. Simplify.
-
-2005-07-02 Michael Olson <mwolson(a)gnu.org>
-
- * images: New directory containing the images that are used by
- erc-nicklist.el. These are from Gaim, and are thought to be
- available under the terms of the GPL.
-
- * erc-bbdb.el: Add local variables section to preserve tabs, since
- that is the style used throughout this file. Apply patch from
- Edgar Gonçalves as follows.
- (erc-bbdb-bitlbee-name-field): New variable that indicates the
- field name to use for annotating the "displayed name" of a bitlbee
- contact.
- (erc-bbdb-irc-highlight-field): Docfix.
- (erc-bbdb-search-name-and-create): Prompt the user for the name of
- a contact if none was found. Merge the new entries into the
- specified contact. If new arg SILENT is non-nil, do not prompt
- the user for a name or offer to merge the new entry.
- (erc-bbdb-insinuate-and-show-entry): New arg SILENT is accepted,
- which is passed on to erc-bbdb-search-name-and-create.
- (erc-bbdb-whois): Tell erc-bbdb-search-name-and-create to prompt
- for name if necessary.
- (erc-bbdb-JOIN, erb-bbdb-NICK): Forbid
- erc-bbdb-search-name-and-create from prompting for a name.
-
- * erc-nicklist.el: Add local variables section to preserve tabs,
- since that is the style used throughout this file. Apply patch
- from Edgar Gonçalves as follows.
- (erc-nicklist-use-icons): New option; if non-nil, display an icon
- instead of the name of the chat medium.
- (erc-nicklist-icons-directory): New option indicating the path to
- the PNG files that are used for chat icons.
- (erc-nicklist-use-icons): New option indicating whether to put
- voiced nicks on top, bottom, or not to differentiate them. The
- default is to put them on the bottom.
- (erc-nicklist-bitlbee-connected-p): New variable that indicates
- whether or not we are currently using bitlbee. An attempt will be
- made to auto-detect the proper value. This is bound in the
- `erc-nicklist-insert-contents' function.
- (erc-nicklist-nicklist-images-alist): New variable that maps a
- host type to its icon. This is set by `erc-nicklist'.
- (erc-nicklist-insert-medium-name-or-icon): New function that
- inserts an icon or string that identifies the current host type.
- (erc-nicklist-search-for-nick): New function that attempts to find
- a BBDB record that corresponds with this contact given its
- finger-host. If found, return its bitlbee-nick field.
- (erc-nicklist-insert-contents): New function that inserts the
- contents of the nick list, including text properties and images.
- (erc-nicklist): Populate `erc-nicklist-images-alist'. Move
- nicklist content generation code to
- `erc-nicklist-insert-contents'.
- (erc-nicklist-mode-map): Map C-j to erc-nicklist-kbd-menu and RET
- to erc-nicklist-kbd-cmd-QUERY.
- (erc-nicklist-call-erc-command): Make use of
- `switch-to-buffer-other-window'.
- (erc-nicklist-cmd-QUERY): New function that opens a query buffer
- for the given contact.
- (erc-nicklist-kbd-cmd-QUERY): Ditto; contains most of the code.
- (erc-nicklist-kbd-menu): New function that shows the nicklist
- action menu.
- (erc-nicklist-channel-users-info): Renamed from
- `erc-nicklist-channel-nicks'. Implement sorting voiced users.
-
-2005-06-29 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc-nickserv.el (erc-nickserv-alist): Fix regexp for Azzurra.
-
-2005-06-26 Michael Olson <mwolson(a)gnu.org>
-
- * erc-autojoin.el (erc-autojoin-add, erc-autojoin-remove): Use
- `erc-session-server' if `erc-announced-server-name' is nil. This
- happens when servers don't send a 004 message.
-
- * erc.el (erc-quit-server): Ditto.
-
- * erc-ibuffer.el (erc-server, erc-server-name): Ditto.
-
- * erc-notify.el (erc-notify-JOIN, erc-notify-NICK)
- (erc-notify-QUIT): Ditto.
-
-2005-06-24 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc.el (erc-default-coding-system)
- (erc-handle-user-status-change): Docstring fix.
- (with-erc-channel-buffer): Removed.
- (erc-ignored-reply-p): Replace `with-erc-channel-buffer' with
- `erc-with-buffer'.
- (erc-display-line-1): Revision 1.730 broke undo. Fix it.
-
-2005-06-23 Michael Olson <mwolson(a)gnu.org>
-
- * CREDITS: Add entries for Luigi Panzeri and Andreas Schwab.
-
- * erc-nickserv.el (erc-nickserv-alist): Add entries for Azzurra
- and OFTC. Thanks to Luigi Panzeri and Andreas Schwab for
- providing these.
-
-2005-06-16 Michael Olson <mwolson(a)gnu.org>
-
- * CREDITS: Add John Paul Wallington.
-
- * erc.el: Thanks to John Paul Wallington for the following.
- (erc-nickname-in-use): Use `string-to-number' instead of
- `string-to-int'.
-
- * erc-dcc.el (erc-dcc-handle-ctcp-send)
- (erc-dcc-handle-ctcp-chat, erc-dcc-get-file)
- (erc-dcc-chat-accept): Ditto.
-
- * erc-identd.el (erc-identd-start): Ditto.
-
-2005-06-16 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc.el (erc-mode-map): Suppress `font-lock-fontify-block' key
- binding since it destroys face properties.
-
-2005-06-08 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-cmd-UNIGNORE): Use `erc-member-ignore-case' instead
- of `member-ignore-case'. Thanks to bpalmer for the heads up.
-
-2005-06-06 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-modules): Fix a mistake I made when editing this a
- few days ago. Modes should now be disabled properly.
- (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Remove unnecessary call to
- `format'. Thanks to Andreas Schwab for reporting this.
-
- * debian/changelog: Close "README file missing" bug.
-
- * debian/rules (binary-erc): Install README file.
-
-2005-06-03 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-with-buffer): Set `lisp-indent-function' so Emacs
- Lisp mode knows how to indent erc-with-buffer blocks.
- (with-erc-channel-buffer): Ditto.
- (erc-with-all-buffers-of-server): Ditto.
- (erc-modules): Use pcomplete by default, not completion, since
- erc-complete.el is deprecated. Use `fboundp' instead of
- `symbol-value' to check for existence of a function before calling
- it. This was causing an error when untoggling the `completion'
- option and trying to save via the customize interface.
-
- * erc-track.el (erc-modified-channels-update): If a buffer is not
- currently connected, remove it from the modified channels list.
- This should fix the problem where residue was left on the mode
- line after quitting ERC.
-
- * erc-list.el (erc-prettify-channel-list): Docfix; thanks to John
- Paul Wallington for reporting this.
-
-2005-05-31 Michael Olson <mwolson(a)gnu.org>
-
- * debian/changelog: First draft of entries for the 5.0.3 release.
-
- * debian/README.Debian: Note that ERC will now install correctly
- on versions of Emacs or XEmacs that do not have the `format-spec'
- library. Correct some grammar and prune the content a bit.
-
- * debian/scripts/install (emacs20): Remove line since we no longer
- need to deal with format-spec.el.
-
- * NEWS: Add entries for the upcoming 5.0.3 release.
-
- * erc.el: Don't require format-spec since this is provided in
- erc-compat.el now.
- (erc-process-sentinel, erc-setup-periodical-server-ping): Use
- `erc-cancel-timer' instead of `cancel-timer'.
- (erc-version-string): Update to 5.0.3.
-
- * erc-autoaway.el (autoaway, erc-autoaway-reestablish-idletimer):
- Use `erc-cancel-timer' instead of `cancel-timer'.
-
- * erc-compat.el (format-spec, format-spec-make): If we cannot load
- the `format-spec' library, provide versions of these functions.
- This should keep problems from surfacing with Emacs21 Debian
- builds.
- (erc-cancel-timer): New function created to take the place of
- `cancel-timer' since XEmacs calls it something else.
-
- * erc-track.el (erc-modified-channels-update): Accept any number
- of arguments, which are ignored. This allows it to be run from
- `erc-disconnected-hook' without extra bother.
- (track): Add `erc-modified-channels-update' to
- `erc-disconnected-hook' so that the indicators are removed
- correctly in some edge cases.
- (erc-modified-channels-display): Make sure that we never pass nil
- to the function in `erc-track-shorten-function'. This happens
- when we have deleted buffers in `erc-modified-channels-alist'.
- Also, make sure that the buffer has a non-nil short-name before
- adding it to the string list. This should fix some XEmacs
- warnings when running /quit with unchecked buffers, as well as get
- rid of a stray buffer problem (or so it is hoped).
-
-2005-05-31 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc-replace.el, erc-speak.el: Clean up comment formatting.
-
- * erc-ring.el (ring, erc-input-ring-index, erc-clear-input-ring):
- Clean up docstring formatting.
-
-2005-05-30 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc.el (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Delete superfluous
- arg to `format'.
- (erc-load-irc-script): Use `insert-file-contents' instead of
- `insert-file'. Simplify.
-
-2005-05-29 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-version-string): Move this up so that it is
- evaluated before the `require' statements. Not a major change.
-
-2005-04-27 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc.el (erc-complete-word): Simplify.
-
-2005-04-27 Michael Olson <mwolson(a)gnu.org>
-
- * Makefile (debrelease): Use a slightly different approach when
- removing CVS and Arch cruft.
-
- * debian/changelog: Update for 5.0.2-1 package.
-
-2005-04-25 Michael Olson <mwolson(a)gnu.org>
-
- * erc-autoaway.el (erc-autoaway-reestablish-idletimer): Move code
- block higher in file to fix a load failure when using Emacs21.
- Thanks to Daniel Brockman for the report and fix.
-
-2005-04-24 Adrian Aichner <adrian(a)xemacs.org>
-
- * erc-backend.el (JOIN): save-excursion so that
- `erc-current-logfile' inserts into the correct channel buffers
- when using erc-log-insert-log-on-open in combination with autojoin
- to multiple channels.
-
-2005-04-17 Adrian Aichner <adrian(a)xemacs.org>
-
- * erc-log.el: Remove stray whitespace.
- * erc.el: Ditto.
-
-2005-04-09 Aidan Kehoe <kehoea(a)parhasard.net>
-
- * erc.el: autoload erc-select-read-args, which, because it parses
- erc-select's args, can be called before erc.el is loaded.
-
-2005-04-07 Edward O'Connor <ted(a)oconnor.cx>
-
- * erc-viper.el: Remove final newlines from previously-existing ERC
- buffers. (Minor bug fix.)
-
-2005-04-06 Michael Olson <mwolson(a)gnu.org>
-
- * Makefile (debrelease): Ignore errors from deleting Arch and CVS
- metadata.
-
-2005-04-05 Michael Olson <mwolson(a)gnu.org>
-
- * ChangeLog, CREDITS, AUTHORS: Correct name and email address of
- Marcelo Toledo.
-
-2005-04-04 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-modules): Add entry for spelling module.
-
- * erc-spelling.el: Add autoload line.
-
- * erc-backend.el: Apply latest non-ascii patch from Kai Fan.
- (erc-decode-parsed-server-response): Search
- erc-response.command-args for channel name. Decode the
- erc-response struct using this channel name as key according to
- the `erc-encoding-coding-alist'.
-
- * erc-track.el: Apply patch from Henrik Enberg.
- (erc-modified-channels-object): Use optimal amount of whitespace
- around modified channels indicator.
-
-2005-04-02 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc.el (define-erc-module, erc-with-buffer)
- (erc-with-all-buffers-of-server, with-erc-channel-buffer): Add
- edebug-form-spec.
-
- * erc-compat (erc-define-minor-mode): Ditto.
-
-2005-03-29 Jorgen Schaefer <forcer(a)forcix.cx>
-
- * erc-spelling.el: New file.
-
-2005-03-24 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc-backend.el (define-erc-response-handler): Add
- `definition-name' property to constructed symbols so that
- find-function and find-variable will find them.
-
-2005-03-21 Michael Olson <mwolson(a)gnu.org>
-
- * erc-dcc.el, erc-goodies.el, erc-list.el, erc-notify.el,
- erc-ring.el, erc.el: Copyright assignment occurred.
-
- * debian/scripts/install: Make a shell wrapper around the original
- Makefile and inline the Makefile. The problem is that Debian
- passes all the Emacs variants at once, rotating them at every
- invocation of the install script, which happens once per variant.
- This caused each installation to happen N-1 times more often than
- it should have. As a result, we need to only deal with the first
- argument.
- (ELFILES): Only add format-spec.el if we are compiling for
- emacs21. Don't filter out erc-compat.el.
- (SITEFLAG): New variable that indicates that the "nosite" option
- should look like.
- (.DEFAULT): Use $(FLAVOUR) instead of $@ for clarity.
-
- * debian/rules: Install NEWS file and compress it.
-
- * debian/maint/postinst: Be more cautious about configuration
- step.
-
- * debian/copyright (Copyright): Another assignment came in.
-
- * debian/control (Standards-Version): Update to a newer version as
- recommended by lintian.
-
- * debian/changelog: Changes made for the Debian package.
-
- * debian/README.Debian: Keep only the General Notes section.
-
- * NEWS: Move old history items here from debian/README.Debian.
-
- * Makefile (SNAPSHOTDATE): Deprecate this option since we hope to
- release more often.
-
-2005-03-20 Jorgen Schaefer <forcer(a)users.sourceforge.net>
-
- * erc.el (erc-define-catalog, `ctcp-request-to'): Fix typo (%: ->
- %t:).
-
-2005-03-01 Michael Olson <mwolson(a)gnu.org>
-
- * erc-log.el (erc-save-buffer-in-logs): Replace tabs with spaces
- in code indentation.
-
-2005-02-28 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-display-message): Apply corrected patch from Henrik
- Enberg.
-
-2005-02-27 Michael Olson <mwolson(a)gnu.org>
-
- * erc.el (erc-display-message): Apply patch from Henrik Enberg.
- Check here to see if a message should be hidden, rather than
- relying on code in each individual command.
- (erc-version-string): Add "(CVS)" to the version string for
- clarity.
-
- * erc-backend.el (JOIN, KICK, MODE, NICK, PART, QUIT, TOPIC):
- Don't check `erc-hide-list' here.
-
- * erc-list.el, erc-match.el, erc.el, debian/copyright: Update
- copyright information as a few more people have assignments
- registered.
-
-2005-02-06 Michael Olson <mwolson(a)gnu.org>
-
- * erc-backend.el: Apply patch from Kai Fan for non-ASCII character
- support.
- (erc-parse-server-response): Add call to
- `erc-decode-parsed-server-response'.
- (erc-decode-parsed-server-response): New function that decodes a
- pre-parsed server response before it can be handled.
- (PRIVMSG): Comment out call to `erc-decode-string-from-target'.
- (TOPIC): Ditto.
-
-2005-02-01 Jorgen Schaefer <forcer(a)users.sourceforge.net>
-
- * erc.el (erc-process-sentinel-1): Don't reconnect on connection
- refused. This error is reported differently when using
- open-network-stream-nowait.
-
-2005-01-26 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc.el (erc-cmd-APPENDTOPIC, erc-set-topic): The control
- character in `channel-topic' was changed to \C-o - replaced \C-c
- with \C-o so that these functions work as expected again.
- (erc-get-channel-mode-from-keypress): Doc fix.
-
-2005-01-25 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc.el, erc-button.el, erc-compat.el, erc-goodies.el,
- erc-match.el, erc-nets.el, ChangeLog, NEWS: Merged bug fixes made
- on release_5_0_branch since 5.0.1 release.
-
-2005-01-24 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc.el (erc-input-action): Quote `erc-action-history-list' so
- that input history actually works.
- (erc-process-ctcp-query): Fix and simplify logic.
- (erc-get-channel-mode-from-keypress): Use `C-' string syntax.
- (erc-load-irc-script-lines): Use `erc-command-indicator' instead
- of `erc-prompt'.
-
-2005-01-23 Edward O'Connor <ted(a)oconnor.cx>
-
- * erc-viper.el: Ensure that `viper-comint-mode-hook' runs in
- buffers whose `erc-mode-hook' has already run when this file is
- loaded.
- Explicitly `require' erc.el.
-
-2005-01-22 Edward O'Connor <ted(a)oconnor.cx>
-
- * erc.el (erc-mode): Remove frobbing of `require-final-newline'.
-
- * erc-log.el (erc-save-buffer-in-logs): Remove frobbing of
- `require-final-newline'.
-
- * erc-viper.el: New file. This is where all ERC/Viper
- compatiibilty code should live. When and if ERC is bundled with
- Emacs, some of the hacks in this file should be merged into Viper
- itself.
-
-2005-01-21 Edward O'Connor <ted(a)oconnor.cx>
-
- * erc.el (erc-mode): Set `require-final-newline' to nil in ERC
- buffers. This prevents a Viper misfeature whereby extraneous
- newlines are inserted into the ERC buffer when switching between
- viper states.
-
- * erc-log.el (erc-save-buffer-in-logs): Bind `require-final-newline'
- to t when calling `write-region' to ensure that further log
- entries start on fresh lines.
-
-2005-01-21 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc-button.el (erc-button-add-face): Reverted my change to the
- order faces since it had the unwanted effect of putting the button
- face after all others.
- (erc-button-face-has-priority): Removed this variable as it is not
- necessary anymore - it was used to compensate for the above
- mentioned change.
-
- * NEWS: Added the latest fixes.
-
-2005-01-20 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc-button.el, erc-match.el:
- (erc-button-syntax-table, erc-match-syntax-table): Added \ as a
- legal character for nicknames.
-
- * erc-nets.el (erc-server-select): Fixed so that only networks
- with servers found in `erc-server-alist' are available as choices.
-
- * erc.el, erc-compat.el, erc-goodies.el:
- (erc-replace-match-subexpression-in-string): New function. Needed
- because `replace-match' in XEmacs doesn't replace regular
- expression subexpressions in strings, only in buffers.
- (erc-seconds-to-string, erc-controls-interpret): Use the new
- function.
-
- * erc-button.el (erc-button-add-button): Use the `:button-face'
- key combined with an `erc-mode' local `widget-button-face' set to
- nil to get the widget overlay face suppressed in XEmacs.
-
-2005-01-19 Francis Litterio <franl(a)world.std.com>
-
- * erc-button.el (erc-button-add-face): The face added by this
- function is more important than the existing text's face, so we
- now prepend erc-button-face to the list of existing faces when
- adding a button. To instead append erc-button-face to existing
- faces, set variable `erc-button-face-has-priority' to nil.
- (erc-button-face-has-priority): New variable to control how
- erc-button-add-face adds erc-button-face to existing faces.
- (erc-button-press-button): Silenced a byte-compiler warning about
- too few arguments in a call to `error'.
-
-2005-01-19 Diane Murray <disumu(a)x3y2z1.net>
-
- * NEWS: Added list of 5.0.1 fixes.
-
-2005-01-19 Michael Olson <mwolson(a)gnu.org>
-
- * AUTHORS: Move to format that cscvs can understand. As an added
- perk, entries line up nicer.
-
- * erc.el, erc-fill.el, erc-pcomplete.el, debian/copyright: Merge a
- few more copyright lines thanks to Alex Schroeder's BBDB file.
-
- * Makefile: Change version to correspond with our new scheme.
-
-2005-01-18 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc-list.el (erc-chanlist-channel-line-regexp): Now matches
- private channels, the channels `#' and `&', and channels with
- names including non-ascii characters.
- (erc-chanlist-join-channel): Don't attempt to join private
- channels since the channel name is unknown.
-
- * erc-goodies.el (erc-make-read-only): Add `rear-nonsticky'
- property to avoid `Text is read-only' errors during connection.
- `front-nonsticky' does not exist, changed to `front-sticky'.
- (erc-controls-interpret, erc-controls-strip): Just work on the
- string, don't open a temporary buffer.
- (erc-controls-propertize): Now accepts optional argument STR.
-
-2005-01-17 Michael Olson <mwolson(a)gnu.org>
-
- * Makefile: Version is 5.01, but only in the Makefile. It has not
- been released yet.
-
- * erc-auto.in, erc-autojoin.el, erc-bbdb.el, erc-button.el,
- erc-chess.el, erc-complete.el, erc-dcc.el, erc-fill.el,
- erc-goodies.el, erc-ibuffer.el, erc-identd.el, erc-imenu.el,
- erc-list.el, erc-match.el, erc-menu.el, erc-nets.el,
- erc-netsplit.el, erc-nickserv.el, erc-notify.el, erc-pcomplete.el,
- erc-ring.el, erc-speak.el, erc-speedbar.el, erc-stamp.el,
- erc-track.el, erc-xdcc.el, erc.el, debian/copyright: Update
- copyright notices. If anyone has signed papers for Emacs in
- general, merge them with the FSF's entry.
-
-2005-01-16 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc.el (erc): `erc-set-active-buffer' was being called before
- `erc-process' was set, so that channels weren't being marked
- active correctly upon join; fixed.
-
-2005-01-15 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
-
- * erc-backend.el (def-edebug-spec): This macro caused problems (in
- XEmacs). Use its expansion directly.
-
-2005-01-15 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc-button.el (erc-button-add-button): Reverted previous change
- since `:suppress-face' doesn't seem to be checked for a certain
- face.
- (erc-button-add-face): FACE is now appended to the `old' face.
- This should fix the problem of faces being "covered" by
- `erc-button-face'.
-
-2005-01-14 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc.el, erc-backend.el (erc-cmd-OPS, erc-cmd-COUNTRY,
- erc-cmd-NICK, erc-process-ctcp-query, ERROR, PONG, 311, 312, 313,
- 314, 317, 319, 320, 321, 322, 330, 352): Use catalog entries
- instead of hard-coded text messages.
- (english): Added new catalog entries `country', `country-unknown',
- `ctcp-empty', `ctcp-request-to', `ctcp-too-many', `nick-too-long',
- `ops', `ops-none', `ERROR', `PONG', `s311', `s312', `s313',
- `s314', `s317', `s317-on-since', `s319', `s320', `s321',
`s322',
- `s330', and `s352'.
- (erc-send-current-line): Use `erc-set-active-buffer' (change was
- lost in previous bug fix).
-
-2005-01-14 Francis Litterio <franl(a)world.std.com>
-
- * erc-button.el (erc-button-add-button): Fixed a bug where the
- overlay created by widget-convert-button has a `face' property
- that hides the `face' property set on the underlying button text.
-
- * erc-goodies.el: Docstring fix.
-
- * erc-button.el: Improved docstring for variable erc-button-face.
-
-2005-01-13 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc-menu.el (erc-menu-definition): "Topic set by channel
- operator": Small word change. "Identify to NickServ...": Check
- that we're connected to the server. Added "Save buffer in log"
- and "Truncate buffer".
-
-2005-01-13 Lawrence Mitchell <wence(a)gmx.li>
-
- * erc.el (erc-display-line-1): Widen before we try to insert
- anything, this makes sure input isn't broken when the buffer is
- narrowed by the user.
- (erc-beg-of-input-line): Simplify, just return the position of
- `erc-insert-marker' or error if does not exist.
- (erc-send-current-line): Widen before trying to send anything.
-
-2005-01-13 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc.el, erc-backend.el, erc-list.el:
- (erc-update-mode-line-buffer): Strip controls characters from
- `channel-topic' since we add our own control character to it.
- (TOPIC, 332): Use \C-o instead of \C-c to force an end of IRC
- control characters as it also ends bold, underline, and inverse -
- \C-c only ends colors.
- (erc-chanlist-322): Strip control characters from channel and
- topic. No need to interpret controls when we're applying overlays
- to the lines.
-
- * erc.el, erc-backend.el, erc-button.el, erc-netsplit.el,
- erc-nicklist.el: Fixed so that each server has an active buffer.
- (erc-active-buffer): Now a buffer-local variable.
- (erc-active-buffer, erc-set-active-buffer): New functions.
- (erc-display-line, erc-echo-notice-in-active-non-server-buffer,
- erc-process-away, MODE): Call `erc-active-buffer' to get the
- active buffer for the current server.
- (erc, erc-process-sentinel-1, erc-grab-region, erc-input-action,
- erc-send-current-line, erc-invite-only-mode,
- erc-toggle-channel-mode, erc-channel-names, MODE, erc-nick-popup,
- erc-nicklist-call-erc-command): Use `erc-set-active-buffer' to set
- the active buffer for the current server.
- (erc-cmd-WHOLEFT): Use 'active as BUFFER in `erc-display-message'.
-
- * erc-track.el (erc-track-modified-channels): Server buffers are
- now treated the same as channels and queries. This means that
- `erc-track-priority-faces-only', `erc-track-exclude', and
- `erc-track-exclude-types' now work with server buffers.
-
-2005-01-12 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc-backend.el (475): Prompt for the channel's key if
- `erc-prompt-for-channel-key' is non-nil. Send a new JOIN message
- with the key if a key is provided.
-
- * erc.el (erc-command-indicator): Fixed customization choices so
- that there's no `mismatch' message when nil is the value.
-
-2005-01-11 Michael Olson <mwolson(a)gnu.org>
-
- * erc-bbdb.el (bbdb): Lowercase the name of the module. This
- fixes a bug which caused an error to occur when trying to enable
- the module using the customization interface.
-
-2005-01-08 Edward O'Connor <ted(a)oconnor.cx>
-
- * erc-track.el: Support using faces to indicate channel activity
- in the modeline under XEmacs.
- (erc-modified-channels-object): New function.
- (erc-modified-channels-display): Use it.
- `erc-modified-channels-string' renamed to
- `erc-modified-channels-object' (because it's no longer a string on
- XEmacs). The new function `erc-modified-channels-object' is used
- to generate updated values for the same-named variable.
-
-2005-01-08 Diane Murray <disumu(a)x3y2z1.net>
-
- * ChangeLog.2002: Changed instances of my sourceforge username and
- email address to real name and email.
-
- * erc.el (erc-modules): Changed customization tag descriptions, so
- that they all start with a verb; added new modules to choices.
-
-2005-01-08 Mario Lang <mlang(a)delysid.org>
-
- * debian/rules: Introduce new variable DOCDIR to simplify stuff a
- bit.
-
-2005-01-08 Michael Olson <mwolson(a)gnu.org>
-
- * AUTHORS, ChangeLog.2004: Change bpalmer's email address as
- requested.
-
- * CREDITS: Add everyone who is mentioned in the ChangeLogs.
-
- * debian/copyright (Copyright): Add last few people. This can now
- be considered a complete list, as far as CVS entries are
- concerned. If people have assigned copyright to the FSF, merge
- them with the entry for the FSF.
-
- * debian/README.Debian: Add entry for XEmacs-related change in
- `erc-track.el'.
-
- * erc.el (erc-cmd-MODE): New command that changes or displays the
- mode for a channel or user. The functionality was present before
- this change, but there was no documentation for it.
-
- * erc-auto.in, erc-*.el: Fully investigate copyright headers and
- change them appropriately. If a file has been pulled off of
- erc.el at one time, keep track of copyright from the time of
- separation, but not before. If a file has been derived from a
- work outside of erc, keep copyright statements in place.
-
- * Makefile (VERSION): Change to 5.0! :^) Congrats on all the great
- work. I'll wait until hober commits his XEmacs compatibility
- patch to erc-track.el, and then release.
- (distclean): Alias for `realclean' target.
-
-2005-01-07 Michael Olson <mwolson(a)gnu.org>
-
- * AUTHORS: Add Marcelo Toledo, who has CVS access to this project.
-
- * ChangeLog.2004: Add my name to my one contribution to erc last
- year.
-
- * CREDITS: Add people that were discovered while scouring
- ChangeLogs.
-
- * debian/copyright: Add everyone from `AUTHORS' to Upstream
- Authors. Anyone who has contributed 15 or more lines of
- code (according to ChangeLogs) is listed in Copyright section.
- Accurate years are included.
-
- * debian/README.Debian: Paste content of NEWS and reformat
- slightly.
-
- * debian/rules: Concatenate the ChangeLogs during the Debian
- install process and then gzip them.
-
- * Makefile (MISC): Add ChangeLog.yyyy files to list.
- (ChangeLog): Remove rule since we do not dynamically generate the
- ChangeLog anymore.
-
- * MkChangeLog: Removed since we do not use it to generate the
- ChangeLog anymore. cvs2cl does a much better job anyway.
-
- * NEWS: Use 3rd level heading instead of bullets for lists that
- contain descriptions.
-
-2005-01-07 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc-list.el: Require 'sort.
- (erc-chanlist): Disable undo in the channel list buffer.
-
- * erc.el, erc-menu.el: The `IRC' menu is now automatically added
- to the menu-bar. Add the call to `easy-menu-add' to
- `erc-mode-hook' when running in XEmacs (without this the menu
- doesn't appear).
-
- * NEWS: Added the information from
-
http://emacswiki.org/cgi-bin/wiki/ErcCvsFeatures and the newer
- changes which weren't yet documented on that page.
-
-2005-01-06 Hoan Ton-That <hoan(a)ton-that.org>
-
- * erc-log.el (erc-current-logfile): Only downcase the logfile
- name, not the whole filename. Also expand relative to
- `erc-log-channels-directory'.
- (erc-generate-log-file-name-with-date)
- (erc-generate-log-file-name-short)
- (erc-generate-log-file-name-long): Don't expand filename, done in
- `erc-current-logfile'.
-
-2005-01-06 Lawrence Mitchell <wence(a)gmx.li>
-
- * NEWS: New file, details user visible changes from version to
- version.
-
- * HACKING (NEWS entries): Mention NEWS file, and what its purpose
- is.
-
-2005-01-05 Michael Olson <mwolson(a)gnu.org>
-
- * FOR-RELEASE: New file containing the list of release-critical
- tasks. Feel free to add to it.
-
- * debian/rules (binary-erc): Add ChangeLog files.
-
-2005-01-04 Michael Olson <mwolson(a)gnu.org>
-
- * ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, ChangeLog.2004:
- ChangeLog entries from previous years.
-
- * ChangeLog: New file containing ChangeLog entries for the current
- year. Please update this file manually whenever a change is
- committed. This is a new policy.
-
- * AUTHORS: Add myself to list. Some entries were space-delimited
- instead of TAB-delimited, and since the latter seemed to be the
- default, make the other entries conform.
-
- * HACKING (ChangeLog Entries): Update section to reflect new
- policy toward ChangeLog entries, which is that they should be
- manually updated whenever a change is committed.
-
-2005-01-04 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc.el (erc-connection-established, erc-login): Update the
- mode-line.
- (erc-update-mode-line-buffer): If `erc-current-nick' returns nil,
- use an empty string for ?n character in format spec. Set
- `mode-line-process' to ":connecting" while the connection is being
- established.
-
-2005-01-04 Lawrence Mitchell <wence(a)gmx.li>
-
- * AUTHORS: Update list of authors.
-
-2005-01-02 Diane Murray <disumu(a)x3y2z1.net>
-
- * erc-goodies.el (erc-control-characters): New customization
- group.
- (erc-interpret-controls-p): Small fix, addition to
- documentation. Updated customization to allow 'remove as a value.
- Use 'erc-control-characters as `:group'.
- (erc-interpret-mirc-color): Use 'erc-control-characters as
- `:group'.
- (erc-beep-p): Updated documentation. Use 'erc-control-characters
- as `:group'.
- (define-erc-module irccontrols): Add `erc-controls-highlight' to
- `erc-insert-modify-hook' and `erc-send-modify-hook' since it
- changes the text's appearance.
- (erc-controls-remove-regexp, erc-controls-interpret-regexp): New
- variables.
- (erc-controls-highlight): Fixed so that highlighting works even if
- there is no following control character. Fixed mirc color
- highlighting; now respecting `erc-interpret-mirc-color'. Fixed a
- bug where emacs would get stuck in a loop when \C-g was in a
- message and `erc-beep-p' was set to nil (default setting).
+ * erc.el (erc): Move to the end of the buffer when a continued
+ session is detected. Thanks to e1f and indio for the report and
+ testing a potential fix.
+
+2006-02-14 Michael Olson <mwolson(a)gnu.org>
+
+ * debian/changelog: Prepare a new Debian package.
+
+ * Makefile (debprepare): New rule that creates an ERC snapshot
+ directory for use in both new Debian releases and revisions for
+ Debian packages.
+ (debrelease, debrevision-mwolson): Use debprepare.
+
+ * NEWS: Bring up-to-date.
+
+ * erc-stamp.el (erc-insert-timestamp-right): For now, put
+ timestamps before rather than after erc-fill-column when
+ erc-timestamp-right-column is nil. This way we won't surprise
+ anyone unpleasantly, or so it is hoped.
+
+2006-02-13 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-dcc.el: Use (eval-when-compile (require 'cl)).
+
+2006-02-11 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-stamp.el (erc-timestamp-use-align-to): Renamed from
+ `erc-timestamp-right-align-by-pixel'. Set the default based on
+ whether we are in Emacs 22, and using X. Improve documentation.
+ (erc-insert-aligned): Remove calculation of offset, since
+ :align-to pos works after all. Unlike the previous solution, this
+ one works when erc-stamp.el is compiled.
+ (erc-insert-timestamp-right): Don't add length of string, and then
+ later remove its displayed width. This puts timestamps after
+ erc-fill-column when erc-timestamp-right-column is nil, rather
+ than before it. It also fixes a subtle bug. Remove use of
+ `current-window', since there is no variable by that name in
+ Emacs21, Emacs22, or XEmacs21 beta. Check to see whether
+ `erc-fill-column' is non-nil before using it.
+
+2006-02-11 Diane Murray <disumu(a)x3y2z1.net>
+
+ * erc-spelling.el (define-erc-module): Make sure there's a buffer
+ before calling `with-current-buffer'.
+
+2006-02-10 Michael Olson <mwolson(a)gnu.org>
+
+ * Makefile (debbuild): Split from debrelease.
+ (debrevision-mwolson): New rule that causes a Debian revision to
+ be built.
+
+2006-02-08 Diane Murray <disumu(a)x3y2z1.net>
+
+ * erc.el (erc-version-string): Remove "(CVS)".
+ (erc-open-ssl-stream): Go back to using ssl.el so that SSL
+ connections work as expected. Connecting with `open-tls-stream'
+ only seems to work (if at all?) when using the tls.el located in
+ lisp/net/ in Emacs22.
+
+ * NEWS: Added tls.el -> ssl.el change.
+
+2006-02-07 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-stamp.el (erc-insert-aligned): Don't take 3rd argument. Use
+ the simpler `indent-to' function when
+ `erc-timestamp-right-align-by-pixel' is nil.
+ (erc-insert-timestamp-right): If the timestamp goes on the
+ following line, don't add timestamp properties to the spaces in
+ front of it.
+
+2006-02-05 Michael Olson <mwolson(a)gnu.org>
+
+ * Makefile (debrelease): Remove images/.arch-ids or images/CVS
+ directory correctly.
+
+ * debian/changelog: Update for 5.1.1 release.
+
+ * debian/control (Suggests): Suggest emacs-chess instead of
+ Recommending it. Thanks to Era Eriksson for the report.
+
+ * debian/maint/postinst: Install the Info documentation.
+
+ * debian/maint/prerm: Handle removing of Info documentation.
+
+ * debian/rules (configure, configure-stamp, build, build-stamp):
+ Generate HTML and Info documentation.
+ (binary-erc): Install HTML and Info documentation.
+
+ * erc-spelling.el (erc-spelling-init): If
+ `erc-spelling-dictionaries' is nil, do not set
+ ispell-local-dictionary. Before, it was being set to nil, which
+ was causing a long delay while the ispell process restarted.
+ (erc-spelling-unhighlight-word): New function that removes
+ flyspell properties from a spell-checked word.
+ (erc-spelling-flyspell-verify): Don't spell-check nicks or words
+ that have '/' before them.
+
+2006-02-04 Michael Olson <mwolson(a)gnu.org>
+
+ * Makefile (VERSION): Update to 5.1.1.
+
+ * NEWS: Update for ERC 5.1.1. Use the same wording for headings
+ that Emacs does in its NEWS file.
+
+ * erc-autojoin.el: Use (eval-when-compile (require 'cl)).
+
+ * erc-complete.el (erc-nick-completion-exclude-myself)
+ (erc-try-complete-nick): Use better function for getting list of
+ channel users.
+
+ * erc-goodies.el: Docfix.
+
+ * erc-stamp.el: Use new arch tagline, since the other one wasn't
+ being treated properly.
+
+ * erc.texi (History): Note that ERC is now included with Emacs.
+
+ * erc.el (erc-version-string): Release ERC 5.1.1
+
+2006-01-31 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-stamp.el: Update copyright years.
+
+2006-01-30 Simon Josefsson <jas(a)extundo.com>
+
+ * erc.el (erc-open-ssl-stream): Use tls.el.
+
+2006-01-30 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-stamp.el (erc-timestamp-right-align-by-pixel): New option
+ that determines whether to use pixel values to align right
+ timestamps. The default is not to do so, since it only works with
+ Emacs22 on X, and even then some people have trouble.
+ (erc-insert-aligned): Use `erc-timestamp-right-align-by-pixel'.
+
+2006-01-29 Edward O'Connor <ted(a)oconnor.cx>
+
+ * erc-viper.el: Ensure we only alter Viper's configuration when
+ necessary, as Viper may already take ERC into account.
+
+2006-01-29 Michael Olson <mwolson(a)gnu.org>
+
+ * ChangeLog, ChangeLog.2005, ChangeLog.2004, ChangeLog.2003,
+ ChangeLog.2002, ChangeLog.2001: Add "See ChangeLog.NNNN" line for
+ earlier changes. Use utf-8 encoding. Fix some accent typos.
+
+ * erc-speedbar.el (erc-speedbar-buttons): Fix reference to free
+ variable.
+ (erc-speedbar-goto-buffer): Fix compiler warning.
+
+ * erc-ibuffer.el: Use `define-ibuffer-filter' instead of
+ `ibuffer-degine-limiter'. Use `define-ibuffer-column' instead of
+ `ibuffer-define-column'. Require 'ibuf-ext so that the macros
+ work without compiler warnings.
+
+ * man/erc.texi (Obtaining ERC, Installation): Note that these
+ sections may be skipped if using the version of ERC that comes
+ with Emacs.
+
+2006-01-28 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-*.el, erc.texi, NEWS: Add Arch taglines as per Emacs
+ guidelines.
+
+ * erc-*.el: Space out copyright years like the rest of Emacs. Use
+ the Emacs copyright statement. Refer to ourselves as ERC rather
+ than "Emacs IRC Client", since there are now several IRC clients
+ for Emacs.
+
+ * erc-compat.el (erc-emacs-build-time): Define as a variable.
+
+ * erc-ibuffer.el: Require 'erc.
+
+ * erc-log.el (erc-log-setup-logging): Use write-file-functions if
+ it exists.
+
+ * erc-stamp.el (erc-insert-aligned): Only use the special text
+ property when window-system is X.
+
+ * erc.texi (History): Note that ERC 5.1 is released.
+
+2006-01-28 Johan Bockgård <bojohan(a)users.sourceforge.net>
+
+ * erc.el (erc-format-message): More `cl' breakage; don't use
+ `oddp'.
+
+2006-01-27 Michael Olson <mwolson(a)gnu.org>
+
+ * debian/changelog: Update for new release.
+
+ * debian/control (Description): Update.
+
+ * debian/rules: Concatenate ChangeLog for 2005.
+
+ * Makefile (MISC): Include ChangeLog.2005 and erc.texi.
+ (debrelease, release): Copy images directory.
+
+ * NEWS: Spelling fixes. Add items for recent changes.
+
+ * erc.el (erc): Move call to erc-update-modules before the call to
+ erc-mode. This should fix a timestamp display issue.
+ (erc-version-string): Release ERC 5.1.
+
+2006-01-26 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-stamp.el (erc-insert-aligned): New function that inserts
+ text in an perfectly-aligned way relative to the right margin. It
+ only works well with Emacs22. A sane fallback is provided for
+ other versions of Emacs.
+ (erc-insert-timestamp-right): Use the new function.
+
+2006-01-25 Edward O'Connor <ted(a)oconnor.cx>
+
+ * erc.el (erc-modules): Ensure that `erc-button-mode' gets enabled
+ before `erc-match-mode'.
+
+ * erc-match.el (match): Append `erc-match-message' to
+ `erc-insert-modify-hook'.
+
+2006-01-25 Michael Olson <mwolson(a)gnu.org>
+
+ * FOR-RELEASE: Mark last release requirement as done.
+
+ * Makefile (realclean, distclean): Remove docs.
+
+ * erc.texi: Take care of all pre-5.1 items.
+
+ * erc-backend.el (erc-server-send, erc-server-send-queue): Wrap
+ `process-send-string' in `condition-case' to avoid an error when
+ quitting ERC.
+
+ * erc-stamp.el (erc-insert-timestamp-right): Try to deal with
+ variable-width characters in the timestamp and on the same line.
+ The latter is a kludge, but it seems to work with most of the
+ input I've thrown at it so far. It's certainly better than going
+ past the end of line consistently when we have variable-width
+ characters on the same line. When `erc-timestamp-intangible' is
+ non-nil, add intangible properties to the whitespace as well, so
+ that hitting <end> does what you'd expect.
+
+ * erc.el (erc-flood-protect, erc-toggle-flood-control): Update
+ this to only use boolean values for `erc-flood-protect'. Update
+ documentation.
+ (erc-cmd-QUIT): Set the active buffer to be the server buffer, so
+ that any QUIT-related messages go there.
+ (erc): Try to be more clever about re-using channel buffers when
+ automatically re-connecting. Thanks to e1f for noticing.
+
+2006-01-23 Michael Olson <mwolson(a)gnu.org>
+
+ * ChangeLog.2005: Remove erroneous line.
+
+ * FOR-RELEASE: Make that the Makefile tweaking is complete.
+ (NEWS): Mark as done.
+
+ * Makefile (MANUAL): New option indicating the name of the manual.
+ (PREFIX, ELISPDIR, INFODIR): New options that specify the
+ directories to install lisp code and info manuals to. PREFIX is
+ used only by ELISPDIR and INFODIR.
+ (all): Call `lisp' and create the manual.
+ (lisp): Compile lisp code.
+ (%.info, %.html): New rules that make Info files and HTML files,
+ respectively, from a TexInfo source.
+ (doc): Create both the Info and HTML versions of the manual. This
+ is for the user -- we never call it automatically.
+ (install-info): Install Info files.
+ (install-bin): Install compiled and source Lisp files.
+ (todo): Remove, since it seems pointless.
+
+ * NEWS: Update.
+
+ * README: Add Installation instructions. Tweak layout.
+
+ * erc.texi: Work on some pre-5.1 items.
+
+ * erc-stamp.el, erc-track.el: Move some functions and options in
+ order to get rid of a few compiler warnings.
+
+ * erc.el (erc-modules): Enable readonly by default. This will
+ prevent new users from accidentally removing old messages, which
+ could be disconcerting. Also enable stamp by default, since
+ timestamps are a fairly standard feature among IRC clients.
+
+ * erc-button.el: Munge whitespace.
+
+ * erc-identd.el (erc-identd-start): Instead of throwing an error,
+ just try to use the obsolete function.
+
+2006-01-22 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-backend.el (erc-decode-string-from-target): Make sure that
+ we have a string as an argument. If not, coerce it to the empty
+ string. Hopefully, this will work painlessly around an edge case
+ related to quitting ERC around the same time a message comes in.
+
+2006-01-22 Johan Bockgård <bojohan(a)users.sourceforge.net>
+
+ * erc-track.el: Use `(eval-when-compile (require 'cl))' (for
+ `case'). Doc fixes.
+ (erc-find-parsed-property): Simplify.
+ (erc-track-get-active-buffer): Fix logic. Simplify.
+ (erc-track-switch-buffer): Remove unused variable `dir'. Simplify.
+
+ * erc-speak.el: Doc fixes.
+ (erc-speak-region): `propertize' --> `erc-propertize'.
+
+ * erc-dcc.el (erc-dcc-chat-parse-output): `propertize' -->
+ `erc-propertize'.
+
+ * erc-button.el (erc-button-add-button): Take erc-fill-prefix into
+ account when wrapping URLs.
+
+ * erc-bbdb.el (erc-bbdb-elide-display): Doc fix.
+
+ * erc-backend.el (define-erc-response-handler): Doc fix.
+
+2006-01-22 Michael Olson <mwolson(a)gnu.org>
+
+ * erc.el (erc-update-modules): Use `require' instead of `load',
+ but prevent it from causing errors, in order to preserve the
+ previous behavior.
+
+2006-01-21 Michael Olson <mwolson(a)gnu.org>
+
+ * FOR-RELEASE (Source): Mark cl task as done.
+
+ * Makefile (erc-auto.el): Call erc-generate-autoloads rather than
+ generate-autoloads.
+ (erc-auto.el, %.elc): Don't show command, just its output.
+
+ * NEWS: Add items from 2005-01-01 to 2005-08-13.
+
+ * debian/copyright (Copyright): Update.
+
+ * erc-auto.in (erc-generate-autoloads): Rename from
+ generate-autoloads.
+
+ * erc.el, erc-autoaway.el, erc-backend.el: Use
+ erc-server-process-alive instead of erc-process-alive.
+
+ * erc.el, erc-backend.el, erc-ezbounce.el, erc-list.el,
+ erc-log.el, erc-match.el, erc-nets.el, erc-netsplit.el,
+ erc-nicklist.el, erc-nickserv.el, erc-notify.el, erc-pcomplete.el:
+ Use (eval-when-compile (require 'cl)), so that compilation doesn't
+ fail.
+
+ * erc-fill.el, erc-truncate.el: Whitespace munging.
+
+ * erc.el: Update copyright notice. Remove eval-after-load code.
+ (erc-with-buffer): Docfix.
+ (erc-once-with-server-event, erc-once-with-server-event-global)
+ (erc-with-buffer, erc-with-all-buffers-of-server): Use erc-gensym
+ instead of gensym.
+ (erc-banlist-update): Use erc-delete-if instead of delete-if.
+ (erc): Call `erc-update-modules' here.
+
+ * erc-backend.el: Require 'erc-compat to minimize compiler
+ warnings.
+ (erc-decode-parsed-server-response): Docfix.
+ (erc-server-process-alive): Move here from erc.el and rename from
+ `erc-process-alive'.
+ (erc-server-send, erc-remove-channel-users): Make sure process is
+ alive before sending data to it.
+
+ * erc-bbdb.el: Update copyright years.
+ (erc-bbdb-whois): Remove overexuberant comment.
+
+ * erc-button.el: Require erc-fill, since we make liberal use of
+ `erc-fill-column'.
+
+ * erc-compat.el (erc-const-expr-p, erc-list*, erc-assert): New
+ functions, the latter of which provides an `assert' equivalent.
+ (erc-remove-if-not): New function that provides a simple
+ implementation of `remove-if-not'.
+ (erc-gensym): New function that provides a simple implementation
+ of `gensym'.
+ (erc-delete-if): New function that provides a simple
+ implementation of `delete-if'.
+ (erc-member-if): New function that provides a simple
+ implementation of `member-if'.
+ (field-end): Remove this, since it is unused, and later versions
+ of XEmacs have this function already.
+ (erc-function-arglist): Moved here from erc.el.
+ (erc-delete-dups): New compatibility function for dealing with
+ XEmacs.
+ (erc-subseq): New function copied from cl-extra.el.
+
+ * erc-dcc.el: Require pcomplete during compilation to avoid
+ compiler warnings.
+ (erc-unpack-int, erc-dcc-send-filter)
+ (erc-dcc-get-filter): Use erc-assert instead of assert.
+ (pcomplete/erc-mode/DCC): Use erc-remove-if-not instead of
+ remove-if-not.
+
+ * erc-match.el (erc-log-matches): Fix compiler warning.
+
+ * erc-nicklist.el: Update copyright notice.
+ (erc-nicklist-menu): Change use of caadr to (car (cadr ...)).
+ (erc-nicklist-bitlbee-connected-p): Remove.
+ (erc-nicklist-insert-medium-name-or-icon): Accept channel
+ argument. Use it to determine whether we are on bitlbee. Now
+ that bitlbee names its channel "&bitlbee", this is trivial.
+ (erc-nicklist-insert-contents): Pass channel as specified above.
+ Don't try to determine whether we are on bitlbee here.
+ (erc-nicklist-channel-users-info): Use erc-remove-if-not instead
+ of remove-if-not.
+ (erc-nicklist-search-for-nick): Use erc-member-if instead of
+ member-if.
+
+ * erc-notify.el (erc-notify-QUIT): Use erc-delete-if with a
+ partially-evaluated lambda expression instead of `delete' and
+ `find'.
+
+ * erc-track.el: Use erc-assert.
+ (erc-track-modified-channels): Remove use of `return'.
+ (erc-track-modified-channels): Use `cadr' instead of `second',
+ since otherwise we would need yet another eval-when-compile line.
+
+2006-01-19 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-backend.el (erc-process-sentinel-1): Remove attempt to
+ detect SIGPIPE, since it doesn't work.
+
+2006-01-10 Diane Murray <disumu(a)x3y2z1.net>
+
+ * erc-spelling.el: Updated copyright years.
+ (define-erc-module): Enable/disable `flyspell-mode' for all open
+ ERC buffers as well.
+ (erc-spelling-dictionaries): Reworded customize description.
+
+ * erc.el (erc-command-symbol): New function.
+ (erc-extract-command-from-line): Use `erc-command-symbol'. This
+ fixes a bug where "Symbol's function definition is void:
+ erc-cmd-LIST" would be shown after typing /list at the prompt (the
+ command was interned because erc-menu.el uses it and is enabled by
+ default whereas erc-list.el is not).
+
+ * NEWS: Started a list of renamed variables.
+
+ * erc.el: Reworded the message sent when defining variable
+ aliases.
+ (erc-command-indicator-face): Doc fix.
+ (erc-modules): Enable the match module by default which makes
+ current nickname highlighting on as the default.
+
+ * erc-button.el: Updated copyright years.
+ (erc-button): New face.
+ (erc-button-face): Use `erc-button'.
+ (erc-button-nickname-face): New customizable variable.
+ (erc-button-add-nickname-buttons, erc-button-add-buttons-1): Send
+ new argument to `erc-button-add-button'.
+ (erc-button-add-button): Doc fix. Added new argument to function
+ definition, NICK-P. If it's a nickname, use
+ `erc-button-nickname-face', otherwise use `erc-button-face'. This
+ makes channel tracking and buttons work better together when
+ `erc-button-buttonize-nicks' is enabled, since there is a nickname
+ on just about every line.
+
+ * erc-track.el (erc-track-use-faces): Doc fix.
+ (erc-track-faces-priority-list): Added `erc-button' to list.
+ (erc-track-priority-faces-only): Doc fix.
+
+2006-01-09 Diane Murray <disumu(a)x3y2z1.net>
+
+ * erc-button.el (erc-button-url-regexp): Use `concat' so the
+ regexp is not one long line.
+ (erc-button-alist): Fixed so that customizing works correctly.
+ Reorganized. Removed lambda functions with more than two lines.
+ Doc fix.
+ (erc-button-describe-symbol, erc-button-beats-to-time): New
+ functions. Moved from `erc-button-alist'.
+
+2006-01-07 Michael Olson <mwolson(a)gnu.org>
+
+ * erc-backend.el (erc-process-sentinel-1): Don't try to re-open a
+ process if a SIGPIPE occurs. This happens when a new message
+ comes in at the same time a /quit is requested.
+ (erc-process-sentinel): Use string-match rather than string= to do
+ these comparisons. Matching literal newlines makes me nervous.
+
+ * erc-track.el (erc-track-remove-from-mode-line): Handle case
+ where global-mode-string is not a list. Emacs22 permits this.
+
+See ChangeLog.2005 for earlier changes.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+;; arch-tag: 865a75f6-2bcb-46df-bf0c-b514dadf688a
+
+;; arch-tag: cceaf370-9880-4031-842b-223ab2bb597d
1.2 +58 -8 XEmacs/packages/xemacs-packages/erc/FOR-RELEASE.upstream
Index: FOR-RELEASE.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/FOR-RELEASE.upstream,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- FOR-RELEASE.upstream 2005/04/10 14:47:33 1.1
+++ FOR-RELEASE.upstream 2006/02/19 12:57:26 1.2
@@ -1,19 +1,69 @@
Tasks that need to be accomplished in order for a release to happen.
-* Stability
+* 5.1 release
+** [DONE] Documentation
-* Debian
+*** ERC's manual needs collaborative effort.
+Some conditions follow.
-** Copyright
+Manual text can be based off of pages from
EmacsWiki.org, but must be
+rewritten. As long as they're not too close to being word-for-word,
+you should be okay.
-Which authors should be included in `debian/copyright' as upstream
-authors? Which should be given copyright notices?
+Contributors to the documentation must have assigned future copyright
+for ERC or Emacs. No separate manual assignment is needed in this
+case. If you haven't assigned future changes and would like to work
+on the manual, contact mwolson(a)gnu.org.
-** News
+*** Search for "@c PRE5_1" to see what needs to be done before the
+5.1 release.
-What are the most important user-visible changes since 2004-09-13?
-These should be added to `debian/README.debian'.
+Please add your name in brackets after "PRE5_1" in the comment if you
+wish to work an item in the short term.
+
+** [DONE] Makefile
+
+*** install target needed.
+This could look at the following new variables. ELISPDIR determines
+where to install ERC. INFODIR is where manual will be installed.
+
+PREFIX = /usr/local
+ELISPDIR = $(PREFIX)/share/emacs/site-lisp/erc
+INFODIR = $(PREFIX)/info
+
+*** install-info target needed.
+Something like the following would work.
+
+%.info: %.texi
+ makeinfo $<
+
+install-info: muse.info
+ [ -d $(INFODIR) ] || install -d $(INFODIR)
+ install -m 0644 muse.info $(INFODIR)/muse
+ $(INSTALLINFO) $(INFODIR)/muse
+
+** [DONE] NEWS: Update for changes since 5.0.4.
+
+** [DONE] Source
+
+*** Remove dependency on cl package.
+(eval-when-compile (require 'cl)) is acceptable.
+
+* 5.2 release (future)
+
+** Documentation
+
+*** Items with "@c PRE5_2" won't block the 5.1 release, but may block
+the release of 5.2.
+
+** Source
+
+*** Make erc-backend not need to (require) any other part of ERC.
+This will hopefully increase the chance that it will be useful for
+other IRC clients, like Circe.
+
+*** Add binding for S-TAB (backtab) that moves backwards by link.
Local variables:
1.2 +2 -2 XEmacs/packages/xemacs-packages/erc/HISTORY
Index: HISTORY
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/HISTORY,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- HISTORY 2003/11/25 23:12:35 1.1
+++ HISTORY 2006/02/19 12:57:26 1.2
@@ -1,5 +1,5 @@
-History of Emacs IRC Client development:
-----------------------------------------
+History of ERC development:
+---------------------------
ERC was originally written by Alexander L. Belikoff (abel(a)bfr.co.il) and
Sergey Berezin (sergey.berezin(a)cs.cmu.edu). They stopped development
1.31 +4 -1 XEmacs/packages/xemacs-packages/erc/Makefile
Index: Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/Makefile,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -p -r1.30 -r1.31
--- Makefile 2005/10/21 13:39:58 1.30
+++ Makefile 2006/02/19 12:57:26 1.31
@@ -19,7 +19,7 @@
VERSION = 0.19
-AUTHOR_VERSION = Version 5.0 Revision: 1.776
+AUTHOR_VERSION = Version 5.1.1 Revision: 1.796.2.3
MAINTAINER = Adrian Aichner <adrian(a)xemacs.org>
PACKAGE = erc
PKG_TYPE = regular
@@ -45,5 +45,8 @@ EXTRA_SOURCES = $(wildcard *.upstream) $
DATA_FILES = AUTHORS CREDITS HISTORY NEWS README servers.pl
DATA_DEST = $(PACKAGE)
+
+# As of upstream -r release_5_1_branch
+STANDARD_DOCS = t
include ../../XEmacs.rules
1.8 +89 -21 XEmacs/packages/xemacs-packages/erc/Makefile.upstream
Index: Makefile.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/Makefile.upstream,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- Makefile.upstream 2005/10/15 18:15:26 1.7
+++ Makefile.upstream 2006/02/19 12:57:27 1.8
@@ -1,6 +1,6 @@
-VERSION=5.1
+VERSION=5.1.1
SNAPDIR=erc-$(VERSION)
-LASTUPLOAD = 5.0.4-2
+LASTUPLOAD = 5.1.1-2
BUILDOPTS =
SPECIAL = erc-auto.el
@@ -10,41 +10,95 @@ TESTING = erc-members.el erc-macs.el
ALLSOURCE = $(wildcard *.el)
SOURCE = $(filter-out $(SPECIAL) $(UNCOMPILED) $(TESTING),$(ALLSOURCE))
TARGET = $(patsubst %.el,%.elc,$(SPECIAL) $(SOURCE))
+MANUAL = erc
MISC = AUTHORS CREDITS HISTORY NEWS README Makefile ChangeLog \
- ChangeLog.2004 ChangeLog.2003 ChangeLog.2002 \
- ChangeLog.2001 servers.pl erc-auto.in
-EMACS = emacs
+ ChangeLog.2005 ChangeLog.2004 ChangeLog.2003 ChangeLog.2002 \
+ ChangeLog.2001 servers.pl erc-auto.in erc.texi
-all: $(TARGET)
+EMACS = emacs
+SITEFLAG = --no-site-file
+PREFIX = /usr/local
+ELISPDIR = $(PREFIX)/share/emacs/site-lisp/erc
+INFODIR = $(PREFIX)/info
+
+# XEmacs users will probably want the following settings.
+#EMACS = xemacs
+#SITEFLAG = -no-site-file
+
+INSTALLINFO = install-info --info-dir=$(INFODIR)
+
+# If you're using Debian, uncomment the following line and comment out
+#the above line.
+#INSTALLINFO = install-info --section "Emacs" "emacs"
--info-dir=$(INFODIR)
+
+all: lisp $(MANUAL).info
+
+lisp: $(TARGET)
+
autoloads: erc-auto.el
erc-auto.el: erc-auto.in $(SOURCE)
cp erc-auto.in erc-auto.el
rm -f erc-auto.elc
- $(EMACS) --no-init-file --no-site-file -batch \
+ @$(EMACS) -q $(SITEFLAG) -batch \
-l $(shell pwd | sed -e 's|^/cygdrive/\([a-z]\)|\1:|')/erc-auto \
- -f generate-autoloads \
+ -f erc-generate-autoloads \
$(shell pwd | sed -e 's|^/cygdrive/\([a-z]\)|\1:|')/erc-auto.el .
%.elc: %.el
- $(EMACS) --no-init-file --no-site-file -batch \
+ @$(EMACS) -q $(SITEFLAG) -batch \
-l $(shell pwd | sed -e 's|^/cygdrive/\([a-z]\)|\1:|')/erc-maint \
-f batch-byte-compile $<
+%.info: %.texi
+ makeinfo $<
+
+%.html: %.texi
+ makeinfo --html --no-split $<
+
+doc: $(MANUAL).info $(MANUAL).html
+
clean:
-rm -f *~ *.elc
realclean: clean
- -rm -f $(TARGET) $(SPECIAL)
+ -rm -f $(MANUAL).info $(MANUAL).html $(TARGET) $(SPECIAL)
+
+install-info: $(MANUAL).info
+ [ -d $(INFODIR) ] || install -d $(INFODIR)
+ install -m 0644 $(MANUAL).info $(INFODIR)/$(MANUAL)
+ $(INSTALLINFO) $(INFODIR)/$(MANUAL)
+
+install-bin: lisp
+ install -d $(ELISPDIR)
+ install -m 0644 $(ALLSOURCE) $(TARGET) $(ELISPDIR)
+install: install-bin install-info
+
distclean:
- -rm -f $(TARGET)
+ -rm -f $(MANUAL).info $(MANUAL).html $(TARGET)
-rm -Rf ../$(SNAPDIR)
-debrelease: $(ALLSOURCE) $(SPECIAL) distclean
+debprepare: $(ALLSOURCE) $(SPECIAL) distclean
mkdir ../$(SNAPDIR) && chmod 0755 ../$(SNAPDIR)
cp $(ALLSOURCE) $(SPECIAL) $(MISC) ../$(SNAPDIR)
+ cp -r images ../$(SNAPDIR)
+ test -d ../$(SNAPDIR)/images/.arch-ids && rm -R \
+ ../$(SNAPDIR)/images/.arch-ids || :
+ test -d ../$(SNAPDIR)/images/CVS && rm -R \
+ ../$(SNAPDIR)/images/.arch-ids || :
+
+debbuild:
+ (cd ../$(SNAPDIR) && \
+ dpkg-buildpackage -v$(LASTUPLOAD) $(BUILDOPTS) \
+ -us -uc -rfakeroot && \
+ echo "Running lintian ..." && \
+ lintian -i ../erc_$(VERSION)*.deb || : && \
+ echo "Done running lintian." && \
+ debsign)
+
+debrelease: debprepare
(cd .. && tar -czf erc_$(VERSION).orig.tar.gz $(SNAPDIR))
cp -R debian ../$(SNAPDIR)
test -d ../$(SNAPDIR)/debian/CVS && rm -R \
@@ -55,13 +109,24 @@ debrelease: $(ALLSOURCE) $(SPECIAL) dist
../$(SNAPDIR)/debian/.arch-ids \
../$(SNAPDIR)/debian/maint/.arch-ids \
../$(SNAPDIR)/debian/scripts/.arch-ids || :
- (cd ../$(SNAPDIR) && \
- dpkg-buildpackage -v$(LASTUPLOAD) $(BUILDOPTS) \
- -us -uc -rfakeroot && \
- echo "Running lintian ..." && \
- lintian -i ../erc_$(VERSION)*.deb || : && \
- echo "Done running lintian." && \
- debsign)
+ $(MAKE) debbuild
+
+debrevision-mwolson:
+ -rm -f ../../dist/erc_*
+ -rm -f ../erc_$(VERSION)-*
+ -rm -fr ../erc-$(VERSION)
+ $(MAKE) debprepare
+ cp -R debian ../$(SNAPDIR)
+ test -d ../$(SNAPDIR)/debian/CVS && rm -R \
+ ../$(SNAPDIR)/debian/CVS \
+ ../$(SNAPDIR)/debian/maint/CVS \
+ ../$(SNAPDIR)/debian/scripts/CVS || :
+ test -d ../$(SNAPDIR)/debian/.arch-ids && rm -R \
+ ../$(SNAPDIR)/debian/.arch-ids \
+ ../$(SNAPDIR)/debian/maint/.arch-ids \
+ ../$(SNAPDIR)/debian/scripts/.arch-ids || :
+ $(MAKE) debbuild
+ cp ../erc_$(VERSION)* ../../dist
debrelease-mwolson:
-rm -f ../../dist/erc_*
@@ -72,10 +137,13 @@ debrelease-mwolson:
release: autoloads distclean
mkdir ../$(SNAPDIR) && chmod 0755 ../$(SNAPDIR)
cp $(SPECIAL) $(UNCOMPILED) $(SOURCE) $(MISC) ../erc-$(VERSION)
+ cp -r images ../erc-$(VERSION)
+ test -d ../$(SNAPDIR)/images/CVS && \
+ rm -R ../$(SNAPDIR)/images/CVS || :
+ test -d ../$(SNAPDIR)/images/.arch-ids && \
+ rm -R ../$(SNAPDIR)/images/.arch-ids || :
(cd .. && tar czf erc-$(VERSION).tar.gz erc-$(VERSION)/*; \
zip -r erc-$(VERSION).zip erc-$(VERSION))
-
-todo: erc.elc
upload:
(cd .. && echo open
ftp://upload.sourceforge.net > upload.lftp ; \
1.4 +289 -8 XEmacs/packages/xemacs-packages/erc/NEWS
Index: NEWS
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/NEWS,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- NEWS 2005/10/15 18:15:26 1.3
+++ NEWS 2006/02/19 12:57:27 1.4
@@ -1,10 +1,289 @@
ERC NEWS -*- outline -*-
-* Fixes since ERC 5.0.3
+* Changes in ERC 5.1.2
+** Go back to using ssl.el so that SSL connections work as expected.
+Connecting with `open-tls-stream' only seems to work (if at all?) when
+using the tls.el located in lisp/net/ in Emacs22.
+
+** Fix compiler errors in erc-autojoin.el and erc-dcc.el.
+
+** Move to end of prompt when ERC reconnects to a server.
+
+** Changes and additions to modules
+
+*** Spell-checking (erc-spelling.el)
+
+**** Don't spell-check nicks or words that are prefixed with '/'.
+
+**** Remove flyspell properties from words we shouldn't spell-check.
+
+**** Fix an issue that caused the ispell process to reload every time
+we switch to an ERC buffer.
+
+*** Timestamps (erc-stamp.el)
+
+**** Fix an inconsistency in calculating width of right timestamps.
+
+**** Rename option `erc-timestamp-right-align-by-pixel' to
+`erc-timestamp-use-align-to'. This controls whether to use the more
+fail-proof method of aligning right timestamps, as mentioned below.
+
+**** Fix a right timestamp spacing problem that used to occur when
+erc-stamp.el was byte-compiled. Now that this is fixed, it is safe to
+use the method that aligns right timestamps perfectly in Emacs22 with
+X. If the current version of Emacs doesn't support this method, use
+the simpler method, which is prone to alignment issues for math
+symbols and other variable-width text.
+
+A side effect of using this new method is that there will only be one
+space before a right timestamp in any saved logs. If this is
+unacceptable, set `erc-timestamp-use-align-to' to nil.
+
+* Changes in ERC 5.1.1
+
+** Fix a requirement on cl.el.
+
+** Use tls.el for SSL connections, rather than ssl.el.
+
+** Changes and additions to modules
+
+*** ibuffer integration (erc-ibuffer.el)
+
+**** Update this to work with the version of ibuffer.el that comes with
+recent Emacs variants.
+
+*** Old completion (erc-complete.el)
+
+**** Fix a few errors.
+
+*** Speedbar (erc-speedbar.el)
+
+**** Make this work with the version of speedbar.el that comes with
+recent Emacs variants.
+
+*** Timestamps (erc-stamp.el)
+
+**** By default, use a more failsafe method of displaying right timestamps.
+To get right timestamps to align perfectly in Emacs22 using X, set the
+new `erc-timestamp-right-align-by-pixel' option to non-nil.
+
+*** Viper compatibility (erc-viper.el)
+
+**** Since most of these changes are now merged into Emacs22, detect
+whether we need these changes and install them only if necessary.
+
+* Changes in ERC 5.1
+
+** Improve XEmacs compatibility.
+
+** Namespace changes
+
+*** Now ERC doesn't use global variable space.
+Renamed all variables that didn't start with "erc-".
+
+ o `away' is now `erc-away'
+
+ o `current-nick' is now `erc-server-current-nick'
+
+ o `last-peers' is now `erc-server-last-peers'
+
+ o `last-ping-time' is now `erc-server-last-ping-time'
+
+ o `last-sent-time' is now `erc-server-last-sent-time'
+
+ o `lines-sent' is now `erc-server-lines-sent'
+
+ o `quitting' is now `erc-server-quitting'
+
+*** Remove the `with-erc-channel-buffer' function.
+
+** Bugfixes
+
+*** Don't inadvertently destroy face properties.
+
+*** Load erc scripts in a safer way.
+
+*** Don't insert a timestamp if text at point is invisible.
+
+*** Don't hide messages from those in `erc-fools' by default.
+Color their nicks instead.
+
+*** Use a more foolproof method of encoding and decoding strings
+before sending to a channel.
+
+** Backend changes
+
+*** Renamed some server-specific variables
+
+ o `erc-announced-server-name' is now `erc-server-announced-name'
+
+ o `erc-auto-reconnect' is now `erc-server-auto-reconnect'
+
+ o `erc-connect-function' is now `erc-server-connect-function'
+
+ o `erc-default-coding-system' is now `erc-server-coding-system'
+
+ o `erc-duplicate-timeout' is now `erc-server-duplicate-timeout'
+
+ o `erc-duplicates' is now `erc-server-duplicates'
+
+ o `erc-lag' is now `erc-server-lag'
+
+ o `erc-prevent-duplicates' is now `erc-server-prevent-duplicates'
+
+ o `erc-previous-read' is now `erc-server-filter-data'
+
+ o `erc-process' is now `erc-server-process'
+
+ o `erc-ping-handler' is now `erc-server-send-ping-handler'
+
+ o `erc-ping-interval' is now `erc-server-send-ping-interval'
+
+*** Renamed some functions
+
+ o `erc-connect' is now `erc-server-connect'
+
+ o `erc-process-filter' is now `erc-server-filter-function'
+
+ o `erc-send-command' is now `erc-server-send'
+
+ o `erc-send-single-line' is now `erc-send-input'
+
+ o `erc-setup-periodical-server-ping' is now
+ `erc-server-setup-periodical-server-ping'
+
+ o `erc-split-command is now `erc-split-line'
+
+*** New options
+
+ o erc-server-flood-margin, erc-server-flood-penalty: New options
+ that allow tweaking of flood control.
+
+ o erc-split-line-length: The maximum line length of a single
+ message.
+
+*** New variables
+
+ o erc-server-flood-last-message, erc-server-flood-queue,
+ erc-server-flood-timer: Flood control.
+
+ o erc-server-processing-p: Indicate when we're currently processing
+ a message.
+
+*** Remove some options
+
+ o `erc-flood-limit'
+ o `erc-flood-limit2'
+
+** New customization group `erc-server' for dealing with IRC servers.
+
+** ERC can now be installed by doing `make install' from the command line.
+
+** ERC now has a manual in erc.texi.
+Type `make doc' to generate HTML and Info versions of it.
+
+** ERC no longer depends on cl.el.
+Only the macros in cl-macs.el are used.
+
+** Fix an edge case when quitting as new messages come in.
+
+** Make flood protection toggle-able as on/off, removing the 'strict option.
+
+** If possible, re-use channel buffers when reconnecting to a server.
+
+** Text in ERC buffers is now read-only by default.
+To get the previous behavior,
+
+** Changes and additions to modules
+
+*** Auto-join (erc-autojoin.el)
+
+**** Recognize the Azzurra server.
+
+*** BBDB (erc-bbdb.el)
+
+**** When the user types /WHOIS, ask for a record to merge to.
+
+**** Store the displayed name of a BitlBee contact.
+The new `erc-bbdb-bitlbee-name-field' option specifies the field to use
+to store this information.
+
+**** Don't prompt for a name on /JOIN or /NICK.
+
+*** Button (erc-button.el)
+
+**** Fix customization of `erc-button-alist'
+
+**** New option `erc-button-nickname-face' determines the face to use
+when coloring ERC nicknames.
+
+*** Channel tracking (erc-track.el)
+
+**** Remove channels from the modified channels list if not currently
+connected. This should remove residue from the mode line after
+quitting ERC.
+
+**** Recognize buttonized text
+
+*** Highlighting (erc-match.el)
+
+**** Highlight current nickname by default.
+
+**** Added the option of beeping when certain matches occur.
+Add `erc-beep-on-match' to `erc-text-matched-hook' to enable
+beeping. Set the new variable `erc-beep-match-types' which match
+types that make beeps.
+
+*** Nicklist (erc-nicklist.el)
+
+**** Fix a couple of errors.
+
+**** Make sure a stray mouse click doesn't trigger an error.
+
+**** Insert icons from the /images directory next to nicks.
+This indicates their away status. The location is customizable via
+the new `erc-nicklist-icons-directory' option.
+
+If you do not want these icons, set `erc-nicklist-use-icons' to nil.
+
+*** Nickserv identification (erc-nickserv.el)
+
+**** Recognize Azzurra and OFTC networks.
+
+*** Old completion (erc-complete.el)
+
+**** Disable by default.
+
+*** Programmable completion (erc-pcomplete.el)
+
+**** Enable by default.
+
+*** Timestamps (erc-stamp.el)
+
+**** On Emacs22, align right timestamps perfectly, even if variable-width
+characters are used. If we aren't using Emacs22, move text farther
+away from the right margin when variable-width characters are used.
+It is considered better to misalign the stamp by a bit than to go past
+the right margin.
+
+**** Enable by default
+
+** New modules
+
+*** Spell-checking (erc-spelling.el)
+
+**** Use flyspell in ERC.
+
+*** Viper compatibility (erc-viper.el)
+
+**** Helps ERC work correctly in viper-mode.
+
+* Changes in ERC 5.0.4
+
** Fix a problem with undo in channels.
-* Fixes since ERC 5.0.2
+* Changes in ERC 5.0.3
** Fix typo in the `ctcp-request-to' entry of the English catalog.
@@ -45,7 +324,7 @@ indicator. Previously, there was an add
**** Fix an error that occurred when unchecked buffers existed when
invoking /QUIT.
-* Fixes since ERC 5.0.1
+* Changes in ERC 5.0.2
** If a channel key is required for a certain channel, ERC will prompt
for one if `erc-prompt-for-channel-key' is non-nil.
@@ -78,7 +357,7 @@ choice anymore.
**** You can now save logs and truncate buffers from the menu-bar.
-* Fixes since ERC 5.0
+* Changes in ERC 5.0.1
** Narrowing in ERC buffers no longer causes formatting errors.
@@ -92,7 +371,7 @@ choice anymore.
This means that `erc-track-priority-faces-only', `erc-track-exclude',
and `erc-track-exclude-types' now work with server buffers.
-* Changes since ERC 4.0
+* Changes in ERC 5.0
** Channel members are now stored as a hash-table.
`erc-server-users' and `erc-channel-users' are now hash-tables, rather
@@ -107,7 +386,7 @@ removed.
** The way ERC deals with input from the server has changed.
All server response code is now in a new file, erc-backend.el. There
should be no real user visible changes. There are, however, a few
-major changes for implementors, and module writers:
+major changes for implementers, and module writers:
*** The PARSED response that all handlers get called with is
no longer a vector, but an `erc-response' struct.
@@ -336,7 +615,7 @@ in XEmacs.
mode-line where modified channels are shown (only works in GNU
Emacs versions above 21.3).
-* Changes since ERC 3.0.cvs.20030119
+* Changes in ERC 4.0
** The module system has again changed a lot. You can now customize
the variable `erc-modules' and define once and for all which
@@ -359,7 +638,7 @@ in XEmacs.
openprojects to freenode. You may need to update your configuration
for a successful automatic nickserv identification.
-* Changes since ERC 2.93.cvs.20020819
+* Changes in ERC 3.0.cvs.20030119
** New module erc-dcc:
@@ -389,3 +668,5 @@ To activate completion on startup, put (
Same applies to timestamps. You no longer need to (require
'erc-stamp), you can customize the variable `erc-timestamp-mode', and
the rest should be automatic.
+
+arch-tag: 2b21b387-6cdc-4192-889c-6743cfffdcb1
1.2 +29 -10 XEmacs/packages/xemacs-packages/erc/README
Index: README
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/README,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- README 2003/11/25 23:12:35 1.1
+++ README 2006/02/19 12:57:27 1.2
@@ -1,26 +1,45 @@
-ERC is an IRC client for Emacs
-The documentation is kept on the Emacs Wiki:
+This is the README file for the ERC.
-*
http://www.emacswiki.org/cgi-bin/wiki.pl?EmacsIRCClient
+ERC is a powerful, modular, and extensible IRC client for Emacs.
-Quick start:
+Installation
+------------
-Put all the files in your load-path*, and add the following
-to your ~/.emacs:
+Type `make install'. If you wish to install to someplace other than
+/usr/local/share/emacs/site-lisp/erc, edit the PREFIX, ELISPDIR,
+and/or INFODIR options in Makefile.
-(require 'erc)
+QuickStart
+-----------
-*Don't know what a load path is? See:
+Put all the files in your load-path[0], and add the following to your
+~/.emacs:
+(require 'erc)
+
+[0] Don't know what a load path is? See:
http://www.emacswiki.org/cgi-bin/wiki.pl?LoadPath
-Usage:
+Usage
+-----
Use M-x erc-select to connect to a server. You can connect to
multiple servers.
-Customization:
+Customization
+-------------
Use M-x customize-group RET erc RET to get an overview of all the
variables you can tweak.
+
+Documentation
+-------------
+
+ERC comes with a manual. Type `make doc' to get the HTML and Info
+versions of it.
+
+Additional documentation is kept on the Emacs Wiki, and may be added
+to by anyone.
+
+*
http://www.emacswiki.org/cgi-bin/wiki.pl?EmacsIRCClient
1.3 +1 -1 XEmacs/packages/xemacs-packages/erc/erc-auto.in
Index: erc-auto.in
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-auto.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- erc-auto.in 2005/04/10 14:47:34 1.2
+++ erc-auto.in 2006/02/19 12:57:27 1.3
@@ -4,7 +4,7 @@
(defvar generated-autoload-file)
(defvar command-line-args-left)
-(defun generate-autoloads ()
+(defun erc-generate-autoloads ()
(interactive)
(require 'autoload)
(setq generated-autoload-file (car command-line-args-left))
1.9 +14 -10 XEmacs/packages/xemacs-packages/erc/erc-autoaway.el
Index: erc-autoaway.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-autoaway.el,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- erc-autoaway.el 2005/10/15 18:15:27 1.8
+++ erc-autoaway.el 2006/02/19 12:57:27 1.9
@@ -1,24 +1,26 @@
;;; erc-autoaway.el --- Provides autoaway for ERC
-;; Copyright (C) 2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
;; Author: Jorgen Schaefer <forcer(a)forcix.cx>
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcAutoAway
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -29,7 +31,7 @@
(require 'erc)
-(defconst erc-autoaway-version "$Revision: 1.24 $"
+(defconst erc-autoaway-version "$Revision: 1.25.2.1 $"
"ERC Autoaway revision.")
(defgroup erc-autoaway nil
@@ -173,8 +175,8 @@ on another net too."
(defun erc-autoaway-possibly-set-away (current-time)
"Set autoaway when `erc-auto-set-away' is true and the idletime is
exceeds `erc-autoaway-idle-seconds'."
- ;; A test for (erc-process-alive) is not necessary, because this
- ;; function is called from `erc-timer-hook', which is called
+ ;; A test for (erc-server-process-alive) is not necessary, because
+ ;; this function is called from `erc-timer-hook', which is called
;; whenever the server sends something to the client.
(when (and erc-auto-set-away
(not (erc-away-p)))
@@ -192,7 +194,7 @@ exceeds `erc-autoaway-idle-seconds'."
;; Note that the idle timer runs, even when Emacs is inactive. In
;; order to prevent flooding when we connect, we test for an
;; existing process.
- (when (and (erc-process-alive)
+ (when (and (erc-server-process-alive)
(not (erc-away-p)))
(erc-cmd-GAWAY (format erc-autoaway-message idle-time))))
@@ -204,3 +206,5 @@ exceeds `erc-autoaway-idle-seconds'."
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 16fc241e-8358-4b56-9fe2-116bdd0ba3bc
1.8 +16 -12 XEmacs/packages/xemacs-packages/erc/erc-autojoin.el
Index: erc-autojoin.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-autojoin.el,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- erc-autojoin.el 2005/10/15 18:15:27 1.7
+++ erc-autojoin.el 2006/02/19 12:57:27 1.8
@@ -1,25 +1,27 @@
;;; erc-autojoin.el --- autojoin channels on connect and reconnects
-;; Copyright (C) 2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex(a)gnu.org>
;; Keywords: irc
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcAutoJoin
-;; This is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published by
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This is distributed in the hope that it will be useful, but WITHOUT
-;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-;; License for more details.
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -32,9 +34,9 @@
;;; Code:
(require 'erc)
-;;; Minor Mode
+(eval-when-compile (require 'cl))
-(defconst erc-autojoin-version "$Revision: 1.15 $"
+(defconst erc-autojoin-version "$Revision: 1.15.2.1 $"
"ERC autojoin revision.")
(defgroup erc-autojoin nil
@@ -136,3 +138,5 @@ servers, presumably in the same domain."
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: d62d8b15-8e31-49d6-8a73-12f11e717414
1.5 +58 -28 XEmacs/packages/xemacs-packages/erc/erc-backend.el
Index: erc-backend.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-backend.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- erc-backend.el 2005/10/15 18:15:27 1.4
+++ erc-backend.el 2006/02/19 12:57:27 1.5
@@ -1,27 +1,28 @@
;;; erc-backend.el --- Backend network communication for ERC
-;; Copyright (C) 2004,2005 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
;; Filename: erc-backend.el
;; Author: Lawrence Mitchell <wence(a)gmx.li>
;; Created: 2004-05-7
;; Keywords: IRC chat client internet
-;; This file is not part of GNU Emacs.
+;; This file is part of GNU Emacs.
-;; This program is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2 of the License, or
-;; (at your option) any later version.
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
-;; This program is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -97,13 +98,14 @@
;;; Code:
-(require 'cl)
+(require 'erc-compat)
+(eval-when-compile (require 'cl))
(autoload 'erc-with-buffer "erc" nil nil 'macro)
(autoload 'erc-log "erc" nil nil 'macro)
;;;; Variables and options
-(defconst erc-backend-version "$Revision: 1.35 $")
+(defconst erc-backend-version "$Revision: 1.44.2.1 $")
(defvar erc-server-responses (make-hash-table :test #'equal)
"Hashtable mapping server responses to their handler hooks.")
@@ -140,6 +142,10 @@ Use `erc-current-nick' to access this.")
"The name the server announced to use.")
(make-variable-buffer-local 'erc-server-announced-name)
+(defvar erc-server-version nil
+ "The name and version of the server's ircd.")
+(make-variable-buffer-local 'erc-server-version)
+
(defvar erc-server-parameters nil
"Alist listing the supported server parameters.
@@ -416,6 +422,12 @@ Currently this is called by `erc-send-in
(erc-current-time))))))
(current-buffer)))))
+(defun erc-server-process-alive ()
+ "Return non-nil when `erc-server-process' is open or running."
+ (and (boundp 'erc-server-process)
+ (processp erc-server-process)
+ (memq (process-status erc-server-process) '(run open))))
+
;;;; Connecting to a server
(defun erc-server-connect (server port)
@@ -507,9 +519,9 @@ action."
(setq erc-server-last-sent-time 0)
(setq erc-server-lines-sent 0)
(if (and erc-server-auto-reconnect
- (not (string= event "deleted\n"))
+ (not (string-match "^deleted" event))
;; open-network-stream-nowait error for connection refused
- (not (string= event "failed with code 111\n")))
+ (not (string-match "^failed with code 111" event)))
;; Yuck, this should perhaps funcall
;; erc-server-reconnect-function with no args
(erc erc-session-server erc-session-port erc-server-current-nick
@@ -528,7 +540,7 @@ action."
(erc-log (format
"SENTINEL: proc: %S status: %S event: %S (quitting: %S)"
cproc (process-status cproc) event erc-server-quitting))
- (if (equal event "open\n")
+ (if (string-match "^open" event)
;; newly opened connection (no wait)
(erc-login)
;; assume event is 'failed
@@ -568,6 +580,8 @@ This is determined via `erc-encoding-cod
"Decode STR as appropriate for TARGET.
This is indicated by `erc-encoding-coding-alist', defaulting to the value of
`erc-server-coding-system'."
+ (unless (stringp str)
+ (setq str ""))
(let ((coding (erc-coding-system-for-target target)))
(when (consp coding)
(setq coding (cdr coding)))
@@ -602,7 +616,8 @@ protection algorithm."
(or target (erc-default-target)))))
(when (consp encoding)
(setq encoding (car encoding)))
- (if buf
+ (if (and buf
+ (erc-server-process-alive))
(with-current-buffer buf
(let ((str (concat string "\r\n")))
(if forcep
@@ -611,11 +626,16 @@ protection algorithm."
(+ erc-server-flood-penalty
erc-server-flood-last-message))
(erc-log-irc-protocol str 'outbound)
- ;; Set encoding just before sending the string
- (when (fboundp 'set-process-coding-system)
- (set-process-coding-system erc-server-process
- 'raw-text encoding))
- (process-send-string erc-server-process str))
+ (condition-case err
+ (progn
+ ;; Set encoding just before sending the string
+ (when (fboundp 'set-process-coding-system)
+ (set-process-coding-system erc-server-process
+ 'raw-text encoding))
+ (process-send-string erc-server-process str))
+ ;; See `erc-server-send-queue' for full
+ ;; explanation of why we need this condition-case
+ (error nil)))
(setq erc-server-flood-queue
(append erc-server-flood-queue
(list (cons str encoding))))
@@ -649,11 +669,18 @@ protection algorithm."
(erc-log-irc-protocol msg 'outbound)
(erc-log (concat "erc-server-send-queue: "
msg "(" (buffer-name buffer) ")"))
- ;; Set encoding just before sending the string
- (when (fboundp 'set-process-coding-system)
- (set-process-coding-system erc-server-process
- 'raw-text encoding))
- (process-send-string erc-server-process msg)))
+ (when (erc-server-process-alive)
+ (condition-case err
+ ;; Set encoding just before sending the string
+ (progn
+ (when (fboundp 'set-process-coding-system)
+ (set-process-coding-system erc-server-process
+ 'raw-text encoding))
+ (process-send-string erc-server-process msg))
+ ;; Sometimes the send can occur while the process is
+ ;; being killed, which results in a weird SIGPIPE error.
+ ;; Catch this and ignore it.
+ (error nil)))))
(when erc-server-flood-queue
(setq erc-server-flood-timer
(run-at-time 2 nil #'erc-server-send-queue buffer))))))
@@ -769,7 +796,7 @@ PROCs `process-buffer' is `current-buffe
"Decode a pre-parsed PARSED-RESPONSE before it can be handled.
If there is a channel name in `erc-response.command-args', decode
-`erc-response' acroding this channel name and
+`erc-response' according to this channel name and
`erc-encoding-coding-alist', or use `erc-server-coding-system'
for decoding."
(let ((args (erc-response.command-args parsed-response))
@@ -855,12 +882,12 @@ Finds hooks by looking in the `erc-serve
&optional extra-fn-doc extra-var-doc
&rest fn-body)
"Define an ERC handler hook/function pair.
-NAME is the reponse name as sent by the server (see the IRC RFC for
+NAME is the response name as sent by the server (see the IRC RFC for
meanings).
This creates:
- o a hook variable `erc-server-NAME-functions' initialised to 'erc-server-NAME.
- o a function `erc-server-NAME' with body FN-BODY.
+ - a hook variable `erc-server-NAME-functions' initialised to `erc-server-NAME'.
+ - a function `erc-server-NAME' with body FN-BODY.
If ALIASES is non-nil, each alias in ALIASES is `defalias'ed to
`erc-server-NAME'.
@@ -1306,6 +1333,7 @@ add things to `%s' instead."
nil nil
(multiple-value-bind (server-name server-version)
(cdr (erc-response.command-args parsed))
+ (setq erc-server-version server-version)
(setq erc-server-announced-name server-name)
(erc-update-mode-line-buffer (process-buffer proc))
(erc-display-message
@@ -1756,3 +1784,5 @@ See `erc-display-server-message'." nil
;; Local Variables:
;; indent-tabs-mode: nil
;; End:
+
+;; arch-tag: a64e6bb7-a780-4efd-8f98-083b18c7c84a
1.7 +26 -21 XEmacs/packages/xemacs-packages/erc/erc-bbdb.el
Index: erc-bbdb.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-bbdb.el,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- erc-bbdb.el 2005/10/15 18:15:27 1.6
+++ erc-bbdb.el 2006/02/19 12:57:27 1.7
@@ -1,30 +1,26 @@
;;; erc-bbdb.el --- Integrating the BBDB into ERC
-;; Copyright (C) 2001,2002,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf(a)void.at>
;; Maintainer: Mario Lang <mlang(a)delysid.org>
-;; Changes by Edgar Gonçalves <edgar.goncalves(a)inesc-id.pt>
-;; May 31 2005:
-;; - new variable: erc-bbdb-bitlbee-name-field - the field name for the
-;; msn/icq/etc nick
-;; - nick doesn't go the the name. now it asks for an existing record to
-;; merge with. If none, then create a new one with the nick as name.
+
+;; This file is part of GNU Emacs.
-;; This is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published by
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;;
-;; This is distributed in the hope that it will be useful, but WITHOUT
-;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-;; License for more details.
-;;
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -39,6 +35,13 @@
;; Andreas Fuchs <asf(a)void.at> wrote zenirc-bbdb-whois.el, which was
;; adapted for ERC by Mario Lang <mlang(a)delysid.org>.
+;; Changes by Edgar Gonçalves <edgar.goncalves(a)inesc-id.pt>
+;; May 31 2005:
+;; - new variable: erc-bbdb-bitlbee-name-field - the field name for the
+;; msn/icq/etc nick
+;; - nick doesn't go the the name. now it asks for an existing record to
+;; merge with. If none, then create a new one with the nick as name.
+
;;; Code:
(require 'erc)
@@ -47,7 +50,7 @@
(require 'bbdb-gui)
(require 'bbdb-hooks)
-(defconst erc-bbdb-version "$Revision: 1.29 $"
+(defconst erc-bbdb-version "$Revision: 1.31.2.1 $"
"ERC BBDB revision.")
(defgroup erc-bbdb nil
@@ -106,7 +109,7 @@ their \"displayed name\"."
:type 'symbol)
(defcustom erc-bbdb-elide-display nil
- "*If t, show BBDB popup buffer elided"
+ "*If t, show BBDB popup buffer elided."
:group 'erc-bbdb
:type 'boolean)
@@ -157,7 +160,7 @@ their \"displayed name\"."
(defun erc-bbdb-whois (proc parsed)
(let (; We could use server name too, probably
(nick (second (erc-response.command-args parsed)))
- (name (erc-response.contents parsed)) ;; msn nick!
+ (name (erc-response.contents parsed))
(finger-host (concat (third (erc-response.command-args parsed))
"@"
(fourth (erc-response.command-args parsed)))))
@@ -245,3 +248,5 @@ counterparts `erc-pals', `erc-dangerous-
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 1edf3729-cd49-47dc-aced-70fcfc28c815
1.9 +108 -66 XEmacs/packages/xemacs-packages/erc/erc-button.el
Index: erc-button.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-button.el,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- erc-button.el 2005/10/15 18:15:27 1.8
+++ erc-button.el 2006/02/19 12:57:27 1.9
@@ -1,26 +1,28 @@
;; erc-button.el --- A way of buttonizing certain things in ERC buffers
-;; Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003,2004
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;; 2006 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: irc, button, url, regexp
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcButton
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -41,6 +43,7 @@
(require 'erc)
(require 'wid-edit)
+(require 'erc-fill)
;;; Minor Mode
@@ -65,10 +68,14 @@
;;; Variables
-(defconst erc-button-version "$Revision: 1.65 $"
+(defconst erc-button-version "$Revision: 1.71.2.1 $"
"ERC button mode revision.")
+
+(defface erc-button '((t (:bold t)))
+ "ERC button face."
+:group 'erc-faces)
-(defcustom erc-button-face 'bold
+(defcustom erc-button-face 'erc-button
"Face used for highlighting buttons in ERC buffers.
A button is a piece of text that you can activate by pressing
@@ -76,6 +83,11 @@ A button is a piece of text that you can
:type 'face
:group 'erc-faces)
+(defcustom erc-button-nickname-face 'erc-nick-default-face
+ "Face used for ERC nickname buttons."
+:type 'face
+:group 'erc-faces)
+
(defcustom erc-button-mouse-face 'highlight
"Face used for mouse highlighting in ERC buffers.
@@ -84,7 +96,11 @@ above them."
:type 'face
:group 'erc-faces)
-(defcustom erc-button-url-regexp
"\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):\\)\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?[-a-zA-Z0-9_=!?#$@~`%&*+\\/:;.,]+[-a-zA-Z0-9_=#$@~`%&*+\\/]"
+(defcustom erc-button-url-regexp
+ (concat "\\(www\\.\\|\\(s?https?\\|"
+ "ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):\\)"
+ "\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?"
+
"[-a-zA-Z0-9_=!?#$@~`%&*+\\/:;.,]+[-a-zA-Z0-9_=#$@~`%&*+\\/]")
"Regular expression that matches URLs."
:group 'erc-button
:type 'regexp)
@@ -120,17 +136,20 @@ longer than `erc-fill-column'."
;; a button, it makes no sense to optimize performance by
;; bytecompiling lambdas in this alist. On the other hand, it makes
;; things hard to maintain.
- '(("(\\(\\([^~\n \t@][^\n \t@]*\\)@\\([a-zA-Z0-9.:-]+\\)\\)" 1 t finger 2
3)
- ("\\bInfo:[\"]\\([^\"]+\\)[\"]" 0 t Info-goto-node 1)
+ '(('nicknames 0 erc-button-buttonize-nicks erc-nick-popup 0)
+ (erc-button-url-regexp 0 t browse-url 0)
("<URL: *\\([^<> ]+\\) *>" 0 t browse-url 1)
+ ("(\\(\\([^~\n \t@][^\n \t@]*\\)@\\([a-zA-Z0-9.:-]+\\)\\)" 1 t finger 2 3)
+ ;; emacs internal
+ ("[`]\\([a-zA-Z][-a-zA-Z_0-9]+\\)[']" 1 t erc-button-describe-symbol
1)
+ ;; pseudo links
+ ("\\bInfo:[\"]\\([^\"]+\\)[\"]" 0 t Info-goto-node 1)
("\\b\\(Ward\\|Wiki\\|WardsWiki\\|TheWiki\\):\\([A-Z][a-z]+\\([A-Z][a-z]+\\)+\\)"
0 t (lambda (page)
(browse-url (concat "http://c2.com/cgi-bin/wiki?" page)))
2)
("EmacsWiki:\\([A-Z][a-z]+\\([A-Z][a-z]+\\)+\\)" 0 t erc-browse-emacswiki
1)
("Lisp:\\([a-zA-Z.+-]+\\)" 0 t erc-browse-emacswiki-lisp 1)
- (erc-button-url-regexp 0 t browse-url 0)
- ('nicknames 0 erc-button-buttonize-nicks erc-nick-popup 0)
("\\bGoogle:\\([^ \t\n\r\f]+\\)"
0 t (lambda (keywords)
(browse-url (format erc-button-google-url keywords)))
@@ -139,25 +158,8 @@ longer than `erc-fill-column'."
0 t (lambda (num)
(browse-url (format erc-button-rfc-url num)))
1)
- ("\\s-\\(@\\([0-9][0-9][0-9]\\)\\)"
- 1 t (lambda (beats)
- (let* ((seconds (- (* (string-to-number beats) 86.4)
- 3600
- (- (car (current-time-zone)))))
- (hours (mod (floor seconds 3600) 24))
- (minutes (mod (round seconds 60) 60)))
- (message (format "@%s is %d:%02d local time"
- beats hours minutes))))
- 2)
- ("[`]\\([a-zA-Z][-a-zA-Z_0-9]+\\)[']"
- 1 t (lambda (symbol-name)
- (let ((symbol (intern-soft symbol-name)))
- (cond ((and symbol (fboundp symbol))
- (describe-function symbol))
- ((and symbol (boundp symbol))
- (describe-variable symbol))
- (t (apropos symbol-name)))))
- 1))
+ ;; other
+ ("\\s-\\(@\\([0-9][0-9][0-9]\\)\\)" 1 t erc-button-beats-to-time 2))
"*Alist of regexps matching buttons in ERC buffers.
Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where
@@ -171,7 +173,7 @@ REGEXP is the string matching text aroun
current server.
BUTTON is the number of the regexp grouping actually matching the
- button, This is ignored if REGEXP is 'nickname.
+ button, This is ignored if REGEXP is 'nicknames.
FORM is a lisp expression which must eval to true for the button to
be added,
@@ -182,16 +184,23 @@ CALLBACK is the function to call when th
PAR is a number of a regexp grouping whose text will be passed to
CALLBACK. There can be several PAR arguments. If REGEXP is
- 'nickname, these are ignored, and CALLBACK will be called with
+ 'nicknames, these are ignored, and CALLBACK will be called with
the nickname matched as the argument."
:group 'erc-button
-:type '(repeat (list (choice regexp variable)
- (integer :tag "Button")
- (sexp :tag "Form")
- (function :tag "Callback")
- (repeat :tag "Par"
-:inline t
- (integer :tag "Regexp group")))))
+:type '(repeat
+ (list :tag "Button"
+ (choice :tag "Matches"
+ regexp
+ (variable :tag "Variable containing regexp")
+ (const :tag "Nicknames" 'nicknames))
+ (integer :tag "Number of the regexp section that matches")
+ (choice :tag "When to buttonize"
+ (const :tag "Always" t)
+ (sexp :tag "Only when this evaluates to non-nil"))
+ (function :tag "Function to call when button is pressed")
+ (repeat :tag "Sections of regexp to send to the function"
+:inline t
+ (integer :tag "Regexp section number")))))
(defcustom erc-emacswiki-url "http://www.emacswiki.org/cgi-bin/wiki.pl?"
"*URL of the EmacsWiki Homepage."
@@ -282,7 +291,7 @@ specified by `erc-button-alist'."
(car bounds) (cdr bounds)))
(if (erc-get-server-user word)
(erc-button-add-button (car bounds) (cdr bounds)
- fun (list word)))))))
+ fun t (list word)))))))
(defun erc-button-add-buttons-1 (regexp entry)
"Search through the buffer for matches to ENTRY and add buttons."
@@ -295,7 +304,7 @@ specified by `erc-button-alist'."
(data (mapcar 'match-string (nthcdr 4 entry))))
(when (or (eq t form)
(eval form))
- (erc-button-add-button start end fun data regexp)))))
+ (erc-button-add-button start end fun nil data regexp)))))
(defun erc-button-remove-old-buttons ()
"Remove all existing buttons.
@@ -309,31 +318,35 @@ that `erc-button-add-button' adds, excep
mouse-face nil
keymap nil)))
-(defun erc-button-add-button (from to fun &optional data regexp)
- "Create a button between FROM and TO with callback FUN and data DATA."
+(defun erc-button-add-button (from to fun nick-p &optional data regexp)
+ "Create a button between FROM and TO with callback FUN and data DATA.
+NICK-P specifies if this is a nickname button.
+REGEXP is the regular expression which matched for this button."
;; Really nasty hack to <URL: > ise urls, and line-wrap them if
;; they're going to be wider than `erc-fill-column'.
;; This could be a lot cleaner, but it works for me -- lawrence.
- (when (and erc-button-wrap-long-urls
- (string= regexp erc-button-url-regexp)
- (> (- to from) (if (numberp erc-button-wrap-long-urls)
- erc-button-wrap-long-urls
- erc-fill-column)))
- (let ((erc-fill-column (if (numberp erc-button-wrap-long-urls)
- erc-button-wrap-long-urls
- erc-fill-column))
- pos)
+ (let (fill-column)
+ (when (and erc-button-wrap-long-urls
+ (string= regexp erc-button-url-regexp)
+ (> (- to from)
+ (setq fill-column (- (if (numberp erc-button-wrap-long-urls)
+ erc-button-wrap-long-urls
+ erc-fill-column)
+ (length erc-fill-prefix)))))
(setq to (prog1 (point-marker) (insert ">"))
- from (prog2 (goto-char from) (point-marker) (insert "<URL:
"))
- pos (copy-marker from))
- (while (> (- to pos) erc-fill-column)
- (goto-char (+ pos erc-fill-column))
- (insert "\n ") ; This ought to figure out
+ from (prog2 (goto-char from) (point-marker) (insert "<URL: ")))
+ (let ((pos (copy-marker from)))
+ (while (> (- to pos) fill-column)
+ (goto-char (+ pos fill-column))
+ (insert "\n" erc-fill-prefix) ; This ought to figure out
; what type of filling we're
; doing, and indent accordingly.
- (move-marker pos (point)))))
- (when erc-button-face
- (erc-button-add-face from to erc-button-face))
+ (move-marker pos (point))))))
+ (if nick-p
+ (when erc-button-nickname-face
+ (erc-button-add-face from to erc-button-nickname-face))
+ (when erc-button-face
+ (erc-button-add-face from to erc-button-face)))
(add-text-properties
from to
(nconc (and erc-button-mouse-face
@@ -343,9 +356,11 @@ that `erc-button-add-button' adds, excep
(list 'rear-nonsticky t)
(and data (list 'erc-data data))))
(widget-convert-button 'link from to :action 'erc-button-press-button
- :suppress-face t
- ;; Make XEmacs use `erc-button-face'.
-:button-face erc-button-face
+:suppress-face t
+ ;; Make XEmacs use our faces.
+:button-face (if nick-p
+ erc-button-nickname-face
+ erc-button-face)
;; Make XEmacs behave with mouse-clicks, for
;; some reason, widget stuff overrides the
;; 'keymap text-property.
@@ -460,6 +475,33 @@ Examples:
(erc-set-active-buffer (current-buffer))
(eval code))))
+;;; Callback functions
+(defun erc-button-describe-symbol (symbol-name)
+ "Describe SYMBOL-NAME.
+Use `describe-function' for functions, `describe-variable' for variables,
+and `apropos' for other symbols."
+ (let ((symbol (intern-soft symbol-name)))
+ (cond ((and symbol (fboundp symbol))
+ (describe-function symbol))
+ ((and symbol (boundp symbol))
+ (describe-variable symbol))
+ (t (apropos symbol-name)))))
+
+(defun erc-button-beats-to-time (beats)
+ "Display BEATS in a readable time format."
+ (let* ((seconds (- (* (string-to-number beats) 86.4)
+ 3600
+ (- (car (current-time-zone)))))
+ (hours (mod (floor seconds 3600) 24))
+ (minutes (mod (round seconds 60) 60)))
+ (message (format "@%s is %d:%02d local time"
+ beats hours minutes))))
+
(provide 'erc-button)
;;; erc-button.el ends here
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; End:
+
+;; arch-tag: 7d23bed4-2f30-4273-a03f-d7a274c605c4
1.6 +11 -7 XEmacs/packages/xemacs-packages/erc/erc-chess.el
Index: erc-chess.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-chess.el,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- erc-chess.el 2005/10/15 18:15:27 1.5
+++ erc-chess.el 2006/02/19 12:57:27 1.6
@@ -1,24 +1,26 @@
;;; erc-chess.el --- CTCP chess playing support for ERC
-;; Copyright (C) 2002,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: games, comm
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -34,7 +36,7 @@
;;;; Variables
-(defconst erc-chess-version "$Revision: 1.26 $"
+(defconst erc-chess-version "$Revision: 1.26.2.1 $"
"ERC chess revision.")
(defgroup erc-chess nil
@@ -180,3 +182,5 @@ NICK should be the first and only arg to
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: beb148d1-db16-48da-8145-9f3a7ff27b7b
1.8 +169 -23 XEmacs/packages/xemacs-packages/erc/erc-compat.el
Index: erc-compat.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-compat.el,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- erc-compat.el 2005/10/20 22:49:50 1.7
+++ erc-compat.el 2006/02/19 12:57:28 1.8
@@ -1,26 +1,26 @@
;;; erc-compat.el --- ERC compatibility code for XEmacs
-;; Copyright (C) 2002,2003,2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex(a)gnu.org>
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?EmacsIRCClient
-;; This file is not part of GNU Emacs.
+;; This file is part of GNU Emacs.
-;; This is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -28,7 +28,7 @@
;;; Code:
-(defconst erc-compat-version "$Revision: 1.25 $"
+(defconst erc-compat-version "$Revision: 1.30.2.1 $"
"ERC compat revision.")
;; erc-define-minor-mode: the easy-mmode-define-minor-mode available
@@ -136,17 +136,6 @@ See `erc-encoding-coding-alist'."
"Return S unchanged."
s)))))
-;;; fields: XEmacs seems to lack them completely
-(if (not (fboundp 'field-end))
- (defun field-end (pos &optional ignored)
- (save-excursion
- (let ((field (get-text-property pos 'field)))
- (goto-char pos)
- (while (and field
- (eq field (get-text-property (point) 'field)))
- (forward-char))
- (point)))))
-
(if (not (fboundp 'propertize))
(defun erc-propertize (string &rest props)
(let ((string (copy-sequence string)))
@@ -174,6 +163,37 @@ See `erc-encoding-coding-alist'."
'view-mode
'view-mode-enter))
+;; if we're in emacs21 CVS, we use help-function-arglist which is more
+;; sophisticated and can handle subrs, etc
+(if (fboundp 'help-function-arglist)
+ (defalias 'erc-function-arglist 'help-function-arglist)
+ (defun erc-function-arglist (fun)
+ "Returns the arglist signature of FUN"
+ (let ((def (symbol-function fun)))
+ (ignore-errors
+ ;; load an autoloaded function first
+ (when (equal 'autoload (car-safe def))
+ (load (second def))
+ (setq def (symbol-function fun)))
+ (if (listp def)
+ (second def)
+ (format "[Arglist not available, try %s instead]"
+ (substitute-command-keys "\\[describe-function]")))))))
+
+;; XEmacs doesn't have `delete-dups'. Taken from subr.el.
+(if (fboundp 'delete-dups)
+ (defalias 'erc-delete-dups 'delete-dups)
+ (defun erc-delete-dups (list)
+ "Destructively remove `equal' duplicates from LIST.
+Store the result in LIST and return it. LIST must be a proper list.
+Of several `equal' occurrences of an element in LIST, the first
+one is kept."
+ (let ((tail list))
+ (while tail
+ (setcdr tail (delete (car tail) (cdr tail)))
+ (setq tail (cdr tail))))
+ list))
+
;;; XEmacs has `replace-in-string', Emacs has `replace-regexp-in-string':
(cond ((fboundp 'replace-regexp-in-string)
@@ -186,10 +206,11 @@ See `erc-encoding-coding-alist'."
;; XEmacs has a string representation of the build time. It's
;; possible for date-to-time to throw an "invalid date" error, so
;; we'll just use a string instead of a time.
-(setq erc-emacs-build-time
- (if (stringp emacs-build-time)
- emacs-build-time
- (format-time-string "%Y-%m-%d" emacs-build-time)))
+(defvar erc-emacs-build-time
+ (if (stringp emacs-build-time)
+ emacs-build-time
+ (format-time-string "%Y-%m-%d" emacs-build-time))
+ "Time at which Emacs was dumped out.")
;; XEmacs' `replace-match' does not replace matching subexpressions in strings.
(defun erc-replace-match-subexpression-in-string
@@ -279,6 +300,129 @@ ERC release version number."
(make-obsolete-variable old-name new-name when)
(wrong-number-of-arguments (make-obsolete-variable old-name new-name))))
+;; Provde an equivalent of `assert', based on the code from cl-macs.el
+(defun erc-const-expr-p (x)
+ (cond ((consp x)
+ (or (eq (car x) 'quote)
+ (and (memq (car x) '(function function*))
+ (or (symbolp (nth 1 x))
+ (and (eq (and (consp (nth 1 x))
+ (car (nth 1 x))) 'lambda) 'func)))))
+ ((symbolp x) (and (memq x '(nil t)) t))
+ (t t)))
+
+(put 'erc-assertion-failed 'error-conditions '(error))
+(put 'erc-assertion-failed 'error-message "Assertion failed")
+
+(defun erc-list* (arg &rest rest)
+ "Return a new list with specified args as elements, cons'd to last arg.
+Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to
+`(cons A (cons B (cons C D)))'."
+ (cond ((not rest) arg)
+ ((not (cdr rest)) (cons arg (car rest)))
+ (t (let* ((n (length rest))
+ (copy (copy-sequence rest))
+ (last (nthcdr (- n 2) copy)))
+ (setcdr last (car (cdr last)))
+ (cons arg copy)))))
+
+(defmacro erc-assert (form &optional show-args string &rest args)
+ "Verify that FORM returns non-nil; signal an error if not.
+Second arg SHOW-ARGS means to include arguments of FORM in message.
+Other args STRING and ARGS... are arguments to be passed to `error'.
+They are not evaluated unless the assertion fails. If STRING is
+omitted, a default message listing FORM itself is used."
+ (let ((sargs
+ (and show-args
+ (delq nil (mapcar
+ (function
+ (lambda (x)
+ (and (not (erc-const-expr-p x)) x)))
+ (cdr form))))))
+ (list 'progn
+ (list 'or form
+ (if string
+ (erc-list* 'error string (append sargs args))
+ (list 'signal '(quote erc-assertion-failed)
+ (erc-list* 'list (list 'quote form) sargs))))
+ nil)))
+
+;; Provide a simpler replacement for `member-if'
+(defun erc-member-if (predicate list)
+ "Find the first item satisfying PREDICATE in LIST.
+Return the sublist of LIST whose car matches."
+ (let ((ptr list))
+ (catch 'found
+ (while ptr
+ (when (funcall predicate (car ptr))
+ (throw 'found ptr))
+ (setq ptr (cdr ptr))))))
+
+;; Provide a simpler replacement for `delete-if'
+(defun erc-delete-if (predicate seq)
+ "Remove all items satisfying PREDICATE in SEQ.
+This is a destructive function: it reuses the storage of SEQ
+whenever possible."
+ ;; remove from car
+ (while (when (funcall predicate (car seq))
+ (setq seq (cdr seq))))
+ ;; remove from cdr
+ (let ((ptr seq)
+ (next (cdr seq)))
+ (while next
+ (when (funcall predicate (car next))
+ (setcdr ptr (if (consp next)
+ (cdr next)
+ nil)))
+ (setq ptr (cdr ptr))
+ (setq next (cdr ptr))))
+ seq)
+
+;; Provide a simpler replacement for `remove-if-not'
+(defun erc-remove-if-not (predicate seq)
+ "Remove all items not satisfying PREDICATE in SEQ.
+This is a non-destructive function; it makes a copy of SEQ to
+avoid corrupting the original SEQ."
+ (let (newseq)
+ (dolist (el seq)
+ (when (funcall predicate el)
+ (setq newseq (cons el newseq))))
+ (nreverse newseq)))
+
+;; Provide a simpler replacement for `gensym'.
+(defvar *erc-sym-counter* 0)
+(defun erc-gensym ()
+ "Generate a new uninterned symbol."
+ (let ((num (prog1 *erc-sym-counter*
+ (setq *erc-sym-counter* (1+ *erc-sym-counter*)))))
+ (make-symbol (format "*erc-sym-%d*" num))))
+
+;; Copied from cl-extra.el
+(defun erc-subseq (seq start &optional end)
+ "Return the subsequence of SEQ from START to END.
+If END is omitted, it defaults to the length of the sequence.
+If START or END is negative, it counts from the end."
+ (if (stringp seq) (substring seq start end)
+ (let (len)
+ (and end (< end 0) (setq end (+ end (setq len (length seq)))))
+ (if (< start 0) (setq start (+ start (or len (setq len (length seq))))))
+ (cond ((listp seq)
+ (if (> start 0) (setq seq (nthcdr start seq)))
+ (if end
+ (let ((res nil))
+ (while (>= (setq end (1- end)) start)
+ (push (pop seq) res))
+ (nreverse res))
+ (copy-sequence seq)))
+ (t
+ (or end (setq end (or len (length seq))))
+ (let ((res (make-vector (max (- end start) 0) nil))
+ (i 0))
+ (while (< start end)
+ (aset res i (aref seq start))
+ (setq i (1+ i) start (1+ start)))
+ res))))))
+
(provide 'erc-compat)
;;; erc-compat.el ends here
@@ -287,3 +431,5 @@ ERC release version number."
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 8948ffe0-aff8-4ad8-a196-368ebbfd58ff
1.6 +15 -13 XEmacs/packages/xemacs-packages/erc/erc-complete.el
Index: erc-complete.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-complete.el,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- erc-complete.el 2005/10/15 18:15:27 1.5
+++ erc-complete.el 2006/02/19 12:57:28 1.6
@@ -1,25 +1,26 @@
;;; erc-complete.el --- Provides Nick name completion for ERC
-;; Copyright (C) 2001,2002,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex(a)gnu.org>
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcCompletion
-;; This file is not part of GNU Emacs.
+;; This file is part of GNU Emacs.
-;; This program is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2 of the License, or
-;; (at your option) any later version.
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
-;; This program is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -36,7 +37,7 @@
(require 'erc-match); for erc-pals
(require 'hippie-exp); for the hippie expand stuff
-(defconst erc-complete-version "$Revision: 1.18 $"
+(defconst erc-complete-version "$Revision: 1.18.2.1 $"
"ERC complete revision.")
;;;###autoload
@@ -86,9 +87,9 @@ This function returns a list of all the
your own nick. This way if you're named foo and someone is called foobar,
typing \"f o TAB\" will directly give you foobar. Use this with
`erc-nick-completion'."
- (delete
+ (remove
(erc-current-nick)
- (mapcar (function car) (erc-get-channel-user-list))))
+ (erc-get-channel-nickname-list)))
(defcustom erc-nick-completion-postfix ": "
"*When `erc-complete' is used in the first word after the prompt,
@@ -112,8 +113,7 @@ The type of completion depends on `erc-n
(try-complete-erc-nick old erc-pals))
((eq erc-nick-completion 'all)
(try-complete-erc-nick old (append
- (mapcar (function car)
- (erc-get-channel-user-list))
+ (erc-get-channel-nickname-list)
(erc-command-list))))
((functionp erc-nick-completion)
(try-complete-erc-nick old (funcall erc-nick-completion)))
@@ -220,3 +220,5 @@ Window configurations are stored in
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 3be13ee8-8fdb-41ab-83c2-6582c757b91e
1.9 +40 -31 XEmacs/packages/xemacs-packages/erc/erc-dcc.el
Index: erc-dcc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-dcc.el,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- erc-dcc.el 2005/10/15 18:15:27 1.8
+++ erc-dcc.el 2006/02/19 12:57:28 1.9
@@ -1,7 +1,7 @@
;;; erc-dcc.el --- CTCP DCC module for ERC
-;; Copyright (C) 1993,1994,1995,1998,2002,2003,2004
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1995, 1998, 2002, 2003, 2004
+;; Free Software Foundation, Inc.
;; Author: Ben A. Mesander <ben(a)gnu.ai.mit.edu>
;; Noah Friedman <friedman(a)prep.ai.mit.edu>
@@ -10,20 +10,22 @@
;; Keywords: comm, processes
;; Created: 1994-01-23
-;; This program is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;;
-;; This program is distributed in the hope that it will be useful,
+
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
-;;
+
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, you can either send email to this
-;; program's maintainer or write to: The Free Software Foundation,
-;; Inc.; 675 Massachusetts Avenue; Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -52,8 +54,11 @@
;;; Code:
(require 'erc)
+(eval-when-compile
+ (require 'cl)
+ (require 'pcomplete))
-(defconst erc-dcc-version "$Revision: 1.90 $"
+(defconst erc-dcc-version "$Revision: 1.94.2.2 $"
"ERC DCC revision")
(defgroup erc-dcc nil
@@ -204,7 +209,7 @@ compared with `erc-nick-equal-p' which i
(let ((len (length str))
(num 0)
(count 0))
- (assert (<= len 4)) ;; this isn't going to fit in elisp bounds
+ (erc-assert (<= len 4)) ;; this isn't going to fit in elisp bounds
(while (< count len)
(setq num (+ num (lsh (aref str (- len count 1)) (* 8 count))))
(setq count (1+ count)))
@@ -373,32 +378,34 @@ where FOO is one of CLOSE, GET, SEND, LI
(pcomplete-here
(case (intern (downcase (pcomplete-arg 1)))
(chat (mapcar (lambda (elt) (plist-get elt :nick))
- (remove-if-not
- (lambda (elt)
- (eq (plist-get elt :type) 'CHAT)) erc-dcc-list)))
+ (erc-remove-if-not
+ #'(lambda (elt)
+ (eq (plist-get elt :type) 'CHAT))
+ erc-dcc-list)))
(close (remove-duplicates
(mapcar (lambda (elt) (symbol-name (plist-get elt :type)))
erc-dcc-list) :test 'string=))
(get (mapcar #'erc-dcc-nick
- (remove-if-not
- (lambda (elt)
- (eq (plist-get elt :type) 'GET)) erc-dcc-list)))
+ (erc-remove-if-not
+ #'(lambda (elt)
+ (eq (plist-get elt :type) 'GET))
+ erc-dcc-list)))
(send (pcomplete-erc-all-nicks))))
(pcomplete-here
(case (intern (downcase (pcomplete-arg 2)))
(get (mapcar (lambda (elt) (plist-get elt :file))
- (remove-if-not
- (lambda (elt)
- (and (eq (plist-get elt :type) 'GET)
- (erc-nick-equal-p (erc-extract-nick
- (plist-get elt :nick))
- (pcomplete-arg 1))))
+ (erc-remove-if-not
+ #'(lambda (elt)
+ (and (eq (plist-get elt :type) 'GET)
+ (erc-nick-equal-p (erc-extract-nick
+ (plist-get elt :nick))
+ (pcomplete-arg 1))))
erc-dcc-list)))
(close (mapcar #'erc-dcc-nick
- (remove-if-not
- (lambda (elt)
- (eq (plist-get elt :type)
- (intern (upcase (pcomplete-arg 1)))))
+ (erc-remove-if-not
+ #'(lambda (elt)
+ (eq (plist-get elt :type)
+ (intern (upcase (pcomplete-arg 1)))))
erc-dcc-list)))
(send (pcomplete-entries)))))
@@ -707,7 +714,7 @@ bytes sent."
(length string)))))
(defun erc-dcc-send-filter (proc string)
- (assert (= (% (length string) 4) 0))
+ (erc-assert (= (% (length string) 4) 0))
(let* ((size (erc-unpack-int (substring string (- (length string) 4))))
(elt (erc-dcc-member :peer proc))
(parent (plist-get elt :parent))
@@ -862,7 +869,7 @@ rather than every 1024 byte block, but n
(insert (string-make-unibyte str))
(setq erc-dcc-byte-count (+ (length str) erc-dcc-byte-count))
- (assert (= erc-dcc-byte-count (1- (point-max))))
+ (erc-assert (= erc-dcc-byte-count (1- (point-max))))
(and erc-verbose-dcc
(erc-display-message
nil 'notice erc-server-process
@@ -1072,8 +1079,8 @@ other client."
(setq posn (match-end 0))
(erc-display-message
nil nil proc
- 'dcc-chat-privmsg ?n (propertize erc-dcc-from 'face
- 'erc-nick-default-face) ?m line))
+ 'dcc-chat-privmsg ?n (erc-propertize erc-dcc-from 'face
+ 'erc-nick-default-face) ?m line))
(setq erc-dcc-unprocessed-output (substring str posn)))))
(defun erc-dcc-chat-buffer-killed ()
@@ -1128,3 +1135,5 @@ other client."
;; Local Variables:
;; indent-tabs-mode: nil
;; End:
+
+;; arch-tag: cda5a6b3-c510-4dbe-b699-84cccfa04edb
1.9 +11 -9 XEmacs/packages/xemacs-packages/erc/erc-ezbounce.el
Index: erc-ezbounce.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-ezbounce.el,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- erc-ezbounce.el 2005/10/15 18:15:28 1.8
+++ erc-ezbounce.el 2006/02/19 12:57:28 1.9
@@ -1,34 +1,35 @@
;;; erc-ezbounce.el --- Handle EZBounce bouncer commands
-;; Copyright (C) 2002,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf(a)void.at>
;; Keywords: comm
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
-;;
-
;;; Code:
(require 'erc)
+(eval-when-compile (require 'cl))
-(defconst erc-ezb-version "$Revision: 1.11 $"
+(defconst erc-ezb-version "$Revision: 1.12.2.1 $"
"ERC EZBouncer revision.")
(defgroup erc-ezbounce nil
@@ -178,4 +179,5 @@ in the alist is `nil', prompt for the ap
(provide 'erc-ezbounce)
+;; arch-tag: e972aa7b-a9f4-4d16-a489-074ec7a1002e
;;; erc-ezbounce.el ends here
1.8 +20 -14 XEmacs/packages/xemacs-packages/erc/erc-fill.el
Index: erc-fill.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-fill.el,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- erc-fill.el 2005/10/15 18:15:28 1.7
+++ erc-fill.el 2006/02/19 12:57:28 1.8
@@ -1,30 +1,28 @@
;;; erc-fill.el --- Filling IRC messages in various ways
-;; Copyright (C) 2001,2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf(a)void.at>
;; Mario Lang <mlang(a)delysid.org>
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcFilling
-;; This file is not part of GNU Emacs.
+;; This file is part of GNU Emacs.
-;; This is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
-;; This file is not part of GNU Emacs.
-
;;; Commentary:
;; This package implements filling of messages sent and received. Use
@@ -36,7 +34,7 @@
(require 'erc)
(require 'erc-stamp); for the timestamp stuff
-(defconst erc-fill-version "$Revision: 1.31 $"
+(defconst erc-fill-version "$Revision: 1.32.2.1 $"
"ERC fill revision.")
(defgroup erc-fill nil
@@ -99,8 +97,8 @@ function. Narrowing to the region in qu
function is called."
:group 'erc-fill
:type '(choice (const :tag "Variable Filling" erc-fill-variable)
- (const :tag "Static Filling" erc-fill-static)
- function))
+ (const :tag "Static Filling" erc-fill-static)
+ function))
(defcustom erc-fill-static-center 27
"Column around which all statically filled messages will be
@@ -137,7 +135,9 @@ You can put this on `erc-insert-modify-h
(let ((nick (match-string 1)))
(let ((fill-column (- erc-fill-column (erc-timestamp-offset)))
(fill-prefix (make-string erc-fill-static-center 32)))
- (insert (make-string (max 0 (- erc-fill-static-center (length nick) 1)) 32))
+ (insert (make-string (max 0 (- erc-fill-static-center
+ (length nick) 1))
+ 32))
(erc-fill-regarding-timestamp))
(erc-restore-text-properties))))
@@ -184,7 +184,8 @@ You can put this on `erc-insert-modify-h
(defun erc-restore-text-properties ()
"Restore the property 'erc-parsed for the region."
- (let* ((parsed-posn (text-property-not-all (point-min) (point-max) 'erc-parsed
nil))
+ (let* ((parsed-posn (text-property-not-all (point-min) (point-max)
+ 'erc-parsed nil))
(parsed-prop (when parsed-posn
(get-text-property parsed-posn 'erc-parsed))))
(put-text-property (point-min) (point-max) 'erc-parsed parsed-prop)))
@@ -192,3 +193,8 @@ You can put this on `erc-insert-modify-h
(provide 'erc-fill)
;;; erc-fill.el ends here
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; End:
+
+;; arch-tag: 89224581-c2c2-4e26-92e5-e3a390dc516a
1.3 +13 -8 XEmacs/packages/xemacs-packages/erc/erc-goodies.el
Index: erc-goodies.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-goodies.el,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- erc-goodies.el 2005/10/15 18:15:28 1.2
+++ erc-goodies.el 2006/02/19 12:57:28 1.3
@@ -1,25 +1,28 @@
;; erc-goodies.el --- Collection of ERC modules
-;; Copyright (C) 2001,2002,2003,2004,2005 Free Software Foundation
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
;; Author: Jorgen Schaefer <forcer(a)forcix.cx>
;; Most code is taken verbatim from erc.el, see there for the original
;; authors.
-;; This program is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2 of the License, or
-;; (at your option) any later version.
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
-;; This program is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -107,7 +110,7 @@ Put this function on `erc-insert-post-ho
(put-text-property (point-min) (point-max) 'front-sticky t)
(put-text-property (point-min) (point-max) 'rear-nonsticky t))
-;; Distingush non-commands
+;; Distinguish non-commands
(defvar erc-noncommands-list '(erc-cmd-ME
erc-cmd-COUNTRY
erc-cmd-SV
@@ -514,4 +517,6 @@ servers. If called from a program, PROC
(error "`multi-occur' is not defined as a function")))
(provide 'erc-goodies)
+
+;; arch-tag: d987ae26-9e28-4c72-9596-e617309fb582
;;; erc-goodies.el ends here
1.6 +38 -25 XEmacs/packages/xemacs-packages/erc/erc-ibuffer.el
Index: erc-ibuffer.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-ibuffer.el,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- erc-ibuffer.el 2005/10/15 18:15:28 1.5
+++ erc-ibuffer.el 2006/02/19 12:57:28 1.6
@@ -1,25 +1,27 @@
;;; erc-ibuffer.el --- ibuffer integration with ERC
-;; Copyright (C) 2002,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: comm
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcIbuffer
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -30,8 +32,10 @@
;;; Code:
(require 'ibuffer)
+(require 'ibuf-ext)
+(require 'erc)
-(defconst erc-ibuffer-version "$Revision: 1.27 $"
+(defconst erc-ibuffer-version "$Revision: 1.27.2.1 $"
"ERC ibuffer revision.")
(defgroup erc-ibuffer nil
@@ -51,16 +55,17 @@
:group 'erc-ibuffer
:type 'character)
(defcustom erc-ibuffer-dangerous-host-char ?d
- "Char used to indicate a channel which had dangerous-host traffic lately
(hidden)."
+ "Char used to indicate a channel which had dangerous-host traffic lately
+\(hidden)."
:group 'erc-ibuffer
:type 'character)
-(ibuffer-define-limiter erc-server
- (:documentation
- "Toggle current view to buffers which are related to ERC servers."
-:description "erc servers"
+(define-ibuffer-filter erc-server
+ "Toggle current view to buffers which are related to ERC servers."
+ (:description "erc servers"
:reader
- (let ((regexp (read-from-minibuffer "Limit by server (regexp) (RET for all):
")))
+ (let ((regexp
+ (read-from-minibuffer "Limit by server (regexp) (RET for all): ")))
(if (string= regexp "")
".*"
regexp)))
@@ -69,7 +74,7 @@
(string-match qualifier (or erc-server-announced-name
erc-session-server)))))
-(ibuffer-define-column erc-modified (:name "M")
+(define-ibuffer-column erc-modified (:name "M")
(if (and (boundp 'erc-track-mode)
erc-track-mode)
(let ((entry (assq (current-buffer) erc-modified-channels-alist)))
@@ -88,13 +93,13 @@
" "))
" "))
-(ibuffer-define-column erc-server-name (:name "Server")
+(define-ibuffer-column erc-server-name (:name "Server")
(if (and (boundp 'erc-server-process) (processp erc-server-process))
(with-current-buffer (process-buffer erc-server-process)
(or erc-server-announced-name erc-session-server))
""))
-(ibuffer-define-column erc-target (:name "Target")
+(define-ibuffer-column erc-target (:name "Target")
(if (eq major-mode 'erc-mode)
(cond ((and (boundp 'erc-server-process) (processp erc-server-process)
(eq (current-buffer) (process-buffer erc-server-process)))
@@ -107,13 +112,13 @@
(t "(parted)"))
(buffer-name)))
-(ibuffer-define-column erc-topic (:name "Topic")
+(define-ibuffer-column erc-topic (:name "Topic")
(if (and (eq major-mode 'erc-mode)
erc-channel-topic)
(erc-controls-interpret erc-channel-topic)
""))
-(ibuffer-define-column
+(define-ibuffer-column
erc-members (:name "Users")
(if (and (eq major-mode 'erc-mode)
(boundp 'erc-channel-users)
@@ -122,7 +127,7 @@
(number-to-string (hash-table-size erc-channel-users))
""))
-(ibuffer-define-column erc-away (:name "A")
+(define-ibuffer-column erc-away (:name "A")
(if (and (boundp 'erc-server-process)
(processp erc-server-process)
(with-current-buffer (process-buffer erc-server-process)
@@ -130,20 +135,20 @@
"A"
" "))
-(ibuffer-define-column
+(define-ibuffer-column
erc-op (:name "O")
(if (and (eq major-mode 'erc-mode)
(erc-channel-user-op-p (erc-current-nick)))
"@"
" "))
-(ibuffer-define-column erc-voice (:name "V")
+(define-ibuffer-column erc-voice (:name "V")
(if (and (eq major-mode 'erc-mode)
(erc-channel-user-voice-p (erc-current-nick)))
"+"
" "))
-(ibuffer-define-column erc-channel-modes (:name "Mode")
+(define-ibuffer-column erc-channel-modes (:name "Mode")
(if (and (eq major-mode 'erc-mode)
(or (> (length erc-channel-modes) 0)
erc-channel-user-limit))
@@ -157,13 +162,19 @@
mode-name
"")))
-(ibuffer-define-column erc-nick (:name "Nick")
+(define-ibuffer-column erc-nick (:name "Nick")
(if (eq major-mode 'erc-mode)
(erc-current-nick)
""))
-(defvar erc-ibuffer-formats '((mark erc-modified erc-away erc-op erc-voice "
" (erc-nick 8 8) " " (erc-target 18 40) (erc-members 5 5 :center)
(erc-channel-modes 6 16 :center) " " (erc-server-name 20 30) " "
(erc-topic 10 -1))
- (mark erc-modified erc-away erc-op erc-voice " " (erc-target 18 40)
(erc-members 5 5 :center) (erc-channel-modes 9 20 :center) " " (erc-topic 10
-1))))
+(defvar erc-ibuffer-formats
+ '((mark erc-modified erc-away erc-op erc-voice " " (erc-nick 8 8) "
"
+ (erc-target 18 40) (erc-members 5 5 :center)
+ (erc-channel-modes 6 16 :center) " " (erc-server-name 20 30) " "
+ (erc-topic 10 -1))
+ (mark erc-modified erc-away erc-op erc-voice " " (erc-target 18 40)
+ (erc-members 5 5 :center) (erc-channel-modes 9 20 :center) " "
+ (erc-topic 10 -1))))
(setq ibuffer-formats (append ibuffer-formats erc-ibuffer-formats))
(defvar erc-ibuffer-limit-map nil
@@ -180,3 +191,5 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: fbad56a5-8595-45e0-a8c8-d8bb91e26944
1.4 +11 -6 XEmacs/packages/xemacs-packages/erc/erc-identd.el
Index: erc-identd.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-identd.el,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- erc-identd.el 2005/10/15 18:15:28 1.3
+++ erc-identd.el 2006/02/19 12:57:28 1.4
@@ -5,20 +5,22 @@
;; Author: John Wiegley <johnw(a)gnu.org>
;; Keywords: comm, processes
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -64,7 +66,8 @@ system."
:buffer (generate-new-buffer "identd")
:service port :server t :noquery t
:filter 'erc-identd-filter))
- (error "Your Emacs is too old; cannot start ident server")))
+ (open-network-stream-server "identd" (generate-new-buffer
"identd")
+ port nil 'erc-identd-filter)))
(defun erc-identd-stop (&rest ignore)
(interactive)
@@ -80,3 +83,5 @@ system."
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: e0b5f926-0f35-40b9-8ddb-ca06b62a7544
1.7 +12 -8 XEmacs/packages/xemacs-packages/erc/erc-imenu.el
Index: erc-imenu.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-imenu.el,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- erc-imenu.el 2005/10/15 18:15:28 1.6
+++ erc-imenu.el 2006/02/19 12:57:28 1.7
@@ -1,25 +1,27 @@
-;;; erc-imenu.el -- Imenu support for the Emacs IRC Client (ERC)
+;;; erc-imenu.el -- Imenu support for ERC
-;; Copyright (C) 2001,2002,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: comm
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcImenu
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -45,7 +47,7 @@
(require 'erc)
(require 'imenu)
-(defconst erc-imenu-version "$Revision: 1.10 $"
+(defconst erc-imenu-version "$Revision: 1.10.2.1 $"
"ERC imenu revision.")
(defun erc-unfill-notice ()
@@ -140,3 +142,5 @@ Don't rely on this function, read it fir
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 35c69082-ca29-43f7-a050-8da5f400de81
1.5 +12 -11 XEmacs/packages/xemacs-packages/erc/erc-lang.el
Index: erc-lang.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-lang.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- erc-lang.el 2005/10/15 18:15:28 1.4
+++ erc-lang.el 2006/02/19 12:57:28 1.5
@@ -1,6 +1,6 @@
;;; erc-lang.el --- provide the LANG command to ERC
-;; Copyright (C) 2002,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex(a)gnu.org>
;; Maintainer: Alex Schroeder <alex(a)gnu.org>
@@ -8,22 +8,22 @@
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcLang
;; Keywords: comm languages processes
-;; This file is not part of GNU Emacs.
+;; This file is part of GNU Emacs.
-;; This is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published by
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This is distributed in the hope that it will be useful, but WITHOUT
-;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-;; License for more details.
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -209,4 +209,5 @@ Normungsinstitut (ON), Postfach 130, A-1
(provide 'erc-lang)
+;; arch-tag: 8ffb1563-cc03-4517-b067-16309d4ff97b
;;; erc-lang.el ends here
1.11 +12 -7 XEmacs/packages/xemacs-packages/erc/erc-list.el
Index: erc-list.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-list.el,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -p -r1.10 -r1.11
--- erc-list.el 2005/10/15 18:15:28 1.10
+++ erc-list.el 2006/02/19 12:57:28 1.11
@@ -1,25 +1,27 @@
;;; erc-list.el --- Provide a faster channel listing mechanism
-;; Copyright (C) 2002,2003,2004,2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
;; Copyright (C) 2004 Brian Palmer
;; Author: Mario Lang <mlang(a)lexx.delysid.org>
;; Keywords: comm
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -34,8 +36,9 @@
(require 'sort)
(unless (fboundp 'make-overlay)
(require 'overlay))
+(eval-when-compile (require 'cl))
-(defconst erc-list-version "$Revision: 1.44 $"
+(defconst erc-list-version "$Revision: 1.45.2.1 $"
"ERC channel list revision number")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -392,3 +395,5 @@ Private channels, which are shown as ast
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 4a13196a-a61b-465a-9926-044dfbc7e5ff
1.9 +24 -16 XEmacs/packages/xemacs-packages/erc/erc-log.el
Index: erc-log.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-log.el,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- erc-log.el 2005/10/15 18:15:28 1.8
+++ erc-log.el 2006/02/19 12:57:29 1.9
@@ -1,6 +1,6 @@
;;; erc-log.el --- Logging facilities for ERC.
-;; Copyright (C) 2003,2004,2005 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
;; Author: Lawrence Mitchell <wence(a)gmx.li>
;; Keywords: IRC, chat, client, Internet, logging
@@ -8,23 +8,26 @@
;; Created 2003-04-26
;; Logging code taken from erc.el and modified to use markers.
-;; This program is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2 of the License, or
-;; (at your option) any later version.
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
-;; This program is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
-;; This file implements log file writing support for the Emacs IRC
-;; Client.
+
+;; This file implements log file writing support for ERC.
;; Quick start:
;;
@@ -92,8 +95,9 @@
;;; Code:
(require 'erc)
+(eval-when-compile (require 'cl))
-(defconst erc-log-version "$Revision: 1.26 $"
+(defconst erc-log-version "$Revision: 1.27.2.1 $"
"ERC log mode revision")
(defgroup erc-log nil
@@ -216,12 +220,14 @@ This function is destined to be run from
(auto-save-mode -1)
(setq buffer-offer-save t
buffer-file-name "")
- (if (boundp 'local-write-file-hooks)
- (setq local-write-file-hooks
- '(erc-save-buffer-in-logs)) ;Emacs >=19
- (make-local-variable 'write-file-hooks)
- (setq write-file-hooks ;Emacs 18
- '(erc-save-buffer-in-logs)))
+ (cond ((boundp 'write-file-functions)
+ (set (make-local-variable 'write-file-functions)
+ '(erc-save-buffer-in-logs)))
+ ((boundp 'local-write-file-hooks)
+ (setq local-write-file-hooks '(erc-save-buffer-in-logs)))
+ (t
+ (set (make-local-variable 'write-file-hooks)
+ '(erc-save-buffer-in-logs))))
(when erc-log-insert-log-on-open
(ignore-errors (insert-file-contents (erc-current-logfile))
(move-marker erc-last-saved-position
@@ -357,3 +363,5 @@ You can save every individual message by
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 54072f99-9f0a-4846-8908-2ccde92221de
1.2 +2 -0 XEmacs/packages/xemacs-packages/erc/erc-maint.el
Index: erc-maint.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-maint.el,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- erc-maint.el 2003/11/25 23:12:30 1.1
+++ erc-maint.el 2006/02/19 12:57:29 1.2
@@ -1 +1,3 @@
(add-to-list 'load-path ".")
+
+;; arch-tag: 977c5231-16c4-46d2-88f0-90abe5a79ba1
1.11 +17 -11 XEmacs/packages/xemacs-packages/erc/erc-match.el
Index: erc-match.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-match.el,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -p -r1.10 -r1.11
--- erc-match.el 2005/10/20 22:49:51 1.10
+++ erc-match.el 2006/02/19 12:57:29 1.11
@@ -1,26 +1,27 @@
;;; erc-match.el --- Highlight messages matching certain regexps
-;; Copyright (C) 2002,2003,2004,2005 Free Software Foundation, Inc.
-;; Copyright (C) 2004 Jeremy Bertram Maitin-Shepard
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf(a)void.at>
;; Keywords: comm, faces
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcMatch
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -35,10 +36,11 @@
;;; Code:
(require 'erc)
+(eval-when-compile (require 'cl))
;; Customisation:
-(defconst erc-match-version "$Revision: 1.46 $"
+(defconst erc-match-version "$Revision: 1.51.2.1 $"
"ERC match mode revision.")
(defgroup erc-match nil
@@ -55,7 +57,7 @@ they are hidden or highlighted. This is
`erc-current-nick-highlight-type'. For all these highlighting types,
you can decide whether the entire message or only the sending nick is
highlighted."
- ((add-hook 'erc-insert-modify-hook 'erc-match-message))
+ ((add-hook 'erc-insert-modify-hook 'erc-match-message 'append))
((remove-hook 'erc-insert-modify-hook 'erc-match-message)))
;; Remaining customizations
@@ -564,8 +566,10 @@ deactivate/activate match logging in the
(let ((line (format-spec erc-log-match-format
(format-spec-make
?n nick
- ?t (format-time-string (or erc-timestamp-format
- "[%Y-%m-%d %H:%M] "))
+ ?t (format-time-string
+ (or (and (boundp 'erc-timestamp-format)
+ erc-timestamp-format)
+ "[%Y-%m-%d %H:%M] "))
?c (or (erc-default-target) "")
?m message
?u nickuserhost))))
@@ -653,3 +657,5 @@ This function is meant to be called from
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 1f1f595e-abcc-4b0b-83db-598a1d3f0f82
1.8 +12 -8 XEmacs/packages/xemacs-packages/erc/erc-menu.el
Index: erc-menu.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-menu.el,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- erc-menu.el 2005/10/15 18:15:29 1.7
+++ erc-menu.el 2006/02/19 12:57:29 1.8
@@ -1,25 +1,27 @@
-;; erc-menu.el -- Menu-bar definitions for the Emacs IRC Client
+;; erc-menu.el -- Menu-bar definitions for ERC
-;; Copyright (C) 2001,2002,2004,2005 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: comm, processes, menu
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcMenu
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -29,7 +31,7 @@
(require 'easymenu)
-(defconst erc-menu-version "$Revision: 1.22 $"
+(defconst erc-menu-version "$Revision: 1.22.2.1 $"
"ERC menu revision")
(defvar erc-menu-definition
@@ -118,3 +120,5 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 671219f2-b082-4753-a185-1d0c7e0c05bd
1.9 +24 -5 XEmacs/packages/xemacs-packages/erc/erc-nets.el
Index: erc-nets.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-nets.el,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- erc-nets.el 2005/10/20 22:49:51 1.8
+++ erc-nets.el 2006/02/19 12:57:29 1.9
@@ -1,10 +1,27 @@
;;; erc-nets.el --- IRC networks
-;; Copyright (C) 2002,2004,2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)lexx.delysid.org>
;; Keywords: comm
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
;;; Commentary:
;; This file deals with IRC networks.
@@ -26,8 +43,9 @@
;;; Code:
(require 'erc)
+(eval-when-compile (require 'cl))
-(defconst erc-nets-version "$Revision: 1.21 $"
+(defconst erc-nets-version "$Revision: 1.22.2.1 $"
"ERC networks revision.")
;; Variables
@@ -777,11 +795,10 @@ As an example:
(let* ((completion-ignore-case t)
(net (intern
(completing-read "Network: "
- (remove-duplicates
+ (erc-delete-dups
(mapcar (lambda (x)
(list (symbol-name (nth 1 x))))
- erc-server-alist)
- :test #'equal))))
+ erc-server-alist)))))
(srv (assoc
(completing-read "Server: "
(delq nil
@@ -843,3 +860,5 @@ VALUE is the options value.")
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 68cccabd-f66b-456c-9abe-5f993a2dc91c
1.8 +26 -16 XEmacs/packages/xemacs-packages/erc/erc-netsplit.el
Index: erc-netsplit.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-netsplit.el,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- erc-netsplit.el 2005/10/15 18:15:29 1.7
+++ erc-netsplit.el 2006/02/19 12:57:29 1.8
@@ -1,24 +1,26 @@
;;; erc-netsplit.el --- Reduce JOIN/QUIT messages on netsplits
-;; Copyright (C) 2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: comm
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -30,12 +32,13 @@
;;; Code:
(require 'erc)
+(eval-when-compile (require 'cl))
-(defconst erc-netsplit-version "$Revision: 1.14 $"
+(defconst erc-netsplit-version "$Revision: 1.15.2.1 $"
"ERC netsplit version.")
(defgroup erc-netsplit nil
- "Netsplit detection tries to automatically figure when a
+ "Netsplit detection tries to automatically figure when a
netsplit happens, and filters the QUIT messages. It also keeps
track of netsplits, so that it can filter the JOIN messages on a netjoin too."
:group 'erc)
@@ -94,8 +97,8 @@ join from that split has been detected o
(defun erc-netsplit-install-message-catalogs ()
(erc-define-catalog
'english
- '((netsplit . "netsplit: %s")
- (netjoin . "netjoin: %s, %N were split")
+ '((netsplit . "netsplit: %s")
+ (netjoin . "netjoin: %s, %N were split")
(netjoin-done . "netjoin: All lost souls are back!")
(netsplit-none . "No netsplits in progress")
(netsplit-wholeft . "split: %s missing: %n %t"))))
@@ -109,22 +112,22 @@ join from that split has been detected o
(progn
(if (not (caddr elt))
(progn
- (erc-display-message
+ (erc-display-message
parsed 'notice (process-buffer proc)
'netjoin ?s (car elt) ?N (length (nthcdr 3 elt)))
(setcar (nthcdr 2 elt) t)
(run-hook-with-args 'erc-netjoin-hook proc (car elt))))
;; need to remove this nick, perhaps the whole entry here.
- ;; Note that by removing the nick now, we can't tell if further
- ;; join messages (for other channels) should also be
- ;; suppressed.
+ ;; Note that by removing the nick now, we can't tell if further
+ ;; join messages (for other channels) should also be
+ ;; suppressed.
(if (null (nthcdr 4 elt))
(progn
(erc-display-message
parsed 'notice (process-buffer proc)
'netjoin-done ?s (car elt))
(setq erc-netsplit-list (delq elt erc-netsplit-list)))
- (delete nick elt))
+ (delete nick elt))
(setq no-next-hook t))))
no-next-hook))
@@ -133,7 +136,7 @@ join from that split has been detected o
;; regexp matches things with a . in them, and no ! or @ in them.
(when (string-match "^[^@!]+\\.[^(a)!]+$" (erc-response.sender parsed))
(and erc-netsplit-debug
- (erc-display-message
+ (erc-display-message
parsed 'notice (process-buffer proc)
"[debug] server mode change."))
(not erc-netsplit-show-server-mode-changes-flag)))
@@ -203,3 +206,10 @@ join from that split has been detected o
(provide 'erc-netsplit)
;;; erc-netsplit.el ends here
+;;
+;; Local Variables:
+;; indent-tabs-mode: t
+;; tab-width: 8
+;; End:
+
+;; arch-tag: 61a85cb0-7e7b-4312-a4f6-313c7a25a6e8
1.4 +115 -118 XEmacs/packages/xemacs-packages/erc/erc-nicklist.el
Index: erc-nicklist.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-nicklist.el,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- erc-nicklist.el 2005/10/15 18:15:29 1.3
+++ erc-nicklist.el 2006/02/19 12:57:29 1.4
@@ -1,48 +1,28 @@
;;; erc-nicklist.el --- Display channel nicknames in a side buffer.
-;; Copyright (C) 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
;; Filename: erc-nicklist.el
;; Author: Lawrence Mitchell <wence(a)gmx.li>
;; Created: 2004-04-30
;; Keywords: IRC chat client Internet
-;; Changes by Edgar Gonçalves <edgar.goncalves(a)inesc-id.pt>
-;; Jun 25 2005:
-;; - images are changed to a standard set of names.
-;; - /images now contain gaim's status icons.
-;; May 31 2005:
-;; - tooltips are improved. they try to access bbdb for a nice nick!
-;; Apr 26 2005:
-;; - erc-nicklist-channel-users-info was fixed (sorting bug)
-;; - Away names don't need parenthesis when using icons
-;; Apr 26 2005:
-;; - nicks can display icons of their connection type (msn, icq, for now)
-;; Mar 15 2005:
-;; - nicks now are different for unvoiced and op users
-;; - nicks now have tooltips displaying more info
-;; Mar 18 2005:
-;; - queries now work ok, both on menu and keyb shortcut RET.
-;; - nicklist is now sorted ignoring the case. Voiced nicks will
-;; appear according to `erc-nicklist-voiced-position'.
-
+;; This file is part of GNU Emacs.
-;; COPYRIGHT NOTICE
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2 of the
-;; License, or (at your option) any later version.
-;;
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;; General Public License for more
-;; details.
http://www.gnu.org/copyleft/gpl.html
-;;
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs. If you did not, write to the Free Software
-;; Foundation, Inc., 675 Mass Ave., Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
;;
@@ -75,15 +55,34 @@
;;; History:
;;
+;; Changes by Edgar Gonçalves <edgar.goncalves(a)inesc-id.pt>
+;; Jun 25 2005:
+;; - images are changed to a standard set of names.
+;; - /images now contain gaim's status icons.
+;; May 31 2005:
+;; - tooltips are improved. they try to access bbdb for a nice nick!
+;; Apr 26 2005:
+;; - erc-nicklist-channel-users-info was fixed (sorting bug)
+;; - Away names don't need parenthesis when using icons
+;; Apr 26 2005:
+;; - nicks can display icons of their connection type (msn, icq, for now)
+;; Mar 15 2005:
+;; - nicks now are different for unvoiced and op users
+;; - nicks now have tooltips displaying more info
+;; Mar 18 2005:
+;; - queries now work ok, both on menu and keyb shortcut RET.
+;; - nicklist is now sorted ignoring the case. Voiced nicks will
+;; appear according to `erc-nicklist-voiced-position'.
+
;;; Code:
(require 'erc)
(condition-case nil
(require 'erc-bbdb)
(error nil))
-(require 'cl)
+(eval-when-compile (require 'cl))
-(defconst erc-nicklist-version "$Revision: 1.8 $"
+(defconst erc-nicklist-version "$Revision: 1.14.2.1 $"
"ERC Nicklist version.")
(defgroup erc-nicklist nil
@@ -123,9 +122,6 @@ channel window, and vice versa."
:type 'float)
-(defvar erc-nicklist-bitlbee-connected-p nil
- "Are we connected to bitlbee?")
-
(defun erc-nicklist-buffer-name (&optional buffer)
"Return the buffer name for a nicklist associated with BUFFER.
@@ -149,92 +145,89 @@ See also `erc-nicklist-window-size'."
(defvar erc-nicklist-images-alist '()
"Alist that maps a connection type to an icon.")
-(defun erc-nicklist-insert-medium-name-or-icon (host is-away)
+(defun erc-nicklist-insert-medium-name-or-icon (host channel is-away)
"Inserts an icon or a string identifying the current host type.
This is configured using `erc-nicklist-use-icons' and
`erc-nicklist-icons-directory'."
- (cond ((and erc-nicklist-bitlbee-connected-p
- (string= "login.icq.com" host))
- (if erc-nicklist-use-icons
- (if is-away
- (insert-image (cdr (assoc 'icq-away
- erc-nicklist-images-alist)))
- (insert-image (cdr (assoc 'icq
- erc-nicklist-images-alist))))
- (insert "ICQ")))
- (erc-nicklist-bitlbee-connected-p
- (if erc-nicklist-use-icons
- (if is-away
- (insert-image (cdr (assoc 'msn-away
- erc-nicklist-images-alist)))
- (insert-image (cdr (assoc 'msn
- erc-nicklist-images-alist))))
- (insert "MSN")))
- (t
- (if erc-nicklist-use-icons
- (if is-away
- (insert-image (cdr (assoc 'irc-away
- erc-nicklist-images-alist)))
- (insert-image (cdr (assoc 'irc
- erc-nicklist-images-alist))))
- (insert "IRC"))))
- (insert " "))
+ ;; identify the network (for bitlebee usage):
+ (let ((bitlbee-p (save-match-data
+ (string-match "\\`&bitlbee\\b"
+ (buffer-name channel)))))
+ (cond ((and bitlbee-p
+ (string= "login.icq.com" host))
+ (if erc-nicklist-use-icons
+ (if is-away
+ (insert-image (cdr (assoc 'icq-away
+ erc-nicklist-images-alist)))
+ (insert-image (cdr (assoc 'icq
+ erc-nicklist-images-alist))))
+ (insert "ICQ")))
+ (bitlbee-p
+ (if erc-nicklist-use-icons
+ (if is-away
+ (insert-image (cdr (assoc 'msn-away
+ erc-nicklist-images-alist)))
+ (insert-image (cdr (assoc 'msn
+ erc-nicklist-images-alist))))
+ (insert "MSN")))
+ (t
+ (if erc-nicklist-use-icons
+ (if is-away
+ (insert-image (cdr (assoc 'irc-away
+ erc-nicklist-images-alist)))
+ (insert-image (cdr (assoc 'irc
+ erc-nicklist-images-alist))))
+ (insert "IRC"))))
+ (insert " ")))
(defun erc-nicklist-search-for-nick (finger-host)
"Return the bitlbee-nick field for this contact given FINGER-HOST.
Seach for the BBDB record of this contact. If not found, return nil."
(when (boundp 'erc-bbdb-bitlbee-name-field)
(let ((record (car
- (member-if
- (lambda (r)
- (let ((fingers (bbdb-record-finger-host r)))
- (when fingers
- (string-match finger-host
- (car (bbdb-record-finger-host r))))))
+ (erc-member-if
+ #'(lambda (r)
+ (let ((fingers (bbdb-record-finger-host r)))
+ (when fingers
+ (string-match finger-host
+ (car (bbdb-record-finger-host r))))))
(bbdb-records)))))
(when record
(bbdb-get-field record erc-bbdb-bitlbee-name-field)))))
(defun erc-nicklist-insert-contents (channel)
"Insert the nicklist contents, with text properties and the optional
images."
- (let ((erc-nicklist-bitlbee-connected-p
- (and (string-match "^#bitlbee\\b" (buffer-name channel))
- (not (string-match "oftc\\.net" (or erc-server-announced-name
- erc-session-server
- ""))))))
- (setq buffer-read-only nil)
- (erase-buffer)
- (dolist (u (erc-nicklist-channel-users-info channel))
- (let* ((server-user (car u))
- (channel-user (cdr u))
- (nick (erc-server-user-nickname server-user))
- (host (erc-server-user-host server-user))
- (login (erc-server-user-login server-user))
- (full-name(erc-server-user-full-name server-user))
- (info (erc-server-user-info server-user))
- (channels (erc-server-user-buffers server-user))
- (op (erc-channel-user-op channel-user))
- (voice (erc-channel-user-voice channel-user))
- (bbdb-nick (erc-nicklist-search-for-nick (concat login "@" host)))
- (away-status (if voice "" "\n(Away)"))
- (balloon-text (concat bbdb-nick (if (string= "" bbdb-nick)
- "" "\n")
- "Login: " login "@" host
- away-status)))
- ;; identify the network (for bitlebee usage):
- ;; TODO: find out some proper way of doing this
- (erc-nicklist-insert-medium-name-or-icon host (not voice))
- (unless (or voice erc-nicklist-use-icons)
- (setq nick (concat "(" nick ")")))
- (when op
- (setq nick (concat nick " (OP)")))
- (insert (erc-propertize nick
- 'erc-nicklist-nick nick
- 'mouse-face 'highlight
- 'erc-nicklist-channel channel
- 'help-echo balloon-text)
- "\n")))
- (erc-nicklist-mode)))
+ (setq buffer-read-only nil)
+ (erase-buffer)
+ (dolist (u (erc-nicklist-channel-users-info channel))
+ (let* ((server-user (car u))
+ (channel-user (cdr u))
+ (nick (erc-server-user-nickname server-user))
+ (host (erc-server-user-host server-user))
+ (login (erc-server-user-login server-user))
+ (full-name(erc-server-user-full-name server-user))
+ (info (erc-server-user-info server-user))
+ (channels (erc-server-user-buffers server-user))
+ (op (erc-channel-user-op channel-user))
+ (voice (erc-channel-user-voice channel-user))
+ (bbdb-nick (erc-nicklist-search-for-nick (concat login "@" host)))
+ (away-status (if voice "" "\n(Away)"))
+ (balloon-text (concat bbdb-nick (if (string= "" bbdb-nick)
+ "" "\n")
+ "Login: " login "@" host
+ away-status)))
+ (erc-nicklist-insert-medium-name-or-icon host channel (not voice))
+ (unless (or voice erc-nicklist-use-icons)
+ (setq nick (concat "(" nick ")")))
+ (when op
+ (setq nick (concat nick " (OP)")))
+ (insert (erc-propertize nick
+ 'erc-nicklist-nick nick
+ 'mouse-face 'highlight
+ 'erc-nicklist-channel channel
+ 'help-echo balloon-text)
+ "\n")))
+ (erc-nicklist-mode))
(defun erc-nicklist ()
@@ -373,7 +366,7 @@ Deletes WINDOW and stops updating the ni
ARG is a parametrized event (see `interactive')."
(interactive "e")
(let* ((point (nth 1 (cadr arg)))
- (window (caadr arg))
+ (window (car (cadr arg)))
(buffer (window-buffer window)))
(with-current-buffer buffer
(erc-nicklist-call-erc-command
@@ -392,13 +385,15 @@ list has all the voiced users according
(let* ((nicks (erc-sort-channel-users-alphabetically
(with-current-buffer channel (erc-get-channel-user-list)))))
(if erc-nicklist-voiced-position
- (let ((voiced-nicks (remove-if #'(lambda (x)
- (erc-channel-user-voice (cdr x)))
- nicks))
- (devoiced-nicks (remove-if-not #'(lambda (x)
- (erc-channel-user-voice
- (cdr x)))
- nicks)))
+ (let ((voiced-nicks (erc-remove-if-not
+ #'(lambda (x)
+ (null (erc-channel-user-voice (cdr x))))
+ nicks))
+ (devoiced-nicks (erc-remove-if-not
+ #'(lambda (x)
+ (erc-channel-user-voice
+ (cdr x)))
+ nicks)))
(cond ((eq erc-nicklist-voiced-position 'top)
(append devoiced-nicks voiced-nicks))
((eq erc-nicklist-voiced-position 'bottom)
@@ -415,3 +410,5 @@ list has all the voiced users according
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: db37a256-87a7-4544-bd90-e5f16c9f5ca5
1.9 +12 -7 XEmacs/packages/xemacs-packages/erc/erc-nickserv.el
Index: erc-nickserv.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-nickserv.el,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- erc-nickserv.el 2005/10/15 18:15:29 1.8
+++ erc-nickserv.el 2006/02/19 12:57:29 1.9
@@ -1,21 +1,23 @@
;;; erc-nickserv.el --- Identify to NickServ
-;; Copyright (C) 2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -59,8 +61,9 @@
(require 'erc)
(require 'erc-nets)
+(eval-when-compile (require 'cl))
-(defconst erc-nickserv-version "$Revision: 1.26 $"
+(defconst erc-nickserv-version "$Revision: 1.27.2.1 $"
"ERC NickServ revision.")
;; Customization:
@@ -333,3 +336,5 @@ When called interactively, read the pass
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: d401c8aa-d938-4255-96a9-3efb64c47e58
1.7 +15 -11 XEmacs/packages/xemacs-packages/erc/erc-notify.el
Index: erc-notify.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-notify.el,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- erc-notify.el 2005/10/15 18:15:29 1.6
+++ erc-notify.el 2006/02/19 12:57:29 1.7
@@ -1,24 +1,26 @@
;;; erc-notify.el --- Online status change notification
-;; Copyright (C) 2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)lexx.delysid.org>
;; Keywords: comm
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -30,6 +32,7 @@
(require 'erc)
(require 'erc-nets)
(eval-when-compile
+ (require 'cl)
(require 'pcomplete))
;;;; Customizable variables
@@ -179,11 +182,10 @@ nick from `erc-last-ison' to prevent any
(let ((nick (erc-extract-nick (erc-response.sender parsed))))
(when (and (erc-member-ignore-case nick erc-notify-list)
(erc-member-ignore-case nick erc-last-ison))
- (setq erc-last-ison (delete (find nick erc-last-ison
- :test #'(lambda (x y)
- (string= (erc-downcase x)
- (erc-downcase y))))
- erc-last-ison))
+ (setq erc-last-ison (erc-delete-if `(lambda (el)
+ (string= ,(erc-downcase nick)
+ (erc-downcase el)))
+ erc-last-ison))
(run-hook-with-args 'erc-notify-signoff-hook
(or erc-server-announced-name erc-session-server)
nick)
@@ -248,3 +250,5 @@ with args, toggle notify status of peopl
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 0fb19dd0-1359-458a-89b7-81dc195a588e
1.6 +16 -13 XEmacs/packages/xemacs-packages/erc/erc-page.el
Index: erc-page.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-page.el,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- erc-page.el 2005/10/15 18:15:29 1.5
+++ erc-page.el 2006/02/19 12:57:29 1.6
@@ -1,21 +1,23 @@
;; erc-page.el - CTCP PAGE support for ERC
-;;
-;; Copyright (C) 2002,2004 Free Software Foundation
-;;
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License
-;; as published by the Free Software Foundation; either version 2
-;; of the License, or (at your option) any later version.
-;;
-;; This program is distributed in the hope that it will be useful,
+
+;; Copyright (C) 2002, 2004 Free Software Foundation
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
-;;
+
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-;; 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -102,4 +104,5 @@ receive pages if `erc-page-mode' is on."
(provide 'erc-page)
+;; arch-tag: 82fd2e0e-6060-4dd2-9788-8c1411e844de
;;; erc-page.el ends here
1.6 +13 -9 XEmacs/packages/xemacs-packages/erc/erc-pcomplete.el
Index: erc-pcomplete.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-pcomplete.el,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- erc-pcomplete.el 2005/10/15 18:15:29 1.5
+++ erc-pcomplete.el 2006/02/19 12:57:29 1.6
@@ -1,26 +1,27 @@
;;; erc-pcomplete.el --- Provides programmable completion for ERC
-;; Copyright (C) 2002,2003,2004 Free Software Foundation, Inc.
-;; Copyright (C) 2004 Jeremy Bertram Maitin-Shepard
+;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
;; Author: Sacha Chua <sacha(a)free.net.ph>
;; Keywords: comm, convenience
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcCompletion
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -43,8 +44,9 @@
(require 'erc)
(require 'erc-compat)
(require 'time-date)
+(eval-when-compile (require 'cl))
-(defconst erc-pcomplete-version "$Revision: 1.30 $"
+(defconst erc-pcomplete-version "$Revision: 1.32.2.1 $"
"ERC pcomplete mode revision")
(defgroup erc-pcomplete nil
@@ -248,7 +250,7 @@ the most recent speakers are listed firs
"Returns a list of parsed whitespace-separated arguments.
These are the words from the beginning of the line after the prompt
up to where point is right now."
- (let* ((start (save-excursion (erc-bol) (point)))
+ (let* ((start erc-input-marker)
(end (point))
args beginnings)
(save-excursion
@@ -272,3 +274,5 @@ up to where point is right now."
;; Local Variables:
;; indent-tabs-mode: nil
;; End:
+
+;; arch-tag: 32a7703b-be87-45a4-82f3-9eed5a628911
1.6 +12 -8 XEmacs/packages/xemacs-packages/erc/erc-replace.el
Index: erc-replace.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-replace.el,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- erc-replace.el 2005/06/05 15:47:02 1.5
+++ erc-replace.el 2006/02/19 12:57:30 1.6
@@ -1,25 +1,28 @@
;; erc-replace.el -- wash and massage messages inserted into the buffer
-;; Copyright (C) 2001,2002,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf(a)void.at>
;; Maintainer: Mario Lang (mlang(a)delysid.org)
;; Keywords: IRC, client, Internet
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcReplace
-;; This program is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2 of the License, or
-;; (at your option) any later version.
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
-;; This program is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -34,7 +37,7 @@
(require 'erc)
-(defconst erc-replace-version "$Revision: 1.8 $"
+(defconst erc-replace-version "$Revision: 1.8.2.1 $"
"Revision of the ERC replace module.")
(defgroup erc-replace nil
@@ -89,4 +92,5 @@ It replaces text according to `erc-repla
(provide 'erc-replace)
+;; arch-tag: dd904a59-d8a6-47f8-ac3a-76b698289a18
;;; erc-replace.el ends here
1.7 +25 -16 XEmacs/packages/xemacs-packages/erc/erc-ring.el
Index: erc-ring.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-ring.el,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- erc-ring.el 2005/10/15 18:15:29 1.6
+++ erc-ring.el 2006/02/19 12:57:30 1.7
@@ -1,25 +1,27 @@
;; erc-ring.el -- Command history handling for erc using ring.el
-;; Copyright (C) 2001,2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex(a)gnu.org>
;; Keywords: comm
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcHistory
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -37,7 +39,7 @@
(require 'comint)
(require 'ring)
-(defvar erc-ring-version "$Revision: 1.18 $"
+(defvar erc-ring-version "$Revision: 1.20.2.1 $"
"ERC ring revision")
;;;###autoload (autoload 'erc-ring-mode "erc-ring" nil t)
@@ -80,7 +82,7 @@ You might use this for security purposes
containing a password."
(interactive)
(setq erc-input-ring (make-ring comint-input-ring-size)
- erc-input-ring-index nil)
+ erc-input-ring-index nil)
(garbage-collect)
(message "ERC input ring cleared."))
@@ -96,20 +98,22 @@ containing a password."
(erc-replace-current-command "")
(setq erc-input-ring-index nil))
- ;; If we are not viewing old input and there's text in the input area, push
- ;; it on the history ring before moving back through the input history, so it
- ;; will be there when we return to the front.
+ ;; If we are not viewing old input and there's text in the input
+ ;; area, push it on the history ring before moving back through
+ ;; the input history, so it will be there when we return to the
+ ;; front.
(if (null erc-input-ring-index)
- (let ((start-of-input (save-excursion (goto-char erc-insert-marker)
(erc-bol))))
- (when (> (point-max) start-of-input)
- (erc-add-to-input-ring (buffer-substring start-of-input (point-max)))
- (setq erc-input-ring-index 0))))
+ (when (> (point-max) erc-input-marker)
+ (erc-add-to-input-ring (buffer-substring erc-input-marker
+ (point-max)))
+ (setq erc-input-ring-index 0)))
(setq erc-input-ring-index (if erc-input-ring-index
(ring-plus1 erc-input-ring-index
(ring-length erc-input-ring))
0))
- (erc-replace-current-command (ring-ref erc-input-ring erc-input-ring-index)))))
+ (erc-replace-current-command (ring-ref erc-input-ring
+ erc-input-ring-index)))))
(defun erc-next-command ()
"Replace current command with the next one from the history."
@@ -140,3 +144,8 @@ containing a password."
(provide 'erc-ring)
;;; erc-ring.el ends here
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; End:
+
+;; arch-tag: b77924a8-a80e-489d-84cd-b351761ea5c8
1.5 +12 -9 XEmacs/packages/xemacs-packages/erc/erc-sound.el
Index: erc-sound.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-sound.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- erc-sound.el 2005/10/15 18:15:29 1.4
+++ erc-sound.el 2006/02/19 12:57:30 1.5
@@ -1,21 +1,23 @@
;;; erc-sound.el --- CTCP SOUND support for ERC
-;; Copyright (C) 2002,2003 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License
-;; as published by the Free Software Foundation; either version 2
-;; of the License, or (at your option) any later version.
+;; This file is part of GNU Emacs.
-;; This program is distributed in the hope that it will be useful,
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-;; 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -143,4 +145,5 @@ with a command `erc-play-command'."
(provide 'erc-sound)
+;; arch-tag: 53657d1d-007f-4a20-91c1-588e71cf0cee
;;; erc-sound.el ends here
1.5 +39 -11 XEmacs/packages/xemacs-packages/erc/erc-speak.el
Index: erc-speak.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-speak.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- erc-speak.el 2005/06/05 15:47:02 1.4
+++ erc-speak.el 2006/02/19 12:57:30 1.5
@@ -1,10 +1,24 @@
;;; erc-speak.el --- Speech-enable the ERC chat client
-;; Copyright 2001,2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-;; This file is protected by the GNU GPL, same conditions as with
-;; Emacs apply, although this file is not part of GNU Emacs.
+;; This file is part of GNU Emacs.
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
;;; Commentary:
;; This file contains code to speech enable ERC using Emacspeak's functionality
@@ -68,6 +82,7 @@
(add-hook 'erc-mode-hook (lambda () (setq voice-lock-mode t)))
+;; Override the definition in erc.el
(defun erc-put-text-property (start end property value &optional object)
"This function sets the appropriate personality on the specified
region in addition to setting the requested face."
@@ -88,7 +103,9 @@ region in addition to setting the reques
(defcustom erc-speak-filter-timestamp t
"If non-nil, try to filter out the timestamp when speaking arriving messages.
-Note, your erc-timestamp-format variable needs to start with a [ and end with ]."
+
+Note, your erc-timestamp-format variable needs to start with a [
+and end with ]."
:group 'erc-speak
:type 'bool)
@@ -104,7 +121,7 @@ Note, your erc-timestamp-format variable
:type '(repeat sexp))
(defun erc-speak-acronym-replace (string)
- "Replaces acronyms in the current buffer."
+ "Replace acronyms in the current buffer."
(let ((case-fold-search nil))
(dolist (ac erc-speak-acronyms string)
(while (string-match (car ac) string)
@@ -125,12 +142,13 @@ Note, your erc-timestamp-format variable
:type 'symbol)
(defun erc-speak-smiley-replace (string)
- "Replaces smileys with textual description."
+ "Replace smileys with textual description."
(let ((case-fold-search nil))
(dolist (smiley erc-speak-smileys string)
(while (string-match (car smiley) string)
(let ((repl (cadr smiley)))
- (put-text-property 0 (length repl) 'personality erc-speak-smiley-personality
repl)
+ (put-text-property 0 (length repl) 'personality
+ erc-speak-smiley-personality repl)
(setq string (replace-match repl nil t string)))))))
(defcustom erc-speak-channel-personality 'harry
@@ -139,10 +157,11 @@ Note, your erc-timestamp-format variable
:type 'symbol)
(defun erc-speak-region ()
- "This function speaks a region containing one IRC message to the user
-using Emacspeak. It tries to translate common IRC forms into intelligent speech."
+ "Speak a region containing one IRC message using Emacspeak.
+This function tries to translate common IRC forms into
+intelligent speech."
(let ((target (if (erc-channel-p (erc-default-target))
- (propertize
+ (erc-propertize
(erc-default-target)
'personality erc-speak-channel-personality)
""))
@@ -164,7 +183,7 @@ using Emacspeak. It tries to translate c
(text (buffer-substring (match-end 2) (point-max))))
(tts-with-punctuations
"some"
- (dtk-speak (concat (propertize
+ (dtk-speak (concat (erc-propertize
(concat target " " from " to " to)
'personality erc-speak-channel-personality)
(erc-speak-smiley-replace
@@ -199,3 +218,12 @@ using Emacspeak. It tries to translate c
(erc-speak-acronym-replace msg)))))))))))
(provide 'erc-speak)
+
+;;; erc-speak.el ends here
+;;
+;; Local Variables:
+;; indent-tabs-mode: t
+;; tab-width: 8
+;; End:
+
+;; arch-tag: 4499cd13-2829-43b8-83de-d313481531c4
1.8 +82 -70 XEmacs/packages/xemacs-packages/erc/erc-speedbar.el
Index: erc-speedbar.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-speedbar.el,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- erc-speedbar.el 2005/10/15 18:15:29 1.7
+++ erc-speedbar.el 2006/02/19 12:57:30 1.8
@@ -1,24 +1,26 @@
-;;; erc-speedbar.el --- Speedbar support for the Emacs IRC Client
+;;; erc-speedbar.el --- Speedbar support for ERC
-;; Copyright (C) 2001,2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Contributor: Eric M. Ludlam <eric(a)siege-engine.com>
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -29,15 +31,17 @@
;; * Write intelligent update function:
;; update-channel, update-nick, remove-nick-from-channel, ...
;; * Use indicator-strings for op/voice
-;; * Extract/convert face notes field from bbdb if available and show it using
sb-image.el
+;; * Extract/convert face notes field from bbdb if available and show
+;; it using sb-image.el
;;
;;; Code:
(require 'erc)
(require 'speedbar)
(condition-case nil (require 'dframe) (error nil))
+(eval-when-compile (require 'cl))
-(defconst erc-speedbar-version "$Revision: 1.20 $"
+(defconst erc-speedbar-version "$Revision: 1.20.2.1 $"
"ERC Speedbar version.")
;;; Customization:
@@ -110,7 +114,7 @@ This will add a speedbar major display m
(defun erc-speedbar-buttons (buffer)
"Create buttons for speedbar in BUFFER."
(erase-buffer)
- (let (serverp chanp)
+ (let (serverp chanp queryp)
(with-current-buffer buffer
(setq serverp (eq buffer (process-buffer erc-server-process)))
(setq chanp (erc-channel-p (erc-default-target)))
@@ -185,55 +189,60 @@ This will add a speedbar major display m
(defun erc-speedbar-expand-channel (text channel indent)
"For the line matching TEXT, in CHANNEL, expand or contract a line.
INDENT is the current indentation level."
- (cond ((string-match "+" text)
- (speedbar-change-expand-button-char ?-)
- (speedbar-with-writable
- (save-excursion
- (end-of-line) (forward-char 1)
- (let ((modes (with-current-buffer channel
- (concat (apply 'concat
- erc-channel-modes)
- (cond ((and erc-channel-user-limit erc-channel-key)
- (if erc-show-channel-key-p
- (format "lk %.0f %s" erc-channel-user-limit erc-channel-key)
- (format "kl %.0f" erc-channel-user-limit)))
- (erc-channel-user-limit
- ;; Emacs has no bignums
- (format "l %.0f" erc-channel-user-limit))
- (erc-channel-key
- (if erc-show-channel-key-p
- (format "k %s" erc-channel-key)
- "k"))
- (t "")))))
- (topic (erc-controls-interpret
- (with-current-buffer channel erc-channel-topic))))
- (speedbar-make-tag-line
- 'angle ?i nil nil
- (concat "Modes: +" modes) nil nil nil
- (1+ indent))
- (unless (string= topic "")
- (speedbar-make-tag-line
- 'angle ?i nil nil
- (concat "Topic: " topic) nil nil nil
- (1+ indent)))
- (let ((names (cond ((eq erc-speedbar-sort-users-type 'alphabetical)
- (erc-sort-channel-users-alphabetically
- (with-current-buffer channel
- (erc-get-channel-user-list))))
- ((eq erc-speedbar-sort-users-type 'activity)
- (erc-sort-channel-users-by-activity
- (with-current-buffer channel
- (erc-get-channel-user-list))))
- (t (with-current-buffer channel
- (erc-get-channel-user-list))))))
- (when names
- (speedbar-with-writable
- (dolist (entry names)
- (erc-speedbar-insert-user entry ?+ (1+ indent))))))))))
- ((string-match "-" text)
- (speedbar-change-expand-button-char ?+)
- (speedbar-delete-subblock indent))
- (t (error "Ooops... not sure what to do")))
+ (cond
+ ((string-match "+" text)
+ (speedbar-change-expand-button-char ?-)
+ (speedbar-with-writable
+ (save-excursion
+ (end-of-line) (forward-char 1)
+ (let ((modes (with-current-buffer channel
+ (concat (apply 'concat
+ erc-channel-modes)
+ (cond
+ ((and erc-channel-user-limit
+ erc-channel-key)
+ (if erc-show-channel-key-p
+ (format "lk %.0f %s"
+ erc-channel-user-limit
+ erc-channel-key)
+ (format "kl %.0f" erc-channel-user-limit)))
+ (erc-channel-user-limit
+ ;; Emacs has no bignums
+ (format "l %.0f" erc-channel-user-limit))
+ (erc-channel-key
+ (if erc-show-channel-key-p
+ (format "k %s" erc-channel-key)
+ "k"))
+ (t "")))))
+ (topic (erc-controls-interpret
+ (with-current-buffer channel erc-channel-topic))))
+ (speedbar-make-tag-line
+ 'angle ?i nil nil
+ (concat "Modes: +" modes) nil nil nil
+ (1+ indent))
+ (unless (string= topic "")
+ (speedbar-make-tag-line
+ 'angle ?i nil nil
+ (concat "Topic: " topic) nil nil nil
+ (1+ indent)))
+ (let ((names (cond ((eq erc-speedbar-sort-users-type 'alphabetical)
+ (erc-sort-channel-users-alphabetically
+ (with-current-buffer channel
+ (erc-get-channel-user-list))))
+ ((eq erc-speedbar-sort-users-type 'activity)
+ (erc-sort-channel-users-by-activity
+ (with-current-buffer channel
+ (erc-get-channel-user-list))))
+ (t (with-current-buffer channel
+ (erc-get-channel-user-list))))))
+ (when names
+ (speedbar-with-writable
+ (dolist (entry names)
+ (erc-speedbar-insert-user entry ?+ (1+ indent))))))))))
+ ((string-match "-" text)
+ (speedbar-change-expand-button-char ?+)
+ (speedbar-delete-subblock indent))
+ (t (error "Ooops... not sure what to do")))
(speedbar-center-buffer-smartly))
(defun erc-speedbar-insert-user (entry exp-char indent)
@@ -241,16 +250,16 @@ INDENT is the current indentation level.
EXP-CHAR is the expansion character to use.
INDENT is the current indentation level."
(let* ((user (car entry))
- (cuser (cdr entry))
- (nick (erc-server-user-nickname user))
- (host (erc-server-user-host user))
- (info (erc-server-user-info user))
- (login (erc-server-user-login user))
- (name (erc-server-user-full-name user))
- (voice (and cuser (erc-channel-user-voice cuser)))
- (op (and cuser (erc-channel-user-op cuser)))
+ (cuser (cdr entry))
+ (nick (erc-server-user-nickname user))
+ (host (erc-server-user-host user))
+ (info (erc-server-user-info user))
+ (login (erc-server-user-login user))
+ (name (erc-server-user-full-name user))
+ (voice (and cuser (erc-channel-user-voice cuser)))
+ (op (and cuser (erc-channel-user-op cuser)))
(nick-str (concat (if op "@" "") (if voice "+"
"") nick))
- (finger (concat login (when (or login host) "@") host))
+ (finger (concat login (when (or login host) "@") host))
(sbtoken (list finger name info)))
(if (or login host name info) ; we want to be expandable
(speedbar-make-tag-line
@@ -322,7 +331,8 @@ The INDENT level is ignored."
(select-window bwin)
(raise-frame (window-frame bwin)))
(if dframe-power-click
- (let ((pop-up-frames t)) (select-window (display-buffer buffer)))
+ (let ((pop-up-frames t))
+ (select-window (display-buffer buffer)))
(dframe-select-attached-frame speedbar-frame)
(switch-to-buffer buffer)))))
(let ((bwin (get-buffer-window buffer 0)))
@@ -332,7 +342,7 @@ The INDENT level is ignored."
(raise-frame (window-frame bwin)))
(if speedbar-power-click
(let ((pop-up-frames t)) (select-window (display-buffer buffer)))
- (select-frame speedbar-attached-frame)
+ (dframe-select-attached-frame speedbar-frame)
(switch-to-buffer buffer))))))
(defun erc-speedbar-line-text ()
@@ -359,3 +369,5 @@ The INDENT level is ignored."
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 7a6558a4-3308-4bf5-a284-e1d042c933c6
1.4 +64 -31 XEmacs/packages/xemacs-packages/erc/erc-spelling.el
Index: erc-spelling.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-spelling.el,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- erc-spelling.el 2005/10/15 18:15:30 1.3
+++ erc-spelling.el 2006/02/19 12:57:30 1.4
@@ -1,25 +1,27 @@
;;; erc-spelling.el --- use flyspell in ERC
-;; Copyright (C) 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2006 Free Software Foundation, Inc.
;; Author: Jorgen Schaefer <forcer(a)forcix.cx>
;; Keywords: irc
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcSpelling
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License
-;; as published by the Free Software Foundation; either version 2
-;; of the License, or (at your option) any later version.
+;; This file is part of GNU Emacs.
-;; This program is distributed in the hope that it will be useful,
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-;; 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -32,7 +34,7 @@
(require 'erc)
(require 'flyspell)
-(defconst erc-spelling-version "$Revision: 1.4 $"
+(defconst erc-spelling-version "$Revision: 1.6.2.2 $"
"ERC spelling revision.")
;;;###autoload (autoload 'erc-spelling-mode "erc-spelling" nil t)
@@ -40,8 +42,16 @@
"Enable flyspell mode in ERC buffers."
;; Use erc-connect-pre-hook instead of erc-mode-hook as pre-hook is
;; called AFTER the server buffer is initialized.
- ((add-hook 'erc-connect-pre-hook 'erc-spelling-init))
- ((remove-hook 'erc-connect-pre-hook 'erc-spelling-init)))
+ ((add-hook 'erc-connect-pre-hook 'erc-spelling-init)
+ (mapc (lambda (buffer)
+ (when buffer
+ (with-current-buffer buffer (erc-spelling-init))))
+ (erc-buffer-list)))
+ ((remove-hook 'erc-connect-pre-hook 'erc-spelling-init)
+ (mapc (lambda (buffer)
+ (when buffer
+ (with-current-buffer buffer (flyspell-mode 0))))
+ (erc-buffer-list))))
(defcustom erc-spelling-dictionaries nil
"An alist mapping buffer names to dictionaries.
@@ -51,7 +61,7 @@ The dictionary is inherited from server
default dictionary for some server, you can use a server buffer
name here."
:type '(choice (const nil)
- (repeat (cons (string :tag "Buffer")
+ (repeat (cons (string :tag "Buffer name")
(string :tag "Dictionary"))))
:group 'erc-spelling)
@@ -59,30 +69,53 @@ name here."
"Enable flyspell mode in an ERC buffer."
(let ((name (downcase (buffer-name)))
(dicts erc-spelling-dictionaries))
- (while (and dicts
- (not (string= name (downcase (caar dicts)))))
- (setq dicts (cdr dicts)))
- (setq ispell-local-dictionary
- (if dicts
- (cadr (car dicts))
- (let ((server (erc-server-buffer)))
- (if server
- (with-current-buffer server
- ispell-local-dictionary)
- nil)))))
+ (when dicts
+ (while (and dicts
+ (not (string= name (downcase (caar dicts)))))
+ (setq dicts (cdr dicts)))
+ (setq ispell-local-dictionary
+ (if dicts
+ (cadr (car dicts))
+ (let ((server (erc-server-buffer)))
+ (if server
+ (with-current-buffer server
+ ispell-local-dictionary)
+ nil))))))
+ (setq flyspell-generic-check-word-p 'erc-spelling-flyspell-verify)
(flyspell-mode 1))
-(put 'erc-mode
- 'flyspell-mode-predicate
- 'erc-spelling-flyspell-verify)
+(defun erc-spelling-unhighlight-word (word)
+ "Unhighlight the given WORD.
+The cadr is the beginning and the caddr is the end."
+ (let ((beg (nth 1 word))
+ (end (nth 2 word)))
+ (flyspell-unhighlight-at beg)
+ (when (> end beg)
+ (flyspell-unhighlight-at (1- end)))))
(defun erc-spelling-flyspell-verify ()
"Flyspell only the input line, nothing else."
- (> (point)
- (save-excursion
- (goto-char (erc-beg-of-input-line))
- (erc-bol))))
+ (let ((word-data (and (boundp 'flyspell-word)
+ flyspell-word)))
+ (when word-data
+ (cond ((< (point) erc-input-marker)
+ nil)
+ ;; don't spell-check names of users
+ ((and erc-channel-users
+ (erc-get-channel-user (car word-data)))
+ (erc-spelling-unhighlight-word word-data)
+ nil)
+ ;; if '/' occurs before the word, don't spell-check it
+ ((eq (char-before (nth 1 word-data)) ?/)
+ (erc-spelling-unhighlight-word word-data)
+ nil)
+ (t t)))))
+
+(put 'erc-mode
+ 'flyspell-mode-predicate
+ 'erc-spelling-flyspell-verify)
(provide 'erc-spelling)
+;; arch-tag: 04ae1c46-0fd1-4e1a-8b80-55bfa471c945
;;; erc-spelling.el ends here
1.8 +73 -37 XEmacs/packages/xemacs-packages/erc/erc-stamp.el
Index: erc-stamp.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-stamp.el,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- erc-stamp.el 2005/10/15 18:15:30 1.7
+++ erc-stamp.el 2006/02/19 12:57:30 1.8
@@ -1,25 +1,27 @@
;;; erc-stamp.el --- Timestamping for Emacs IRC CLient
-;; Copyright (C) 2002,2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: comm, processes, timestamp
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcStamp
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -36,7 +38,7 @@
(require 'erc)
(require 'erc-compat)
-(defconst erc-stamp-version "$Revision: 1.41 $"
+(defconst erc-stamp-version "$Revision: 1.45.2.4 $"
"ERC stamp mode revision.")
(defgroup erc-stamp nil
@@ -157,17 +159,6 @@ or `erc-send-modify-hook'."
(add-text-properties (point-min) (point-max)
(list 'point-entered 'erc-echo-timestamp)))))
-(defun erc-insert-timestamp-left (string)
- "Insert timestamps at the beginning of the line."
- (goto-char (point-min))
- (let* ((ignore-p (and erc-timestamp-only-if-changed-flag
- (string-equal string erc-timestamp-last-inserted)))
- (len (length string))
- (s (if ignore-p (make-string len ? ) string)))
- (unless ignore-p (setq erc-timestamp-last-inserted string))
- (erc-put-text-property 0 len 'field 'erc-timestamp s)
- (insert s)))
-
(defvar erc-timestamp-last-inserted nil
"Last timestamp inserted into the buffer.")
(make-variable-buffer-local 'erc-timestamp-last-inserted)
@@ -192,6 +183,43 @@ the correct column."
(integer :tag "Column number")
(const :tag "Unspecified" nil)))
+(defcustom erc-timestamp-use-align-to (and (not (featurep 'xemacs))
+ (>= emacs-major-version 22)
+ (eq window-system 'x))
+ "*If non-nil, use the :align-to display property to align the stamp.
+This gives better results when variable-width characters (like
+Asian language characters and math symbols) precede a timestamp.
+Unfortunately, it only works in Emacs 22 and when using the X
+Window System.
+
+A side effect of enabling this is that there will only be one
+space before a right timestamp in any saved logs."
+:group 'erc-stamp
+:type 'boolean)
+
+(defun erc-insert-timestamp-left (string)
+ "Insert timestamps at the beginning of the line."
+ (goto-char (point-min))
+ (let* ((ignore-p (and erc-timestamp-only-if-changed-flag
+ (string-equal string erc-timestamp-last-inserted)))
+ (len (length string))
+ (s (if ignore-p (make-string len ? ) string)))
+ (unless ignore-p (setq erc-timestamp-last-inserted string))
+ (erc-put-text-property 0 len 'field 'erc-timestamp s)
+ (insert s)))
+
+(defun erc-insert-aligned (string pos)
+ "Insert STRING at the POSth column.
+
+If `erc-timestamp-use-align-to' is t, use the :align-to display
+property to get to the POSth column."
+ (if (not erc-timestamp-use-align-to)
+ (indent-to pos)
+ (insert " ")
+ (put-text-property (1- (point)) (point) 'display
+ (list 'space ':align-to pos)))
+ (insert string))
+
(defun erc-insert-timestamp-right (string)
"Insert timestamp on the right side of the screen.
STRING is the timestamp to insert. The function is a possible value
@@ -215,30 +243,36 @@ be printed just before the window-width.
(goto-char (point-max))
(forward-char -1);; before the last newline
(let* ((current-window (get-buffer-window (current-buffer)))
+ (str-width (string-width string))
(pos (cond
- (erc-timestamp-right-column
- (+ erc-timestamp-right-column (length string)))
+ (erc-timestamp-right-column erc-timestamp-right-column)
((and (boundp 'erc-fill-mode)
erc-fill-mode
- (boundp 'erc-fill-column))
- (1+ erc-fill-column))
- (current-window
- (- (window-width current-window)
- 1))
+ (boundp 'erc-fill-column)
+ erc-fill-column)
+ (1+ (- erc-fill-column str-width)))
(fill-column
- (1+ fill-column))
+ (1+ (- fill-column str-width)))
(t
- (- (window-width)
- 1))))
- (from (point)))
- (setq pos (- pos (length string)))
- (if (= pos (indent-to pos))
- (insert string)
- (newline)
- (indent-to pos)
- (insert string))
- (erc-put-text-property from (1+ (point)) 'field 'erc-timestamp)
- (erc-put-text-property from (1+ (point)) 'rear-nonsticky t))))
+ (- (window-width) str-width 1))))
+ (from (point))
+ (col (current-column))
+ indent)
+ ;; The following is a kludge used to calculate whether to move
+ ;; to the next line before inserting a stamp. It allows for
+ ;; some margin of error if what is displayed on the line differs
+ ;; from the number of characters on the line.
+ (setq col (+ col (ceiling (/ (- col (- (point) (point-at-bol))) 1.6))))
+ (if (< col pos)
+ (erc-insert-aligned string pos)
+ (newline)
+ (indent-to pos)
+ (setq from (point))
+ (insert string))
+ (erc-put-text-property from (1+ (point)) 'field 'erc-timestamp)
+ (erc-put-text-property from (1+ (point)) 'rear-nonsticky t)
+ (when erc-timestamp-intangible
+ (erc-put-text-property from (1+ (point)) 'intangible t)))))
;; for testing: (setq erc-timestamp-only-if-changed-flag nil)
@@ -306,3 +340,5 @@ NOW is position of point currently."
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 57aefab4-63e0-4c48-91d5-6efa145487e0
1.10 +88 -84 XEmacs/packages/xemacs-packages/erc/erc-track.el
Index: erc-track.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-track.el,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -p -r1.9 -r1.10
--- erc-track.el 2005/10/15 18:15:30 1.9
+++ erc-track.el 2006/02/19 12:57:30 1.10
@@ -1,25 +1,27 @@
;;; erc-track.el --- Track modified channel buffers
-;; Copyright (C) 2002,2003,2004,2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: comm, faces
;; URL:
http://www.emacswiki.org/cgi-bin/wiki.pl?ErcChannelTracking
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -33,13 +35,14 @@
;; * Add extensibility so that custom functions can track
;; custom modification types.
+(eval-when-compile (require 'cl))
(require 'erc)
(require 'erc-compat)
(require 'erc-match)
;;; Code:
-(defconst erc-track-version "$Revision: 1.79 $"
+(defconst erc-track-version "$Revision: 1.86.2.1 $"
"ERC track mode revision")
(defgroup erc-track nil
@@ -130,8 +133,7 @@ If nil instead of a function, shortening
function))
(defcustom erc-track-use-faces t
- "*If non-nil, use faces to indicate current nick/pal/fool/keyword/dangerous
-host activities in the mode-line.
+ "*Use faces in the mode-line.
The faces used are the same as used for text in the buffers.
\(e.g. `erc-pal-face' is used if a pal sent a message to that channel.)"
:group 'erc-track
@@ -139,7 +141,7 @@ The faces used are the same as used for
(defcustom erc-track-faces-priority-list
'(erc-error-face erc-current-nick-face erc-keyword-face erc-pal-face
- erc-nick-msg-face erc-direct-msg-face erc-dangerous-host-face
+ erc-nick-msg-face erc-direct-msg-face erc-button erc-dangerous-host-face
erc-default-face erc-action-face erc-nick-default-face erc-fool-face
erc-notice-face erc-input-face erc-prompt-face)
"A list of faces used to highlight active buffer names in the modeline.
@@ -149,13 +151,14 @@ be highlighted using that face. The fir
:type '(repeat face))
(defcustom erc-track-priority-faces-only nil
- "If you would like to ignore changes in certain channels where there
-are no faces corresponding to your erc-track-faces-priority-list, set
+ "Only track text highlighted with a priority face.
+If you would like to ignore changes in certain channels where there
+are no faces corresponding to your `erc-track-faces-priority-list', set
this variable. You can set a list of channel name strings, so those
will be ignored while all other channels will be tracked as normal.
Other options are 'all, to apply this to all channels or nil, to disable
this feature.
-Note: If you have a lot of faces listed in erc-track-faces-priority-list,
+Note: If you have a lot of faces listed in `erc-track-faces-priority-list',
setting this variable might not be very useful."
:group 'erc-track
:type '(choice (const nil)
@@ -221,14 +224,45 @@ and `erc-track-showcount'.
Entries in this list should only happen for buffers where activity occurred
while the buffer was not visible.")
+(defcustom erc-track-showcount nil
+ "If non-nil, count of unseen messages will be shown for each channel."
+:type 'boolean
+:group 'erc-track)
+
+(defcustom erc-track-showcount-string ":"
+ "The string to display between buffer name and the count in the mode line.
+The default is a colon, resulting in \"#emacs:9\"."
+:type 'string
+:group 'erc-track)
+
+(defcustom erc-track-switch-from-erc t
+ "If non-nil, `erc-track-switch-buffer' will return to the last non-erc buffer
+when there are no more active channels."
+:type 'boolean
+:group 'erc-track)
+
+(defcustom erc-track-switch-direction 'oldest
+ "Direction `erc-track-switch-buffer' should switch.
+
+ oldest - find oldest active buffer
+ newest - find newest active buffer
+ leastactive - find buffer with least unseen messages
+ mostactive - find buffer with most unseen messages."
+:group 'erc-track
+:type '(choice (const oldest)
+ (const newest)
+ (const leastactive)
+ (const mostactive)))
+
(defun erc-track-remove-from-mode-line ()
"Remove `erc-track-modified-channels' from the mode-line"
(when (boundp 'mode-line-modes)
(setq mode-line-modes
(remove '(t erc-modified-channels-object) mode-line-modes)))
- (setq global-mode-string
- (delq 'erc-modified-channels-object global-mode-string)))
+ (when (consp global-mode-string)
+ (setq global-mode-string
+ (delq 'erc-modified-channels-object global-mode-string))))
(defun erc-track-add-to-mode-line (position)
"Add `erc-track-modified-channels' to POSITION in the mode-line.
@@ -366,7 +400,7 @@ START is the minimum length of the name
;;; Test:
-(assert
+(erc-assert
(and
;; verify examples from the doc strings
(equal (let ((erc-track-shorten-aggressively nil))
@@ -680,9 +714,10 @@ is in `erc-mode'."
(unless (and
(or (eq erc-track-priority-faces-only 'all)
(member this-channel erc-track-priority-faces-only))
- (not (dolist (f faces)
- (when (member f erc-track-faces-priority-list)
- (return t)))))
+ (not (catch 'found
+ (dolist (f faces)
+ (when (member f erc-track-faces-priority-list)
+ (throw 'found t))))))
(if (not (assq (current-buffer) erc-modified-channels-alist))
;; Add buffer, faces and counts
(setq erc-modified-channels-alist
@@ -698,7 +733,7 @@ is in `erc-mode'."
(if old-face
(cons old-face faces)
faces))))
- (setcdr cell (cons (1+ (second cell)) new-face)))))
+ (setcdr cell (cons (1+ (cadr cell)) new-face)))))
;; And display it
(erc-modified-channels-display)))
;; Else if the active buffer is the current buffer, remove it
@@ -723,7 +758,7 @@ is in `erc-mode'."
(add-to-list 'faces face)))
faces))
-(assert
+(erc-assert
(let ((str "is bold"))
(put-text-property 3 (length str)
'face '(bold erc-current-nick-face)
@@ -732,46 +767,17 @@ is in `erc-mode'."
(defun erc-find-parsed-property ()
"Find the next occurrence of the `erc-parsed' text property."
- (let ((pos (point-min)))
- (while (and pos (not (get-text-property pos 'erc-parsed)))
- (setq pos (next-single-property-change pos 'erc-parsed)))
- pos))
+ (text-property-not-all (point-min) (point-max) 'erc-parsed nil))
;;; Buffer switching
-(defcustom erc-track-switch-from-erc t
- "If non-nil, `erc-track-switch-buffer' will return to the last non-erc buffer
-when there are no more active channels."
-:type 'boolean
-:group 'erc-track)
-
-(defcustom erc-track-showcount nil
- "If non-nil, count of unseen messages will be shown for each channel."
-:type 'boolean
-:group 'erc-track)
-
-(defcustom erc-track-showcount-string ":"
- "The string to display between buffer name and the count in the mode line.
-The default is a colon, resulting in \"#emacs:9\"."
-:type 'string
-:group 'erc-track)
-
-(defcustom erc-track-switch-direction 'oldest
- "Direction `erc-track-switch-buffer' should switch.
-'oldest will find the oldest active buffer.
-'newest finds the latest, 'leastactive finds buffer with least unseen messages,
-'mostactive - with most unseen messages."
-:group 'erc-track
-:type '(choice (const oldest) (const newest) (const leastactive)
- (const mostactive)))
-
(defvar erc-track-last-non-erc-buffer nil
"Stores the name of the last buffer you were in before activating
`erc-track-switch-buffers'")
(defun erc-track-sort-by-activest ()
- "Sorts erc-modified-channels-alist by 'activeness'
-\(count of not seen messages) of channel"
+ "Sort erc-modified-channels-alist by activity.
+That means the number of unseen messages in a channel."
(setq erc-modified-channels-alist
(sort erc-modified-channels-alist
(lambda (a b) (> (nth 1 a) (nth 1 b))))))
@@ -782,25 +788,23 @@ Negative arguments index in the opposite
relative to `erc-track-switch-direction'"
(let ((dir erc-track-switch-direction)
offset)
- (if (< arg 0)
- (progn
- (cond
- ((eq 'oldest dir) (setq dir 'newest))
- ((eq 'newest dir) (setq dir 'oldest))
- ((eq 'mostactive dir) (setq dir 'leastactive))
- ((eq 'leastactive dir) (setq dir 'mostacive)))
- (setq arg (* -1 arg))))
- (setq arg (- arg 1))
- (setq offset (cond
- ((or (eq 'oldest dir) (eq 'leastactive dir))
- (- (- (length erc-modified-channels-alist) 1) arg))
- (t 0)))
+ (when (< arg 0)
+ (setq dir (case dir
+ (oldest 'newest)
+ (newest 'oldest)
+ (mostactive 'leastactive)
+ (leastactive 'mostactive)))
+ (setq arg (- arg)))
+ (setq offset (case dir
+ ((oldest leastactive)
+ (- (length erc-modified-channels-alist) arg))
+ (t (1- arg))))
;; normalise out of range user input
- (if (>= offset (length erc-modified-channels-alist))
- (setq offset (- (length erc-modified-channels-alist) 1))
- (if (< offset 0)
- (setq offset 0))
- (car (nth offset erc-modified-channels-alist)))))
+ (cond ((>= offset (length erc-modified-channels-alist))
+ (setq offset (1- (length erc-modified-channels-alist))))
+ ((< offset 0)
+ (setq offset 0)))
+ (car (nth offset erc-modified-channels-alist))))
(defun erc-track-switch-buffer (arg)
"Switch to the next active ERC buffer, or if there are no active buffers,
@@ -808,19 +812,17 @@ switch back to the last non-ERC buffer v
`erc-track-switch-direction', a negative argument will reverse this."
(interactive "p")
(when erc-track-mode
- (let ((dir erc-track-switch-direction))
- (if erc-modified-channels-alist
- (progn
- ;; if we're not in erc-mode, set this buffer to return to
- (unless (eq major-mode 'erc-mode)
- (setq erc-track-last-non-erc-buffer (current-buffer)))
- ;; and jump to the next active channel
- (switch-to-buffer (erc-track-get-active-buffer arg)))
- ;; if no active channels, switch back to what we were doing before
- (when (and erc-track-last-non-erc-buffer
- erc-track-switch-from-erc
- (buffer-live-p erc-track-last-non-erc-buffer))
- (switch-to-buffer erc-track-last-non-erc-buffer))))))
+ (cond (erc-modified-channels-alist
+ ;; if we're not in erc-mode, set this buffer to return to
+ (unless (eq major-mode 'erc-mode)
+ (setq erc-track-last-non-erc-buffer (current-buffer)))
+ ;; and jump to the next active channel
+ (switch-to-buffer (erc-track-get-active-buffer arg)))
+ ;; if no active channels, switch back to what we were doing before
+ ((and erc-track-last-non-erc-buffer
+ erc-track-switch-from-erc
+ (buffer-live-p erc-track-last-non-erc-buffer))
+ (switch-to-buffer erc-track-last-non-erc-buffer)))))
;; These bindings are global, because they pop us from any other
;; buffer to an active ERC buffer!
@@ -836,3 +838,5 @@ switch back to the last non-ERC buffer v
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 11b439f5-e5d7-4c6c-bb3f-eda98f9b0ac1
1.5 +33 -23 XEmacs/packages/xemacs-packages/erc/erc-truncate.el
Index: erc-truncate.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-truncate.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- erc-truncate.el 2005/10/15 18:15:30 1.4
+++ erc-truncate.el 2006/02/19 12:57:30 1.5
@@ -1,24 +1,26 @@
;;; erc-truncate.el --- Functions for truncating ERC buffers
-;; Copyright (C) 2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf(a)void.at>
;; Keywords: IRC, chat, client, Internet, logging
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -36,7 +38,8 @@
:group 'erc)
(defcustom erc-max-buffer-size 30000
- "*Maximum size in chars of each ERC buffer. Used only when auto-truncation is
enabled.
+ "*Maximum size in chars of each ERC buffer.
+Used only when auto-truncation is enabled.
\(see `erc-truncate-buffer' and `erc-insert-post-hook')."
:group 'erc-truncate
:type 'integer)
@@ -78,22 +81,22 @@ region is logged if `erc-logging-enabled
(goto-char end)
(beginning-of-line)
(setq end (point))
- ;; try to save the current buffer using
- ;; `erc-save-buffer-in-logs'. We use this, in case the
- ;; user has both `erc-save-buffer-in-logs' and
- ;; `erc-truncate-buffer' in `erc-insert-post-hook'. If
- ;; this is the case, only the non-saved part of the current
- ;; buffer should be saved. Rather than appending the
- ;; deleted part of the buffer to the log file.
- ;;
- ;; Alternatively this could be made conditional on:
- ;; (not (memq 'erc-save-buffer-in-logs
- ;; erc-insert-post-hook))
- ;; Comments?
- (when (and (boundp 'erc-enable-logging)
- erc-enable-logging
- (erc-logging-enabled buffer))
- (erc-save-buffer-in-logs))
+ ;; try to save the current buffer using
+ ;; `erc-save-buffer-in-logs'. We use this, in case the
+ ;; user has both `erc-save-buffer-in-logs' and
+ ;; `erc-truncate-buffer' in `erc-insert-post-hook'. If
+ ;; this is the case, only the non-saved part of the current
+ ;; buffer should be saved. Rather than appending the
+ ;; deleted part of the buffer to the log file.
+ ;;
+ ;; Alternatively this could be made conditional on:
+ ;; (not (memq 'erc-save-buffer-in-logs
+ ;; erc-insert-post-hook))
+ ;; Comments?
+ (when (and (boundp 'erc-enable-logging)
+ erc-enable-logging
+ (erc-logging-enabled buffer))
+ (erc-save-buffer-in-logs))
;; disable undoing for the truncating
(buffer-disable-undo)
(let ((inhibit-read-only t))
@@ -109,3 +112,10 @@ Meant to be used in hooks, like `erc-ins
(provide 'erc-truncate)
;;; erc-truncate.el ends here
+;;
+;; Local Variables:
+;; indent-tabs-mode: t
+;; tab-width: 8
+;; End:
+
+;; arch-tag: 22a2ea78-871f-4870-8f1e-efe534170311
1.4 +24 -20 XEmacs/packages/xemacs-packages/erc/erc-viper.el
Index: erc-viper.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-viper.el,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- erc-viper.el 2005/10/15 18:15:30 1.3
+++ erc-viper.el 2006/02/19 12:57:30 1.4
@@ -5,20 +5,22 @@
;; Author: Edward O'Connor <ted(a)oconnor.cx>
;; Keywords: emulation
-;; This file is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published by the
-;; Free Software Foundation; either version 2, or (at your option) any
-;; later version.
-
-;; This file is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;; General Public License for more details.
+;; This file is part of GNU Emacs.
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -38,15 +40,15 @@
(require 'erc)
;; Fix RET in ERC buffers, by telling Viper to pass RET through to the
-;; normal keymap.
-
-(add-to-list 'viper-major-mode-modifier-list
- '(erc-mode insert-state viper-comint-mode-modifier-map))
-(add-to-list 'viper-major-mode-modifier-list
- '(erc-mode vi-state viper-comint-mode-modifier-map))
+;; normal keymap. Do this conditionally, as this version of Viper may
+;; already do this for us.
+(unless (assoc 'erc-mode viper-major-mode-modifier-list)
+ (add-to-list 'viper-major-mode-modifier-list
+ '(erc-mode insert-state viper-comint-mode-modifier-map))
+ (add-to-list 'viper-major-mode-modifier-list
+ '(erc-mode vi-state viper-comint-mode-modifier-map))
+ (viper-apply-major-mode-modifiers))
-(viper-apply-major-mode-modifiers)
-
;; Ensure that ERC buffers come up in insert state.
(add-to-list 'viper-insert-state-mode-list 'erc-mode)
@@ -67,4 +69,6 @@
(erc-buffer-list))
(provide 'erc-viper)
+
+;; arch-tag: 659fa645-e9ad-428c-ad53-8304d9f900f6
;;; erc-viper.el ends here
1.5 +10 -6 XEmacs/packages/xemacs-packages/erc/erc-xdcc.el
Index: erc-xdcc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-xdcc.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- erc-xdcc.el 2005/10/15 18:15:30 1.4
+++ erc-xdcc.el 2006/02/19 12:57:31 1.5
@@ -1,24 +1,26 @@
;;; erc-xdcc.el --- XDCC file-server support for ERC
-;; Copyright (C) 2003,2004 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang(a)delysid.org>
;; Keywords: comm, processes
-;; This file is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; This file is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-;; Boston, MA 02110-1301 USA
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -123,4 +125,6 @@ being evaluated and should return stings
(t (erc-dcc-send-file nick (nth (1- n) erc-xdcc-files) proc)))))
(provide 'erc-xdcc)
+
+;; arch-tag: a13b62fe-2399-4562-af4e-f18a8dd4b9c8
;;; erc-xdcc.el ends here
1.14 +144 -128 XEmacs/packages/xemacs-packages/erc/erc.el
Index: erc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc.el,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -p -r1.13 -r1.14
--- erc.el 2005/10/20 22:49:51 1.13
+++ erc.el 2006/02/19 12:57:31 1.14
@@ -1,8 +1,7 @@
;; erc.el --- An Emacs Internet Relay Chat client
-;; Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004,2005
-;; Free Software Foundation, Inc.
-;; Copyright (C) 2004 Jeremy Bertram Maitin-Shepard
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Copyright (C) 2004 Brian Palmer
;; Author: Alexander L. Belikoff (alexander(a)belikoff.net)
@@ -15,19 +14,22 @@
;; Maintainer: Mario Lang (mlang(a)delysid.org)
;; Keywords: IRC, chat, client, Internet
-;; This program is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2 of the License, or
-;; (at your option) any later version.
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
-;; This program is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, write to the Free Software
-;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -64,10 +66,10 @@
;;; Code:
-(defconst erc-version-string "Version 5.0 (CVS) $Revision: 1.776 $"
+(defconst erc-version-string "Version 5.1.1 $Revision: 1.796.2.3 $"
"ERC version. This is used by function `erc-version'.")
-(require 'cl)
+(eval-when-compile (require 'cl))
(require 'font-lock)
(require 'pp)
(require 'thingatpt)
@@ -132,9 +134,8 @@
(erc-make-obsolete-variable 'erc-default-coding-system
'erc-server-coding-system
"ERC 5.1"))
- (message (concat "ERC: You're using an old version of Emacs; "
- "this might break backward-compatibility attempts "
- "for old versions of ERC.")))
+ (message (concat "ERC: The function `defvaralias' is not bound. See the
"
+ "NEWS file for variable name changes since ERC 5.0.4.")))
(defalias 'erc-send-command 'erc-server-send)
(erc-make-obsolete 'erc-send-command 'erc-server-send "ERC 5.1")
@@ -452,7 +453,7 @@ See also: `erc-remove-server-user' and
Removes all users in the current channel. This is called by
`erc-server-PART' and `erc-server-QUIT'."
(when (and erc-server-connected
- (erc-process-alive)
+ (erc-server-process-alive)
(hash-table-p erc-channel-users))
(maphash (lambda (nick cdata)
(erc-remove-channel-user nick))
@@ -491,7 +492,7 @@ See also: `erc-sort-channel-users-by-act
(defun erc-get-server-nickname-list ()
"Returns a list of known nicknames on the current server."
- (if (erc-process-alive)
+ (if (erc-server-process-alive)
(with-current-buffer (erc-server-buffer)
(let (nicks)
(when (hash-table-p erc-server-users)
@@ -515,7 +516,7 @@ See also: `erc-sort-channel-users-by-act
(defun erc-get-server-nickname-alist ()
"Returns an alist of known nicknames on the current server."
- (if (erc-process-alive)
+ (if (erc-server-process-alive)
(with-current-buffer (erc-server-buffer)
(let (nicks)
(when (hash-table-p erc-server-users)
@@ -585,6 +586,10 @@ E.g. '(\"i\" \"m\" \"s\" \"b
Quake!*@*\"
"The place where insertion of new text in erc buffers should happen.")
(make-variable-buffer-local 'erc-insert-marker)
+(defvar erc-input-marker nil
+ "The marker where input should be inserted.")
+(make-variable-buffer-local 'erc-input-marker)
+
(defun erc-string-no-properties (string)
"Return a copy of STRING will all text-properties removed."
(let ((newstring (copy-sequence string)))
@@ -793,10 +798,13 @@ people. You can update the ERC internal
:group 'erc-ignore
:type '(repeat regexp))
-(defvar erc-flood-protect 'normal
+(defvar erc-flood-protect t
"*If non-nil, flood protection is enabled.
-Flooding is sending too much information to the server in too short time,
-which may result in loosing connection.")
+Flooding is sending too much information to the server in too
+short of an interval, which may cause the server to terminate the
+connection.
+
+See `erc-server-flood-margin' for other flood-related parameters.")
;; Script parameters
@@ -1057,6 +1065,7 @@ which the local user typed."
(let ((map (make-sparse-keymap)))
(define-key map "\C-m" 'erc-send-current-line)
(define-key map "\C-a" 'erc-bol)
+ (define-key map [home] 'erc-bol)
(define-key map "\C-c\C-a" 'erc-bol)
(define-key map "\C-c\C-b" 'erc-iswitchb)
(define-key map "\C-c\C-c" 'erc-toggle-interpret-controls)
@@ -1102,33 +1111,42 @@ which the local user typed."
(defface erc-default-face '((t))
"ERC default face."
:group 'erc-faces)
+
(defface erc-direct-msg-face '((t (:foreground "IndianRed")))
"ERC face used for messages you receive in the main erc buffer."
:group 'erc-faces)
+
(defface erc-input-face '((t (:foreground "brown")))
"ERC face used for your input."
:group 'erc-faces)
+
(defface erc-prompt-face
'((t (:bold t :foreground "Black" :background"lightBlue2")))
"ERC face for the prompt."
:group 'erc-faces)
+
(defface erc-command-indicator-face
'((t (:bold t)))
- "ERC face for the command indicator. See the variable
-`erc-command-indicator'."
+ "ERC face for the command indicator.
+See the variable `erc-command-indicator'."
:group 'erc-faces)
+
(defface erc-notice-face '((t (:bold t :foreground "SlateBlue")))
"ERC face for notices."
:group 'erc-faces)
+
(defface erc-action-face '((t (:bold t)))
"ERC face for actions generated by /ME."
:group 'erc-faces)
+
(defface erc-error-face '((t (:foreground "red")))
"ERC face for errors."
:group 'erc-faces)
+
(defface erc-nick-default-face '((t (:bold t)))
"ERC nickname default face."
:group 'erc-faces)
+
(defface erc-nick-msg-face '((t (:bold t :foreground "IndianRed")))
"ERC nickname face for private messages."
:group 'erc-faces)
@@ -1228,7 +1246,7 @@ capabilities."
(unless (erc-server-buffer-p)
(error
"You should only run `erc-once-with-server-event' in a server
buffer"))
- (let ((fun (gensym))
+ (let ((fun (erc-gensym))
(hook (erc-get-hook event)))
(put fun 'erc-original-buffer (current-buffer))
(fset fun `(lambda (proc parsed)
@@ -1251,7 +1269,7 @@ not be run.
When FORMS execute, the current buffer is the server buffer associated with the
connection over which the data was received that triggered EVENT."
- (let ((fun (gensym))
+ (let ((fun (erc-gensym))
(hook (erc-get-hook event)))
(fset fun `(lambda (proc parsed)
(remove-hook ',hook ',fun)
@@ -1517,18 +1535,20 @@ All strings are compared according to IR
SPEC should have the form
(TARGET [PROCESS])
+
+If TARGET is a buffer, use it. Otherwise, use the buffer
+matching TARGET in the process specified by PROCESS.
-If TARGET is a buffer, use this one. Otherwise, use the buffer
-matching TARGET in the process specified by PROCESS or, if PROCESS is
-nil, the current `erc-server-process' (see `erc-get-buffer').
+If PROCESS is nil, use the current `erc-server-process'
+See `erc-get-buffer' for details.
See also `with-current-buffer'.
\(fn (TARGET [PROCESS]) BODY...)"
- (let ((buf (gensym))
- (proc (gensym))
- (target (gensym))
- (process (gensym)))
+ (let ((buf (erc-gensym))
+ (proc (erc-gensym))
+ (target (erc-gensym))
+ (process (erc-gensym)))
`(let* ((,target ,(car spec))
(,process ,(cadr spec))
(,buf (if (bufferp ,target)
@@ -1592,8 +1612,8 @@ FORMS will be evaluated in all buffers h
where PRED matches or in all buffers of the server process if PRED is
nil."
;; Make the evaluation have the correct order
- (let ((pre (gensym))
- (pro (gensym)))
+ (let ((pre (erc-gensym))
+ (pro (erc-gensym)))
`(let ((,pro ,process)
(,pre ,pred))
(mapcar (lambda (buffer)
@@ -1614,7 +1634,8 @@ If `erc-track-mode' is in enabled, put t
Due to some yet unresolved reason, global function `iswitchb-mode'
needs to be active for this function to work."
(interactive "P")
- (require 'iswitchb)
+ (eval-when-compile
+ (require 'iswitchb))
(let ((iswitchb-make-buflist-hook
(lambda ()
(setq iswitchb-temp-buflist
@@ -1626,7 +1647,9 @@ needs to be active for this function to
(switch-to-buffer
(iswitchb-read-buffer
"Switch-to: "
- (buffer-name (caar (last erc-modified-channels-alist)))
+ (if (boundp 'erc-modified-channels-alist)
+ (buffer-name (caar (last erc-modified-channels-alist)))
+ nil)
t))))
(defun erc-channel-list (proc)
@@ -1693,8 +1716,9 @@ all channel buffers on all servers."
"Used to keep track of how many times an attempt at changing nick is made.")
(make-variable-buffer-local 'erc-nick-change-attempt-count)
-(defcustom erc-modules '(netsplit fill track pcomplete ring button autojoin
- noncommands irccontrols)
+(defcustom erc-modules '(netsplit fill button match track pcomplete readonly
+ ring autojoin noncommands irccontrols
+ stamp)
"A list of modules which erc should enable.
If you set the value of this without using `customize' remember to call
\(erc-update-modules) after you change it. When using `customize', modules
@@ -1748,14 +1772,6 @@ removed from the list will be disabled."
(repeat :tag "Others" :inline t symbol))
:group 'erc)
-;; We use eval-after-load here to ensure recursive dependencies don't
-;; break things. E.g. we might want to require erc-foo.el which uses
-;; erc.el, so it should be loaded after this file is loaded.
-(eval-after-load "erc" '(and
- ;; Make sure we finished loading erc.
- (featurep 'erc)
- (erc-update-modules)))
-
(defun erc-update-modules ()
"Run this to enable erc-foo-mode for all modules in `erc-modules'."
(let (req)
@@ -1769,7 +1785,9 @@ removed from the list will be disabled."
((string= req "erc-services")
(setq req "erc-nickserv")
(setq mod 'services)))
- (load req t)
+ (condition-case nil
+ (require (intern req))
+ (error nil))
(funcall (or (intern-soft (concat "erc-" (symbol-name mod)
"-mode"))
(error "`%s' is not a known ERC module" mod))
1))))
@@ -1800,7 +1818,7 @@ removed from the list will be disabled."
(defun erc (&optional server port nick full-name
connect passwd tgt-list channel process)
- "Run the Emacs Internet Relay Chat Client.
+ "ERC is a powerful, modular, and extensible IRC client.
Connect to SERVER on PORT as NICK with FULL-NAME.
@@ -1817,18 +1835,29 @@ Returns the buffer for the given server
erc-server-announced-name))
(connected-p (unless connect erc-server-connected))
(buffer (erc-get-buffer-create server port channel))
- (old-buffer (current-buffer)))
+ (old-buffer (current-buffer))
+ continued-session)
+ (erc-update-modules)
(set-buffer buffer)
(erc-mode)
(setq erc-server-announced-name server-announced-name)
(setq erc-server-connected connected-p)
- ;; go to the end of the buffer and open a new line
- ;; (the buffer may have existed)
- (goto-char (point-max))
- (insert "\n")
;; connection parameters
(setq erc-server-process process)
(setq erc-insert-marker (make-marker))
+ (setq erc-input-marker (make-marker))
+ ;; go to the end of the buffer and open a new line
+ ;; (the buffer may have existed)
+ (goto-char (point-max))
+ (forward-line 0)
+ (when (get-text-property (point) 'erc-prompt)
+ (setq continued-session t)
+ (set-marker erc-input-marker
+ (or (next-single-property-change (point) 'erc-prompt)
+ (point-max))))
+ (unless continued-session
+ (goto-char (point-max))
+ (insert "\n"))
(set-marker erc-insert-marker (point))
;; stack of default recipients
(setq erc-default-recipients tgt-list)
@@ -1880,12 +1909,15 @@ Returns the buffer for the given server
(erc-server-connect erc-session-server erc-session-port))
(erc-update-mode-line)
(set-marker erc-insert-marker (point))
- (goto-char (point-max))
- (insert "\n")
+ (unless continued-session
+ (goto-char (point-max))
+ (insert "\n"))
(set-marker (process-mark erc-server-process) (point))
- (set-marker erc-insert-marker (point))
- (erc-display-prompt)
- (goto-char (point-max))
+ (if continued-session
+ (goto-char (point-max))
+ (set-marker erc-insert-marker (point))
+ (erc-display-prompt)
+ (goto-char (point-max)))
;; Now display the buffer in a window as per user wishes.
(unless (eq buffer old-buffer)
@@ -1918,7 +1950,7 @@ whether the connection is still alive.
If no buffer matches, return nil."
(erc-buffer-list
(lambda ()
- (and (erc-process-alive)
+ (and (erc-server-process-alive)
(string= erc-session-server server)
(erc-port-equal erc-session-port port)
(erc-current-nick-p nick)))))
@@ -2323,23 +2355,6 @@ See also `erc-server-send'."
line)))
(erc-server-send line force target))
-;; if we're in emacs21 CVS, we use help-function-arglist which is more
-;; sophisticated and can handle subrs, etc
-(if (fboundp 'help-function-arglist)
- (defalias 'erc-function-arglist 'help-function-arglist)
- (defun erc-function-arglist (fun)
- "Returns the arglist signature of FUN"
- (let ((def (symbol-function fun)))
- (ignore-errors
- ;; load an autoloaded function first
- (when (equal 'autoload (car-safe def))
- (load (second def))
- (setq def (symbol-function fun)))
- (if (listp def)
- (second def)
- (format "[Arglist not available, try %s instead]"
- (substitute-command-keys "\\[describe-function]")))))))
-
(defun erc-get-arglist (fun)
"Return the argument list of a function without the parens."
(let ((arglist (format "%S" (erc-function-arglist fun))))
@@ -2412,7 +2427,8 @@ that since multi-line messages are never
need this when pasting multiple lines of text."
(if (string-match "^\\s-*$" line)
nil
- (erc-process-input-line line nil t)))
+ (string-match "^ ?\\(.*\\)" line)
+ (erc-process-input-line (match-string 1 line) nil t)))
(put 'erc-cmd-SAY 'do-not-parse-args t)
(defun erc-cmd-SET (line)
@@ -3055,6 +3071,7 @@ the message given by REASON."
(current-buffer))
(erc-log (format "cmd: QUIT: %s" reason))
(setq erc-server-quitting t)
+ (erc-set-active-buffer (erc-server-buffer))
(erc-server-send (format "QUIT :%s" reason)))
(run-hook-with-args 'erc-quit-hook erc-server-process)
(when erc-kill-queries-on-quit
@@ -3071,7 +3088,7 @@ the message given by REASON."
"Disconnect from all servers at once with the same quit REASON."
(erc-with-all-buffers-of-server nil #'(lambda ()
(and (erc-server-buffer-p)
- (erc-process-alive)))
+ (erc-server-process-alive)))
(erc-cmd-QUIT reason)))
(defalias 'erc-cmd-GQ 'erc-cmd-GQUIT)
@@ -3391,17 +3408,17 @@ If FACE is non-nil, it will be used to p
(let* ((prompt (or prompt (erc-prompt)))
(l (length prompt))
(ob (current-buffer)))
- (when (> l 0)
- ;; We cannot use save-excursion because we move point, therefore
- ;; we resort to the ol' ob trick to restore this.
- (when (and buffer (bufferp buffer))
- (set-buffer buffer))
+ ;; We cannot use save-excursion because we move point, therefore
+ ;; we resort to the ol' ob trick to restore this.
+ (when (and buffer (bufferp buffer))
+ (set-buffer buffer))
- ;; now save excursion again to store where point and mark are
- ;; in the current buffer
- (save-excursion
- (setq pos (or pos (point)))
- (goto-char pos)
+ ;; now save excursion again to store where point and mark are
+ ;; in the current buffer
+ (save-excursion
+ (setq pos (or pos (point)))
+ (goto-char pos)
+ (when (> l 0)
;; Do not extend the text properties when typing at the end
;; of the prompt, but stuff typed in front of the prompt
;; shall remain part of the prompt.
@@ -3415,16 +3432,18 @@ If FACE is non-nil, it will be used to p
'face (or face 'erc-prompt-face)
prompt)
(insert prompt))
+ ;; Set the input marker
+ (set-marker erc-input-marker (point)))
- ;; Now we are back at the old position. If the prompt was
- ;; inserted here or before us, advance point by the length of
- ;; the prompt.
- (when (or (not pos) (<= (point) pos))
- (forward-char l))
- ;; Clear the undo buffer now, so the user can undo his stuff,
- ;; but not the stuff we did. Sneaky!
- (setq buffer-undo-list nil)
- (set-buffer ob))))
+ ;; Now we are back at the old position. If the prompt was
+ ;; inserted here or before us, advance point by the length of
+ ;; the prompt.
+ (when (or (not pos) (<= (point) pos))
+ (forward-char l))
+ ;; Clear the undo buffer now, so the user can undo his stuff,
+ ;; but not the stuff we did. Sneaky!
+ (setq buffer-undo-list nil)
+ (set-buffer ob)))
;; interactive operations
@@ -3527,8 +3546,7 @@ This places `point' just after the promp
(interactive)
(forward-line 0)
(when (get-text-property (point) 'erc-prompt)
- (goto-char (or (next-single-property-change (point) 'erc-prompt)
- (point-at-eol))))
+ (goto-char erc-input-marker))
(point))
(defun erc-kill-input ()
@@ -3943,10 +3961,11 @@ See also: `erc-echo-notice-in-user-buffe
((string-match "^-" mode)
;; Remove the unbanned masks from the ban list
(setq erc-channel-banlist
- (delete-if
- (lambda (y)
- (member (upcase (cdr y))
- (mapcar #'upcase (cdr (split-string mode)))))
+ (erc-delete-if
+ #'(lambda (y)
+ (member (upcase (cdr y))
+ (mapcar #'upcase
+ (cdr (split-string mode)))))
erc-channel-banlist)))
((string-match "^+" mode)
;; Add the banned mask(s) to the ban list
@@ -3963,7 +3982,7 @@ See also: `erc-echo-notice-in-user-buffe
"Group LIST into sublists of length N."
(cond ((null list) nil)
((null (nthcdr n list)) (list list))
- (t (cons (subseq list 0 n) (erc-group-list (nthcdr n list) n)))))
+ (t (cons (erc-subseq list 0 n) (erc-group-list (nthcdr n list) n)))))
;;; MOTD numreplies
@@ -4788,11 +4807,8 @@ Specifically, return the position of `er
(defun erc-user-input ()
"Return the input of the user in the current buffer."
- ;; We use erc-bol to ignore the prompt.
(buffer-substring
- (progn
- (goto-char (erc-beg-of-input-line))
- (erc-bol))
+ erc-input-marker
(erc-end-of-input-line)))
(defun erc-send-input (input)
@@ -4871,13 +4887,17 @@ current position."
(run-hooks 'erc-send-modify-hook)
(run-hooks 'erc-send-post-hook))))))
+(defun erc-command-symbol (command)
+ "Return the erc command symbol for COMMAND if it exists and is bound."
+ (let ((cmd (intern-soft (format "erc-cmd-%s" (upcase command)))))
+ (when (fboundp cmd) cmd)))
+
(defun erc-extract-command-from-line (line)
"Extract command and args from the input LINE.
If no command was given, return nil. If command matches, return a
list of the form: (command args) where both elements are strings."
(when (string-match "^/\\([A-Za-z]+\\)\\(\\s-+.*\\|\\s-*\\)$" line)
- (let* ((cmd (intern-soft
- (format "erc-cmd-%s" (upcase (match-string 1 line)))))
+ (let* ((cmd (erc-command-symbol (match-string 1 line)))
;; note: return is nil, we apply this simply for side effects
(canon-defun (while (and cmd (symbolp (symbol-function cmd)))
(setq cmd (symbol-function cmd))))
@@ -5059,17 +5079,17 @@ If ARG is non-nil and not positive, turn
(message "ERC CTCP replies are %s" (if erc-disable-ctcp-replies
"OFF" "ON")))
(defun erc-toggle-flood-control (&optional arg)
- "Toggle between strict, normal and no flood control.
+ "Toggle use of flood control on sent messages.
+
+If ARG is non-nil, use flood control.
+If ARG is nil, do not use flood control.
-If ARG is positive, select strict control.
-If ARG is non-nil and not positive, select normal control.
-If ARG is nil, and `erc-flood-protect' is normal, select no control."
+See `erc-server-flood-margin' for an explanation of the available
+flood control parameters."
(interactive "P")
- (cond (arg (setq erc-flood-protect 'normal))
- (erc-flood-protect (setq erc-flood-protect nil))
- (t (setq erc-flood-protect 'normal)))
+ (setq erc-flood-protect arg)
(message "ERC flood control is %s"
- (cond (erc-flood-protect "NORMAL")
+ (cond (erc-flood-protect "ON")
(t "OFF"))))
;; Some useful channel and nick commands for fast key bindings
@@ -5687,10 +5707,10 @@ if `erc-away' is non-nil."
?p (erc-port-to-string erc-session-port)
?s (erc-format-target-and/or-server)
?t (erc-format-target)))
- (process-status (cond ((and (erc-process-alive)
+ (process-status (cond ((and (erc-server-process-alive)
(not erc-server-connected))
":connecting")
- ((erc-process-alive)
+ ((erc-server-process-alive)
"")
(t
": CLOSED"))))
@@ -6043,7 +6063,7 @@ english, catalog."
"Format MSG according to ARGS.
See also `format-spec'."
- (when (oddp (length args))
+ (when (eq (logand (length args) 1) 1) ; oddp
(error "Obscure usage of this function appeared"))
(let ((entry (erc-retrieve-catalog-entry msg)))
(when (not entry)
@@ -6091,23 +6111,17 @@ or `erc-kill-buffer-hook' if any other b
(t
(run-hooks 'erc-kill-buffer-hook)))))
-(defun erc-process-alive ()
- "Return non-nil when `erc-server-process' is open or running."
- (and (boundp 'erc-server-process)
- (processp erc-server-process)
- (memq (process-status erc-server-process) '(run open))))
-
(defun erc-kill-server ()
"Sends a QUIT command to the server when the server buffer is killed.
This function should be on `erc-kill-server-hook'."
- (when (erc-process-alive)
+ (when (erc-server-process-alive)
(setq erc-server-quitting t)
(erc-server-send (format "QUIT :%s" (funcall erc-quit-reason nil)))))
(defun erc-kill-channel ()
"Sends a PART command to the server when the channel buffer is killed.
This function should be on `erc-kill-channel-hook'."
- (when (erc-process-alive)
+ (when (erc-server-process-alive)
(let ((tgt (erc-default-target)))
(erc-server-send (format "PART %s :%s" tgt
(funcall erc-part-reason nil))
@@ -6127,3 +6141,5 @@ This function should be on `erc-kill-cha
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: d19587f6-627e-48c1-8d86-58595fa3eca3