emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Bug: turning on column view modifies file [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)]
@ 2017-05-22 11:53 Hendrik Tews
  2017-05-22 12:20 ` Nicolas Goaziou
  0 siblings, 1 reply; 4+ messages in thread
From: Hendrik Tews @ 2017-05-22 11:53 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

turning on column view might change the buffer, because it
sometimes stores computed values in properties. Is this really
intended? At least I could not find this behavior described in
the documentation.

For instance, in the following buffer

    * a
         :PROPERTIES:
         :XX:
         :END:
    ** b
         :PROPERTIES:
         :XX:   2.0
         :END:

    #+COLUMNS: %6XX{+;%5.1f} %10ITEM(Task)

turning on column view changes property XX on a. If you turn on
column view a second time (after saving, without undoing), the
buffer is changed again, this time it is an invisible change,
probably rewriting the value for XX on a.

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] 4+ messages in thread

* Re: Bug: turning on column view modifies file [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)]
  2017-05-22 11:53 Bug: turning on column view modifies file [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)] Hendrik Tews
@ 2017-05-22 12:20 ` Nicolas Goaziou
  2017-05-30  9:25   ` [PATCH] document parent property update in column view Hendrik Tews
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Goaziou @ 2017-05-22 12:20 UTC (permalink / raw)
  To: Hendrik Tews; +Cc: emacs-orgmode

Hello,

Hendrik Tews <hendrik@askra.de> writes:

> turning on column view might change the buffer, because it
> sometimes stores computed values in properties. Is this really
> intended?

It is. But it only happens if the property already exists in the
summarized node.

> At least I could not find this behavior described in the
> documentation.

Would you want to suggest an improvement to the manual?

> For instance, in the following buffer
>
>     * a
>          :PROPERTIES:
>          :XX:
>          :END:
>     ** b
>          :PROPERTIES:
>          :XX:   2.0
>          :END:
>
>     #+COLUMNS: %6XX{+;%5.1f} %10ITEM(Task)
>
> turning on column view changes property XX on a. If you turn on
> column view a second time (after saving, without undoing), the
> buffer is changed again, this time it is an invisible change,
> probably rewriting the value for XX on a.

This is a bug. I fixed it in maint. Thank you.

Regards,

-- 
Nicolas Goaziou

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

* [PATCH] document parent property update in column view
  2017-05-22 12:20 ` Nicolas Goaziou
@ 2017-05-30  9:25   ` Hendrik Tews
  2017-05-30 11:45     ` Nicolas Goaziou
  0 siblings, 1 reply; 4+ messages in thread
From: Hendrik Tews @ 2017-05-30  9:25 UTC (permalink / raw)
  To: emacs-orgmode


---
 doc/org.texi | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/doc/org.texi b/doc/org.texi
index 142fa9627..11c6a0f39 100644
--- a/doc/org.texi
+++ b/doc/org.texi
@@ -5263,7 +5263,8 @@ keeping track of your music CDs, where properties could be things such as the
 album, artist, date of release, number of tracks, and so on.
 
 Properties can be conveniently edited and viewed in column view
-(@pxref{Column view}).
+(@pxref{Column view}). For certain applications Org mode can compute and
+update certain properties, @pxref{Column attributes}.
 
 @menu
 * Property syntax::             How properties are spelled out
@@ -5641,6 +5642,15 @@ optional.  The individual parts have the following meaning:
                 @{est+@}    @r{Add @samp{low-high} estimates.}
 @end example
 
+When the column definition contains a summary type, Org mode computes the
+value for parent nodes (i.e., those nodes that contain children nodes). If
+the property is present in the parent node, its value is ignored during the
+computation, but Org mode will update the parent property with the computed
+value afterwards. The computation happens when column view is started and
+when values are updated using the column view interface, @pxref{Using column
+view}. A missing value in a leaf node is treated as zero and can cause
+unexpected results, for instance for the @code{mean} summary type.
+
 The @code{est+} summary type requires further explanation.  It is used for
 combining estimates, expressed as @samp{low-high} ranges or plain numbers.
 For example, instead of estimating a particular task will take 5 days, you
-- 
2.11.0

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

* Re: [PATCH] document parent property update in column view
  2017-05-30  9:25   ` [PATCH] document parent property update in column view Hendrik Tews
@ 2017-05-30 11:45     ` Nicolas Goaziou
  0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Goaziou @ 2017-05-30 11:45 UTC (permalink / raw)
  To: Hendrik Tews; +Cc: emacs-orgmode

Hello,

Hendrik Tews <hendrik@askra.de> writes:

> ---
>  doc/org.texi | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)

Thank you. Could you provide an appropriate commit message and use "git
format-patch" to send your patch? See
http://orgmode.org/worg/org-contribute.html for details.

Also, note that Texinfo expects sentences to end with two spaces.

> -(@pxref{Column view}).
> +(@pxref{Column view}). For certain applications Org mode can compute and
> +update certain properties, @pxref{Column attributes}.

certain properties (@pxref{Column attributes}).


> +When the column definition contains a summary type, Org mode computes the
> +value for parent nodes (i.e., those nodes that contain children nodes). If

---i.e., those nodes that contain children nodes.

> +the property is present in the parent node, its value is ignored during the
> +computation, but Org mode will update the parent property with the computed
> +value afterwards. The computation happens when column view is started and
> +when values are updated using the column view interface, @pxref{Using
> column

view interface (@pxref{Using column view})

> +view}. A missing value in a leaf node is treated as zero and can cause
> +unexpected results, for instance for the @code{mean} summary type.

The last sentence is only true when the summary function expects
numbers.

Regards,

-- 
Nicolas Goaziou

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

end of thread, other threads:[~2017-05-30 11:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-22 11:53 Bug: turning on column view modifies file [9.0.7 (release_9.0.7-439-g2906e5 @ /home/tews/src/org-mode/lisp/)] Hendrik Tews
2017-05-22 12:20 ` Nicolas Goaziou
2017-05-30  9:25   ` [PATCH] document parent property update in column view Hendrik Tews
2017-05-30 11:45     ` 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).