Mercurial > hg > xemacs-beta
comparison lisp/byte-optimize.el @ 4886:1e9078742fa7
Merge.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Tue, 26 Jan 2010 15:16:31 +0000 |
parents | 6772ce4d982b |
children | 755ae5b97edb |
comparison
equal
deleted
inserted
replaced
4884:29fb3baea939 | 4886:1e9078742fa7 |
---|---|
1207 | 1207 |
1208 ;;; I wonder if I missed any :-\) | 1208 ;;; I wonder if I missed any :-\) |
1209 (let ((side-effect-free-fns | 1209 (let ((side-effect-free-fns |
1210 '(% * + - / /= 1+ 1- < <= = > >= abs acos append aref ash asin atan | 1210 '(% * + - / /= 1+ 1- < <= = > >= abs acos append aref ash asin atan |
1211 assoc assq | 1211 assoc assq |
1212 boundp buffer-file-name buffer-local-variables buffer-modified-p | 1212 bigfloat-get-precision boundp buffer-file-name buffer-local-variables |
1213 buffer-substring | 1213 buffer-modified-p buffer-substring |
1214 capitalize car-less-than-car car cdr ceiling concat | 1214 capitalize car-less-than-car car cdr ceiling concat |
1215 ;; coordinates-in-window-p not in XEmacs | 1215 ;; coordinates-in-window-p not in XEmacs |
1216 copy-marker cos count-lines | 1216 copy-marker cos count-lines |
1217 default-boundp default-value documentation downcase | 1217 default-boundp default-value denominator documentation downcase |
1218 elt exp expt fboundp featurep | 1218 elt exp expt fboundp featurep |
1219 file-directory-p file-exists-p file-locked-p file-name-absolute-p | 1219 file-directory-p file-exists-p file-locked-p file-name-absolute-p |
1220 file-newer-than-file-p file-readable-p file-symlink-p file-writable-p | 1220 file-newer-than-file-p file-readable-p file-symlink-p file-writable-p |
1221 float floor format | 1221 float floor format |
1222 get get-buffer get-buffer-window getenv get-file-buffer | 1222 get get-buffer get-buffer-window getenv get-file-buffer |
1231 hash-table-type | 1231 hash-table-type |
1232 ;; | 1232 ;; |
1233 int-to-string | 1233 int-to-string |
1234 length log log10 logand logb logior lognot logxor lsh | 1234 length log log10 logand logb logior lognot logxor lsh |
1235 marker-buffer max member memq min mod | 1235 marker-buffer max member memq min mod |
1236 next-window nth nthcdr number-to-string | 1236 next-window nth nthcdr number-to-string numerator |
1237 parse-colon-path plist-get previous-window | 1237 parse-colon-path plist-get previous-window |
1238 radians-to-degrees rassq regexp-quote reverse round | 1238 radians-to-degrees rassq regexp-quote reverse round |
1239 sin sqrt string< string= string-equal string-lessp string-to-char | 1239 sin sqrt string< string= string-equal string-lessp string-to-char |
1240 string-to-int string-to-number substring symbol-plist | 1240 string-to-int string-to-number substring symbol-plist |
1241 tan upcase user-variable-p vconcat | 1241 tan upcase user-variable-p vconcat |
1250 isqrt floor* ceiling* truncate* round* mod* rem* subseq | 1250 isqrt floor* ceiling* truncate* round* mod* rem* subseq |
1251 list-length getf | 1251 list-length getf |
1252 )) | 1252 )) |
1253 (side-effect-and-error-free-fns | 1253 (side-effect-and-error-free-fns |
1254 '(arrayp atom | 1254 '(arrayp atom |
1255 bobp bolp buffer-end buffer-list buffer-size buffer-string bufferp | 1255 bigfloatp bignump bobp bolp buffer-end buffer-list buffer-size |
1256 buffer-string bufferp | |
1256 car-safe case-table-p cdr-safe char-or-string-p char-table-p | 1257 car-safe case-table-p cdr-safe char-or-string-p char-table-p |
1257 characterp commandp cons | 1258 characterp commandp cons |
1258 consolep console-live-p consp | 1259 consolep console-live-p consp |
1259 current-buffer | 1260 current-buffer |
1260 ;; XEmacs: extent functions, frame-live-p, various other stuff | 1261 ;; XEmacs: extent functions, frame-live-p, various other stuff |
1261 devicep device-live-p | 1262 devicep device-live-p |
1262 dot dot-marker eobp eolp eq eql equal eventp extentp | 1263 dot dot-marker eobp eolp eq eql equal eventp extentp |
1263 extent-live-p floatp framep frame-live-p | 1264 extent-live-p fixnump floatingp floatp framep frame-live-p |
1264 get-largest-window get-lru-window | 1265 get-largest-window get-lru-window |
1265 hash-table-p | 1266 hash-table-p |
1266 identity ignore integerp integer-or-marker-p interactive-p | 1267 identity ignore integerp integer-or-marker-p interactive-p |
1267 invocation-directory invocation-name | 1268 invocation-directory invocation-name |
1268 keymapp list listp | 1269 keymapp list listp |
1269 make-marker mark mark-marker markerp memory-limit minibuffer-window | 1270 make-marker mark mark-marker markerp memory-limit minibuffer-window |
1270 ;; mouse-movement-p not in XEmacs | 1271 ;; mouse-movement-p not in XEmacs |
1271 natnump nlistp not null number-or-marker-p numberp | 1272 natnump nlistp not null number-or-marker-p numberp |
1272 one-window-p ;; overlayp not in XEmacs | 1273 one-window-p ;; overlayp not in XEmacs |
1273 point point-marker point-min point-max processp | 1274 point point-marker point-min point-max processp |
1274 range-table-p | 1275 rationalp ratiop range-table-p realp |
1275 selected-window sequencep stringp subrp symbolp syntax-table-p | 1276 selected-window sequencep stringp subrp symbolp syntax-table-p |
1276 user-full-name user-login-name user-original-login-name | 1277 user-full-name user-login-name user-original-login-name |
1277 user-real-login-name user-real-uid user-uid | 1278 user-real-login-name user-real-uid user-uid |
1278 vector vectorp | 1279 vector vectorp |
1279 window-configuration-p window-live-p windowp | 1280 window-configuration-p window-live-p windowp |
1280 ;; Functions defined by cl | 1281 ;; Functions defined by cl |
1281 eql floatp-safe list* subst acons equalp random-state-p | 1282 eql list* subst acons equalp random-state-p |
1282 copy-tree sublis | 1283 copy-tree sublis |
1283 ))) | 1284 ))) |
1284 (dolist (fn side-effect-free-fns) | 1285 (dolist (fn side-effect-free-fns) |
1285 (put fn 'side-effect-free t)) | 1286 (put fn 'side-effect-free t)) |
1286 (dolist (fn side-effect-and-error-free-fns) | 1287 (dolist (fn side-effect-and-error-free-fns) |
1454 '(byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop | 1455 '(byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop |
1455 byte-goto-if-not-nil-else-pop)) | 1456 byte-goto-if-not-nil-else-pop)) |
1456 | 1457 |
1457 (defconst byte-after-unbind-ops | 1458 (defconst byte-after-unbind-ops |
1458 '(byte-constant byte-dup | 1459 '(byte-constant byte-dup |
1459 byte-symbolp byte-consp byte-stringp byte-listp byte-numberp byte-integerp | 1460 byte-symbolp byte-consp byte-stringp byte-listp byte-numberp byte-fixnump |
1460 byte-eq byte-not | 1461 byte-eq byte-not |
1461 byte-cons byte-list1 byte-list2 ; byte-list3 byte-list4 | 1462 byte-cons byte-list1 byte-list2 ; byte-list3 byte-list4 |
1462 byte-interactive-p) | 1463 byte-interactive-p) |
1463 ;; How about other side-effect-free-ops? Is it safe to move an | 1464 ;; How about other side-effect-free-ops? Is it safe to move an |
1464 ;; error invocation (such as from nth) out of an unwind-protect? | 1465 ;; error invocation (such as from nth) out of an unwind-protect? |
1467 ;; For the same reason, byte-equal was deleted from this list. | 1468 ;; For the same reason, byte-equal was deleted from this list. |
1468 "Byte-codes that can be moved past an unbind.") | 1469 "Byte-codes that can be moved past an unbind.") |
1469 | 1470 |
1470 (defconst byte-compile-side-effect-and-error-free-ops | 1471 (defconst byte-compile-side-effect-and-error-free-ops |
1471 '(byte-constant byte-dup byte-symbolp byte-consp byte-stringp byte-listp | 1472 '(byte-constant byte-dup byte-symbolp byte-consp byte-stringp byte-listp |
1472 byte-integerp byte-numberp byte-eq byte-equal byte-not byte-car-safe | 1473 byte-fixnump byte-numberp byte-eq byte-equal byte-not byte-car-safe |
1473 byte-cdr-safe byte-cons byte-list1 byte-list2 byte-point byte-point-max | 1474 byte-cdr-safe byte-cons byte-list1 byte-list2 byte-point byte-point-max |
1474 byte-point-min byte-following-char byte-preceding-char | 1475 byte-point-min byte-following-char byte-preceding-char |
1475 byte-current-column byte-eolp byte-eobp byte-bolp byte-bobp | 1476 byte-current-column byte-eolp byte-eobp byte-bolp byte-bobp |
1476 byte-current-buffer byte-interactive-p)) | 1477 byte-current-buffer byte-interactive-p)) |
1477 | 1478 |