** Vladimir Lomov [2012-07-19 21:33:57 +0900]: > Hello, > ** Eric Schulte [2012-07-18 22:13:45 -0600]: >> Achim Gratz writes: >>> Eric Schulte writes: >>>> This attached alternate patch introduces two new compatibility macros >>>> named `org-flet' and `org-labels' in org-macs.el. These macros are >>>> aliased to the appropriate cl macro depending on the version of Emacs in >>>> use. >>> Wouldn't you want to use defmacro instead of defalias? >> Why? Using `defalias' seems simpler because with `defmacro' I would >> have to copy the macro arguments and stub out a trivial macro body. >> Also, this way the version check only happens once (at load time), >> rather than every time the macro is called. >>> Also, I'd think that these two macros should go into org-compat.el >>> instead of org-macs.el. >> Agreed, I forgot about org-compat. The alternate patch below moves >> these definitions from org-macs.el to org-compat.el. >> Thanks, > [...] > This is interesting, but seems not fully functional. After applying > patch I tried export to html but got > Symbol's function definition is void: matches > I'll compare your and mine patches later. I found the source of that message, in my patch I use `cl-flet*' for `ob.el' (around lines 1264). I don't remember exactly why star version is needed but it works. I changed a bit Eric's patch with recent changes from Jambunathan and checked it with simple "Export to HTML" on my real Org document, it works. I attached modified patch. P.S. Seems I remember why I was confused: the `flet' function has to be changed in one places to `cl-flet' but in others to `cl-flet*'. --- WBR, Vladimir Lomov -- Do YOU have redeeming social value?