* void variable error in function diary-anniversary
@ 2017-12-20 3:19 stardiviner
2017-12-20 16:09 ` Stefan Monnier
0 siblings, 1 reply; 7+ messages in thread
From: stardiviner @ 2017-12-20 3:19 UTC (permalink / raw)
To: emacs-help
I have:
```org
* test anniversary
%%(diary-anniversary 12 8 2007)
```
When I execute [M-: (diary-anniversary 12 8 2007) RET], I got error:
Symbol's value as variable is vodi: date
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: void variable error in function diary-anniversary
2017-12-20 3:19 void variable error in function diary-anniversary stardiviner
@ 2017-12-20 16:09 ` Stefan Monnier
2017-12-21 5:51 ` stardiviner
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2017-12-20 16:09 UTC (permalink / raw)
To: help-gnu-emacs
> I have:
> ```org
> * test anniversary
> %%(diary-anniversary 12 8 2007)
> ```
> When I execute [M-: (diary-anniversary 12 8 2007) RET], I got error:
> Symbol's value as variable is vodi: date
Which Emacs version?
Could you set "Options => Enter Debugger on Error", then reproduce
the problem, then send us the backtrace that you (hopefully) get?
Stefan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: void variable error in function diary-anniversary
2017-12-20 16:09 ` Stefan Monnier
@ 2017-12-21 5:51 ` stardiviner
2017-12-21 7:50 ` Nick Dokos
2017-12-21 13:58 ` Stefan Monnier
0 siblings, 2 replies; 7+ messages in thread
From: stardiviner @ 2017-12-21 5:51 UTC (permalink / raw)
To: help-gnu-emacs
I'm using latest Emacs version from `master` branch.
Current version: GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+
Version 3.22.26) of 2017-12-16
And here is the edebug backtrace (check out the FIXME):
#+begin_src emacs-lisp
(defun diary-anniversary (month day &optional year mark)
"Anniversary diary entry.
Entry applies if date is the anniversary of MONTH, DAY, YEAR.
The order of the input parameters changes according to
`calendar-date-style' (e.g. to DAY MONTH YEAR in the European style).
The diary entry can contain `%d' or `%d%s'; the %d will be replaced
by the number of years since the MONTH, DAY, YEAR, and the %s will
be replaced by the ordinal ending of that number (that is, `st',
`nd', `rd' or `th', as appropriate). The anniversary of February 29
is considered to be March 1 in non-leap years.
An optional parameter MARK specifies a face or single-character
string to use when highlighting the day in the calendar."
(with-no-warnings (defvar date) (defvar entry))
(let* ((ddate (diary-make-date month day year))
(dd (calendar-extract-day ddate))
(mm (calendar-extract-month ddate))
(yy (calendar-extract-year ddate))
(y (calendar-extract-year date)) ; FIXME: here date is void.
(diff (if yy (- y yy) 100)))
(and (= mm 2) (= dd 29) (not (calendar-leap-year-p y))
(setq mm 3
dd 1))
(and (> diff 0) (calendar-date-equal (list mm dd y) date)
(cons mark (format entry diff (diary-ordinal-suffix diff))))))
#+end_src
On 12/21/2017 12:09 AM, Stefan Monnier wrote:
>> I have:
>> ```org
>> * test anniversary
>> %%(diary-anniversary 12 8 2007)
>> ```
>> When I execute [M-: (diary-anniversary 12 8 2007) RET], I got error:
>> Symbol's value as variable is vodi: date
> Which Emacs version?
> Could you set "Options => Enter Debugger on Error", then reproduce
> the problem, then send us the backtrace that you (hopefully) get?
>
>
> Stefan
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: void variable error in function diary-anniversary
2017-12-21 5:51 ` stardiviner
@ 2017-12-21 7:50 ` Nick Dokos
2017-12-21 10:27 ` numbchild
2017-12-21 13:58 ` Stefan Monnier
1 sibling, 1 reply; 7+ messages in thread
From: Nick Dokos @ 2017-12-21 7:50 UTC (permalink / raw)
To: help-gnu-emacs
stardiviner <numbchild@gmail.com> writes:
> I'm using latest Emacs version from `master` branch.
>
> Current version: GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+
> Version 3.22.26) of 2017-12-16
>
>
> And here is the edebug backtrace (check out the FIXME):
>
> #+begin_src emacs-lisp
>
> (defun diary-anniversary (month day &optional year mark)
> "Anniversary diary entry.
> Entry applies if date is the anniversary of MONTH, DAY, YEAR.
> The order of the input parameters changes according to
> `calendar-date-style' (e.g. to DAY MONTH YEAR in the European style).
>
> The diary entry can contain `%d' or `%d%s'; the %d will be replaced
> by the number of years since the MONTH, DAY, YEAR, and the %s will
> be replaced by the ordinal ending of that number (that is, `st',
> `nd', `rd' or `th', as appropriate). The anniversary of February 29
> is considered to be March 1 in non-leap years.
>
> An optional parameter MARK specifies a face or single-character
> string to use when highlighting the day in the calendar."
> (with-no-warnings (defvar date) (defvar entry))
> (let* ((ddate (diary-make-date month day year))
> (dd (calendar-extract-day ddate))
> (mm (calendar-extract-month ddate))
> (yy (calendar-extract-year ddate))
> (y (calendar-extract-year date)) ; FIXME: here date is void.
> (diff (if yy (- y yy) 100)))
> (and (= mm 2) (= dd 29) (not (calendar-leap-year-p y))
> (setq mm 3
> dd 1))
> (and (> diff 0) (calendar-date-equal (list mm dd y) date)
> (cons mark (format entry diff (diary-ordinal-suffix diff))))))
>
> #+end_src
>
> On 12/21/2017 12:09 AM, Stefan Monnier wrote:
>>> I have:
>>> ```org
>>> * test anniversary
>>> %%(diary-anniversary 12 8 2007)
>>> ```
>>> When I execute [M-: (diary-anniversary 12 8 2007) RET], I got error:
>>> Symbol's value as variable is vodi: date
The calendar and diary modules assume that the symbol 'date' is
(dynamically) bound to today's date. So if you want to evaluate a
function like diary-anniversary by hand (so to speak), you have to do
something like this (N.B. the (month day year) format for the date):
(setq date '(12 21 2017))
(12 21 2017)
(setq entry "foo %d")
"Test anniversary %d"
(org-anniversary 2015 12 21)
(nil . "Test anniversary 2")
--
Nick
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: void variable error in function diary-anniversary
2017-12-21 7:50 ` Nick Dokos
@ 2017-12-21 10:27 ` numbchild
0 siblings, 0 replies; 7+ messages in thread
From: numbchild @ 2017-12-21 10:27 UTC (permalink / raw)
To: Nick Dokos; +Cc: emacs-help
I see, thanks. @Nick.
[stardiviner] <Hack this world!> GPG key ID: 47C32433
IRC(freeenode): stardiviner Twitter: @numbchild
Key fingerprint = 9BAA 92BC CDDD B9EF 3B36 CB99 B8C4 B8E5 47C3 2433
Blog: http://stardiviner.github.io/
On Thu, Dec 21, 2017 at 3:50 PM, Nick Dokos <ndokos@gmail.com> wrote:
> stardiviner <numbchild@gmail.com> writes:
>
> > I'm using latest Emacs version from `master` branch.
> >
> > Current version: GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+
> > Version 3.22.26) of 2017-12-16
> >
> >
> > And here is the edebug backtrace (check out the FIXME):
> >
> > #+begin_src emacs-lisp
> >
> > (defun diary-anniversary (month day &optional year mark)
> > "Anniversary diary entry.
> > Entry applies if date is the anniversary of MONTH, DAY, YEAR.
> > The order of the input parameters changes according to
> > `calendar-date-style' (e.g. to DAY MONTH YEAR in the European style).
> >
> > The diary entry can contain `%d' or `%d%s'; the %d will be replaced
> > by the number of years since the MONTH, DAY, YEAR, and the %s will
> > be replaced by the ordinal ending of that number (that is, `st',
> > `nd', `rd' or `th', as appropriate). The anniversary of February 29
> > is considered to be March 1 in non-leap years.
> >
> > An optional parameter MARK specifies a face or single-character
> > string to use when highlighting the day in the calendar."
> > (with-no-warnings (defvar date) (defvar entry))
> > (let* ((ddate (diary-make-date month day year))
> > (dd (calendar-extract-day ddate))
> > (mm (calendar-extract-month ddate))
> > (yy (calendar-extract-year ddate))
> > (y (calendar-extract-year date)) ; FIXME: here date is void.
> > (diff (if yy (- y yy) 100)))
> > (and (= mm 2) (= dd 29) (not (calendar-leap-year-p y))
> > (setq mm 3
> > dd 1))
> > (and (> diff 0) (calendar-date-equal (list mm dd y) date)
> > (cons mark (format entry diff (diary-ordinal-suffix diff))))))
> >
> > #+end_src
> >
> > On 12/21/2017 12:09 AM, Stefan Monnier wrote:
> >>> I have:
> >>> ```org
> >>> * test anniversary
> >>> %%(diary-anniversary 12 8 2007)
> >>> ```
> >>> When I execute [M-: (diary-anniversary 12 8 2007) RET], I got error:
> >>> Symbol's value as variable is vodi: date
>
> The calendar and diary modules assume that the symbol 'date' is
> (dynamically) bound to today's date. So if you want to evaluate a
> function like diary-anniversary by hand (so to speak), you have to do
> something like this (N.B. the (month day year) format for the date):
>
> (setq date '(12 21 2017))
> (12 21 2017)
> (setq entry "foo %d")
> "Test anniversary %d"
> (org-anniversary 2015 12 21)
> (nil . "Test anniversary 2")
>
> --
> Nick
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: void variable error in function diary-anniversary
2017-12-21 5:51 ` stardiviner
2017-12-21 7:50 ` Nick Dokos
@ 2017-12-21 13:58 ` Stefan Monnier
2017-12-21 15:08 ` numbchild
1 sibling, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2017-12-21 13:58 UTC (permalink / raw)
To: help-gnu-emacs
> And here is the edebug backtrace (check out the FIXME):
This is not a backtrace :-(
But to get back to the original problem:
> I have:
> ```org
> * test anniversary
> %%(diary-anniversary 12 8 2007)
> ```
> When I execute [M-: (diary-anniversary 12 8 2007) RET], I got error:
> Symbol's value as variable is void: date
Do you only get this error in your M-: use case (which is normal), or do
you also see it when you use that in your diary file?
> I'm using latest Emacs version from `master` branch.
If it's a new problem that was not present in earlier versions of Emacs,
then please, please, pretty please, `M-x report-emacs-bug`.
Stefan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: void variable error in function diary-anniversary
2017-12-21 13:58 ` Stefan Monnier
@ 2017-12-21 15:08 ` numbchild
0 siblings, 0 replies; 7+ messages in thread
From: numbchild @ 2017-12-21 15:08 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-help
Sorry for this. I only have this error in when in [M-:]. I also asked
Org-mode mailing list. I can include diary anniversary now. So it is not
Emacs bug.
[stardiviner] <Hack this world!> GPG key ID: 47C32433
IRC(freeenode): stardiviner Twitter: @numbchild
Key fingerprint = 9BAA 92BC CDDD B9EF 3B36 CB99 B8C4 B8E5 47C3 2433
Blog: http://stardiviner.github.io/
On Thu, Dec 21, 2017 at 9:58 PM, Stefan Monnier <monnier@iro.umontreal.ca>
wrote:
> > And here is the edebug backtrace (check out the FIXME):
>
> This is not a backtrace :-(
>
> But to get back to the original problem:
> > I have:
> > ```org
> > * test anniversary
> > %%(diary-anniversary 12 8 2007)
> > ```
> > When I execute [M-: (diary-anniversary 12 8 2007) RET], I got error:
> > Symbol's value as variable is void: date
>
> Do you only get this error in your M-: use case (which is normal), or do
> you also see it when you use that in your diary file?
>
> > I'm using latest Emacs version from `master` branch.
>
> If it's a new problem that was not present in earlier versions of Emacs,
> then please, please, pretty please, `M-x report-emacs-bug`.
>
>
> Stefan
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-12-21 15:08 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-20 3:19 void variable error in function diary-anniversary stardiviner
2017-12-20 16:09 ` Stefan Monnier
2017-12-21 5:51 ` stardiviner
2017-12-21 7:50 ` Nick Dokos
2017-12-21 10:27 ` numbchild
2017-12-21 13:58 ` Stefan Monnier
2017-12-21 15:08 ` numbchild
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).