Re: [O] Warning with latest git pull

2013-02-26 Thread Bastien
Hi Achim,

Achim Gratz strom...@nexgo.de writes:

 The point of having the new macro is to avoid the question about
 reverting the file when the file visited by a buffer has been edited
 outside Emacs.  You can do exactly the same changes (cosmetic or not)
 with both macros, but org-unmodified will ask you when the file and the
 buffer have diverged due to the file changing outside Emacs.  You
 shouldn't do this of course unless you know with certainty that you are
 never going to save the file.  There's another difference between these
 two: org-unmodified does not let you change read-only buffers (I don't
 know if that's intentional or not).  With all this said, the
 compatibility part of org-with-silent-modifications can't simply be
 plugging in org-unmodified (this loses functionality that presumably was
 needed).  The change to make from the implementation I gave would be
 losing the let-bindings for buffer-file-name buffer-file-truename and
 perhaps inhibit-read-only.

I don't think Org should do better than Emacs wrt files that are
marked as unmodified while they have been edited outside Emacs.

In such cases, Emacs simply ignore external modifications when
saving, and warn the user before editing.  That's the same for
agenda files: you'll be warned before editing them (switching
a TODO, etc.) and not warned when saving unmodified Org agenda
files.

-- 
 Bastien



Re: [O] Warning with latest git pull

2013-02-25 Thread Bastien
Hi Achim,

Achim Gratz strom...@nexgo.de writes:

 I hereby declare that XEmacs compatibility is broken already and he who
 wants to have this corrected should bring a working version of ert for
 XEmacs.

Let's encourage XEmacs users to report bugs and incompatibility.
Asking them to write an XEmacs ERT sounds a bit too much :)

-- 
 Bastien



Re: [O] Warning with latest git pull

2013-02-25 Thread Bastien
Hi Achim,

Achim Gratz strom...@nexgo.de writes:

 We shouldn't define things that don't have an org prefix.

Fair enough.

(Note that `with-buffer-modified-unmodified', from which
org-unmodified was heavily copied, lives in bookmark.el.  Perhaps
Emacs should put it elsewhere.)

 I don't really see why we needed to replace org-unmodified in the
 first place, especially since with-silent-modifications does _more_
 than org-unmodified,

Especially *because* it does more.  In particular, it does set
`buffer-file-name' and `buffer-file-truename' to nil, which is 
a problem when preparing the agenda buffers.

 not less as your comment in org-macs would imply.

I fixed the comment, thanks.

 Here's a patch to restore org-unmodified in the sources, make it an
 alias to with-silent-modifications when possible and augment the
 replacement definition with a few things that with-silent-modifications
 does on top of what org-unmodified did.  We might even copy the whole
 macro definition from subr.el, but I think we're close enough with this.

Thanks -- I applied a different patch, using `org-with-silent-modifications'
as a compatibility macro for `with-silent-modifications'.

Best,

-- 
 Bastien



Re: [O] Warning with latest git pull

2013-02-25 Thread Achim Gratz
Bastien writes:
 I fixed the comment, thanks.

I'm starting to sound like Drew, but the new comment says exactly what
the old one did, just the two parts juxtaposed.

The point of having the new macro is to avoid the question about
reverting the file when the file visited by a buffer has been edited
outside Emacs.  You can do exactly the same changes (cosmetic or not)
with both macros, but org-unmodified will ask you when the file and the
buffer have diverged due to the file changing outside Emacs.  You
shouldn't do this of course unless you know with certainty that you are
never going to save the file.  There's another difference between these
two: org-unmodified does not let you change read-only buffers (I don't
know if that's intentional or not).  With all this said, the
compatibility part of org-with-silent-modifications can't simply be
plugging in org-unmodified (this loses functionality that presumably was
needed).  The change to make from the implementation I gave would be
losing the let-bindings for buffer-file-name buffer-file-truename and
perhaps inhibit-read-only.


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

SD adaptation for Waldorf microQ V2.22R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada




Re: [O] Warning with latest git pull

2013-02-24 Thread Achim Gratz
Bastien writes:
 There is already this in org-macs.el:

 (when (and (not (fboundp 'with-silent-modifications))
  (or ( emacs-major-version 23)
  (and (= emacs-major-version 23)
   ( emacs-minor-version 2
   (defmacro with-silent-modifications (rest body)
 `(org-unmodified ,@body))
   (def-edebug-spec with-silent-modifications (body)))

We shouldn't define things that don't have an org prefix.  I don't
really see why we needed to replace org-unmodified in the first place,
especially since with-silent-modifications does _more_ than
org-unmodified, not less as your comment in org-macs would imply.
Here's a patch to restore org-unmodified in the sources, make it an
alias to with-silent-modifications when possible and augment the
replacement definition with a few things that with-silent-modifications
does on top of what org-unmodified did.  We might even copy the whole
macro definition from subr.el, but I think we're close enough with this.

From 249b18ee13f2fbf041c081fa63b1ccd40d67dc27 Mon Sep 17 00:00:00 2001
From: Achim Gratz strom...@stromeko.de
Date: Sun, 24 Feb 2013 10:54:29 +0100
Subject: [PATCH 1/2] Revert Use `with-silent-modifications' instead of
 `org-unmodified' when it makes sense

This reverts commit 43c8aa02cc2301661fe203ec4d4a90d94d6353e6.
---
 lisp/org-clock.el   | 158 ++--
 lisp/org-colview.el |  61 ++--
 lisp/org-macs.el|   2 -
 lisp/org.el |  79 +-
 4 files changed, 150 insertions(+), 150 deletions(-)

diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index 02924b8..20e624b 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -1700,85 +1700,85 @@ (defun org-clock-sum (optional tstart tend headline-filter propname)
 which HEADLINE-FILTER returns nil are excluded from the clock summation.
 PROPNAME lets you set a custom text property instead of :org-clock-minutes.
   (interactive)
-  (with-silent-modifications
-(let* ((re (concat ^\\(\\*+\\)[ \t]\\|^[ \t]*
-		   org-clock-string
-		   [ \t]*\\(?:\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)\\|=[ \t]+\\([0-9]+\\):\\([0-9]+\\)\\)))
-	   (lmax 30)
-	   (ltimes (make-vector lmax 0))
-	   (t1 0)
-	   (level 0)
-	   ts te dt
-	   time)
-  (if (stringp tstart) (setq tstart (org-time-string-to-seconds tstart)))
-  (if (stringp tend) (setq tend (org-time-string-to-seconds tend)))
-  (if (consp tstart) (setq tstart (org-float-time tstart)))
-  (if (consp tend) (setq tend (org-float-time tend)))
-  (remove-text-properties (point-min) (point-max)
-			  `(,(or propname :org-clock-minutes) t
-:org-clock-force-headline-inclusion t))
-  (save-excursion
-	(goto-char (point-max))
-	(while (re-search-backward re nil t)
-	  (cond
-	   ((match-end 2)
-	;; Two time stamps
-	(setq ts (match-string 2)
-		  te (match-string 3)
-		  ts (org-float-time
-		  (apply 'encode-time (org-parse-time-string ts)))
-		  te (org-float-time
-		  (apply 'encode-time (org-parse-time-string te)))
-		  ts (if tstart (max ts tstart) ts)
-		  te (if tend (min te tend) te)
-		  dt (- te ts)
-		  t1 (if ( dt 0) (+ t1 (floor (/ dt 60))) t1)))
-	   ((match-end 4)
-	;; A naked time
-	(setq t1 (+ t1 (string-to-number (match-string 5))
-			(* 60 (string-to-number (match-string 4))
-	   (t ;; A headline
-	;; Add the currently clocking item time to the total
-	(when (and org-clock-report-include-clocking-task
-		   (equal (org-clocking-buffer) (current-buffer))
-		   (equal (marker-position org-clock-hd-marker) (point))
-		   tstart
-		   tend
-		   (= (org-float-time org-clock-start-time) tstart)
-		   (= (org-float-time org-clock-start-time) tend))
-	  (let ((time (floor (- (org-float-time)
-(org-float-time org-clock-start-time)) 60)))
-		(setq t1 (+ t1 time
-	(let* ((headline-forced
-		(get-text-property (point)
-   :org-clock-force-headline-inclusion))
-		   (headline-included
-		(or (null headline-filter)
-			(save-excursion
-			  (save-match-data (funcall headline-filter))
-	  (setq level (- (match-end 1) (match-beginning 1)))
-	  (when (or ( t1 0) ( (aref ltimes level) 0))
-		(when (or headline-included headline-forced)
-		  (if headline-included
-		  (loop for l from 0 to level do
-			(aset ltimes l (+ (aref ltimes l) t1
-		  (setq time (aref ltimes level))
-		  (goto-char (match-beginning 0))
-		  (put-text-property (point) (point-at-eol)
- (or propname :org-clock-minutes) time)
-		  (if headline-filter
-		  (save-excursion
-			(save-match-data
-			  (while
-			  ( (funcall outline-level) 1)
-			(outline-up-heading 1 t)
-			(put-text-property
-			 (point) (point-at-eol)
-			 :org-clock-force-headline-inclusion t))
-		(setq t1 0)
-		(loop for l from level to (1- lmax) do
-		  (aset ltimes l 0)))
-	(setq org-clock-file-total-minutes (aref ltimes 

Re: [O] Warning with latest git pull

2013-02-23 Thread Achim Gratz
Bastien writes:
 Fixed, thanks!

Uh… no, you switched the wrong function in the second line (which
incidentally indicates that this branch of the conditional never sees
any testing).  Fixed in master by using org-float-time.  I checked in
XEmacs 21.5 and it has float-time, so maybe we wouldn't need a
compatibility function after all, but I don't know when XEmacs
introduced float-time.


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




Re: [O] Warning with latest git pull

2013-02-23 Thread Bastien
Achim Gratz strom...@nexgo.de writes:

 Bastien writes:
 Fixed, thanks!

 Uh… no, you switched the wrong function in the second line (which
 incidentally indicates that this branch of the conditional never sees
 any testing).  Fixed in master by using org-float-time.  

Indeed, thanks for fixing this.

 I checked in
 XEmacs 21.5 and it has float-time, so maybe we wouldn't need a
 compatibility function after all, but I don't know when XEmacs
 introduced float-time.

Mhh... the less compatibility functions the better.

I found this ChangeLog entry in XEmacs 21.5-b33:

2010-05-30  Aidan Kehoe  keh...@parhasard.net

* subr.el (float-time): Add this function, available in
editfns.c in GNU.

And time-to-seconds seems absent -- but it seems absent from
*any* version of XEmacs I could check (21.4.1, 21.4.9, 21.5.9).

So yes, I think it's safe to remove this compat function.
Let me know if you find time-to-seconds in 2010 versions
of XEmacs.

Thanks,

-- 
 Bastien



Re: [O] Warning with latest git pull

2013-02-23 Thread Achim Gratz
Bastien writes:
 And time-to-seconds seems absent -- but it seems absent from
 *any* version of XEmacs I could check (21.4.1, 21.4.9, 21.5.9).

No it's there, in gnus/time-date.elc — maybe your versions are all
without Gnus?

 So yes, I think it's safe to remove this compat function.  Let me know
 if you find time-to-seconds in 2010 versions of XEmacs.

I don't know which version of XEmacs is still in use, much less together
with Org (and again which version of Org).  I often see 21.4 versions
installed in various places, but not how much use they are getting.  The
21.5b32 I have installed for rudimentary testing (I still havent managed
to stop the stack explosion that prevents the test suite from running)
is relatively recent, so I wouldn't put it as the benchmark of
compatibility.

XEmacs compatibility in master is anyway broken since your reversion
04eb4b08c3 and compatibility with Emacs 22 is on shaky grounds due to
b63275350f.  So I'll ask this question again: which Emacs versions
should Org 8 officially support?  If we stick with what we have now,
we'll need to make it compatible again and at least try to get testing
off the ground for XEmacs, if we drop older Emacsen we will need to
remove the associated cruft from Org.  It's a few days of work either
way, but with a possible release date approaching a decision is
necessary.


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

SD adaptations for KORG EX-800 and Poly-800MkII V0.9:
http://Synth.Stromeko.net/Downloads.html#KorgSDada




Re: [O] Warning with latest git pull

2013-02-23 Thread Bastien
Hi Achim,

Achim Gratz strom...@nexgo.de writes:

 Bastien writes:
 And time-to-seconds seems absent -- but it seems absent from
 *any* version of XEmacs I could check (21.4.1, 21.4.9, 21.5.9).

 No it's there, in gnus/time-date.elc — maybe your versions are all
 without Gnus?

Yes, my versions come without Gnus.  I directly downloaded them 
from xemacs.org (which is completely outdated by the way.)

 So yes, I think it's safe to remove this compat function.  Let me know
 if you find time-to-seconds in 2010 versions of XEmacs.

 I don't know which version of XEmacs is still in use, much less together
 with Org (and again which version of Org).  I often see 21.4 versions
 installed in various places, but not how much use they are getting.  The
 21.5b32 I have installed for rudimentary testing (I still havent managed
 to stop the stack explosion that prevents the test suite from running)
 is relatively recent, so I wouldn't put it as the benchmark of
 compatibility.

 XEmacs compatibility in master is anyway broken since your reversion
 04eb4b08c3

If you see a way of re-reverting this without breaking the various way
to install Org in Emacs, let me know.

 and compatibility with Emacs 22 is on shaky grounds due to
 b63275350f.  

org-condition-case-unless-debug is not in maint or master anymore,
so I guess this problem is gone.  Do you confirm this?

 So I'll ask this question again: which Emacs versions
 should Org 8 officially support?  If we stick with what we have now,
 we'll need to make it compatible again and at least try to get testing
 off the ground for XEmacs, if we drop older Emacsen we will need to
 remove the associated cruft from Org.  It's a few days of work either
 way, but with a possible release date approaching a decision is
 necessary.

Official support is useful to officially declare something as a
bug or not.  But I'm not sure it's worth officially declaring that we
officially support this version and not this one.  We are not Org LTS.
We are just a few random hackers trying to do and share their best :)

But you're right, we need to publicly set a goal, at least.

I hereby declare that I want Org to be fully functional for Emacs 23
and older, and I wish Org can be reasonably functional for Emacs 23
and XEmacs.  XEmacs users and Emacs-22 users, please help reporting
comptability bugs, or you'll be ignored till the Dawn of Apocalypse.

:)

-- 
 Bastien



Re: [O] Warning with latest git pull

2013-02-23 Thread Achim Gratz
Bastien writes:
 No it's there, in gnus/time-date.elc ― maybe your versions are all
 without Gnus?

 Yes, my versions come without Gnus.  I directly downloaded them 
 from xemacs.org (which is completely outdated by the way.)

Which means that our compatibility function doesn't provide
compatibility with XEmacs anyway.

 org-condition-case-unless-debug is not in maint or master anymore,
 so I guess this problem is gone.  Do you confirm this?

I haven't checked Emacs 22 ever since, so I don't know.  Doing a full
compatibility matrix test like I did last time takes time and I should
probably script it, let me see when I can get to that.

 But you're right, we need to publicly set a goal, at least.

 I hereby declare that I want Org to be fully functional for Emacs 23
 and older, and I wish Org can be reasonably functional for Emacs 23
 and XEmacs.  XEmacs users and Emacs-22 users, please help reporting
 comptability bugs, or you'll be ignored till the Dawn of Apocalypse.

 :)

I should have seen this coming.  Now, if that's how we do things these
days:

I hereby declare that XEmacs compatibility is broken already and he who
wants to have this corrected should bring a working version of ert for
XEmacs.


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

Factory and User Sound Singles for Waldorf rackAttack:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




Re: [O] Warning with latest git pull

2013-02-23 Thread Achim Gratz
Bastien writes:
 I hereby declare that I want Org to be fully functional for Emacs 23
 and older, and I wish Org can be reasonably functional for Emacs 23
 and XEmacs.

If I may say so, XEmacs and Emacs up to 23.2 are missing
with-silent-modifications, preferring to make them loudly.

Compatibility macro, please (you can glean it from the magit folks, you
might want to check if PJ Weisberg aka Bourgouignon has FSF copyright
assigned).

:-)


Remarks,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

Factory and User Sound Singles for Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




Re: [O] Warning with latest git pull

2013-02-23 Thread Bastien
Hi Achim,

Achim Gratz strom...@nexgo.de writes:

 Bastien writes:
 I hereby declare that I want Org to be fully functional for Emacs 23
 and older, and I wish Org can be reasonably functional for Emacs 23
 and XEmacs.

 If I may say so, XEmacs and Emacs up to 23.2 are missing
 with-silent-modifications, preferring to make them loudly.

 Compatibility macro, please (you can glean it from the magit folks, you
 might want to check if PJ Weisberg aka Bourgouignon has FSF copyright
 assigned).

There is already this in org-macs.el:

(when (and (not (fboundp 'with-silent-modifications))
   (or ( emacs-major-version 23)
   (and (= emacs-major-version 23)
( emacs-minor-version 2
  (defmacro with-silent-modifications (rest body)
`(org-unmodified ,@body))
  (def-edebug-spec with-silent-modifications (body)))

 Remarks,

Rewards,

-- 
 Bastien



Re: [O] Warning with latest git pull

2013-02-21 Thread Bastien
Hi Thomas,

t...@tsdye.com (Thomas S. Dye) writes:

 Here is a warning I don't remember seeing before, posted here in case it
 is useful information:

 Compiling /Users/dk/.emacs.d/src/org-mode/lisp/org.el...

 In org-current-time:
 org.el:5341:16:Warning: `time-to-seconds' is an obsolete function (as of
 21.1); use `float-time' instead.
 org.el:5342:12:Warning: `time-to-seconds' is an obsolete function (as of
 21.1); use `float-time' instead.

Fixed, thanks!

-- 
 Bastien



[O] Warning with latest git pull

2013-02-20 Thread Thomas S. Dye
Aloha all,

Here is a warning I don't remember seeing before, posted here in case it
is useful information:

Compiling /Users/dk/.emacs.d/src/org-mode/lisp/org.el...

In org-current-time:
org.el:5341:16:Warning: `time-to-seconds' is an obsolete function (as of
21.1); use `float-time' instead.
org.el:5342:12:Warning: `time-to-seconds' is an obsolete function (as of
21.1); use `float-time' instead.

All the best,
Tom
-- 
T.S. Dye  Colleagues, Archaeologists
735 Bishop St, Suite 315, Honolulu, HI 96813
Tel: 808-529-0866, Fax: 808-529-0884
http://www.tsdye.com