X-Git-Url: http://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece.el;h=9936dcd011921562db666f650bebbce3588a9a0f;hp=75356bd4be1ad266f42b9ae70eb2800b1f37cd61;hb=6eb9cb58675899ce404b7dbd08624865bc66625a;hpb=e9c836e9cc3e51bbff373c467fc5b1d6f63eb889 diff --git a/lisp/riece.el b/lisp/riece.el index 75356bd..9936dcd 100644 --- a/lisp/riece.el +++ b/lisp/riece.el @@ -31,8 +31,6 @@ (require 'riece-addon) (require 'riece-signal) -(autoload 'derived-mode-class "derived") - (defvar riece-channel-list-mode-map (make-sparse-keymap)) (defvar riece-user-list-mode-map (make-sparse-keymap)) @@ -249,6 +247,7 @@ If optional argument SAFE is nil, overwrite previous definitions." (defvar print-escape-multibyte) (defun riece-save-variables-files () "Save current settings to `riece-saved-variables-file'." + (message (riece-mcat "Saving %s...") riece-saved-variables-file) (with-temp-file riece-saved-variables-file (insert ";;; This file is generated automatically by " riece-version ".\n" ";;; Do not edit this file!\n\n") @@ -264,6 +263,7 @@ If optional argument SAFE is nil, overwrite previous definitions." (current-buffer)) (insert "\n") (setq variables (cdr variables))))) + (message (riece-mcat "Saving %s...done") riece-saved-variables-file) (setq riece-save-variables-are-dirty nil)) ;;;###autoload @@ -386,9 +386,12 @@ For a list of the generic commands type \\[riece-command-generic] ? RET. (setq riece-command-mode-syntax-table (copy-syntax-table (syntax-table))) (set-syntax-table riece-command-mode-syntax-table) - (mapcar - (lambda (c) (modify-syntax-entry c "w")) - "^[]{}'`")) + (let* ((chars "^[]{}'`") + (length (length chars)) + (index 0)) + (while (< index length) + (modify-syntax-entry (aref chars index) "w") + (setq index (1+ index))))) (run-hooks 'riece-command-mode-hook)) @@ -478,7 +481,7 @@ All normal editing commands are turned off." riece-mode-line-buffer-identification) truncate-lines t buffer-read-only t) - (make-local-hook 'riece-update-buffer-functions) + (riece-make-local-hook 'riece-update-buffer-functions) (add-hook 'riece-update-buffer-functions 'riece-update-channel-list-buffer nil t) (use-local-map riece-channel-list-mode-map) @@ -509,7 +512,7 @@ Instead, these commands are available: buffer-read-only t) (if (boundp 'transient-mark-mode) (set (make-local-variable 'transient-mark-mode) t)) - (make-local-hook 'riece-update-buffer-functions) + (riece-make-local-hook 'riece-update-buffer-functions) (add-hook 'riece-update-buffer-functions 'riece-update-user-list-buffer nil t) (use-local-map riece-user-list-mode-map) @@ -527,100 +530,10 @@ Instead, these commands are available: (funcall (nth 2 (car alist)))) (setq alist (cdr alist)))))) -(defvar reporter-prompt-for-summary-p) -(defun riece-submit-bug-report (&optional recent-messages recent-keys) +(defun riece-submit-bug-report () "Submit via mail a bug report on Riece." - ;; This strange form ensures that (recent-keys) is the value before - ;; the bug subject string is read. - (interactive (list (riece-recent-messages 20) (recent-keys))) - (message "Querying server version...") - (let ((pointer riece-server-process-alist) - nickname) - (while pointer - (when (riece-server-process-opened (cdr (car pointer))) - (process-send-string (cdr (car pointer)) "VERSION\r\n") - (if (setq nickname - (with-current-buffer (process-buffer (cdr (car pointer))) - riece-real-nickname)) - (process-send-string - (cdr (car pointer)) - (format "PRIVMSG %s :\1VERSION\1\r\n" nickname)))) - (setq pointer (cdr pointer)))) - (sit-for 3) - (message "Querying server version...done") - (require 'reporter) - (let ((reporter-prompt-for-summary-p t)) - (unless riece-debug - (error "Please turn on riece-debug and restart Riece.")) - (reporter-submit-bug-report - "liece@unixuser.org" - (riece-version) - '(riece-debug) - nil - nil - "This bug report will be sent to the Riece Development Team, -not to your local site managers!! - -Please write in Japanese or English, because the Riece maintainers do -not have translators to read other languages for them. - -Please describe as succinctly as possible: -\t- What happened. -\t- What you thought should have happened. -\t- Precisely what you were doing at the time. - -Also include a reliable recipe for triggering the bug, as well as -any lisp back-traces that you may have. -\(setq stack-trace-on-error t\), or \(setq debug-on-error t\) if you -are familiar with the debugger, to get a lisp back-trace.") - (delete-other-windows) - (save-excursion - (goto-char (point-max)) - (insert - "\nAdd-on state:\n" - "------------\n" - (save-window-excursion - (save-excursion - (riece-command-list-addons) - (search-forward "\n\n") - (buffer-substring (point-min) (point))))) - (insert "Recent messages from servers:\n" - "--------------------------") - (let ((pointer riece-server-process-alist)) - (while pointer - (insert "\n- \"" (car (car pointer)) "\", \n" - (format "%S" (if (equal (car (car pointer)) "") - riece-server - (cdr (assoc (car (car pointer)) - riece-server-alist)))) - "\n" - (if (riece-server-process-opened (cdr (car pointer))) - (save-excursion - (set-buffer (process-buffer (cdr (car pointer)))) - (goto-char (point-max)) - (beginning-of-line -60) - (buffer-substring (point) (point-max))) - "(closed server)")) - (setq pointer (cdr pointer)))) - (insert "\n\nRecent debug messages:\n" - "-----------------------------------\n" - (with-current-buffer riece-debug-buffer - (buffer-string))) - ;; Insert recent keystrokes. - (insert "\n\nRecent keystrokes:\n" - "-----------------\n\n") - (let ((before-keys (point))) - (insert (key-description recent-keys)) - (save-restriction - (narrow-to-region before-keys (point)) - (goto-char before-keys) - (while (progn (move-to-column 50) (not (eobp))) - (search-forward " " nil t) - (insert "\n")))) - ;; Insert recent minibuffer messages. - (insert "\n\nRecent messages (most recent first):\n" - "-----------------------------------\n" - recent-messages)))) + (interactive) + (browse-url "https://savannah.nongnu.org/bugs/?group=riece")) (provide 'riece)