X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/2c0f29abb2928f672043cf97d689770bd2265064..3a2d33c03ac0213ab8ec4013e791d3b516f4e052:/packages/company/company-ropemacs.el diff --git a/packages/company/company-ropemacs.el b/packages/company/company-ropemacs.el index bba9bcbf7..4fc381329 100644 --- a/packages/company/company-ropemacs.el +++ b/packages/company/company-ropemacs.el @@ -1,6 +1,6 @@ -;;; company-ropemacs.el --- A company-mode completion back-end for pysmell.el +;;; company-ropemacs.el --- company-mode completion back-end for ropemacs -;; Copyright (C) 2009-2011, 2013 Free Software Foundation, Inc. +;; Copyright (C) 2009-2011, 2013-2014 Free Software Foundation, Inc. ;; Author: Nikolaj Schumacher @@ -22,12 +22,10 @@ ;;; Commentary: ;; -;; Requires pymacs Emacs package (you can get it from Marmalade), -;; and on Python side: pymacs, rope, ropemacs and ropemode. ;;; Code: -(eval-when-compile (require 'cl)) +(require 'cl-lib) (defun company-ropemacs--grab-symbol () (let ((symbol (company-grab-symbol))) @@ -45,9 +43,7 @@ "Return buffer with docstring of CANDIDATE if it is available." (let ((doc (company-with-candidate-inserted candidate (rope-get-doc)))) (when doc - (with-current-buffer (company-doc-buffer) - (insert doc) - (current-buffer))))) + (company-doc-buffer doc)))) (defun company-ropemacs-location (candidate) "Return location of CANDIDATE in cons form (FILE . LINE) if it is available." @@ -57,15 +53,14 @@ (cons (elt location 0) (elt location 1))))) (defun company-ropemacs (command &optional arg &rest ignored) - "A `company-mode' completion back-end for ropemacs." + "`company-mode' completion back-end for ropemacs. + +Depends on third-party code: Pymacs (both Python and Emacs packages), +rope, ropemacs and ropemode. Requires `ropemacs-mode' to be on." (interactive (list 'interactive)) - (case command - (init (when (and (derived-mode-p 'python-mode) - (not (fboundp 'rope-completions))) - (require 'pymacs) - (pymacs-load "ropemacs" "rope-"))) + (cl-case command (interactive (company-begin-backend 'company-ropemacs)) - (prefix (and (derived-mode-p 'python-mode) + (prefix (and (bound-and-true-p ropemacs-mode) (not (company-in-string-or-comment)) (company-ropemacs--grab-symbol))) (candidates (mapcar (lambda (element) (concat arg element))