aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1994-03-20 21:12:45 +0000
committerRichard M. Stallman1994-03-20 21:12:45 +0000
commit6eac0de6962c308903ad214fbc5ad17fbef17c85 (patch)
treea361f0f655b7a77071fa9bfdfa410125d9a14de4
parente0de7bcbbb39456ff4cb315a7d02857751943a0c (diff)
downloademacs-6eac0de6962c308903ad214fbc5ad17fbef17c85.tar.gz
emacs-6eac0de6962c308903ad214fbc5ad17fbef17c85.zip
(x-valid-simple-selection-p): Accept an overlay.
(xselect-convert-to-string, xselect-convert-to-length): (xselect-convert-to-filename xselect-convert-to-charpos): (xselect-convert-to-lineno, xselect-convert-to-colno): Likewise.
-rw-r--r--lisp/select.el49
1 files changed, 24 insertions, 25 deletions
diff --git a/lisp/select.el b/lisp/select.el
index 85c8d4a2ade..060c63ec231 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -77,8 +77,7 @@ The data may also be a vector of valid non-vector selection values."
77 (or (integerp (cdr data)) 77 (or (integerp (cdr data))
78 (and (consp (cdr data)) 78 (and (consp (cdr data))
79 (integerp (car (cdr data)))))) 79 (integerp (car (cdr data))))))
80;;; (and (fboundp 'extentp) 80 (overlayp data)
81;;; (extentp data))
82 (and (consp data) 81 (and (consp data)
83 (markerp (car data)) 82 (markerp (car data))
84 (markerp (cdr data)) 83 (markerp (cdr data))
@@ -122,11 +121,13 @@ Cut buffers are considered obsolete; you should use selections instead."
122(defun xselect-convert-to-string (selection type value) 121(defun xselect-convert-to-string (selection type value)
123 (cond ((stringp value) 122 (cond ((stringp value)
124 value) 123 value)
125;;; ((extentp value) 124 ((overlayp value)
126;;; (save-excursion 125 (save-excursion
127;;; (set-buffer (extent-buffer value)) 126 (or (buffer-name (overlay-buffer value))
128;;; (buffer-substring (extent-start-position value) 127 (error "selection is in a killed buffer"))
129;;; (extent-end-position value)))) 128 (set-buffer (overlay-buffer value))
129 (buffer-substring (overlay-start value)
130 (overlay-end value))))
130 ((and (consp value) 131 ((and (consp value)
131 (markerp (car value)) 132 (markerp (car value))
132 (markerp (cdr value))) 133 (markerp (cdr value)))
@@ -144,8 +145,8 @@ Cut buffers are considered obsolete; you should use selections instead."
144 (let ((value 145 (let ((value
145 (cond ((stringp value) 146 (cond ((stringp value)
146 (length value)) 147 (length value))
147;;; ((extentp value) 148 ((overlayp value)
148;;; (extent-length value)) 149 (abs (- (overlay-end value) (overlay-start value))))
149 ((and (consp value) 150 ((and (consp value)
150 (markerp (car value)) 151 (markerp (car value))
151 (markerp (cdr value))) 152 (markerp (cdr value)))
@@ -180,10 +181,9 @@ Cut buffers are considered obsolete; you should use selections instead."
180 'NULL) 181 'NULL)
181 182
182(defun xselect-convert-to-filename (selection type value) 183(defun xselect-convert-to-filename (selection type value)
183 (cond 184 (cond ((overlayp value)
184;;; ((extentp value) 185 (buffer-file-name (or (overlay-buffer value)
185;;; (buffer-file-name (or (extent-buffer value) 186 (error "selection is in a killed buffer"))))
186;;; (error "selection is in a killed buffer"))))
187 ((and (consp value) 187 ((and (consp value)
188 (markerp (car value)) 188 (markerp (car value))
189 (markerp (cdr value))) 189 (markerp (cdr value)))
@@ -193,10 +193,9 @@ Cut buffers are considered obsolete; you should use selections instead."
193 193
194(defun xselect-convert-to-charpos (selection type value) 194(defun xselect-convert-to-charpos (selection type value)
195 (let (a b tmp) 195 (let (a b tmp)
196 (cond ((cond 196 (cond ((cond ((overlayp value)
197;;; ((extentp value) 197 (setq a (overlay-start value)
198;;; (setq a (extent-start-position value) 198 b (overlay-end value)))
199;;; b (extent-end-position value)))
200 ((and (consp value) 199 ((and (consp value)
201 (markerp (car value)) 200 (markerp (car value))
202 (markerp (cdr value))) 201 (markerp (cdr value)))
@@ -216,10 +215,10 @@ Cut buffers are considered obsolete; you should use selections instead."
216 (setq a (marker-position (car value)) 215 (setq a (marker-position (car value))
217 b (marker-position (cdr value)) 216 b (marker-position (cdr value))
218 buf (marker-buffer (car value)))) 217 buf (marker-buffer (car value))))
219;;; ((extentp value) 218 ((overlayp value)
220;;; (setq buf (extent-buffer value) 219 (setq buf (overlay-buffer value)
221;;; a (extent-start-position value) 220 a (overlay-start value)
222;;; b (extent-end-position value))) 221 b (overlay-end value)))
223 ) 222 )
224 (save-excursion 223 (save-excursion
225 (set-buffer buf) 224 (set-buffer buf)
@@ -238,10 +237,10 @@ Cut buffers are considered obsolete; you should use selections instead."
238 (setq a (car value) 237 (setq a (car value)
239 b (cdr value) 238 b (cdr value)
240 buf (marker-buffer a))) 239 buf (marker-buffer a)))
241;;; ((extentp value) 240 ((overlayp value)
242;;; (setq buf (extent-buffer value) 241 (setq buf (overlay-buffer value)
243;;; a (extent-start-position value) 242 a (overlay-start value)
244;;; b (extent-end-position value))) 243 b (overlay-end value)))
245 ) 244 )
246 (save-excursion 245 (save-excursion
247 (set-buffer buf) 246 (set-buffer buf)