Re: [O] Stack overflow in regexp matcher

2014-10-25 Thread Alan Schmitt
On 2014-10-24 19:02, Charles Berry ccbe...@ucsd.edu writes:

 Alan Schmitt alan.schmitt at polytechnique.org writes:

 
 Hello,
 
 I've just got the following backtrace when opening an org
 file. Unfortunately I cannot reproduce it reliably, but I was wondering
 if others had seen something similar.
 

 I do. Try this. Start emacs 24.4.1.

 1) Copy this line:

 CLOCK: [2013-07-22 Mon 12:29]--[2013-07-22 Mon 15:26] =  2:57

 into a new *.org file.

 2) Save and close the file and reopen. 

 3) If no such error, kill the text in the buffer, and yank it twice.

 4) Repeat 2 and 3 till the message

File mode specification error: (error Stack overflow in regexp matcher)

 shows up. 

 5) prune lines from the file and try step 2 till the error disappears.


 For me somewhere between 400 and 500 lines is the difference between opening
 with no error message and opening with the message.

Interesting. I don't use clocking, but the files in question use tags
and logbooks. I can actually open the file when I try a second time, so
to bisect this I would need to restart emacs each time. I'll try to see
if I can get a reproduceable recipe on my side.

Thanks,

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7


signature.asc
Description: PGP signature


[O] [ANN] Aggregate Table

2014-10-25 Thread Thierry Banel
Hi all

I'm happy to announce the availability of the aggregation package.
https://github.com/tbanel/orgaggregate

Example:

This is a source table:
#+TBLNAME: source
| Day   | Quantity |
|---+--|
| Monday|   10 |
| Monday|3 |
| Tuesday   |   52 |
| Tuesday   |   15 |
| Tuesday   |   18 |
| Wednesday |  100 |
| Wednesday |   23 |
| Wednesday |   16 |

This is an aggregated result computed by the package:
#+BEGIN: aggregate :table source :cols Day sum(Quantity)
| Day   | sum(Quantity) |
|---+---|
| Monday|13 |
| Tuesday   |85 |
| Wednesday |   139 |
#+END:

For those familiar with SQL, this is reminicent of the GROUP BY statement.
For those familiar with the R statistics, this is reminicent of FACTORS.

Features include:
- Pure Emacs (no external dependency)
- Wide variety of aggregation functions (sum, mean, max, count, median,
etc.)
- Calc underlying engine (the same used by Org spreadsheet)
- Work in push or pull mode (pull mode uses so called dynamic blocks)
- Any combination of key columns
- and more

To use it:

- load in Emacs
  https://github.com/tbanel/orgaggregate/blob/master/org-aggregate.el
  This give access to the command:
  M-x org-insert-dblock:aggregate

- look at the examples and documentation here:
  https://github.com/tbanel/orgaggregate

- optionally load
  https://github.com/tbanel/orgaggregate/blob/master/org-insert-dblock.el
  This gives the following key-binding:
  C-c C-x i
  which insert any kind of dynamic blocks, including aggregate


Feedback welcome.

Have fun
Thierry





Re: [O] [ANN] Aggregate Table

2014-10-25 Thread Igor Sosa Mayor
Thierry Banel tbanelweb...@free.fr writes:

 Hi all

 I'm happy to announce the availability of the aggregation package.
 https://github.com/tbanel/orgaggregate

very interesting! thanks a lot!

-- 
:: Igor Sosa Mayor :: joseleopoldo1...@gmail.com ::
:: GnuPG: 0x1C1E2890   :: http://www.gnupg.org/  ::
:: jabberid: rogorido  ::::




Re: [O] Stack overflow in regexp matcher

2014-10-25 Thread Charles C. Berry

On Fri, 24 Oct 2014, Gregor Zattler wrote:


Hi Charles, org-mode developers
* Charles Berry ccbe...@ucsd.edu [24. Oct. 2014]:

I do. Try this. Start emacs 24.4.1.

1) Copy this line:

CLOCK: [2013-07-22 Mon 12:29]--[2013-07-22 Mon 15:26] =  2:57

into a new *.org file.

2) Save and close the file and reopen.

3) If no such error, kill the text in the buffer, and yank it twice.

4) Repeat 2 and 3 till the message

   File mode specification error: (error Stack overflow in regexp matcher)

shows up.

5) prune lines from the file and try step 2 till the error disappears.


For me somewhere between 400 and 500 lines is the difference between opening
with no error message and opening with the message.

Emacs 24.3.1 does not show this behavior - no error message.


I cannot reproduce this.  I even tried with a file with 8264216


[rest deleted]

OK, thanks. It had to be something in my init.

I have (defun org-mode-reftex-setup () ... ) from

http://www.mfasold.net/blog/2009/02/using-emacs-org-mode-to-draft-papers/

in my init.

It turns out that

  (re-search-forward ^[^%]*usepackage.*{biblatex} nil t))

in reftex-using-biblatex-p is the culprit.

So, the ECM is to save a file like that decribed above without the *.org 
extension.


Open it (in fundamental mode) and issue

M-: (re-search-forward ^[^%]*usepackage.*{biblatex} nil t))

and get

eval: Stack overflow in regexp matcher

So, maybe this is not an org-mode issue. ??


HTH,

Chuck



Re: [O] Stack overflow in regexp matcher

2014-10-25 Thread Charles C. Berry

On Sat, 25 Oct 2014, Charles C. Berry wrote:


On Fri, 24 Oct 2014, Gregor Zattler wrote:


Hi Charles, org-mode developers
* Charles Berry ccbe...@ucsd.edu [24. Oct. 2014]:

I do. Try this. Start emacs 24.4.1.

1) Copy this line:

CLOCK: [2013-07-22 Mon 12:29]--[2013-07-22 Mon 15:26] =  2:57

into a new *.org file.

2) Save and close the file and reopen.

3) If no such error, kill the text in the buffer, and yank it twice.

4) Repeat 2 and 3 till the message

   File mode specification error: (error Stack overflow in regexp 
matcher)


shows up.

5) prune lines from the file and try step 2 till the error disappears.




[snip]



It turns out that

 (re-search-forward ^[^%]*usepackage.*{biblatex} nil t))

in reftex-using-biblatex-p is the culprit.

So, the ECM is to save a file like that decribed above without the *.org 
extension.


Open it (in fundamental mode) and issue

M-: (re-search-forward ^[^%]*usepackage.*{biblatex} nil t))

and get

eval: Stack overflow in regexp matcher

So, maybe this is not an org-mode issue. ??



Further, changing that regexp to

 ^[^%\n]*usepackage.*{biblatex}

and byte-compiling reftex-parse.el.gz seems to make the problem go away.

This seems to be well-known problem:

   http://www.emacswiki.org/emacs/MultilineRegexp

Still, I am not sure why this happens in 24.4.1 and not previously.

HTH,

Chuck



Re: [O] working with tables freezes emacs

2014-10-25 Thread Rasmus
Nicolas Goaziou m...@nicolasgoaziou.fr writes:

 Hello,

 Rasmus ras...@gmx.us writes:

 Xebar Saram zelt...@gmail.com writes:

 i was wondering if anyone else have had these problems (using latest emacs
 and org-mode from git): whenever i start working with tables and start
 editing a cell emacs starts freezing, all emacscleint instances are frozen
 and i have to kill emacs to get things back to work

 anyone else encountered this? is there a way i can try to debug this (im
 not technically savvy at all)

 Yes, I experience it as well.  I have not found a clear receipt to
 reproduce yet (in particular not in with emacs -q), though, but in my
 case key components are: emacsclient, tables and TAB to realign.

 Do you have any update on this? Do you still encounter the bug?

It happened to me now when I was editing a table and clicked TAB.

Debugger entered--beginning evaluation of function call form:
* (byte-code \301\302\303!\207 [quit-flag t eval (ignore nil)] 2)
  flyspell-post-command-hook()
  recursive-edit()
  debug(error (quit))

flyspell-post-command-hook

This function is advised by

 :around advice: `ad-Advice-flyspell-post-command-hook'

From ac.  I have not removed this since I don't use ac anymore.  Maybe
this will solve the issue.

—Rasmus

-- 
You people at the NSA are becoming my new best friends!



Re: [O] [PATH] Speedups to org-table-recalculate

2014-10-25 Thread Nathaniel Flath
Hi Michael

On Mon, Oct 20, 2014 at 12:41 PM, Michael Brand michael.ch.br...@gmail.com
wrote:

 Hi Nathaniel

 On Mon, Oct 20, 2014 at 3:56 AM, Nathaniel Flath flat0...@gmail.com
 wrote:
  Thanks for the review! Updated patches attached.  I believe I've fixed
  everything you mentioned -

 Yes, thank you. I tried them out.

  let me know if I missed something.

  Subject: [PATCH 1/2] org-table.el: Add early return check to
   org-table-recalculate

  Subject: [PATCH 2/2] org-table.el: Print far fewer messages when
 recalculating
   tables.

 http://orgmode.org/worg/org-contribute.html
 says: Line 2 is an empty line.

 I try to limit my commit subjects to 50 chars which is a rule for some
 projects and helpful for e. g. git log with certain options.


OK, will fix these in next set of pathces.


  +(and all (org-table-execute-once-per-second
  +  log-last-time
  +  (message
  +   Re-applying formulas to full table...(line %d)
  +   (setq cnt (1+ cnt)

 Before trying out I have overseen it, setq does not increment on each
 line any more so it has to move before
 org-table-execute-once-per-second. Now probably better wrapped in a
 `when' instead of the original `and' with an added `progn'.


OK, good catch


  +(org-table-execute-once-per-second
  + log-first-time
  + (message Re-applying formulas...done cnt))

 cnt is superfluous.


OK.



 Only during trying out I noticed: This message could still be kept as
 a feedback at least for single row updates, like e. g. Tab on a row
 with # in the first column, by changing log-first-time to (when all
 log-first-time).


 Or more conservative why not leave this message unconditional to avoid
 that any user could complain for any use case that all feedback
 messages disappeared like it would be the case for e. g. the typical
 C-c C-c on TBLFM? I think that would be a simple, safe compromise.


I'm fine with adding the (when all log-first-time).  I don't want to leave
it
unconditional because as we discussed before, one message in my case
 significantly slows down the table recalculation - and if there has
 been no feedback then we are dealing with a small case where it could be
significant.



 Otherwise the right but not so simple thing to do would be to log this
 message for a simple C-c C-c on TBLFM and to not log it for only
 those cases that throw after other feedback messages like e. g.
 sometimes C-u C-u C-c C-c on TBLFM (Table was already stable), M-x
 org-table-iterate-buffer-tables and more. These repetition intensive
 use cases are the only ones that can profit noticeable from the
 conditional removal of this last message, aren't they?


I got tired of having to force tables to be reformated, so I advised
 org-cycle to always recalculate a table, so I notice whenever I'm in a
table.


 Michael