From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: [PATCH] Add faces customization to quote and verse blocks Date: Wed, 18 Nov 2009 23:54:14 +0100 Message-ID: <49D54409-FC27-4AE9-ABC8-7122C039616A@gmail.com> References: <877htv9203.fsf@z.nozav.org> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NAtPv-0007Ea-H1 for emacs-orgmode@gnu.org; Wed, 18 Nov 2009 17:54:27 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NAtPq-00079b-Km for emacs-orgmode@gnu.org; Wed, 18 Nov 2009 17:54:27 -0500 Received: from [199.232.76.173] (port=43013 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NAtPq-00079P-En for emacs-orgmode@gnu.org; Wed, 18 Nov 2009 17:54:22 -0500 Received: from postduif.ic.uva.nl ([145.18.40.180]:48435) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NAtPp-0003vr-Un for emacs-orgmode@gnu.org; Wed, 18 Nov 2009 17:54:22 -0500 In-Reply-To: <877htv9203.fsf@z.nozav.org> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Julien Barnier Cc: emacs-orgmode@gnu.org Hi Julien, I have applied your patch but modified it, also to keep it under the "fsf copyright assignment needed" limit. Would you consider to sign those papers for future patches? Thanks. - Carsten On Nov 12, 2009, at 4:41 PM, Julien Barnier wrote: > Hi, > > Here is a small patch that allows to add custom faces to QUOTE and > VERSE > blocks. As I'm quite new to emacs lisp and as it is the first time I > submit a patch to a project, please feel free to correct or reject > it if > its form or quality is not sufficient. > > Thanks a lot for all your work on org-mode ! > > Julien > > --- > lisp/org-faces.el | 28 ++++++++++++++++++++++++++++ > lisp/org.el | 15 +++++++++++---- > 2 files changed, 39 insertions(+), 4 deletions(-) > > diff --git a/lisp/org-faces.el b/lisp/org-faces.el > index 4543d38..fbac871 100644 > --- a/lisp/org-faces.el > +++ b/lisp/org-faces.el > @@ -468,6 +468,34 @@ changes." > :group 'org-faces > :version "22.1") > > +(defface org-quote > + (org-compatible-face nil > + '((((class color grayscale) (min-colors 88) (background light)) > + (:foreground "grey50" :slant italic)) > + (((class color grayscale) (min-colors 88) (background dark)) > + (:foreground "grey70" :slant italic)) > + (((class color) (min-colors 8) (background light)) > + (:foreground "green" :slant italic)) > + (((class color) (min-colors 8) (background dark)) > + (:foreground "yellow" :slant italic)))) > + "Face for #+BEGIN_QUOTE ... #+END_QUOTE blocks." > + :group 'org-faces > + :version "22.1") > + > +(defface org-verse > + (org-compatible-face nil > + '((((class color grayscale) (min-colors 88) (background light)) > + (:foreground "grey50" :slant italic)) > + (((class color grayscale) (min-colors 88) (background dark)) > + (:foreground "grey70" :slant italic)) > + (((class color) (min-colors 8) (background light)) > + (:foreground "green" :slant italic)) > + (((class color) (min-colors 8) (background dark)) > + (:foreground "yellow" :slant italic)))) > + "Face for #+BEGIN_VERSE ... #+END_VERSE blocks." > + :group 'org-faces > + :version "22.1") > + > (defface org-clock-overlay ;; copied from secondary-selection > (org-compatible-face nil > '((((class color) (min-colors 88) (background light)) > diff --git a/lisp/org.el b/lisp/org.el > index 5562d8d..adabfa8 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -4518,7 +4518,7 @@ will be prompted for." > (beg1 (line-beginning-position 2)) > (dc1 (downcase (match-string 2))) > (dc3 (downcase (match-string 3))) > - end end1 quoting) > + end end1 quoting block-type quote-block verse-block) > (cond > ((member dc1 '("html:" "ascii:" "latex:" "docbook:")) > ;; a single line of backend-specific content > @@ -4532,8 +4532,10 @@ will be prompted for." > t) > ((and (match-end 4) (equal dc3 "begin")) > ;; Truely a block > - (setq quoting (member (downcase (match-string 5)) > - org-protecting-blocks)) > + (setq block-type (downcase (match-string 5)) > + quoting (member block-type org-protecting-blocks) > + quote-block (equal block-type "quote") > + verse-block (equal block-type "verse")) > (when (re-search-forward > (concat "^[ \t]*#\\+end" (match-string 4) "\\>.*") > nil t) ;; on purpose, we look further than LIMIT > @@ -4546,8 +4548,13 @@ will be prompted for." > '(font-lock-fontified t font-lock-multiline t)) > (add-text-properties beg beg1 '(face org-meta-line)) > (add-text-properties end1 end '(face org-meta-line)) > - (when quoting > + (cond > + (quoting > (add-text-properties beg1 end1 '(face org-block))) > + (quote-block > + (add-text-properties beg1 end1 '(face org-quote))) > + (verse-block > + (add-text-properties beg1 end1 '(face org-verse)))) > t)) > ((not (member (char-after beg) '(?\ ?\t))) > ;; just any other in-buffer setting, but not indented > -- > 1.6.5.2 > > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten