GNU bug report logs -
#9453
23.3; rcirc: INVITE command handled incorrectly
Previous Next
Reported by: "Peter Feigl" <peter.feigl <at> gmx.at>
Date: Tue, 6 Sep 2011 21:00:02 UTC
Severity: normal
Found in version 23.3
Done: Leo <sdl.web <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 9453 in the body.
You can then email your comments to 9453 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#9453
; Package
emacs
.
(Tue, 06 Sep 2011 21:00:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Peter Feigl" <peter.feigl <at> gmx.at>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Tue, 06 Sep 2011 21:00:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your report will be posted to the bug-gnu-emacs <at> gnu.org mailing list
and the gnu.emacs.bug news group, and at http://debbugs.gnu.org.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug. If you can, give
a recipe starting from `emacs -Q':
According to RFC 2812 the INVITE command has two parameters: the user
and the channel. If I connect to any server via M-x rcirc, join a
channel and type "/invite user #channel", RCIRC incorrectly
sends "INVITE :user #channel". It should instead send "INVITE user
#channel" (note the missing colon). This leads to the server rejecting
the incorrect invite.
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/share/emacs/23.3/etc/DEBUG.
In GNU Emacs 23.3.1 (i686-pc-linux-gnu, GTK+ Version 2.24.5)
of 2011-08-21 on ovide
configured using `configure '--prefix=/usr' '--sysconfdir=/etc' '--libexecdir=/usr/lib' '--localstatedir=/var' '--without-sound' '--with-x-toolkit=gtk' '--with-xft' 'CFLAGS=-march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu''
Important settings:
value of $LC_ALL: en_GB.UTF-8
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_GB.utf8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
Major mode: rcirc
Minor modes in effect:
csv-field-index-mode: t
display-time-mode: t
shell-dirtrack-mode: t
diff-auto-refine-mode: t
rcirc-track-minor-mode: t
show-paren-mode: t
iswitchb-mode: t
tooltip-mode: t
mouse-wheel-mode: t
use-hard-newlines: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
DEL , SPC t h u s SPC t h e SPC s e r v e r SPC s e
n d s SPC a n SPC e r r o r SPC r e p o r t SPC i n
s t e a d SPC o f SPC a c t u a l l y SPC i n v i t
i n g SPC a n y o n e RET a i d TAB n o t SPC s C-a
C-k a i d TAB w h e r e C-a C-k C-c C-@ C-l C-c C-@
C-l C-c C-@ C-l C-c C-@ C-l C-c C-@ C-l C-c C-@ C-l
C-c C-@ C-l C-c C-@ C-n C-n C-p C-c C-@ C-l C-c C-@
C-l C-c C-@ C-l C-c C-@ C-n C-a C-x b e m a c s RET
a i d TAB w h e r e SPC w o u l d SPC i SPC f i l e
SPC t h i s SPC b u g ? ESC b ESC b ESC b ESC d r e
p o r t RET ESC x b u g TAB TAB C-a C-k r e p TAB o
r TAB TAB TAB b u TAB RET r c i r c TAB C-g r c i r
c SPC i s SPC p a r t SPC o f SPC i DEL e m a c s ,
SPC s h o u l d SPC i SPC u s e SPC M - x SPC r e p
o r t - e m a c s - b u g ? RET ESC x r e p o r t -
e m TAB u DEL b TAB RET
Recent messages:
Quit
Mark activated
Buffer is read-only: #<buffer rcirc.el.gz> [2 times]
No IRC activity. [4 times]
Mark saved where search started
Mark set
Mark saved where search started
Mark set
No IRC activity. [3 times]
Making completion list... [3 times]
Quit
Load-path shadows:
/home/nex/elisp/find-recursive hides /usr/share/emacs/site-lisp/find-recursive
/home/nex/elisp/snippet hides /usr/share/emacs/site-lisp/snippet
/home/nex/elisp/bbdb-anniv hides /usr/share/emacs/site-lisp/bbdb/bits/bbdb-anniv
/usr/share/emacs/site-lisp/ruby-mode/ruby-mode hides /usr/share/emacs/23.3/lisp/progmodes/ruby-mode
/home/nex/elisp/hebrew hides /usr/share/emacs/23.3/lisp/language/hebrew
/home/nex/elisp/georgian hides /usr/share/emacs/23.3/lisp/language/georgian
/home/nex/elisp/smime hides /usr/share/emacs/23.3/lisp/gnus/smime
/usr/share/emacs/site-lisp/timeclock hides /usr/share/emacs/23.3/lisp/calendar/timeclock
Features:
(shadow emacsbug org-colview ibuf-ext ibuffer nxml-uchnm rng-xsd
xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse
nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode
nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok conf-mode
find-func org-table tabify cus-edit skeleton two-column iso-transl
sh-script gnus-msg gnus-art mm-uu mml2015 gnus-sum nnoo gnus-group
gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range
gnus-win multi-isearch bbdb-hooks bbdb-gui newcomment mail-extr
descr-text help-mode view bookmark cal-move parse-time goto-addr
w3m-form w3m doc-view jka-compr dired image-mode w3m-hist w3m-fb w3m-ems
w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util mule-util hl-line
bbdb-com cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew
holidays hol-loaddefs cal-iso vc-dispatcher vc-svn org-wl org-w3m org-vm
org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp
org-exp-blocks org-info org-gnus org-bibtex disp-table gnus-alias
notmuch notmuch-message notmuch-maildir-fcc notmuch-hello notmuch-show
notmuch-crypto notmuch-mua notmuch-address notmuch-wash coolj
notmuch-query json icalendar notmuch-lib message idna sendmail ecomplete
rfc822 mailabbrev gmm-utils mailheader canlock sha1 hex-util hashcash
mm-view tex ebib csv-mode sort csharp-mode cc-langs mediawiki mml
mml-sec mm-decode mm-bodies mm-encode url-http tls url-auth mail-parse
rfc2231 rfc2047 rfc2045 qp ietf-drums url-gw smime dig amazon eieio
mm-url gnus gnus-ems nnheader mail-utils xml org-bbdb bbdb-anniv
diary-lib diary-loaddefs cal-menu calendar cal-loaddefs cc-mode cc-fonts
cc-menus cc-cmds cc-styles cc-align cc-engine ledger pcomplete esh-arg
esh-util time edict edict-japanese edict-english edict-morphology
edict-edit dui-registry dui tempo url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-util url-parse url-vars mm-util
mail-prsvr mailcap xml-parse doxymacs w3m-load org-agenda org-remember
org-datetree org warnings org-footnote org-src org-list org-faces
org-compat org-macs noutline outline remember scheme epa-file epa epg
epg-config tramp-imap tramp-gw tramp-fish tramp-smb tramp-cache
tramp-ftp tramp-cmds tramp auth-source gnus-util netrc password-cache
format-spec tramp-compat trampver ess-toolbar ess-mouse mouseme ess-menu
ess-swv ess-noweb noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d
ess-sas-l ess-sas-a executable shell ess-arc-d ess-vst-d ess-xls-d
ess-lsp-l ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d
ess-sp5-d ess-sp3-d ess-r-d ess-r-args ess-s-l ess-inf ess-utils
ess-mode noweb-mode ess ess-custom ess-compat ess-site bbdb-sms ido
bbdb-autoloads bbdb timezone slime-repl slime byte-opt bytecomp
byte-compile hideshow pp hyperspec thingatpt browse-url rails
rails-shoulda rails-spec rails-features rails-controller-layout
rails-model-layout rails-ui rails-log rails-ws rails-test rails-rake
rails-scripts derived rails-find rails-navigation rails-cmd-proxy
rails-ruby flymake align rails-core rails-lib rails-project rails-compat
snippet inflections predictive-prog-mode flyspell ispell find-recursive
etags ansi-color sql ruby-electric inf-ruby compile comint speedbar
sb-image ezimage dframe assoc ruby-mode regexp-opt psvn advice help-fns
advice-preload wid-edit cl cl-19 log-edit pcvs-util add-log diff-mode
easy-mmode easymenu edmacro kmacro rcirc time-date ring cus-start
cus-load tex-site auto-loads paren iswitchb tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset
image fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev loaddefs button minibuffer faces cus-face files
text-properties overlay md5 base64 format env code-pages mule custom
widget hashtable-print-readable backquote make-network-process dbusbind
system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)
Information forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#9453
; Package
emacs
.
(Wed, 07 Sep 2011 02:33:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 9453 <at> debbugs.gnu.org (full text, mbox):
On 2011-09-07 04:29 +0800, Peter Feigl wrote:
> According to RFC 2812 the INVITE command has two parameters: the user
> and the channel. If I connect to any server via M-x rcirc, join a
> channel and type "/invite user #channel", RCIRC incorrectly
> sends "INVITE :user #channel". It should instead send "INVITE user
> #channel" (note the missing colon). This leads to the server rejecting
> the incorrect invite.
My reading of the code seems to suggest all commands that take more than
one params must be defined by defun-rcirc-command otherwise are
incorrectly handled.
Could you try the following patch (against emacs-23.3)?
Changes in HEAD
lisp/net/rcirc.el | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
Modified lisp/net/rcirc.el
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index 2baaa951..c0333313 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -2042,6 +2042,16 @@ (defun-rcirc-command join (channel)
(when (not (eq (selected-window) (minibuffer-window)))
(switch-to-buffer buffer))))
+(defun-rcirc-command invite (nick-channel)
+ "Invite NICK to CHANNEL."
+ (interactive (list
+ (concat
+ (completing-read "Invite nick: "
+ (with-rcirc-server-buffer rcirc-nick-table))
+ " "
+ (read-string "Channel: "))))
+ (rcirc-send-string process (concat "INVITE " nick-channel)))
+
;; TODO: /part #channel reason, or consider removing #channel altogether
(defun-rcirc-command part (channel)
"Part CHANNEL."
Information forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#9453
; Package
emacs
.
(Thu, 08 Sep 2011 14:22:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 9453 <at> debbugs.gnu.org (full text, mbox):
On Wed, 07 Sep 2011 10:27:52 +0800, Leo <sdl.web <at> gmail.com> wrote:
> On 2011-09-07 04:29 +0800, Peter Feigl wrote:
> > According to RFC 2812 the INVITE command has two parameters: the user
> > and the channel. If I connect to any server via M-x rcirc, join a
> > channel and type "/invite user #channel", RCIRC incorrectly
> > sends "INVITE :user #channel". It should instead send "INVITE user
> > #channel" (note the missing colon). This leads to the server rejecting
> > the incorrect invite.
>
> My reading of the code seems to suggest all commands that take more than
> one params must be defined by defun-rcirc-command otherwise are
> incorrectly handled.
>
> Could you try the following patch (against emacs-23.3)?
>
> Changes in HEAD
> lisp/net/rcirc.el | 10 ++++++++++
> 1 files changed, 10 insertions(+), 0 deletions(-)
>
> Modified lisp/net/rcirc.el
> diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
> index 2baaa951..c0333313 100644
> --- a/lisp/net/rcirc.el
> +++ b/lisp/net/rcirc.el
> @@ -2042,6 +2042,16 @@ (defun-rcirc-command join (channel)
> (when (not (eq (selected-window) (minibuffer-window)))
> (switch-to-buffer buffer))))
>
> +(defun-rcirc-command invite (nick-channel)
> + "Invite NICK to CHANNEL."
> + (interactive (list
> + (concat
> + (completing-read "Invite nick: "
> + (with-rcirc-server-buffer rcirc-nick-table))
> + " "
> + (read-string "Channel: "))))
> + (rcirc-send-string process (concat "INVITE " nick-channel)))
> +
> ;; TODO: /part #channel reason, or consider removing #channel altogether
> (defun-rcirc-command part (channel)
> "Part CHANNEL."
Thank you, this is the same way I patched it myself yesterday. Could you
get this patch into the official emacs repositories? It works perfectly.
Thanks for the swift help!
Peter
Reply sent
to
Leo <sdl.web <at> gmail.com>
:
You have taken responsibility.
(Thu, 08 Sep 2011 15:36:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
"Peter Feigl" <peter.feigl <at> gmx.at>
:
bug acknowledged by developer.
(Thu, 08 Sep 2011 15:36:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 9453-done <at> debbugs.gnu.org (full text, mbox):
On 2011-09-08 22:17 +0800, Peter Feigl wrote:
> Thank you, this is the same way I patched it myself yesterday. Could you
> get this patch into the official emacs repositories? It works perfectly.
Thanks for confirming. Fixed in 24.1.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 07 Oct 2011 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 13 years and 72 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.