[Orgmode] Re: [BABEL] Two minor issues

2010-11-22 Thread Sébastien Vauban
Hi Dan,

(resending this, as it seems to never have reached the ML)

Dan Davison wrote:
 Sébastien Vauban writes:
 Dan Davison wrote:
 #+begin_src emacs-lisp
   ;; (message Hello World)
 #+end_src

 err, and I haven't had the energy to investigate this one yet!

 Another minibug, when natively fontifying, is that the line #+begin_src is
 no more fontified up to the end of the screen (well to the end of the
 line): choose a font with a background color, and you will notice the
 difference immediately.

 I do remember you reported this before, but I don't use faces with
 background colors and didn't get round to working out how to set the fonts.
 Could you provide a reproducible example with code to set up the necessary
 faces?

#+TITLE: Native fontification minibug
#+DATE:  2010-11-20
#+LANGUAGE:  en_US

* Faces with background

To set up Org faces with a background color, choose 1 of the 2 following
solutions:

** Install my color-theme

1. Download http://orgmode.org/worg/color-themes/color-theme-sva.el, putting
   it in a directory that's part of your =load-path=.

2. Insert the following somewhere in your =.emacs= file:

   #+begin_src emacs-lisp
   ;; the real color theme functions
   (when (require 'color-theme)

 ;; initialize the color theme package
 (if (fboundp 'color-theme-initialize)
 (color-theme-initialize))

 ;; color themes will be installed for all frames
 (setq color-theme-is-global t)

 ;; set my default color theme
 (when (try-require 'color-theme-sva)
   (color-theme-sva)))
   #+end_src

Doing so, you'll benefit of all customizations I've done (and re-done... and
re-re-done...) around faces in general, and Org faces in particular. You may
like it, or hate it, but you shouldn't stay indifferent to it...

** Customize some Org faces

Alternatively, you can just update the two most important faces (regarding
this question), directly from here, by executing this code:

#+begin_src emacs-lisp
(set-face-attribute 'org-meta-line nil
:foreground #008ED1
:background #EAEAFF)

(set-face-attribute 'org-block nil
:foreground blue1
:background #EA)
#+end_src

#+results:

* Example

The above code already is an example of the way faces are applied. Here is
another.

** Don't fontify natively

Execute the following, answering =yes= to the revert buffer question.

#+begin_src emacs-lisp
;; don't fontify code in code blocks
(setq org-src-fontify-natively nil)

(revert-buffer)
(org-shifttab)
#+end_src

#+results:

** What do you see?

#+begin_src emacs-lisp
;; (message Hello World)
(message Hello World)
#+end_src

** Fontify natively

Execute the following, answering =yes= to the revert buffer question.

#+begin_src emacs-lisp
;; do fontify code in code blocks
(setq org-src-fontify-natively t)

(revert-buffer)
(org-shifttab)
#+end_src

#+results:

What do you see?

Notice that, when in native fontification, the open parenthesis of the =setq=
line (second line of the last code block) is wrongly fontified.


 The three changes you made in commit ff1b5de478e8575b2d8 to support
 fontification to end of line are marked below.

 I'm not totally clear which line is responsible for fontifying begin_src up
 the right-hand edge of the page. Is it this one?

 (add-text-properties beg beg1 '(face org-meta-line))

 The thing is that your patch didn't change that line, which confuses me.

The native fontification has been introduced a couple of weeks *after* my
patch. Maybe someone reverted the change in that line, which could explain,
well, a lot...


 But anyway, in the let binding at the top we have

 (beg1 (line-beginning-position 2))

 which worries me slightly -- does that mean that your functionality relies
 on fontifying the first character of the *body* of the code block as
 org-meta-line? If so then isn't that incompatible with also fontifying the
 block contents as code?

 Your 3rd change is inside the cond, and org-src-fontify-natively comes
 earlier in the cond, so seb change 3 is not being evaluated when
 org-src-fontify-natively is turned on. But I guess that is not the problem
 as that code is dealing with the inside of the block, right?

 Dan

 #+begin_src emacs-lisp
 ;;; begin seb change 1
   (add-text-properties (match-beginning 6) (+ (match-end 6) 1)
'(font-lock-fontified t face org-block))
   ; for backend-specific code
 ;;; end seb change 1
   t)
  ((and (match-end 4) (equal dc3 begin))
   ;; Truly a block
   (setq block-type (downcase (match-string 5))
 quoting (member block-type org-protecting-blocks))
   (when (re-search-forward
  (concat ^[ \t]*#\\+end (match-string 4) \\.*)
  nil t)  ;; on purpose, we look further than LIMIT
 (setq end (match-end 0) end1 (1- 

[Orgmode] Re: [BABEL] Two minor issues

2010-11-22 Thread Dan Davison
Sébastien Vauban wxhgmqzgwmuf-genee64ty+gs+fvcfc7...@public.gmane.org
writes:

 Hi Dan,

 (resending this, as it seems to never have reached the ML)

Could you tell me what I should do with the random characters in the
addresses that appear in your emails? I've deleted the addresses and
just sending to emacs-orgmode@gnu.org, is that OK?

 Dan Davison wrote:
 Sébastien Vauban writes:
 Dan Davison wrote:

...

 Honestly, the way I update that code has been mainly done by sequences of
 trials and errors. The above code is, for me, still quite complex to
 understand with vars such as beg, beg1, end, end1 for which I hadn't
 completely understood the meaning.

This seems to work -- could you try it out?

--8---cut here---start-8---
diff --git a/lisp/org.el b/lisp/org.el
index e2de48e..0b082da 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -5102,9 +5102,6 @@ will be prompted for.
  (add-text-properties
   beg end
   '(font-lock-fontified t font-lock-multiline t))
- (add-text-properties beg beg1 '(face org-meta-line))
- (add-text-properties end1 (+ end 1) '(face org-meta-line))
-   ; for end_src
  (cond
   ((and lang org-src-fontify-natively)
(org-src-font-lock-fontify-block lang block-start block-end))
@@ -5117,6 +5114,8 @@ will be prompted for.
(add-text-properties beg1 end1 '(face org-quote)))
   ((string= block-type verse)
(add-text-properties beg1 end1 '(face org-verse
+ (add-text-properties beg beg1 '(face org-meta-line))
+ (add-text-properties (1+ end) (1+ end1) '(face org-meta-line))
  t))
   ((member dc1 '(title: author: email: date:))
(add-text-properties
--8---cut here---end---8---


Dan


 Otherwise, I would even have proposed a
 renaming of some of them. But, I think that whatever we do, such a code will
 stay complex to understand and change.

 Find here a picture of what we see (since my patch) without native
 fontification.

 http://www.mygooglest.com/sva/No-Native-Fontification.png

 Also, a picture with the new setting of native fontification.

 http://www.mygooglest.com/sva/Native-Fontification-Minibug.png

 Hope this helps. If you need help, I'm willing to take a look back a it (still
 trying and testing the effect of changes), but it won't be before a couple of
 days.

 Best regards,
   Seb

___
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: [BABEL] Two minor issues

2010-11-22 Thread Sébastien Vauban
Hi Dan,

Dan Davison wrote:
 S=C3=A9bastien Vauban wxhgmqzgwmuf-genee64ty+gs+fvcfc7...@public.gmane.org
 writes:
 Could you tell me what I should do with the random characters in the
 addresses that appear in your emails?

I think it's the encryption done by Gmane, isn't it?  Do you currently have
a problem with them?  I did not change anything, though.


 I've deleted the addresses and just sending to emacs-orgmode@gnu.org, is
 that OK?

I always received your mails directly to my inbox up to now, so no need to
change your procedure. Anyway, I'm reading thru the newsgroup, so I should
always see your answers there as well.


 Dan Davison wrote:
 S=C3=A9bastien Vauban writes:
 Dan Davison wrote:

 ...

 Honestly, the way I update that code has been mainly done by sequences of
 trials and errors. The above code is, for me, still quite complex to
 understand with vars such as beg, beg1, end, end1 for which I hadn't
 completely understood the meaning.

 This seems to work -- could you try it out?

Perfect for me!  Thanks a lot...

 --8---cut here---start-8---
 diff --git a/lisp/org.el b/lisp/org.el
 index e2de48e..0b082da 100644
 --- a/lisp/org.el
 +++ b/lisp/org.el
 @@ -5102,9 +5102,6 @@ will be prompted for.
 (add-text-properties
  beg end
  '(font-lock-fontified t font-lock-multiline t))
 -   (add-text-properties beg beg1 '(face org-meta-line))
 -   (add-text-properties end1 (+ end 1) '(face org-meta-line))
 - ; for end_src
 (cond
  ((and lang org-src-fontify-natively)
   (org-src-font-lock-fontify-block lang block-start block-end))
 @@ -5117,6 +5114,8 @@ will be prompted for.
   (add-text-properties beg1 end1 '(face org-quote)))
  ((string=3D block-type verse)
   (add-text-properties beg1 end1 '(face org-verse
 +   (add-text-properties beg beg1 '(face org-meta-line))
 +   (add-text-properties (1+ end) (1+ end1) '(face org-meta-line))
 t))
  ((member dc1 '(title: author: email: date:))
   (add-text-properties
 --8---cut here---end---8---

The only remaining problem (even tinier -- maybe not to find, but for the
Orger) is: when in native fontification, the open parenthesis of the =setq=
line (second line of the last code block) is wrongly fontified.

But that was there before your patch. So, unrelated...

Would you, though, have an idea how to introduce a background color for the
source block part, I'd take it. If not, its status stays, for me, SOMEDAY ;-)

Thanks a lot for your contrib.

Best regards,
  Seb

-- 
Sébastien Vauban


___
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: [BABEL] Two minor issues

2010-11-22 Thread Sébastien Vauban
Hi Dan,

Sébastien Vauban wrote:
 Dan Davison wrote:
 This seems to work -- could you try it out?

 Perfect for me!  Thanks a lot...

Just discovered a problem:
- right fontification (of everything) when code begins in col 0
- no fontification when col  0

Example:

--8---cut here---start-8---
#+begin_src emacs-lisp :results wrap :exports both
  something else
#+end_src

now indented
- first
- second

  #+begin_src emacs-lisp :results wrap :exports both
something else
  #+end_src
--8---cut here---end---8---

Best regards,
  Seb

-- 
Sébastien Vauban


___
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: [BABEL] Two minor issues

2010-11-20 Thread Dan Davison
Sébastien Vauban wxhgmqzgwmuf-genee64ty+gs+fvcfc7...@public.gmane.org
writes:

 Hi Dan,

 Dan Davison wrote:
 #+begin_src emacs-lisp
   ;; (message Hello World)
 #+end_src

 err, and I haven't had the energy to investigate this one yet!

 Another minibug, when natively fontifying, is that the line #+begin_src is no
 more fontified up to the end of the screen (well to the end of the line):
 choose a font with a background color, and you will notice the difference
 immediately.

Hi Seb,

I do remember you reported this before, but I don't use faces with
background colors and didn't get round to working out how to set the
fonts. Could you provide a reproducible example with code to set up the
necessary faces?

The three changes you made in commit ff1b5de478e8575b2d8 to support
fontification to end of line are marked below.

I'm not totally clear which line is responsible for fontifying begin_src
   up the right-hand edge of the page. Is it this one?

  (add-text-properties beg beg1 '(face org-meta-line))

The thing is that your patch didn't change that line, which confuses me.

But anyway, in the let binding at the top we have

  (beg1 (line-beginning-position 2))

which worries me slightly -- does that mean that your functionality
relies on fontifying the first character of the *body* of the code block
as org-meta-line? If so then isn't that incompatible with also
fontifying the block contents as code?

Your 3rd change is inside the cond, and org-src-fontify-natively comes
earlier in the cond, so seb change 3 is not being evaluated when
org-src-fontify-natively is turned on. But I guess that is not the
problem as that code is dealing with the inside of the block, right?

Dan


#+begin_src emacs-lisp
;;; begin seb change 1
(add-text-properties (match-beginning 6) (+ (match-end 6) 1)
 '(font-lock-fontified t face org-block))
; for backend-specific code
;;; end seb change 1
t)
   ((and (match-end 4) (equal dc3 begin))
;; Truly a block
(setq block-type (downcase (match-string 5))
  quoting (member block-type org-protecting-blocks))
(when (re-search-forward
   (concat ^[ \t]*#\\+end (match-string 4) \\.*)
   nil t)  ;; on purpose, we look further than LIMIT
  (setq end (match-end 0) end1 (1- (match-beginning 0)))
  (setq block-end (match-beginning 0))
  (when quoting
(remove-text-properties beg end
'(display t invisible t intangible t)))
  (add-text-properties
   beg end
   '(font-lock-fontified t font-lock-multiline t))
  (add-text-properties beg beg1 '(face org-meta-line))
;;; begin seb change 2
  (add-text-properties end1 (+ end 1) '(face org-meta-line))
; for end_src
;;; end seb change 2
  (cond
   ((and lang org-src-fontify-natively)
(org-src-font-lock-fontify-block lang block-start block-end))
   (quoting
;;; begin seb change 3
(add-text-properties beg1 (+ end1 1) '(face
   org-block)))
; end of source block
;;; end seb change 3
   ((not org-fontify-quote-and-verse-blocks))
   ((string= block-type quote)
(add-text-properties beg1 end1 '(face org-quote)))
   ((string= block-type verse)
(add-text-properties beg1 end1 '(face org-verse
  t))
#+end_src


 The line #+end_src is well correctly fontified from begin of a line to end of
 screen.

 By end of screen, I mean the whole line, even after the last character of
 that line... Am I clear?

 Thanks.

 Best regards,
   Seb

___
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: [BABEL] Two minor issues

2010-11-19 Thread Dan Davison
Hi Jambunathan,

Sorry to be so slow to get to these,

Jambunathan K kjambunat...@gmail.com writes:

 1. Improper fontification of Babel blocks

With babel native fontification on, I see that the commented elisp
code down below is not fontified. The problem persists if I kill the
buffer and find it again.

 #+begin_src emacs-lisp
   ;; (message Hello World)
 #+end_src  

err, and I haven't had the energy to investigate this one yet! (While
we're at it, here's another org-src fontification minibug that I expect
others have noticed: the closing parenthesis here comes up fontified
with what looks like the string face

#+begin_src emacs-lisp
(defvar x nil string)
#+end_src

)

 2. C-c C-v C-M-h and C-c C-v C-x interaction

In the block below do

1. C-c C-v C-M-h, C-c C-v C-x C-M-\
2. Mark (just) the code-block with C-SPC etc etc. C-c C-v C-x C-M-\

See the difference in behaviour.

OK, but I've just fixed that one.

Dan


 #+begin_src xml
 text:p text:style-name=StandardThis is a xref to
 text:bookmark-ref text:reference-format=text
 text:ref-name=__RefHeading__1669_1684552201Heading8
 /text:bookmark-ref./text:p
 #+end_src

 I have transient mark mode on.

 Jambunathan K.
















 ___
 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: [BABEL] Two minor issues

2010-11-19 Thread Sébastien Vauban
Hi Dan,

Dan Davison wrote:
 #+begin_src emacs-lisp
   ;; (message Hello World)
 #+end_src

 err, and I haven't had the energy to investigate this one yet!

Another minibug, when natively fontifying, is that the line #+begin_src is no
more fontified up to the end of the screen (well to the end of the line):
choose a font with a background color, and you will notice the difference
immediately.

The line #+end_src is well correctly fontified from begin of a line to end of
screen.

By end of screen, I mean the whole line, even after the last character of
that line... Am I clear?

Thanks.

Best regards,
  Seb

-- 
Sébastien Vauban


___
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