Branch: refs/heads/master
Author: xiota <xiota(a)users.noreply.github.com>
Committer: GitHub <noreply(a)github.com>
Date: Mon, 29 Nov 2021 08:35:02 UTC
Commit: d8f2f14a16fe57fb1a98e767a2263846a0135431
https://github.com/geany/geany/commit/d8f2f14a16fe57fb1a98e767a2263846a0135…
Log Message:
-----------
Expand ABI/API explanation in HACKING (#3027)
* Expand ABI/API explanation in HACKING
Modified Paths:
--------------
HACKING
Modified: HACKING
16 lines changed, 12 insertions(+), 4 deletions(-)
===================================================================
@@ -126,10 +126,18 @@ the existing elements stay in place - this will keep the ABI stable.
Keeping the plugin ABI stable
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Before the 1.0 release series, the ABI can change when necessary, and
-even the API can change. An ABI change just means that all plugins will
-not load and they must be rebuilt. An API change means that some plugins
-might not build correctly.
+In general the ABI changes as little as we can manage. The ABI number
+must match exactly between Geany and plugins, so an ABI change breaks
+all plugins until they are re-compiled. But sometimes it is absolutely
+necessary. Removing a feature or significantly changing the semantics
+of an existing feature require an ABI change since existing plugins may
+no longer work with the modified version of Geany.
+
+The API identifying number is increased whenever anything is added to
+the API so plugins can test if the feature is available. The API number
+required by a plugin needs only to be lower than the API Geany provides,
+so an increase in API number without a change in ABI will not stop
+plugins that need a lower number from working.
If you're reordering or changing existing elements of structs that are
used as part of the plugin API, you must increment GEANY_ABI_VERSION
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: xiota <xiota(a)users.noreply.github.com>
Committer: GitHub <noreply(a)github.com>
Date: Mon, 29 Nov 2021 06:25:42 UTC
Commit: f8573625e55d5ad2f9b4e3a31ee50736076b62dd
https://github.com/geany/geany/commit/f8573625e55d5ad2f9b4e3a31ee50736076b6…
Log Message:
-----------
Remove deprecated symbols: PROXY_IGNORED, PROXY_MATCHED, PROXY_NOLOAD (#3030)
The only known plugin affected is geanypy. But it is currently broken because of GTK2 dependencies.
See #3019
Modified Paths:
--------------
src/plugindata.h
Modified: src/plugindata.h
13 lines changed, 0 insertions(+), 13 deletions(-)
===================================================================
@@ -367,19 +367,6 @@ typedef enum
}
GeanyProxyProbeResults;
-/** @deprecated Use GEANY_PROXY_IGNORE instead.
- * @since 1.26 (API 226)
- */
-#define PROXY_IGNORED GEANY_PROXY_IGNORE
-/** @deprecated Use GEANY_PROXY_MATCH instead.
- * @since 1.26 (API 226)
- */
-#define PROXY_MATCHED GEANY_PROXY_MATCH
-/** @deprecated Use GEANY_PROXY_RELATED instead.
- * @since 1.26 (API 226)
- */
-#define PROXY_NOLOAD 0x100
-
/** Hooks that need to be implemented by every proxy
*
* @see geany_plugin_register_proxy() for a full description of the proxy mechanism.
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Enrico Tröger <enrico.troeger(a)uvena.de>
Committer: Enrico Tröger <enrico.troeger(a)uvena.de>
Date: Sun, 28 Nov 2021 16:08:03 UTC
Commit: c07935a903c2c640b10a7cf08a09041a00231162
https://github.com/geany/www.geany.org/commit/c07935a903c2c640b10a7cf08a090…
Log Message:
-----------
Migrate from Travis CI to Github Actions
Modified Paths:
--------------
.github/workflows/linting.yml
.travis.yml
Modified: .github/workflows/linting.yml
53 lines changed, 53 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,53 @@
+# LICENCE: This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+name: CI Linting
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ build:
+ name: Python ${{ matrix.python }}
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ python: ['3.7', '3.8', '3.9', '3.10']
+ fail-fast: false
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Setup Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python }}
+
+ - name: Install dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install --assume-yes --no-install-recommends \
+ default-libmysqlclient-dev \
+ libmemcached-dev
+ pip install --upgrade pip setuptools
+
+ - name: Install Tox
+ run: pip install tox
+
+ - name: Lint
+ run: tox -e py
Modified: .travis.yml
26 lines changed, 0 insertions(+), 26 deletions(-)
===================================================================
@@ -1,26 +0,0 @@
-# LICENCE: This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-os: linux
-dist: bionic
-sudo: false
-language: python
-cache: pip
-
-python:
- - "3.7"
- - "3.8"
- - "3.9"
-
-install: pip install tox-travis
-script: tox
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Jiří Techet <techet(a)gmail.com>
Committer: Enrico Tröger <enrico.troeger(a)uvena.de>
Date: Thu, 25 Nov 2021 11:02:52 UTC
Commit: 31d2375ae4c2689da660005d6e6a7d8723194f87
https://github.com/geany/geany/commit/31d2375ae4c2689da660005d6e6a7d8723194…
Log Message:
-----------
Update update-ctags.py to copy some files from the dsl directory
The main part of ctags now uses some functions from files defined in
the dsl directory. Copy these when updating ctags.
Modified Paths:
--------------
scripts/update-ctags.py
Modified: scripts/update-ctags.py
5 lines changed, 5 insertions(+), 0 deletions(-)
===================================================================
@@ -7,6 +7,7 @@
if len(sys.argv) != 3:
print('Usage: update-ctags.py <universal ctags directory> <geany ctags directory>')
+ sys.exit(1)
srcdir = os.path.abspath(sys.argv[1])
dstdir = os.path.abspath(sys.argv[2])
@@ -19,6 +20,10 @@
for f in parser_dst_files:
shutil.copy(f, dstdir + '/parsers')
+print('Copying dsl files...')
+for f in ['dsl/es.c', 'dsl/es.h', 'dsl/optscript.c', 'dsl/optscript.h']:
+ shutil.copy(srcdir + '/' + f, dstdir + '/' + f)
+
os.chdir(srcdir)
main_src_files = glob.glob('main/*.c') + glob.glob('main/*.h')
os.chdir(dstdir)
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Jiří Techet <techet(a)gmail.com>
Committer: Enrico Tröger <enrico.troeger(a)uvena.de>
Date: Thu, 25 Nov 2021 11:02:52 UTC
Commit: ebb7fcd005e405062a7eba123db5a8213faf1b92
https://github.com/geany/geany/commit/ebb7fcd005e405062a7eba123db5a8213faf1…
Log Message:
-----------
Call initRegexOptscript() in tm_ctags_init()
Since the optscript library is now used by ctags, it has to be initialized,
otherwise Geany crashes.
Modified Paths:
--------------
src/tagmanager/tm_ctags.c
Modified: src/tagmanager/tm_ctags.c
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -207,6 +207,7 @@ void tm_ctags_init(void)
initializeParsing();
initOptions();
+ initRegexOptscript();
/* make sure all parsers are initialized */
initializeParser(LANG_AUTO);
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).