diff options
| author | Stefan Monnier | 2022-03-24 05:32:10 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2022-03-24 05:32:10 -0400 |
| commit | 288ecdf90cb971a3871f7e99e3948176ae4f0e85 (patch) | |
| tree | e1f8bee8d50fc1325231f190536bd6246ae2abd8 /lisp | |
| parent | f7a90cc85b470578133d6b143d2740995ad4496b (diff) | |
| download | emacs-288ecdf90cb971a3871f7e99e3948176ae4f0e85.tar.gz emacs-288ecdf90cb971a3871f7e99e3948176ae4f0e85.zip | |
* lisp/select.el (xselect-convert-to-targets): Use `delete-dups` and `delq`
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/select.el | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/lisp/select.el b/lisp/select.el index 36452776e9a..90970f989a8 100644 --- a/lisp/select.el +++ b/lisp/select.el | |||
| @@ -547,25 +547,18 @@ two markers or an overlay. Otherwise, it is nil." | |||
| 547 | (xselect--int-to-cons len)))) | 547 | (xselect--int-to-cons len)))) |
| 548 | 548 | ||
| 549 | (defun xselect-convert-to-targets (selection _type value) | 549 | (defun xselect-convert-to-targets (selection _type value) |
| 550 | ;; return a vector of atoms, but remove duplicates first. | 550 | ;; Return a vector of atoms, but remove duplicates first. |
| 551 | (let* ((all (cons 'TIMESTAMP | 551 | (apply #'vector |
| 552 | (cons 'MULTIPLE | 552 | (delete-dups |
| 553 | (mapcar (lambda (conv) | 553 | `( TIMESTAMP MULTIPLE |
| 554 | (if (or (not (consp (cdr conv))) | 554 | . ,(delq '_EMACS_INTERNAL |
| 555 | (funcall (cadr conv) selection | 555 | (mapcar (lambda (conv) |
| 556 | (car conv) value)) | 556 | (if (or (not (consp (cdr conv))) |
| 557 | (car conv) | 557 | (funcall (cadr conv) selection |
| 558 | '_EMACS_INTERNAL)) | 558 | (car conv) value)) |
| 559 | selection-converter-alist)))) | 559 | (car conv) |
| 560 | (rest all)) | 560 | '_EMACS_INTERNAL)) |
| 561 | (while rest | 561 | selection-converter-alist)))))) |
| 562 | (cond ((memq (car rest) (cdr rest)) | ||
| 563 | (setcdr rest (delq (car rest) (cdr rest)))) | ||
| 564 | ((eq (car (cdr rest)) '_EMACS_INTERNAL) | ||
| 565 | (setcdr rest (cdr (cdr rest)))) | ||
| 566 | (t | ||
| 567 | (setq rest (cdr rest))))) | ||
| 568 | (apply 'vector all))) | ||
| 569 | 562 | ||
| 570 | (defun xselect-convert-to-delete (selection _type _value) | 563 | (defun xselect-convert-to-delete (selection _type _value) |
| 571 | (gui-backend-set-selection selection nil) | 564 | (gui-backend-set-selection selection nil) |