contrapunctus-1 / chronometrist

MOVED to https://tildegit.org/contrapunctus/chronometrist
The Unlicense
11 stars 0 forks source link

task names are truncated, splitting the task into a new task #2

Open wu-lee opened 3 years ago

wu-lee commented 3 years ago

Just been trying chronometrist, overall I quite like its simplicity and the s-exp data. Thanks!

There is a niggle I have: when create a new task, if the name is too long, chronometrist records that name in the data file, and truncates it in the *Chronometrist* buffer. Ok... but if I pause and restart it, the new time period has the truncated name, and the *Chronometrist* buffer now has two tasks, with apparently the same name. They they look the same when truncated - but one is the original long name, the other is the truncated name. Further - from now on, only the new truncated name gets any time added to it.

So:

contrapunctus-1 commented 3 years ago

Oh, thank you for the appreciation, I feel quite elated to hear that 😀

Thanks also for the bug report. I'd never noticed this, as I always used rather short names. I'm able to reproduce it, and hopefully I'll be able to fix it soon.

contrapunctus-1 commented 3 years ago

Please have a look at v0.5.6, hopefully it fixes this. Since people are using longer task names than I am, I might make field widths customizable in a future release.

wu-lee commented 3 years ago

Thanks, have installed and been using. I have been noticing bugs which may be related - task names were being truncated still, and wrongly - for example "sea-map directory panel #43" was truncated to just "sea".

However, I notice a release from 6th January 2021, so I've installed that and will check if this problem persists"

wu-lee commented 3 years ago

Some trouble with the new version too - including a lock up when I add a task, which requires C-g to escape from. top shows emacs at 100% CPU. Not sure why that was, could have been a linefeed which accidentally got into the task name via copy-and-paste, or it could have been some problem with the chronometrist.sexp file. In any case, I needed to clear the .sexp file and start again.

This in turn had an issue with "Wrong type argument: stringp, nil" because of the empty .sexp file - I needed to add an entry manually, after which things seem to be ok.

I should mention, my .sexp is symlinked from ~/.emacs.d/chronometrist.sexp to another location. This used to work ok, but could be a factor nevertheless.

wu-lee commented 3 years ago

Also: I find I can't add new tasks, even short ones like "test". There is an error:

chronometrist-plist-pp-buffer: Symbol’s function definition is void: json-plist-p

Enabling debug-on-error gets this stacktrace:

Debugger entered--Lisp error: (void-function json-plist-p)
  json-plist-p((:name "test" :start "2021-01-18T17:17:49+0000"))
  chronometrist-plist-pp-buffer()
  chronometrist-plist-pp-to-string((:name "test" :start "2021-01-18T17:17:49+0000"))
  chronometrist-plist-pp((:name "test" :start "2021-01-18T17:17:49+0000") #<buffer chronometrist.sexp>)
  chronometrist-sexp-new((:name "test" :start "2021-01-18T17:17:49+0000"))
  chronometrist-in("test")
  chronometrist-run-functions-and-clock-in("test")
  chronometrist-add-new-task-button(nil)
  chronometrist-add-new-task()
  funcall-interactively(chronometrist-add-new-task)
  call-interactively(chronometrist-add-new-task nil nil)
  command-execute(chronometrist-add-new-task)
contrapunctus-1 commented 3 years ago

Grateful for any bug reports as always, @wu-lee ^^

Re: the json-plist-p error, a workaround might be to (require 'json). I'll remove this dependency as soon as I get time. EDIT - done, try v0.6.3.

Re: freezing and the empty file error, yikes what 😱 Please try to get a backtrace (using toggle-debug-on-quit for the former.)

wu-lee commented 3 years ago

I've been using the version 20210119.753 from melpa for a few days. (list-packages doesn't seem to want to show me the version, but I think this is v0.6.3)

Some of the problems haven't re-appeared, but I do find the list of tasks doesn't seem to refresh properly with new tasks, so when when I add a new task I can't stop it without switching to a new task.

Here's how I can reproduce this.

What I'd expect here is for the new task "tast2" to appear in the list. But it doesn't, only "task1" is present. Hitting "g" used to fix things like this but it does not.

(I did try debugging it with edebug, but I'm not really that familiar with elisp and edebug, yet alone elisp with dash, and I've given up trying to track down the problem for now.)

contrapunctus-1 commented 3 years ago

I've pushed v0.6.4 which should fix this, thanks for the specific steps which helped me replicate the issue.

wu-lee commented 3 years ago

Thanks. I've been using this new release for a day or so - the reported problem is fixed, although I have still experienced problems with adding tasks, which doesn't happen immediately, and I can't yet reproduce this. I'll desist from adding new problems to this ticket however, and file new issues as appropriate.