+(defvar dgnushack-gnus-load-file
+ (if (featurep 'xemacs)
+ (expand-file-name "auto-autoloads.el")
+ (expand-file-name "gnus-load.el")))
+
+(defvar dgnushack-cus-load-file
+ (if (featurep 'xemacs)
+ (expand-file-name "custom-load.el")
+ (expand-file-name "cus-load.el")))
+
+(defun dgnushack-make-cus-load ()
+ (load "cus-dep")
+ (let ((cusload-base-file dgnushack-cus-load-file))
+ (if (fboundp 'custom-make-dependencies)
+ (custom-make-dependencies)
+ (Custom-make-dependencies))
+ (when (featurep 'xemacs)
+ (message "Compiling %s..." dgnushack-cus-load-file)
+ (byte-compile-file dgnushack-cus-load-file))))
+
+(defun dgnushack-make-auto-load ()
+ (require 'autoload)
+ (unless (make-autoload '(define-derived-mode child parent name
+ "docstring" body)
+ "file")
+ (defadvice make-autoload (around handle-define-derived-mode activate)
+ "Handle `define-derived-mode'."
+ (if (eq (car-safe (ad-get-arg 0)) 'define-derived-mode)
+ (setq ad-return-value
+ (list 'autoload
+ (list 'quote (nth 1 (ad-get-arg 0)))
+ (ad-get-arg 1)
+ (nth 4 (ad-get-arg 0))
+ t nil))
+ ad-do-it))
+ (put 'define-derived-mode 'doc-string-elt 3))
+ (let ((generated-autoload-file dgnushack-gnus-load-file)
+ (make-backup-files nil)
+ (autoload-package-name "gnus"))
+ (if (featurep 'xemacs)
+ (if (file-exists-p generated-autoload-file)
+ (delete-file generated-autoload-file))
+ (with-temp-file generated-autoload-file
+ (insert ?\014)))
+ (batch-update-autoloads)))
+
+(defun dgnushack-make-load ()
+ (unless (featurep 'xemacs)
+ (message "Generating %s..." dgnushack-gnus-load-file)
+ (with-temp-file dgnushack-gnus-load-file
+ (insert-file-contents dgnushack-cus-load-file)
+ (delete-file dgnushack-cus-load-file)
+ (goto-char (point-min))
+ (search-forward ";;; Code:")
+ (forward-line)
+ (delete-region (point-min) (point))
+ (insert "\
+;;; gnus-load.el --- automatically extracted custom dependencies and autoload
+;;
+;;; Code:
+")
+ (goto-char (point-max))
+ (if (search-backward "custom-versions-load-alist" nil t)
+ (forward-line -1)
+ (forward-line -1)
+ (while (eq (char-after) ?\;)
+ (forward-line -1))
+ (forward-line))
+ (delete-region (point) (point-max))
+ (insert "\n")
+ ;; smiley-* are duplicated. Remove them all.
+ (let ((point (point)))
+ (insert-file-contents dgnushack-gnus-load-file)
+ (goto-char point)
+ (while (search-forward "smiley-" nil t)
+ (beginning-of-line)
+ (if (looking-at "(autoload ")
+ (delete-region (point) (progn (forward-sexp) (point)))
+ (forward-line))))
+ ;;
+ (goto-char (point-max))
+ (when (search-backward "\n(provide " nil t)
+ (forward-line -1)
+ (delete-region (point) (point-max)))
+ (insert "\
+
+\(provide 'gnus-load)
+
+;;; Local Variables:
+;;; version-control: never
+;;; no-byte-compile: t
+;;; no-update-autoloads: t
+;;; End:
+;;; gnus-load.el ends here
+")
+ ))
+ (message "Compiling %s..." dgnushack-gnus-load-file)
+ (byte-compile-file dgnushack-gnus-load-file)
+ (when (featurep 'xemacs)
+ (message "Creating dummy gnus-load.el...")
+ (with-temp-file (expand-file-name "gnus-load.el")
+ (insert "\
+
+\(provide 'gnus-load)
+
+;;; Local Variables:
+;;; version-control: never
+;;; no-byte-compile: t
+;;; no-update-autoloads: t
+;;; End:
+;;; gnus-load.el ends here"))))
+