<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">It's actually ALT + ArrowKey on Mac OS X, so they're not different from <i>everyone</i> else!<div><br><div><div>On Jun 5, 2008, at 09:29, Chris Burt wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Just a note: The standard for jumping a whole word Left/Right seems to<br>be CTRL + ArrowKey, not ALT + ArrowKey. So here is just one more thing<br>Blender does different than everyone else for no good reason.<br><br>--Chris<br><br>On Wed, Jun 4, 2008 at 7:20 PM, Ian Thompson <<a href="mailto:quornian@googlemail.com">quornian@googlemail.com</a>> wrote:<br><blockquote type="cite">Revision: 15127<br></blockquote><blockquote type="cite"> <a href="http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15127">http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15127</a><br></blockquote><blockquote type="cite">Author: quorn<br></blockquote><blockquote type="cite">Date: 2008-06-05 01:20:54 +0200 (Thu, 05 Jun 2008)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Log Message:<br></blockquote><blockquote type="cite">-----------<br></blockquote><blockquote type="cite">Whole word operations added:<br></blockquote><blockquote type="cite"> * Alt-Left/Right: moves cursor/selection a word to the left/right<br></blockquote><blockquote type="cite"> * Alt-/Ctrl-Delete/Backspace deletes whole words at a time<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Modified Paths:<br></blockquote><blockquote type="cite">--------------<br></blockquote><blockquote type="cite"> branches/soc-2008-quorn/source/blender/blenkernel/BKE_text.h<br></blockquote><blockquote type="cite"> branches/soc-2008-quorn/source/blender/blenkernel/intern/text.c<br></blockquote><blockquote type="cite"> branches/soc-2008-quorn/source/blender/src/drawtext.c<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Modified: branches/soc-2008-quorn/source/blender/blenkernel/BKE_text.h<br></blockquote><blockquote type="cite">===================================================================<br></blockquote><blockquote type="cite">--- branches/soc-2008-quorn/source/blender/blenkernel/BKE_text.h 2008-06-04 22:51:14 UTC (rev 15126)<br></blockquote><blockquote type="cite">+++ branches/soc-2008-quorn/source/blender/blenkernel/BKE_text.h 2008-06-04 23:20:54 UTC (rev 15127)<br></blockquote><blockquote type="cite">@@ -59,6 +59,8 @@<br></blockquote><blockquote type="cite"> void txt_move_down (struct Text *text, short sel);<br></blockquote><blockquote type="cite"> void txt_move_left (struct Text *text, short sel);<br></blockquote><blockquote type="cite"> void txt_move_right (struct Text *text, short sel);<br></blockquote><blockquote type="cite">+void txt_jump_left (struct Text *text, short sel);<br></blockquote><blockquote type="cite">+void txt_jump_right (struct Text *text, short sel);<br></blockquote><blockquote type="cite"> void txt_move_bof (struct Text *text, short sel);<br></blockquote><blockquote type="cite"> void txt_move_eof (struct Text *text, short sel);<br></blockquote><blockquote type="cite"> void txt_move_bol (struct Text *text, short sel);<br></blockquote><blockquote type="cite">@@ -66,6 +68,7 @@<br></blockquote><blockquote type="cite"> void txt_move_toline (struct Text *text, unsigned int line, short sel);<br></blockquote><blockquote type="cite"> void txt_pop_sel (struct Text *text);<br></blockquote><blockquote type="cite"> void txt_delete_char (struct Text *text);<br></blockquote><blockquote type="cite">+void txt_delete_word (struct Text *text);<br></blockquote><blockquote type="cite"> void txt_copy_sel (struct Text *text);<br></blockquote><blockquote type="cite"> void txt_sel_all (struct Text *text);<br></blockquote><blockquote type="cite"> void txt_sel_line (struct Text *text);<br></blockquote><blockquote type="cite">@@ -80,6 +83,7 @@<br></blockquote><blockquote type="cite"> void txt_do_redo (struct Text *text);<br></blockquote><blockquote type="cite"> void txt_split_curline (struct Text *text);<br></blockquote><blockquote type="cite"> void txt_backspace_char (struct Text *text);<br></blockquote><blockquote type="cite">+void txt_backspace_word (struct Text *text);<br></blockquote><blockquote type="cite"> int txt_add_char (struct Text *text, char add);<br></blockquote><blockquote type="cite"> int txt_replace_char (struct Text *text, char add);<br></blockquote><blockquote type="cite"> void txt_find_panel (struct SpaceText *st, int again);<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Modified: branches/soc-2008-quorn/source/blender/blenkernel/intern/text.c<br></blockquote><blockquote type="cite">===================================================================<br></blockquote><blockquote type="cite">--- branches/soc-2008-quorn/source/blender/blenkernel/intern/text.c 2008-06-04 22:51:14 UTC (rev 15126)<br></blockquote><blockquote type="cite">+++ branches/soc-2008-quorn/source/blender/blenkernel/intern/text.c 2008-06-04 23:20:54 UTC (rev 15127)<br></blockquote><blockquote type="cite">@@ -117,6 +117,7 @@<br></blockquote><blockquote type="cite"> static void txt_undo_add_op(Text *text, int op);<br></blockquote><blockquote type="cite"> static void txt_undo_add_block(Text *text, int op, char *buf);<br></blockquote><blockquote type="cite"> static void txt_delete_line(Text *text, TextLine *line);<br></blockquote><blockquote type="cite">+static int txt_word_boundary(char ch);<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> /***/<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">@@ -553,6 +554,17 @@<br></blockquote><blockquote type="cite"> if (text->compiled) BPY_free_compiled_text(text);<br></blockquote><blockquote type="cite"> }<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">+static int txt_word_boundary (char ch)<br></blockquote><blockquote type="cite">+{<br></blockquote><blockquote type="cite">+ if (ch < '0') return TRUE;<br></blockquote><blockquote type="cite">+ if (ch <= '9') return FALSE;<br></blockquote><blockquote type="cite">+ if (ch < 'A') return TRUE;<br></blockquote><blockquote type="cite">+ if (ch <= 'Z') return FALSE;<br></blockquote><blockquote type="cite">+ if (ch < 'a') return TRUE;<br></blockquote><blockquote type="cite">+ if (ch <= 'z') return FALSE;<br></blockquote><blockquote type="cite">+ return TRUE;<br></blockquote><blockquote type="cite">+}<br></blockquote><blockquote type="cite">+<br></blockquote><blockquote type="cite"> /****************************/<br></blockquote><blockquote type="cite"> /* Cursor utility functions */<br></blockquote><blockquote type="cite"> /****************************/<br></blockquote><blockquote type="cite">@@ -689,6 +701,32 @@<br></blockquote><blockquote type="cite"> if(!sel) txt_pop_sel(text);<br></blockquote><blockquote type="cite"> }<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">+void txt_jump_left(Text *text, short sel)<br></blockquote><blockquote type="cite">+{<br></blockquote><blockquote type="cite">+ TextLine *l;<br></blockquote><blockquote type="cite">+ int c;<br></blockquote><blockquote type="cite">+ if (!text) return;<br></blockquote><blockquote type="cite">+ if (!text->curl) return;<br></blockquote><blockquote type="cite">+ do {<br></blockquote><blockquote type="cite">+ txt_move_left(text, sel);<br></blockquote><blockquote type="cite">+ l= sel ? text->sell : text->curl;<br></blockquote><blockquote type="cite">+ c= sel ? text->selc : text->curc;<br></blockquote><blockquote type="cite">+ } while (c>0 && c<l->len && !txt_word_boundary(l->line[c-1]));<br></blockquote><blockquote type="cite">+}<br></blockquote><blockquote type="cite">+<br></blockquote><blockquote type="cite">+void txt_jump_right(Text *text, short sel)<br></blockquote><blockquote type="cite">+{<br></blockquote><blockquote type="cite">+ TextLine *l;<br></blockquote><blockquote type="cite">+ int c;<br></blockquote><blockquote type="cite">+ if (!text) return;<br></blockquote><blockquote type="cite">+ if (!text->curl) return;<br></blockquote><blockquote type="cite">+ do {<br></blockquote><blockquote type="cite">+ txt_move_right(text, sel);<br></blockquote><blockquote type="cite">+ l= sel ? text->sell : text->curl;<br></blockquote><blockquote type="cite">+ c= sel ? text->selc : text->curc;<br></blockquote><blockquote type="cite">+ } while (c>0 && c<l->len && !txt_word_boundary(l->line[c-1]));<br></blockquote><blockquote type="cite">+}<br></blockquote><blockquote type="cite">+<br></blockquote><blockquote type="cite"> void txt_move_bol (Text *text, short sel)<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite"> TextLine **linep;<br></blockquote><blockquote type="cite">@@ -2063,6 +2101,20 @@<br></blockquote><blockquote type="cite"> if(!undoing) txt_undo_add_charop(text, UNDO_DEL, c);<br></blockquote><blockquote type="cite"> }<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">+void txt_delete_word (Text *text)<br></blockquote><blockquote type="cite">+{<br></blockquote><blockquote type="cite">+ int i;<br></blockquote><blockquote type="cite">+ char ch;<br></blockquote><blockquote type="cite">+ if (!text) return;<br></blockquote><blockquote type="cite">+ if (!text->curl) return;<br></blockquote><blockquote type="cite">+ i= text->curc;<br></blockquote><blockquote type="cite">+ do {<br></blockquote><blockquote type="cite">+ ch= text->curl->line[i];<br></blockquote><blockquote type="cite">+ txt_delete_char(text);<br></blockquote><blockquote type="cite">+ i= text->curc;<br></blockquote><blockquote type="cite">+ } while (i<text->curl->len && !txt_word_boundary(ch));<br></blockquote><blockquote type="cite">+}<br></blockquote><blockquote type="cite">+<br></blockquote><blockquote type="cite"> void txt_backspace_char (Text *text)<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite"> char c='\n';<br></blockquote><blockquote type="cite">@@ -2103,6 +2155,18 @@<br></blockquote><blockquote type="cite"> if(!undoing) txt_undo_add_charop(text, UNDO_BS, c);<br></blockquote><blockquote type="cite"> }<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">+void txt_backspace_word (Text *text)<br></blockquote><blockquote type="cite">+{<br></blockquote><blockquote type="cite">+ int i;<br></blockquote><blockquote type="cite">+ if (!text) return;<br></blockquote><blockquote type="cite">+ if (!text->curl) return;<br></blockquote><blockquote type="cite">+ i= text->curc;<br></blockquote><blockquote type="cite">+ do {<br></blockquote><blockquote type="cite">+ txt_backspace_char(text);<br></blockquote><blockquote type="cite">+ i= text->curc;<br></blockquote><blockquote type="cite">+ } while (i>0 && !txt_word_boundary(text->curl->line[i-1]));<br></blockquote><blockquote type="cite">+}<br></blockquote><blockquote type="cite">+<br></blockquote><blockquote type="cite"> int txt_add_char (Text *text, char add)<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite"> int len;<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Modified: branches/soc-2008-quorn/source/blender/src/drawtext.c<br></blockquote><blockquote type="cite">===================================================================<br></blockquote><blockquote type="cite">--- branches/soc-2008-quorn/source/blender/src/drawtext.c 2008-06-04 22:51:14 UTC (rev 15126)<br></blockquote><blockquote type="cite">+++ branches/soc-2008-quorn/source/blender/src/drawtext.c 2008-06-04 23:20:54 UTC (rev 15127)<br></blockquote><blockquote type="cite">@@ -1892,14 +1892,22 @@<br></blockquote><blockquote type="cite"> pop_space_text(st);<br></blockquote><blockquote type="cite"> break;<br></blockquote><blockquote type="cite"> case BACKSPACEKEY:<br></blockquote><blockquote type="cite">- txt_backspace_char(text);<br></blockquote><blockquote type="cite">+ if (G.qual & (LR_ALTKEY | LR_CTRLKEY)) {<br></blockquote><blockquote type="cite">+ txt_backspace_word(text);<br></blockquote><blockquote type="cite">+ } else {<br></blockquote><blockquote type="cite">+ txt_backspace_char(text);<br></blockquote><blockquote type="cite">+ }<br></blockquote><blockquote type="cite"> set_tabs(text);<br></blockquote><blockquote type="cite"> if (st->showsyntax) get_format_string(st);<br></blockquote><blockquote type="cite"> do_draw= 1;<br></blockquote><blockquote type="cite"> pop_space_text(st);<br></blockquote><blockquote type="cite"> break;<br></blockquote><blockquote type="cite"> case DELKEY:<br></blockquote><blockquote type="cite">- txt_delete_char(text);<br></blockquote><blockquote type="cite">+ if (G.qual & (LR_ALTKEY | LR_CTRLKEY)) {<br></blockquote><blockquote type="cite">+ txt_delete_word(text);<br></blockquote><blockquote type="cite">+ } else {<br></blockquote><blockquote type="cite">+ txt_delete_char(text);<br></blockquote><blockquote type="cite">+ }<br></blockquote><blockquote type="cite"> if (st->showsyntax) get_format_string(st);<br></blockquote><blockquote type="cite"> do_draw= 1;<br></blockquote><blockquote type="cite"> pop_space_text(st);<br></blockquote><blockquote type="cite">@@ -1918,6 +1926,8 @@<br></blockquote><blockquote type="cite"> case LEFTARROWKEY:<br></blockquote><blockquote type="cite"> if (G.qual & LR_COMMANDKEY)<br></blockquote><blockquote type="cite"> txt_move_bol(text, G.qual & LR_SHIFTKEY);<br></blockquote><blockquote type="cite">+ else if (G.qual & LR_ALTKEY)<br></blockquote><blockquote type="cite">+ txt_jump_left(text, G.qual & LR_SHIFTKEY);<br></blockquote><blockquote type="cite"> else<br></blockquote><blockquote type="cite"> txt_move_left(text, G.qual & LR_SHIFTKEY);<br></blockquote><blockquote type="cite"> set_tabs(text);<br></blockquote><blockquote type="cite">@@ -1927,6 +1937,8 @@<br></blockquote><blockquote type="cite"> case RIGHTARROWKEY:<br></blockquote><blockquote type="cite"> if (G.qual & LR_COMMANDKEY)<br></blockquote><blockquote type="cite"> txt_move_eol(text, G.qual & LR_SHIFTKEY);<br></blockquote><blockquote type="cite">+ else if (G.qual & LR_ALTKEY)<br></blockquote><blockquote type="cite">+ txt_jump_right(text, G.qual & LR_SHIFTKEY);<br></blockquote><blockquote type="cite"> else<br></blockquote><blockquote type="cite"> txt_move_right(text, G.qual & LR_SHIFTKEY);<br></blockquote><blockquote type="cite"> set_tabs(text);<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">Bf-blender-cvs mailing list<br></blockquote><blockquote type="cite"><a href="mailto:Bf-blender-cvs@blender.org">Bf-blender-cvs@blender.org</a><br></blockquote><blockquote type="cite"><a href="http://lists.blender.org/mailman/listinfo/bf-blender-cvs">http://lists.blender.org/mailman/listinfo/bf-blender-cvs</a><br></blockquote><blockquote type="cite"><br></blockquote>_______________________________________________<br>Bf-committers mailing list<br><a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>http://lists.blender.org/mailman/listinfo/bf-committers<br></div></blockquote></div><br></div></body></html>