From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/10825 Path: main.gmane.org!not-for-mail From: Steven L Baur Newsgroups: gmane.emacs.gnus.general Subject: Re: Gnus v5.4.47 is released Date: 27 Apr 1997 11:59:14 -0700 Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=US-ASCII X-Trace: main.gmane.org 1035150632 26653 80.91.224.250 (20 Oct 2002 21:50:32 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 21:50:32 +0000 (UTC) Return-Path: Original-Received: from ifi.uio.no (0@ifi.uio.no [129.240.64.2]) by deanna.miranova.com (8.8.5/8.8.5) with SMTP id LAA31153 for ; Sun, 27 Apr 1997 11:53:23 -0700 Original-Received: from altair.xemacs.org (steve@xemacs.miranova.com [206.190.83.19]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Sun, 27 Apr 1997 20:46:10 +0200 Original-Received: (from steve@localhost) by altair.xemacs.org (8.8.5/8.8.5) id LAA22669; Sun, 27 Apr 1997 11:59:16 -0700 Mail-Copies-To: never Original-To: ding@ifi.uio.no X-Url: http://www.miranova.com/%7Esteve/ X-Face: #!T9!#9s-3o8)*uHlX{Ug[xW7E7Wr!*L46-OxqMu\xz23v|R9q}lH?cRS{rCNe^'[`^sr5" f8*@r4ipO6Jl!:Ccqp:9I OSS'2{-)-4wBnVeg0S\O4Al@)uC[pD|+ X-Attribution: sb In-Reply-To: Matt Simmons's message of 27 Apr 1997 12:57:54 -0500 Original-Lines: 301 X-Mailer: Gnus v5.4.47/XEmacs 20.2(beta3) Xref: main.gmane.org gmane.emacs.gnus.general:10825 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:10825 Matt Simmons writes: > Am I the only one who had 5.4.47 blow up on make? Of course not. There's a circular dependency in gnus-xmas.el introduced by the (require 'gnus-art) added between 5.4.46 and 5.4.47. gnus-art.el requires gnus-ems.el which defines two autoloads for functions in gnus-xmas.el (gnus-xmas-define and gnus-xmas-redefine) and uses them. The ugly brute-force solution is to move the definitions of gnus-xmas-define and gnus-xmas-redefine above the (require 'gnus-art). No doubt there's a better way to do this. =================================================================== RCS file: RCS/ChangeLog,v retrieving revision 1.45 diff -u -r1.45 ChangeLog --- ChangeLog 1997/04/27 18:07:18 1.45 +++ ChangeLog 1997/04/27 18:41:35 @@ -1,3 +1,9 @@ +Sun Apr 27 11:40:57 1997 Steven L Baur + + * gnus-xmas.el (gnus-art): (require 'gnus-art) introduces a + circular dependency on gnus-xmas-define and gnus-xmas-redefine. + Brute force it away. + Sun Apr 27 12:32:13 1997 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.4.47 is released. =================================================================== RCS file: RCS/gnus-xmas.el,v retrieving revision 1.17 diff -u -r1.17 gnus-xmas.el --- gnus-xmas.el 1997/04/27 18:07:18 1.17 +++ gnus-xmas.el 1997/04/27 18:37:55 @@ -28,7 +28,126 @@ (require 'text-props) (defvar menu-bar-mode (featurep 'menubar)) (require 'messagexmas) -(require 'gnus-art) + +(defun gnus-xmas-redefine () + "Redefine lots of Gnus functions for XEmacs." + (fset 'gnus-summary-set-display-table 'gnus-xmas-summary-set-display-table) + (fset 'gnus-visual-turn-off-edit-menu 'identity) + (fset 'gnus-summary-recenter 'gnus-xmas-summary-recenter) + (fset 'gnus-extent-start-open 'gnus-xmas-extent-start-open) + (fset 'gnus-article-push-button 'gnus-xmas-article-push-button) + (fset 'gnus-article-add-button 'gnus-xmas-article-add-button) + (fset 'gnus-window-top-edge 'gnus-xmas-window-top-edge) + (fset 'gnus-read-event-char 'gnus-xmas-read-event-char) + (fset 'gnus-group-startup-message 'gnus-xmas-group-startup-message) + (fset 'gnus-tree-minimize 'gnus-xmas-tree-minimize) + (fset 'gnus-appt-select-lowest-window + 'gnus-xmas-appt-select-lowest-window) + (fset 'gnus-mail-strip-quoted-names 'gnus-xmas-mail-strip-quoted-names) + (fset 'gnus-character-to-event 'character-to-event) + (fset 'gnus-mode-line-buffer-identification + 'gnus-xmas-mode-line-buffer-identification) + (fset 'gnus-key-press-event-p 'key-press-event-p) + (fset 'gnus-region-active-p 'region-active-p) + + (add-hook 'gnus-group-mode-hook 'gnus-xmas-group-menu-add) + (add-hook 'gnus-summary-mode-hook 'gnus-xmas-summary-menu-add) + (add-hook 'gnus-article-mode-hook 'gnus-xmas-article-menu-add) + (add-hook 'gnus-score-mode-hook 'gnus-xmas-score-menu-add) + + (add-hook 'gnus-pick-mode-hook 'gnus-xmas-pick-menu-add) + (add-hook 'gnus-topic-mode-hook 'gnus-xmas-topic-menu-add) + (add-hook 'gnus-tree-mode-hook 'gnus-xmas-tree-menu-add) + (add-hook 'gnus-binary-mode-hook 'gnus-xmas-binary-menu-add) + (add-hook 'gnus-grouplens-mode-hook 'gnus-xmas-grouplens-menu-add) + (add-hook 'gnus-server-mode-hook 'gnus-xmas-server-menu-add) + (add-hook 'gnus-browse-mode-hook 'gnus-xmas-browse-menu-add) + + (add-hook 'gnus-group-mode-hook 'gnus-xmas-setup-group-toolbar) + (add-hook 'gnus-summary-mode-hook 'gnus-xmas-setup-summary-toolbar) + + (add-hook 'gnus-summary-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off) + + (when (and (<= emacs-major-version 19) + (<= emacs-minor-version 13)) + (setq gnus-article-x-face-too-ugly (when (eq (device-type) 'tty) + ".")) + (fset 'gnus-highlight-selected-summary + 'gnus-xmas-highlight-selected-summary) + (fset 'gnus-group-remove-excess-properties + 'gnus-xmas-group-remove-excess-properties) + (fset 'gnus-topic-remove-excess-properties + 'gnus-xmas-topic-remove-excess-properties) + (fset 'gnus-mode-line-buffer-identification 'identity) + (unless (boundp 'shell-command-switch) + (setq shell-command-switch "-c")))) + +(defun gnus-xmas-define () + (setq gnus-mouse-2 [button2]) + + (unless (memq 'underline (face-list)) + (and (fboundp 'make-face) + (funcall (intern "make-face") 'underline))) + ;; Must avoid calling set-face-underline-p directly, because it + ;; is a defsubst in emacs19, and will make the .elc files non + ;; portable! + (unless (face-differs-from-default-p 'underline) + (funcall (intern "set-face-underline-p") 'underline t)) + + (cond + ((fboundp 'char-or-char-int-p) + ;; Handle both types of marks for XEmacs-20.x. + (fset 'gnus-characterp 'char-or-char-int-p)) + ;; V19 of XEmacs, probably. + (t + (fset 'gnus-characterp 'characterp))) + + (fset 'gnus-make-overlay 'make-extent) + (fset 'gnus-overlay-put 'set-extent-property) + (fset 'gnus-move-overlay 'gnus-xmas-move-overlay) + (fset 'gnus-overlay-end 'extent-end-position) + (fset 'gnus-extent-detached-p 'extent-detached-p) + (fset 'gnus-add-text-properties 'gnus-xmas-add-text-properties) + (fset 'gnus-put-text-property 'gnus-xmas-put-text-property) + + (require 'text-props) + (if (and (<= emacs-major-version 19) + (< emacs-minor-version 14)) + (fset 'gnus-set-text-properties 'gnus-xmas-set-text-properties)) + + (when (fboundp 'turn-off-scroll-in-place) + (add-hook 'gnus-article-mode-hook 'turn-off-scroll-in-place)) + + (unless (boundp 'standard-display-table) + (setq standard-display-table nil)) + + (defvar gnus-mouse-face-prop 'highlight) + + (unless (fboundp 'encode-time) + (defun encode-time (sec minute hour day month year &optional zone) + (let ((seconds + (gnus-xmas-seconds-since-epoch + (timezone-make-arpa-date + year month day (timezone-make-time-string hour minute sec) + zone)))) + (list (floor (/ seconds (expt 2 16))) + (round (mod seconds (expt 2 16))))))) + + (defun gnus-byte-code (func) + "Return a form that can be `eval'ed based on FUNC." + (let ((fval (symbol-function func))) + (if (compiled-function-p fval) + (list 'funcall fval) + (cons 'progn (cdr (cdr fval)))))) + + (fset 'gnus-x-color-values + (if (fboundp 'x-color-values) + 'x-color-values + (lambda (color) + (color-instance-rgb-components + (make-color-instance color)))))) + +(require 'gnus-art) ;; Circular (defgroup gnus-xmas nil "XEmacsoid support for Gnus" @@ -406,125 +525,6 @@ (* (nth 1 ttime) 60) (* (float (nth 0 ttime)) 60 60) (* (float tday) 60 60 24)))) - -(defun gnus-xmas-define () - (setq gnus-mouse-2 [button2]) - - (unless (memq 'underline (face-list)) - (and (fboundp 'make-face) - (funcall (intern "make-face") 'underline))) - ;; Must avoid calling set-face-underline-p directly, because it - ;; is a defsubst in emacs19, and will make the .elc files non - ;; portable! - (unless (face-differs-from-default-p 'underline) - (funcall (intern "set-face-underline-p") 'underline t)) - - (cond - ((fboundp 'char-or-char-int-p) - ;; Handle both types of marks for XEmacs-20.x. - (fset 'gnus-characterp 'char-or-char-int-p)) - ;; V19 of XEmacs, probably. - (t - (fset 'gnus-characterp 'characterp))) - - (fset 'gnus-make-overlay 'make-extent) - (fset 'gnus-overlay-put 'set-extent-property) - (fset 'gnus-move-overlay 'gnus-xmas-move-overlay) - (fset 'gnus-overlay-end 'extent-end-position) - (fset 'gnus-extent-detached-p 'extent-detached-p) - (fset 'gnus-add-text-properties 'gnus-xmas-add-text-properties) - (fset 'gnus-put-text-property 'gnus-xmas-put-text-property) - - (require 'text-props) - (if (and (<= emacs-major-version 19) - (< emacs-minor-version 14)) - (fset 'gnus-set-text-properties 'gnus-xmas-set-text-properties)) - - (when (fboundp 'turn-off-scroll-in-place) - (add-hook 'gnus-article-mode-hook 'turn-off-scroll-in-place)) - - (unless (boundp 'standard-display-table) - (setq standard-display-table nil)) - - (defvar gnus-mouse-face-prop 'highlight) - - (unless (fboundp 'encode-time) - (defun encode-time (sec minute hour day month year &optional zone) - (let ((seconds - (gnus-xmas-seconds-since-epoch - (timezone-make-arpa-date - year month day (timezone-make-time-string hour minute sec) - zone)))) - (list (floor (/ seconds (expt 2 16))) - (round (mod seconds (expt 2 16))))))) - - (defun gnus-byte-code (func) - "Return a form that can be `eval'ed based on FUNC." - (let ((fval (symbol-function func))) - (if (compiled-function-p fval) - (list 'funcall fval) - (cons 'progn (cdr (cdr fval)))))) - - (fset 'gnus-x-color-values - (if (fboundp 'x-color-values) - 'x-color-values - (lambda (color) - (color-instance-rgb-components - (make-color-instance color)))))) - -(defun gnus-xmas-redefine () - "Redefine lots of Gnus functions for XEmacs." - (fset 'gnus-summary-set-display-table 'gnus-xmas-summary-set-display-table) - (fset 'gnus-visual-turn-off-edit-menu 'identity) - (fset 'gnus-summary-recenter 'gnus-xmas-summary-recenter) - (fset 'gnus-extent-start-open 'gnus-xmas-extent-start-open) - (fset 'gnus-article-push-button 'gnus-xmas-article-push-button) - (fset 'gnus-article-add-button 'gnus-xmas-article-add-button) - (fset 'gnus-window-top-edge 'gnus-xmas-window-top-edge) - (fset 'gnus-read-event-char 'gnus-xmas-read-event-char) - (fset 'gnus-group-startup-message 'gnus-xmas-group-startup-message) - (fset 'gnus-tree-minimize 'gnus-xmas-tree-minimize) - (fset 'gnus-appt-select-lowest-window - 'gnus-xmas-appt-select-lowest-window) - (fset 'gnus-mail-strip-quoted-names 'gnus-xmas-mail-strip-quoted-names) - (fset 'gnus-character-to-event 'character-to-event) - (fset 'gnus-mode-line-buffer-identification - 'gnus-xmas-mode-line-buffer-identification) - (fset 'gnus-key-press-event-p 'key-press-event-p) - (fset 'gnus-region-active-p 'region-active-p) - - (add-hook 'gnus-group-mode-hook 'gnus-xmas-group-menu-add) - (add-hook 'gnus-summary-mode-hook 'gnus-xmas-summary-menu-add) - (add-hook 'gnus-article-mode-hook 'gnus-xmas-article-menu-add) - (add-hook 'gnus-score-mode-hook 'gnus-xmas-score-menu-add) - - (add-hook 'gnus-pick-mode-hook 'gnus-xmas-pick-menu-add) - (add-hook 'gnus-topic-mode-hook 'gnus-xmas-topic-menu-add) - (add-hook 'gnus-tree-mode-hook 'gnus-xmas-tree-menu-add) - (add-hook 'gnus-binary-mode-hook 'gnus-xmas-binary-menu-add) - (add-hook 'gnus-grouplens-mode-hook 'gnus-xmas-grouplens-menu-add) - (add-hook 'gnus-server-mode-hook 'gnus-xmas-server-menu-add) - (add-hook 'gnus-browse-mode-hook 'gnus-xmas-browse-menu-add) - - (add-hook 'gnus-group-mode-hook 'gnus-xmas-setup-group-toolbar) - (add-hook 'gnus-summary-mode-hook 'gnus-xmas-setup-summary-toolbar) - - (add-hook 'gnus-summary-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off) - - (when (and (<= emacs-major-version 19) - (<= emacs-minor-version 13)) - (setq gnus-article-x-face-too-ugly (when (eq (device-type) 'tty) - ".")) - (fset 'gnus-highlight-selected-summary - 'gnus-xmas-highlight-selected-summary) - (fset 'gnus-group-remove-excess-properties - 'gnus-xmas-group-remove-excess-properties) - (fset 'gnus-topic-remove-excess-properties - 'gnus-xmas-topic-remove-excess-properties) - (fset 'gnus-mode-line-buffer-identification 'identity) - (unless (boundp 'shell-command-switch) - (setq shell-command-switch "-c")))) - ;;; XEmacs logo and toolbar. > On a side note, when I try to access nndoc groups (with any command), > I get "Wrong type argument: listp, all". Has anybody else seen this > before? Probably because of the above problem. They work for me once I got 5.4.47 bytecompiled. -- steve@miranova.com baur Unsolicited commercial e-mail will be billed at $250/message.