|
From: | Lennart Borgman (gmail) |
Subject: | Re: Is this a bug in overlay property list handling? |
Date: | Tue, 03 Jun 2008 21:46:18 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 |
Stefan Monnier wrote:
I am not sure if I have hit a bug or if I am doing something wrong. I do something like this in my code:(setq syntax-ppss-last-min (copy-tree (cons (1- last-pos) (if is-main-mode-chunk (mumamo-with-major-mode-fontification main-major `(parse-partial-sexp (point-min) last-pos)) (parse-partial-sexp 1 1))) )) (overlay-put chunk-at-pos 'syntax-ppss-last-min syntax-ppss-last-min)If I test this immediately after with `overlay-get' the value looks ok.However, later when I read these values with `overlay-get' it seems like the property list has got corrupted. The car of the value stored in property syntax-ppss-last-min is nil.I use copy-tree to try to avoid surprices like this one.The `cons' already makes sure you have the only reference to the object and parse-partial-sexp also returns a fresh value, so the `copy-tree' is not needed.
Thanks for the explanation.
Maybe I should do something different? Maybe this is a bug in overlay property list handling?I'd be very surprised if it's a bug in overlay property handling. My guess is that it's a bug elsewhere in your code.
Ok, this should make it easier to find this bug.
Stefan PS: BTW, please avoid using `1' instead of (point-min), or else add a comment explaining why (point-min) is not right.
I will add a comment.
Also the `(parse-partial-sexp (point-min) last-pos) looks odd: you probably forgot a comma before `last-pos'.
Yes, I did. Thanks.
Maybe mumamo-with-major-mode-fontification should be a macro rather than a function.
I am not sure now. I will have a look again.
[Prev in Thread] | Current Thread | [Next in Thread] |