xcwen / ac-php

emacs auto-complete & company-mode for php

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

.ac-php-conf.json loaded repeatedly

webdevelopers-eu opened this issue · comments

When one edits a project over tramp/ssh that happened to have .ac-php-conf.json file in the root then after each set of keystrokes the .ac-php-conf.json is being reloaded several times making editing over tramp very annoying.

The log gets flooded by following lines every time one stops typing:

Tramp: Inserting `/server:/.../master/.ac-php-conf.json'*
Tramp: Encoding remote file `/server:/.../master/.ac-php-conf.json' with `base64 <%s'*done
Tramp: Decoding local file `/tmp/tramp.20053mol.json' with `base64-decode-region'*done
Tramp: Inserting `/server:/.../master/.ac-php-conf.json'*done
Tramp: Inserting `/server:/.../master/.ac-php-conf.json'*
Tramp: Encoding remote file `/server:/.../master/.ac-php-conf.json' with `base64 <%s'*done
Tramp: Decoding local file `/tmp/tramp.20053zyr.json' with `base64-decode-region'*done
Tramp: Inserting `/server:/.../master/.ac-php-conf.json'*done

It looks like ac-php ineffectively keeps re-reading the .ac-php-conf.json which is not detectable issue on fast local storage.

commented

will not save config at tramp/ssh

commented

retest

Thank you for quick response, I appreciate it. Unfortunately I cannot confirm it is resolved. Here is the contents of Messages.

Test with 2.0.6-3-gc03c3a3:

OPENING FILE
  Tramp: Checking `vc-registered' for /server:/…/master/….php...done
  Error during redisplay: (jit-lock-function 1) signaled (void-variable php-php-tag)
  Error during redisplay: (jit-lock-function 1117) signaled (void-variable php-php-tag)
  Error during redisplay: (jit-lock-function 1711) signaled (void-variable php-php-tag)
FOCUSED THE BUFFER
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...
  Tramp: Encoding remote file `/server:/…/master/.ac-php-conf.json' with `base64 <%s'...done
  Tramp: Decoding local file `/tmp/tramp.8856lji.json' with `base64-decode-region'...done
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...done
  do remake /server:/…/master/ do-all-flag :nil 
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...
  Tramp: Encoding remote file `/server:/…/master/.ac-php-conf.json' with `base64 <%s'...done
  Tramp: Decoding local file `/tmp/tramp.8856yto.json' with `base64-decode-region'...done
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...done
   REBUILD:  rebuild file start
  eldoc error: (wrong-type-argument listp ac-php-phptags-index-process-filter)
SWITCHED TO ANOTHER BUFFER AND BACK
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...
  Tramp: Encoding remote file `/server:/…/master/.ac-php-conf.json' with `base64 <%s'...done
  Tramp: Decoding local file `/tmp/tramp.8856_3u.json' with `base64-decode-region'...done
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...done
  remake: doing ...  [maybe you need restart emacs for remake tags]
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...
  Tramp: Encoding remote file `/server:/…/master/.ac-php-conf.json' with `base64 <%s'...done
  Tramp: Decoding local file `/tmp/tramp.8856MC1.json' with `base64-decode-region'...done
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...done
  remake: doing ...  [maybe you need restart emacs for remake tags]
PRESSED RIGHT ARROW
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...
  Tramp: Encoding remote file `/server:/…/master/.ac-php-conf.json' with `base64 <%s'...done
  Tramp: Decoding local file `/tmp/tramp.8856-LE.json' with `base64-decode-region'...done
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...done
  remake: doing ...  [maybe you need restart emacs for remake tags]
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...
  Tramp: Encoding remote file `/server:/…/master/.ac-php-conf.json' with `base64 <%s'...done
  Tramp: Decoding local file `/tmp/tramp.8856LWK.json' with `base64-decode-region'...done
  Tramp: Inserting `/server:/…/master/.ac-php-conf.json'...done
  remake: doing ...  [maybe you need restart emacs for remake tags]
...
commented

retest

Same problem. The config json file is not empty (your test in patch). It contains in my case:

{
  "use-cscope": null,
  "tag-dir": null,
  "filter": {
    "php-file-ext-list": [
      "php"
    ],
    "php-path-list": [
      "."
    ],
    "php-path-list-without-subdir": []
  }
}

It is a file that is in our GIT repository...

commented

delay:<

commented

you can use sshfs mount

Thanks for an advice. Unfortunately I need to do several SSH hops over more then 1 server which would make sshfs quite cumbersome and unreliable. Not to mention that I am logging into way too many servers during a day and mounting all of them would be inefficient...

I downgraded to 1.7.9 which solved the problem. It appears that the problem was introduced in 1.8.1. The version 1.8 does not have this issue but unfortunately auto-completion does not work there either.

1.7.9 works fine with Tramp including auto-completion. I just made symlink from ~/.ac-php/tags-home-... to ~/.ac-php/tags-sudo:someuser@server:... and it works.

Hello @webdevelopers-eu

I'm interested to fix this (or at least sorting it out). So, could you please help me? I'll need the steps to reproduce this on my laptop. Let's say I have a fresh installed Ubuntu with the vanilla Emacs without any package. What exactly should I do to (step by step) get the same error?

Thank you.

I'm closing this issue due to the lack of any reaction. I'll open it again if the need arises

I would like to re-open this issue.

ac-php is just unable to re-build the ac-php-conf.json file on remote tramp file, but, when the tree is copied locally, it does.

@braoult Which version do you use?
@xcwen Could you please re-check?

@sergeyklay: My ac-php is 20190424.222, from melpa.

commented

Hello, is it still possible to address ac-php not working over tramp?

Completion error:
"Company: backend company-ac-php-backend error "Wrong type argument: hash-table-p, nil" with args (candidates PD"

@paxperscientiam No, it seems this is not fixed yet