Closed JasonGross closed 7 years ago
If I customize the variable to the string "python"
, so that
'(wakatime-python-bin "python")
is added at the end of
(custom-set-variables
in my ~/.emacs
, this is not sufficient to fix the problem, and the value of wakatime-python-bin
is still nil
after I restart emacs.
For reference, my ~/.emacs
is
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives
'("marmalade" .
"http://marmalade-repo.org/packages/"))
(package-initialize)
(global-wakatime-mode)
(require 'exec-path-from-shell) ;; if not using the ELPA package
(exec-path-from-shell-initialize) ; pick up PATH from shell
;; ;;(load "~/Programs/PG/generic/proof-site")
(load "~/Programs/ProofGeneral/generic/proof-site")
;(load "~/Programs/ProofGeneral-xml/generic/proof-site")
(defun my-other-delete-trailing-blank-lines ()
"Deletes all blank lines at the end of the file, even the last one"
(interactive)
(save-excursion
(save-restriction
(widen)
(goto-char (point-max))
(delete-blank-lines)
(let ((trailnewlines (- (abs (skip-chars-backward "\n\t")) 1)))
(if (> trailnewlines 0)
(progn
(delete-char trailnewlines)))))))
(require 'ws-butler)
(add-hook 'ocaml-mode-hook 'ws-butler-mode)
(add-hook 'tuareg-mode-hook 'ws-butler-mode)
(add-hook 'before-save-hook 'my-other-delete-trailing-blank-lines)
;; Prevent Emacs from extending file when
;; pressing down arrow at end of buffer.
(setq next-line-add-newlines nil)
;; Silently ensure newline at end of file
(setq require-final-newline t)
;; or make Emacs ask about missing newline
;; (setq require-final-newline 'ask)
(defun my-other-delete-trailing-whitespace-not-ocaml ()
"Deletes all blank lines at the end of the file, even the last one"
(interactive)
(unless (memq major-mode '(ocaml-mode tuareg-mode))
(delete-trailing-whitespace)))
(add-hook 'before-save-hook 'my-other-delete-trailing-whitespace-not-ocaml)
(load-file (let ((coding-system-for-read 'utf-8))
(shell-command-to-string "agda-mode locate")))
(defun my-agda-hook ()
(local-set-key (kbd "C-c ,") 'agda2-goal-and-context)
(local-set-key (kbd "C-c .") 'agda2-goal-and-context-and-inferred))
(require 'agda-input)
(defun coq-fix-annoying-colors ()
(when (not (display-graphic-p))
(setq overlay-arrow-string "")
(set-face-attribute 'proof-locked-face nil
:background "darkblue" :underline nil)
(set-face-attribute 'proof-error-face nil
:background "red")
(set-face-attribute 'proof-incomplete-face nil
:background "yellow" :underline nil)
(set-face-attribute 'proof-processing-face nil
:background "lightblue" :underline nil)))
(defun my-coq-hook ()
(local-set-key (kbd "C-c RET") 'proof-goto-point)
(set-input-method "Agda")
(setq coq-end-goals-regexp-show-subgoals nil)
(coq-fix-annoying-colors)
(company-coq-mode)
(setq company-coq-extra-symbols-cmd "SearchAbout -\"____\"")
)
(add-hook 'coq-mode-hook 'my-coq-hook)
;(add-hook 'coq-mode-hook #'coq-fix-annoying-colors t)
(add-hook 'agda2-mode-hook 'my-agda-hook)
(global-set-key (kbd "C-c C-a C-u") #'company-coq-diff-unification-error)
(setq company-coq-dynamic-autocompletion t)
'(proof-prog-name-ask t)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(column-number-mode t)
'(company-coq-disabled-features (quote (prettify-symbols)))
'(package-selected-packages
(quote
(ws-butler wakatime-mode exec-path-from-shell company-coq)))
'(proof-prog-name-ask t)
'(safe-local-variable-values
(quote
((coq-prog-args "-coqlib" "../.." "-R" ".." "Coq" "-top" "Coq.Classes.CMorphisms")
(coq-prog-args "-coqlib" "../.." "-R" ".." "Coq" "-top" "Coq.Classes.Morphisms")
(eval let*
((project-root
(locate-dominating-file buffer-file-name "_CoqProject"))
(dependencies-folder
(expand-file-name "dependencies" project-root))
(coq-path
(split-string
(or
(getenv "COQPATH")
"")
":" t)))
(unless
(memql dependencies-folder coq-path)
(setenv "COQPATH"
(mapconcat
(function identity)
(cons dependencies-folder coq-path)
":"))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(make-local-variable
(quote coq-prog-name))
(setq coq-prog-args
(\`
("-coqlib"
(\,
(expand-file-name ".."))
"-R"
(\,
(expand-file-name "."))
"Coq")))
(setq coq-prog-name
(expand-file-name "../bin/coqtop")))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(setq-local coq-prog-args
(\`
("-coqlib"
(\,
(expand-file-name ".."))
"-R"
(\,
(expand-file-name "."))
"Coq")))
(setq-local coq-prog-name
(expand-file-name "../bin/coqtop")))
(coq-prog-args "-emacs" "-time")
(coq-prog-args "-emacs" "-time" "-R" "Bedrock" "Bedrock")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime/Coqprime" "Coqprime" "-top" "IntegrationTest")
(coq-prog-args "-emacs" "-top" "Impossibility_2G_1B" "-R" "." "Top")
(coq-prog-args "-emacs" "-R" "." "Pactole" "-top" "Impossibility_2G_1B" "-R" "." "Top")
(coq-prog-args "-emacs" "-R" "." "Pactole" "-top" "Impossibility_2G_1B")
(coq-prog-args "-emacs" "-R" "." "")
(coq-prog-args "-emacs" "-R" "." "Top" "-top" "bug_unif_not_repeat_02")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime/Coqprime" "Coqprime" "-top" "ContextProperties")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime/Coqprime" "Coqprime" "-top" "ExtendedCoordinates")
(coq-prog-args "-emacs" "-boot")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime/Coqprime" "Coqprime" "-top" "Interpretations")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-top" "WordUtil")
(eval let*
((project-root
(locate-dominating-file buffer-file-name "_CoqProject"))
(coqprime-folder
(expand-file-name "coqprime" project-root))
(coq-path
(parse-colon-path
(or
(getenv "COQPATH")
""))))
(unless
(memql coqprime-folder coq-path)
(setenv "COQPATH"
(mapconcat
(function identity)
(cons coqprime-folder coq-path)
path-separator))))
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime/Coqprime" "Coqprime" "-top" "NewBaseSystemLetInMonad")
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(setq-local coq-prog-args
(\`
("-R"
(\,
(expand-file-name ".."))
"Coq" "-noinit"))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-emacs" "-R"
(\,
(expand-file-name ".."))
"Coq" "-noinit"))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(make-local-variable
(quote coq-prog-name))
(setq coq-prog-args
(\`
("-emacs" "-coqlib"
(\,
(expand-file-name ".."))
"-R"
(\,
(expand-file-name "."))
"Coq")))
(setq coq-prog-name
(expand-file-name "../bin/coqtop")))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-emacs" "-coqlib"
(\,
(expand-file-name ".."))
"-R"
(\,
(expand-file-name "."))
"Coq"))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-emacs" "-coqlib"
(\,
(expand-file-name ".."))))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-emacs" "-R"
(\,
(expand-file-name ".."))
"Coq" "-nois" "-coqlib"
(\,
(expand-file-name ".."))
"-boot"))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-emacs" "-R"
(\,
(expand-file-name ".."))
"Coq" "-nois" "-coqlib"
(\,
(expand-file-name ".."))))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-emacs" "-R"
(\,
(expand-file-name ".."))
"Coq" "-nois"))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-emacs" "-coqlib"
(\,
(expand-file-name "."))))))
(coq-prog-args "-emacs" "-init" "-nois")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime/Coqprime" "Coqprime" "-top" "SC25519")
(eval let*
((project-root
(locate-dominating-file buffer-file-name "_CoqProject"))
(coqprime-folder
(expand-file-name "coqprime-8.4" project-root))
(coq-path
(split-string
(or
(getenv "COQPATH")
"")
":" t)))
(unless
(memql coqprime-folder coq-path)
(setenv "COQPATH"
(mapconcat
(function identity)
(cons coqprime-folder coq-path)
":"))))
(coq-prog-args "-emacs" "-boot" "-nois")
(coq-prog-args "-emacs" "-profile-ltac")
(coq-prog-args "-emacs" "-compat" "8.5")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-top" "DoubleBounded")
(eval let*
((project-root
(locate-dominating-file buffer-file-name "_CoqProject"))
(coqprime-folder
(expand-file-name "coqprime" project-root))
(coq-path
(split-string
(or
(getenv "COQPATH")
"")
":" t)))
(unless
(memql coqprime-folder coq-path)
(setenv "COQPATH"
(mapconcat
(function identity)
(cons coqprime-folder coq-path)
":"))))
(coq-prog-args "-emacs" "-R" "theories" "HoTT" "-R" "./coq/theories" "Coq" "-top" "Unit")
(coq-prog-args "-emacs" "-indices-matter" "-nois" "-R" "." "Top" "-top" "bug_failed_defined_05")
(coq-prog-args "-emacs" "-indices-matter" "-nois" "-R" "theories" "HoTT" "-top" "HoTTBookExercises" "-R" "coq/theories" "Coq" "-coqlib" "./coq" "-coqlib" "./coq" "-coqlib" "./coq")
(coq-prog-args "-emacs" "-indices-matter" "-nois" "-R" "theories" "HoTT" "-top" "HoTTBookExercises" "-R" "coq/theories" "Coq" "-coqlib" "./coq" "-coqlib" "./coq")
(coq-prog-args "-emacs" "-indices-matter" "-R" "theories" "HoTT" "-top" "HoTTBookExercises" "-R" "coq/theories" "Coq" "-nois" "-coqlib" "./coq" "-coqlib" "./coq")
(coq-prog-args "-emacs" "-indices-matter" "-R" "theories" "HoTT" "-top" "HoTTBookExercises" "-R" "coq/theories" "Coq" "-coqlib" "./coq" "-nois")
(coq-prog-args "-emacs" "-indices-matter" "-R" "theories" "HoTT" "-top" "HoTTBookExercises" "-R" "coq/theories" "Coq" "-coqlib" "./coq")
(coq-prog-args "-emacs" "-R" "theories" "HoTT" "-top" "HoTTBookExercises")
(coq-prog-args "-emacs" "-time" "-R" "src" "Fiat")
(coq-prog-args "-emacs" "-no-print-dependent-evars")
(coq-prog-args "-emacs" "-R" "Bedrock" "Bedrock" "-top" "ReflexivityProver")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime-8.5/Coqprime" "Coqprime" "-top" "bug_broken_field_01" "-R" "." "Top")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime-8.5/Coqprime" "Coqprime" "-top" "GF255192")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime-8.5/Coqprime" "Coqprime" "-top" "bug_broken_field_01")
(coq-prog-args "-emacs" "-R" "src" "Crypto" "-R" "Bedrock" "Bedrock" "-R" "coqprime-8.5/Coqprime" "Coqprime" "-top" "CompleteEdwardsCurveTheorems")
(coq-prog-args "-emacs" "-indices-matter")
(coq-prog-args "-emacs" "-R" "." "Top" "-top" "bug_bad_induction_01")
(TeX-master . "Reference-Manual")
(coq-prog-args "-emacs" "-profileltac" "-R" "." "Top" "-top" "bug_disjoint_anomaly_prof_03")
(coq-prog-args "-emacs" "-profileltac" "-compat" "8.4" "-require" "Coq.Compat.Coq84" "-require" "Coq.Compat.AdmitAxiom")
(coq-prog-args "-emacs" "-profileltac")
(coq-prog-args "-emacs" "-profileltac" "-compat" "8.4" "-require" "Coq.Compat.Coq84" "-require" "Coq.Compat.AdmitAxiom" "-R" "src" "Fiat" "-I" "src/Common/Tactics" "-R" "." "Fiat" "-top" "DisjointLemmas")
(coq-prog-args "-emacs" "-compat" "8.4" "-require" "Coq.Compat.Coq84" "-require" "Coq.Compat.AdmitAxiom" "-R" "src" "Fiat" "-I" "src/Common/Tactics" "-profileltac")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "bug_cuo_no_setoid_05" "-R" "." "Top")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "bug_cuo_no_setoid_05")
(coq-prog-args "-emacs" "-compat" "8.4" "-R" "." "Fiat" "-top" "bug_cuo_no_setoid_05")
(coq-prog-args "-emacs")
(coq-prog-args "-emacs" "-I" "/home/jgross/Documents/repos/fiat3/src/Common/Tactics" "-R" "." "Fiat" "-top" "ClassifierUnOpt" "-compat" "8.4")
(coq-prog-args "-emacs" "-I" "/home/jgross/Documents/repos/fiat3/src/Common/Tactics" "-R" "." "Fiat" "-top" "ClassifierUnOpt")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "BooleanRecognizerOptimized" "-R" "." "Top")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "BooleanRecognizerOptimized")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "bug_bro_no_setoid_03" "-R" "." "Top")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "bug_bro_no_setoid_03")
(coq-prog-args "-emacs" "-R" "." "Fiat")
(coq-prog-args "-emacs" "-R" "." "Top" "-top" "bug_4659_01")
(coq-prog-args "-emacs" "-compat" "8.4")
(eval progn
(let
((coq-root-directory
(when buffer-file-name
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(coq-project-find-file
(and
(boundp
(quote coq-project-find-file))
coq-project-find-file)))
(set
(make-local-variable
(quote tags-file-name))
(concat coq-root-directory "TAGS"))
(setq camldebug-command-name
(concat coq-root-directory "dev/ocamldebug-coq"))
(unless coq-project-find-file
(set
(make-local-variable
(quote compile-command))
(concat "make -C " coq-root-directory))
(set
(make-local-variable
(quote compilation-search-path))
(cons coq-root-directory nil)))
(when coq-project-find-file
(setq default-directory coq-root-directory))))
(eval progn
(let
((coq-root-directory
(when buffer-file-name
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(coq-project-find-file
(and
(boundp
(quote coq-project-find-file))
coq-project-find-file)))
(setq tags-file-name
(concat coq-root-directory "TAGS")
camldebug-command-name
(concat coq-root-directory "dev/ocamldebug-coq"))
(unless coq-project-find-file
(setq compile-command
(concat "make -C " coq-root-directory)))
(when coq-project-find-file
(setq default-directory coq-root-directory))))
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-indices-matter" "-boot" "-nois" "-coqlib"
(\,
(expand-file-name ".."))
"-R"
(\,
(expand-file-name "."))
"Coq" "-emacs"))))
(coq-prog-args "-indices-matter" "-emacs")
(coq-prog-args "-emacs" "-compat" "8.4" "-R" "." "Fiat" "-top" "IndexedAndAtMostOneNonTerminalReflectiveOpt")
(coq-prog-args "-emacs" "-nois" "-boot")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "IndexedAndAtMostOneNonTerminalReflective" "-R" "." "Top")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "IndexedAndAtMostOneNonTerminalReflective")
(coq-prog-args "-emacs" "-compat" "8.4" "-R" "." "Fiat" "-top" "IndexedAndAtMostOneNonTerminalReflective")
(coq-prog-args "-emacs" "-compat" "8.4" "-R" "." "Fiat" "-top" "BooleanRecognizerMin")
(coq-prog-args "-emacs" "-R" "." "Fiat" "-top" "BooleanRecognizerMin")
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-args))
(setq coq-prog-args
(\`
("-emacs" "-R"
(\,
(expand-file-name "."))
"Bedrock" "-I"
(\,
(expand-file-name "reification"))))))
(coq-prog-args "-emacs" "-Q" "." "" "-top" "cmra")
(coq-prog-args "-emacs" "-nois" "-R" "." "Foo" "-top" "example_13")
(coq-prog-args "-emacs" "-nois" "-R" "." "Foo")
(coq-prog-args "-emacs" "-nois" "-boot" "-indices-matter" "-R" "." "Top" "-top" "bug_oog_looping_rewrite_01")
(coq-prog-args "-emacs" "-nois" "-indices-matter" "-R" "." "Top" "-top" "bug_oog_looping_rewrite_01")
(coq-prog-args "-emacs" "-R" "." "HoTT" "-top" "ooGroup")
(coq-prog-args "-emacs" "-Q" "." "" "-top" "prelude")
(coq-prog-args "-emacs" "-nois" "-indices-matter" "-R" "." "Top" "-top" "bug_csu_slow_tc_02")
(coq-prog-args "-emacs" "-nois" "-indices-matter" "-R" "." "Top" "-top" "bug_lex_wrong_rewrite_02")
(coq-prog-args "-emacs" "-R" "." "HoTT" "-top" "Lex")
(coq-prog-args "-emacs" "-nois" "-indices-matter" "-R" "." "Top" "-top" "bug_bad_univ_length_01")
(coq-prog-args "-emacs" "-nois" "-indices-matter" "-debug")
(coq-prog-args "-emacs" "-nois")
(coq-prog-args "-emacs" "-nois" "-indices-matter" "-R" "." "Top" "-top" "bug_mrs_stack_overflow_01")
(coq-prog-args "-emacs" "-R" "." "HoTT" "-top" "ReflectiveSubuniverse")
(coq-prog-args "-emacs" "-nois" "-indices-matter")
(coq-prog-args "-emacs" "-R" "." "HoTT" "-top" "Univalent")
(eval let
((default-directory
(locate-dominating-file buffer-file-name ".dir-locals.el")))
(make-local-variable
(quote coq-prog-name))
(setq coq-prog-name
(expand-file-name "../hoqtop")))
(coq-prog-args "-emacs" "-compat" "8.4" "-R" "." "Fiat" "-top" "BooleanRecognizerOptimized" "-R" "." "Top")
(coq-prog-args "-emacs" "-compat" "8.4" "-R" "." "Fiat" "-top" "BooleanRecognizerOptimized")
(coq-prog-args "-emacs" "-compat" "8.4" "-require" "Coq.Compat.AdmitAxiom" "-R" "." "Fiat" "-top" "BooleanRecognizerOptimized"))))
'(wakatime-api-key "[REDACTED]")
'(wakatime-cli-path "/usr/local/lib/python2.7/dist-packages/wakatime/cli.py")
'(wakatime-python-bin "python"))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
;(defvar coq-hyp-name-in-goal-or-response-regexp
; "\\(^\\|^ \\|^ \\|[^^ ] ? \\)\\(\\(?:[^\n :(),=]\\|, \\)+ *\\(?::[ \n]\\|,$\\)\\)"
; "regexp matching hypothesis names in goal or response buffer")
(add-hook 'company-coq-mode-hook
(lambda ()
(define-key company-coq-map (kbd "<backtab>") nil) ; disable collapsing on S-TAB
(prettify-symbols-mode -1)
(defconst company-coq-tg--preprocessor-substitutions
'(("\n" . " ") ("[ " . "( OR-GROUP ") (" ]" . " )")
(" | " . " OR ") ("; " . " AND ") ("'" . "’")))
(define-key company-active-map [remap company-complete-common] #'company-indent-or-complete-common)))
(setq company-coq--use-special-set-unset-test-regexp t)
(set-fontset-font t 'unicode (font-spec :name "Ubuntu Mono"))
(set-fontset-font t 'unicode (font-spec :name "Symbola monospacified for Ubuntu Mono") nil 'append)
(setq company-coq-dynamic-autocompletion t)
;(global-set-key (kbd "C-x C-z") nil)
(global-set-key (kbd "C-z") nil)
(setq wakatime-python-bin "python")
And I still have the issue. How do I fix this?
The issue seems to be this bit of code:
(when (not (s-blank wakatime-cli-path))
(if (not (string-match-p "\\.cli\\.py$" wakatime-cli-path))
(customize-set-variable 'wakatime-python-bin nil)
(when (s-blank wakatime-python-bin)
Since my wakatime-cli-path
is "/usr/local/lib/python2.7/dist-packages/wakatime/cli.py"
I just upgraded wakatime mode, and now I get an error message like
Running the command in terminal gives
bash: /usr/local/lib/python2.7/dist-packages/wakatime/cli.py: Permission denied
. If I stickpython
in front of the command, it succeeds. If IM-x describe-variable wakatime-python-bin
, I getThe string
wakatime-python-bin
appears nowhere in my~/.emacs
. I'm running wakatime-mode-20170324.2348.