From: Daiki Ueno Date: Sat, 5 Feb 2005 12:53:10 +0000 (+0000) Subject: * riece-filter.el (riece-chomp-string): New function. X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=commitdiff_plain;h=37c5bbf35081931f322575f9ba9b841410f2921b;ds=inline * riece-filter.el (riece-chomp-string): New function. (riece-filter): Use it. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7765ebc..34e7807 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2005-02-05 Daiki Ueno + + * riece-filter.el (riece-chomp-string): New function. + (riece-filter): Use it. + 2005-02-05 Daiki Ueno * Riece: Version 1.0.7 released. diff --git a/lisp/riece-filter.el b/lisp/riece-filter.el index b2ae24f..dc72e92 100644 --- a/lisp/riece-filter.el +++ b/lisp/riece-filter.el @@ -64,6 +64,11 @@ (riece-ignore-errors (symbol-name after-hook) (run-hook-with-args-until-success after-hook prefix string))))) +(defun riece-chomp-string (string) + (if (string-match "\r?\n\\'" string) + (substring string 0 (match-beginning 0)) + string)) + (defun riece-filter (process input) (save-excursion (set-buffer (process-buffer process)) @@ -76,20 +81,20 @@ (setq riece-read-point (point)))) (beginning-of-line) (while (and (not (eobp)) - (looking-at "[^\r]*\r?\n")) ;the input line is not finished + (looking-at ".*\n")) ;the input line is not finished (save-excursion (if (looking-at - ":\\([^ ]+\\) +\\([0-5][0-9][0-9]\\) +\\([^ ]+\\) +\\([^\r]*\\)\r?\n") + ":\\([^ ]+\\) +\\([0-5][0-9][0-9]\\) +\\([^ ]+\\) +\\(.*\\)\n") (riece-handle-numeric-reply (match-string 1) ;prefix (string-to-number (match-string 2)) ;number (match-string 3) ;name - (match-string 4)) ;reply string - (if (looking-at "\\(:\\([^ ]+\\) +\\)?\\([^ ]+\\) +\\([^\r]*\\)\r?\n") + (riece-chomp-string (match-string 4))) ;reply string + (if (looking-at "\\(:\\([^ ]+\\) +\\)?\\([^ ]+\\) +\\(.*\\)\n") (riece-handle-message (match-string 2) ;optional prefix (match-string 3) ;command - (match-string 4)) ;params & trailing + (riece-chomp-string (match-string 4))) ;params & trailing (if riece-debug (message "Weird message from server: %s" (buffer-substring (point) (progn