From b2945e08fd924c27af3e68e80f19733e683fc6c9 Mon Sep 17 00:00:00 2001 From: Ravi R Kiran Date: Fri, 2 Apr 2021 21:43:56 -0500 Subject: WIP on the perennial epc issue diff --git a/lisp/ravi-init-python.el b/lisp/ravi-init-python.el index 201369b..36bc489 100644 --- a/lisp/ravi-init-python.el +++ b/lisp/ravi-init-python.el @@ -24,6 +24,7 @@ ;;; Code: +(setq load-prefer-newer t) (use-package python :mode ("\\.py\\'" . python-mode) :commands python-shell-switch-to-shell @@ -97,11 +98,24 @@ (use-package jedi-core :config (progn + (defun ravi/add-to-path-list (paths new-path-list) + (let* ((old-paths (and paths (split-string paths ":" t))) + (all-paths (-concat (and paths (list paths)) (-difference new-path-list old-paths))) + (new-path (and all-paths (-reduce (lambda (lhs rhs) (concat lhs ":" rhs)) all-paths)))) + new-path)) + (defun ravi/add-epc-sexpdata-to-pythonpath (orig-fun &rest args) + "Add paths to python-epc and sexpdata to pythonpath" + (let ((process-environment + (cons + (concat "PYTHONPATH=" + (ravi/add-to-path-list + (getenv "PYTHONPATH") + (mapcar (lambda (x) (ravi/emacs-file x)) '("site-lisp/python-epc" "site-lisp/sexpdata")))) + process-environment))) + (apply orig-fun args))) + (advice-add 'jedi:start-server :around #'ravi/add-epc-sexpdata-to-pythonpath) (defun ravi/jedi-setup () - (let ((basic-server-args (list - "--sys-path" (ravi/emacs-file "site-lisp/python-epc") - "--sys-path" (ravi/emacs-file "site-lisp/sexpdata")) - )) + (let ((basic-server-args '())) (set (make-local-variable 'jedi:server-args) (if (and (boundp 'extra-jedi-args) (listp extra-jedi-args)) -- cgit v0.10.1