• Stefan Monnier's avatar
    Replace gui-method macros with cl-generic with &context · 919281dd
    Stefan Monnier authored
    * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
    (gui-method-declare, gui-call): Remove.
    (frame-creation-function): Use cl-defgeneric.
    (make-frame): Adjust callers.
    
    * lisp/menu-bar.el (menu-bar-edit-menu):
    Use gui-backend-selection-exists-p.
    
    * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
    (gui-backend-get-selection): New cl-generic to replace
    gui-get-selection method.
    (gui-backend-set-selection): New cl-generic to replace
    gui-set-selection method.
    (gui-selection-owner-p): New cl-generic to replace
    gui-selection-owner-p method.
    (gui-backend-selection-exists-p): New cl-generic to replace
    gui-selection-exists-p method.  Adjust all callers.
    
    * lisp/server.el (server-create-window-system-frame): Don't ignore
    window-system spec even when unsupported.
    
    * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
    
    * lisp/startup.el (handle-args-function, window-system-initialization):
    Use cl-defgeneric.
    (command-line): Adjust calls accordingly.
    
    * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
    a window-system-initialization method.
    (handle-args-function, frame-creation-function): Use cl-defmethod.
    (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
    (gui-get-selection): Use cl-defmethod on the new functions instead.
    
    * lisp/term/pc-win.el (w16-get-selection-value): Turn into
    a gui-backend-get-selection method.
    (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
    Use cl-defmethod on the new functions instead.
    (msdos-window-system-initialization): Turn into
    a window-system-initialization method.
    (frame-creation-function, handle-args-function): Use cl-defmethod.
    
    * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
    a window-system-initialization method.
    (handle-args-function, frame-creation-function): Use cl-defmethod.
    (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
    (gui-get-selection): Use cl-defmethod on the new functions instead.
    
    * lisp/term/x-win.el (x-window-system-initialization): Turn into
    a window-system-initialization method.
    (handle-args-function, frame-creation-function): Use cl-defmethod.
    (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
    (gui-get-selection): Use cl-defmethod on the new functions instead.
    
    * lisp/term/xterm.el (xterm--set-selection): Turn into
    a gui-backend-set-selection method.
    
    * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
    (Fns_selection_owner_p): Remove unused arg `terminal'.
    (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
    919281dd
select.el 23.5 KB