all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
Cc: Alan Mackenzie <acm@muc.de>, Chong Yidong <cyd@stupidchicken.com>,
	Richard Stallman <rms@gnu.org>,
	emacs-devel@gnu.org
Subject: Re: Mysterious fontification/C++ context issue - Patch	for	beginning-of-defun-raw.
Date: Sat, 16 Dec 2006 11:17:55 +0100	[thread overview]
Message-ID: <4583C7D3.1070703@gmx.at> (raw)
In-Reply-To: <jwvd56ksqu0.fsf-monnier+emacs@gnu.org>

 >>M-> ran almost instantaneously before `beginning-of-defun-raw' changed.
 >>And you did fill CC Mode's cache already before the change.  I could
 >>imagine it's because font-locking runs `beginning-of-defun' repeatedly
 >>for decreasing buffer positions and the `syntax-ppss' cache doesn't
 >>handle these cases optimally.
 >
 >
 > I thought "no, can't be, 'cause I was careful to treat this correctly", so
 > I went and measured it to give a clear proof of it, and much to my surprise
 > you seemed to be right:
 >
 > parse-partial-sexp on the whole buffer takes about 0.08 seconds on my laptop
 > (1.2GHz P-III M, maybe running at 800MHz at that time).  syntax-ppss on that
 > same buffer takes about 0.24s (about 3 times slower: not great, but seemed
 > possible), but
 >
 >            (syntax-ppss (point-max))
 >            (syntax-ppss (- (point-max) 2000))
 >            (syntax-ppss (- (point-max) 4000))
 >
 > takes a good 1.8s which doesn't make any sense.

I got approximately that far when I wrote the lines above.

 > After the shock (thinking,
 > god, I was wrong, how could that be?), I realized that these numbers didn't
 > make any sense.

I simply felt puzzled and didn't dig any further.

 > And sure enough the problem was that in xdisp.c
 > syntax-begin-function is not nil but set to c-beginning-of-syntax which
 > doesn't make any sense: if you don't want to use a heuristic, then set the
 > damn thing to nil.
 >
 > This variable is set to c-beginning-of-defun in cc-mode.el via
 > font-lock-beginning-of-syntax-function which is set via font-lock-defaults.

Does that mean we got the `_c_-beginning-of-defun' behavior through the
back-door?  All that code existed before the open-paren-... change.

 > -	  c-beginning-of-syntax
 > +	  nil

Jumping to the end of xdisp.c still takes four seconds.  I continue to
feel puzzled.  Note that Alan binds `syntax-begin-function' to nil in
his `beginning-of-defun-raw' hence why should this have any impact in
the first place?  I must take another look in the basements of that.

  reply	other threads:[~2006-12-16 10:17 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87y7po2e9b.fsf@leeloo.anubex.internal>
     [not found] ` <45741FBE.3000107@swipnet.se>
     [not found]   ` <45742464.1090504@gmx.at>
2006-12-04 21:17     ` Mysterious fontification/C++ context issue Alan Mackenzie
2006-12-06  0:47       ` Richard Stallman
2006-12-06  9:04       ` martin rudalics
2006-12-06 12:22         ` Kim F. Storm
2006-12-06 16:31           ` Chong Yidong
2006-12-07  4:59             ` Richard Stallman
2006-12-09 17:46               ` Chong Yidong
2006-12-09 20:09                 ` Stefan Monnier
2006-12-11  1:05                   ` Richard Stallman
2006-12-11  2:27                     ` Stefan Monnier
2006-12-11  4:38                     ` Stefan Monnier
2006-12-12 16:24                       ` Chong Yidong
2006-12-12 17:10                         ` Stefan Monnier
2006-12-10  4:24                 ` Richard Stallman
2006-12-10  0:35               ` Alan Mackenzie
2006-12-10  1:11                 ` Chong Yidong
2006-12-10  9:12                   ` Alan Mackenzie
2006-12-10 12:46                     ` David Kastrup
2006-12-10 14:50                       ` Alan Mackenzie
2006-12-10 15:13                         ` David Kastrup
2006-12-10 20:30                     ` Chong Yidong
2006-12-13 21:29                       ` Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw Alan Mackenzie
2006-12-14  1:02                         ` Chong Yidong
2006-12-14  7:36                           ` Alan Mackenzie
2006-12-14 10:47                             ` martin rudalics
2006-12-14 18:26                               ` Alan Mackenzie
2006-12-14 18:53                                 ` David Kastrup
2006-12-14 20:21                                 ` Chong Yidong
2006-12-14 20:35                                 ` Chong Yidong
2006-12-14 22:18                                   ` Alan Mackenzie
2006-12-14 22:51                                     ` Chong Yidong
2006-12-15  0:53                                     ` David Kastrup
2006-12-15 10:35                                     ` Johan Bockgård
2006-12-14 21:53                                 ` What `opic0ids' really is [was: Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw.] Stuart D. Herring
2006-12-15  7:32                                 ` Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw martin rudalics
2006-12-15 19:22                                   ` Alan Mackenzie
2006-12-15 22:20                                     ` David Kastrup
2006-12-16 10:17                                     ` martin rudalics
2006-12-17 11:44                                       ` Alan Mackenzie
2006-12-17 12:02                                         ` David Kastrup
2006-12-17 12:08                                           ` Alan Mackenzie
2006-12-17 12:14                                             ` David Kastrup
2006-12-17 12:26                                               ` Alan Mackenzie
2006-12-17 12:51                                                 ` David Kastrup
2006-12-17 17:28                                         ` martin rudalics
2006-12-17 18:36                                         ` Mysterious fontification/C++ context issue - Patch for c-basic-common-init Alan Mackenzie
2006-12-17 18:45                                           ` Chong Yidong
2006-12-17 22:18                                             ` Alan Mackenzie
2006-12-17 22:59                                               ` Chong Yidong
2006-12-18  0:06                                         ` Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw Stefan Monnier
2006-12-15 23:24                               ` Stefan Monnier
2006-12-16 10:17                                 ` martin rudalics [this message]
2006-12-16 18:14                                   ` Chong Yidong
2006-12-16 18:27                                   ` martin rudalics
2006-12-16 19:00                                     ` martin rudalics
2006-12-16 19:33                                       ` Chong Yidong
2006-12-16 19:59                                         ` martin rudalics
2006-12-16 20:10                                           ` Chong Yidong
2006-12-16 21:26                                             ` Chong Yidong
2006-12-16 22:43                                               ` martin rudalics
2006-12-16 23:30                                               ` Stefan Monnier
2006-12-16 23:40                                                 ` martin rudalics
2006-12-17  0:04                                                   ` Stefan Monnier
2006-12-17  4:02                                                     ` Chong Yidong
2006-12-17 10:32                                                       ` martin rudalics
2006-12-17 10:26                                                     ` martin rudalics
2006-12-17 10:59                                                       ` David Kastrup
2006-12-17 23:23                                                       ` Stefan Monnier
2006-12-17 11:10                                                     ` Alan Mackenzie
2006-12-17 12:01                                                       ` David Kastrup
2006-12-18  0:04                                                       ` Stefan Monnier
2006-12-16 22:11                                             ` martin rudalics
2006-12-16 23:29                                           ` Stefan Monnier
2006-12-16 23:37                                             ` martin rudalics
2006-12-16 20:22                                         ` David Kastrup
2006-12-16 22:21                                           ` martin rudalics
2006-12-14 17:29                             ` Chong Yidong
2006-12-14 18:56                               ` David Kastrup
2006-12-14 22:57                               ` Alan Mackenzie
2006-12-15 22:56                           ` Stefan Monnier
2006-12-15 23:03                             ` David Kastrup
2006-12-14 10:45                         ` martin rudalics
2006-12-14 18:29                           ` Alan Mackenzie
2006-12-15 22:49                         ` Stefan Monnier
2006-12-10 21:39                     ` Mysterious fontification/C++ context issue Stefan Monnier
2006-12-10 23:14                       ` Kim F. Storm
2006-12-14  7:43                       ` Alan Mackenzie
2006-12-14  7:51                         ` Miles Bader
2006-12-15 23:36                         ` Stefan Monnier
2006-12-10  9:18                   ` martin rudalics
2006-12-11  1:23                     ` Stefan Monnier
2006-12-11  7:23                       ` martin rudalics
2006-12-11  7:36                         ` Stefan Monnier
2006-12-11  8:32                           ` martin rudalics
2006-12-11 16:30                             ` Stefan Monnier
2006-12-11  1:05                 ` Stefan Monnier
2006-12-11  1:06                 ` Richard Stallman
2006-12-06 18:44         ` Richard Stallman
2006-12-06 22:38           ` martin rudalics
2006-12-08  5:05             ` Richard Stallman
2006-12-09  9:42               ` martin rudalics
2006-12-10  4:24                 ` Richard Stallman
2006-12-10  8:38                   ` martin rudalics
2006-12-10 10:56                   ` Alan Mackenzie
2006-12-10 11:58                     ` martin rudalics
2006-12-10 14:30                       ` Slawomir Nowaczyk
2006-12-11  1:29                     ` Stefan Monnier
2006-12-06 20:52         ` Alan Mackenzie
2006-12-06 22:38           ` martin rudalics
2006-12-07  5:07           ` Stefan Monnier
2006-12-15  5:03 Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw Richard Stallman
2006-12-15  6:31 ` Sean O'Rourke
2006-12-15 16:08   ` Chong Yidong
2006-12-15 16:16     ` Sean O'Rourke
2006-12-15 16:44       ` Chong Yidong
2006-12-15 20:46         ` Stuart D. Herring
2006-12-15 21:24   ` Richard Stallman
2006-12-15 22:31     ` Sean O'Rourke
2006-12-15 16:57 ` Chong Yidong
2006-12-15 23:33 ` Stefan Monnier

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=4583C7D3.1070703@gmx.at \
    --to=rudalics@gmx.at \
    --cc=acm@muc.de \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /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.