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.
This commit is contained in:
Nicolas Goaziou 2017-08-19 23:39:22 +02:00
parent 9638de598c
commit 6a590738b1
4 changed files with 32 additions and 64 deletions

View File

@ -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
@kbd{C-c @key{RET}}.
@vindex org-enable-table-editor
@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
@tsubheading{Creation and conversion}

View File

@ -394,6 +394,11 @@ Use ~org-gnus-prefer-web-links~ instead.
One can provide new ~:sitemap-format-entry~ property for a function
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
Use ~org-texinfo-table-default-markup~ instead.

View File

@ -81,17 +81,17 @@ are not run.")
(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'.
In the optimized version, the table editor takes over all simple keys that
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
for empty fields). Outside tables, the correct binding of the keys is
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
:type 'boolean)
@ -208,8 +208,7 @@ removal/insertion."
(defcustom org-table-auto-blank-field t
"Non-nil means automatically blank table field when starting to type into it.
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
:type 'boolean)

View File

@ -1734,37 +1734,6 @@ This also applied for speedbar access."
:tag "Org Table"
: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
"Non-nil means cluster self-insert commands for undo when possible.
If this is set, then, like in the Emacs command loop, 20 consecutive
@ -19442,6 +19411,14 @@ boundaries."
;;;; 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'
;; that can be remapped in Org:
(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 [(control tab)] 'org-force-cycle-archived)
(org-defkey org-mode-map "\M-\t" #'pcomplete)
;; The following line is necessary under Suse GNU/Linux
(org-defkey org-mode-map [S-iso-lefttab] '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))
;; 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)
(if (boundp 'narrow-map)
(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 '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 ()
"Transpose words for Org.
This uses the `org-mode-transpose-word-syntax-table' syntax
@ -20078,15 +20053,6 @@ word constituents."
(call-interactively '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
"Hook for functions attaching themselves to `C-c C-c'.