From: Stefan Monnier Date: Fri, 26 Mar 2021 15:45:31 +0000 (-0400) Subject: * lisp/obsolete/tpu-extras.el: Avoid defadvice X-Git-Tag: emacs-28.0.90~3134 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bc506441372726341b6d95abb85011dba6d897ea;p=emacs.git * lisp/obsolete/tpu-extras.el: Avoid defadvice (tpu--respect-bottom-scroll-margin): New function, extracted from `newline`s defadvice. (newline, newline-and-indent, do-auto-fill): Delete defadvice. (tpu-set-scroll-margins): Use advice-add instead of `ad-enable-advice`+`ad-activate`. Use an explicit arg instead of `called-interactively-p`. --- diff --git a/lisp/obsolete/tpu-extras.el b/lisp/obsolete/tpu-extras.el index 5d59945c562..f375e05d8ac 100644 --- a/lisp/obsolete/tpu-extras.el +++ b/lisp/obsolete/tpu-extras.el @@ -368,34 +368,22 @@ A repeat count means scroll that many sections." (and (< (point) top) (recenter (min beg top-margin)))))) ;; Advise the newline, newline-and-indent, and do-auto-fill functions. -(defadvice newline (around tpu-respect-bottom-scroll-margin activate disable) +(defun tpu--respect-bottom-scroll-margin (orig-fun &optional &rest args) "Respect `tpu-bottom-scroll-margin'." (let ((beg (tpu-current-line)) - (num (prefix-numeric-value (ad-get-arg 0)))) - ad-do-it + (num (prefix-numeric-value (car args)))) + (apply orig-fun args) (tpu-bottom-check beg num))) -(defadvice newline-and-indent (around tpu-respect-bottom-scroll-margin) - "Respect `tpu-bottom-scroll-margin'." - (let ((beg (tpu-current-line))) - ad-do-it - (tpu-bottom-check beg 1))) - -(defadvice do-auto-fill (around tpu-respect-bottom-scroll-margin) - "Respect `tpu-bottom-scroll-margin'." - (let ((beg (tpu-current-line))) - ad-do-it - (tpu-bottom-check beg 1))) - - ;;; Function to set scroll margins ;;;###autoload -(defun tpu-set-scroll-margins (top bottom) +(defun tpu-set-scroll-margins (top bottom &optional emit-msg) "Set scroll margins." (interactive "sEnter top scroll margin (N lines or N%% or RETURN for current value): \ -\nsEnter bottom scroll margin (N lines or N%% or RETURN for current value): ") +\nsEnter bottom scroll margin (N lines or N%% or RETURN for current value): \ +\np") ;; set top scroll margin (or (string= top "") (setq tpu-top-scroll-margin @@ -411,10 +399,9 @@ A repeat count means scroll that many sections." (/ (1- (+ (* (string-to-number bottom) 100) (window-height))) (window-height))))) (dolist (f '(newline newline-and-indent do-auto-fill)) - (ad-enable-advice f 'around 'tpu-respect-bottom-scroll-margin) - (ad-activate f)) + (advice-add f :around #'tpu--respect-bottom-scroll-margin)) ;; report scroll margin settings if running interactively - (and (called-interactively-p 'interactive) + (and emit-msg (message "Scroll margins set. Top = %s%%, Bottom = %s%%" tpu-top-scroll-margin tpu-bottom-scroll-margin)))