emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* # of parameters of `org-latex-format-headline-function'
@ 2014-10-17  8:50 Sebastien Vauban
  2014-10-17 15:21 ` Nick Dokos
  0 siblings, 1 reply; 3+ messages in thread
From: Sebastien Vauban @ 2014-10-17  8:50 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hello,

During the summer, the number of parameters of the
`org-latex-format-headline-function' changed from 5 to 6: addition of
`info'.

The new version of my private formatting function is:

--8<---------------cut here---------------start------------->8---
  ;; function for formatting the headline's text
  (setq org-latex-format-headline-function
        'my/org-latex-format-headline)

  ;; markup for TODO keywords and for tags, as a printf format
  (defun my/org-latex-format-headline (todo todo-type priority text tags info)
    "Default function for formatting the headline's text."
    (concat (when todo
              (format "{%s\\textbf{\\textsc{\\textsf{%s}}}} "
                      (cond ((equal todo-type 'todo) "\\color{red}")
                            ((equal todo-type 'done) "\\color{teal}")
                            (t "\\color{gray}"))
                      todo))
            (when priority
              (format "\\framebox{\\#%c} " priority))
            text
            (when tags
              (format "\\hfill{}\\fbox{\\textsc{%s}}"
                (mapconcat 'identity tags ":")))))
--8<---------------cut here---------------end--------------->8---

That works on `master', but not on Org from ELPA (`maint').

As parts of my config file are shared between my coworkers, and as some
of them don't have Git Org but the ELPA package, how can I support both
versions of Org?

Do I have to test the Org version number, or is there a more clever way?

Best regards,
  Seb

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: # of parameters of `org-latex-format-headline-function'
  2014-10-17  8:50 # of parameters of `org-latex-format-headline-function' Sebastien Vauban
@ 2014-10-17 15:21 ` Nick Dokos
  2014-10-21  7:30   ` Sebastien Vauban
  0 siblings, 1 reply; 3+ messages in thread
From: Nick Dokos @ 2014-10-17 15:21 UTC (permalink / raw)
  To: emacs-orgmode

Sebastien Vauban <sva-news@mygooglest.com>
writes:

> Hello,
>
> During the summer, the number of parameters of the
> `org-latex-format-headline-function' changed from 5 to 6: addition of
> `info'.
>
> The new version of my private formatting function is:
>
>   ;; function for formatting the headline's text
>   (setq org-latex-format-headline-function
>         'my/org-latex-format-headline)
>
>   ;; markup for TODO keywords and for tags, as a printf format
>   (defun my/org-latex-format-headline (todo todo-type priority text tags info)
>     "Default function for formatting the headline's text."
>     (concat (when todo
>               (format "{%s\\textbf{\\textsc{\\textsf{%s}}}} "
>                       (cond ((equal todo-type 'todo) "\\color{red}")
>                             ((equal todo-type 'done) "\\color{teal}")
>                             (t "\\color{gray}"))
>                       todo))
>             (when priority
>               (format "\\framebox{\\#%c} " priority))
>             text
>             (when tags
>               (format "\\hfill{}\\fbox{\\textsc{%s}}"
>                 (mapconcat 'identity tags ":")))))
>
> That works on `master', but not on Org from ELPA (`maint').
>
> As parts of my config file are shared between my coworkers, and as some
> of them don't have Git Org but the ELPA package, how can I support both
> versions of Org?
>
> Do I have to test the Org version number, or is there a more clever way?
>

Make info an &optional parameter in your function: recent org will call
it with a non-nil info, old org will call it without an info parameter
(which I believe will make it nil inside your function).

Untested.

Nick

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: # of parameters of `org-latex-format-headline-function'
  2014-10-17 15:21 ` Nick Dokos
@ 2014-10-21  7:30   ` Sebastien Vauban
  0 siblings, 0 replies; 3+ messages in thread
From: Sebastien Vauban @ 2014-10-21  7:30 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Nick Dokos wrote:
> Sebastien Vauban writes:
>>
>> During the summer, the number of parameters of the
>> `org-latex-format-headline-function' changed from 5 to 6: addition of
>> `info'.
>>
>> The new version of my private formatting function is:
>>
>>   ;; function for formatting the headline's text
>>   (setq org-latex-format-headline-function
>>         'my/org-latex-format-headline)
>>
>>   ;; markup for TODO keywords and for tags, as a printf format
>>   (defun my/org-latex-format-headline (todo todo-type priority text tags info)
>>     "Default function for formatting the headline's text."
>>     ...)
>>
>>
>> How can I support both versions of Org?  Do I have to test the Org
>> version number, or is there a more clever way?
>
> Make info an &optional parameter in your function: recent org will call
> it with a non-nil info, old org will call it without an info parameter
> (which I believe will make it nil inside your function).
>
> Untested.

Tested. Works perfectly. Thank you!

Best regards,
  Seb

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-10-21  7:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-17  8:50 # of parameters of `org-latex-format-headline-function' Sebastien Vauban
2014-10-17 15:21 ` Nick Dokos
2014-10-21  7:30   ` Sebastien Vauban

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).