On Apr 21, 2009, at 12:02 AM, Eric Schulte wrote:
Maybe a list rather than a hook, say `org-cycle-actions'. Each
element
of the list could be called in the current context until one returns a
non-nil result. Something like...
(let ((pending org-cycle-actions)
finished)
(while (not finished)
(setq finished (funcall (car pending)))
(setq pending (cdr pending))))
If the existing org-cycle actions (fold headline, org-cycle-table,
etc...) were implemented using the list then users could have the
options of putting their actions before or after (after being good if
say they have a very expensive check which shouldn't be run every time
tab is hit).
Does that sound appropriate? -- Eric
This would be a very general solution. However, maybe this is more
than we need, it is not so easy to implement because org-cycle handles
a number of special cases which have grown into it over the years.
I guess a good solution will to to make several hooks which I have
done now.
I believe yasnippet should hook itself into the third one. Here are
the hooks:
(defvar org-tab-first-hook nil
"Hook for functions to attach themselves to TAB.
See `org-ctrl-c-ctrl-c-hook' for more information.
This hook runs as the first action when TAB is pressed.
If any function in this hook returns t, not other actions like table
field motion visibility cycling will be done.")
(defvar org-tab-after-check-for-table-hook nil
"Hook for functions to attach themselves to TAB.
See `org-ctrl-c-ctrl-c-hook' for more information.
This hook runs after it has been established that the cursor is not in a
table, but before checking if the cursor is in a headline or if global
cycling
should be done.
If any function in this hook returns t, not other actions like
visibility
cycling will be done.")
(defvar org-tab-after-check-for-cycling-hook nil
"Hook for functions to attach themselves to TAB.
See `org-ctrl-c-ctrl-c-hook' for more information.
This hook runs after it has been established that not table field
motion and
not visibility should be done because of current context. This is
probably
the place where a package like yasnippets can hook in.")
Carsten Dominik <carsten.domi...@gmail.com> writes:
So what would be the right place to call it? Which context checks
should com before the hook, and which after?
- Carsten
On Apr 20, 2009, at 11:02 PM, Eric Schulte wrote:
A hook in org-cycle could be useful aside from yasnippets. I
recently
found myself writing a defadvice for org-cycle in a situation
where a
hook would have been preferable. -- Eric
Carsten Dominik <carsten.domi...@gmail.com> writes:
Maybe we should have a hook in org-cycle where yasnippet can
hook into, instead of overruling the TAB key......
- Carsten
On Apr 20, 2009, at 9:43 PM, Bernt Hansen wrote:
Nevermind. It works.
Gah. Sorry for the noise. This turns out to be my yasnippet setup
messing up the TAB key in tables. :/ It works fine for a minimal
emacs
test.
-Bernt
Bernt Hansen <be...@norang.ca> writes:
Okay I think this is a bug. If I traverse the table FORWARDS
with
TAB
and type it inserts in front of the field that is there. If I
traverse
it BACKWARDS with S-TAB it clears the field when I type.
This seems inconsistent (and I really like the blank the field as
soon
as you type behaviour)
-Bernt
Bernt Hansen <be...@norang.ca> writes:
Hi,
Did the user interface for tables change recently? When I TAB
between
fields in a table entering anything normally blanks out the
field
and
replaces it with whatever new I am typing.
Today it always seems to insert in front of whatever is already
there.
I'm just wondering if this was an intentional change or if
it's a
bug.
I didn't notice anything in the release notes about this (but
maybe I
just missed it).
-Bernt
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode