From b34982368728d791c80e21f07f5046a050292f2d Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Sat, 27 Mar 2010 16:13:45 +0100 Subject: [PATCH] Tables: Interpret as fixed width, not maximum width Requested by Michael Brand --- doc/ChangeLog | 5 +++++ doc/org.texi | 14 +++++++------- lisp/ChangeLog | 5 +++++ lisp/org-table.el | 4 +++- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index c03b49375..7f9a514ca 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2010-03-27 Carsten Dominik + + * org.texi (Column width and alignment): Document that now + means a fixed width, not a maximum width. + 2010-03-26 Carsten Dominik * org.texi (Publishing options): Document the :email option. diff --git a/doc/org.texi b/doc/org.texi index 309f9a872..671df0c0d 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -1825,13 +1825,13 @@ The width of columns is automatically determined by the table editor. And also the alignment of a column is determined automatically from the fraction of number-like versus non-number fields in the column. -Sometimes a single field or a few fields need to carry more text, -leading to inconveniently wide columns. To limit@footnote{This feature -does not work on XEmacs.} the width of a column, one field anywhere in -the column may contain just the string @samp{} where @samp{N} is an -integer specifying the width of the column in characters. The next -re-align will then set the width of this column to no more than this -value. +Sometimes a single field or a few fields need to carry more text, leading to +inconveniently wide columns. Or maybe you want to make a table with several +columns having a fixed width, regardless of content. To set@footnote{This +feature does not work on XEmacs.} the width of a column, one field anywhere +in the column may contain just the string @samp{} where @samp{N} is an +integer specifying the width of the column in characters. The next re-align +will then set the width of this column to this value. @example @group diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2d18280fc..848c42c82 100755 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-03-27 Carsten Dominik + + * org-table.el (org-table-align): Interpret at fixed width, + not as maximum width. + 2010-03-26 Carsten Dominik * org-exp.el (org-export-author-info, org-export-email-info): Fix diff --git a/lisp/org-table.el b/lisp/org-table.el index 96146085f..f26ad2e6e 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -662,6 +662,7 @@ When nil, simply write \"#ERROR\" in corrupted fields.") (while (< (setq i (1+ i)) maxfields) ;; Loop over all columns (setq column (mapcar (lambda (x) (or (nth i x) "")) fields)) ;; Check if there is an explicit width specified + (setq fmax nil) (when (or narrow falign) (setq c column fmax nil falign1 nil) (while c @@ -687,7 +688,8 @@ When nil, simply write \"#ERROR\" in corrupted fields.") (list 'display org-narrow-column-arrow) xx))))) ;; Get the maximum width for each column - (push (apply 'max 1 (mapcar 'org-string-width column)) lengths) + (push (apply 'max (or fmax 1) 1 (mapcar 'org-string-width column)) + lengths) ;; Get the fraction of numbers, to decide about alignment of the column (if falign1 (push (equal (downcase falign1) "r") typenums) -- 2.11.4.GIT