mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-07 20:54:32 +00:00
* 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`.
This commit is contained in:
parent
28d0654943
commit
bc50644137
@ -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)))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user