diff --git a/contrib/babel/lisp/langs/org-babel-C.el b/contrib/babel/lisp/langs/org-babel-C.el index 9ed04a26a..9a7627e3d 100644 --- a/contrib/babel/lisp/langs/org-babel-C.el +++ b/contrib/babel/lisp/langs/org-babel-C.el @@ -122,7 +122,8 @@ called by `org-babel-execute-src-block'." (progn (with-current-buffer error-buf (goto-char (point-max)) - (insert (concat "\n\n--body--\n" full-body))) + (insert (concat "\n\n--body--\n" full-body)) + (goto-char (point-min))) (display-buffer error-buf) nil)))) (defun org-babel-C-ensure-main-wrap (body) @@ -144,15 +145,25 @@ called by `org-babel-execute-src-block'." (defun org-babel-C-var-to-C (pair) "Convert an elisp val into a string of C code specifying a var of the same value. TODO list support." - (let* ((var (car pair)) - (val (cdr pair)) - (type (cond - ((integerp val) "int") - ((floatp val) "double") - ((characterp val) "char") - ((stringp val) (format "char[%d]" (length val))) - (t "u32")))) - (format "%s %S = %S;" type var val))) + (let ((var (car pair)) + (val (cdr pair))) + (when (symbolp val) + (setq val (symbol-name val)) + (when (= (length val) 1) + (setq val (string-to-char val)))) + (cond + ((integerp val) + (format "int %S = %S;" var val)) + ((floatp val) + (format "double %S = %S;" var val)) + ((or (characterp val)) + (format "char %S = '%S';" var val)) + ((stringp val) + (format "char %S[%d] = \"%s\";" + var (+ 1 (length val)) val)) + (t + (format "u32 %S = %S;" var val))))) + (provide 'org-babel-C) ;;; org-babel-C.el ends here 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 8f535aa68..848c42c82 100755 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,13 @@ +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 + docstrings. + * org-beamer.el (org-beamer-select-environment): Renamed from `org-beamer-set-environment-tag'. Improve docstring. diff --git a/lisp/org-exp.el b/lisp/org-exp.el index 68a8cc569..f4e89f4fa 100644 --- a/lisp/org-exp.el +++ b/lisp/org-exp.el @@ -312,7 +312,7 @@ headline Only export the headline, but skip the tree below it." "Non-nil means insert author name and email into the exported file. This option can also be set with the +OPTIONS line, -e.g. \"author-info:nil\"." +e.g. \"author:nil\"." :group 'org-export-general :type 'boolean) @@ -320,7 +320,7 @@ e.g. \"author-info:nil\"." "Non-nil means insert author name and email into the exported file. This option can also be set with the +OPTIONS line, -e.g. \"email-info:t\"." +e.g. \"email:t\"." :group 'org-export-general :type 'boolean) 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)