Re: [O] Bug: symbol function's definition is null : signum [7.5]

2018-11-01 Thread Nicolas Goaziou
Hello,

Jared Windover  writes:

> I was still seeing this error. Switching signum to cl-signum in org.el
> fixed it.

Fixed. Thank you.

Regards,

-- 
Nicolas Goaziou



Re: [O] Bug: symbol function's definition is null : signum [7.5]

2018-11-01 Thread Jared Windover
I was still seeing this error. Switching signum to cl-signum in org.el
fixed it.

-Jared


Re: [O] Bug: symbol function's definition is null : signum [7.5]

2011-06-26 Thread David Maus
At Fri, 15 Apr 2011 18:40:51 -0400,
Nick Dokos wrote:

 Sylvain Beucler b...@beuc.net wrote:

  When using S-up to modify a date with an our range in Org 7.5, I get
  symbol function's definition is null : signum.
 
  E.g. 2011-03-10 jeu. 10:30-11:30
 
  It appears that (org-modify-ts-extra) is using this function, but
  unlike in CL isn't not an elisp built-in :)
 
  As a work-around I added an internal defun:
  (defun org-modify-ts-extra (s pos n dm)
Change the different parts of the lead-time and repeat fields in 
  timestamp.
(defun signum (x)
  (cond
   (( x 0)  1)
   (( x 0) -1)
   ((= x 0)  0)))
  [...]
 

 What version of emacs are you using?

 For emacs 24 at least, it's defined in cl-extra.el (which is distributed
 with emacs itself).  That in turn is loaded when cl is loaded and there
 are plenty of places where org does a (require 'cl), e.g. when loading
 org.el or org-agenda.el; but it may be that you have found a path in
 that does not do so, however unlikely that scenario is.

 So you can probably resolve the problem by adding a (require 'cl)
 somewhere in your .emacs. But if you can, it would be worthwhile to
 figure out how you end up in that situation, so the (require 'cl) can be
 added to the appropriate place.

I can confirm this problem with

Org-mode version 7.5 (release_7.5.456.g4e038)
GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0) of 2010-12-11 on 
raven, modified by Debian

But only when running byte-compiled code.

The problem is, that signum is called at runtime, but not compile time
but the compiler warning is suppressed by the `org-no-warnings'
macro. For the problem with signum see

commit e144f53c9a7362a65f7f3e924a965da70c9bfd58

The function is not declared inline by cl -- we /could/ override cl's
setting and declare the function inline when compiling:

(eval-when (compile) (proclaim '(inline signum)))

But [[info:cl#Declarations]] states:


 The following declarations are all equivalent.  Note that the
 `defsubst' form is a convenient way to define a function and
 declare it inline all at once.

  (declaim (inline foo bar))
  (eval-when (compile load eval) (proclaim '(inline foo bar)))
  (defsubst foo (...) ...)   ; instead of defun

 *Please note:*  this declaration remains in effect after the
 containing source file is done.  It is correct to use it to
 request that a function you have defined should be inlined, but it
 is impolite to use it to request inlining of an external function.
 ^

So this would be inpolite.

Best,
  -- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber dmj...@jabber.org
Email. dm...@ictsoc.de


pgparH6AJlnCT.pgp
Description: PGP signature


Re: [O] Bug: symbol function's definition is null : signum [7.5]

2011-04-16 Thread Sylvain Beucler
On Fri, Apr 15, 2011 at 06:40:51PM -0400, Nick Dokos wrote:
 Sylvain Beucler b...@beuc.net wrote:
 
  When using S-up to modify a date with an our range in Org 7.5, I get
  symbol function's definition is null : signum.
  
  E.g. 2011-03-10 jeu. 10:30-11:30
  
  It appears that (org-modify-ts-extra) is using this function, but
  unlike in CL isn't not an elisp built-in :)
  
  As a work-around I added an internal defun:
  (defun org-modify-ts-extra (s pos n dm)
Change the different parts of the lead-time and repeat fields in 
  timestamp.
(defun signum (x) 
  (cond
   (( x 0)  1)
   (( x 0) -1)
   ((= x 0)  0)))
  [...]
  
 
 What version of emacs are you using?
 
 For emacs 24 at least, it's defined in cl-extra.el (which is distributed
 with emacs itself).  That in turn is loaded when cl is loaded and there
 are plenty of places where org does a (require 'cl), e.g. when loading
 org.el or org-agenda.el; but it may be that you have found a path in
 that does not do so, however unlikely that scenario is.
 
 So you can probably resolve the problem by adding a (require 'cl)
 somewhere in your .emacs. But if you can, it would be worthwhile to
 figure out how you end up in that situation, so the (require 'cl) can be
 added to the appropriate place.
 
 If you are using emacs 23 or earlier, the above might not be applicable,
 but you probably can still resolve the problem the same way: adding a
 (require 'cl) in your .emacs. If that does not resolve it, then adding a
 (require 'cl-extra) as well should certainly do so.

I use 23.2.1 (http://packages.debian.org/squeeze/emacs).  Adding
(require 'el) works.

I tried on another box with the same Emacs (23.2.1 -
http://packages.debian.org/wheezy/emacs) and Org, roughly the same
configuration, and I can't reproduce the problem, so it's a bit of a
mystery for me.

Thanks for your answer.

-- 
Sylvain



[O] Bug: symbol function's definition is null : signum [7.5]

2011-04-15 Thread Sylvain Beucler
When using S-up to modify a date with an our range in Org 7.5, I get
symbol function's definition is null : signum.

E.g. 2011-03-10 jeu. 10:30-11:30

It appears that (org-modify-ts-extra) is using this function, but
unlike in CL isn't not an elisp built-in :)

As a work-around I added an internal defun:
(defun org-modify-ts-extra (s pos n dm)
  Change the different parts of the lead-time and repeat fields in timestamp.
  (defun signum (x) 
(cond
 (( x 0)  1)
 (( x 0) -1)
 ((= x 0)  0)))
[...]

-- 
Sylvain



Re: [O] Bug: symbol function's definition is null : signum [7.5]

2011-04-15 Thread Nick Dokos
Sylvain Beucler b...@beuc.net wrote:

 When using S-up to modify a date with an our range in Org 7.5, I get
 symbol function's definition is null : signum.
 
 E.g. 2011-03-10 jeu. 10:30-11:30
 
 It appears that (org-modify-ts-extra) is using this function, but
 unlike in CL isn't not an elisp built-in :)
 
 As a work-around I added an internal defun:
 (defun org-modify-ts-extra (s pos n dm)
   Change the different parts of the lead-time and repeat fields in 
 timestamp.
   (defun signum (x) 
 (cond
  (( x 0)  1)
  (( x 0) -1)
  ((= x 0)  0)))
 [...]
 

What version of emacs are you using?

For emacs 24 at least, it's defined in cl-extra.el (which is distributed
with emacs itself).  That in turn is loaded when cl is loaded and there
are plenty of places where org does a (require 'cl), e.g. when loading
org.el or org-agenda.el; but it may be that you have found a path in
that does not do so, however unlikely that scenario is.

So you can probably resolve the problem by adding a (require 'cl)
somewhere in your .emacs. But if you can, it would be worthwhile to
figure out how you end up in that situation, so the (require 'cl) can be
added to the appropriate place.

If you are using emacs 23 or earlier, the above might not be applicable,
but you probably can still resolve the problem the same way: adding a
(require 'cl) in your .emacs. If that does not resolve it, then adding a
(require 'cl-extra) as well should certainly do so.

Nick