fengzhao / fengzhao/pyv8

Unable to create different context

Offen
#167 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
auto-migrated OpSys-All Priority-Medium Type-Enhancement
Vorherrschende Sprache
Python
Sterne
0
Forks
0
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

```
I’m using PyV8 as a base for my Sublime Text plugins. I’ve successfully
used PyV8 on my Emmet plugin, but now I’m creating a new plugin and have
issues with JS context.

Each plugin creates it’s own JSContext instance that should keep data and
exist during plugin lifetime. Context is initiated as follows:

```

self._ctx = PyV8.JSContext()
self._ctx.enter()
self._ctx.eval('...JS source code...')

```

The problem is that PyV8 seems to have just one JS context which is shared
across plugins.

For example, if Sublime Text loads plugin A and then B, I can access JS methods
of B plugin but not A (error is: `AttributeError: '[object global]' object has
no attribute 'XXX'`). If I explicitly reload plugin A (e.g. re-initiate it) I
can access methods of A but not B.

Here’s how JSContext is used in plugin:
https://github.com/sergeche/emmet-sublime/blob/master/emmet/context.py#L170
```

Original issue reported on code.google.com by `serge....@gmail.com` on 22 Mar 2013 at 5:34

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.