Re: [Orgmode] Re: Src blocks fontification issue

2010-09-03 Thread Julien Fantin
Carsten, I'll look into it when I get a chance, even though I doubt
I'll be able to fix it if you describe it as tricky yourself ;)

Any pointers on where to start looking though ?

Cheers

On Fri, Sep 3, 2010 at 7:56 PM, Carsten Dominik
 wrote:
>
> On Sep 3, 2010, at 5:23 PM, Dan Davison wrote:
>
>> Julien Fantin  writes:
>>
>>> I tried opening the file with a bare emacs and the problem persists.
>>>
>>> I use true indentation in my files, which I think isn't what most
>>> people do, so maybe the parser gets confused by a combination of
>>> blocks not starting at column 0, and some other formatting, but I'm
>>> failing to see the pattern...
>>
>> Me too. While you may well be right that I have broken something, first
>> let's concentrate on what appears to be a long-standing bug; in fact I
>> think it has never worked correctly. Basic fontification of src blocks
>> elements was introduced over a year ago at this commit
>>
>> --8<---cut here---start->8---
>> commit 476493d3b300b8dc379ea7e42c974461d6f3dfb5
>> Author: Carsten Dominik 
>> Date:   Sat May 23 22:58:38 2009 +0200
>>
>>   Fontification: Better treatment of #+ lines and blocks
>>
>>   The content of blocks like #+begin_example will be marked with a
>>   separate face.  That same face is also used for single lines
>>   introducing text for specific backends.
>> --8<---cut here---end--->8---
>
> I remember that this was quite tricky to implement, lots of problems because
> you have to scan outside of the range font-lock wants to look at etc.
> Would be great if you could find out how to fix this.
>
> Before this patch, the text in block would be fontified like org-mode, which
> looked terrible ... :)
>
> - Carsten
>
>
>>
>> Priot to that commit the whole block, and the begin_src end_src lines
>> had no special fontification. After that commit, a test file (below)
>> based on yours is not correctly fontified on startup. It is correctly
>> fontified when font-lock is triggered subsequently by some keyborad
>> input nearby. But it seems very sensitive to changes in the test file
>> and I haven't worked out what's going on.
>>
>> Test file: the final code block is not fontified, nor are the BEGIN_SRC
>> and END_SRC lines. (emacs 24, org commit 476493d3b300 and subsequent)
>>
>> --8<---cut here---start->8---
>> * Setup
>>  #+BEGIN_SRC emacs-lisp
>>   (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" .
>> org-mode))
>>   (add-hook 'org-mode-hook
>>             '(lambda ()
>>                (auto-fill-mode t)
>>                (define-key org-mode-map (kbd "RET") 'org-return-indent)
>>                (flyspell-mode 1)))
>>
>>
>>   ;; windmove fix
>>   (add-hook 'org-shiftup-final-hook 'windmove-up)
>>   (add-hook 'org-shiftleft-final-hook 'windmove-left)
>>   (add-hook 'org-shiftdown-final-hook 'windmove-down)
>>   (add-hook 'org-shiftright-final-hook 'windmove-right)
>>  #+END_SRC
>> ** Helpers
>>  #+BEGIN_SRC emacs-lisp
>>  (defun is-bogus-file-p (file)
>>    "Return t if file is a temporary file as in .#foo or a . .. reference
>> returned by directory-files"
>>    (or (member file '("." ".."))
>>        (string-match "^.#.+" file)))
>>  #+END_SRC
>> * Customization
>>  #+BEGIN_SRC emacs-lisp
>>  (setq org-return-follows-link t
>>       org-special-ctrl-a/e t
>>       org-special-ctrl-k t
>>       org-completion-use-ido t
>>       org-log-into-drawer t
>>       org-startup-indented nil
>>       org-hide-leading-stars t
>>       org-startup-folded t
>>       org-empty-line-terminates-plain-lists t
>>       org-adapt-indentation t
>>       org-yank-folded-subtrees t
>>       org-M-RET-may-split-line nil
>>       org-enforce-todo-dependencies t
>>       org-enforce-todo-checkbox-dependencies t)
>>
>>  ;; (setq org-blank-before-new-entry '((heading . always)
>>  ;;                                    (plain-list-item . always)))
>>  #+END_SRC
>> --8<---cut here---end--->8---
>>
>>
>> Dan
>>
>>>
>>> Here is one of the incriminated files:
>>>
>>> http://pastebin.com/raw.php?i=yxdUmpKx
>>>
>>> Hope this is any help...
>>>
>>> Cheers
>>>
>>> On Fri, Sep 3, 2010 at 12:48 AM, Dan Davison 
>>> wrote:

 Julien Fantin  writes:

> First congratulations on adding in-line fontification to source
> blocks, that's a great addition.
>
> However, since I pulled those changes, a recurring issue I've been
> having has become even more annoying.
>
> When opening an org file, some src blocks headers don't seem to get
> parsed properly, and now as a result, don't get fontified.
> They are functional though, since they properly get tangled, and C-c '
> performs as expected.
> If I edit the header line, or the ones directly before and after it,
> the block gets back to normal.
>
> Here is a screenshot to make things clearer, as you can see there are
> 

Re: [Orgmode] Re: Src blocks fontification issue

2010-09-03 Thread Carsten Dominik


On Sep 3, 2010, at 5:23 PM, Dan Davison wrote:


Julien Fantin  writes:


I tried opening the file with a bare emacs and the problem persists.

I use true indentation in my files, which I think isn't what most
people do, so maybe the parser gets confused by a combination of
blocks not starting at column 0, and some other formatting, but I'm
failing to see the pattern...


Me too. While you may well be right that I have broken something,  
first

let's concentrate on what appears to be a long-standing bug; in fact I
think it has never worked correctly. Basic fontification of src blocks
elements was introduced over a year ago at this commit

--8<---cut here---start->8---
commit 476493d3b300b8dc379ea7e42c974461d6f3dfb5
Author: Carsten Dominik 
Date:   Sat May 23 22:58:38 2009 +0200

   Fontification: Better treatment of #+ lines and blocks

   The content of blocks like #+begin_example will be marked with a
   separate face.  That same face is also used for single lines
   introducing text for specific backends.
--8<---cut here---end--->8---


I remember that this was quite tricky to implement, lots of problems  
because you have to scan outside of the range font-lock wants to look  
at etc.   Would be great if you could find out how to fix this.


Before this patch, the text in block would be fontified like org-mode,  
which looked terrible ... :)


- Carsten




Priot to that commit the whole block, and the begin_src end_src lines
had no special fontification. After that commit, a test file (below)
based on yours is not correctly fontified on startup. It is correctly
fontified when font-lock is triggered subsequently by some keyborad
input nearby. But it seems very sensitive to changes in the test file
and I haven't worked out what's going on.

Test file: the final code block is not fontified, nor are the  
BEGIN_SRC

and END_SRC lines. (emacs 24, org commit 476493d3b300 and subsequent)

--8<---cut here---start->8---
* Setup
 #+BEGIN_SRC emacs-lisp
   (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\) 
$" . org-mode))

   (add-hook 'org-mode-hook
 '(lambda ()
(auto-fill-mode t)
(define-key org-mode-map (kbd "RET") 'org-return- 
indent)

(flyspell-mode 1)))


   ;; windmove fix
   (add-hook 'org-shiftup-final-hook 'windmove-up)
   (add-hook 'org-shiftleft-final-hook 'windmove-left)
   (add-hook 'org-shiftdown-final-hook 'windmove-down)
   (add-hook 'org-shiftright-final-hook 'windmove-right)
 #+END_SRC
** Helpers
 #+BEGIN_SRC emacs-lisp
  (defun is-bogus-file-p (file)
"Return t if file is a temporary file as in .#foo or a . ..  
reference returned by directory-files"

(or (member file '("." ".."))
(string-match "^.#.+" file)))
 #+END_SRC
* Customization
 #+BEGIN_SRC emacs-lisp
 (setq org-return-follows-link t
   org-special-ctrl-a/e t
   org-special-ctrl-k t
   org-completion-use-ido t
   org-log-into-drawer t
   org-startup-indented nil
   org-hide-leading-stars t
   org-startup-folded t
   org-empty-line-terminates-plain-lists t
   org-adapt-indentation t
   org-yank-folded-subtrees t
   org-M-RET-may-split-line nil
   org-enforce-todo-dependencies t
   org-enforce-todo-checkbox-dependencies t)

 ;; (setq org-blank-before-new-entry '((heading . always)
 ;;(plain-list-item . always)))
 #+END_SRC
--8<---cut here---end--->8---


Dan



Here is one of the incriminated files:

http://pastebin.com/raw.php?i=yxdUmpKx

Hope this is any help...

Cheers

On Fri, Sep 3, 2010 at 12:48 AM, Dan Davison  
 wrote:

Julien Fantin  writes:


First congratulations on adding in-line fontification to source
blocks, that's a great addition.

However, since I pulled those changes, a recurring issue I've been
having has become even more annoying.

When opening an org file, some src blocks headers don't seem to get
parsed properly, and now as a result, don't get fontified.
They are functional though, since they properly get tangled, and  
C-c '

performs as expected.
If I edit the header line, or the ones directly before and after  
it,

the block gets back to normal.

Here is a screenshot to make things clearer, as you can see there  
are
no differences in formatting, and those properties drawer don't  
have

anything weird, just a single ID.

http://imagebin.org/112413

I was meaning to post a screenshot with whitespace-mode on to  
stress
that there are no apparent formatting differences, but it turned  
out

activating it fixed the issue !

Not sure what I can do to further help debugging this ?


Hi Julien,

I don't have any clever ideas about this, so I'm just going to  
suggest

the obvious: first a sanity check that it doesn't occur with emacs
-Q. Then some sort of quasi-binary search through your emacs

[Orgmode] Re: Src blocks fontification issue

2010-09-03 Thread Julien Fantin
I'm sorry if I implied that this issue appeared since your changes
Dan, as it's not the case indeed.

I tried un-indenting the scr block headers, and the problem goes away,
so I'd say it's definitely related to the handling of indented
headers.

I looked at that commit and the regexps do take care of detecting
them, but I'm afraid the code is too involved for me to be of any
help...

I hope this can get fixed, if not I might consider sticking to col 0
for src blocks...

Cheers

On Fri, Sep 3, 2010 at 5:23 PM, Dan Davison  wrote:
> Julien Fantin  writes:
>
>> I tried opening the file with a bare emacs and the problem persists.
>>
>> I use true indentation in my files, which I think isn't what most
>> people do, so maybe the parser gets confused by a combination of
>> blocks not starting at column 0, and some other formatting, but I'm
>> failing to see the pattern...
>
> Me too. While you may well be right that I have broken something, first
> let's concentrate on what appears to be a long-standing bug; in fact I
> think it has never worked correctly. Basic fontification of src blocks
> elements was introduced over a year ago at this commit
>
> --8<---cut here---start->8---
> commit 476493d3b300b8dc379ea7e42c974461d6f3dfb5
> Author: Carsten Dominik 
> Date:   Sat May 23 22:58:38 2009 +0200
>
>    Fontification: Better treatment of #+ lines and blocks
>
>    The content of blocks like #+begin_example will be marked with a
>    separate face.  That same face is also used for single lines
>    introducing text for specific backends.
> --8<---cut here---end--->8---
>
> Priot to that commit the whole block, and the begin_src end_src lines
> had no special fontification. After that commit, a test file (below)
> based on yours is not correctly fontified on startup. It is correctly
> fontified when font-lock is triggered subsequently by some keyborad
> input nearby. But it seems very sensitive to changes in the test file
> and I haven't worked out what's going on.
>
> Test file: the final code block is not fontified, nor are the BEGIN_SRC
> and END_SRC lines. (emacs 24, org commit 476493d3b300 and subsequent)
>
> --8<---cut here---start->8---
> * Setup
>  #+BEGIN_SRC emacs-lisp
>    (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . 
> org-mode))
>    (add-hook 'org-mode-hook
>              '(lambda ()
>                 (auto-fill-mode t)
>                 (define-key org-mode-map (kbd "RET") 'org-return-indent)
>                 (flyspell-mode 1)))
>
>
>    ;; windmove fix
>    (add-hook 'org-shiftup-final-hook 'windmove-up)
>    (add-hook 'org-shiftleft-final-hook 'windmove-left)
>    (add-hook 'org-shiftdown-final-hook 'windmove-down)
>    (add-hook 'org-shiftright-final-hook 'windmove-right)
>  #+END_SRC
> ** Helpers
>  #+BEGIN_SRC emacs-lisp
>   (defun is-bogus-file-p (file)
>     "Return t if file is a temporary file as in .#foo or a . .. reference 
> returned by directory-files"
>     (or (member file '("." ".."))
>         (string-match "^.#.+" file)))
>  #+END_SRC
> * Customization
>  #+BEGIN_SRC emacs-lisp
>  (setq org-return-follows-link t
>        org-special-ctrl-a/e t
>        org-special-ctrl-k t
>        org-completion-use-ido t
>        org-log-into-drawer t
>        org-startup-indented nil
>        org-hide-leading-stars t
>        org-startup-folded t
>        org-empty-line-terminates-plain-lists t
>        org-adapt-indentation t
>        org-yank-folded-subtrees t
>        org-M-RET-may-split-line nil
>        org-enforce-todo-dependencies t
>        org-enforce-todo-checkbox-dependencies t)
>
>  ;; (setq org-blank-before-new-entry '((heading . always)
>  ;;                                    (plain-list-item . always)))
>  #+END_SRC
> --8<---cut here---end--->8---
>
>
> Dan
>
>>
>> Here is one of the incriminated files:
>>
>> http://pastebin.com/raw.php?i=yxdUmpKx
>>
>> Hope this is any help...
>>
>> Cheers
>>
>> On Fri, Sep 3, 2010 at 12:48 AM, Dan Davison  wrote:
>>> Julien Fantin  writes:
>>>
 First congratulations on adding in-line fontification to source
 blocks, that's a great addition.

 However, since I pulled those changes, a recurring issue I've been
 having has become even more annoying.

 When opening an org file, some src blocks headers don't seem to get
 parsed properly, and now as a result, don't get fontified.
 They are functional though, since they properly get tangled, and C-c '
 performs as expected.
 If I edit the header line, or the ones directly before and after it,
 the block gets back to normal.

 Here is a screenshot to make things clearer, as you can see there are
 no differences in formatting, and those properties drawer don't have
 anything weird, just a single ID.

 http://imagebin.org/112413

 I was meaning to post a screens

[Orgmode] Re: Src blocks fontification issue

2010-09-03 Thread Dan Davison
Julien Fantin  writes:

> I tried opening the file with a bare emacs and the problem persists.
>
> I use true indentation in my files, which I think isn't what most
> people do, so maybe the parser gets confused by a combination of
> blocks not starting at column 0, and some other formatting, but I'm
> failing to see the pattern...

Me too. While you may well be right that I have broken something, first
let's concentrate on what appears to be a long-standing bug; in fact I
think it has never worked correctly. Basic fontification of src blocks
elements was introduced over a year ago at this commit

--8<---cut here---start->8---
commit 476493d3b300b8dc379ea7e42c974461d6f3dfb5
Author: Carsten Dominik 
Date:   Sat May 23 22:58:38 2009 +0200

Fontification: Better treatment of #+ lines and blocks

The content of blocks like #+begin_example will be marked with a
separate face.  That same face is also used for single lines
introducing text for specific backends.
--8<---cut here---end--->8---

Priot to that commit the whole block, and the begin_src end_src lines
had no special fontification. After that commit, a test file (below)
based on yours is not correctly fontified on startup. It is correctly
fontified when font-lock is triggered subsequently by some keyborad
input nearby. But it seems very sensitive to changes in the test file
and I haven't worked out what's going on.

Test file: the final code block is not fontified, nor are the BEGIN_SRC
and END_SRC lines. (emacs 24, org commit 476493d3b300 and subsequent)

--8<---cut here---start->8---
* Setup
  #+BEGIN_SRC emacs-lisp
(add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . 
org-mode))
(add-hook 'org-mode-hook
  '(lambda ()
 (auto-fill-mode t)
 (define-key org-mode-map (kbd "RET") 'org-return-indent)
 (flyspell-mode 1)))


;; windmove fix
(add-hook 'org-shiftup-final-hook 'windmove-up)
(add-hook 'org-shiftleft-final-hook 'windmove-left)
(add-hook 'org-shiftdown-final-hook 'windmove-down)
(add-hook 'org-shiftright-final-hook 'windmove-right)
  #+END_SRC
** Helpers
  #+BEGIN_SRC emacs-lisp
   (defun is-bogus-file-p (file)
 "Return t if file is a temporary file as in .#foo or a . .. reference 
returned by directory-files"
 (or (member file '("." ".."))
 (string-match "^.#.+" file)))
  #+END_SRC
* Customization
  #+BEGIN_SRC emacs-lisp
  (setq org-return-follows-link t
org-special-ctrl-a/e t
org-special-ctrl-k t
org-completion-use-ido t
org-log-into-drawer t
org-startup-indented nil
org-hide-leading-stars t
org-startup-folded t
org-empty-line-terminates-plain-lists t
org-adapt-indentation t
org-yank-folded-subtrees t
org-M-RET-may-split-line nil
org-enforce-todo-dependencies t
org-enforce-todo-checkbox-dependencies t)

  ;; (setq org-blank-before-new-entry '((heading . always)
  ;;(plain-list-item . always)))
  #+END_SRC
--8<---cut here---end--->8---


Dan

>
> Here is one of the incriminated files:
>
> http://pastebin.com/raw.php?i=yxdUmpKx
>
> Hope this is any help...
>
> Cheers
>
> On Fri, Sep 3, 2010 at 12:48 AM, Dan Davison  wrote:
>> Julien Fantin  writes:
>>
>>> First congratulations on adding in-line fontification to source
>>> blocks, that's a great addition.
>>>
>>> However, since I pulled those changes, a recurring issue I've been
>>> having has become even more annoying.
>>>
>>> When opening an org file, some src blocks headers don't seem to get
>>> parsed properly, and now as a result, don't get fontified.
>>> They are functional though, since they properly get tangled, and C-c '
>>> performs as expected.
>>> If I edit the header line, or the ones directly before and after it,
>>> the block gets back to normal.
>>>
>>> Here is a screenshot to make things clearer, as you can see there are
>>> no differences in formatting, and those properties drawer don't have
>>> anything weird, just a single ID.
>>>
>>> http://imagebin.org/112413
>>>
>>> I was meaning to post a screenshot with whitespace-mode on to stress
>>> that there are no apparent formatting differences, but it turned out
>>> activating it fixed the issue !
>>>
>>> Not sure what I can do to further help debugging this ?
>>
>> Hi Julien,
>>
>> I don't have any clever ideas about this, so I'm just going to suggest
>> the obvious: first a sanity check that it doesn't occur with emacs
>> -Q. Then some sort of quasi-binary search through your emacs
>> customisations. It looks like you're storing your emacs customisation in
>> an Org file, so you can knock out entire trees with :tangle: no
>> properties.
>>
>> Dan
>>
>> p.s. On a completely unrelated note, if you haven't alr

[Orgmode] Re: Src blocks fontification issue

2010-09-03 Thread Julien Fantin
Hi Dan,
thanks for the answer and the unsollicited tip :)

I tried opening the file with a bare emacs and the problem persists.

I use true indentation in my files, which I think isn't what most
people do, so maybe the parser gets confused by a combination of
blocks not starting at column 0, and some other formatting, but I'm
failing to see the pattern...

Here is one of the incriminated files:

http://pastebin.com/raw.php?i=yxdUmpKx

Hope this is any help...

Cheers

On Fri, Sep 3, 2010 at 12:48 AM, Dan Davison  wrote:
> Julien Fantin  writes:
>
>> First congratulations on adding in-line fontification to source
>> blocks, that's a great addition.
>>
>> However, since I pulled those changes, a recurring issue I've been
>> having has become even more annoying.
>>
>> When opening an org file, some src blocks headers don't seem to get
>> parsed properly, and now as a result, don't get fontified.
>> They are functional though, since they properly get tangled, and C-c '
>> performs as expected.
>> If I edit the header line, or the ones directly before and after it,
>> the block gets back to normal.
>>
>> Here is a screenshot to make things clearer, as you can see there are
>> no differences in formatting, and those properties drawer don't have
>> anything weird, just a single ID.
>>
>> http://imagebin.org/112413
>>
>> I was meaning to post a screenshot with whitespace-mode on to stress
>> that there are no apparent formatting differences, but it turned out
>> activating it fixed the issue !
>>
>> Not sure what I can do to further help debugging this ?
>
> Hi Julien,
>
> I don't have any clever ideas about this, so I'm just going to suggest
> the obvious: first a sanity check that it doesn't occur with emacs
> -Q. Then some sort of quasi-binary search through your emacs
> customisations. It looks like you're storing your emacs customisation in
> an Org file, so you can knock out entire trees with :tangle: no
> properties.
>
> Dan
>
> p.s. On a completely unrelated note, if you haven't already tried it:
>
> (add-hook 'emacs-lisp-mode-hook 'pretty-lambdas)
>
> where the `pretty-lambdas' function is in starter-kit-defuns.org at
> git://github.com/eschulte/emacs-starter-kit.git
>
> (defun pretty-lambdas ()
>  (font-lock-add-keywords
>   nil `(("(?\\(lambda\\>\\)"
>          (0 (progn (compose-region (match-beginning 1) (match-end 1)
>                                    ,(make-char 'greek-iso8859-7 107))
>                    nil))
>
>>
>> Cheers
>>
>> ___
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Src blocks fontification issue

2010-09-02 Thread Dan Davison
Julien Fantin  writes:

> First congratulations on adding in-line fontification to source
> blocks, that's a great addition.
>
> However, since I pulled those changes, a recurring issue I've been
> having has become even more annoying.
>
> When opening an org file, some src blocks headers don't seem to get
> parsed properly, and now as a result, don't get fontified.
> They are functional though, since they properly get tangled, and C-c '
> performs as expected.
> If I edit the header line, or the ones directly before and after it,
> the block gets back to normal.
>
> Here is a screenshot to make things clearer, as you can see there are
> no differences in formatting, and those properties drawer don't have
> anything weird, just a single ID.
>
> http://imagebin.org/112413
>
> I was meaning to post a screenshot with whitespace-mode on to stress
> that there are no apparent formatting differences, but it turned out
> activating it fixed the issue !
>
> Not sure what I can do to further help debugging this ?

Hi Julien,

I don't have any clever ideas about this, so I'm just going to suggest
the obvious: first a sanity check that it doesn't occur with emacs
-Q. Then some sort of quasi-binary search through your emacs
customisations. It looks like you're storing your emacs customisation in
an Org file, so you can knock out entire trees with :tangle: no
properties.

Dan

p.s. On a completely unrelated note, if you haven't already tried it:

(add-hook 'emacs-lisp-mode-hook 'pretty-lambdas)

where the `pretty-lambdas' function is in starter-kit-defuns.org at
git://github.com/eschulte/emacs-starter-kit.git

(defun pretty-lambdas ()
  (font-lock-add-keywords
   nil `(("(?\\(lambda\\>\\)"
  (0 (progn (compose-region (match-beginning 1) (match-end 1)
,(make-char 'greek-iso8859-7 107))
nil))

>
> Cheers
>
> ___
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode