1
0
mirror of synced 2026-05-04 15:16:50 +00:00

Rmk16 remove tedit special stuff from CLIPBOARD, move it to TEDIT-COMMAND. (#1676)

* CLIPBOARD:  Remove Tedit-specific code

* TEDIT-COMMAND:  Add interface to Clipboard

This also implements a different way of dealing with image objects in the selection.  Instead of causing an error (since an imageobject can't be printed to the clipboard stream), it tries to put out a useful representation of the object.  If the object has a preprint function, it applies that.  Otherwise, it prints out the name of the getfn.  Other objects can be explored.
This commit is contained in:
rmkaplan
2024-04-29 19:44:29 -07:00
committed by GitHub
parent 047aa5ff23
commit e40d3311c1
4 changed files with 164 additions and 73 deletions

View File

@@ -1,13 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "31-Mar-2024 06:51:14" {DSK}<home>larry>il>medley>library>CLIPBOARD.;2 8932
(FILECREATED "21-Apr-2024 09:12:04" {WMEDLEY}<library>CLIPBOARD.;18 7248
:EDIT-BY "lmm"
:EDIT-BY rmk
:CHANGES-TO (FNS INSTALL-CLIPBOARD)
(VARS CLIPBOARDCOMS)
:PREVIOUS-DATE "19-Oct-2023 00:20:01" {DSK}<home>larry>il>medley>library>CLIPBOARD.;1)
:PREVIOUS-DATE " 2-Apr-2024 17:02:09" {WMEDLEY}<library>CLIPBOARD.;17)
(PRETTYCOMPRINT CLIPBOARDCOMS)
@@ -16,7 +16,6 @@
[ (* ; "Enable copy and paste")
(FNS INSTALL-CLIPBOARD GETCLIPBOARD PUTCLIPBOARD PASTEFROMCLIPBOARD CLIPBOARD-COPY-STREAM
CLIPBOARD-PASTE-STREAM)
(FNS TEDIT.COPYTOCLIPBOARD TEDIT.EXTRACTTOCLIPBOARD)
(FNS SEDIT.COPYTOCLIPBOARD)
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DOCOPY (FILES (SYSLOAD)
UNIXCOMM UNICODE)
@@ -32,7 +31,8 @@
(DEFINEQ
(INSTALL-CLIPBOARD
[LAMBDA NIL (* ; "Edited 30-Mar-2024 22:22 by lmm")
[LAMBDA NIL (* ; "Edited 21-Apr-2024 08:56 by rmk")
(* ; "Edited 30-Mar-2024 22:22 by lmm")
(* ; "Edited 24-Jun-2021 21:14 by rmk:")
(* ; "Edited 19-Apr-2020 12:15 by rmk:")
(* ; "Edited 18-Apr-2018 23:00 by rmk:")
@@ -45,34 +45,6 @@
(LIST (CHARCODE "1,V")
'(PASTEFROMCLIPBOARD]
LISPINTERRUPTS)
(CL:WHEN (BOUNDP 'TEDIT.READTABLE) (* ; "TEDIT")
(* ;; "Paste")
(TEDIT.SETFUNCTION (CHARCODE "Meta,v")
(FUNCTION PASTEFROMCLIPBOARD)
TEDIT.READTABLE)
(TEDIT.SETFUNCTION (CHARCODE "Meta,V")
(FUNCTION PASTEFROMCLIPBOARD)
TEDIT.READTABLE)
(* ;; "Copy")
(TEDIT.SETFUNCTION (CHARCODE "Meta,c")
(FUNCTION TEDIT.COPYTOCLIPBOARD)
TEDIT.READTABLE)
(TEDIT.SETFUNCTION (CHARCODE "Meta,C")
(FUNCTION TEDIT.COPYTOCLIPBOARD)
TEDIT.READTABLE)
(* ;; "Extract")
(TEDIT.SETFUNCTION (CHARCODE "Meta,X")
(FUNCTION TEDIT.EXTRACTTOCLIPBOARD)
TEDIT.READTABLE)
(TEDIT.SETFUNCTION (CHARCODE "Meta,x")
(FUNCTION TEDIT.EXTRACTTOCLIPBOARD)
TEDIT.READTABLE))
(CL:WHEN (GETP 'SEDIT 'FILEDATES) (* ;
 "SEDIT copy: INTERRUPTCHAR does paste")
(SEDIT:ADD-COMMAND "Meta,c" 'SEDIT.COPYTOCLIPBOARD "M-c" "Copy to clipboard")
@@ -131,22 +103,6 @@
)
(DEFINEQ
(TEDIT.COPYTOCLIPBOARD
[LAMBDA NIL (* ; "Edited 18-Apr-2018 00:02 by rmk:")
(LET [(TEXTSTREAM (TEXTSTREAM (TTY.PROCESS]
(IF TEXTSTREAM
THEN (PUTCLIPBOARD (TEDIT.SEL.AS.STRING TEXTSTREAM])
(TEDIT.EXTRACTTOCLIPBOARD
[LAMBDA (TSTREAM TEXTOBJ SEL) (* ; "Edited 19-Oct-2023 00:19 by rmk")
(* ; "Edited 19-Apr-2020 12:17 by rmk:")
(* ; "Edited 18-Apr-2018 00:02 by rmk:")
(CL:WHEN TSTREAM
(PUTCLIPBOARD (TEDIT.SEL.AS.STRING TSTREAM))
(TEDIT.DELETE TSTREAM SEL))])
)
(DEFINEQ
(SEDIT.COPYTOCLIPBOARD
[LAMBDA (CONTEXT) (* ; "Edited 8-Aug-2020 15:25 by rmk:")
(* ; "Edited 24-Apr-2018 20:39 by rmk:")
@@ -190,8 +146,7 @@
(ADDTOVAR LAMA )
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1243 6345 (INSTALL-CLIPBOARD 1253 . 3401) (GETCLIPBOARD 3403 . 3777) (PUTCLIPBOARD 3779
. 4184) (PASTEFROMCLIPBOARD 4186 . 5104) (CLIPBOARD-COPY-STREAM 5106 . 5621) (CLIPBOARD-PASTE-STREAM
5623 . 6343)) (6346 7113 (TEDIT.COPYTOCLIPBOARD 6356 . 6637) (TEDIT.EXTRACTTOCLIPBOARD 6639 . 7111)) (
7114 8653 (SEDIT.COPYTOCLIPBOARD 7124 . 8651)))))
(FILEMAP (NIL (1148 5429 (INSTALL-CLIPBOARD 1158 . 2485) (GETCLIPBOARD 2487 . 2861) (PUTCLIPBOARD 2863
. 3268) (PASTEFROMCLIPBOARD 3270 . 4188) (CLIPBOARD-COPY-STREAM 4190 . 4705) (CLIPBOARD-PASTE-STREAM
4707 . 5427)) (5430 6969 (SEDIT.COPYTOCLIPBOARD 5440 . 6967)))))
STOP