Most Common Lisp macros want a cl- prefix in Emacs 27 and later

--- gnuserv-3.12.8/gnuserv-compat.el
+++ gnuserv-3.12.8/gnuserv-compat.el
@@ -49,7 +49,7 @@
 ;; 20.3.  Also, XEmacs preloads the common lisp stuff, and we might as
 ;; well use it here.
 
-(require 'cl)
+(require 'cl-macs)
 
 (eval-and-compile
   (unless (fboundp 'define-obsolete-variable-alias)
@@ -66,7 +66,7 @@
   (unless (fboundp 'add-minor-mode)
     (defun add-minor-mode (toggle name)
       "Register a new minor mode."
-      (pushnew (list toggle name)
+      (cl-pushnew (list toggle name)
 	       minor-mode-alist
 	       :test 'equal)))
   
--- gnuserv-3.12.8/gnuserv.el
+++ gnuserv-3.12.8/gnuserv.el
@@ -83,6 +83,8 @@
 
 ;;; Code:
 
+(require 'cl-macs)
+
 (defgroup gnuserv nil
   "The gnuserv suite of programs to talk to Emacs from outside."
   :group 'environment
@@ -203,7 +205,7 @@
 
 ;;; Internal variables:
 
-(defstruct gnuclient
+(cl-defstruct gnuclient
   "An object that encompasses several buffers in one.
 Normally, a client connecting to Emacs will be assigned an id, and
 will request editing of several files.
@@ -289,7 +291,7 @@
 (defun gnuserv-sentinel (proc msg)
   (let ((msgstring (concat "Gnuserv process %s; restart with `%s'"))
 	(keystring (substitute-command-keys "\\[gnuserv-start]")))
-  (case (process-status proc)
+  (cl-case (process-status proc)
     (exit
      (message msgstring "exited" keystring)
      (gnuserv-prepare-shutdown))
@@ -403,7 +405,7 @@
 If a flag is `view', view the files read-only."
   (let (quick view)
     (mapc (lambda (flag)
-	    (case flag
+	    (cl-case flag
 	      (quick (setq quick t))
 	      (view  (setq view t))
 	      (t     (error "Invalid flag %s" flag))))
@@ -419,7 +421,7 @@
 	   (device (cond ((frame-live-p dest-frame)
 			  (frame-device dest-frame))
 			 ((null dest-frame)
-			  (case (car type)
+			  (cl-case (car type)
 			    (tty (apply 'make-tty-device (cdr type)))
 			    (gtk (make-gtk-device))
 			    (x   (make-x-device-with-gtk-fallback (cadr type)))
@@ -456,7 +458,7 @@
 	  (goto-line line)
 	  ;; Don't memorize the quick and view buffers.
 	  (unless (or quick view)
-	    (pushnew (current-buffer) (gnuclient-buffers client))
+	    (cl-pushnew (current-buffer) (gnuclient-buffers client))
 	    (setq gnuserv-minor-mode t)
 	    ;; Add the "Done" button to the menubar, only in this buffer.
 	    (if (and (featurep 'menubar) current-menubar)
@@ -510,9 +512,9 @@
 ;; Like `gnuserv-buffer-clients', but returns a boolean; doesn't
 ;; collect a list.
 (defun gnuserv-buffer-p (buffer)
-  (member* buffer gnuserv-clients
-	   :test 'memq
-	   :key 'gnuclient-buffers))
+  (cl-member buffer gnuserv-clients
+	     :test 'memq
+	     :key 'gnuclient-buffers))
 
 ;; This function makes sure that a killed buffer is deleted off the
 ;; list for the particular client.
@@ -525,7 +527,7 @@
 editing has ended."
   (let* ((buf (current-buffer)))
     (dolist (client (gnuserv-buffer-clients buf))
-      (callf2 delq buf (gnuclient-buffers client))
+      (cl-callf2 delq buf (gnuclient-buffers client))
       ;; If no more buffers, kill the client.
       (when (null (gnuclient-buffers client))
 	(gnuserv-kill-client client)))))
@@ -546,7 +548,7 @@
 
 (defun gnuserv-kill-emacs-query-function ()
   (or gnuserv-kill-quietly
-      (not (some 'gnuclient-buffers gnuserv-clients))
+      (not (cl-some 'gnuclient-buffers gnuserv-clients))
       (yes-or-no-p "Gnuserv buffers still have clients; exit anyway? ")))
 
 (add-hook 'kill-emacs-query-functions
@@ -562,7 +564,7 @@
 	;; killing the device, because it would cause a device-dead
 	;; error when `delete-device' tries to do the job later.
 	(gnuserv-kill-client client t))))
-  (callf2 delq device gnuserv-devices))
+  (cl-callf2 delq device gnuserv-devices))
 
 (add-hook 'delete-device-hook 'gnuserv-check-device)
 
@@ -582,7 +584,7 @@
 the function will not remove the frames associated with the client."
   ;; Order is important: first delete client from gnuserv-clients, to
   ;; prevent gnuserv-buffer-done-1 calling us recursively.
-  (callf2 delq client gnuserv-clients)
+  (cl-callf2 delq client gnuserv-clients)
   ;; Process the buffers.
   (mapc 'gnuserv-buffer-done-1 (gnuclient-buffers client))
   (unless leave-frame
@@ -593,15 +595,15 @@
       ;; note: last frame on a device will not be deleted here.
     (when (and (gnuclient-frame client)
 	       (frame-live-p (gnuclient-frame client))
-	       (second (device-frame-list device)))
+	       (cl-second (device-frame-list device)))
       (delete-frame (gnuclient-frame client)))
     ;; If the device is live, created by a client, and no longer used
     ;; by any client, delete it.
     (when (and (device-live-p device)
 	       (memq device gnuserv-devices)
-	       (second (device-list))
-	       (not (member* device gnuserv-clients
-			     :key 'gnuclient-device)))
+	       (cl-second (device-list))
+	       (not (cl-member device gnuserv-clients
+			       :key 'gnuclient-device)))
       ;; `gnuserv-check-device' will remove it from `gnuserv-devices'.
       (delete-device device))))
   ;; Notify the client.
@@ -610,7 +612,7 @@
 ;; Do away with the buffer.
 (defun gnuserv-buffer-done-1 (buffer)
   (dolist (client (gnuserv-buffer-clients buffer))
-    (callf2 delq buffer (gnuclient-buffers client))
+    (cl-callf2 delq buffer (gnuclient-buffers client))
     (when (null (gnuclient-buffers client))
       (gnuserv-kill-client client)))
   ;; Get rid of the buffer.
@@ -639,19 +641,19 @@
      ;; If we have a client belonging to this frame, return
      ;; the first buffer from it.
      ((setq client
-	    (car (member* frame gnuserv-clients :key 'gnuclient-frame)))
+	    (car (cl-member frame gnuserv-clients :key 'gnuclient-frame)))
       (car (gnuclient-buffers client)))
      ;; Else, look for a device.
      ((and
        (memq (selected-device) gnuserv-devices)
        (setq client
-	     (car (member* device gnuserv-clients :key 'gnuclient-device))))
+	     (car (cl-member device gnuserv-clients :key 'gnuclient-device))))
       (car (gnuclient-buffers client)))
      ;; Else, try to find any client with at least one buffer, and
      ;; return its first buffer.
      ((setq client
-	    (car (member-if-not #'null gnuserv-clients
-				:key 'gnuclient-buffers)))
+	    (car (cl-member-if-not #'null gnuserv-clients
+				   :key 'gnuclient-buffers)))
       (car (gnuclient-buffers client)))
      ;; Oh, give up.
      (t nil))))
@@ -759,7 +761,7 @@
   (when (null count)
     (setq count 1))
   (cond ((numberp count)
-	 (while (natnump (decf count))
+	 (while (natnump (cl-decf count))
 	   (let ((frame (selected-frame)))
 	     (gnuserv-buffer-done (current-buffer))
 	     (when (eq frame (selected-frame))