[O] DMARC related changes starting this week for FSF hosted Mailman lists

2019-06-17 Thread Ian Kelling
Over the next few days, the Free Software Foundation will be making
changes to our GNU Mailman systems, including lists.gnu.org,
lists.nongnu.org, lists.libreplanet.org, lists.fsf.org, and
lists.endsoftwarepatents.org, in order to address mailing list
deliverability issues reported by many users.

I wanted to specifically let orgmode know about this since it is a
fairly active list that is affected.

Messages sent from users with strict DMARC policy domains like yahoo.com
are often being rejected when sent to list subscribers by Mailman. See
the end of this email for a technical overview of DMARC and DKIM. There
are two ways to fix the issue by changing Mailman list settings.

The first option, and the preferable way for discussion lists, is what
we call the "unmodified message fix." There are Mailman list settings
which modify the messages by adding a subject prefix (e.g. [list-name])
or a footer. Modifying the message breaks DKIM message signatures and
thus DMARC. Following this option, we would turn those settings
off. Many lists are already this way and there is no change for
them. Instead of using the subject prefix to identify a list,
subscribers should use the "List-Id" header, To, and Cc.  List footer
information can also be be put in the welcome email to subscribers and
the list information page by list administrators.

Related to this, on June 7th, we upgraded the version Mailman that we
run. This fixed a bug where we were breaking the DKIM signature of any
reply message.

The second option is for lists which want or need to continue to modify
the message, for example with subject prefix or footer settings. We
would enable a Mailman list setting called dmarc_moderation_action:
"Munge From". With this setting, if a strict DMARC sender sends to the
list, we alter the headers of that message like so:


A message sent to the list:

To: al...@gnu.org
From: Anne Example Person 
Subject: Hi, I have a suggestion to improve x

The message Mailman sends to list subscribers:

To: al...@gnu.org
From: Anne Example Person via Alist 
Reply-To: Anne Example Person 
Subject: [alist] Hi, I have a suggestion to improve X

Without going into all of the details, here's a few points about why we
concluded the unmodified message fix is better for discussion
lists. Email clients don't all treat munged messages the same way as
unmunged, and humans read these headers so it can confuse people,
causing messages not to be sent to the expected recipients. GNU Mailman
has an option to do "Munge From" always, but does not recommend using
it[1]. While we're not bound by what others do, it's worth noting that
other very large free software communities like Debian GNU/Linux have
adopted the unmodified message fix[2]. The unmodified messages fix
avoids breaking DKIM cryptographic signatures, which show the message was
authorized by the signing domain.

New discussion lists' default settings will be to send unmodified
messages. Existing discussion lists that add subject prefixes or footers
will have "Munge From" turned on, and then we will email the list
administrators and moderators asking if they are ok with changing to
unmodified messages. If they do not object within 1 month, we will
change their list settings to send unmodified messages. Sometimes the
list administrators and moderators emails goes out of date. If you have
the administration password for a list, please log in and check that
they are up to date at the top of the "General Options" section of the
list administration interface.

For announcement lists that do not have discussion, munging does not
have nearly as bad an impact. Announce lists with subject prefixes or
footers will get "Munge From" applied. I will email the list owners and
moderators to let them know about this issue and they can change to
using unmodified messages if they want. Announce lists created in the
future will send unmodified messages by default.

Debbugs lists prepend a bug # to the subject. These will get "Munge
From" applied. An example of a debbugs list is bug-gnu-emacs[3]. Debbugs
maintainers can consider if there are any other changes they want.

For -commit lists, commit messages are created by a program running on a
single server, not the authors in the from headers. This means they cannot have
valid DKIM signatures and so they will get "Munge From" applied and
always need it. An example of a -commit list is gnuastro-commits[4].

For any Mailman list administrator who wants to change or look over the
relevant settings: The dmarc_moderation_action setting is under "Privacy
Options" subsection "Sender Filters". The only options that should be
selected are "Accept" or "Munge From", along with corresponding changes
to the subject_prefix option under "General Options", and msg_footer
under "Non-digest options".


A short DMARC technical overview:

DMARC policy is a DNS txt record at a _dmarc subdomain. For example:

$ host -t txt _dmarc.yahoo.com
_dmarc.yahoo.com descriptive text 

[O] emacs stackexchange beta site

2014-09-17 Thread Ian Kelling
Just wanted to share, and bring this up for discussion. I'm cross posting to
a few emacs mailing lists.

http://area51.stackexchange.com/proposals/76571/emacs

And some discussion going on here:
http://discuss.area51.stackexchange.com/questions/17923/what-to-expect-in-the-emacs-private-beta

Which I replied to here http://discuss.area51.stackexchange.com/a/17944/115173




Re: [O] no src-fontify-natively on emacs 24.4.50.1

2014-07-16 Thread Ian Kelling
Just want to say that I am experiencing this bug too. I'm using emacs 
org dev sources from the last few days.



Re: [O] bug: in source block, titles are not seen as source

2014-05-28 Thread Ian Kelling
Albert Krewinkel tar...@moltkeplatz.de writes:

 Hi Ian,

 You can escape leading stars by putting a comma in front of them:

 #+begin_src sh
 cat 'EOF'
 ,* some text
 EOF
 #+end_src

 This should do what you want.

 HTH,
 Albert

Ahh, thank you. 



[O] bug: in source block, titles are not seen as source

2014-05-27 Thread Ian Kelling

I've had this bug me a few times when I work with here documents in bash.

#+begin_src sh
some-command 'EOF'
* some text
EOF
#+end_src

the line beginning with * is treated as a title and folded. The same
goes for example blocks, and perhaps other things.

as a workaround, I can insert a tab char, and change the redirection
operator to - to strip leading tabs

some-command -'EOF'
* some text
EOF

- Ian



Re: [O] [PATCH] Make the point visible when jumping to the mark

2014-05-22 Thread Ian Kelling
Bastien b...@gnu.org writes:

 Hi Sébastien,

 Sebastien Vauban sva-news-D0wtAvR13HarG/idocf...@public.gmane.org
 writes:

 Even if the goal is desirable, I thought that we may not add defadvice
 in Emacs sources.

 True that, we need to clean things up.

 The route I will take is to apply Ian patch on master and then to
 move all advising code into a separate org-advice.el library in the
 contrib/ directory.  Any suggestion for a better name?

I considered this problem when I made the patch, and originally started
writing it to not use advise. The alternative I see is to create
org-mode versions of these functions, and binding them with the
org-mode-map to override the existing functions, like we do with other
functions. I prefer advice in these cases because the advice is simple
and it is easier for users customizing keybinds and extending
emacs. However, compared to making it a module and thus not enabled by
default, I would prefer to make org-mode versions of the
functions. Having them on by default will be more helpful to more users
overall. I would be happy to write the patch for this, if we agree.



Re: [O] [PATCH] Make the point visible when jumping to the mark

2014-05-21 Thread Ian Kelling
Bastien b...@gnu.org writes:

 Hi Ian,

 Ian Kelling i...@iankelling.org writes:

 I posted this patch in September. It seems it was forgotten.

 I missed it as the time.

 I posted it again on April 30th, nothing yet.  I also have another
 patch thats been sitting on the list for a few weeks now after
 having a discussion and a positive response.

 Yes, in http://article.gmane.org/gmane.emacs.orgmode/86050

 Did you receive the FSF confirmation for your copyright assignment?
 That's the information we need before applying the patches.

Yes, I've got the confirmation. All set.

 I'd like to do a git pull and find my patches applied at some point,
 and I'm wondering if/when that will happen. And is there anything I
 can do to help?

 If the process is completed let us know and we will move on.

 Thanks!

Great to hear. Yes, all completed.

Thanks,
Ian





Re: [O] [PATCH] Make the point visible when jumping to the mark

2014-05-21 Thread Ian Kelling
Bastien b...@gnu.org writes:
 The formatting of the Changelog message not good.

 It should be

 * org.el: Advise commands which jump to the mark.

 See http://orgmode.org/worg/org-contribute.html and example in
 the git logs.


My mistake. Fixed in the attached patch.

 +(eval-after-load simple
 +  '(defadvice set-mark-command (after org-make-visible activate)
 + Make the point visible with `org-show-context'.
 + (org-mark-jump-unhide)))

 Why this one?  The user don't want to use C-SPC in hidden parts.

Yes, I agree. They want to use C-u C-SPC to go to hidden parts. I've
updated the patch to advise pop-to-mark-command instead. It is attached.

From ead59ed465eb33e822dd69f6e34b087477ebc239 Mon Sep 17 00:00:00 2001
From: Ian Kelling i...@iankelling.org
Date: Wed, 30 Apr 2014 21:54:08 -0700
Subject: [PATCH] Make the point visible when jumping to the mark

* org.el: Advise commands which jump to the mark
---
 lisp/org.el |   21 +
 1 file changed, 21 insertions(+)

diff --git a/lisp/org.el b/lisp/org.el
index 40e16ea..17f7997 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -24510,6 +24510,27 @@ To get rid of the restriction, use \\[org-agenda-remove-restriction-lock].
 			   (outline-invisible-p)))
(org-show-context 'bookmark-jump)))
 
+(eval-after-load simple
+  '(defadvice pop-to-mark-command (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(eval-after-load simple
+  '(defadvice exchange-point-and-mark (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(eval-after-load simple
+  '(defadvice pop-global-mark (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(defun org-mark-jump-unhide ()
+  Make the point visible with `org-show-context' after jumping to the mark.
+  (when (and (derived-mode-p 'org-mode)
+	 (outline-invisible-p))
+(org-show-context 'mark-goto)))
+
 ;; Make session.el ignore our circular variable
 (defvar session-globals-exclude)
 (eval-after-load session
-- 
1.7.10.4



Re: [O] [PATCH] Make the point visible when jumping to the mark

2014-05-20 Thread Ian Kelling
 From 9191e4a364e251119cf8b7c72e41f6c0d09583f2 Mon Sep 17 00:00:00 2001
 Message-ID: 87ha5aqa93@treetowl.lan
 MIME-Version: 1.0
 Content-Type: text/plain

 *lisp/org.el: Advise commands which jump to the mark
 ---

 There are several non-org commands that jump to a location and would be
 unwieldy if the location remained hidden, (isearch, bookmark-jump,
 save-place), but org-mode has code to fix them. In this patch, I
 followed their example.

 I have an emacs fsf copyright assignment completed  on file with fsf, I can
 send gpg signed copy if you need it.

 - Ian Kelling


  lisp/org.el |   21 +
  1 file changed, 21 insertions(+)

 diff --git a/lisp/org.el b/lisp/org.el
 index 44a4e44..9365059 100644
 --- a/lisp/org.el
 +++ b/lisp/org.el
 @@ -24326,6 +24326,27 @@ To get rid of the restriction, use 
 \\[org-agenda-remove-restriction-lock].
  (outline-invisible-p)))
 (org-show-context 'bookmark-jump)))
  
 +(eval-after-load simple
 +  '(defadvice set-mark-command (after org-make-visible activate)
 + Make the point visible with `org-show-context'.
 + (org-mark-jump-unhide)))
 +
 +(eval-after-load simple
 +  '(defadvice exchange-point-and-mark (after org-make-visible activate)
 + Make the point visible with `org-show-context'.
 + (org-mark-jump-unhide)))
 +
 +(eval-after-load simple
 +  '(defadvice pop-global-mark (after org-make-visible activate)
 + Make the point visible with `org-show-context'.
 + (org-mark-jump-unhide)))
 +
 +(defun org-mark-jump-unhide ()
 +  Make the point visible with `org-show-context' after jumping to the mark.
 +  (when (and (derived-mode-p 'org-mode)
 +  (outline-invisible-p))
 +(org-show-context 'mark-goto)))
 +
  ;; Make session.el ignore our circular variable
  (defvar session-globals-exclude)
  (eval-after-load session

I posted this patch in September. It seems it was forgotten. I posted it
again on April 30th, nothing yet. I also have another patch thats been
sitting on the list for a few weeks now after having a discussion and a
positive response. I'd like to do a git pull and find my patches applied
at some point, and I'm wondering if/when that will happen. And is there
anything I can do to help?

- Ian Kelling



Re: [O] [PATCH] Fix error prone babel table output format detection

2014-05-08 Thread Ian Kelling
Eric Schulte schulte.e...@gmail.com writes:

 This looks good to me.  Could you reformat the patch with

   git format-patch

 and attach the results (this will be easier to apply).


Done. I was actually following the instructions in man git-format-patch by
not attaching it before, but I will avoid that in future.

 Also, this patch
 is small enough to apply without any sort of copyright attribution, but
 if you think you might make larger contributions in the future, please
 look over the org contribution instructions [1].

I've completed emacs fsf copyright assignment. I also have another patch
that has been on the mailing list for about 2 weeks or so waiting for a reply.

From 4122d20f1253c2cbf5e73070ea00665bbc802275 Mon Sep 17 00:00:00 2001
From: Ian Kelling i...@iankelling.org
Date: Wed, 30 Apr 2014 21:56:52 -0700
Subject: [PATCH] Fix error prone babel table output format detection

* lisp/ob-core.el: Test that all elements are in a list are lists or
'hline instead of just the first.

org-babel table output uses different formatting for a list of lists,
but detects it incorrectly causing an error. An example of a block
causing an error is an emacs lisp source block containing just 1 line:
'((1) 2)
---
 lisp/ob-core.el |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 1348f04..4ddafaf 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -2184,9 +2184,9 @@ code  the results are extracted in the syntax of the source
 		 ((funcall proper-list-p result)
 		  (goto-char beg)
 		  (insert (concat (orgtbl-to-orgtbl
-   (if (or (eq 'hline (car result))
-	   (and (listp (car result))
-		(listp (cdr (car result)
+   (if (org-every
+	(lambda (el) (or (listp el) (eq el 'hline)))
+	result)
    result (list result))
    '(:fmt (lambda (cell) (format %s cell \n))
 		  (goto-char beg) (when (org-at-table-p) (org-table-align)))
-- 
1.7.10.4



Re: [O] [PATCH] Fix error prone babel table output format detection

2014-05-04 Thread Ian Kelling
Eric Schulte schulte.e...@gmail.com writes:

 Hi Ian,

 You should use the `org-every' function here.  Look at the source of
 that function to see code to efficiently perform this sort of check.

 Best,


Brilliant. Thank you. The updated patch below should be good.

-- 8 --
Subject: [PATCH] Fix error prone babel table output format detection

* lisp/ob-core.el: Test that all elements are in a list are lists or
'hline instead of just the first.

org-babel table output uses different formatting for a list of lists,
but detects it incorrectly causing an error. An example of a block
causing an error is an emacs lisp source block containing just 1 line:
'((1) 2)
---
 lisp/ob-core.el |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 1348f04..4ddafaf 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -2184,9 +2184,9 @@ code  the results are extracted in the syntax of the 
source
 ((funcall proper-list-p result)
  (goto-char beg)
  (insert (concat (orgtbl-to-orgtbl
-  (if (or (eq 'hline (car result))
-  (and (listp (car result))
-   (listp (cdr (car result)
+  (if (org-every
+   (lambda (el) (or (listp el) (eq el 
'hline)))
+   result)
   result (list result))
   '(:fmt (lambda (cell) (format %s cell 
\n))
  (goto-char beg) (when (org-at-table-p) (org-table-align)))
-- 
1.7.10.4



[O] [PATCH] Make the point visible when jumping to the mark

2014-05-01 Thread Ian Kelling
From 9191e4a364e251119cf8b7c72e41f6c0d09583f2 Mon Sep 17 00:00:00 2001
Message-ID: 87ha5aqa93@treetowl.lan
MIME-Version: 1.0
Content-Type: text/plain

*lisp/org.el: Advise commands which jump to the mark
---

There are several non-org commands that jump to a location and would be
unwieldy if the location remained hidden, (isearch, bookmark-jump,
save-place), but org-mode has code to fix them. In this patch, I
followed their example.

I have an emacs fsf copyright assignment completed  on file with fsf, I can
send gpg signed copy if you need it.

- Ian Kelling


 lisp/org.el |   21 +
 1 file changed, 21 insertions(+)

diff --git a/lisp/org.el b/lisp/org.el
index 44a4e44..9365059 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -24326,6 +24326,27 @@ To get rid of the restriction, use 
\\[org-agenda-remove-restriction-lock].
   (outline-invisible-p)))
(org-show-context 'bookmark-jump)))
 
+(eval-after-load simple
+  '(defadvice set-mark-command (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(eval-after-load simple
+  '(defadvice exchange-point-and-mark (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(eval-after-load simple
+  '(defadvice pop-global-mark (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(defun org-mark-jump-unhide ()
+  Make the point visible with `org-show-context' after jumping to the mark.
+  (when (and (derived-mode-p 'org-mode)
+(outline-invisible-p))
+(org-show-context 'mark-goto)))
+
 ;; Make session.el ignore our circular variable
 (defvar session-globals-exclude)
 (eval-after-load session
-- 
1.7.10.4




[O] [PATCH] Fix error prone babel table output format detection

2014-05-01 Thread Ian Kelling
From dc0b727328266785528fe160046ae1aa8df8a993 Mon Sep 17 00:00:00 2001
Message-ID: 87zjj2ous9@treetowl.lan
MIME-Version: 1.0
Content-Type: text/plain

* lisp/ob-core.el: Test that all elements are in a list are lists
instead of just the first.

org-babel table output uses different formatting for a list of lists,
but detects it incorrectly causing an error, as in this example:
#+begin_src emacs-lisp 
'((1) 2)
#+end_src
---
 lisp/ob-core.el |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 1348f04..5872b68 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -2185,8 +2185,7 @@ code  the results are extracted in the syntax of the 
source
  (goto-char beg)
  (insert (concat (orgtbl-to-orgtbl
   (if (or (eq 'hline (car result))
-  (and (listp (car result))
-   (listp (cdr (car result)
+  (cl-every 'listp result))
   result (list result))
   '(:fmt (lambda (cell) (format %s cell 
\n))
  (goto-char beg) (when (org-at-table-p) (org-table-align)))
-- 
1.7.10.4




Re: [O] [PATCH] Fix error prone babel table output format detection

2014-05-01 Thread Ian Kelling
Achim Gratz strom...@nexgo.de writes:

 Ian Kelling writes:
 org-babel table output uses different formatting for a list of lists,
 but detects it incorrectly causing an error, as in this example:
 #+begin_src emacs-lisp 
 '((1) 2)
 #+end_src

 So this isn't a proper table, what do you expect to happen?

I expect to be able to emacs -q, make an org mode buffer containing 
that block, do ctrl-c c on it, and not have an error message pop up and
fail to have any output. What is improper about it? Would it be better
if org did not try to format it as a table?


 -   (and (listp (car result))
 -(listp (cdr (car result)
 +   (cl-every 'listp result))

 This is wrong, because a table can come with any number of 'hline
 symbols, so ostensibly not every element will be a listp.

Yes, I agree. It will have to test if elements are listp or hline. 


 Besides, you
 can't use cl-every unless Org drops backwards compatibility with older
 Emacsen or mandates cl-lib to be present.  Even then, you'd also need to
 require cl-extra.

I forgot about the multiple parts of cl. I originally wrote it without,
and can change it.



Re: [O] [PATCH] Fix error prone babel table output format detection

2014-05-01 Thread Ian Kelling
Ian Kelling i...@iankelling.org writes:

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

 Ian Kelling writes:
 org-babel table output uses different formatting for a list of lists,
 but detects it incorrectly causing an error, as in this example:
 #+begin_src emacs-lisp 
 '((1) 2)
 #+end_src

 So this isn't a proper table, what do you expect to happen?

 I expect to be able to emacs -q, make an org mode buffer containing 
 that block, do ctrl-c c on it, and not have an error message pop up and
 fail to have any output. What is improper about it? Would it be better
 if org did not try to format it as a table?

Actually, I see what you mean by improper.



 -  (and (listp (car result))
 -   (listp (cdr (car result)
 +  (cl-every 'listp result))

 This is wrong, because a table can come with any number of 'hline
 symbols, so ostensibly not every element will be a listp.

 Yes, I agree. It will have to test if elements are listp or hline. 


 Besides, you
 can't use cl-every unless Org drops backwards compatibility with older
 Emacsen or mandates cl-lib to be present.  Even then, you'd also need to
 require cl-extra.

 I forgot about the multiple parts of cl. I originally wrote it without,
 and can change it.

Below is a patch that addresses the 2 previously mentioned
problems. 

-- 8 --
Subject: [PATCH] Fix error prone babel table output format detection

* lisp/ob-core.el: Test that all elements are in a list are lists or
'hline instead of just the first.

org-babel table output uses different formatting for a list of lists,
but detects it incorrectly causing an error, as in this example:
#+begin_src emacs-lisp 
'((1) 2)
#+end_src
---
 lisp/ob-core.el |   13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 1348f04..b5b0bc7 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -2184,9 +2184,16 @@ code  the results are extracted in the syntax of the 
source
 ((funcall proper-list-p result)
  (goto-char beg)
  (insert (concat (orgtbl-to-orgtbl
-  (if (or (eq 'hline (car result))
-  (and (listp (car result))
-   (listp (cdr (car result)
+(if (let ((len (length result))
+  (proper t)
+  (i 0)
+  elem)
+  (while (and proper ( i len ))
+(setq elem (nth i result))
+(unless (or (listp elem) (eq elem 
'hline))
+  (setq proper nil))
+(setq i (1+ i)))
+  proper)
   result (list result))
   '(:fmt (lambda (cell) (format %s cell 
\n))
  (goto-char beg) (when (org-at-table-p) (org-table-align)))
-- 
1.7.10.4





Re: [O] [PATCH] Fix error prone babel table output format detection

2014-05-01 Thread Ian Kelling
Ian Kelling i...@iankelling.org writes:
 Below is a patch that addresses the 2 previously mentioned
 problems. 

It's a bit late.  here is the same patch with correct indentation.

 -- 8 --
Subject: [PATCH] Fix error prone babel table output format detection

* lisp/ob-core.el: Test that all elements are in a list are lists or
'hline instead of just the first.

org-babel table output uses different formatting for a list of lists,
but detects it incorrectly causing an error. An example of a block
causing an error is an emacs lisp source block containing just 1 line:
'((1) 2)
---
 lisp/ob-core.el |   13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 1348f04..9eb2c7a 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -2184,9 +2184,16 @@ code  the results are extracted in the syntax of the 
source
 ((funcall proper-list-p result)
  (goto-char beg)
  (insert (concat (orgtbl-to-orgtbl
-  (if (or (eq 'hline (car result))
-  (and (listp (car result))
-   (listp (cdr (car result)
+  (if (let ((len (length result))
+(proper t)
+(i 0)
+elem)
+(while (and proper ( i len ))
+  (setq elem (nth i result))
+  (unless (or (listp elem) (eq elem 
'hline))
+(setq proper nil))
+  (setq i (1+ i)))
+proper)
   result (list result))
   '(:fmt (lambda (cell) (format %s cell 
\n))
  (goto-char beg) (when (org-at-table-p) (org-table-align)))
-- 
1.7.10.4



Re: [O] [PATCH] Fix error prone babel table output format detection

2014-05-01 Thread Ian Kelling
Ian Kelling i...@iankelling.org writes:
 It's a bit late.  here is the same patch with correct indentation.

That patch went out of it's way not to check more of the list than was
necessary, but after sending it, I kept thinking that it does extra
things which possibly negate any performance benefit of not checking the
whole list. So here is a simpler patch does the same thing, but goes
over the whole list. I'd love to hear a more experienced emacs lisper
weigh in on which is better.

-- 8 --
Subject: [PATCH] Fix error prone babel table output format detection

* lisp/ob-core.el: Test that all elements are in a list are lists or
'hline instead of just the first.

org-babel table output uses different formatting for a list of lists,
but detects it incorrectly causing an error. An example of a block
causing an error is an emacs lisp source block containing just 1 line:
'((1) 2)
---
 lisp/ob-core.el |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 1348f04..05ccb00 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -2184,9 +2184,10 @@ code  the results are extracted in the syntax of the 
source
 ((funcall proper-list-p result)
  (goto-char beg)
  (insert (concat (orgtbl-to-orgtbl
-  (if (or (eq 'hline (car result))
-  (and (listp (car result))
-   (listp (cdr (car result)
+  (if (let ((proper t))
+(dolist (elem result proper)
+  (unless (or (listp elem) (eq elem 
'hline))
+(setq proper nil
   result (list result))
   '(:fmt (lambda (cell) (format %s cell 
\n))
  (goto-char beg) (when (org-at-table-p) (org-table-align)))
-- 
1.7.10.4



Re: [O] Title of org files in github not recognized

2014-05-01 Thread Ian Kelling
Julian Gehring julian.gehr...@gmail.com writes:

 Hi,

 How I can convince github to recognize the '#+TITLE:' field of an org-file?  
 This should be a 'h1' heading, while it is
 currently treated as normal text (for example, see 
 https://github.com/julian-gehring/vignettes/blob/master/README.org).
 I know that this is a problem of the parsing on github's site, but is anyone 
 aware of a good solution?

 Best wishes
 Julian

Use free software, then you can fix it. One example,
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/README.md




Re: [O] stderr patch

2014-03-22 Thread Ian Kelling
On 03/22/2014 01:45 AM, Bastien wrote:
 Hi Ian,
 
 the idea behind the patch looks good, although the patch needs
 some clean-up (adding a Changelog entry, fixing the typos in the
 docstring, etc.)
 
 Also, the patch goes beyond the 15 lines: we cannot accept it
 until you sign the FSF copyright assignment.  If you're willing
 to do this, please fill this form:
 
 http://orgmode.org/cgit.cgi/org-mode.git/plain/request-assign-future.txt
 
 Eric, can you have a look and let us know if this is good to
 apply to master in a rewritten version?
 
 Thanks,
 


I'd be happy to clean it up if there is interest in merging it. Also I've done 
the
FSF paperwork a while ago, I'm just waiting on hearing confirmation.

- Ian



Re: [O] stderr patch

2014-03-22 Thread Ian Kelling
 Was it more than a month ago?  If so, I'll ping them.

We've been in email contact less than a week ago. It shouldn't be too long.






Re: [O] stderr patch

2014-03-22 Thread Ian Kelling
On 03/22/2014 02:43 AM, Michael Brand wrote:
 
 For two reasons I would much prefer if there would be not yet another
 variable org-* but a header argument or a new value for e. g.
 :results:
 - When someone would use org-babel-use-error-buffer then sharing Org
   source blocks would be less easy.
 - With a header argument it would be possible to have different
   behaviors in different Org source blocks which is also a requirement
   for backward compatibility of existing source blocks (I would want
   them to let babel execution still fail in case of a problem).
 
 There are also use cases where I would want to capture stderr but let
 babel execution fail when the exit status is non-zero, see [2].

I had the similar thoughts. I just wanted to share in case someone out there
wanted to apply the patch for themselves until it's done right within org mode. 
I
started on making a header argument, but it will be a while before I finish.

- Ian



[O] stderr patch

2014-03-21 Thread Ian Kelling
I use babel mostly for shell scripts. I wrote a patch to allow toggling the
handling of errors  std err. I prefer standard error just get printed with
everything else, the same as calling a script from a terminal. Doing this 
properly
with header arguments etc. has been discussed before (google org-babel stderr),
and just hasn't gotten done yet. Until then, this works great, so I'm putting it
out there in case anyone wants to use it.



---
 lisp/ob-eval.el |   18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/lisp/ob-eval.el b/lisp/ob-eval.el
index 057590f..fdc6da5 100644
--- a/lisp/ob-eval.el
+++ b/lisp/ob-eval.el
@@ -31,6 +31,14 @@
 (eval-when-compile (require 'cl))

 (defvar org-babel-error-buffer-name *Org-Babel Error Output*)
+(defcustom org-babel-use-error-buffer t
+  When evaluating a code block, if nil and an error is returned
+,no error buffer is created and. Standard error
+is redirected to standard out.
+:group 'org-babel
+:version 24.1
+:type 'boolean)
+
 (declare-function org-babel-temp-file ob-core (prefix optional suffix))

 (defun org-babel-eval-error-notify (exit-code stderr)
@@ -46,14 +54,16 @@
   Run CMD on BODY.
 If CMD succeeds then return its results, otherwise display
 STDERR with `org-babel-eval-error-notify'.
-  (let ((err-buff (get-buffer-create  *Org-Babel Error*)) exit-code)
-(with-current-buffer err-buff (erase-buffer))
+  (let ((err-buff (if org-babel-use-error-buffer
+   (get-buffer-create  *Org-Babel Error*)))
+   exit-code)
+(if err-buff (with-current-buffer err-buff (erase-buffer)))
 (with-temp-buffer
   (insert body)
   (setq exit-code
(org-babel--shell-command-on-region
 (point-min) (point-max) cmd err-buff))
-  (if (or (not (numberp exit-code)) ( exit-code 0))
+  (if (and err-buff (or (not (numberp exit-code)) ( exit-code 0)))
  (progn
(with-current-buffer err-buff
  (org-babel-eval-error-notify exit-code (buffer-string)))
@@ -90,7 +100,7 @@ function in various versions of Emacs.
 ;; This is fixed in Emacs trunk as of 2012-12-21; let's use this
 ;; workaround for now.
 (unless (file-remote-p default-directory)
-  (delete-file error-file))
+  (if error-file (delete-file error-file)))
 ;; we always call this with 'replace, remove conditional
 ;; Replace specified region with output from command.
 (let ((swap ( start end)))
-- 
1.7.10.4



[O] Bug: performance of scrolling in large example blocks is poor

2014-03-21 Thread Ian Kelling
Testcase: 1 megabyte of text lines in an example block, drag the scrollbar to a
location you haven't been to yet.

It often freezes for a few seconds, and doing things while its frozen like
scrolling more can quickly make it freeze for a minute or so. Remove the example
block enclosure, and it becomes totally interactive.

- Ian



[O] worg questions

2014-01-09 Thread Ian Kelling
I pushed some formatting changes to worg, in contrib/org-drill.org. I got messages 
when I did, remote: worg publish process 5487. And it mentioned many files, but 
not the file I edited. Its been a few hours, when will this change propogate on 
the site?


why the emacs.el is in worg/sources/, but not the worg git sources? I'd think it 
should be there so I could track any changes.


What version of orgmode is being used on the worg server?
It is not listed with the other software versions on 
http://orgmode.org/worg/worg-setup.html, but there is one external to emacs 
included in the emacs.el file.


Also on worg-setup.html, it says the server is using emacs23. However, when i 
pushed to worg, I got a message saying remote: Emacs 24.2.50.1. Which is correct?


Before I pushed to worg, I wanted to publish locally, but I ran into an error.
In the emacs.el for publishing worg, there is a orgwebpages project with a base 
directory of ~/git/orgweb/. This is a different than the worg repo, and I'm not 
sure where to get it.


I disabled the orgweb project, it finished the publish process but there was some 
differences between my output and the website, but before I investigate, I'm 
wondering about these questions.



Thank you,
Ian Kelling



[O] worg questions

2014-01-08 Thread Ian Kelling
I pushed some formatting changes to worg, in contrib/org-drill.org. I got messages 
when I did, remote: worg publish process 5487. And it mentioned many files, but 
not the file I edited. Its been a few hours, when will this change propogate on 
the site?


why the emacs.el is in worg/sources/, but not the worg git sources? I'd think it 
should be there so I could track any changes.


What version of orgmode is being used on the worg server?
It is not listed with the other software versions on 
http://orgmode.org/worg/worg-setup.html, but there is one external to emacs 
included in the emacs.el file.


Also on worg-setup.html, it says the server is using emacs23. However, when i 
pushed to worg, I got a message saying remote: Emacs 24.2.50.1. Which is correct?


Before I pushed to worg, I wanted to publish locally, but I ran into an error.
In the emacs.el for publishing worg, there is a orgwebpages project with a base 
directory of ~/git/orgweb/. This is a different than the worg repo, and I'm not 
sure where to get it.


I disabled the orgweb project, it finished the publish process but there was some 
differences between my output and the website, but before I investigate, I'm 
wondering about these questions.



Thank you,
Ian Kelling



[O] [PATCH] Fix incorrect time calculation for org-extend-today-until

2013-10-16 Thread Ian Kelling

I sent this patch a month ago, but it got no reply. Perhaps that I
accidentally had html email format didn't help.

During the extra hours of org-extend-today-until, when
org-clock-mode-line-total is 'today, the clocked time shown in the
modeline is wrong. It ignores all previously clocked time, when it
should add them starting from the past day beyond
org-extend-today-until hours.  This also affects clock tables.

The problem can be reproduced in emacs -q with the following code,
as long as the current time is not between 11 PM and 12 AM:

  (progn
(require 'org-clock)
(setq org-clock-mode-line-total 'today)
(setq org-extend-today-until 23)
(format-time-string %a %D %l:%M %p (org-clock-get-sum-start)))

expected result:
A date of yesterday, time of 11:00 PM

Actual result:
A date of today, time of 11:00 PM

Note this patch only fixes a bug where org-extend-today-until
is already used.


- Ian Kelling

From 0c23ccb9b00fd42f830f5a7472e2980b93c6040f Mon Sep 17 00:00:00 2001
From: Ian Kelling ian...@gmail.com
Date: Sun, 15 Sep 2013 08:03:24 -0700
Subject: [PATCH] Fix incorrect time calculation for `org-extend-today-until'

* lisp/org-clock.el (org-clock-get-sum-start): Fix bad date
  math, affecting mode line and clock tables.

TINYCHANGE
---
 lisp/org-clock.el | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index 9f22562..3195dc1 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -1368,10 +1368,12 @@ decides which time to use.
   (current-time))
  ((equal cmt today)
   (setq msg-extra showing today's task time.)
-  (let* ((dt (decode-time (current-time
-	(setq dt (append (list 0 0 0) (nthcdr 3 dt)))
-	(if org-extend-today-until
-	(setf (nth 2 dt) org-extend-today-until))
+  (let* ((dt (decode-time (current-time)))
+	 (hour (nth 2 dt))
+	 (day (nth 3 dt)))
+	(if ( hour org-extend-today-until) (setf (nth 3 dt) (1- day)))
+	(setf (nth 2 dt) org-extend-today-until)
+	(setq dt (append (list 0 0) (nthcdr 2 dt)))
 	(apply 'encode-time dt)))
  ((or (equal cmt all)
 	  (and (or (not cmt) (equal cmt auto))
-- 
1.8.3.1




[O] [PATCH] Make the point visible when jumping to the mark

2013-09-15 Thread Ian Kelling

An example of the problem:

* headline-1
** one of many headlines I want to remain folded...
** headline
*** headline
The point starts here. I set a mark on this line.
Then I fold headline-1. This becomes invisible.
* headline-2
I move the point here. After I'm done here, I want to go back to my
mark. I do C-u C-space (pop-to-mark-command), but it doesn't go to the
mark. Instead, it takes me to the end of the still folded
headline-1. To get back to my mark without globally unfolding
everything requires tediously unfolding each headline and sub-headline
until the marked location is exposed.

There are some other non-org commands that would have this same
problem (isearch, bookmark-jump, save-place), but org-mode has code to
fix them. org-mark-ring-goto also handles this. I followed those examples
and wrote a patch. It is attached.

- Ian Kelling


From 066595dd9350f06a1df2e99a341f96782ac8dfed Mon Sep 17 00:00:00 2001
From: Ian Kelling ian...@gmail.com
Date: Sun, 15 Sep 2013 00:32:08 -0700
Subject: [PATCH] Make the point visible when jumping to the mark

* lisp/org.el advise `pop-global-mark', `exchange-point-and-mark', and
  `pop-global-mark' with `org-show-context', as appropriate.

TINYCHANGE
---
 lisp/org.el | 21 +
 1 file changed, 21 insertions(+)

diff --git a/lisp/org.el b/lisp/org.el
index 8e970a1..30b87d9 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -23903,6 +23903,27 @@ To get rid of the restriction, use \\[org-agenda-remove-restriction-lock].
 			   (outline-invisible-p)))
(org-show-context 'bookmark-jump)))
 
+(eval-after-load simple
+  '(defadvice set-mark-command (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(eval-after-load simple
+  '(defadvice exchange-point-and-mark (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(eval-after-load simple
+  '(defadvice pop-global-mark (after org-make-visible activate)
+ Make the point visible with `org-show-context'.
+ (org-mark-jump-unhide)))
+
+(defun org-mark-jump-unhide ()
+  Make the point visible with `org-show-context' after jumping to the mark.
+  (and (derived-mode-p 'org-mode)
+   (outline-invisible-p)
+   (org-show-context 'mark-goto)))
+
 ;; Make session.el ignore our circular variable
 (defvar session-globals-exclude)
 (eval-after-load session
-- 
1.8.3.1



[O] [PATCH] Fix incorrect time calculation for org-extend-today-until

2013-09-15 Thread Ian Kelling

During the extra hours of org-extend-today-until, when
org-clock-mode-line-total is 'today, the clocked time shown in the
modeline is wrong. It ignores all previously clocked time, when it
should add them starting from the past day beyond
org-extend-today-until hours.  This also affects clock tables.

The problem can be reproduced in emacs with the following code,
as long as the current time is not between 11 PM and 12 AM:

  (progn
(require 'org-clock)
(setq org-clock-mode-line-total 'today)
(setq org-extend-today-until 23)
(format-time-string %a %D %l:%M %p (org-clock-get-sum-start)))

expected result:
A date of yesterday, time of 11:00 PM

Actual result:
A date of today, time of 11:00 PM

Note this patch only fixes a bug where org-extend-today-until
is already used.


- Ian Kelling
From 619572e221cafc17f0a1c33654eb22d7ca5f4d89 Mon Sep 17 00:00:00 2001
From: Ian Kelling ian...@gmail.com
Date: Sun, 15 Sep 2013 08:03:24 -0700
Subject: [PATCH] Fix incorrect time calculation for org-extend-today-until

* lisp/org-clock.el Fix bad date math. Affects mode line and
  clock tables.

TINYCHANGE
---
 lisp/org-clock.el | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index 9f22562..3195dc1 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -1368,10 +1368,12 @@ decides which time to use.
   (current-time))
  ((equal cmt today)
   (setq msg-extra showing today's task time.)
-  (let* ((dt (decode-time (current-time
-	(setq dt (append (list 0 0 0) (nthcdr 3 dt)))
-	(if org-extend-today-until
-	(setf (nth 2 dt) org-extend-today-until))
+  (let* ((dt (decode-time (current-time)))
+	 (hour (nth 2 dt))
+	 (day (nth 3 dt)))
+	(if ( hour org-extend-today-until) (setf (nth 3 dt) (1- day)))
+	(setf (nth 2 dt) org-extend-today-until)
+	(setq dt (append (list 0 0) (nthcdr 2 dt)))
 	(apply 'encode-time dt)))
  ((or (equal cmt all)
 	  (and (or (not cmt) (equal cmt auto))
-- 
1.8.3.1



Re: [O] [PATCH] Fix incorrect time calculation for org-extend-today-until

2013-09-15 Thread Ian Kelling

Updated patch, fixed commit message format.
From 0c23ccb9b00fd42f830f5a7472e2980b93c6040f Mon Sep 17 00:00:00 2001
From: Ian Kelling ian...@gmail.com
Date: Sun, 15 Sep 2013 08:03:24 -0700
Subject: [PATCH] Fix incorrect time calculation for `org-extend-today-until'

* lisp/org-clock.el (org-clock-get-sum-start): Fix bad date
  math, affecting mode line and clock tables.

TINYCHANGE
---
 lisp/org-clock.el | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index 9f22562..3195dc1 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -1368,10 +1368,12 @@ decides which time to use.
   (current-time))
  ((equal cmt today)
   (setq msg-extra showing today's task time.)
-  (let* ((dt (decode-time (current-time
-	(setq dt (append (list 0 0 0) (nthcdr 3 dt)))
-	(if org-extend-today-until
-	(setf (nth 2 dt) org-extend-today-until))
+  (let* ((dt (decode-time (current-time)))
+	 (hour (nth 2 dt))
+	 (day (nth 3 dt)))
+	(if ( hour org-extend-today-until) (setf (nth 3 dt) (1- day)))
+	(setf (nth 2 dt) org-extend-today-until)
+	(setq dt (append (list 0 0) (nthcdr 2 dt)))
 	(apply 'encode-time dt)))
  ((or (equal cmt all)
 	  (and (or (not cmt) (equal cmt auto))
-- 
1.8.3.1