Correcting myself,

Nicolas Goaziou <n.goaz...@gmail.com> writes:

>   (defun org-meta-return (&optional arg)
>     "Insert a new heading or wrap a region in a table.
>   Calls `org-insert-heading' or `org-table-wrap-region', depending
>   on context. See the individual commands for more information."
>     (interactive "P")
>     (org-check-before-invisible-edit 'insert)
>     (or (run-hook-with-args-until-success 'org-metareturn-hook)
>         (let* ((element (org-element-at-point))
>                (type (org-element-type element)))
>           (when (eq type 'table-row)
>             (setq element (org-element-property :parent element)))

Oops. I forgot a (setq type 'table) within the `when'.

>           (if (and (eq type 'table)
>                    (eq (org-element-property :type element) 'org)
>                    (>= (point) (org-element-property :contents-begin element))
>                    (< (point) (org-element-property :contents-end element)))
>               (call-interactively 'org-table-wrap-region)
>             (call-interactively 'org-insert-heading)))))

Reply via email to