[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [h-e-w] Gnus scoring questions
From: |
Bill Pringlemeir |
Subject: |
Re: [h-e-w] Gnus scoring questions |
Date: |
21 Jan 2003 13:02:45 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
>> Does the key sequence "V t" work when you are in the "summary
>> buffer"? This is working on my configuration... but so does the
>> menu item.
Windhorn> Neither one works on my machine (same message), so I think
Windhorn> they are equivalent.
Ok. The function "C-h k" and a key sequence (or menu item) will tell you
what the function is,
<menu-bar> <Score> <Trace score> runs the command gnus-score-find-trace
which is an interactive compiled Lisp function in `gnus-score'.
(gnus-score-find-trace)
Find all score rules that applies to the current article.
You can click on the underlined code to go see the source in
gnu-score.el. This is always helpful and ends in results for
me... but it is usually time consuming to understand all of the elisp.
Here is the elisp,
(defun gnus-score-find-trace ()
"Find all score rules that applies to the current article."
(interactive)
(let ((old-scored gnus-newsgroup-scored))
(let ((gnus-newsgroup-headers
(list (gnus-summary-article-header)))
(gnus-newsgroup-scored nil)
trace)
(save-excursion
(nnheader-set-temp-buffer "*Score Trace*"))
(setq gnus-score-trace nil)
(gnus-possibly-score-headers 'trace)
(if (not (setq trace gnus-score-trace))
(gnus-error
1 "No score rules apply to the current article (default score %d)."
gnus-summary-default-score)
(set-buffer "*Score Trace*")
(setq truncate-lines t)
(while trace
(insert (format "%S -> %s\n" (cdar trace)
(or (caar trace) "(non-file rule)")))
(setq trace (cdr trace)))
(goto-char (point-min))
(gnus-configure-windows 'score-trace)))
(set-buffer gnus-summary-buffer)
(setq gnus-newsgroup-scored old-scored)))
It calls a function "gnus-configure-windows", which is the message you
got. Lets look at it. "C-h f" and the function name takes us to this
source.
(defun gnus-configure-windows (setting &optional force)
(if (window-configuration-p setting)
(set-window-configuration setting)
(setq gnus-current-window-configuration setting)
(setq force (or force gnus-always-force-window-configuration))
(setq setting (gnus-windows-old-to-new setting))
(let ((split (if (symbolp setting)
(cadr (assq setting gnus-buffer-configuration))
setting))
all-visible)
(setq gnus-frame-split-p nil)
(unless split
(error "No such setting in `gnus-buffer-configuration': %s" setting))
;;; Your errror is here?
(if (and (setq all-visible (gnus-all-windows-visible-p split))
(not force))
;; All the windows mentioned are already visible, so we just
;; put point in the assigned buffer, and do not touch the
;; winconf.
(select-window all-visible)
;; Make sure "the other" buffer, nntp-server-buffer, is live.
(unless (gnus-buffer-live-p nntp-server-buffer)
(nnheader-init-server-buffer))
;; Either remove all windows or just remove all Gnus windows.
(let ((frame (selected-frame)))
(unwind-protect
(if gnus-use-full-window
;; We want to remove all other windows.
(if (not gnus-frame-split-p)
;; This is not a `frame' split, so we ignore the
;; other frames.
(delete-other-windows)
;; This is a `frame' split, so we delete all windows
;; on all frames.
(gnus-delete-windows-in-gnusey-frames))
;; Just remove some windows.
(gnus-remove-some-windows)
(if (featurep 'xemacs)
(switch-to-buffer nntp-server-buffer)
(set-buffer nntp-server-buffer)))
(select-frame frame)))
(let (gnus-window-frame-focus)
(if (featurep 'xemacs)
(switch-to-buffer nntp-server-buffer)
(set-buffer nntp-server-buffer))
(gnus-configure-frame split)
(when gnus-window-frame-focus
(select-frame (window-frame gnus-window-frame-focus))))))))
This is a long function. However your error occurs at the top.
You can try "C-h v" on "gnus-always-force-window-configuration" and
the other variable in this code and the other variables...
gnus-always-force-window-configuration's value is nil
Documentation:
*If non-nil, always force the Gnus window configurations.
You can customize this variable.
Defined in `gnus-win'.
***
gnus-current-window-configuration's value is group
Documentation:
The most recently set window configuration.
Defined in `gnus-win'.
***
gnus-buffer-configuration's value is shown below.
Documentation:
Window configuration for all possible Gnus buffers.
See the Gnus manual for an explanation of the syntax used.
Defined in `gnus-win'.
Value:
((group
(vertical 1.0
(group 1.0 point)
(if gnus-carpal
'(group-carpal 4))))
[snip]
(score-trace
(vertical 1.0
(summary 0.5 point)
("*Score Trace*" 1.0)))
[snip]
(compose-bounce
(vertical 1.0
(article 0.5)
(message 1.0 point))))
"C-h v" on "gnus-buffer-configuration" looks interesting... especially
the sectionon score-trace. I am not sure what this is about, but it
tells us to look in the manual... "C-h i", "m Gnus <ret>", "s
gnus-buffer-configuration". This takes me to the menu "Windows
Configuration". I bet that this is the problem. Probably this
"alist" [a big glob of elisp stuff] isn't copacetic with your version
of Emacs/Gnus/.gnus/.emacs, etc. At the very least read the stuff in
the "Windows Configuration" info page. btw, the "V t" looks like
this,
("gnus" 10 731236 w) -> e:/home/bpringle/News/nnml...
("questions" 10 731236 w) -> e:/home/bpringle/News...
("scoring" 10 731236 w) -> e:/home/bpringle/News/n...
("e" 25850 731236 w) -> e:/home/bpringle/News/nnml...
("h" 25740 731236 w) -> e:/home/bpringle/News/nnml...
("w" 26220 731236 w) -> e:/home/bpringle/News/nnml...
hth,
Bill Pringlemeir.