> > I put the cursor on, say, the first file or dir name in a large Dired > > buffer (1860 lines). I do `M-: (field-end nil)'. > > > > In Emacs 22, 23, and even 24.3, the result appears immediately - no > > perceptible delay. In recent Emacs 24 (e.g., this build), the result > > appears after several seconds - 3 to 4 sec. > > I cannot reproduce this with yesterday's trunk. Does this happen for > you in "emacs -Q"? Sorry, the description was incomplete. 1. emacs -Q 2. Load library dired-details.el, from Emacs Wiki: http://www.emacswiki.org/emacs/download/dired-details.el 3. C-x d ; in some directory that has lots of files 4. M-x dired-details-toggle 5. M-x dired-details-toggle ; (optional, so you see all info) 6. Position the cursor on a file or dir name near the beginning of the list. 7. M-: (field-end nil) The result appears after a few seconds (I'm guessing about 4 sec in the directory I used). Do the same thing in previous Emacs versions (including as recent as 24.3, at least), and the result appears immediately. I tried `M-x profiler-start', then `M-: (field-end nil)', then `M-x profiler-report', then `M-x profiler-stop'. Then I wrote each buffer to a file using C-x C-w. The files are attached. This is what I saw in *Memory-Profiler-Report...*: - command-execute 42,437,777 0% - call-interactively 42,437,777 0% - byte-code 39,515,026 -4% - read-extended-command 19,764,987 -2% - completing-read 19,764,987 -2% - completing-read-default 19,764,987 -2% - read-from-minibuffer 19,764,586 -2% - redisplay_internal (C function) 19,740,876 -2% - find-image 19,740,876 -2% - image-search-load-path 19,740,876 -2% image-search-load-path 18,166,368 -3% - command-execute 1,208 0% - call-interactively 40 0% - minibuffer-complete-and-exit 40 0% minibuffer--complete-and-exit 40 0% - read--expression 19,750,039 -2% - read-from-minibuffer 19,749,638 -2% - redisplay_internal (C function) 19,723,328 -2% - find-image 19,723,328 -2% - image-search-load-path 19,723,328 -2% image-search-load-path 18,148,820 -3% - command-execute 808 0% - call-interactively 680 0% - self-insert-command 680 0% - blink-paren-post-self-insert-function 680 0% - blink-matching-open 680 0% - sit-for 480 0% redisplay 320 0% read-event 160 0% - execute-extended-command 2,025,794 2% - command-execute 1,980,502 2% - call-interactively 1,980,494 2% - profiler-report 1,979,210 2% - profiler-report-cpu 1,076,878 1% - profiler-cpu-profile 944,730 1% profiler-make-profile 1,198 0% - profiler-report-profile-other-window 132,148 0% - profiler-report-setup-buffer 132,148 0% - profiler-report-setup-buffer-1 131,636 0% profiler-report-make-buffer-name 131,104 0% - profiler-report-render-calltree 512 0% - profiler-report-rerender-calltree 512 0% - profiler-report-render-calltree 512 0% - profiler-report-header-line-f 512 0% replace-regexp-in-string 512 0% - profiler-report-memory 902,332 1% profiler-memory-profile 902,332 1% - profiler-start 1,284 0% message 1,284 0% - eval-expression 745,480 0% eval 745,480 0% - profiler-report 151,477 0% - profiler-report-cpu 151,477 0% - profiler-report-profile-other-window 151,477 0% - switch-to-buffer-other-window 143,289 0% - pop-to-buffer 143,289 0% - display-buffer 143,289 0% - display-buffer--maybe-pop-up-frame-or 143,289 0% - display-buffer-pop-up-window 143,289 0% - window--try-to-split-window 143,289 0% - funcall 143,289 0% - split-window-sensibly 143,289 0% - split-window-below 143,289 0% - split-window 143,289 0% byte-code 143,289 0% - profiler-report-setup-buffer 8,188 0% - profiler-report-render-calltree 8,188 0% - profiler-report-rerender-calltree 8,188 0% - profiler-report-render-calltree-1 8,188 0% - profiler-calltree-build 8,188 0% - profiler-calltree-compute-percent 8,188 0% - profiler-calltree-walk 8,188 0% - profiler-calltree-walk 8,188 0% - profiler-calltree-walk 8,188 0% - profiler-calltree-walk 8,188 0% # 8,188 0% - redisplay_internal (C function) 40,759,238 -2% - find-image 39,446,656 -4% - image-search-load-path 39,446,656 -4% image-search-load-path 36,297,640 4% - tool-bar-make-keymap 1,312,070 1% - tool-bar-make-keymap-1 1,312,070 1% - mapcar 1,312,070 1% - # 1,312,070 1% - eval 1,312,070 1% - find-image 1,312,070 1% image-search-load-path 1,312,070 1% - kill-this-buffer-enabled-p 512 0% byte-code 512 0% And this in *CPU-Profiler-Report..*: - command-execute 215 98% - call-interactively 215 98% - eval-expression 204 93% eval 204 93% - byte-code 10 4% - read--expression 5 2% - read-from-minibuffer 4 1% - redisplay_internal (C function) 2 0% - find-image 2 0% - image-search-load-path 2 0% image-search-load-path 2 0% - command-execute 1 0% - call-interactively 1 0% - self-insert-command 1 0% - blink-paren-post-self-insert-fun 1 0% - blink-matching-open 1 0% sit-for 1 0% - read-extended-command 5 2% - completing-read 5 2% - completing-read-default 5 2% - read-from-minibuffer 4 1% - redisplay_internal (C function) 2 0% - find-image 2 0% - image-search-load-path 2 0% image-search-load-path 2 0% - execute-extended-command 1 0% - command-execute 1 0% - call-interactively 1 0% - profiler-report 1 0% - profiler-report-cpu 1 0% profiler-cpu-profile 1 0% Automatic GC 2 0% - redisplay_internal (C function) 1 0% - find-image 1 0% - image-search-load-path 1 0% image-search-load-path 1 0% HTH. BTW - 1. Is there an easier way to open everything up like that? All I could find was to hit TAB or RET or i on each line. PITA. 2. Seems like the mode line info should also (or instead) appear in the buffer as a title, so it gets picked up by C-x h. 3. The numeric columns should have headers. No idea what the numbers mean - what units for the first column, percentage of what (what compared to what) for the second column.