all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Alan Mackenzie <acm@muc.de>
Cc: bug-cc-mode@gnu.org, martin rudalics <rudalics@gmx.at>,
	emacs-devel@gnu.org
Subject: Re: Unbearably slow editing in .h files
Date: Sat, 23 Feb 2008 19:37:17 -0500	[thread overview]
Message-ID: <jwv8x1bkxku.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <20080223224901.GB3476@muc.de> (Alan Mackenzie's message of "Sat,  23 Feb 2008 22:49:01 +0000")

> ;-)  I think that lisp.h is an ill-conditioned file, in some way.  Or
> are you telling me that the slowness happens in a lot of files.h?

Basically, all .h files, tho clearly the slowdown is proportional to the
distance between point-min and point.

> The intolerability could be due to searching for an unnested brace
> instead of one at column zero.

Could be.  Tho I don't see why it should be so slow, and if it is, then
I'm convinced there's got to be some heuristic we could use to eliminate
the O(N) complexity in practice.
E.g. (re-search-backward "[;}][ \n\t]*\n[^ \t]") combined with
a syntax-ppss check to make sure we're not inside a string/comment/parens.

> Which files.h are you talking about, Stefan?  CC Mode seems to work well
> enough for me in my day job (maintaining typical old
> "proprietary-quality" C code).  Maybe .../src/lisp.h and one or two
> others are somewhat extreme in their use of macros, or something.  A

My machine is not slow, but my Emacs is compiled with a fair bit of
extra debugging checks, so it's equivalent to running on a slow machine.
Still, the slowness is usually unnoticeable.


        Stefan


PS: One other problem with add-log-current-defun is that it does not
recognize function declarations any more (i.e. hitting C-x 4 a
on a line like

  void foo (int);

will fail to find the "foo" to put it in the ChangeLog).  Not sure if
it's related.




  parent reply	other threads:[~2008-02-24  0:37 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-04 21:18 patch: add-log.el: changelog find file under poin Jan Nieuwenhuizen
2007-11-06 23:45 ` Juri Linkov
2007-11-07 13:38   ` Jan Nieuwenhuizen
2007-11-09  8:40 ` Dan Nicolaescu
2007-11-09  9:40   ` Juri Linkov
2008-01-20  6:14 ` Richard Stallman
2008-01-21  3:02   ` Glenn Morris
2008-01-21 20:30     ` Richard Stallman
2008-01-21 20:35       ` Glenn Morris
2008-01-22 22:29         ` Richard Stallman
2008-01-22 22:38           ` Glenn Morris
2008-01-22 23:09           ` Dan Nicolaescu
2008-01-23  1:32             ` Juri Linkov
2008-01-23  2:25               ` Dan Nicolaescu
2008-01-23  9:28                 ` Juri Linkov
2008-01-23 16:20                 ` Richard Stallman
2008-01-27 19:54                   ` Dan Nicolaescu
2008-01-28 10:20                     ` martin rudalics
2008-01-30  2:58                       ` Dan Nicolaescu
2008-02-18 19:46                         ` patch: add-log.el: changelog find file under point martin rudalics
2008-02-18 20:09                           ` Unbearably slow editing in .h files (was: patch: add-log.el: changelog find file under point) Stefan Monnier
2008-02-23 22:49                             ` Alan Mackenzie
2008-02-23 22:51                               ` Unbearably slow editing in .h files martin rudalics
2008-02-23 23:25                                 ` Alan Mackenzie
2008-02-24  8:55                                   ` martin rudalics
2008-04-02 22:07                                 ` Alan Mackenzie
2008-04-02 23:47                                   ` Dan Nicolaescu
2008-04-03  9:14                                     ` Alan Mackenzie
2008-04-03 13:10                                       ` Dan Nicolaescu
2008-04-03 14:17                                         ` Alan Mackenzie
2008-04-03 15:22                                           ` Dan Nicolaescu
2008-04-03 17:58                                             ` Alan Mackenzie
2008-02-24  0:37                               ` Stefan Monnier [this message]
2008-02-24  8:39                                 ` Alan Mackenzie
2008-02-24 14:46                                   ` Jason Rumney
2008-02-24 19:48                                     ` Eli Zaretskii
2008-02-24 19:49                                   ` Eli Zaretskii
2008-02-24 10:28                                 ` Andreas Schwab
2008-02-24 13:49                                   ` Stefan Monnier
2008-02-24 14:41                                     ` Alan Mackenzie
2008-02-24 15:42                                       ` Stefan Monnier
2008-02-24 20:12                                         ` Alan Mackenzie
2008-02-24 22:29                                     ` Richard Stallman
2008-02-25  2:14                                       ` Stefan Monnier
2008-02-18 23:31                           ` patch: add-log.el: changelog find file under point Juri Linkov
2008-02-19  6:34                             ` martin rudalics
2008-02-20 21:29                               ` Juri Linkov
2008-02-21  7:26                                 ` martin rudalics
2008-02-21 22:29                                   ` Richard Stallman
2008-02-22 19:26                                     ` martin rudalics
2008-02-23 19:28                                       ` Richard Stallman
2008-02-23 22:32                                         ` martin rudalics
2008-02-24 15:23                                           ` Richard Stallman
2008-02-24 15:23                                           ` Richard Stallman
2008-02-24 22:34                                             ` martin rudalics
2008-02-25 10:57                                               ` Richard Stallman
2008-02-25 14:05                                                 ` martin rudalics
2008-01-22  0:08       ` patch: add-log.el: changelog find file under poin Juri Linkov
2008-01-22  1:17         ` Drew Adams
2008-01-22  9:54           ` Juri Linkov
2008-01-22 14:34             ` Drew Adams
2008-01-22 22:29         ` Richard Stallman
2008-01-23  1:29           ` Juri Linkov
2008-01-23 16:20             ` Richard Stallman
2008-01-28  8:55             ` Jan Nieuwenhuizen
2008-01-28  9:29               ` Johan Bockgård
2008-01-22  8:21   ` Dan Nicolaescu
2008-01-22  9:56     ` Juri Linkov
2008-01-22 23:13       ` Dan Nicolaescu
2008-01-22 22:29     ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwv8x1bkxku.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=acm@muc.de \
    --cc=bug-cc-mode@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.