defadvice is obsolete in Emacs 30. --- gnuserv-3.12.8/gnuserv-compat.el +++ gnuserv-3.12.8/gnuserv-compat.el @@ -112,28 +112,27 @@ ;; can do! If the device doesn't represent a live frame, we create ;; the frame as requested. - (defadvice make-frame (around - gnuserv-compat-make-frame - first - (&optional parameters device) - activate) + (defun gnuserv-compat-make-frame (orig-fun &optional parameters device) (if (and device (frame-live-p device)) (progn (if parameters (modify-frame-parameters device parameters)) - (setq ad-return-value device)) - ad-do-it)) + device) + (funcall orig-fun parameters))) + + (advice-add 'make-frame :around #'gnuserv-compat-make-frame) ;; Advise `filtered-frame-list' to ignore the optional device ;; argument. Here we don't follow the mapping of devices to frames. ;; We just assume that any frame satisfying the predicate will do. - (defadvice filtered-frame-list (around - gnuserv-compat-filtered-frame-list - first - (predicate &optional device) - activate) - ad-do-it)) + (defun gnuserv-compat-filtered-frame-list (orig-fun predicate + &optional _device) + (funcall orig-fun predicate)) + + (advice-add 'filtered-frame-list + :around #'gnuserv-compat-filtered-frame-list) + ) ;; Emulate XEmacs devices. A device is just a frame. For the most