/[emacs]/emacs/lisp/emacs-lisp/byte-opt.el
ViewVC logotype

Diff of /emacs/lisp/emacs-lisp/byte-opt.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.63 by pj, Sat Dec 22 13:36:59 2001 UTC revision 1.64 by rms, Sun Mar 31 16:22:43 2002 UTC
# Line 1143  Line 1143 
1143  ;;;           (foo))  ;;;           (foo))
1144  ;;; Further optimizations will turn (progn (list 1 2 3) 'foo) into 'foo.  ;;; Further optimizations will turn (progn (list 1 2 3) 'foo) into 'foo.
1145    
1146    ;;; Some of these functions have the side effect of allocating memory
1147    ;;; and it would be incorrect to replace two calls with one.
1148    ;;; But we don't try to do those kinds of optimizations,
1149    ;;; so it is safe to list such functions here.
1150    ;;; Some of these functions return values that depend on environment
1151    ;;; state, so that constant folding them would be wrong,
1152    ;;; but we don't do constant folding based on this list.
1153    
1154  ;;; I wonder if I missed any :-\)  ;;; I wonder if I missed any :-\)
1155  (let ((side-effect-free-fns  (let ((side-effect-free-fns
1156         '(% * + - / /= 1+ 1- < <= = > >= abs acos append aref ash asin atan         '(% * + - / /= 1+ 1- < <= = > >= abs acos append aref ash asin atan
1157           assoc assq           assoc assq
1158           boundp buffer-file-name buffer-local-variables buffer-modified-p           boundp buffer-file-name buffer-local-variables buffer-modified-p
1159           buffer-substring           buffer-substring byte-code-function-p
1160           capitalize car-less-than-car car cdr ceiling char-after char-before           capitalize car-less-than-car car cdr ceiling char-after char-before
1161           concat coordinates-in-window-p           char-equal char-to-string char-width
1162           char-width copy-marker cos count-lines           compare-strings concat coordinates-in-window-p
1163           default-boundp default-value documentation downcase           copy-alist copy-sequence copy-marker cos count-lines
1164           elt exp expt fboundp featurep           decode-time default-boundp default-value documentation downcase
1165             elt exp expt encode-time error-message-string
1166             fboundp fceiling featurep ffloor
1167           file-directory-p file-exists-p file-locked-p file-name-absolute-p           file-directory-p file-exists-p file-locked-p file-name-absolute-p
1168           file-newer-than-file-p file-readable-p file-symlink-p file-writable-p           file-newer-than-file-p file-readable-p file-symlink-p file-writable-p
1169           float floor format frame-visible-p           float float-time floor format format-time-string frame-visible-p
1170             fround ftruncate
1171           get gethash get-buffer get-buffer-window getenv get-file-buffer           get gethash get-buffer get-buffer-window getenv get-file-buffer
1172           hash-table-count           hash-table-count
1173           int-to-string           int-to-string intern-soft
1174           keymap-parent           keymap-parent
1175           length local-variable-if-set-p local-variable-p log log10 logand           length local-variable-if-set-p local-variable-p log log10 logand
1176           logb logior lognot logxor lsh           logb logior lognot logxor lsh
1177             make-list make-string make-symbol
1178           marker-buffer max member memq min mod           marker-buffer max member memq min mod
1179           next-window nth nthcdr number-to-string           next-window nth nthcdr number-to-string
1180           parse-colon-path prefix-numeric-value previous-window propertize           parse-colon-path plist-get plist-member
1181           radians-to-degrees rassq regexp-quote reverse round           prefix-numeric-value previous-window prin1-to-string propertize
1182             radians-to-degrees rassq rassoc read-from-string regexp-quote
1183             region-beginning region-end reverse round
1184           sin sqrt string string< string= string-equal string-lessp string-to-char           sin sqrt string string< string= string-equal string-lessp string-to-char
1185           string-to-int string-to-number substring symbol-function symbol-plist           string-to-int string-to-number substring sxhash symbol-function
1186           symbol-value           symbol-name symbol-plist symbol-value
1187           tan unibyte-char-to-multibyte upcase user-variable-p vconcat           tan truncate
1188             unibyte-char-to-multibyte upcase user-full-name
1189             user-login-name user-original-login-name user-variable-p
1190             vconcat
1191           window-buffer window-dedicated-p window-edges window-height           window-buffer window-dedicated-p window-edges window-height
1192           window-hscroll window-minibuffer-p window-width           window-hscroll window-minibuffer-p window-width
1193           zerop))           zerop))
1194        (side-effect-and-error-free-fns        (side-effect-and-error-free-fns
1195         '(arrayp atom         '(arrayp atom
1196           bobp bolp buffer-end buffer-list buffer-size buffer-string bufferp           bobp bolp bool-vector-p
1197             buffer-end buffer-list buffer-size buffer-string bufferp
1198           car-safe case-table-p cdr-safe char-or-string-p commandp cons consp           car-safe case-table-p cdr-safe char-or-string-p commandp cons consp
1199           current-buffer current-global-map current-indentation           current-buffer current-global-map current-indentation
1200           current-local-map current-minor-mode-maps           current-local-map current-minor-mode-maps current-time
1201           dot dot-marker eobp eolp eq equal eventp           current-time-string current-time-zone
1202             eobp eolp eq equal eventp
1203           floatp following-char framep           floatp following-char framep
1204           get-largest-window get-lru-window           get-largest-window get-lru-window
1205           hash-table-p           hash-table-p
# Line 1194  Line 1213 
1213           one-window-p overlayp           one-window-p overlayp
1214           point point-marker point-min point-max preceding-char processp           point point-marker point-min point-max preceding-char processp
1215           recent-keys recursion-depth           recent-keys recursion-depth
1216           selected-frame selected-window sequencep stringp subrp symbolp           safe-length selected-frame selected-window sequencep
1217           standard-case-table standard-syntax-table syntax-table-p           standard-case-table standard-syntax-table stringp subrp symbolp
1218             syntax-table syntax-table-p
1219           this-command-keys this-command-keys-vector this-single-command-keys           this-command-keys this-command-keys-vector this-single-command-keys
1220           this-single-command-raw-keys           this-single-command-raw-keys
          user-full-name user-login-name user-original-login-name  
1221           user-real-login-name user-real-uid user-uid           user-real-login-name user-real-uid user-uid
1222           vector vectorp visible-frame-list           vector vectorp visible-frame-list
1223           window-configuration-p window-live-p windowp)))           wholenump window-configuration-p window-live-p windowp)))
1224    (while side-effect-free-fns    (while side-effect-free-fns
1225      (put (car side-effect-free-fns) 'side-effect-free t)      (put (car side-effect-free-fns) 'side-effect-free t)
1226      (setq side-effect-free-fns (cdr side-effect-free-fns)))      (setq side-effect-free-fns (cdr side-effect-free-fns)))

Legend:
Removed from v.1.63  
changed lines
  Added in v.1.64

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26