|
@@ -601,7 +601,7 @@ nil When nil, the command tries to be smart and figure out the
|
|
|
((equal separator '(16)) "^\\|\t")
|
|
|
((integerp separator)
|
|
|
(if (< separator 1)
|
|
|
- (error "Number of spaces in separator must be >= 1")
|
|
|
+ (user-error "Number of spaces in separator must be >= 1")
|
|
|
(format "^ *\\| *\t *\\| \\{%d,\\}" separator)))
|
|
|
(t (error "This should not happen"))))
|
|
|
(while (re-search-forward re end t)
|
|
@@ -641,7 +641,7 @@ whether it is set locally or up in the hierarchy, then on the
|
|
|
extension of the given file name, and finally on the variable
|
|
|
`org-table-export-default-format'."
|
|
|
(interactive)
|
|
|
- (unless (org-at-table-p) (error "No table at point"))
|
|
|
+ (unless (org-at-table-p) (user-error "No table at point"))
|
|
|
(org-table-align) ;; make sure we have everything we need
|
|
|
(let* ((beg (org-table-begin))
|
|
|
(end (org-table-end))
|
|
@@ -658,13 +658,13 @@ extension of the given file name, and finally on the variable
|
|
|
(setq file (read-file-name "Export table to: "))
|
|
|
(unless (or (not (file-exists-p file))
|
|
|
(y-or-n-p (format "Overwrite file %s? " file)))
|
|
|
- (error "Abort")))
|
|
|
+ (user-error "File not written")))
|
|
|
(if (file-directory-p file)
|
|
|
- (error "This is a directory path, not a file"))
|
|
|
+ (user-error "This is a directory path, not a file"))
|
|
|
(if (and (buffer-file-name)
|
|
|
(equal (file-truename file)
|
|
|
(file-truename (buffer-file-name))))
|
|
|
- (error "Please specify a file name that is different from current"))
|
|
|
+ (user-error "Please specify a file name that is different from current"))
|
|
|
(setq fileext (concat (file-name-extension file) "$"))
|
|
|
(unless format
|
|
|
(setq deffmt-readable
|
|
@@ -701,7 +701,7 @@ extension of the given file name, and finally on the variable
|
|
|
skipcols i0)))
|
|
|
|
|
|
(unless (fboundp transform)
|
|
|
- (error "No such transformation function %s" transform))
|
|
|
+ (user-error "No such transformation function %s" transform))
|
|
|
(setq txt (funcall transform table params))
|
|
|
|
|
|
(with-current-buffer (find-file-noselect file)
|
|
@@ -712,7 +712,7 @@ extension of the given file name, and finally on the variable
|
|
|
(save-buffer))
|
|
|
(kill-buffer buf)
|
|
|
(message "Export done."))
|
|
|
- (error "TABLE_EXPORT_FORMAT invalid"))))
|
|
|
+ (user-error "TABLE_EXPORT_FORMAT invalid"))))
|
|
|
|
|
|
(defvar org-table-aligned-begin-marker (make-marker)
|
|
|
"Marker at the beginning of the table last aligned.
|
|
@@ -820,7 +820,7 @@ When nil, simply write \"#ERROR\" in corrupted fields.")
|
|
|
(error
|
|
|
(kill-region beg end)
|
|
|
(org-table-create org-table-default-size)
|
|
|
- (error "Empty table - created default table")))
|
|
|
+ (user-error "Empty table - created default table")))
|
|
|
;; A list of empty strings to fill any short rows on output
|
|
|
(setq emptystrings (make-list maxfields ""))
|
|
|
;; Check for special formatting.
|
|
@@ -847,7 +847,7 @@ When nil, simply write \"#ERROR\" in corrupted fields.")
|
|
|
(concat "Clipped table field, use C-c ` to edit. Full value is:\n" (org-no-properties (copy-sequence xx))))
|
|
|
(setq f1 (min fmax (or (string-match org-bracket-link-regexp xx) fmax)))
|
|
|
(unless (> f1 1)
|
|
|
- (error "Cannot narrow field starting with wide link \"%s\""
|
|
|
+ (user-error "Cannot narrow field starting with wide link \"%s\""
|
|
|
(match-string 0 xx)))
|
|
|
(add-text-properties f1 (length xx) (list 'org-cwidth t) xx)
|
|
|
(add-text-properties (- f1 2) f1
|
|
@@ -1055,7 +1055,7 @@ With numeric argument N, move N-1 fields forward first."
|
|
|
(setq n (1- n))
|
|
|
(org-table-previous-field))
|
|
|
(if (not (re-search-backward "|" (point-at-bol 0) t))
|
|
|
- (error "No more table fields before the current")
|
|
|
+ (user-error "No more table fields before the current")
|
|
|
(goto-char (match-end 0))
|
|
|
(and (looking-at " ") (forward-char 1)))
|
|
|
(if (>= (point) pos) (org-table-beginning-of-field 2))))
|
|
@@ -1152,7 +1152,7 @@ copying. In the case of a timestamp, increment by one day."
|
|
|
(org-table-maybe-recalculate-line))
|
|
|
(org-table-align)
|
|
|
(org-move-to-column col))
|
|
|
- (error "No non-empty field found"))))
|
|
|
+ (user-error "No non-empty field found"))))
|
|
|
|
|
|
(defun org-table-check-inside-data-field (&optional noerror)
|
|
|
"Is point inside a table data field?
|
|
@@ -1164,7 +1164,7 @@ This actually throws an error, so it aborts the current command."
|
|
|
(looking-at "[ \t]*$"))
|
|
|
(if noerror
|
|
|
nil
|
|
|
- (error "Not in table data field"))
|
|
|
+ (user-error "Not in table data field"))
|
|
|
t))
|
|
|
|
|
|
(defvar org-table-clip nil
|
|
@@ -1347,7 +1347,7 @@ However, when FORCE is non-nil, create new columns if necessary."
|
|
|
"Insert a new column into the table."
|
|
|
(interactive)
|
|
|
(if (not (org-at-table-p))
|
|
|
- (error "Not at a table"))
|
|
|
+ (user-error "Not at a table"))
|
|
|
(org-table-find-dataline)
|
|
|
(let* ((col (max 1 (org-table-current-column)))
|
|
|
(beg (org-table-begin))
|
|
@@ -1387,7 +1387,7 @@ However, when FORCE is non-nil, create new columns if necessary."
|
|
|
(if (and (org-at-table-p)
|
|
|
(not (org-at-table-hline-p)))
|
|
|
t
|
|
|
- (error
|
|
|
+ (user-error
|
|
|
"Please position cursor in a data line for column operations")))))
|
|
|
|
|
|
(defun org-table-line-to-dline (line &optional above)
|
|
@@ -1417,7 +1417,7 @@ first dline below it is used. When ABOVE is non-nil, the one above is used."
|
|
|
"Delete a column from the table."
|
|
|
(interactive)
|
|
|
(if (not (org-at-table-p))
|
|
|
- (error "Not at a table"))
|
|
|
+ (user-error "Not at a table"))
|
|
|
(org-table-find-dataline)
|
|
|
(org-table-check-inside-data-field)
|
|
|
(let* ((col (org-table-current-column))
|
|
@@ -1461,7 +1461,7 @@ first dline below it is used. When ABOVE is non-nil, the one above is used."
|
|
|
"Move the current column to the right. With arg LEFT, move to the left."
|
|
|
(interactive "P")
|
|
|
(if (not (org-at-table-p))
|
|
|
- (error "Not at a table"))
|
|
|
+ (user-error "Not at a table"))
|
|
|
(org-table-find-dataline)
|
|
|
(org-table-check-inside-data-field)
|
|
|
(let* ((col (org-table-current-column))
|
|
@@ -1547,7 +1547,7 @@ first dline below it is used. When ABOVE is non-nil, the one above is used."
|
|
|
With prefix ARG, insert below the current line."
|
|
|
(interactive "P")
|
|
|
(if (not (org-at-table-p))
|
|
|
- (error "Not at a table"))
|
|
|
+ (user-error "Not at a table"))
|
|
|
(let* ((line (buffer-substring (point-at-bol) (point-at-eol)))
|
|
|
(new (org-table-clean-line line)))
|
|
|
;; Fix the first field if necessary
|
|
@@ -1569,7 +1569,7 @@ With prefix ARG, insert below the current line."
|
|
|
With prefix ABOVE, insert above the current line."
|
|
|
(interactive "P")
|
|
|
(if (not (org-at-table-p))
|
|
|
- (error "Not at a table"))
|
|
|
+ (user-error "Not at a table"))
|
|
|
(when (eobp) (insert "\n") (backward-char 1))
|
|
|
(if (not (string-match "|[ \t]*$" (org-current-line-string)))
|
|
|
(org-table-align))
|
|
@@ -1619,7 +1619,7 @@ In particular, this does handle wide and invisible characters."
|
|
|
"Delete the current row or horizontal line from the table."
|
|
|
(interactive)
|
|
|
(if (not (org-at-table-p))
|
|
|
- (error "Not at a table"))
|
|
|
+ (user-error "Not at a table"))
|
|
|
(let ((col (current-column))
|
|
|
(dline (org-table-current-dline)))
|
|
|
(kill-region (point-at-bol) (min (1+ (point-at-eol)) (point-max)))
|
|
@@ -1771,7 +1771,7 @@ the table is enlarged as needed. The process ignores horizontal separator
|
|
|
lines."
|
|
|
(interactive)
|
|
|
(unless (and org-table-clip (listp org-table-clip))
|
|
|
- (error "First cut/copy a region to paste!"))
|
|
|
+ (user-error "First cut/copy a region to paste!"))
|
|
|
(org-table-check-inside-data-field)
|
|
|
(let* ((clip org-table-clip)
|
|
|
(line (org-current-line))
|
|
@@ -1900,7 +1900,7 @@ blank, and the content is appended to the field above."
|
|
|
nlines)
|
|
|
(org-table-cut-region (region-beginning) (region-end))
|
|
|
(if (> (length (car org-table-clip)) 1)
|
|
|
- (error "Region must be limited to single column"))
|
|
|
+ (user-error "Region must be limited to single column"))
|
|
|
(setq nlines (if arg
|
|
|
(if (< arg 1)
|
|
|
(+ (length org-table-clip) arg)
|
|
@@ -2069,12 +2069,12 @@ If NLAST is a number, only the NLAST fields will actually be summed."
|
|
|
(setq col (org-table-current-column))
|
|
|
(goto-char (org-table-begin))
|
|
|
(unless (re-search-forward "^[ \t]*|[^-]" nil t)
|
|
|
- (error "No table data"))
|
|
|
+ (user-error "No table data"))
|
|
|
(org-table-goto-column col)
|
|
|
(setq beg (point))
|
|
|
(goto-char (org-table-end))
|
|
|
(unless (re-search-backward "^[ \t]*|[^-]" nil t)
|
|
|
- (error "No table data"))
|
|
|
+ (user-error "No table data"))
|
|
|
(org-table-goto-column col)
|
|
|
(setq end (point))))
|
|
|
(let* ((items (apply 'append (org-table-copy-region beg end)))
|
|
@@ -2159,7 +2159,7 @@ When NAMED is non-nil, look for a named equation."
|
|
|
(int-to-string (org-table-current-column))))
|
|
|
(dummy (and (or nameass refass) (not named)
|
|
|
(not (y-or-n-p "Replace existing field formula with column formula? " ))
|
|
|
- (error "Abort")))
|
|
|
+ (message "Formula not replaced")))
|
|
|
(name (or name ref))
|
|
|
(org-table-may-need-update nil)
|
|
|
(stored (cdr (assoc scol stored-list)))
|
|
@@ -2183,7 +2183,7 @@ When NAMED is non-nil, look for a named equation."
|
|
|
;; remove formula
|
|
|
(setq stored-list (delq (assoc scol stored-list) stored-list))
|
|
|
(org-table-store-formulas stored-list)
|
|
|
- (error "Formula removed"))
|
|
|
+ (user-error "Formula removed"))
|
|
|
(if (string-match "^ *=?" eq) (setq eq (replace-match "" t t eq)))
|
|
|
(if (string-match " *$" eq) (setq eq (replace-match "" t t eq)))
|
|
|
(if (and name (not named))
|
|
@@ -2268,7 +2268,7 @@ When NAMED is non-nil, look for a named equation."
|
|
|
(message "Double definition `$%s=' in TBLFM line, please fix by hand" scol)
|
|
|
(ding)
|
|
|
(sit-for 2))
|
|
|
- (error "Double definition `$%s=' in TBLFM line, please fix by hand" scol))
|
|
|
+ (user-error "Double definition `$%s=' in TBLFM line, please fix by hand" scol))
|
|
|
(push scol seen))))))
|
|
|
(nreverse eq-alist)))
|
|
|
|
|
@@ -2292,7 +2292,7 @@ For all numbers larger than LIMIT, shift them by DELTA."
|
|
|
(while (re-search-forward re2 (point-at-eol) t)
|
|
|
(unless (save-match-data (org-in-regexp "remote([^)]+?)"))
|
|
|
(if (equal (char-before (match-beginning 0)) ?.)
|
|
|
- (error "Change makes TBLFM term %s invalid, use undo to recover"
|
|
|
+ (user-error "Change makes TBLFM term %s invalid, use undo to recover"
|
|
|
(match-string 0))
|
|
|
(replace-match "")))))
|
|
|
(while (re-search-forward re (point-at-eol) t)
|
|
@@ -2399,7 +2399,7 @@ If yes, store the formula and apply it."
|
|
|
(equal (substring eq 0 (min 2 (length eq))) "'("))
|
|
|
(org-table-eval-formula (if named '(4) nil)
|
|
|
(org-table-formula-from-user eq))
|
|
|
- (error "Calc does not seem to be installed, and is needed to evaluate the formula"))))))
|
|
|
+ (user-error "Calc does not seem to be installed, and is needed to evaluate the formula"))))))
|
|
|
|
|
|
(defvar org-recalc-commands nil
|
|
|
"List of commands triggering the recalculation of a line.
|
|
@@ -2424,7 +2424,7 @@ after prompting for the marking character.
|
|
|
After each change, a message will be displayed indicating the meaning
|
|
|
of the new mark."
|
|
|
(interactive)
|
|
|
- (unless (org-at-table-p) (error "Not at a table"))
|
|
|
+ (unless (org-at-table-p) (user-error "Not at a table"))
|
|
|
(let* ((marks (append (mapcar 'car org-recalc-marks) '(" ")))
|
|
|
(beg (org-table-begin))
|
|
|
(end (org-table-end))
|
|
@@ -2443,13 +2443,13 @@ of the new mark."
|
|
|
(setq newchar (char-to-string (read-char-exclusive))
|
|
|
forcenew (car (assoc newchar org-recalc-marks))))
|
|
|
(if (and newchar (not forcenew))
|
|
|
- (error "Invalid NEWCHAR `%s' in `org-table-rotate-recalc-marks'"
|
|
|
+ (user-error "Invalid NEWCHAR `%s' in `org-table-rotate-recalc-marks'"
|
|
|
newchar))
|
|
|
(if l1 (org-goto-line l1))
|
|
|
(save-excursion
|
|
|
(beginning-of-line 1)
|
|
|
(unless (looking-at org-table-dataline-regexp)
|
|
|
- (error "Not at a table data line")))
|
|
|
+ (user-error "Not at a table data line")))
|
|
|
(unless have-col
|
|
|
(org-table-goto-column 1)
|
|
|
(org-table-insert-column)
|
|
@@ -2544,7 +2544,7 @@ not overwrite the stored one."
|
|
|
(or suppress-analysis (org-table-get-specials))
|
|
|
(if (equal arg '(16))
|
|
|
(let ((eq (org-table-current-field-formula)))
|
|
|
- (or eq (error "No equation active for current field"))
|
|
|
+ (or eq (user-error "No equation active for current field"))
|
|
|
(org-table-get-field nil eq)
|
|
|
(org-table-align)
|
|
|
(setq org-table-may-need-update t))
|
|
@@ -2676,7 +2676,7 @@ not overwrite the stored one."
|
|
|
(if (not (save-match-data
|
|
|
(string-match (regexp-quote form) formrpl)))
|
|
|
(setq form (replace-match formrpl t t form))
|
|
|
- (error "Spreadsheet error: invalid reference \"%s\"" form)))
|
|
|
+ (user-error "Spreadsheet error: invalid reference \"%s\"" form)))
|
|
|
;; Insert simple ranges
|
|
|
(while (string-match "\\$\\([0-9]+\\)\\.\\.\\$\\([0-9]+\\)" form)
|
|
|
(setq form
|
|
@@ -2694,7 +2694,7 @@ not overwrite the stored one."
|
|
|
(setq n (+ (string-to-number (match-string 1 form))
|
|
|
(if (match-end 2) n0 0))
|
|
|
x (nth (1- (if (= n 0) n0 (max n 1))) fields))
|
|
|
- (unless x (error "Invalid field specifier \"%s\""
|
|
|
+ (unless x (user-error "Invalid field specifier \"%s\""
|
|
|
(match-string 0 form)))
|
|
|
(setq form (replace-match
|
|
|
(save-match-data
|
|
@@ -2705,13 +2705,13 @@ not overwrite the stored one."
|
|
|
(if lispp
|
|
|
(setq ev (condition-case nil
|
|
|
(eval (eval (read form)))
|
|
|
- (error "#ERROR"))
|
|
|
+ (user-error "#ERROR"))
|
|
|
ev (if (numberp ev) (number-to-string ev) ev)
|
|
|
ev (if duration (org-table-time-seconds-to-string
|
|
|
(string-to-number ev)
|
|
|
duration-output-format) ev))
|
|
|
(or (fboundp 'calc-eval)
|
|
|
- (error "Calc does not seem to be installed, and is needed to evaluate the formula"))
|
|
|
+ (user-error "Calc does not seem to be installed, and is needed to evaluate the formula"))
|
|
|
;; Use <...> time-stamps so that Calc can handle them
|
|
|
(setq form (replace-regexp-in-string org-ts-regexp3 "<\\1>" form))
|
|
|
;; I18n-ize local time-stamps by setting (system-time-locale "C")
|
|
@@ -2754,7 +2754,7 @@ $1-> %s\n" orig formula form0 form))
|
|
|
(unless (let (inhibit-redisplay)
|
|
|
(y-or-n-p "Debugging Formula. Continue to next? "))
|
|
|
(org-table-align)
|
|
|
- (error "Abort"))
|
|
|
+ (user-error "Abort"))
|
|
|
(delete-window bw)
|
|
|
(message "")))
|
|
|
(if (listp ev) (setq fmt nil ev "#ERROR"))
|
|
@@ -2792,7 +2792,7 @@ in the buffer and column1 and column2 are table column numbers."
|
|
|
(let ((thisline (org-current-line))
|
|
|
beg end c1 c2 r1 r2 rangep tmp)
|
|
|
(unless (string-match org-table-range-regexp desc)
|
|
|
- (error "Invalid table range specifier `%s'" desc))
|
|
|
+ (user-error "Invalid table range specifier `%s'" desc))
|
|
|
(setq rangep (match-end 3)
|
|
|
r1 (and (match-end 1) (match-string 1 desc))
|
|
|
r2 (and (match-end 4) (match-string 4 desc))
|
|
@@ -2860,7 +2860,7 @@ and TABLE is a vector with line types."
|
|
|
;; 1 2 3 4 5 6
|
|
|
(and (not (match-end 3)) (not (match-end 6)))
|
|
|
(and (match-end 3) (match-end 6) (not (match-end 5))))
|
|
|
- (error "Invalid row descriptor `%s'" desc))
|
|
|
+ (user-error "Invalid row descriptor `%s'" desc))
|
|
|
(let* ((hdir (and (match-end 2) (match-string 2 desc)))
|
|
|
(hn (if (match-end 3) (- (match-end 3) (match-beginning 3)) nil))
|
|
|
(odir (and (match-end 5) (match-string 5 desc)))
|
|
@@ -2874,7 +2874,7 @@ and TABLE is a vector with line types."
|
|
|
(setq i 0 hdir "+")
|
|
|
(if (eq (aref table 0) 'hline) (setq hn (1- hn)))))
|
|
|
(if (and (not hn) on (not odir))
|
|
|
- (error "Should never happen");;(aref org-table-dlines on)
|
|
|
+ (user-error "Should never happen");;(aref org-table-dlines on)
|
|
|
(if (and hn (> hn 0))
|
|
|
(setq i (org-table-find-row-type table i 'hline (equal hdir "-")
|
|
|
nil hn cline desc)))
|
|
@@ -2894,20 +2894,20 @@ and TABLE is a vector with line types."
|
|
|
(cond
|
|
|
((eq org-table-relative-ref-may-cross-hline t) t)
|
|
|
((eq org-table-relative-ref-may-cross-hline 'error)
|
|
|
- (error "Row descriptor %s used in line %d crosses hline" desc cline))
|
|
|
+ (user-error "Row descriptor %s used in line %d crosses hline" desc cline))
|
|
|
(t (setq i (- i (if backwards -1 1))
|
|
|
n 1)
|
|
|
nil))
|
|
|
t)))
|
|
|
(setq n (1- n)))
|
|
|
(if (or (< i 0) (>= i l))
|
|
|
- (error "Row descriptor %s used in line %d leads outside table"
|
|
|
+ (user-error "Row descriptor %s used in line %d leads outside table"
|
|
|
desc cline)
|
|
|
i)))
|
|
|
|
|
|
(defun org-table-rewrite-old-row-references (s)
|
|
|
(if (string-match "&[-+0-9I]" s)
|
|
|
- (error "Formula contains old &row reference, please rewrite using @-syntax")
|
|
|
+ (user-error "Formula contains old &row reference, please rewrite using @-syntax")
|
|
|
s))
|
|
|
|
|
|
(defun org-table-make-reference (elements keep-empty numbers lispp)
|
|
@@ -2971,7 +2971,7 @@ known that the table will be realigned a little later anyway."
|
|
|
(interactive "P")
|
|
|
(or (memq this-command org-recalc-commands)
|
|
|
(setq org-recalc-commands (cons this-command org-recalc-commands)))
|
|
|
- (unless (org-at-table-p) (error "Not at a table"))
|
|
|
+ (unless (org-at-table-p) (user-error "Not at a table"))
|
|
|
(if (or (eq all 'iterate) (equal all '(16)))
|
|
|
(org-table-iterate)
|
|
|
(org-table-get-specials)
|
|
@@ -2994,7 +2994,7 @@ known that the table will be realigned a little later anyway."
|
|
|
(car x)) 1)
|
|
|
(cdr x)))
|
|
|
(if (assoc (car x) eqlist1)
|
|
|
- (error "\"%s=\" formula tries to overwrite existing formula for column %s"
|
|
|
+ (user-error "\"%s=\" formula tries to overwrite existing formula for column %s"
|
|
|
lhs1 (car x))))
|
|
|
(cons
|
|
|
(org-table-formula-handle-first/last-rc (car x))
|
|
@@ -3039,7 +3039,7 @@ known that the table will be realigned a little later anyway."
|
|
|
(if a (setq name1 (format "@%d$%d" (org-table-line-to-dline (nth 1 a))
|
|
|
(nth 2 a))))
|
|
|
(when (member name1 seen-fields)
|
|
|
- (error "Several field/range formulas try to set %s" name1))
|
|
|
+ (user-error "Several field/range formulas try to set %s" name1))
|
|
|
(push name1 seen-fields)
|
|
|
|
|
|
(and (not a)
|
|
@@ -3048,7 +3048,7 @@ known that the table will be realigned a little later anyway."
|
|
|
(condition-case nil
|
|
|
(aref org-table-dlines
|
|
|
(string-to-number (match-string 1 name)))
|
|
|
- (error (error "Invalid row number in %s"
|
|
|
+ (error (user-error "Invalid row number in %s"
|
|
|
name)))
|
|
|
(string-to-number (match-string 2 name)))))
|
|
|
(when (and a (or all (equal (nth 1 a) thisline)))
|
|
@@ -3118,7 +3118,7 @@ with the prefix ARG."
|
|
|
(message "Convergence after %d iterations" i)
|
|
|
(message "Table was already stable"))
|
|
|
(throw 'exit t)))
|
|
|
- (error "No convergence after %d iterations" i))))
|
|
|
+ (user-error "No convergence after %d iterations" i))))
|
|
|
|
|
|
;;;###autoload
|
|
|
(defun org-table-recalculate-buffer-tables ()
|
|
@@ -3149,7 +3149,7 @@ with the prefix ARG."
|
|
|
(message "Convergence after %d iterations" (- imax i))
|
|
|
(throw 'exit t))
|
|
|
(setq checksum c1)))
|
|
|
- (error "No convergence after %d iterations" imax))))))
|
|
|
+ (user-error "No convergence after %d iterations" imax))))))
|
|
|
|
|
|
(defun org-table-expand-lhs-ranges (equations)
|
|
|
"Expand list of formulas.
|
|
@@ -3207,7 +3207,7 @@ borders of the table using the @< @> $< $> makers."
|
|
|
len
|
|
|
(- nmax len -1)))
|
|
|
(if (or (< n 1) (> n nmax))
|
|
|
- (error "Reference \"%s\" in expression \"%s\" points outside table"
|
|
|
+ (user-error "Reference \"%s\" in expression \"%s\" points outside table"
|
|
|
(match-string 0 s) s))
|
|
|
(setq start (match-beginning 0))
|
|
|
(setq s (replace-match (format "%s%d" (match-string 1 s) n) t t s)))))
|
|
@@ -3306,7 +3306,7 @@ Parameters get priority."
|
|
|
(interactive)
|
|
|
(when (save-excursion (beginning-of-line 1) (let ((case-fold-search t)) (looking-at "[ \t]*#\\+TBLFM")))
|
|
|
(beginning-of-line 0))
|
|
|
- (unless (org-at-table-p) (error "Not at a table"))
|
|
|
+ (unless (org-at-table-p) (user-error "Not at a table"))
|
|
|
(org-table-get-specials)
|
|
|
(let ((key (org-table-current-field-formula 'key 'noerror))
|
|
|
(eql (sort (org-table-get-stored-formulas 'noerror)
|
|
@@ -3528,7 +3528,7 @@ minutes or seconds."
|
|
|
((org-at-regexp-p "\\(\\<[a-zA-Z]\\)&")
|
|
|
(if (memq dir '(left right))
|
|
|
(org-rematch-and-replace 1 (eq dir 'left))
|
|
|
- (error "Cannot shift reference in this direction")))
|
|
|
+ (user-error "Cannot shift reference in this direction")))
|
|
|
((org-at-regexp-p "\\(\\<[a-zA-Z]\\{1,2\\}\\)\\([0-9]+\\)")
|
|
|
;; A B3-like reference
|
|
|
(if (memq dir '(up down))
|
|
@@ -3543,7 +3543,7 @@ minutes or seconds."
|
|
|
|
|
|
(defun org-rematch-and-replace (n &optional decr hline)
|
|
|
"Re-match the group N, and replace it with the shifted reference."
|
|
|
- (or (match-end n) (error "Cannot shift reference in this direction"))
|
|
|
+ (or (match-end n) (user-error "Cannot shift reference in this direction"))
|
|
|
(goto-char (match-beginning n))
|
|
|
(and (looking-at (regexp-quote (match-string n)))
|
|
|
(replace-match (org-table-shift-refpart (match-string 0) decr hline)
|
|
@@ -3579,7 +3579,7 @@ a translation reference."
|
|
|
(org-number-to-letters
|
|
|
(max 1 (+ (org-letters-to-number ref) (if decr -1 1)))))
|
|
|
|
|
|
- (t (error "Cannot shift reference"))))))
|
|
|
+ (t (user-error "Cannot shift reference"))))))
|
|
|
|
|
|
(defun org-table-fedit-toggle-coordinates ()
|
|
|
"Toggle the display of coordinates in the referenced table."
|
|
@@ -3611,14 +3611,14 @@ With prefix ARG, apply the new formulas to the table."
|
|
|
(while (string-match "[ \t]*\n[ \t]*" form)
|
|
|
(setq form (replace-match " " t t form)))
|
|
|
(when (assoc var eql)
|
|
|
- (error "Double formulas for %s" var))
|
|
|
+ (user-error "Double formulas for %s" var))
|
|
|
(push (cons var form) eql)))
|
|
|
(setq org-pos nil)
|
|
|
(set-window-configuration org-window-configuration)
|
|
|
(select-window sel-win)
|
|
|
(goto-char pos)
|
|
|
(unless (org-at-table-p)
|
|
|
- (error "Lost table position - cannot install formulas"))
|
|
|
+ (user-error "Lost table position - cannot install formulas"))
|
|
|
(org-table-store-formulas eql)
|
|
|
(move-marker pos nil)
|
|
|
(kill-buffer "*Edit Formulas*")
|
|
@@ -3648,14 +3648,14 @@ With prefix ARG, apply the new formulas to the table."
|
|
|
(call-interactively 'lisp-indent-line))
|
|
|
((looking-at "[$&@0-9a-zA-Z]+ *= *[^ \t\n']") (goto-char pos))
|
|
|
((not (fboundp 'pp-buffer))
|
|
|
- (error "Cannot pretty-print. Command `pp-buffer' is not available"))
|
|
|
+ (user-error "Cannot pretty-print. Command `pp-buffer' is not available"))
|
|
|
((looking-at "[$&@0-9a-zA-Z]+ *= *'(")
|
|
|
(goto-char (- (match-end 0) 2))
|
|
|
(setq beg (point))
|
|
|
(setq ind (make-string (current-column) ?\ ))
|
|
|
(condition-case nil (forward-sexp 1)
|
|
|
(error
|
|
|
- (error "Cannot pretty-print Lisp expression: Unbalanced parenthesis")))
|
|
|
+ (user-error "Cannot pretty-print Lisp expression: Unbalanced parenthesis")))
|
|
|
(setq end (point))
|
|
|
(save-restriction
|
|
|
(narrow-to-region beg end)
|
|
@@ -3707,7 +3707,7 @@ With prefix ARG, apply the new formulas to the table."
|
|
|
((org-at-regexp-p "\\$[a-zA-Z][a-zA-Z0-9]*") 'name)
|
|
|
((org-at-regexp-p "\\$[0-9]+") 'column)
|
|
|
((not local) nil)
|
|
|
- (t (error "No reference at point")))
|
|
|
+ (t (user-error "No reference at point")))
|
|
|
match (and what (or match (match-string 0))))
|
|
|
(when (and match (not (equal (match-beginning 0) (point-at-bol))))
|
|
|
(org-table-add-rectangle-overlay (match-beginning 0) (match-end 0)
|
|
@@ -3774,7 +3774,7 @@ With prefix ARG, apply the new formulas to the table."
|
|
|
(goto-char (match-beginning 1))
|
|
|
(org-table-highlight-rectangle)
|
|
|
(message "Named column (column %s)" (cdr e)))
|
|
|
- (error "Column name not found")))
|
|
|
+ (user-error "Column name not found")))
|
|
|
((eq what 'column)
|
|
|
;; column number
|
|
|
(org-table-goto-column (string-to-number (substring match 1)))
|
|
@@ -3787,10 +3787,10 @@ With prefix ARG, apply the new formulas to the table."
|
|
|
(goto-char (match-beginning 1))
|
|
|
(org-table-highlight-rectangle)
|
|
|
(message "Local parameter."))
|
|
|
- (error "Parameter not found")))
|
|
|
+ (user-error "Parameter not found")))
|
|
|
(t
|
|
|
(cond
|
|
|
- ((not var) (error "No reference at point"))
|
|
|
+ ((not var) (user-error "No reference at point"))
|
|
|
((setq e (assoc var org-table-formula-constants-local))
|
|
|
(message "Local Constant: $%s=%s in #+CONSTANTS line."
|
|
|
var (cdr e)))
|
|
@@ -3800,7 +3800,7 @@ With prefix ARG, apply the new formulas to the table."
|
|
|
((setq e (and (fboundp 'constants-get) (constants-get var)))
|
|
|
(message "Constant: $%s=%s, from `constants.el'%s."
|
|
|
var e (format " (%s units)" constants-unit-system)))
|
|
|
- (t (error "Undefined name $%s" var)))))
|
|
|
+ (t (user-error "Undefined name $%s" var)))))
|
|
|
(goto-char pos)
|
|
|
(when (and org-show-positions
|
|
|
(not (memq this-command '(org-table-fedit-scroll
|
|
@@ -3826,7 +3826,7 @@ With prefix ARG, apply the new formulas to the table."
|
|
|
(goto-char (if (< (abs (- p1 (point))) (abs (- p2 (point))))
|
|
|
p1 p2)))
|
|
|
((or p1 p2) (goto-char (or p1 p2)))
|
|
|
- (t (error "No table dataline around here"))))))
|
|
|
+ (t (user-error "No table dataline around here"))))))
|
|
|
|
|
|
(defun org-table-fedit-line-up ()
|
|
|
"Move cursor one line up in the window showing the table."
|
|
@@ -4091,7 +4091,7 @@ to execute outside of tables."
|
|
|
(defun orgtbl-error ()
|
|
|
"Error when there is no default binding for a table key."
|
|
|
(interactive)
|
|
|
- (error "This key has no function outside tables"))
|
|
|
+ (user-error "This key has no function outside tables"))
|
|
|
|
|
|
(defun orgtbl-setup ()
|
|
|
"Setup orgtbl keymaps."
|
|
@@ -4362,7 +4362,7 @@ overwritten, and the table is not marked as requiring realignment."
|
|
|
org-table-last-alignment org-table-last-column-widths
|
|
|
maxcol column)
|
|
|
(if (not (fboundp func))
|
|
|
- (error "Cannot export orgtbl table to %s" target))
|
|
|
+ (user-error "Cannot export orgtbl table to %s" target))
|
|
|
(setq lines (org-table-clean-before-export lines))
|
|
|
(setq table
|
|
|
(mapcar
|
|
@@ -4403,14 +4403,14 @@ a radio table."
|
|
|
(goto-char (point-min))
|
|
|
(unless (re-search-forward
|
|
|
(concat "BEGIN RECEIVE ORGTBL +" name "\\([ \t]\\|$\\)") nil t)
|
|
|
- (error "Don't know where to insert translated table"))
|
|
|
+ (user-error "Don't know where to insert translated table"))
|
|
|
(goto-char (match-beginning 0))
|
|
|
(beginning-of-line 2)
|
|
|
(save-excursion
|
|
|
(let ((beg (point)))
|
|
|
(unless (re-search-forward
|
|
|
(concat "END RECEIVE ORGTBL +" name) nil t)
|
|
|
- (error "Cannot find end of insertion region"))
|
|
|
+ (user-error "Cannot find end of insertion region"))
|
|
|
(beginning-of-line 1)
|
|
|
(delete-region beg (point))))
|
|
|
(insert txt "\n")))
|
|
@@ -4423,7 +4423,7 @@ for a horizontal separator line, or a list of field values as strings.
|
|
|
The table is taken from the parameter TXT, or from the buffer at point."
|
|
|
(unless txt
|
|
|
(unless (org-at-table-p)
|
|
|
- (error "No table at point")))
|
|
|
+ (user-error "No table at point")))
|
|
|
(let* ((txt (or txt
|
|
|
(buffer-substring-no-properties (org-table-begin)
|
|
|
(org-table-end))))
|
|
@@ -4442,7 +4442,7 @@ With argument MAYBE, fail quietly if no transformation is defined for
|
|
|
this table."
|
|
|
(interactive)
|
|
|
(catch 'exit
|
|
|
- (unless (org-at-table-p) (error "Not at a table"))
|
|
|
+ (unless (org-at-table-p) (user-error "Not at a table"))
|
|
|
;; when non-interactive, we assume align has just happened.
|
|
|
(when (org-called-interactively-p 'any) (org-table-align))
|
|
|
(let ((dests (orgtbl-gather-send-defs))
|
|
@@ -4450,7 +4450,7 @@ this table."
|
|
|
(org-table-end)))
|
|
|
(ntbl 0))
|
|
|
(unless dests (if maybe (throw 'exit nil)
|
|
|
- (error "Don't know how to transform this table")))
|
|
|
+ (user-error "Don't know how to transform this table")))
|
|
|
(dolist (dest dests)
|
|
|
(let* ((name (plist-get dest :name))
|
|
|
(transform (plist-get dest :transform))
|
|
@@ -4483,7 +4483,7 @@ this table."
|
|
|
skipcols i0))
|
|
|
(txt (if (fboundp transform)
|
|
|
(funcall transform table params)
|
|
|
- (error "No such transformation function %s" transform))))
|
|
|
+ (user-error "No such transformation function %s" transform))))
|
|
|
(orgtbl-send-replace-tbl name txt))
|
|
|
(setq ntbl (1+ ntbl)))
|
|
|
(message "Table converted and installed at %d receiver location%s"
|
|
@@ -4513,7 +4513,7 @@ First element has index 0, or I0 if given."
|
|
|
(commented (save-excursion (beginning-of-line 1)
|
|
|
(cond ((looking-at re1) t)
|
|
|
((looking-at re2) nil)
|
|
|
- (t (error "Not at an org table")))))
|
|
|
+ (t (user-error "Not at an org table")))))
|
|
|
(re (if commented re1 re2))
|
|
|
beg end)
|
|
|
(save-excursion
|
|
@@ -4531,7 +4531,7 @@ First element has index 0, or I0 if given."
|
|
|
(let* ((e (assq major-mode orgtbl-radio-table-templates))
|
|
|
(txt (nth 1 e))
|
|
|
name pos)
|
|
|
- (unless e (error "No radio table setup defined for %s" major-mode))
|
|
|
+ (unless e (user-error "No radio table setup defined for %s" major-mode))
|
|
|
(setq name (read-string "Table name: "))
|
|
|
(while (string-match "%n" txt)
|
|
|
(setq txt (replace-match name t t txt)))
|
|
@@ -4898,7 +4898,7 @@ it here: http://gnuvola.org/software/j/aa2u/ascii-art-to-unicode.el."
|
|
|
(unless (delq nil (mapcar (lambda (l) (string-match "aa2u" (car l))) org-stored-links))
|
|
|
(push '("http://gnuvola.org/software/j/aa2u/ascii-art-to-unicode.el"
|
|
|
"Link to ascii-art-to-unicode.el") org-stored-links))
|
|
|
- (error "Please download ascii-art-to-unicode.el (use C-c C-l to insert the link to it)"))
|
|
|
+ (user-error "Please download ascii-art-to-unicode.el (use C-c C-l to insert the link to it)"))
|
|
|
(buffer-string)))
|
|
|
|
|
|
(defun org-table-get-remote-range (name-or-id form)
|
|
@@ -4939,7 +4939,7 @@ list of the fields in the rectangle ."
|
|
|
(setq buffer (current-buffer) loc (match-beginning 0))
|
|
|
(setq id-loc (org-id-find name-or-id 'marker))
|
|
|
(unless (and id-loc (markerp id-loc))
|
|
|
- (error "Can't find remote table \"%s\"" name-or-id))
|
|
|
+ (user-error "Can't find remote table \"%s\"" name-or-id))
|
|
|
(setq buffer (marker-buffer id-loc)
|
|
|
loc (marker-position id-loc))
|
|
|
(move-marker id-loc nil)))
|
|
@@ -4951,7 +4951,7 @@ list of the fields in the rectangle ."
|
|
|
(forward-char 1)
|
|
|
(unless (and (re-search-forward "^\\(\\*+ \\)\\|[ \t]*|" nil t)
|
|
|
(not (match-beginning 1)))
|
|
|
- (error "Cannot find a table at NAME or ID %s" name-or-id))
|
|
|
+ (user-error "Cannot find a table at NAME or ID %s" name-or-id))
|
|
|
(setq tbeg (point-at-bol))
|
|
|
(org-table-get-specials)
|
|
|
(setq form (org-table-formula-substitute-names
|