emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#11943: closed (24.1.50; Emacs unusably slow when l


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#11943: closed (24.1.50; Emacs unusably slow when looking at large files (bidi support at fault))
Date: Sun, 15 Jul 2012 14:54:01 +0000

Your message dated Sun, 15 Jul 2012 17:47:18 +0300
with message-id <address@hidden>
and subject line Re: bug#11943: 24.1.50; Emacs unusably slow when looking at 
large files (bidi support at       fault)
has caused the debbugs.gnu.org bug report #11943,
regarding 24.1.50; Emacs unusably slow when looking at large files (bidi 
support at fault)
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
11943: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11943
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: 24.1.50; Emacs unusably slow when looking at large files (bidi support at fault) Date: Sat, 14 Jul 2012 17:50:51 -0700
I'm observing that when some large text files are loaded, emacs slows to
a crawl. As an example, I have a 14MB file open (with emacs -Q). Every
time I do (next-line) or (previous-line) it takes a few seconds. This is
a > 2GHz Core2 machine, so there's no reason for this to happen. 'M-x
benchmark' says that (previous-line) takes >2s each time. I discovered
that if I do (setq bidi-display-reordering nil) then emacs is snappy
again, with previous-line taking <1ms.

The specific file I'm using to exhibit the bug consists of many repeated
stanzas such as

=========================
{
 {2.222222,2.222222,2.222222,2.2},
 {-2.222222,2.222222,2.222222},
 {-22.222222,22.222222,2.222222}
},
=========================

without the =. Saving a stanza into a file called 'snippet', the 14MB
file can be made with

$ for i in `seq 17`; do cat snippet snippet > xxx; mv xxx snippet; done

Thanks.


In GNU Emacs 24.1.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.4.2)
 of 2012-06-29 on zelenka, modified by Debian
 (emacs-snapshot package, version 2:20120629-1)
Windowing system distributor `The X.Org Foundation', version 11.0.11201902
Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--host' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 
'--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.1.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.1.50/site-lisp:/usr/share/emacs/site-lisp'
 '--without-compress-info' '--with-crt-dir=/usr/lib/x86_64-linux-gnu/'
 '--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes'
 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu'
 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g
 -Wl,--as-needed -znocombreloc' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LC_ALL: C
  value of $LANG: C
  locale-coding-system: nil
  default enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
y <down> <down> <down> <down> <down> <down> <up> M-x 
b e n c h m a r k <return> ( p r e v i o u s - l i 
n e ) <return> <help-echo> <help-echo> M-x r e p o 
r t SPC b u g <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
File snippet is large (13.1M), really open? (y or n)  y
Elapsed time: 2.232054s

Load-path shadows:
/usr/share/emacs/24.1.50/site-lisp/cscope/xcscope hides 
/usr/share/emacs/site-lisp/xcscope
/usr/share/emacs/24.1.50/site-lisp/cmake-data/cmake-mode hides 
/usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/24.1.50/site-lisp/easypg/epg hides 
/usr/share/emacs/24.1.50/lisp/epg
/usr/share/emacs/24.1.50/site-lisp/easypg/epa-dired hides 
/usr/share/emacs/24.1.50/lisp/epa-dired
/usr/share/emacs/24.1.50/site-lisp/easypg/epg-config hides 
/usr/share/emacs/24.1.50/lisp/epg-config
/usr/share/emacs/24.1.50/site-lisp/easypg/epa hides 
/usr/share/emacs/24.1.50/lisp/epa
/usr/share/emacs/24.1.50/site-lisp/easypg/epa-file hides 
/usr/share/emacs/24.1.50/lisp/epa-file
/usr/share/emacs/24.1.50/site-lisp/easypg/epa-mail hides 
/usr/share/emacs/24.1.50/lisp/epa-mail
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-list hides 
/usr/share/emacs/24.1.50/lisp/org/org-list
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-screen hides 
/usr/share/emacs/24.1.50/lisp/org/ob-screen
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-protocol hides 
/usr/share/emacs/24.1.50/lisp/org/org-protocol
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-footnote hides 
/usr/share/emacs/24.1.50/lisp/org/org-footnote
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-docview hides 
/usr/share/emacs/24.1.50/lisp/org/org-docview
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-pcomplete hides 
/usr/share/emacs/24.1.50/lisp/org/org-pcomplete
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-sh hides 
/usr/share/emacs/24.1.50/lisp/org/ob-sh
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-irc hides 
/usr/share/emacs/24.1.50/lisp/org/org-irc
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-maxima hides 
/usr/share/emacs/24.1.50/lisp/org/ob-maxima
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-mac-message hides 
/usr/share/emacs/24.1.50/lisp/org/org-mac-message
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-bibtex hides 
/usr/share/emacs/24.1.50/lisp/org/org-bibtex
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-asymptote hides 
/usr/share/emacs/24.1.50/lisp/org/ob-asymptote
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-bbdb hides 
/usr/share/emacs/24.1.50/lisp/org/org-bbdb
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob hides 
/usr/share/emacs/24.1.50/lisp/org/ob
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-lilypond hides 
/usr/share/emacs/24.1.50/lisp/org/ob-lilypond
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-exp-blocks hides 
/usr/share/emacs/24.1.50/lisp/org/org-exp-blocks
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-icalendar hides 
/usr/share/emacs/24.1.50/lisp/org/org-icalendar
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-gnuplot hides 
/usr/share/emacs/24.1.50/lisp/org/ob-gnuplot
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-src hides 
/usr/share/emacs/24.1.50/lisp/org/org-src
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-w3m hides 
/usr/share/emacs/24.1.50/lisp/org/org-w3m
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-css hides 
/usr/share/emacs/24.1.50/lisp/org/ob-css
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-ledger hides 
/usr/share/emacs/24.1.50/lisp/org/ob-ledger
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-wl hides 
/usr/share/emacs/24.1.50/lisp/org/org-wl
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-mew hides 
/usr/share/emacs/24.1.50/lisp/org/org-mew
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-mks hides 
/usr/share/emacs/24.1.50/lisp/org/org-mks
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-python hides 
/usr/share/emacs/24.1.50/lisp/org/ob-python
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-shen hides 
/usr/share/emacs/24.1.50/lisp/org/ob-shen
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-tangle hides 
/usr/share/emacs/24.1.50/lisp/org/ob-tangle
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-haskell hides 
/usr/share/emacs/24.1.50/lisp/org/ob-haskell
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-eval hides 
/usr/share/emacs/24.1.50/lisp/org/ob-eval
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-rmail hides 
/usr/share/emacs/24.1.50/lisp/org/org-rmail
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-habit hides 
/usr/share/emacs/24.1.50/lisp/org/org-habit
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-exp hides 
/usr/share/emacs/24.1.50/lisp/org/org-exp
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-mscgen hides 
/usr/share/emacs/24.1.50/lisp/org/ob-mscgen
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-gnus hides 
/usr/share/emacs/24.1.50/lisp/org/org-gnus
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-plantuml hides 
/usr/share/emacs/24.1.50/lisp/org/ob-plantuml
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-ascii hides 
/usr/share/emacs/24.1.50/lisp/org/org-ascii
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-octave hides 
/usr/share/emacs/24.1.50/lisp/org/ob-octave
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-entities hides 
/usr/share/emacs/24.1.50/lisp/org/org-entities
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-dot hides 
/usr/share/emacs/24.1.50/lisp/org/ob-dot
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-latex hides 
/usr/share/emacs/24.1.50/lisp/org/ob-latex
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-java hides 
/usr/share/emacs/24.1.50/lisp/org/ob-java
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-indent hides 
/usr/share/emacs/24.1.50/lisp/org/org-indent
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-table hides 
/usr/share/emacs/24.1.50/lisp/org/org-table
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-eshell hides 
/usr/share/emacs/24.1.50/lisp/org/org-eshell
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-org hides 
/usr/share/emacs/24.1.50/lisp/org/ob-org
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-exp hides 
/usr/share/emacs/24.1.50/lisp/org/ob-exp
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-keys hides 
/usr/share/emacs/24.1.50/lisp/org/ob-keys
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-install hides 
/usr/share/emacs/24.1.50/lisp/org/org-install
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-ref hides 
/usr/share/emacs/24.1.50/lisp/org/ob-ref
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-id hides 
/usr/share/emacs/24.1.50/lisp/org/org-id
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-sass hides 
/usr/share/emacs/24.1.50/lisp/org/ob-sass
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-picolisp hides 
/usr/share/emacs/24.1.50/lisp/org/ob-picolisp
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-sqlite hides 
/usr/share/emacs/24.1.50/lisp/org/ob-sqlite
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-xoxo hides 
/usr/share/emacs/24.1.50/lisp/org/org-xoxo
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-calc hides 
/usr/share/emacs/24.1.50/lisp/org/ob-calc
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-mhe hides 
/usr/share/emacs/24.1.50/lisp/org/org-mhe
/usr/share/emacs/24.1.50/site-lisp/org-mode/org hides 
/usr/share/emacs/24.1.50/lisp/org/org
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-docbook hides 
/usr/share/emacs/24.1.50/lisp/org/org-docbook
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-mouse hides 
/usr/share/emacs/24.1.50/lisp/org/org-mouse
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-html hides 
/usr/share/emacs/24.1.50/lisp/org/org-html
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-ditaa hides 
/usr/share/emacs/24.1.50/lisp/org/ob-ditaa
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-ocaml hides 
/usr/share/emacs/24.1.50/lisp/org/ob-ocaml
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-lisp hides 
/usr/share/emacs/24.1.50/lisp/org/ob-lisp
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-jsinfo hides 
/usr/share/emacs/24.1.50/lisp/org/org-jsinfo
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-odt hides 
/usr/share/emacs/24.1.50/lisp/org/org-odt
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-macs hides 
/usr/share/emacs/24.1.50/lisp/org/org-macs
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-freemind hides 
/usr/share/emacs/24.1.50/lisp/org/org-freemind
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-archive hides 
/usr/share/emacs/24.1.50/lisp/org/org-archive
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-latex hides 
/usr/share/emacs/24.1.50/lisp/org/org-latex
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-crypt hides 
/usr/share/emacs/24.1.50/lisp/org/org-crypt
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-emacs-lisp hides 
/usr/share/emacs/24.1.50/lisp/org/ob-emacs-lisp
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-clojure hides 
/usr/share/emacs/24.1.50/lisp/org/ob-clojure
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-lparse hides 
/usr/share/emacs/24.1.50/lisp/org/org-lparse
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-colview hides 
/usr/share/emacs/24.1.50/lisp/org/org-colview
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-taskjuggler hides 
/usr/share/emacs/24.1.50/lisp/org/org-taskjuggler
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-matlab hides 
/usr/share/emacs/24.1.50/lisp/org/ob-matlab
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-faces hides 
/usr/share/emacs/24.1.50/lisp/org/org-faces
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-table hides 
/usr/share/emacs/24.1.50/lisp/org/ob-table
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-capture hides 
/usr/share/emacs/24.1.50/lisp/org/org-capture
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-js hides 
/usr/share/emacs/24.1.50/lisp/org/ob-js
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-mobile hides 
/usr/share/emacs/24.1.50/lisp/org/org-mobile
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-agenda hides 
/usr/share/emacs/24.1.50/lisp/org/org-agenda
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-sql hides 
/usr/share/emacs/24.1.50/lisp/org/ob-sql
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-special-blocks hides 
/usr/share/emacs/24.1.50/lisp/org/org-special-blocks
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-beamer hides 
/usr/share/emacs/24.1.50/lisp/org/org-beamer
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-fortran hides 
/usr/share/emacs/24.1.50/lisp/org/ob-fortran
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-timer hides 
/usr/share/emacs/24.1.50/lisp/org/org-timer
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-perl hides 
/usr/share/emacs/24.1.50/lisp/org/ob-perl
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-R hides 
/usr/share/emacs/24.1.50/lisp/org/ob-R
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-ctags hides 
/usr/share/emacs/24.1.50/lisp/org/org-ctags
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-ruby hides 
/usr/share/emacs/24.1.50/lisp/org/ob-ruby
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-compat hides 
/usr/share/emacs/24.1.50/lisp/org/org-compat
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-feed hides 
/usr/share/emacs/24.1.50/lisp/org/org-feed
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-publish hides 
/usr/share/emacs/24.1.50/lisp/org/org-publish
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-remember hides 
/usr/share/emacs/24.1.50/lisp/org/org-remember
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-C hides 
/usr/share/emacs/24.1.50/lisp/org/ob-C
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-vm hides 
/usr/share/emacs/24.1.50/lisp/org/org-vm
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-datetree hides 
/usr/share/emacs/24.1.50/lisp/org/org-datetree
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-awk hides 
/usr/share/emacs/24.1.50/lisp/org/ob-awk
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-plot hides 
/usr/share/emacs/24.1.50/lisp/org/org-plot
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-scheme hides 
/usr/share/emacs/24.1.50/lisp/org/ob-scheme
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-attach hides 
/usr/share/emacs/24.1.50/lisp/org/org-attach
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-lob hides 
/usr/share/emacs/24.1.50/lisp/org/ob-lob
/usr/share/emacs/24.1.50/site-lisp/org-mode/ob-comint hides 
/usr/share/emacs/24.1.50/lisp/org/ob-comint
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-inlinetask hides 
/usr/share/emacs/24.1.50/lisp/org/org-inlinetask
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-clock hides 
/usr/share/emacs/24.1.50/lisp/org/org-clock
/usr/share/emacs/24.1.50/site-lisp/org-mode/org-info hides 
/usr/share/emacs/24.1.50/lisp/org/org-info

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils benchmark time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs
button faces cus-face files text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)



--- End Message ---
--- Begin Message --- Subject: Re: bug#11943: 24.1.50; Emacs unusably slow when looking at large files (bidi support at fault) Date: Sun, 15 Jul 2012 17:47:18 +0300
> Date: Sat, 14 Jul 2012 20:31:03 -0700
> From: Dima Kogan <address@hidden>
> Cc: address@hidden
> 
> > On Sun, 15 Jul 2012 06:04:47 +0300
> > Eli Zaretskii <address@hidden> wrote:
> >
> > > From: Dima Kogan <address@hidden>
> > > Date: Sat, 14 Jul 2012 17:50:51 -0700
> > > 
> > > I'm observing that when some large text files are loaded, emacs
> > > slows to a crawl. As an example, I have a 14MB file open (with
> > > emacs -Q). Every time I do (next-line) or (previous-line) it takes
> > > a few seconds. This is a > 2GHz Core2 machine, so there's no reason
> > > for this to happen. 'M-x benchmark' says that (previous-line) takes
> > > >2s each time. I discovered that if I do (setq
> > > >bidi-display-reordering nil) then emacs is snappy
> > > again, with previous-line taking <1ms.
> > > 
> > > The specific file I'm using to exhibit the bug consists of many
> > > repeated stanzas such as
> > > 
> > > =========================
> > > {
> > >  {2.222222,2.222222,2.222222,2.2},
> > >  {-2.222222,2.222222,2.222222},
> > >  {-22.222222,22.222222,2.222222}
> > > },
> > > =========================
> > > 
> > > without the =. Saving a stanza into a file called 'snippet', the
> > > 14MB file can be made with
> > > 
> > > $ for i in `seq 17`; do cat snippet snippet > xxx; mv xxx snippet;
> > > done
> > 
> > What is the major mode in the buffer where you see this?  I mean the
> > real-life example where you bumped into this, not the 'snippet' file
> > produced by the above.
> 
> fundamental-mode

The recommended way to handle such buffers is to set
bidi-paragraph-direction to left-to-right.  Major modes for editing
program source, that inherit from prog-mode, already do that
automatically, but fundamental-mode does not (and can not, IMO).
That's why I asked you about the major mode.

Anyway, to avoid such catastrophic slow-downs, I made a change in the
code that determines base paragraph direction, and committed those
changes as trunk revision 109098.  With those changes, redisplay
should be again fast, even with bidi-paragraph-direction at its
default nil value.

Thanks.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]