diff options
| author | Glenn Morris | 2008-03-05 08:50:20 +0000 |
|---|---|---|
| committer | Glenn Morris | 2008-03-05 08:50:20 +0000 |
| commit | be33e2ee0fd4eae50df6ba76cfaeb0b495cf8dc7 (patch) | |
| tree | 657161e494143f22e7d1c7c959c259e42b89ff8a /lisp/ediff-mult.el | |
| parent | dc3fbc6a364ccb6a828a6b884f96342701ae23dd (diff) | |
| download | emacs-be33e2ee0fd4eae50df6ba76cfaeb0b495cf8dc7.tar.gz emacs-be33e2ee0fd4eae50df6ba76cfaeb0b495cf8dc7.zip | |
Expand all ediff-cond-compile-for-xemacs-or-emacs calls to a featurep test.
(ediff-get-meta-info): Use or and unless rather than if.
Diffstat (limited to 'lisp/ediff-mult.el')
| -rw-r--r-- | lisp/ediff-mult.el | 189 |
1 files changed, 85 insertions, 104 deletions
diff --git a/lisp/ediff-mult.el b/lisp/ediff-mult.el index a5a065117e4..79e4e438a84 100644 --- a/lisp/ediff-mult.el +++ b/lisp/ediff-mult.el | |||
| @@ -939,10 +939,9 @@ behavior." | |||
| 939 | (erase-buffer) | 939 | (erase-buffer) |
| 940 | ;; delete phony overlays that used to represent sessions before the buff | 940 | ;; delete phony overlays that used to represent sessions before the buff |
| 941 | ;; was redrawn | 941 | ;; was redrawn |
| 942 | (ediff-cond-compile-for-xemacs-or-emacs | 942 | (if (featurep 'xemacs) |
| 943 | (map-extents 'delete-extent) ; xemacs | 943 | (map-extents 'delete-extent) |
| 944 | (mapc 'delete-overlay (overlays-in 1 1)) ; emacs | 944 | (mapc 'delete-overlay (overlays-in 1 1))) |
| 945 | ) | ||
| 946 | 945 | ||
| 947 | (setq regexp (ediff-get-group-regexp meta-list) | 946 | (setq regexp (ediff-get-group-regexp meta-list) |
| 948 | merge-autostore-dir | 947 | merge-autostore-dir |
| @@ -1047,32 +1046,30 @@ behavior." | |||
| 1047 | (defun ediff-update-session-marker-in-dir-meta-buffer (session-num) | 1046 | (defun ediff-update-session-marker-in-dir-meta-buffer (session-num) |
| 1048 | (let (buffer-meta-overlays session-info overl buffer-read-only) | 1047 | (let (buffer-meta-overlays session-info overl buffer-read-only) |
| 1049 | (setq overl | 1048 | (setq overl |
| 1050 | (ediff-cond-compile-for-xemacs-or-emacs | 1049 | (if (featurep 'xemacs) |
| 1051 | (map-extents ; xemacs | 1050 | (map-extents |
| 1052 | (lambda (ext maparg) | 1051 | (lambda (ext maparg) |
| 1053 | (if (and | 1052 | (if (and |
| 1054 | (ediff-overlay-get ext 'ediff-meta-info) | 1053 | (ediff-overlay-get ext 'ediff-meta-info) |
| 1055 | (eq (ediff-overlay-get ext 'ediff-meta-session-number) | 1054 | (eq (ediff-overlay-get ext 'ediff-meta-session-number) |
| 1056 | session-num)) | 1055 | session-num)) |
| 1057 | ext))) | 1056 | ext))) |
| 1058 | ;; Emacs doesn't have map-extents, so try harder | 1057 | ;; Emacs doesn't have map-extents, so try harder |
| 1059 | ;; Splice overlay lists to get all buffer overlays | 1058 | ;; Splice overlay lists to get all buffer overlays |
| 1060 | (progn | 1059 | (setq buffer-meta-overlays (overlay-lists) |
| 1061 | (setq buffer-meta-overlays (overlay-lists) | 1060 | buffer-meta-overlays (append (car buffer-meta-overlays) |
| 1062 | buffer-meta-overlays (append (car buffer-meta-overlays) | ||
| 1063 | (cdr buffer-meta-overlays))) | 1061 | (cdr buffer-meta-overlays))) |
| 1064 | (car | 1062 | (car |
| 1065 | (delq nil | 1063 | (delq nil |
| 1066 | (mapcar | 1064 | (mapcar |
| 1067 | (lambda (overl) | 1065 | (lambda (overl) |
| 1068 | (if (and | 1066 | (if (and |
| 1069 | (ediff-overlay-get overl 'ediff-meta-info) | 1067 | (ediff-overlay-get overl 'ediff-meta-info) |
| 1070 | (eq (ediff-overlay-get | 1068 | (eq (ediff-overlay-get |
| 1071 | overl 'ediff-meta-session-number) | 1069 | overl 'ediff-meta-session-number) |
| 1072 | session-num)) | 1070 | session-num)) |
| 1073 | overl)) | 1071 | overl)) |
| 1074 | buffer-meta-overlays)))) | 1072 | buffer-meta-overlays))))) |
| 1075 | )) | ||
| 1076 | (or overl | 1073 | (or overl |
| 1077 | (error | 1074 | (error |
| 1078 | "Bug in ediff-update-session-marker-in-dir-meta-buffer: no overlay with given number %S" | 1075 | "Bug in ediff-update-session-marker-in-dir-meta-buffer: no overlay with given number %S" |
| @@ -1388,10 +1385,9 @@ Useful commands: | |||
| 1388 | (erase-buffer) | 1385 | (erase-buffer) |
| 1389 | ;; delete phony overlays that used to represent sessions before the buff | 1386 | ;; delete phony overlays that used to represent sessions before the buff |
| 1390 | ;; was redrawn | 1387 | ;; was redrawn |
| 1391 | (ediff-cond-compile-for-xemacs-or-emacs | 1388 | (if (featurep 'xemacs) |
| 1392 | (map-extents 'delete-extent) ; xemacs | 1389 | (map-extents 'delete-extent) |
| 1393 | (mapc 'delete-overlay (overlays-in 1 1)) ; emacs | 1390 | (mapc 'delete-overlay (overlays-in 1 1))) |
| 1394 | ) | ||
| 1395 | 1391 | ||
| 1396 | (insert "This is a registry of all active Ediff sessions. | 1392 | (insert "This is a registry of all active Ediff sessions. |
| 1397 | 1393 | ||
| @@ -2213,42 +2209,33 @@ If this is a session registry buffer then just bury it." | |||
| 2213 | (let (result olist tmp) | 2209 | (let (result olist tmp) |
| 2214 | (if (and point (ediff-buffer-live-p buf)) | 2210 | (if (and point (ediff-buffer-live-p buf)) |
| 2215 | (ediff-with-current-buffer buf | 2211 | (ediff-with-current-buffer buf |
| 2216 | (ediff-cond-compile-for-xemacs-or-emacs | 2212 | (if (featurep 'xemacs) |
| 2217 | (setq result ; xemacs | 2213 | (setq result |
| 2218 | (if (setq tmp (extent-at point buf 'ediff-meta-info)) | 2214 | (if (setq tmp (extent-at point buf 'ediff-meta-info)) |
| 2219 | (ediff-overlay-get tmp 'ediff-meta-info))) | 2215 | (ediff-overlay-get tmp 'ediff-meta-info))) |
| 2220 | (progn ; emacs | 2216 | (setq olist |
| 2221 | (setq olist (overlays-at point)) | 2217 | (mapcar (lambda (elt) |
| 2222 | (setq olist | 2218 | (unless (overlay-get elt 'invisible) |
| 2223 | (mapcar (lambda (elt) | 2219 | (overlay-get elt 'ediff-meta-info))) |
| 2224 | (unless (overlay-get elt 'invisible) | 2220 | (overlays-at point))) |
| 2225 | (overlay-get elt 'ediff-meta-info))) | 2221 | (while (and olist (null (car olist))) |
| 2226 | olist)) | 2222 | (setq olist (cdr olist))) |
| 2227 | (while (and olist (null (car olist))) | 2223 | (setq result (car olist))))) |
| 2228 | (setq olist (cdr olist))) | 2224 | (or result |
| 2229 | (setq result (car olist))) | 2225 | (unless noerror |
| 2230 | ) | 2226 | (ediff-update-registry) |
| 2231 | )) | 2227 | (error "No session info in this line"))))) |
| 2232 | (if result | ||
| 2233 | result | ||
| 2234 | (if noerror | ||
| 2235 | nil | ||
| 2236 | (ediff-update-registry) | ||
| 2237 | (error "No session info in this line"))))) | ||
| 2238 | 2228 | ||
| 2239 | 2229 | ||
| 2240 | (defun ediff-get-meta-overlay-at-pos (point) | 2230 | (defun ediff-get-meta-overlay-at-pos (point) |
| 2241 | (ediff-cond-compile-for-xemacs-or-emacs | 2231 | (if (featurep 'xemacs) |
| 2242 | (extent-at point (current-buffer) 'ediff-meta-info) ; xemacs | 2232 | (extent-at point (current-buffer) 'ediff-meta-info) |
| 2243 | ;; emacs | 2233 | (let* ((overl-list (overlays-at point)) |
| 2244 | (let* ((overl-list (overlays-at point)) | 2234 | (overl (car overl-list))) |
| 2245 | (overl (car overl-list))) | 2235 | (while (and overl (null (overlay-get overl 'ediff-meta-info))) |
| 2246 | (while (and overl (null (overlay-get overl 'ediff-meta-info))) | 2236 | (setq overl-list (cdr overl-list) |
| 2247 | (setq overl-list (cdr overl-list) | 2237 | overl (car overl-list))) |
| 2248 | overl (car overl-list))) | 2238 | overl))) |
| 2249 | overl) | ||
| 2250 | ) | ||
| 2251 | ) | ||
| 2252 | 2239 | ||
| 2253 | (defsubst ediff-get-session-number-at-pos (point &optional meta-buffer) | 2240 | (defsubst ediff-get-session-number-at-pos (point &optional meta-buffer) |
| 2254 | (setq meta-buffer (if (ediff-buffer-live-p meta-buffer) | 2241 | (setq meta-buffer (if (ediff-buffer-live-p meta-buffer) |
| @@ -2264,52 +2251,46 @@ If this is a session registry buffer then just bury it." | |||
| 2264 | (if (eobp) | 2251 | (if (eobp) |
| 2265 | (goto-char (point-min)) | 2252 | (goto-char (point-min)) |
| 2266 | (let ((overl (ediff-get-meta-overlay-at-pos point))) | 2253 | (let ((overl (ediff-get-meta-overlay-at-pos point))) |
| 2267 | (ediff-cond-compile-for-xemacs-or-emacs | 2254 | (if (featurep 'xemacs) |
| 2268 | (progn ; xemacs | 2255 | (progn ; xemacs |
| 2269 | (if overl | 2256 | (if overl |
| 2270 | (setq overl (next-extent overl)) | 2257 | (setq overl (next-extent overl)) |
| 2271 | (setq overl (next-extent (current-buffer)))) | 2258 | (setq overl (next-extent (current-buffer)))) |
| 2272 | (if overl | 2259 | (if overl |
| 2273 | (extent-start-position overl) | 2260 | (extent-start-position overl) |
| 2274 | (point-max))) | 2261 | (point-max))) |
| 2275 | ;; emacs | 2262 | ;; emacs |
| 2276 | (if overl | 2263 | (if overl |
| 2277 | ;; note: end of current overlay is the beginning of the next one | 2264 | ;; note: end of current overlay is the beginning of the next one |
| 2278 | (overlay-end overl) | 2265 | (overlay-end overl) |
| 2279 | (next-overlay-change point)) | 2266 | (next-overlay-change point)))))) |
| 2280 | ) | ||
| 2281 | ) | ||
| 2282 | )) | ||
| 2283 | 2267 | ||
| 2284 | 2268 | ||
| 2285 | (defun ediff-previous-meta-overlay-start (point) | 2269 | (defun ediff-previous-meta-overlay-start (point) |
| 2286 | (if (bobp) | 2270 | (if (bobp) |
| 2287 | (goto-char (point-max)) | 2271 | (goto-char (point-max)) |
| 2288 | (let ((overl (ediff-get-meta-overlay-at-pos point))) | 2272 | (let ((overl (ediff-get-meta-overlay-at-pos point))) |
| 2289 | (ediff-cond-compile-for-xemacs-or-emacs | 2273 | (if (featurep 'xemacs) |
| 2290 | (progn | 2274 | (progn |
| 2291 | (if overl | 2275 | (if overl |
| 2292 | (setq overl (previous-extent overl)) | 2276 | (setq overl (previous-extent overl)) |
| 2293 | (setq overl (previous-extent (current-buffer)))) | 2277 | (setq overl (previous-extent (current-buffer)))) |
| 2294 | (if overl | 2278 | (if overl |
| 2295 | (extent-start-position overl) | 2279 | (extent-start-position overl) |
| 2296 | (point-min))) | 2280 | (point-min))) |
| 2297 | (progn | 2281 | (if overl (setq point (overlay-start overl))) |
| 2298 | (if overl (setq point (overlay-start overl))) | 2282 | ;; to get to the beginning of prev overlay |
| 2299 | ;; to get to the beginning of prev overlay | 2283 | (if (not (bobp)) |
| 2300 | (if (not (bobp)) | 2284 | ;; trick to overcome an emacs bug--doesn't always find previous |
| 2301 | ;; trick to overcome an emacs bug--doesn't always find previous | 2285 | ;; overlay change correctly |
| 2302 | ;; overlay change correctly | 2286 | (setq point (1- point))) |
| 2303 | (setq point (1- point))) | 2287 | (setq point (previous-overlay-change point)) |
| 2304 | (setq point (previous-overlay-change point)) | 2288 | ;; If we are not over an overlay after subtracting 1, it means we are |
| 2305 | ;; If we are not over an overlay after subtracting 1, it means we are | 2289 | ;; in the description area preceding session records. In this case, |
| 2306 | ;; in the description area preceding session records. In this case, | 2290 | ;; goto the top of the registry buffer. |
| 2307 | ;; goto the top of the registry buffer. | 2291 | (or (car (overlays-at point)) |
| 2308 | (or (car (overlays-at point)) | 2292 | (setq point (point-min))) |
| 2309 | (setq point (point-min))) | 2293 | point)))) |
| 2310 | point) | ||
| 2311 | ) | ||
| 2312 | ))) | ||
| 2313 | 2294 | ||
| 2314 | ;; this is the action invoked when the user selects a patch from the meta | 2295 | ;; this is the action invoked when the user selects a patch from the meta |
| 2315 | ;; buffer. | 2296 | ;; buffer. |