Gnus development mailing list
 help / color / mirror / Atom feed
From: Steven L Baur <steve@miranova.com>
Subject: Re: Gnus v5.4.47 is released
Date: 27 Apr 1997 11:59:14 -0700	[thread overview]
Message-ID: <m27mho47i5.fsf@altair.xemacs.org> (raw)
In-Reply-To: Matt Simmons's message of 27 Apr 1997 12:57:54 -0500

Matt Simmons <simmonmt@cs.purdue.edu> 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  <steve@altair.xemacs.org>
+
+	* 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  <larsi@menja.ifi.uio.no>
 
 	* 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.


      reply	other threads:[~1997-04-27 18:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-04-27 10:37 Lars Magne Ingebrigtsen
1997-04-27 17:57 ` Matt Simmons
1997-04-27 18:59   ` Steven L Baur [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m27mho47i5.fsf@altair.xemacs.org \
    --to=steve@miranova.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).