|
1 | 1 | (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) |
2 | 2 |
|
3 | | -(FILECREATED "21-Apr-2024 09:12:04" {WMEDLEY}<library>CLIPBOARD.;18 7248 |
| 3 | +(FILECREATED "25-Sep-2025 15:00:01" |
| 4 | +{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>CLIPBOARD.;28 8305 |
4 | 5 |
|
5 | 6 | :EDIT-BY rmk |
6 | 7 |
|
7 | | - :CHANGES-TO (FNS INSTALL-CLIPBOARD) |
8 | | - (VARS CLIPBOARDCOMS) |
| 8 | + :CHANGES-TO (FNS PUTCLIPBOARD CLIPBOARD-COPY-STREAM) |
9 | 9 |
|
10 | | - :PREVIOUS-DATE " 2-Apr-2024 17:02:09" {WMEDLEY}<library>CLIPBOARD.;17) |
| 10 | + :PREVIOUS-DATE "21-Apr-2024 09:12:04" {WMEDLEY}<library>CLIPBOARD.;18) |
11 | 11 |
|
12 | 12 |
|
13 | 13 | (PRETTYCOMPRINT CLIPBOARDCOMS) |
|
58 | 58 | (CONCATCODES (BIND C WHILE (SETQ C (READCCODE s)) COLLECT C]) |
59 | 59 |
|
60 | 60 | (PUTCLIPBOARD |
61 | | - [LAMBDA (OBJECT PRINTFN) (* ; "Edited 23-Feb-2021 11:32 by rmk:") |
62 | | - (* ; "Edited 25-Apr-2018 16:49 by rmk:") |
63 | | - (CL:WITH-OPEN-STREAM (s (CLIPBOARD-COPY-STREAM)) |
64 | | - (IF PRINTFN |
65 | | - THEN (APPLY* PRINTFN OBJECT s) |
66 | | - ELSE (PRIN3 OBJECT s]) |
| 61 | + [LAMBDA (OBJECT PRINTFN) (* ; "Edited 25-Sep-2025 14:59 by rmk") |
| 62 | + (* ; "Edited 23-Feb-2021 11:32 by rmk:") |
| 63 | + (* ; "Edited 25-Apr-2018 16:49 by rmk:") |
| 64 | + (if (STRPOS "darwin" (UNIX-GETENV "OSTYPE")) |
| 65 | + then |
| 66 | + (* ;; "pbpaste doesn't seem to take a file argument.") |
| 67 | + |
| 68 | + (CL:WITH-OPEN-STREAM (S (CREATE-PROCESS-STREAM "pbcopy")) |
| 69 | + (CL:IF PRINTFN |
| 70 | + (APPLY* PRINTFN OBJECT S) |
| 71 | + (PRIN3 OBJECT S))) |
| 72 | + else |
| 73 | + (* ;; "Try to make xclip more reliable by passing a file that already contains the input.") |
| 74 | + |
| 75 | + (LET ((TEMPFILE (OUTFILEP "{DSK}/tmp/xclip-copy.txt"))) |
| 76 | + (CL:WITH-OPEN-FILE (S TEMPFILE :DIRECTION :OUTPUT :EXTERNAL-FORMAT ( |
| 77 | + SYSTEM-EXTERNALFORMAT |
| 78 | + )) |
| 79 | + (CL:IF PRINTFN |
| 80 | + (APPLY* PRINTFN OBJECT S) |
| 81 | + (PRIN3 OBJECT S))) |
| 82 | + (ShellCommand (CONCAT "xclip -i -selection clipboard " (UNIX-FILE-NAME TEMPFILE))) |
| 83 | + (DELFILE TEMPFILE]) |
67 | 84 |
|
68 | 85 | (PASTEFROMCLIPBOARD |
69 | 86 | [LAMBDA NIL (* ; "Edited 15-Feb-2021 23:43 by rmk:") |
|
81 | 98 | ELSE (BIND C WHILE (SETQ C (GNCCODE STR)) DO (BKSYSCHARCODE C]) |
82 | 99 |
|
83 | 100 | (CLIPBOARD-COPY-STREAM |
84 | | - [LAMBDA NIL (* ; "Edited 7-Jul-2022 23:51 by rmk") |
| 101 | + [LAMBDA NIL (* ; "Edited 24-Sep-2025 14:27 by rmk") |
| 102 | + (* ; "Edited 7-Jul-2022 23:51 by rmk") |
85 | 103 | (* ; "Edited 23-Feb-2021 22:11 by rmk:") |
86 | | - (LET (STRM (OST (UNIX-GETENV "OSTYPE"))) |
87 | | - (SETQ STRM (CREATE-PROCESS-STREAM (CL:IF (STRPOS "darwin" OST) |
88 | | - "pbcopy" |
89 | | - "xclip -i -selection clipboard"))) |
90 | | - STRM]) |
| 104 | + (CREATE-PROCESS-STREAM (CL:IF (STRPOS "darwin" (UNIX-GETENV "OSTYPE")) |
| 105 | + "pbcopy" |
| 106 | + "xclip -i -selection clipboard")]) |
91 | 107 |
|
92 | 108 | (CLIPBOARD-PASTE-STREAM |
93 | 109 | [LAMBDA NIL (* ; "Edited 7-Jul-2022 23:51 by rmk") |
|
146 | 162 | (ADDTOVAR LAMA ) |
147 | 163 | ) |
148 | 164 | (DECLARE%: DONTCOPY |
149 | | - (FILEMAP (NIL (1148 5429 (INSTALL-CLIPBOARD 1158 . 2485) (GETCLIPBOARD 2487 . 2861) (PUTCLIPBOARD 2863 |
150 | | - . 3268) (PASTEFROMCLIPBOARD 3270 . 4188) (CLIPBOARD-COPY-STREAM 4190 . 4705) (CLIPBOARD-PASTE-STREAM |
151 | | -4707 . 5427)) (5430 6969 (SEDIT.COPYTOCLIPBOARD 5440 . 6967))))) |
| 165 | + (FILEMAP (NIL (1167 6486 (INSTALL-CLIPBOARD 1177 . 2504) (GETCLIPBOARD 2506 . 2880) (PUTCLIPBOARD 2882 |
| 166 | + . 4306) (PASTEFROMCLIPBOARD 4308 . 5226) (CLIPBOARD-COPY-STREAM 5228 . 5762) (CLIPBOARD-PASTE-STREAM |
| 167 | +5764 . 6484)) (6487 8026 (SEDIT.COPYTOCLIPBOARD 6497 . 8024))))) |
152 | 168 | STOP |
0 commit comments