(defvar dgnushack-default-load-path (copy-sequence load-path))
-(unless (fboundp 'declare-function)
- (defmacro declare-function (&rest r)))
+(when (featurep 'xemacs)
+ (defmacro declare-function (fn file &optional arglist fileonly)
+ (unless (fboundp fn) (autoload fn file))
+ nil))
(defalias 'facep 'ignore)
(defalias 'frame-char-height 'frame-height)
(defalias 'frame-char-width 'frame-width)
(defalias 'frame-parameter 'frame-property)
- (defalias 'make-overlay 'ignore)
- (defalias 'overlay-end 'ignore)
- (defalias 'overlay-get 'ignore)
- (defalias 'overlay-put 'ignore)
- (defalias 'overlay-start 'ignore)
- (defalias 'overlays-in 'ignore)
(defalias 'replace-dehighlight 'ignore)
(defalias 'replace-highlight 'ignore)
(defalias 'gnutls-available-p 'ignore)
(defvar timer-list nil)
- (defvar scroll-margin 0)))
+ (defvar scroll-margin 0)
+ (dolist (fn '(copy-overlay
+ delete-overlay make-overlay move-overlay next-overlay-change
+ overlay-buffer overlay-end overlay-get overlay-lists
+ overlay-properties overlay-put overlay-recenter overlay-start
+ overlayp overlays-at overlays-in previous-overlay-change
+ remove-overlays))
+ (autoload fn "overlay"))))
(defun dgnushack-emacs-compile-defcustom-p ()
"Return non-nil if Emacs byte compiles `defcustom' forms.
(when (and (eq last (third form))
(consp last)
(eq 'mapcar (car last))
- (equal (nth 1 form) ''nconc))
+ (member (nth 1 form) '(''nconc #'nconc)))
(setq form (cons 'mapcan (cdr last)))))))
(if (featurep 'emacs)
(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)