;;; dgnushack.el --- a hack to set the load path for byte-compiling
-;; Copyright (C) 1994-2013 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Version: 4.19
(defvar dgnushack-default-load-path (copy-sequence load-path))
+(unless (fboundp 'declare-function)
+ (defmacro declare-function (&rest r)))
+
(defalias 'facep 'ignore)
(require 'cl)
(if (my-getenv "lispdir")
(push (my-getenv "lispdir") load-path))
-(push (or (my-getenv "URLDIR") (expand-file-name "../../url/lisp/" loaddir))
- load-path)
-
-(push (or (my-getenv "W3DIR") (expand-file-name "../../w3/lisp/" loaddir))
- load-path)
-
;(push "/usr/share/emacs/site-lisp" load-path)
-;; If we are building w3 in a different directory than the source
+;; If we are building Gnus in a different directory than the source
;; directory, we must read *.el from source directory and write *.elc
;; into the building directory. For that, we define this function
;; before loading bytecomp. Bytecomp doesn't overwrite this function.
(defun url-queue-retrieve (url callback &optional cbargs silent
inhibit-cookies)
(url-retrieve url callback cbargs)))
+ (unless (boundp 'w3-configuration-directory)
+ (setq w3-configuration-directory "~/.w3/"))
(autoload 'Info-directory "info" nil t)
(autoload 'Info-index "info" nil t)
(autoload 'Info-index-next "info" nil t)
(autoload 'toggle-truncate-lines "view-less" nil t)
(autoload 'trace-function-background "trace" nil t)
(autoload 'unmorse-region "morse" nil t)
- (autoload 'w3-do-setup "w3")
- (autoload 'w3-prepare-buffer "w3-display")
- (autoload 'w3-region "w3-display" nil t)
(defalias 'frame-char-height 'frame-height)
(defalias 'frame-char-width 'frame-width)
(defalias 'frame-parameter 'frame-property)
(defalias 'replace-highlight 'ignore)
(defalias 'gnutls-available-p 'ignore)
(defvar timer-list nil)
- (defvar scroll-margin 0)
- (defalias 'w3-coding-system-for-mime-charset 'ignore)))
+ (defvar scroll-margin 0)))
(defun dgnushack-emacs-compile-defcustom-p ()
"Return non-nil if Emacs byte compiles `defcustom' forms.
(equal (nth 1 form) ''nconc))
(setq form (cons 'mapcan (cdr last)))))))
+(if (featurep 'emacs)
+ (defun dgnushack-compile-file (file)
+ "Byte-compile FILE after reporting that it's being compiled."
+ (message "Compiling %s..." (file-name-nondirectory file))
+ ;; The Emacs 25 version of it doesn't say much.
+ (byte-compile-file file))
+ (defalias 'dgnushack-compile-file 'byte-compile-file))
+
(defun dgnushack-compile-verbosely ()
"Call dgnushack-compile with warnings ENABLED. If you are compiling
patches to gnus, you should consider modifying make.bat to call
(setq files (delete file files)))
(when (featurep 'base64)
(setq files (delete "base64.el" files)))
- (condition-case code
- (require 'w3-parse)
- (error
- (message "No w3: %s %s" (cadr code) (or (locate-library "w3-parse") ""))
- (dolist (file '("webmail.el" "nnwfm.el"))
- (setq files (delete file files)))))
(condition-case code
;; Under XEmacs 21.4 this loads easy-mmode.elc that provides
;; the Emacs functions `propertize' and `replace-regexp-in-string'.
(unless (locate-library "epg")
(setq files (delete "plstore.el" files)))
;; Temporary code until we fix pcase and defmethod stuff.
- (when (or (and (featurep 'xemacs)
- (emacs-version>= 21 5))
- (and (not (featurep 'xemacs))
- (or (< emacs-major-version 24)
- (< emacs-minor-version 3))))
- (setq files (delete "gnus-icalendar.el" files)))
+ (when (or (featurep 'xemacs)
+ (or (< emacs-major-version 24)
+ (< emacs-minor-version 3)))
+ (setq files (delete "gnus-icalendar.el" files))
+ ;; Temporary during development.
+ (setq files (delete "gnus-cloud.el" files)))
(dolist (file files)
(setq file (expand-file-name file srcdir))
(when (and (file-exists-p
(if error-on-warn
(let ((byte-compile-error-on-warn t))
(unless (ignore-errors
- (byte-compile-file file))
+ (dgnushack-compile-file file))
(setq compilesuccess nil)))
(ignore-errors
- (byte-compile-file file)))))
+ (dgnushack-compile-file file)))))
compilesuccess))
(defun dgnushack-recompile ()
(progn ,@body)
(error (message "Error: %S" ,err) nil)))))
-;; XEmacs's `define-obsolete-variable-alias' takes only two arguments:
+;; `define-obsolete-function-alias' and `define-obsolete-variable-alias'
+;; take only two arguments in XEmacs:
+;; (define-obsolete-function-alias OLDFUN NEWFUN)
;; (define-obsolete-variable-alias OLDVAR NEWVAR)
(condition-case nil
- (progn
- (defvar dgnushack-obsolete-name nil)
- (defvar dgnushack-current-name nil)
- (unwind-protect
- (define-obsolete-variable-alias
- 'dgnushack-obsolete-name 'dgnushack-current-name "0")
- (makunbound 'dgnushack-obsolete-name)
- (makunbound 'dgnushack-current-name)))
+ (define-obsolete-function-alias
+ 'dgnushack-obsolete-name 'dgnushack-current-name "0")
+ (wrong-number-of-arguments
+ (defadvice define-obsolete-function-alias (around ignore-rest-args
+ (oldfun newfun &rest args)
+ activate)
+ "Ignore arguments other than the 1st and the 2nd ones."
+ ad-do-it)
+ (put 'define-obsolete-function-alias 'byte-optimizer
+ (lambda (form)
+ (setcdr (nthcdr 2 form) nil)
+ form))))
+(condition-case nil
+ (define-obsolete-variable-alias
+ 'dgnushack-obsolete-name 'dgnushack-current-name "0")
(wrong-number-of-arguments
(defadvice define-obsolete-variable-alias (around ignore-rest-args
(oldvar newvar &rest args)