0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-29 18:36:26 +00:00

org-table: `org-table-end' does not return a marker

* lisp/org-table.el (org-table-end): Do not return a maker.
(org-table-align):
(org-table-insert-column):
(org-table-delete-column):
(org-table-move-column):
(org-table-convert):
(org-table-recalculate): Create needed marker.

Creating a marker was not documented, and not always needed.
`copy-marker' should be used when they are.  Markers not deactivated
slow down editing.
This commit is contained in:
Nicolas Goaziou 2015-04-06 09:38:21 +02:00
parent 1ba8413b0a
commit cff54cd127

View file

@ -722,7 +722,7 @@ When nil, simply write \"#ERROR\" in corrupted fields.")
(let* (
;; Limits of table
(beg (org-table-begin))
(end (org-table-end))
(end (copy-marker (org-table-end)))
;; Current cursor position
(linepos (org-current-line))
(colpos (org-table-current-column))
@ -931,14 +931,13 @@ With argument TABLE-TYPE, go to the beginning of a table.el-type table."
(defun org-table-end (&optional table-type)
"Find the end of the table and return its position.
With argument TABLE-TYPE, go to the end of a table.el-type table."
(save-excursion
(if (not (re-search-forward
(if table-type org-table-any-border-regexp
org-table-border-regexp)
nil t))
(goto-char (point-max))
(goto-char (match-beginning 0)))
(point-marker)))
(if (save-excursion
(re-search-forward
(if table-type org-table-any-border-regexp
org-table-border-regexp)
nil t))
(match-beginning 0)
(point-max)))
;;;###autoload
(defun org-table-justify-field-maybe (&optional new)
@ -1377,7 +1376,7 @@ However, when FORCE is non-nil, create new columns if necessary."
(org-table-find-dataline)
(let* ((col (max 1 (org-table-current-column)))
(beg (org-table-begin))
(end (org-table-end))
(end (copy-marker (org-table-end)))
;; Current cursor position
(linepos (org-current-line))
(colpos col))
@ -1448,7 +1447,7 @@ first dline below it is used. When ABOVE is non-nil, the one above is used."
(org-table-check-inside-data-field)
(let* ((col (org-table-current-column))
(beg (org-table-begin))
(end (org-table-end))
(end (copy-marker (org-table-end)))
;; Current cursor position
(linepos (org-current-line))
(colpos col))
@ -1493,7 +1492,7 @@ first dline below it is used. When ABOVE is non-nil, the one above is used."
(let* ((col (org-table-current-column))
(col1 (if left (1- col) col))
(beg (org-table-begin))
(end (org-table-end))
(end (copy-marker (org-table-end)))
;; Current cursor position
(linepos (org-current-line))
(colpos (if left (1- col) (1+ col))))
@ -1904,8 +1903,8 @@ blindly applies a recipe that works for simple tables."
(require 'table)
(if (org-at-table.el-p)
;; convert to Org-mode table
(let ((beg (move-marker (make-marker) (org-table-begin t)))
(end (move-marker (make-marker) (org-table-end t))))
(let ((beg (copy-marker (org-table-begin t)))
(end (copy-marker (org-table-end t))))
(table-unrecognize-region beg end)
(goto-char beg)
(while (re-search-forward "^\\([ \t]*\\)\\+-.*\n" end t)
@ -1913,8 +1912,8 @@ blindly applies a recipe that works for simple tables."
(goto-char beg))
(if (org-at-table-p)
;; convert to table.el table
(let ((beg (move-marker (make-marker) (org-table-begin)))
(end (move-marker (make-marker) (org-table-end))))
(let ((beg (copy-marker (org-table-begin)))
(end (copy-marker (org-table-end))))
;; first, get rid of all horizontal lines
(goto-char beg)
(while (re-search-forward "^\\([ \t]*\\)|-.*\n" end t)
@ -3152,7 +3151,7 @@ known that the table will be realigned a little later anyway."
;; Get the correct line range to process
(if all
(progn
(setq end (move-marker (make-marker) (1+ (org-table-end))))
(setq end (copy-marker (1+ (org-table-end))))
(goto-char (setq beg (org-table-begin)))
(if (re-search-forward org-table-calculate-mark-regexp end t)
;; This is a table with marked lines, compute selected lines