diff options
| author | Alan Mackenzie | 2022-01-22 11:02:50 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2022-01-22 11:02:50 +0000 |
| commit | 14d64a8adcc866deecd758b898e8ef2d836b354a (patch) | |
| tree | 83cff9669e266f8e283ccb8cd7518e909240f1e1 /src/haikuselect.c | |
| parent | bdd9b5b8a0d37dd09ee530c1dab3a44bee09e0f8 (diff) | |
| parent | ebe334cdc234de2897263aed4c05ac7088c11857 (diff) | |
| download | emacs-scratch/correct-warning-pos.tar.gz emacs-scratch/correct-warning-pos.zip | |
Merge branch 'master' into scratch/correct-warning-posscratch/correct-warning-pos
Diffstat (limited to 'src/haikuselect.c')
| -rw-r--r-- | src/haikuselect.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/haikuselect.c b/src/haikuselect.c index 2e619c69f7a..e65ab827c51 100644 --- a/src/haikuselect.c +++ b/src/haikuselect.c | |||
| @@ -166,6 +166,36 @@ clipboard. */) | |||
| 166 | return Qnil; | 166 | return Qnil; |
| 167 | } | 167 | } |
| 168 | 168 | ||
| 169 | DEFUN ("haiku-selection-owner-p", Fhaiku_selection_owner_p, Shaiku_selection_owner_p, | ||
| 170 | 0, 1, 0, | ||
| 171 | doc: /* Whether the current Emacs process owns the given SELECTION. | ||
| 172 | The arg should be the name of the selection in question, typically one | ||
| 173 | of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. For | ||
| 174 | convenience, the symbol nil is the same as `PRIMARY', and t is the | ||
| 175 | same as `SECONDARY'. */) | ||
| 176 | (Lisp_Object selection) | ||
| 177 | { | ||
| 178 | bool value; | ||
| 179 | |||
| 180 | if (NILP (selection)) | ||
| 181 | selection = QPRIMARY; | ||
| 182 | else if (EQ (selection, Qt)) | ||
| 183 | selection = QSECONDARY; | ||
| 184 | |||
| 185 | block_input (); | ||
| 186 | if (EQ (selection, QPRIMARY)) | ||
| 187 | value = BClipboard_owns_primary (); | ||
| 188 | else if (EQ (selection, QSECONDARY)) | ||
| 189 | value = BClipboard_owns_secondary (); | ||
| 190 | else if (EQ (selection, QCLIPBOARD)) | ||
| 191 | value = BClipboard_owns_clipboard (); | ||
| 192 | else | ||
| 193 | value = false; | ||
| 194 | unblock_input (); | ||
| 195 | |||
| 196 | return value ? Qt : Qnil; | ||
| 197 | } | ||
| 198 | |||
| 169 | void | 199 | void |
| 170 | syms_of_haikuselect (void) | 200 | syms_of_haikuselect (void) |
| 171 | { | 201 | { |
| @@ -179,4 +209,5 @@ syms_of_haikuselect (void) | |||
| 179 | defsubr (&Shaiku_selection_data); | 209 | defsubr (&Shaiku_selection_data); |
| 180 | defsubr (&Shaiku_selection_put); | 210 | defsubr (&Shaiku_selection_put); |
| 181 | defsubr (&Shaiku_selection_targets); | 211 | defsubr (&Shaiku_selection_targets); |
| 212 | defsubr (&Shaiku_selection_owner_p); | ||
| 182 | } | 213 | } |