Browse Source

Remove `org-enable-table-editor'

* doc/org.texi (Built-in table editor): Document removal.
* lisp/org-table.el (orgtbl-optimized):
(org-table-auto-blank-field): Ignore removed variable.
Nicolas Goaziou 7 years ago
parent
commit
6a590738b1
4 changed files with 32 additions and 64 deletions
  1. 7 9
      doc/org.texi
  2. 5 0
      etc/ORG-NEWS
  3. 5 6
      lisp/org-table.el
  4. 15 49
      lisp/org.el

+ 7 - 9
doc/org.texi

@@ -2106,16 +2106,14 @@ create the above table, you would only type
 fields.  Even faster would be to type @code{|Name|Phone|Age} followed by
 fields.  Even faster would be to type @code{|Name|Phone|Age} followed by
 @kbd{C-c @key{RET}}.
 @kbd{C-c @key{RET}}.
 
 
-@vindex org-enable-table-editor
 @vindex org-table-auto-blank-field
 @vindex org-table-auto-blank-field
-When typing text into a field, Org treats @key{DEL},
-@key{Backspace}, and all character keys in a special way, so that
-inserting and deleting avoids shifting other fields.  Also, when
-typing @emph{immediately after the cursor was moved into a new field
-with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or @kbd{@key{RET}}}, the
-field is automatically made blank.  If this behavior is too
-unpredictable for you, configure the options
-@code{org-enable-table-editor} and @code{org-table-auto-blank-field}.
+When typing text into a field, Org treats @key{DEL}, @key{Backspace}, and all
+character keys in a special way, so that inserting and deleting avoids
+shifting other fields.  Also, when typing @emph{immediately after the cursor
+was moved into a new field with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or
+@kbd{@key{RET}}}, the field is automatically made blank.  If this behavior is
+too unpredictable for you, configure the option
+@code{org-table-auto-blank-field}.
 
 
 @table @kbd
 @table @kbd
 @tsubheading{Creation and conversion}
 @tsubheading{Creation and conversion}

+ 5 - 0
etc/ORG-NEWS

@@ -394,6 +394,11 @@ Use ~org-gnus-prefer-web-links~ instead.
 One can provide new ~:sitemap-format-entry~ property for a function
 One can provide new ~:sitemap-format-entry~ property for a function
 equivalent to the removed format string.
 equivalent to the removed format string.
 
 
+*** ~org-enable-table-editor~ is removed.
+
+Setting it to a ~nil~ value broke some other features (e.g., speed
+keys).
+
 *** ~org-texinfo-def-table-markup~ is obsolete
 *** ~org-texinfo-def-table-markup~ is obsolete
 
 
 Use ~org-texinfo-table-default-markup~ instead.
 Use ~org-texinfo-table-default-markup~ instead.

+ 5 - 6
lisp/org-table.el

@@ -81,17 +81,17 @@ are not run.")
 
 
 (defvar org-table-TBLFM-begin-regexp "^[ \t]*|.*\n[ \t]*#\\+TBLFM: ")
 (defvar org-table-TBLFM-begin-regexp "^[ \t]*|.*\n[ \t]*#\\+TBLFM: ")
 
 
-(defcustom orgtbl-optimized (eq org-enable-table-editor 'optimized)
+(defcustom orgtbl-optimized t
   "Non-nil means use the optimized table editor version for `orgtbl-mode'.
   "Non-nil means use the optimized table editor version for `orgtbl-mode'.
+
 In the optimized version, the table editor takes over all simple keys that
 In the optimized version, the table editor takes over all simple keys that
 normally just insert a character.  In tables, the characters are inserted
 normally just insert a character.  In tables, the characters are inserted
 in a way to minimize disturbing the table structure (i.e. in overwrite mode
 in a way to minimize disturbing the table structure (i.e. in overwrite mode
 for empty fields).  Outside tables, the correct binding of the keys is
 for empty fields).  Outside tables, the correct binding of the keys is
 restored.
 restored.
 
 
-The default for this option is t if the optimized version is also used in
-Org mode.  See the variable `org-enable-table-editor' for details.  Changing
-this variable requires a restart of Emacs to become effective."
+Changing this variable requires a restart of Emacs to become
+effective."
   :group 'org-table
   :group 'org-table
   :type 'boolean)
   :type 'boolean)
 
 
@@ -208,8 +208,7 @@ removal/insertion."
 (defcustom org-table-auto-blank-field t
 (defcustom org-table-auto-blank-field t
   "Non-nil means automatically blank table field when starting to type into it.
   "Non-nil means automatically blank table field when starting to type into it.
 This only happens when typing immediately after a field motion
 This only happens when typing immediately after a field motion
-command (TAB, S-TAB or RET).
-Only relevant when `org-enable-table-editor' is equal to `optimized'."
+command (TAB, S-TAB or RET)."
   :group 'org-table-editing
   :group 'org-table-editing
   :type 'boolean)
   :type 'boolean)
 
 

+ 15 - 49
lisp/org.el

@@ -1734,37 +1734,6 @@ This also applied for speedbar access."
   :tag "Org Table"
   :tag "Org Table"
   :group 'org)
   :group 'org)
 
 
-(defcustom org-enable-table-editor 'optimized
-  "Non-nil means lines starting with \"|\" are handled by the table editor.
-When nil, such lines will be treated like ordinary lines.
-
-When equal to the symbol `optimized', the table editor will be optimized to
-do the following:
-- Automatic overwrite mode in front of whitespace in table fields.
-  This makes the structure of the table stay in tact as long as the edited
-  field does not exceed the column width.
-- Minimize the number of realigns.  Normally, the table is aligned each time
-  TAB or RET are pressed to move to another field.  With optimization this
-  happens only if changes to a field might have changed the column width.
-Optimization requires replacing the functions `self-insert-command',
-`delete-char', and `backward-delete-char' in Org buffers, with a
-slight (in fact: unnoticeable) speed impact for normal typing.  Org is very
-good at guessing when a re-align will be necessary, but you can always
-force one with `\\[org-ctrl-c-ctrl-c]'.
-
-If you would like to use the optimized version in Org mode, but the
-un-optimized version in OrgTbl-mode, see the variable `orgtbl-optimized'.
-
-This variable can be used to turn on and off the table editor during a session,
-but in order to toggle optimization, a restart is required.
-
-See also the variable `org-table-auto-blank-field'."
-  :group 'org-table
-  :type '(choice
-	  (const :tag "off" nil)
-	  (const :tag "on" t)
-	  (const :tag "on, optimized" optimized)))
-
 (defcustom org-self-insert-cluster-for-undo nil
 (defcustom org-self-insert-cluster-for-undo nil
   "Non-nil means cluster self-insert commands for undo when possible.
   "Non-nil means cluster self-insert commands for undo when possible.
 If this is set, then, like in the Emacs command loop, 20 consecutive
 If this is set, then, like in the Emacs command loop, 20 consecutive
@@ -19442,6 +19411,14 @@ boundaries."
 
 
 ;;;; Key bindings
 ;;;; Key bindings
 
 
+(defun org-remap (map &rest commands)
+  "In MAP, remap the functions given in COMMANDS.
+COMMANDS is a list of alternating OLDDEF NEWDEF command names."
+  (let (new old)
+    (while commands
+      (setq old (pop commands) new (pop commands))
+      (org-defkey map (vector 'remap old) new))))
+
 ;; Outline functions from `outline-mode-prefix-map'
 ;; Outline functions from `outline-mode-prefix-map'
 ;; that can be remapped in Org:
 ;; that can be remapped in Org:
 (define-key org-mode-map [remap outline-mark-subtree] 'org-mark-subtree)
 (define-key org-mode-map [remap outline-mark-subtree] 'org-mark-subtree)
@@ -19494,6 +19471,7 @@ boundaries."
 (org-defkey org-mode-map [(tab)]      'org-cycle)
 (org-defkey org-mode-map [(tab)]      'org-cycle)
 (org-defkey org-mode-map [(control tab)] 'org-force-cycle-archived)
 (org-defkey org-mode-map [(control tab)] 'org-force-cycle-archived)
 (org-defkey org-mode-map "\M-\t" #'pcomplete)
 (org-defkey org-mode-map "\M-\t" #'pcomplete)
+
 ;; The following line is necessary under Suse GNU/Linux
 ;; The following line is necessary under Suse GNU/Linux
 (org-defkey org-mode-map [S-iso-lefttab]  'org-shifttab)
 (org-defkey org-mode-map [S-iso-lefttab]  'org-shifttab)
 (org-defkey org-mode-map [(shift tab)]    'org-shifttab)
 (org-defkey org-mode-map [(shift tab)]    'org-shifttab)
@@ -19566,8 +19544,13 @@ boundaries."
   (org-defkey org-mode-map [?\e (shift down)]   'org-shiftmetadown))
   (org-defkey org-mode-map [?\e (shift down)]   'org-shiftmetadown))
 
 
 ;; All the other keys
 ;; All the other keys
+(org-remap org-mode-map
+	   'self-insert-command 'org-self-insert-command
+	   'delete-char 'org-delete-char
+	   'delete-backward-char 'org-delete-backward-char)
+(org-defkey org-mode-map "|" 'org-force-self-insert)
 
 
-(org-defkey org-mode-map "\C-c\C-a" 'outline-show-all)  ; in case allout messed up.
+(org-defkey org-mode-map "\C-c\C-a" 'outline-show-all) ; in case allout messed up.
 (org-defkey org-mode-map "\C-c\C-r" 'org-reveal)
 (org-defkey org-mode-map "\C-c\C-r" 'org-reveal)
 (if (boundp 'narrow-map)
 (if (boundp 'narrow-map)
     (org-defkey narrow-map "s" 'org-narrow-to-subtree)
     (org-defkey narrow-map "s" 'org-narrow-to-subtree)
@@ -20060,14 +20043,6 @@ because, in this case the deletion might narrow the column."
 (put 'org-self-insert-command 'pabbrev-expand-after-command t)
 (put 'org-self-insert-command 'pabbrev-expand-after-command t)
 (put 'orgtbl-self-insert-command 'pabbrev-expand-after-command t)
 (put 'orgtbl-self-insert-command 'pabbrev-expand-after-command t)
 
 
-(defun org-remap (map &rest commands)
-  "In MAP, remap the functions given in COMMANDS.
-COMMANDS is a list of alternating OLDDEF NEWDEF command names."
-  (let (new old)
-    (while commands
-      (setq old (pop commands) new (pop commands))
-      (org-defkey map (vector 'remap old) new))))
-
 (defun org-transpose-words ()
 (defun org-transpose-words ()
   "Transpose words for Org.
   "Transpose words for Org.
 This uses the `org-mode-transpose-word-syntax-table' syntax
 This uses the `org-mode-transpose-word-syntax-table' syntax
@@ -20078,15 +20053,6 @@ word constituents."
     (call-interactively 'transpose-words)))
     (call-interactively 'transpose-words)))
 (org-remap org-mode-map 'transpose-words 'org-transpose-words)
 (org-remap org-mode-map 'transpose-words 'org-transpose-words)
 
 
-(when (eq org-enable-table-editor 'optimized)
-  ;; If the user wants maximum table support, we need to hijack
-  ;; some standard editing functions
-  (org-remap org-mode-map
-	     'self-insert-command 'org-self-insert-command
-	     'delete-char 'org-delete-char
-	     'delete-backward-char 'org-delete-backward-char)
-  (org-defkey org-mode-map "|" 'org-force-self-insert))
-
 (defvar org-ctrl-c-ctrl-c-hook nil
 (defvar org-ctrl-c-ctrl-c-hook nil
   "Hook for functions attaching themselves to `C-c C-c'.
   "Hook for functions attaching themselves to `C-c C-c'.