Hi Norbert, this pre-release is ready to roll for testing purposes.
A major new feature is an erc manual!
It works fine in my locally built erc package.
erc-insert-timestamp-right is supposed to work correctly in this
release.
Hopefully people will try this package and report any issues with this
sync before it gets officially released.
The only known issue so far is that smilies only get sent when using
M-x erc-smiley-disable
Best regards,
Adrian
packages ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: xemacs-packages/erc/ChangeLog
Index: xemacs-packages/erc/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog,v
retrieving revision 1.36
diff -u -U0 -r1.36 ChangeLog
--- xemacs-packages/erc/ChangeLog 21 Oct 2005 13:39:58 -0000 1.36
+++ xemacs-packages/erc/ChangeLog 19 Feb 2006 00:22:12 -0000
@@ -0,0 +1,245 @@
+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):
+
packages source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: xemacs-packages/erc/erc.el xemacs-packages/erc/erc-xdcc.el
xemacs-packages/erc/erc-viper.el xemacs-packages/erc/erc-truncate.el
xemacs-packages/erc/erc-track.el xemacs-packages/erc/erc-stamp.el
xemacs-packages/erc/erc-spelling.el xemacs-packages/erc/erc-speedbar.el
xemacs-packages/erc/erc-speak.el xemacs-packages/erc/erc-sound.el
xemacs-packages/erc/erc-ring.el xemacs-packages/erc/erc-replace.el
xemacs-packages/erc/erc-pcomplete.el xemacs-packages/erc/erc-page.el
xemacs-packages/erc/erc-notify.el xemacs-packages/erc/erc-nickserv.el
xemacs-packages/erc/erc-nicklist.el xemacs-packages/erc/erc-netsplit.el
xemacs-packages/erc/erc-nets.el xemacs-packages/erc/erc-menu.el
xemacs-packages/erc/erc-match.el xemacs-packages/erc/erc-maint.el
xemacs-packages/erc/erc-log.el xemacs-packages/erc/erc-list.el
xemacs-packages/erc/erc-lang.el xemacs-packages/erc/erc-imenu.el
xemacs-packages/erc/erc-identd.el xemacs-packages/erc/erc-ibuffer.el
xemacs-packages/erc/erc-goodies.el x!
emacs-packages/erc/erc-fill.el xemacs-packages/erc/erc-ezbounce.el
xemacs-packages/erc/erc-dcc.el xemacs-packages/erc/erc-complete.el
xemacs-packages/erc/erc-compat.el xemacs-packages/erc/erc-chess.el
xemacs-packages/erc/erc-button.el xemacs-packages/erc/erc-bbdb.el
xemacs-packages/erc/erc-backend.el xemacs-packages/erc/erc-autojoin.el
xemacs-packages/erc/erc-autoaway.el xemacs-packages/erc/erc-auto.in
xemacs-packages/erc/README xemacs-packages/erc/NEWS xemacs-packages/erc/Makefile.upstream
xemacs-packages/erc/Makefile xemacs-packages/erc/HISTORY
xemacs-packages/erc/FOR-RELEASE.upstream xemacs-packages/erc/ChangeLog.upstream
xemacs-packages/erc/ChangeLog.2004.upstream xemacs-packages/erc/ChangeLog.2003.upstream
xemacs-packages/erc/ChangeLog.2002.upstream xemacs-packages/erc/ChangeLog.2001.upstream
xemacs-packages/erc/CREDITS
Index: xemacs-packages/erc/CREDITS
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/CREDITS,v
retrieving revision 1.6
diff -u -w -r1.6 CREDITS
--- xemacs-packages/erc/CREDITS 15 Oct 2005 18:15:25 -0000 1.6
+++ xemacs-packages/erc/CREDITS 19 Feb 2006 00:16:55 -0000
@@ -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 @@
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.
----
Index: xemacs-packages/erc/ChangeLog.2001.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.2001.upstream,v
retrieving revision 1.1
diff -u -w -r1.1 ChangeLog.2001.upstream
--- xemacs-packages/erc/ChangeLog.2001.upstream 10 Apr 2005 14:47:32 -0000 1.1
+++ xemacs-packages/erc/ChangeLog.2001.upstream 19 Feb 2006 00:16:55 -0000
@@ -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
Index: xemacs-packages/erc/ChangeLog.2002.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.2002.upstream,v
retrieving revision 1.2
diff -u -w -r1.2 ChangeLog.2002.upstream
--- xemacs-packages/erc/ChangeLog.2002.upstream 15 Oct 2005 18:15:26 -0000 1.2
+++ xemacs-packages/erc/ChangeLog.2002.upstream 19 Feb 2006 00:16:56 -0000
@@ -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
Index: xemacs-packages/erc/ChangeLog.2003.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.2003.upstream,v
retrieving revision 1.1
diff -u -w -r1.1 ChangeLog.2003.upstream
--- xemacs-packages/erc/ChangeLog.2003.upstream 10 Apr 2005 14:47:33 -0000 1.1
+++ xemacs-packages/erc/ChangeLog.2003.upstream 19 Feb 2006 00:16:58 -0000
@@ -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
Index: xemacs-packages/erc/ChangeLog.2004.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.2004.upstream,v
retrieving revision 1.2
diff -u -w -r1.2 ChangeLog.2004.upstream
--- xemacs-packages/erc/ChangeLog.2004.upstream 15 Oct 2005 18:15:26 -0000 1.2
+++ xemacs-packages/erc/ChangeLog.2004.upstream 19 Feb 2006 00:16:58 -0000
@@ -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
Index: xemacs-packages/erc/ChangeLog.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/ChangeLog.upstream,v
retrieving revision 1.9
diff -u -w -r1.9 ChangeLog.upstream
--- xemacs-packages/erc/ChangeLog.upstream 20 Oct 2005 22:49:50 -0000 1.9
+++ xemacs-packages/erc/ChangeLog.upstream 19 Feb 2006 00:16:59 -0000
@@ -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.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.
- * 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.
+2006-02-14 Michael Olson <mwolson(a)gnu.org>
- * erc.el, erc-nets.el: Use `erc-make-obsolete' and
- `erc-make-obsolete-variable'.
+ * debian/changelog: Prepare a new Debian package.
- * 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.
+ * 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.
-2005-10-18 Edward O'Connor <ted(a)oconnor.cx>
+ * NEWS: Bring up-to-date.
- * erc.el: Tell emacs-lisp-mode how to font-lock define-erc-module
- docstrings.
+ * 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.
-2005-10-08 Diane Murray <disumu(a)x3y2z1.net>
+2006-02-13 Michael Olson <mwolson(a)gnu.org>
- * AUTHORS, CREDITS, ChangeLog, ChangeLog.2002, ChangeLog.2004:
- Updated my email address.
+ * erc-dcc.el: Use (eval-when-compile (require 'cl)).
-2005-10-06 Michael Olson <mwolson(a)gnu.org>
+2006-02-11 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-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.
- * 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.
+2006-02-11 Diane Murray <disumu(a)x3y2z1.net>
-2005-10-05 Michael Olson <mwolson(a)gnu.org>
+ * erc-spelling.el (define-erc-module): Make sure there's a buffer
+ before calling `with-current-buffer'.
- * erc.el (erc-toggle-debug-irc-protocol): Use erc-view-mode-enter
- rather than view-mode.
+2006-02-10 Michael Olson <mwolson(a)gnu.org>
- * 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.
+ * Makefile (debbuild): Split from debrelease.
+ (debrevision-mwolson): New rule that causes a Debian revision to
+ be built.
- * erc-compat.el (erc-view-mode-enter): New function that is
- aliased to the correct way of entering view-mode.
+2006-02-08 Diane Murray <disumu(a)x3y2z1.net>
- * erc-match.el (erc-log-matches-make-buffer): Use
- erc-view-mode-enter rather than view-mode-enter.
+ * 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.
-2005-10-05 Edward O'Connor <ted(a)oconnor.cx>
+ * NEWS: Added tls.el -> ssl.el change.
- * 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.
+2006-02-07 Michael Olson <mwolson(a)gnu.org>
-2005-10-03 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.
- * erc-backend.el (erc-message, erc-send-ctcp-message)
- (erc-send-ctcp-notice): Encode string for target before sending.
+2006-02-05 Michael Olson <mwolson(a)gnu.org>
- * erc.el (erc-cmd-KICK, erc-cmd-PART, erc-cmd-QUIT, erc-cmd-TOPIC)
- (erc-kill-server, erc-kill-channel): Ditto.
+ * Makefile (debrelease): Remove images/.arch-ids or images/CVS
+ directory correctly.
-2005-09-05 Johan Bockgård <bojohan(a)users.sourceforge.net>
+ * debian/changelog: Update for 5.1.1 release.
- * erc-page.el (erc-ctcp-query-PAGE): (message text) -> (message
- "%s" text).
- (erc-cmd-PAGE): Simplify regexp. Put `do-not-parse-args' t.
+ * debian/control (Suggests): Suggest emacs-chess instead of
+ Recommending it. Thanks to Era Eriksson for the report.
-2005-09-05 Michael Olson <mwolson(a)gnu.org>
+ * debian/maint/postinst: Install the Info documentation.
- * 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.
+ * debian/maint/prerm: Handle removing of Info documentation.
- * erc-compat.el (erc-emacs-build-time): Use a string
- representation rather than trying to coerce a time out of a string
- on XEmacs.
+ * debian/rules (configure, configure-stamp, build, build-stamp):
+ Generate HTML and Info documentation.
+ (binary-erc): Install HTML and Info documentation.
- * erc-identd.el (erc-identd-start): Use make-network-process
- instead of open-network-stream. Error out if this is not defined.
+ * 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.
- * 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.
+2006-02-04 Michael Olson <mwolson(a)gnu.org>
-2005-09-04 Michael Olson <mwolson(a)gnu.org>
+ * Makefile (VERSION): Update to 5.1.1.
- * 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}.
+ * NEWS: Update for ERC 5.1.1. Use the same wording for headings
+ that Emacs does in its NEWS file.
-2005-09-03 Johan Bockgård <bojohan(a)users.sourceforge.net>
+ * erc-autojoin.el: Use (eval-when-compile (require 'cl)).
- * erc.el (erc-message): Simplify regexp.
- (erc-cmd-DEOP, erc-cmd-OP): Simplify.
+ * erc-complete.el (erc-nick-completion-exclude-myself)
+ (erc-try-complete-nick): Use better function for getting list of
+ channel users.
-2005-08-29 Michael Olson <mwolson(a)gnu.org>
+ * erc-goodies.el: Docfix.
- * 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-stamp.el: Use new arch tagline, since the other one wasn't
+ being treated properly.
- * 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.
+ * erc.texi (History): Note that ERC is now included with Emacs.
-2005-08-26 Michael Olson <mwolson(a)gnu.org>
+ * erc.el (erc-version-string): Release ERC 5.1.1
- * erc.el: Add defvaralias for erc-announced-server-name, since
- this seems to be widely used.
+2006-01-31 Michael Olson <mwolson(a)gnu.org>
-2005-08-17 Michael Olson <mwolson(a)gnu.org>
+ * erc-stamp.el: Update copyright years.
- * erc.el (erc): Remove unnecessary boundp check.
+2006-01-30 Simon Josefsson <jas(a)extundo.com>
- * erc-autoaway.el: Fix compiler warning.
+ * erc.el (erc-open-ssl-stream): Use tls.el.
- * 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.
+2006-01-30 Michael Olson <mwolson(a)gnu.org>
- * erc-dcc.el (erc-dcc-chat-request, erc-dcc-get-parent): Move to
- fix a compiler warning.
+ * 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'.
- * erc-ibuffer.el (erc-server): Remove unnecessary boundp check.
+2006-01-29 Edward O'Connor <ted(a)oconnor.cx>
- * erc-identd.el (erc-identd-start): Use read-string instead of
- read-input.
+ * erc-viper.el: Ensure we only alter Viper's configuration when
+ necessary, as Viper may already take ERC into account.
- * erc-imenu.el (erc-unfill-notice): Use a while loop instead of
- replace-regexp.
+2006-01-29 Michael Olson <mwolson(a)gnu.org>
- * erc-nicklist.el: Add conditional dependency on erc-bbdb.
- (erc-nicklist-insert-contents): Tighten some regexps.
+ * 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-notify.el (erc-notify-list): Docfix.
+ * erc-speedbar.el (erc-speedbar-buttons): Fix reference to free
+ variable.
+ (erc-speedbar-goto-buffer): Fix compiler warning.
- * erc-spelling.el (erc-spelling-dictionaries): Add :type and
- :group to silence a 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.
-2005-08-14 Michael Olson <mwolson(a)gnu.org>
+ * man/erc.texi (Obtaining ERC, Installation): Note that these
+ sections may be skipped if using the version of ERC that comes
+ with Emacs.
- * 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.
+2006-01-28 Michael Olson <mwolson(a)gnu.org>
- * 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-*.el, erc.texi, NEWS: Add Arch taglines as per Emacs
+ guidelines.
- * erc-match.el (erc-text-matched-hook): Don't hide fools by
- default, but include it in the available options.
+ * 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.
-2005-08-13 Michael Olson <mwolson(a)gnu.org>
+ * erc-compat.el (erc-emacs-build-time): Define as a variable.
- * 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-ibuffer.el: Require 'erc.
- * 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-log.el (erc-log-setup-logging): Use write-file-functions if
+ it exists.
- * 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.
+ * erc-stamp.el (erc-insert-aligned): Only use the special text
+ property when window-system is X.
-2005-08-10 Michael Olson <mwolson(a)gnu.org>
+ * erc.texi (History): Note that ERC 5.1 is released.
- * debian/copyright (Copyright): Remove notices for 4 people, since
- they didn't contribute legally-significant changes, or have had
- these changes overwritten.
+2006-01-28 Johan Bockgård <bojohan(a)users.sourceforge.net>
- * erc-log.el: Remove copyright notice.
+ * erc.el (erc-format-message): More `cl' breakage; don't use
+ `oddp'.
- * erc.el: Remove 3 copyright notices.
+2006-01-27 Michael Olson <mwolson(a)gnu.org>
-2005-08-09 Michael Olson <mwolson(a)gnu.org>
+ * debian/changelog: Update for new release.
- * debian/changelog: Create 5.0.4-3 package. This doesn't serve
- any purpose other than to thank Romain Francoise for some advice.
+ * debian/control (Description): Update.
- * Makefile (debrelease): Allow last upload and extra build options
- to be specified.
+ * debian/rules: Concatenate ChangeLog for 2005.
-2005-08-08 Michael Olson <mwolson(a)gnu.org>
+ * Makefile (MISC): Include ChangeLog.2005 and erc.texi.
+ (debrelease, release): Copy images directory.
- * debian/changelog: Create 5.0.4-2 package.
+ * NEWS: Spelling fixes. Add items for recent changes.
- * debian/control (Uploaders): Add Romain Francoise.
- (Standards-Version): Update to 3.6.2.
- (Depends): Add `emacsen'.
+ * 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.
- * debian/scripts/startup.erc (load-path): Minor whitespace fixup.
+2006-01-26 Michael Olson <mwolson(a)gnu.org>
- * 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-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.
- * erc.el (erc-mode): Use `make-local-variable' instead of
- `make-variable-buffer-local'.
+2006-01-25 Edward O'Connor <ted(a)oconnor.cx>
-2005-07-12 Michael Olson <mwolson(a)gnu.org>
+ * erc.el (erc-modules): Ensure that `erc-button-mode' gets enabled
+ before `erc-match-mode'.
- * debian/changelog: Build 5.0.4-1.
+ * erc-match.el (match): Append `erc-match-message' to
+ `erc-insert-modify-hook'.
- * Makefile (release): Prepare zip file in addition to tarball.
+2006-01-25 Michael Olson <mwolson(a)gnu.org>
- * NEWS: Add item for the undo fix.
+ * FOR-RELEASE: Mark last release requirement as done.
-2005-07-09 Michael Olson <mwolson(a)gnu.org>
+ * Makefile (realclean, distclean): Remove docs.
- * 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.texi: Take care of all pre-5.1 items.
- * 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.
+ * erc-backend.el (erc-server-send, erc-server-send-queue): Wrap
+ `process-send-string' in `condition-case' to avoid an error when
+ quitting ERC.
-2005-07-09 Johan Bockgård <bojohan(a)users.sourceforge.net>
+ * 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-process-input-line): Docfix.
- (erc-update-mode-line-buffer): Use `erc-propertize' instead of
- `propertize'.
- (erc-propertize): Move to erc-compat.el.
+ * 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.
- * erc-compat.el (erc-propertize): Move here from erc.el. Always
- return a copy of the string (like `propertize' in GNU Emacs).
+2006-01-23 Michael Olson <mwolson(a)gnu.org>
- * 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.
+ * ChangeLog.2005: Remove erroneous line.
-2005-07-02 Michael Olson <mwolson(a)gnu.org>
+ * FOR-RELEASE: Make that the Makefile tweaking is complete.
+ (NEWS): Mark as done.
- * 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.
+ * 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.
- * 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.
+ * NEWS: Update.
- * 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.
+ * README: Add Installation instructions. Tweak layout.
-2005-06-29 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
+ * erc.texi: Work on some pre-5.1 items.
- * erc-nickserv.el (erc-nickserv-alist): Fix regexp for Azzurra.
+ * erc-stamp.el, erc-track.el: Move some functions and options in
+ order to get rid of a few compiler warnings.
-2005-06-26 Michael Olson <mwolson(a)gnu.org>
+ * 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-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-button.el: Munge whitespace.
- * erc.el (erc-quit-server): Ditto.
+ * erc-identd.el (erc-identd-start): Instead of throwing an error,
+ just try to use the obsolete function.
- * erc-ibuffer.el (erc-server, erc-server-name): Ditto.
+2006-01-22 Michael Olson <mwolson(a)gnu.org>
- * erc-notify.el (erc-notify-JOIN, erc-notify-NICK)
- (erc-notify-QUIT): Ditto.
+ * 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.
-2005-06-24 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
+2006-01-22 Johan Bockgård <bojohan(a)users.sourceforge.net>
- * 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.
+ * 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.
-2005-06-23 Michael Olson <mwolson(a)gnu.org>
+ * erc-speak.el: Doc fixes.
+ (erc-speak-region): `propertize' --> `erc-propertize'.
- * CREDITS: Add entries for Luigi Panzeri and Andreas Schwab.
+ * erc-dcc.el (erc-dcc-chat-parse-output): `propertize' -->
+ `erc-propertize'.
- * erc-nickserv.el (erc-nickserv-alist): Add entries for Azzurra
- and OFTC. Thanks to Luigi Panzeri and Andreas Schwab for
- providing these.
+ * erc-button.el (erc-button-add-button): Take erc-fill-prefix into
+ account when wrapping URLs.
-2005-06-16 Michael Olson <mwolson(a)gnu.org>
+ * erc-bbdb.el (erc-bbdb-elide-display): Doc fix.
- * CREDITS: Add John Paul Wallington.
+ * erc-backend.el (define-erc-response-handler): Doc fix.
- * erc.el: Thanks to John Paul Wallington for the following.
- (erc-nickname-in-use): Use `string-to-number' instead of
- `string-to-int'.
+2006-01-22 Michael Olson <mwolson(a)gnu.org>
- * erc-dcc.el (erc-dcc-handle-ctcp-send)
- (erc-dcc-handle-ctcp-chat, erc-dcc-get-file)
- (erc-dcc-chat-accept): Ditto.
+ * erc.el (erc-update-modules): Use `require' instead of `load',
+ but prevent it from causing errors, in order to preserve the
+ previous behavior.
- * erc-identd.el (erc-identd-start): Ditto.
+2006-01-21 Michael Olson <mwolson(a)gnu.org>
-2005-06-16 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
+ * FOR-RELEASE (Source): Mark cl task as done.
- * erc.el (erc-mode-map): Suppress `font-lock-fontify-block' key
- binding since it destroys face properties.
+ * Makefile (erc-auto.el): Call erc-generate-autoloads rather than
+ generate-autoloads.
+ (erc-auto.el, %.elc): Don't show command, just its output.
-2005-06-08 Michael Olson <mwolson(a)gnu.org>
+ * NEWS: Add items from 2005-01-01 to 2005-08-13.
- * erc.el (erc-cmd-UNIGNORE): Use `erc-member-ignore-case' instead
- of `member-ignore-case'. Thanks to bpalmer for the heads up.
+ * debian/copyright (Copyright): Update.
-2005-06-06 Michael Olson <mwolson(a)gnu.org>
+ * erc-auto.in (erc-generate-autoloads): Rename from
+ generate-autoloads.
- * 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.
+ * erc.el, erc-autoaway.el, erc-backend.el: Use
+ erc-server-process-alive instead of erc-process-alive.
- * debian/changelog: Close "README file missing" bug.
+ * 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.
- * debian/rules (binary-erc): Install README file.
+ * erc-fill.el, erc-truncate.el: Whitespace munging.
-2005-06-03 Michael Olson <mwolson(a)gnu.org>
+ * 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.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-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-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-bbdb.el: Update copyright years.
+ (erc-bbdb-whois): Remove overexuberant comment.
- * erc-list.el (erc-prettify-channel-list): Docfix; thanks to John
- Paul Wallington for reporting this.
+ * erc-button.el: Require erc-fill, since we make liberal use of
+ `erc-fill-column'.
-2005-05-31 Michael Olson <mwolson(a)gnu.org>
+ * 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.
- * debian/changelog: First draft of entries for the 5.0.3 release.
+ * 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.
- * 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.
+ * erc-match.el (erc-log-matches): Fix compiler warning.
- * debian/scripts/install (emacs20): Remove line since we no longer
- need to deal with format-spec.el.
+ * 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.
- * NEWS: Add entries for the upcoming 5.0.3 release.
+ * erc-notify.el (erc-notify-QUIT): Use erc-delete-if with a
+ partially-evaluated lambda expression instead of `delete' and
+ `find'.
- * 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-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.
- * erc-autoaway.el (autoaway, erc-autoaway-reestablish-idletimer):
- Use `erc-cancel-timer' instead of `cancel-timer'.
+2006-01-19 Michael Olson <mwolson(a)gnu.org>
- * 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-backend.el (erc-process-sentinel-1): Remove attempt to
+ detect SIGPIPE, since it doesn't work.
- * 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).
+2006-01-10 Diane Murray <disumu(a)x3y2z1.net>
-2005-05-31 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
+ * 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-replace.el, erc-speak.el: Clean up comment formatting.
+ * 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).
- * erc-ring.el (ring, erc-input-ring-index, erc-clear-input-ring):
- Clean up docstring formatting.
+ * NEWS: Started a list of renamed variables.
-2005-05-30 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
+ * 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.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.
+ * 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.
-2005-05-29 Michael Olson <mwolson(a)gnu.org>
+ * 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.
- * erc.el (erc-version-string): Move this up so that it is
- evaluated before the `require' statements. Not a major change.
+2006-01-09 Diane Murray <disumu(a)x3y2z1.net>
-2005-04-27 Johan Bockgård <bojohan+sf(a)dd.chalmers.se>
+ * 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'.
- * erc.el (erc-complete-word): Simplify.
+2006-01-07 Michael Olson <mwolson(a)gnu.org>
-2005-04-27 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.
- * Makefile (debrelease): Use a slightly different approach when
- removing CVS and Arch cruft.
+ * erc-track.el (erc-track-remove-from-mode-line): Handle case
+ where global-mode-string is not a list. Emacs22 permits this.
- * debian/changelog: Update for 5.0.2-1 package.
+See ChangeLog.2005 for earlier changes.
-2005-04-25 Michael Olson <mwolson(a)gnu.org>
+;; Local Variables:
+;; coding: utf-8
+;; End:
- * 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.
+;; arch-tag: 865a75f6-2bcb-46df-bf0c-b514dadf688a
-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).
+;; arch-tag: cceaf370-9880-4031-842b-223ab2bb597d
Index: xemacs-packages/erc/FOR-RELEASE.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/FOR-RELEASE.upstream,v
retrieving revision 1.1
diff -u -w -r1.1 FOR-RELEASE.upstream
--- xemacs-packages/erc/FOR-RELEASE.upstream 10 Apr 2005 14:47:33 -0000 1.1
+++ xemacs-packages/erc/FOR-RELEASE.upstream 19 Feb 2006 00:16:59 -0000
@@ -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:
Index: xemacs-packages/erc/HISTORY
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/HISTORY,v
retrieving revision 1.1.1.1
diff -u -w -r1.1.1.1 HISTORY
--- xemacs-packages/erc/HISTORY 25 Nov 2003 23:12:35 -0000 1.1.1.1
+++ xemacs-packages/erc/HISTORY 19 Feb 2006 00:16:59 -0000
@@ -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
Index: xemacs-packages/erc/Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/Makefile,v
retrieving revision 1.30
diff -u -w -r1.30 Makefile
--- xemacs-packages/erc/Makefile 21 Oct 2005 13:39:58 -0000 1.30
+++ xemacs-packages/erc/Makefile 19 Feb 2006 00:16:59 -0000
@@ -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 @@
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
Index: xemacs-packages/erc/Makefile.upstream
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/Makefile.upstream,v
retrieving revision 1.7
diff -u -w -r1.7 Makefile.upstream
--- xemacs-packages/erc/Makefile.upstream 15 Oct 2005 18:15:26 -0000 1.7
+++ xemacs-packages/erc/Makefile.upstream 19 Feb 2006 00:16:59 -0000
@@ -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 @@
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
+ ChangeLog.2005 ChangeLog.2004 ChangeLog.2003 ChangeLog.2002 \
+ ChangeLog.2001 servers.pl erc-auto.in erc.texi
+
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: $(TARGET)
+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 @@
../$(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 @@
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 ; \
Index: xemacs-packages/erc/NEWS
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/NEWS,v
retrieving revision 1.3
diff -u -w -r1.3 NEWS
--- xemacs-packages/erc/NEWS 15 Oct 2005 18:15:26 -0000 1.3
+++ xemacs-packages/erc/NEWS 19 Feb 2006 00:16:59 -0000
@@ -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 @@
**** 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 @@
**** 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 @@
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 @@
** 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 @@
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 @@
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 @@
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
Index: xemacs-packages/erc/README
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/README,v
retrieving revision 1.1.1.1
diff -u -w -r1.1.1.1 README
--- xemacs-packages/erc/README 25 Nov 2003 23:12:35 -0000 1.1.1.1
+++ xemacs-packages/erc/README 19 Feb 2006 00:16:59 -0000
@@ -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
Index: xemacs-packages/erc/erc-auto.in
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-auto.in,v
retrieving revision 1.2
diff -u -w -r1.2 erc-auto.in
--- xemacs-packages/erc/erc-auto.in 10 Apr 2005 14:47:34 -0000 1.2
+++ xemacs-packages/erc/erc-auto.in 19 Feb 2006 00:16:59 -0000
@@ -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))
Index: xemacs-packages/erc/erc-autoaway.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-autoaway.el,v
retrieving revision 1.8
diff -u -w -r1.8 erc-autoaway.el
--- xemacs-packages/erc/erc-autoaway.el 15 Oct 2005 18:15:27 -0000 1.8
+++ xemacs-packages/erc/erc-autoaway.el 19 Feb 2006 00:16:59 -0000
@@ -5,20 +5,22 @@
;; 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
+;; 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 @@
(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 @@
;; 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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 16fc241e-8358-4b56-9fe2-116bdd0ba3bc
Index: xemacs-packages/erc/erc-autojoin.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-autojoin.el,v
retrieving revision 1.7
diff -u -w -r1.7 erc-autojoin.el
--- xemacs-packages/erc/erc-autojoin.el 15 Oct 2005 18:15:27 -0000 1.7
+++ xemacs-packages/erc/erc-autojoin.el 19 Feb 2006 00:17:00 -0000
@@ -6,20 +6,22 @@
;; 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
+;; 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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: d62d8b15-8e31-49d6-8a73-12f11e717414
Index: xemacs-packages/erc/erc-backend.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-backend.el,v
retrieving revision 1.4
diff -u -w -r1.4 erc-backend.el
--- xemacs-packages/erc/erc-backend.el 15 Oct 2005 18:15:27 -0000 1.4
+++ xemacs-packages/erc/erc-backend.el 19 Feb 2006 00:17:01 -0000
@@ -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 @@
"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 @@
(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 @@
(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 @@
(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 @@
"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 @@
(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 @@
(+ erc-server-flood-penalty
erc-server-flood-last-message))
(erc-log-irc-protocol str 'outbound)
+ (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 @@
(erc-log-irc-protocol msg 'outbound)
(erc-log (concat "erc-server-send-queue: "
msg "(" (buffer-name buffer) ")"))
+ (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)))
+ (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 @@
"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 @@
&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 @@
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 @@
;; Local Variables:
;; indent-tabs-mode: nil
;; End:
+
+;; arch-tag: a64e6bb7-a780-4efd-8f98-083b18c7c84a
Index: xemacs-packages/erc/erc-bbdb.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-bbdb.el,v
retrieving revision 1.6
diff -u -w -r1.6 erc-bbdb.el
--- xemacs-packages/erc/erc-bbdb.el 15 Oct 2005 18:15:27 -0000 1.6
+++ xemacs-packages/erc/erc-bbdb.el 19 Feb 2006 00:17:01 -0000
@@ -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 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
+;; 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 @@
: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 @@
(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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 1edf3729-cd49-47dc-aced-70fcfc28c815
Index: xemacs-packages/erc/erc-button.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-button.el,v
retrieving revision 1.8
diff -u -w -r1.8 erc-button.el
--- xemacs-packages/erc/erc-button.el 15 Oct 2005 18:15:27 -0000 1.8
+++ xemacs-packages/erc/erc-button.el 19 Feb 2006 00:17:01 -0000
@@ -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
+;; 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.")
-(defcustom erc-button-face 'bold
+(defface erc-button '((t (:bold t)))
+ "ERC button face."
+:group 'erc-faces)
+
+(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 @@
: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 @@
: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 @@
;; 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 @@
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 @@
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 @@
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"
+: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 group")))))
+ (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 @@
(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 @@
(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 @@
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.
+ (let (fill-column)
(when (and erc-button-wrap-long-urls
(string= regexp erc-button-url-regexp)
- (> (- to from) (if (numberp erc-button-wrap-long-urls)
+ (> (- to from)
+ (setq fill-column (- (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)
+ 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)))))
+ (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))
+ (erc-button-add-face from to erc-button-face)))
(add-text-properties
from to
(nconc (and erc-button-mouse-face
@@ -344,8 +357,10 @@
(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
+ ;; 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 @@
(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
Index: xemacs-packages/erc/erc-chess.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-chess.el,v
retrieving revision 1.5
diff -u -w -r1.5 erc-chess.el
--- xemacs-packages/erc/erc-chess.el 15 Oct 2005 18:15:27 -0000 1.5
+++ xemacs-packages/erc/erc-chess.el 19 Feb 2006 00:17:01 -0000
@@ -5,20 +5,22 @@
;; 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
+;; 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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: beb148d1-db16-48da-8145-9f3a7ff27b7b
Index: xemacs-packages/erc/erc-compat.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-compat.el,v
retrieving revision 1.7
diff -u -w -r1.7 erc-compat.el
--- xemacs-packages/erc/erc-compat.el 20 Oct 2005 22:49:50 -0000 1.7
+++ xemacs-packages/erc/erc-compat.el 19 Feb 2006 00:17:01 -0000
@@ -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
+;; 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 @@
"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 @@
'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 @@
;; 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
+(defvar erc-emacs-build-time
(if (stringp emacs-build-time)
emacs-build-time
- (format-time-string "%Y-%m-%d" 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 @@
(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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 8948ffe0-aff8-4ad8-a196-368ebbfd58ff
Index: xemacs-packages/erc/erc-complete.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-complete.el,v
retrieving revision 1.5
diff -u -w -r1.5 erc-complete.el
--- xemacs-packages/erc/erc-complete.el 15 Oct 2005 18:15:27 -0000 1.5
+++ xemacs-packages/erc/erc-complete.el 19 Feb 2006 00:17:01 -0000
@@ -5,21 +5,22 @@
;; 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 @@
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 @@
(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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 3be13ee8-8fdb-41ab-83c2-6582c757b91e
Index: xemacs-packages/erc/erc-dcc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-dcc.el,v
retrieving revision 1.8
diff -u -w -r1.8 erc-dcc.el
--- xemacs-packages/erc/erc-dcc.el 15 Oct 2005 18:15:27 -0000 1.8
+++ xemacs-packages/erc/erc-dcc.el 19 Feb 2006 00:17:02 -0000
@@ -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 @@
(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,30 +378,32 @@
(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)
+ (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)
+ (erc-remove-if-not
+ #'(lambda (elt)
(eq (plist-get elt :type)
(intern (upcase (pcomplete-arg 1)))))
erc-dcc-list)))
@@ -707,7 +714,7 @@
(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 @@
(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,7 +1079,7 @@
(setq posn (match-end 0))
(erc-display-message
nil nil proc
- 'dcc-chat-privmsg ?n (propertize erc-dcc-from 'face
+ 'dcc-chat-privmsg ?n (erc-propertize erc-dcc-from 'face
'erc-nick-default-face) ?m line))
(setq erc-dcc-unprocessed-output (substring str posn)))))
@@ -1128,3 +1135,5 @@
;; Local Variables:
;; indent-tabs-mode: nil
;; End:
+
+;; arch-tag: cda5a6b3-c510-4dbe-b699-84cccfa04edb
Index: xemacs-packages/erc/erc-ezbounce.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-ezbounce.el,v
retrieving revision 1.8
diff -u -w -r1.8 erc-ezbounce.el
--- xemacs-packages/erc/erc-ezbounce.el 15 Oct 2005 18:15:28 -0000 1.8
+++ xemacs-packages/erc/erc-ezbounce.el 19 Feb 2006 00:17:02 -0000
@@ -5,30 +5,31 @@
;; 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
+;; 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 @@
(provide 'erc-ezbounce)
+;; arch-tag: e972aa7b-a9f4-4d16-a489-074ec7a1002e
;;; erc-ezbounce.el ends here
Index: xemacs-packages/erc/erc-fill.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-fill.el,v
retrieving revision 1.7
diff -u -w -r1.7 erc-fill.el
--- xemacs-packages/erc/erc-fill.el 15 Oct 2005 18:15:28 -0000 1.7
+++ xemacs-packages/erc/erc-fill.el 19 Feb 2006 00:17:02 -0000
@@ -6,24 +6,22 @@
;; 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
-
-;; This file is not part of GNU Emacs.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -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
@@ -137,7 +135,9 @@
(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 @@
(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 @@
(provide 'erc-fill)
;;; erc-fill.el ends here
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; End:
+
+;; arch-tag: 89224581-c2c2-4e26-92e5-e3a390dc516a
Index: xemacs-packages/erc/erc-goodies.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-goodies.el,v
retrieving revision 1.2
diff -u -w -r1.2 erc-goodies.el
--- xemacs-packages/erc/erc-goodies.el 15 Oct 2005 18:15:28 -0000 1.2
+++ xemacs-packages/erc/erc-goodies.el 19 Feb 2006 00:17:02 -0000
@@ -7,19 +7,22 @@
;; 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-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 @@
(error "`multi-occur' is not defined as a function")))
(provide 'erc-goodies)
+
+;; arch-tag: d987ae26-9e28-4c72-9596-e617309fb582
;;; erc-goodies.el ends here
Index: xemacs-packages/erc/erc-ibuffer.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-ibuffer.el,v
retrieving revision 1.5
diff -u -w -r1.5 erc-ibuffer.el
--- xemacs-packages/erc/erc-ibuffer.el 15 Oct 2005 18:15:28 -0000 1.5
+++ xemacs-packages/erc/erc-ibuffer.el 19 Feb 2006 00:17:02 -0000
@@ -6,20 +6,22 @@
;; 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
+;; 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
+(define-ibuffer-filter erc-server
"Toggle current view to buffers which are related to ERC servers."
-:description "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
Index: xemacs-packages/erc/erc-identd.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-identd.el,v
retrieving revision 1.3
diff -u -w -r1.3 erc-identd.el
--- xemacs-packages/erc/erc-identd.el 15 Oct 2005 18:15:28 -0000 1.3
+++ xemacs-packages/erc/erc-identd.el 19 Feb 2006 00:17:02 -0000
@@ -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
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -64,7 +66,8 @@
: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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: e0b5f926-0f35-40b9-8ddb-ca06b62a7544
Index: xemacs-packages/erc/erc-imenu.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-imenu.el,v
retrieving revision 1.6
diff -u -w -r1.6 erc-imenu.el
--- xemacs-packages/erc/erc-imenu.el 15 Oct 2005 18:15:28 -0000 1.6
+++ xemacs-packages/erc/erc-imenu.el 19 Feb 2006 00:17:02 -0000
@@ -1,4 +1,4 @@
-;;; 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.
@@ -6,20 +6,22 @@
;; 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
+;; 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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 35c69082-ca29-43f7-a050-8da5f400de81
Index: xemacs-packages/erc/erc-lang.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-lang.el,v
retrieving revision 1.4
diff -u -w -r1.4 erc-lang.el
--- xemacs-packages/erc/erc-lang.el 15 Oct 2005 18:15:28 -0000 1.4
+++ xemacs-packages/erc/erc-lang.el 19 Feb 2006 00:17:03 -0000
@@ -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
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -209,4 +209,5 @@
(provide 'erc-lang)
+;; arch-tag: 8ffb1563-cc03-4517-b067-16309d4ff97b
;;; erc-lang.el ends here
Index: xemacs-packages/erc/erc-list.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-list.el,v
retrieving revision 1.10
diff -u -w -r1.10 erc-list.el
--- xemacs-packages/erc/erc-list.el 15 Oct 2005 18:15:28 -0000 1.10
+++ xemacs-packages/erc/erc-list.el 19 Feb 2006 00:17:03 -0000
@@ -6,20 +6,22 @@
;; 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
+;; 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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 4a13196a-a61b-465a-9926-044dfbc7e5ff
Index: xemacs-packages/erc/erc-log.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-log.el,v
retrieving revision 1.8
diff -u -w -r1.8 erc-log.el
--- xemacs-packages/erc/erc-log.el 15 Oct 2005 18:15:28 -0000 1.8
+++ xemacs-packages/erc/erc-log.el 19 Feb 2006 00:17:03 -0000
@@ -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 @@
(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
+ (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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 54072f99-9f0a-4846-8908-2ccde92221de
Index: xemacs-packages/erc/erc-maint.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-maint.el,v
retrieving revision 1.1.1.1
diff -u -w -r1.1.1.1 erc-maint.el
--- xemacs-packages/erc/erc-maint.el 25 Nov 2003 23:12:30 -0000 1.1.1.1
+++ xemacs-packages/erc/erc-maint.el 19 Feb 2006 00:17:03 -0000
@@ -1 +1,3 @@
(add-to-list 'load-path ".")
+
+;; arch-tag: 977c5231-16c4-46d2-88f0-90abe5a79ba1
Index: xemacs-packages/erc/erc-match.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-match.el,v
retrieving revision 1.10
diff -u -w -r1.10 erc-match.el
--- xemacs-packages/erc/erc-match.el 20 Oct 2005 22:49:51 -0000 1.10
+++ xemacs-packages/erc/erc-match.el 19 Feb 2006 00:17:03 -0000
@@ -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
;; 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
+;; 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 @@
`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,7 +566,9 @@
(let ((line (format-spec erc-log-match-format
(format-spec-make
?n nick
- ?t (format-time-string (or erc-timestamp-format
+ ?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
@@ -653,3 +657,5 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 1f1f595e-abcc-4b0b-83db-598a1d3f0f82
Index: xemacs-packages/erc/erc-menu.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-menu.el,v
retrieving revision 1.7
diff -u -w -r1.7 erc-menu.el
--- xemacs-packages/erc/erc-menu.el 15 Oct 2005 18:15:29 -0000 1.7
+++ xemacs-packages/erc/erc-menu.el 19 Feb 2006 00:17:03 -0000
@@ -1,4 +1,4 @@
-;; 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.
@@ -6,20 +6,22 @@
;; 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
+;; 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
Index: xemacs-packages/erc/erc-nets.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-nets.el,v
retrieving revision 1.8
diff -u -w -r1.8 erc-nets.el
--- xemacs-packages/erc/erc-nets.el 20 Oct 2005 22:49:51 -0000 1.8
+++ xemacs-packages/erc/erc-nets.el 19 Feb 2006 00:17:04 -0000
@@ -5,6 +5,23 @@
;; 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 @@
(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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 68cccabd-f66b-456c-9abe-5f993a2dc91c
Index: xemacs-packages/erc/erc-netsplit.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-netsplit.el,v
retrieving revision 1.7
diff -u -w -r1.7 erc-netsplit.el
--- xemacs-packages/erc/erc-netsplit.el 15 Oct 2005 18:15:29 -0000 1.7
+++ xemacs-packages/erc/erc-netsplit.el 19 Feb 2006 00:17:04 -0000
@@ -5,20 +5,22 @@
;; 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
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -30,8 +32,9 @@
;;; 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
@@ -203,3 +206,10 @@
(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
Index: xemacs-packages/erc/erc-nicklist.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-nicklist.el,v
retrieving revision 1.3
diff -u -w -r1.3 erc-nicklist.el
--- xemacs-packages/erc/erc-nicklist.el 15 Oct 2005 18:15:29 -0000 1.3
+++ xemacs-packages/erc/erc-nicklist.el 19 Feb 2006 00:17:06 -0000
@@ -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 @@
: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,11 +145,15 @@
(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
+ ;; 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
@@ -162,7 +162,7 @@
(insert-image (cdr (assoc 'icq
erc-nicklist-images-alist))))
(insert "ICQ")))
- (erc-nicklist-bitlbee-connected-p
+ (bitlbee-p
(if erc-nicklist-use-icons
(if is-away
(insert-image (cdr (assoc 'msn-away
@@ -178,15 +178,15 @@
(insert-image (cdr (assoc 'irc
erc-nicklist-images-alist))))
(insert "IRC"))))
- (insert " "))
+ (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)
+ (erc-member-if
+ #'(lambda (r)
(let ((fingers (bbdb-record-finger-host r)))
(when fingers
(string-match finger-host
@@ -197,11 +197,6 @@
(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))
@@ -221,9 +216,7 @@
"" "\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))
+ (erc-nicklist-insert-medium-name-or-icon host channel (not voice))
(unless (or voice erc-nicklist-use-icons)
(setq nick (concat "(" nick ")")))
(when op
@@ -234,7 +227,7 @@
'erc-nicklist-channel channel
'help-echo balloon-text)
"\n")))
- (erc-nicklist-mode)))
+ (erc-nicklist-mode))
(defun erc-nicklist ()
@@ -373,7 +366,7 @@
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,10 +385,12 @@
(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)))
+ (let ((voiced-nicks (erc-remove-if-not
+ #'(lambda (x)
+ (null (erc-channel-user-voice (cdr x))))
nicks))
- (devoiced-nicks (remove-if-not #'(lambda (x)
+ (devoiced-nicks (erc-remove-if-not
+ #'(lambda (x)
(erc-channel-user-voice
(cdr x)))
nicks)))
@@ -415,3 +410,5 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: db37a256-87a7-4544-bd90-e5f16c9f5ca5
Index: xemacs-packages/erc/erc-nickserv.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-nickserv.el,v
retrieving revision 1.8
diff -u -w -r1.8 erc-nickserv.el
--- xemacs-packages/erc/erc-nickserv.el 15 Oct 2005 18:15:29 -0000 1.8
+++ xemacs-packages/erc/erc-nickserv.el 19 Feb 2006 00:17:06 -0000
@@ -2,20 +2,22 @@
;; 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
+;; 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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: d401c8aa-d938-4255-96a9-3efb64c47e58
Index: xemacs-packages/erc/erc-notify.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-notify.el,v
retrieving revision 1.6
diff -u -w -r1.6 erc-notify.el
--- xemacs-packages/erc/erc-notify.el 15 Oct 2005 18:15:29 -0000 1.6
+++ xemacs-packages/erc/erc-notify.el 19 Feb 2006 00:17:06 -0000
@@ -5,20 +5,22 @@
;; 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
+;; 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,10 +182,9 @@
(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))))
+ (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)
@@ -248,3 +250,5 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 0fb19dd0-1359-458a-89b7-81dc195a588e
Index: xemacs-packages/erc/erc-page.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-page.el,v
retrieving revision 1.5
diff -u -w -r1.5 erc-page.el
--- xemacs-packages/erc/erc-page.el 15 Oct 2005 18:15:29 -0000 1.5
+++ xemacs-packages/erc/erc-page.el 19 Feb 2006 00:17:06 -0000
@@ -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,
+
+;; 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 @@
(provide 'erc-page)
+;; arch-tag: 82fd2e0e-6060-4dd2-9788-8c1411e844de
;;; erc-page.el ends here
Index: xemacs-packages/erc/erc-pcomplete.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-pcomplete.el,v
retrieving revision 1.5
diff -u -w -r1.5 erc-pcomplete.el
--- xemacs-packages/erc/erc-pcomplete.el 15 Oct 2005 18:15:29 -0000 1.5
+++ xemacs-packages/erc/erc-pcomplete.el 19 Feb 2006 00:17:06 -0000
@@ -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
;; 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
+;; 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 @@
"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 @@
;; Local Variables:
;; indent-tabs-mode: nil
;; End:
+
+;; arch-tag: 32a7703b-be87-45a4-82f3-9eed5a628911
Index: xemacs-packages/erc/erc-replace.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-replace.el,v
retrieving revision 1.5
diff -u -w -r1.5 erc-replace.el
--- xemacs-packages/erc/erc-replace.el 5 Jun 2005 15:47:02 -0000 1.5
+++ xemacs-packages/erc/erc-replace.el 19 Feb 2006 00:17:06 -0000
@@ -7,19 +7,22 @@
;; 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 @@
(provide 'erc-replace)
+;; arch-tag: dd904a59-d8a6-47f8-ac3a-76b698289a18
;;; erc-replace.el ends here
Index: xemacs-packages/erc/erc-ring.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-ring.el,v
retrieving revision 1.6
diff -u -w -r1.6 erc-ring.el
--- xemacs-packages/erc/erc-ring.el 15 Oct 2005 18:15:29 -0000 1.6
+++ xemacs-packages/erc/erc-ring.el 19 Feb 2006 00:17:06 -0000
@@ -6,20 +6,22 @@
;; 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
+;; 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)
@@ -96,20 +98,22 @@
(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 @@
(provide 'erc-ring)
;;; erc-ring.el ends here
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; End:
+
+;; arch-tag: b77924a8-a80e-489d-84cd-b351761ea5c8
Index: xemacs-packages/erc/erc-sound.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-sound.el,v
retrieving revision 1.4
diff -u -w -r1.4 erc-sound.el
--- xemacs-packages/erc/erc-sound.el 15 Oct 2005 18:15:29 -0000 1.4
+++ xemacs-packages/erc/erc-sound.el 19 Feb 2006 00:17:06 -0000
@@ -2,20 +2,22 @@
;; 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 @@
(provide 'erc-sound)
+;; arch-tag: 53657d1d-007f-4a20-91c1-588e71cf0cee
;;; erc-sound.el ends here
Index: xemacs-packages/erc/erc-speak.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-speak.el,v
retrieving revision 1.4
diff -u -w -r1.4 erc-speak.el
--- xemacs-packages/erc/erc-speak.el 5 Jun 2005 15:47:02 -0000 1.4
+++ xemacs-packages/erc/erc-speak.el 19 Feb 2006 00:17:06 -0000
@@ -2,8 +2,22 @@
;; 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:
@@ -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 @@
(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 @@
: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 @@
: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 @@
: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 @@
(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 @@
(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
Index: xemacs-packages/erc/erc-speedbar.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-speedbar.el,v
retrieving revision 1.7
diff -u -w -r1.7 erc-speedbar.el
--- xemacs-packages/erc/erc-speedbar.el 15 Oct 2005 18:15:29 -0000 1.7
+++ xemacs-packages/erc/erc-speedbar.el 19 Feb 2006 00:17:06 -0000
@@ -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.
;; 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
+;; 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 @@
(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,7 +189,8 @@
(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)
+ (cond
+ ((string-match "+" text)
(speedbar-change-expand-button-char ?-)
(speedbar-with-writable
(save-excursion
@@ -193,9 +198,13 @@
(let ((modes (with-current-buffer channel
(concat (apply 'concat
erc-channel-modes)
- (cond ((and erc-channel-user-limit erc-channel-key)
+ (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 "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
@@ -322,7 +331,8 @@
(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 @@
(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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 7a6558a4-3308-4bf5-a284-e1d042c933c6
Index: xemacs-packages/erc/erc-spelling.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-spelling.el,v
retrieving revision 1.3
diff -u -w -r1.3 erc-spelling.el
--- xemacs-packages/erc/erc-spelling.el 15 Oct 2005 18:15:30 -0000 1.3
+++ xemacs-packages/erc/erc-spelling.el 19 Feb 2006 00:17:06 -0000
@@ -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 @@
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,6 +69,7 @@
"Enable flyspell mode in an ERC buffer."
(let ((name (downcase (buffer-name)))
(dicts erc-spelling-dictionaries))
+ (when dicts
(while (and dicts
(not (string= name (downcase (caar dicts)))))
(setq dicts (cdr dicts)))
@@ -69,20 +80,42 @@
(if server
(with-current-buffer server
ispell-local-dictionary)
- nil)))))
+ 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
Index: xemacs-packages/erc/erc-stamp.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-stamp.el,v
retrieving revision 1.7
diff -u -w -r1.7 erc-stamp.el
--- xemacs-packages/erc/erc-stamp.el 15 Oct 2005 18:15:30 -0000 1.7
+++ xemacs-packages/erc/erc-stamp.el 19 Feb 2006 00:17:06 -0000
@@ -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
+;; 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 @@
(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 @@
(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 @@
(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)
+ (- (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))))
+ (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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 57aefab4-63e0-4c48-91d5-6efa145487e0
Index: xemacs-packages/erc/erc-track.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-track.el,v
retrieving revision 1.9
diff -u -w -r1.9 erc-track.el
--- xemacs-packages/erc/erc-track.el 15 Oct 2005 18:15:30 -0000 1.9
+++ xemacs-packages/erc/erc-track.el 19 Feb 2006 00:17:06 -0000
@@ -6,20 +6,22 @@
;; 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
+;; 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 @@
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 @@
(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 @@
: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 @@
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)))
+ (when (consp global-mode-string)
(setq global-mode-string
- (delq 'erc-modified-channels-object 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 @@
;;; Test:
-(assert
+(erc-assert
(and
;; verify examples from the doc strings
(equal (let ((erc-track-shorten-aggressively nil))
@@ -680,9 +714,10 @@
(unless (and
(or (eq erc-track-priority-faces-only 'all)
(member this-channel erc-track-priority-faces-only))
- (not (dolist (f faces)
+ (not (catch 'found
+ (dolist (f faces)
(when (member f erc-track-faces-priority-list)
- (return t)))))
+ (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 @@
(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 @@
(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 @@
(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 @@
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 @@
`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
+ (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
- (when (and erc-track-last-non-erc-buffer
+ ((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))))))
+ (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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: 11b439f5-e5d7-4c6c-bb3f-eda98f9b0ac1
Index: xemacs-packages/erc/erc-truncate.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-truncate.el,v
retrieving revision 1.4
diff -u -w -r1.4 erc-truncate.el
--- xemacs-packages/erc/erc-truncate.el 15 Oct 2005 18:15:30 -0000 1.4
+++ xemacs-packages/erc/erc-truncate.el 19 Feb 2006 00:17:06 -0000
@@ -5,20 +5,22 @@
;; 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
+;; 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)
@@ -109,3 +112,10 @@
(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
Index: xemacs-packages/erc/erc-viper.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-viper.el,v
retrieving revision 1.3
diff -u -w -r1.3 erc-viper.el
--- xemacs-packages/erc/erc-viper.el 15 Oct 2005 18:15:30 -0000 1.3
+++ xemacs-packages/erc/erc-viper.el 19 Feb 2006 00:17:06 -0000
@@ -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
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -38,14 +40,14 @@
(require 'erc)
;; Fix RET in ERC buffers, by telling Viper to pass RET through to the
-;; normal keymap.
-
+;; 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
Index: xemacs-packages/erc/erc-xdcc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-xdcc.el,v
retrieving revision 1.4
diff -u -w -r1.4 erc-xdcc.el
--- xemacs-packages/erc/erc-xdcc.el 15 Oct 2005 18:15:30 -0000 1.4
+++ xemacs-packages/erc/erc-xdcc.el 19 Feb 2006 00:17:06 -0000
@@ -5,20 +5,22 @@
;; 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
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
@@ -123,4 +125,6 @@
(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
Index: xemacs-packages/erc/erc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc.el,v
retrieving revision 1.13
diff -u -w -r1.13 erc.el
--- xemacs-packages/erc/erc.el 20 Oct 2005 22:49:51 -0000 1.13
+++ xemacs-packages/erc/erc.el 19 Feb 2006 00:17:08 -0000
@@ -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 @@
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 @@
(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 @@
(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 @@
"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 @@
: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 @@
(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 @@
(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 @@
(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 @@
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)
@@ -1518,17 +1536,19 @@
(TARGET [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 TARGET is a buffer, use it. Otherwise, use the buffer
+matching TARGET in the process specified by PROCESS.
+
+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 @@
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 @@
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 @@
(switch-to-buffer
(iswitchb-read-buffer
"Switch-to: "
+ (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 @@
"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 @@
(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 @@
((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 @@
(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 @@
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 @@
(erc-server-connect erc-session-server erc-session-port))
(erc-update-mode-line)
(set-marker erc-insert-marker (point))
+ (unless continued-session
(goto-char (point-max))
- (insert "\n")
+ (insert "\n"))
(set-marker (process-mark erc-server-process) (point))
+ (if continued-session
+ (goto-char (point-max))
(set-marker erc-insert-marker (point))
(erc-display-prompt)
- (goto-char (point-max))
+ (goto-char (point-max)))
;; Now display the buffer in a window as per user wishes.
(unless (eq buffer old-buffer)
@@ -1918,7 +1950,7 @@
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 @@
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 @@
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 @@
(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 @@
"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,7 +3408,6 @@
(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))
@@ -3402,6 +3418,7 @@
(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,6 +3432,8 @@
'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
@@ -3424,7 +3443,7 @@
;; 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))))
+ (set-buffer ob)))
;; interactive operations
@@ -3527,8 +3546,7 @@
(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 @@
((string-match "^-" mode)
;; Remove the unbanned masks from the ban list
(setq erc-channel-banlist
- (delete-if
- (lambda (y)
+ (erc-delete-if
+ #'(lambda (y)
(member (upcase (cdr y))
- (mapcar #'upcase (cdr (split-string mode)))))
+ (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 @@
"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 @@
(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 @@
(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 @@
(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 @@
?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 @@
"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 @@
(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 @@
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+
+;; arch-tag: d19587f6-627e-48c1-8d86-58595fa3eca3
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/