[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] malformed function

From: Joost Kremers
Subject: Re: [O] malformed function
Date: Wed, 11 Jul 2018 11:35:14 +0200
User-agent: mu4e 1.1.0; emacs 26.1.50

On Mon, Jul 09 2018, hymie! wrote:

I know this is technically

Technically and practically. ;-)

an emacs problem and not an Orgmode problem,
but maybe you guys will see the error that I can't find.

A better place to ask would probably be the mailing list help-gnu-emacs, but:

I have two different machines.  One is a Linux machine running
Orgmode 9.1.13 under Emacs 25.3.1 , and one is a Windows 10 machine running Orgmode 9.1.13 under Emacs 24.5.1 . Both have the same .emacs
file as far as I can tell.

Try diff or ediff to make sure.

The Linux machine is getting this error:

Warning (bytecomp): ‘(extract-window (line) (let ((start
(get-text-property 1 (quote time-of-day) line)) (dur (get-text-property
1 (quote duration) line))) (cond ((and start dur) (cons start
(org-time-from-minutes (+ dur (org-time-to-minutes start))))) (start
start) (t nil))))’ is a malformed function

That means that the entire s-expr (extract-window ... nil)))) is being interpreted as a function, which is caused by the fact that it is the first element of the list ((extract-window ... nil))))) (note extra pair of parens). Since such an s-expr cannot be a function, you get an error.

The fact that it is interpreted as a function indicates that the byte compiler doesn't know that `flet' is a macro, which in turn indicates that you haven't loaded the required library.

Note that the documentation for `flet' says that it has been obsolete since Emacs 24.3 and that you should be using `cl-flet' instead (or `cl-letf', but that doesn't seem to be what you want). So best thing to do is to replace `flet' with `cl-flet' and then add `(require 'cl-lib)' somewhere at the top of your init file, and you should be good to go.

Why you're only getting this error on one machine isn't entirely clear to me. It could be that something changed between Emacs 24 and 25 that causes this, it could be that you're loading a package on the Windows machine that loads cl or cl-lib and that you don't use on Emacs.


Joost Kremers
Life has its moments

reply via email to

[Prev in Thread] Current Thread [Next in Thread]