diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2015-05-23 11:32:29 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2015-05-23 11:32:29 -0400 |
commit | 919281ddb2eec5b5503c246dfad902d44aa25644 (patch) | |
tree | 1204a207b7d24c596caed1beeda629c27ba2f90d /lisp/menu-bar.el | |
parent | dc4484ec6de13a3d75b52c477a3cde59dc8ed46c (diff) | |
download | emacs-919281ddb2eec5b5503c246dfad902d44aa25644.tar.gz |
Replace gui-method macros with cl-generic with &context
* 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'.
Diffstat (limited to 'lisp/menu-bar.el')
-rw-r--r-- | lisp/menu-bar.el | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 2ace3162c90..a1b6d95ec0b 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -474,13 +474,15 @@ :enable (and (cdr yank-menu) (not buffer-read-only)) :help "Choose a string from the kill ring and paste it")) (bindings--define-key menu [paste] - '(menu-item "Paste" yank - :enable (and (or - (gui-call gui-selection-exists-p 'CLIPBOARD) - (if (featurep 'ns) ; like paste-from-menu - (cdr yank-menu) - kill-ring)) - (not buffer-read-only)) + `(menu-item "Paste" yank + :enable (funcall + ',(lambda () + (and (or + (gui-backend-selection-exists-p 'CLIPBOARD) + (if (featurep 'ns) ; like paste-from-menu + (cdr yank-menu) + kill-ring)) + (not buffer-read-only)))) :help "Paste (yank) text most recently cut/copied")) (bindings--define-key menu [copy] ;; ns-win.el said: Substitute a Copy function that works better @@ -523,9 +525,12 @@ '(and mark-active (not buffer-read-only))) (put 'clipboard-kill-ring-save 'menu-enable 'mark-active) (put 'clipboard-yank 'menu-enable - '(and (or (gui-call gui-selection-exists-p 'PRIMARY) - (gui-call gui-selection-exists-p 'CLIPBOARD)) - (not buffer-read-only))) + `(funcall ',(lambda () + (and (or (gui-backend-selection-exists-p 'PRIMARY) + (gui-backend-selection-exists-p 'CLIPBOARD)) + (not buffer-read-only))))) + +(defvar gui-select-enable-clipboard) (defun clipboard-yank () "Insert the clipboard contents, or the last stretch of killed text." |