+2001-12-06 10:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * nnweb.el (nnweb-replace-in-string): Removed.
+
+ * gnus-util.el (gnus-replace-in-string): New.
+ (gnus-mode-string-quote): Use it.
+
+ * nnrss.el (nnrss-format-string): Use gnus-replace-in-string.
+ * nnwfm.el (nnwfm-create-mapping): Ditto.
+
2001-12-06 01:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* dgnushack.el (dgnushack-compile): nnrss.el and
(autoload 'rmail-count-new-messages "rmail")
(autoload 'rmail-show-message "rmail"))
+(eval-and-compile
+ (cond
+ ((fboundp 'replace-in-string)
+ (defalias 'gnus-replace-in-string 'replace-in-string))
+ ((fboundp 'replace-regexp-in-string)
+ (defun gnus-replace-in-string (string regexp newtext &optional literal)
+ (replace-regexp-in-string regexp newtext string nil literal)))
+ (t
+ (defun gnus-replace-in-string (string regexp newtext &optional literal)
+ (let ((start 0) tail)
+ (while (string-match regexp string start)
+ (setq tail (- (length string) (match-end 0)))
+ (setq string (replace-match newtext t t string))
+ (setq start (- (length string) tail))))
+ string))))
+
(defun gnus-boundp (variable)
"Return non-nil if VARIABLE is bound and non-nil."
(and (boundp variable)
(defun gnus-mode-string-quote (string)
"Quote all \"%\"'s in STRING."
- (save-excursion
- (gnus-set-work-buffer)
- (insert string)
- (goto-char (point-min))
- (while (search-forward "%" nil t)
- (insert "%"))
- (buffer-string)))
+ (gnus-replace-in-string string "%" "%%"))
;; Make a hash table (default and minimum size is 256).
;; Optional argument HASHSIZE specifies the table size.
(if changed
(nnrss-save-server-data ""))))
-(defun nnrss-replace-in-string (string match newtext)
- (while (string-match match string)
- (setq string (replace-match newtext t t string)))
- string)
-
(defun nnrss-format-string (string)
- (nnrss-replace-in-string (nnrss-string-as-multibyte string) " *\n *" " "))
+ (gnus-replace-in-string (nnrss-string-as-multibyte string) " *\n *" " "))
(defun nnrss-node-text (node)
(if (and node (listp node))
(listp (cdr element)))
(nnweb-text-1 element)))))
-(defun nnweb-replace-in-string (string match newtext)
- (while (string-match match string)
- (setq string (replace-match newtext t t string)))
- string)
-
(provide 'nnweb)
;;; nnweb.el ends here
(setq description (car (last (nnweb-text (nth 1 row)))))
(setq articles
(string-to-number
- (nnweb-replace-in-string
+ (gnus-replace-in-string
(car (last (nnweb-text (nth 3 row)))) "," "")))
(when (and href
(string-match "GroupId=\\([0-9]+\\)" href))
(while (re-search-forward " wr(" nil t)
(forward-char -1)
(setq elem (message-tokenize-header
- (nnweb-replace-in-string
+ (gnus-replace-in-string
(buffer-substring
(1+ (point))
(progn
"\\\\[\"\\\\]" "")))
(push (list
(string-to-number (nth 1 elem))
- (nnweb-replace-in-string (nth 2 elem) "\"" "")
+ (gnus-replace-in-string (nth 2 elem) "\"" "")
(string-to-number (nth 5 elem)))
forum-contents))
(when (re-search-forward "href=\"\\(Thread.*DateLast=\\([^\"]+\\)\\)"