emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Bug: right-alignment fails in column view [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)]
@ 2017-05-18 13:28 Hendrik Tews
  2017-05-20 20:14 ` Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Hendrik Tews @ 2017-05-18 13:28 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

in section 7.5.1.2 Column attributes, the manual says

    Numbers are right-aligned when a format specifier with an
    explicit width like ‘%5d’ or ‘%5.1f’ is used.

However, I see something similar to

       5.0 | * a        |
    5.0    | ** b       |

when I start column view for

* a
** b
  :PROPERTIES:
  :XX:   5.0
  :END:

#+COLUMNS: %6XX{+;%6.1f} %10ITEM

Thanks,

Hendrik Tews


Emacs  : GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.12)
 of 2017-04-29 on trouble, modified by Debian
Package: Org mode version 9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)

current state:
==============
(setq
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe
		      org-babel-header-arg-expand)
 org-speed-command-hook '(org-speed-command-activate
			  org-babel-speed-command-activate)
 org-occur-hook '(org-first-headline-recenter)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-confirm-shell-link-function 'yes-or-no-p
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
		     org-src-mode-configure-edit-buffer)
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-babel-pre-tangle-hook '(save-buffer)
 org-mode-hook '((closure
		  (org-inlinetask-min-level buffer-face-mode-face org-mode-map
		   org-tbl-menu org-org-menu org-struct-menu org-entities
		   org-last-state org-id-track-globally org-clock-start-time
		   texmathp-why remember-data-file
		   org-agenda-tags-todo-honor-ignore-options
		   iswitchb-temp-buflist calc-embedded-open-mode
		   calc-embedded-open-formula calc-embedded-close-formula
		   align-mode-rules-list org-emphasis-alist
		   org-emphasis-regexp-components
		   org-export-registered-backends org-modules
		   org-babel-load-languages t)
		  nil
		  (add-hook (quote change-major-mode-hook)
		   (quote org-show-block-all) (quote append) (quote local))
		  )
		 (closure
		  (org-bracket-link-regexp org-src-window-setup *this*
		   org-babel-confirm-evaluate-answer-no
		   org-src-preserve-indentation org-src-lang-modes
		   org-edit-src-content-indentation org-babel-library-of-babel
		   t)
		  nil
		  (add-hook (quote change-major-mode-hook)
		   (quote org-babel-show-result-all) (quote append)
		   (quote local))
		  )
		 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-bibtex-headline-format-function '(closure
				       (org-id-locations
					org-agenda-search-view-always-boolean
					org-agenda-overriding-header t)
				       (entry) (cdr (assq :title entry)))
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
		  org-cycle-show-empty-lines
		  org-optimize-window-after-visibility-change)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-link-parameters '(("id" :follow org-id-open)
		       ("rmail" :follow org-rmail-open :store
			org-rmail-store-link)
		       ("mhe" :follow org-mhe-open :store org-mhe-store-link)
		       ("irc" :follow org-irc-visit :store org-irc-store-link)
		       ("info" :follow org-info-open :export org-info-export
			:store org-info-store-link)
		       ("gnus" :follow org-gnus-open :store
			org-gnus-store-link)
		       ("docview" :follow org-docview-open :export
			org-docview-export :store org-docview-store-link)
		       ("bibtex" :follow org-bibtex-open :store
			org-bibtex-store-link)
		       ("bbdb" :follow org-bbdb-open :export org-bbdb-export
			:complete org-bbdb-complete-link :store
			org-bbdb-store-link)
		       ("w3m" :store org-w3m-store-link) ("file+sys")
		       ("file+emacs") ("doi" :follow org--open-doi-link)
		       ("elisp" :follow org--open-elisp-link)
		       ("file" :complete org-file-complete-link)
		       ("ftp" :follow
			(lambda (path) (browse-url (concat "ftp:" path))))
		       ("help" :follow org--open-help-link)
		       ("http" :follow
			(lambda (path) (browse-url (concat "http:" path))))
		       ("https" :follow
			(lambda (path) (browse-url (concat "https:" path))))
		       ("mailto" :follow
			(lambda (path) (browse-url (concat "mailto:" path))))
		       ("news" :follow
			(lambda (path) (browse-url (concat "news:" path))))
		       ("shell" :follow org--open-shell-link))
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 )

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: right-alignment fails in column view [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)]
  2017-05-18 13:28 Bug: right-alignment fails in column view [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)] Hendrik Tews
@ 2017-05-20 20:14 ` Nicolas Goaziou
  2017-05-22  8:07   ` Hendrik Tews
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2017-05-20 20:14 UTC (permalink / raw)
  To: Hendrik Tews; +Cc: emacs-orgmode

Hello,

Hendrik Tews <hendrik@askra.de> writes:

> in section 7.5.1.2 Column attributes, the manual says
>
>     Numbers are right-aligned when a format specifier with an
>     explicit width like ‘%5d’ or ‘%5.1f’ is used.
>
> However, I see something similar to
>
>        5.0 | * a        |
>     5.0    | ** b       |
>
> when I start column view for
>
> * a
> ** b
>   :PROPERTIES:
>   :XX:   5.0
>   :END:
>
> #+COLUMNS: %6XX{+;%6.1f} %10ITEM

Fixed. Thank you.

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: right-alignment fails in column view [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)]
  2017-05-20 20:14 ` Nicolas Goaziou
@ 2017-05-22  8:07   ` Hendrik Tews
  2017-05-22 12:02     ` Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Hendrik Tews @ 2017-05-22  8:07 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

Thanks a lot for the quick fix!

I am not sure I understand the check

	 (when (or (not (string-match-p "[0-9]" value))
		   (and (string-match-p "[1-9]" value)
			(= 0 (string-to-number value))))

before the error message. Wouldn't it be good enough to apply the
format on the result of string-to-number? This would permit to
have markers "TODO" or "XXX" without getting an error.

Moreover, the test is wrong for legitimate numbers such as "0e3"
while it permits non-numbers such as "1XX". The test is also true
if the property is missing, forcing one to add the property
everywhere in the file.

Hendrik

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: right-alignment fails in column view [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)]
  2017-05-22  8:07   ` Hendrik Tews
@ 2017-05-22 12:02     ` Nicolas Goaziou
  2017-05-22 12:49       ` Hendrik Tews
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2017-05-22 12:02 UTC (permalink / raw)
  To: Hendrik Tews; +Cc: emacs-orgmode

Hello,

Hendrik Tews <hendrik@askra.de> writes:

> I am not sure I understand the check
>
> 	 (when (or (not (string-match-p "[0-9]" value))
> 		   (and (string-match-p "[1-9]" value)
> 			(= 0 (string-to-number value))))
>
> before the error message. Wouldn't it be good enough to apply the
> format on the result of string-to-number? This would permit to
> have markers "TODO" or "XXX" without getting an error.

The point is that format strings in summary operators are reserved for
numbers. There is no point to have a "TODO" or a "XXX" value in a column
that is summarized with {+;%.2f}.

The intent of the check is to warn the user that a columns contains
invalid values. Applying `string-to-number' unconditionally could give
strange results for example, with {mean,%.2f}.

> Moreover, the test is wrong for legitimate numbers such as "0e3"
> while it permits non-numbers such as "1XX".

I genuinely thought this would return "0". 

Anyway, the difficulty is to properly check we're applying the format
string on numbers. It may not be possible to do so in the general case,
so yes, we may fall-back to unconditional `string-to-number'.

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: right-alignment fails in column view [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)]
  2017-05-22 12:02     ` Nicolas Goaziou
@ 2017-05-22 12:49       ` Hendrik Tews
  2017-05-22 13:38         ` Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Hendrik Tews @ 2017-05-22 12:49 UTC (permalink / raw)
  To: emacs-orgmode

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> The intent of the check is to warn the user that a columns contains
> invalid values. Applying `string-to-number' unconditionally could give
> strange results for example, with {mean,%.2f}.

I do see your point here. I don't use mean, but it is probably
good to warn users about invalid values for such summary types.
If you intend to warn the user, why don't you use display-warning
or something similar?

However, for {+} the default return value of string-to-number
fits pretty well. Aborting with a user-error here seems a bit
over the top for me. Especially, because there is no indication
what entry caused the error.

> There is no point to have a "TODO" or a "XXX" value in a column
> that is summarized with {+;%.2f}.

I believe it makes a lot of sense to have

  :PROPERTIES:
  :Effort: TODO
  :END:

and the old behavior of treating TODO as 0 in such cases seems
perfect to me.

I believe you should also permit users to make {+} summaries,
when they are not yet finished with annotating all items.
Currently also a missing property cases an error. 

Hendrik

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: right-alignment fails in column view [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)]
  2017-05-22 12:49       ` Hendrik Tews
@ 2017-05-22 13:38         ` Nicolas Goaziou
  0 siblings, 0 replies; 6+ messages in thread
From: Nicolas Goaziou @ 2017-05-22 13:38 UTC (permalink / raw)
  To: Hendrik Tews; +Cc: emacs-orgmode

Hendrik Tews <hendrik@askra.de> writes:

> I believe it makes a lot of sense to have
>
>   :PROPERTIES:
>   :Effort: TODO
>   :END:

The linter will complain about it. Effort is a special property.

> and the old behavior of treating TODO as 0 in such cases seems
> perfect to me.
>
> I believe you should also permit users to make {+} summaries,
> when they are not yet finished with annotating all items.
> Currently also a missing property cases an error.

Fair enough. I removed the test.

Thank you.

Regards,

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-05-22 13:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-18 13:28 Bug: right-alignment fails in column view [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)] Hendrik Tews
2017-05-20 20:14 ` Nicolas Goaziou
2017-05-22  8:07   ` Hendrik Tews
2017-05-22 12:02     ` Nicolas Goaziou
2017-05-22 12:49       ` Hendrik Tews
2017-05-22 13:38         ` Nicolas Goaziou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).