Branch: refs/heads/master
Author: Enrico Tröger <enrico.troeger(a)uvena.de>
Committer: Enrico Tröger <enrico.troeger(a)uvena.de>
Date: Wed, 11 Oct 2023 11:07:17 UTC
Commit: fb9d6676fe7f3462c28d767440b506c1b35894d6
https://github.com/geany/geany/commit/fb9d6676fe7f3462c28d767440b506c1b3589…
Log Message:
-----------
Update URLs to use https consistenly
Most URLs just needed to prefixed with https.
Some other URLs were outdated or broken and
got updated to the recent location.
Modified Paths:
--------------
HACKING
README.I18N
data/filedefs/filetypes.Clojure.conf
data/filedefs/filetypes.Groovy.conf
data/filedefs/filetypes.julia
data/templates/files/main.md
data/ui_toolbar.xml
doc/geany.txt
doc/plugins.dox
doc/pluginsignals.c
geany.nsi.in
geany_private.rc
plugins/demoplugin.c
scripts/create_py_tags.py
scripts/gen-api-gtkdoc.py
src/editor.c
src/geanywraplabel.c
src/keybindings.c
src/sciwrappers.c
src/tagmanager/tm_source_file.c
src/toolbar.c
src/ui_utils.c
Modified: HACKING
10 lines changed, 5 insertions(+), 5 deletions(-)
===================================================================
@@ -98,10 +98,10 @@ See `Committing`_ for more information.
Windows tools
-------------
-* Git: http://git-scm.com/ and http://msysgit.github.io/
-* diff, grep, etc: http://mingw.org/ or http://unxutils.sourceforge.net/
+* Git: https://git-scm.com/ and https://gitforwindows.org/
+* diff, grep, etc: https://www.msys2.org/ or https://unxutils.sourceforge.net/
-See also the 'Building on Windows' document on the website.
+See also the Geany wiki on how to build Geany on Windows at https://wiki.geany.org/howtos/win32/msys2.
File organization
-----------------
@@ -494,7 +494,7 @@ Libraries
---------
We try to use an unmodified version of Scintilla - any new lexers or
other changes should be passed on to the maintainers at
-http://scintilla.org. We normally update to a new Scintilla release
+https://scintilla.org. We normally update to a new Scintilla release
shortly after one is made. See also scintilla/README.
We use an unmodified subset of universal-ctags sources
@@ -536,7 +536,7 @@ first (scintilla or ctags).
If you want to reuse an existing lexer and/or tag parser, making a
custom filetype is probably easier - it doesn't require any
changes to the source code. Follow instructions in the manual:
-http://geany.org/manual/index.html#custom-filetypes. Don't forget to
+https://geany.org/manual/index.html#custom-filetypes. Don't forget to
update the ``[Groups]`` section in ``filetype_extensions.conf``.
.. warning::
Modified: README.I18N
8 lines changed, 4 insertions(+), 4 deletions(-)
===================================================================
@@ -74,7 +74,7 @@ translation issues and will contact the maintainer of the translation you want
to update to avoid any conflicts.
Some translation statistics can be found at:
-http://i18n.geany.org/
+https://i18n.geany.org/
I18n mailing list
@@ -84,7 +84,7 @@ There is also a mailing list dedicated to translation issues. Please visit
https://www.geany.org/Support/MailingList#geany-i18 for more information.
-[1] http://i18n.geany.org/
-[2] http://www.poedit.net/
-[3] https://www.geany.org/Support/MailingList#geany-i18
+[1] https://i18n.geany.org/
+[2] https://www.poedit.net/
+[3] https://www.geany.org/support/mailing-lists/#geany-i18n
[4] Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
Modified: data/filedefs/filetypes.Clojure.conf
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -30,7 +30,7 @@ comment_single=;
comment_use_indent=true
# context action command (please see Geany's main documentation for details)
-context_action_cmd=xdg-open "http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/%s"
+context_action_cmd=xdg-open "https://clojure.github.io/clojure/clojure.core-api.html#clojure.core/%s"
[indentation]
width=2
Modified: data/filedefs/filetypes.Groovy.conf
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -2,9 +2,9 @@
stringeol=string_1
[keywords]
-# http://docs.groovy-lang.org/docs/next/html/documentation/#_keywords
+# https://docs.groovy-lang.org/docs/next/html/documentation/#_keywords
primary=as assert break case catch class const continue def default do else enum extends false finally for goto if implements import in instanceof interface new null package return super switch this throw throws trait true try while
-# http://groovy-lang.org/objectorientation.html#_primitive_types
+# https://groovy-lang.org/objectorientation.html#_primitive_types
secondary=boolean byte char double float int long short void
# documentation keywords for javadoc
doccomment=author deprecated exception param return see serial serialData serialField since throws todo version
Modified: data/filedefs/filetypes.julia
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -2,7 +2,7 @@
#
# For complete documentation of this file, please see Geany's main documentation
#
-# Keywords from pygment lexer (http://pygments.org/)
+# Keywords from pygment lexer (https://pygments.org/)
# and from vim parser (https://github.com/JuliaEditorSupport/julia-vim/)
#
Modified: data/templates/files/main.md
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -43,9 +43,9 @@ Use either one of this methods:
# Using hyperlinks
-This is [an example](http://example.com/ "Title") inline link.
+This is [an example](https://example.com/ "Title") inline link.
-[This link](http://example.net/) has no title attribute.
+[This link](https://example.net/) has no title attribute.
# References
Modified: data/ui_toolbar.xml
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -2,7 +2,7 @@
<!--
This is Geany's toolbar UI definition.
The DTD can be found at
-http://library.gnome.org/devel/gtk/stable/GtkUIManager.html#GtkUIManager.description.
+https://docs.gtk.org/gtk3/class.UIManager.html.
You can re-order all items and freely add and remove available actions.
You cannot add new actions which are not listed in the documentation.
Modified: doc/geany.txt
16 lines changed, 8 insertions(+), 8 deletions(-)
===================================================================
@@ -122,7 +122,7 @@ Source compilation
Compiling Geany is quite easy.
To do so, you need the GTK (>= 3.24) libraries and header files.
You also need the Pango, GLib and ATK libraries and header files.
-All these files are available at http://www.gtk.org, but very often
+All these files are available at https://www.gtk.org, but very often
your distro will provide development packages to save the trouble of
building these yourself.
@@ -691,7 +691,7 @@ Unicode Byte-Order-Mark (BOM)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Furthermore, Geany detects a Unicode Byte Order Mark (see
-http://en.wikipedia.org/wiki/Byte_Order_Mark for details). Of course,
+https://en.wikipedia.org/wiki/Byte_Order_Mark for details). Of course,
this feature is only available if the opened file is in a Unicode
encoding. The Byte Order Mark helps to detect the encoding of a file,
e.g. whether it is UTF-16LE or UTF-16BE and so on. On Unix-like systems
@@ -959,12 +959,12 @@ For example a context action can be used to open API documentation
in a browser window, the command to open the PHP API documentation
would be::
- firefox "http://www.php.net/%s"
+ firefox "https://www.php.net/%s"
when executing the command, the %s is substituted by the word near
the cursor position or by the current selection. If the cursor is at
the word "echo", a browser window will open(assumed your browser is
-called firefox) and it will open the address: http://www.php.net/echo.
+called firefox) and it will open the address: https://www.php.net/echo.
Autocompletion
@@ -1730,7 +1730,7 @@ CTags format
This is the format that ctags generates, and that is used by Vim.
This format is compatible with the format historically used by Vi.
-The format is described at http://ctags.sourceforge.net/FORMAT, but
+The format is described at https://ctags.sourceforge.net/FORMAT, but
for the full list of existing extensions please refer to ctags.
However, note that Geany may actually only honor a subset of the
existing extensions.
@@ -2477,7 +2477,7 @@ Grep
.. note::
For Windows users: at the time of writing it is recommended to use
the grep.exe from the UnxUtils project
- (http://sourceforge.net/projects/unxutils). The grep.exe from the
+ (https://sourceforge.net/projects/unxutils). The grep.exe from the
Mingw project for instance might not work with Geany at the moment.
Commands
@@ -4346,7 +4346,7 @@ context_action_cmd
position or by the current selection.
Hint: for PHP files the following could be quite useful:
- context_action_cmd=firefox "http://www.php.net/%s"
+ context_action_cmd=firefox "https://www.php.net/%s"
*Example:* ``context_action_cmd=devhelp -s "%s"``
@@ -5380,7 +5380,7 @@ inside the *doc* subdirectory. To generate a PDF file, configure with
PDF file is named geany-|(version)|.pdf and is located inside the *doc*
subdirectory.
-__ http://docutils.sourceforge.net/rst.html
+__ https://docutils.sourceforge.net/rst.html
After you are happy with your changes, create a patch e.g. by using::
Modified: doc/plugins.dox
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -86,7 +86,7 @@ https://www.geany.org/Support/PluginWishlist to get an idea about what users wis
For authors of plugins for Geany, we created a dedicated @a geany-plugins project
on Sourceforge and GitHub to ease development of plugins and help new authors.
-All information about this project you can find at http://plugins.geany.org/
+All information about this project you can find at https://plugins.geany.org/
To add a new plugin to this project, get in touch with the people on the
geany-devel-mailing list and create a fork of the geany-plugins project
@@ -106,7 +106,7 @@ If you don't want your plugin to be part of the geany-plugins project it is also
Just skip the part about forking geany-plugins and sending a pull request.
In this case it is of course also a good idea to post some kind of announcement
to geany-devel and maybe to the main geany mailing list -- it's up to you.
-You can also ask for your plugin to be listed on the http://plugins.geany.org/
+You can also ask for your plugin to be listed on the https://plugins.geany.org/
website as a third party plugin, helping Geany user to know about your plugin.
At time of writing, there are some plugins already available in the
Modified: doc/pluginsignals.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -238,7 +238,7 @@ signal void (*update_editor_menu)(GObject *obj, const gchar *word, gint pos, Gea
*
* E.g. Character added, fold level changes, clicks to the line number margin.
* A detailed description of possible notifications and the SCNotification can be found at
- * http://www.scintilla.org/ScintillaDoc.html#Notifications.
+ * https://www.scintilla.org/ScintillaDoc.html#Notifications.
*
* If you connect to this signal, you must check @c nt->nmhdr.code for the notification type
* to prevent handling unwanted notifications. This is important because for instance SCN_UPDATEUI
Modified: geany.nsi.in
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -358,7 +358,7 @@ SectionEnd
; helper functions ;
;;;;;;;;;;;;;;;;;;;;;
-; (from http://jabref.svn.sourceforge.net/viewvc/jabref/trunk/jabref/src/windows/ns…)
+; (from https://github.com/JabRef/jabref/blob/c93c9f68746f387d00c34b6c416fcedf79670…)
!macro IsUserAdmin Result UName
ClearErrors
UserInfo::GetName
@@ -382,7 +382,7 @@ done:
Function .onInit
StrCpy "$StartmenuFolder" "Geany"
- ; (from http://jabref.svn.sourceforge.net/viewvc/jabref/trunk/jabref/src/windows/ns…)
+ ; (from https://github.com/JabRef/jabref/blob/c93c9f68746f387d00c34b6c416fcedf79670…)
; If the user does *not* have administrator privileges, abort
StrCpy $Answer ""
StrCpy $UserName ""
Modified: geany_private.rc
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -15,7 +15,7 @@ FILETYPE VFT_APP
BLOCK "StringFileInfo"
{
// U.S. English, Multilingual
- // (see http://msdn.microsoft.com/en-us/library/aa381049%28VS.85%29.aspx)
+ // (see https://msdn.microsoft.com/en-us/library/aa381049%28VS.85%29.aspx)
BLOCK "040904E4"
{
VALUE "CompanyName", ""
Modified: plugins/demoplugin.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -52,7 +52,7 @@ static gboolean on_editor_notify(GObject *object, GeanyEditor *editor,
GeanyData *geany_data = plugin->geany_data;
/* For detailed documentation about the SCNotification struct, please see
- * http://www.scintilla.org/ScintillaDoc.html#Notifications. */
+ * https://www.scintilla.org/ScintillaDoc.html#Notifications. */
switch (nt->nmhdr.code)
{
case SCN_UPDATEUI:
Modified: scripts/create_py_tags.py
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -3,7 +3,7 @@
# Author: Enrico Tröger
# License: GPL v2 or later
#
-# (based on the script at http://svn.python.org/view/*checkout*/python/trunk/Tools/scripts/ptags.py)
+# (based on the script at https://github.com/python/cpython/blob/83eb827247dd28b13fd816936c74c162e9f5…)
#
# This script should be run in the top source directory.
#
Modified: scripts/gen-api-gtkdoc.py
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -100,7 +100,7 @@ class DoxygenProcess(object):
def __init__(self):
self.at = None
- # http://stackoverflow.com/questions/4624062/get-all-text-inside-a-tag-in-lxml
+ # https://stackoverflow.com/questions/4624062/get-all-text-inside-a-tag-in-lx…
@staticmethod
def stringify_children(node):
from lxml.etree import tostring
Modified: src/editor.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -1103,7 +1103,7 @@ static gboolean on_editor_notify(G_GNUC_UNUSED GObject *object, GeanyEditor *edi
/* Visible lines are only laid out accurately just before painting,
* so we need to only call editor_scroll_to_line here, because the document
* may have line wrapping and folding enabled.
- * http://scintilla.sourceforge.net/ScintillaDoc.html#LineWrapping
+ * https://scintilla.sourceforge.io/ScintillaDoc.html#LineWrapping
* This is important e.g. when loading a session and switching pages
* and having the cursor scroll in view. */
/* FIXME: Really we want to do this just before painting, not after it
Modified: src/geanywraplabel.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -20,7 +20,7 @@
/*
* A GtkLabel subclass that can wrap to any width, unlike GtkLabel which has a fixed wrap point.
- * (inspired by libview's WrapLabel, http://view.sourceforge.net)
+ * (inspired by libview's WrapLabel, https://view.sourceforge.net/)
*/
#ifdef HAVE_CONFIG_H
Modified: src/keybindings.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -1016,7 +1016,7 @@ static GtkWidget *create_dialog(void)
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree), FALSE);
text_renderer = gtk_cell_renderer_text_new();
- /* we can't use "weight-set", see http://bugzilla.gnome.org/show_bug.cgi?id=355214 */
+ /* we can't use "weight-set", see https://bugzilla.gnome.org/show_bug.cgi?id=355214 */
column = gtk_tree_view_column_new_with_attributes(
NULL, text_renderer, "text", 0, "weight", 2, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
Modified: src/sciwrappers.c
6 lines changed, 3 insertions(+), 3 deletions(-)
===================================================================
@@ -20,13 +20,13 @@
/** @file sciwrappers.h
* Wrapper functions for the Scintilla editor widget @c SCI_* messages.
- * You should also check the http://scintilla.org documentation, as it is more detailed.
+ * You should also check the https://scintilla.org documentation, as it is more detailed.
*
* To get Scintilla notifications, use the
* @link pluginsignals.c @c "editor-notify" signal @endlink.
*
* @note These functions were originally from the cssed project
- * (http://cssed.sf.net, thanks).
+ * (https://sourceforge.net/projects/cssed/, thanks).
* @see scintilla_send_message().
*/
@@ -1219,7 +1219,7 @@ void sci_set_readonly(ScintillaObject *sci, gboolean readonly)
/** Sends Scintilla commands without any parameters.
* @param sci The Scintilla @c GtkWidget.
* @param cmd @c SCI_COMMAND.
- * @see http://scintilla.org for the documentation.
+ * @see https://scintilla.org for the documentation.
*
* @since 0.16
*/
Modified: src/tagmanager/tm_source_file.c
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -86,7 +86,7 @@ static int get_path_max(const char *path)
#if defined(G_OS_WIN32) && !defined(HAVE_REALPATH)
-/* realpath implementation for Windows found at http://bugzilla.gnome.org/show_bug.cgi?id=342926
+/* realpath implementation for Windows found at https://bugzilla.gnome.org/show_bug.cgi?id=342926
* this one is better than e.g. liberty's lrealpath because this one uses Win32 API and works
* with special chars within the filename */
static char *realpath (const char *pathname, char *resolved_path)
@@ -304,7 +304,7 @@ static gboolean init_tag_from_file_alt(TMTag *tag, TMSourceFile *file, FILE *fp)
}
/*
- CTags tag file format (http://ctags.sourceforge.net/FORMAT)
+ CTags tag file format (https://ctags.sourceforge.net/FORMAT)
*/
static gboolean init_tag_from_file_ctags(TMTag *tag, TMSourceFile *file, FILE *fp, TMParserType lang)
{
Modified: src/toolbar.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -887,7 +887,7 @@ static void tb_editor_write_markup(TBEditorWidget *tbw)
/* <ui> must be the first tag, otherwise gtk_ui_manager_add_ui_from_string() will fail. */
const gchar *template = "<ui>\n<!--\n\
This is Geany's toolbar UI definition.\nThe DTD can be found at \n\
-http://library.gnome.org/devel/gtk/stable/GtkUIManager.html#GtkUIManager.description.\n\n\
+https://docs.gtk.org/gtk3/class.UIManager.html.\n\n\
You can re-order all items and freely add and remove available actions.\n\
You cannot add new actions which are not listed in the documentation.\n\
Everything you add or change must be inside the /ui/toolbar/ path.\n\n\
Modified: src/ui_utils.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -3058,7 +3058,7 @@ gboolean ui_is_keyval_enter_or_return(guint keyval)
/** Reads an integer from the GTK default settings registry
- * (see http://library.gnome.org/devel/gtk/stable/GtkSettings.html).
+ * (see https://docs.gtk.org/gtk3/class.Settings.html).
* @param property_name The property to read.
* @param default_value The default value in case the value could not be read.
* @return The value for the property if it exists, otherwise the @a default_value.
--------------
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: Tue, 03 Oct 2023 13:16:11 UTC
Commit: 354c7ba4e66803f16d9e0452b7829d47cb742587
https://github.com/geany/geany/commit/354c7ba4e66803f16d9e0452b7829d47cb742…
Log Message:
-----------
CI: Copy used C++ runtime library into the GTK bundle
Modified Paths:
--------------
scripts/ci_mingw64_geany.sh
Modified: scripts/ci_mingw64_geany.sh
7 lines changed, 7 insertions(+), 0 deletions(-)
===================================================================
@@ -208,6 +208,13 @@ create_gtk_bundle() {
mkdir ${GTK_BUNDLE_DIR}
cd ${GTK_BUNDLE_DIR}
bash ${GEANY_BUILD_DIR}/scripts/gtk-bundle-from-msys2.sh -x -3
+
+ # We use the "posix" variant of the mingw64 cross compiler which has support for
+ # C++ features like "std:future". For this to work, we need to use the corresponding
+ # C++ runtime library and copy (and strip) it to the resulting bundle.
+ gcc_version="$(${HOST}-gcc -dumpversion)/libstdc++-6.dll"
+ cp "/usr/lib/gcc/${HOST}/${gcc_version}" "${GTK_BUNDLE_DIR}/bin"
+ ${HOST}-strip "${GTK_BUNDLE_DIR}/bin/libstdc++-6.dll"
}
--------------
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: Tue, 03 Oct 2023 12:46:11 UTC
Commit: 608f4df1e6aac75f830472ead9ad35fad9cf0f79
https://github.com/geany/infrastructure/commit/608f4df1e6aac75f830472ead9ad…
Log Message:
-----------
Builders: Use "posix" variant of the mingw64 cross compiler
The mingw64 cross compiler lacks support at least for "std:future"
feature in C++ (https://sourceforge.net/p/mingw-w64/bugs/959/).
Debian offers a "posix" variant which implements it.
Modified Paths:
--------------
builders/Dockerfile.mingw64
Modified: builders/Dockerfile.mingw64
8 lines changed, 7 insertions(+), 1 deletions(-)
===================================================================
@@ -47,7 +47,13 @@ RUN set -ex && \
# install NSIS and exiftool to inspect binary metadata
nsis libimage-exiftool-perl osslsigncode \
# Geany build dependencies \
- python3-lxml python3-docutils
+ python3-lxml python3-docutils && \
+ # Use the "posix" variant of the mingw64 cross compiler to have support for recent C++ features
+ # like "std:future", see
+ # https://salsa.debian.org/mingw-w64-team/gcc-mingw-w64/-/blob/master/debian/…
+ # and https://sourceforge.net/p/mingw-w64/bugs/959/ for details.
+ update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix && \
+ update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
# copy scripts
--------------
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: GitHub <noreply(a)github.com>
Date: Wed, 11 Oct 2023 10:44:54 UTC
Commit: 4554624f1b6a10e1b0877ccd660358d9af386a55
https://github.com/geany/infrastructure/commit/4554624f1b6a10e1b0877ccd6603…
Log Message:
-----------
Merge pull request #11 from geany/use_mingw_posix_crosscompiler
Builders: Use "posix" variant of the mingw64 cross compiler
Modified Paths:
--------------
builders/Dockerfile.mingw64
Modified: builders/Dockerfile.mingw64
8 lines changed, 7 insertions(+), 1 deletions(-)
===================================================================
@@ -50,7 +50,13 @@ RUN set -ex && \
# install NSIS and exiftool to inspect binary metadata
nsis libimage-exiftool-perl osslsigncode \
# Geany build dependencies \
- python3-lxml python3-docutils
+ python3-lxml python3-docutils && \
+ # Use the "posix" variant of the mingw64 cross compiler to have support for recent C++ features
+ # like "std:future", see
+ # https://salsa.debian.org/mingw-w64-team/gcc-mingw-w64/-/blob/master/debian/…
+ # and https://sourceforge.net/p/mingw-w64/bugs/959/ for details.
+ update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix && \
+ update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
# copy scripts
--------------
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, 01 Oct 2023 11:01:48 UTC
Commit: f8e81de9c6b829c4b9657f66a37b8d0fca6e43b4
https://github.com/geany/infrastructure/commit/f8e81de9c6b829c4b9657f66a37b…
Log Message:
-----------
Builders: Ensure /etc/mtab is available on Docker mingw64 image build
When building the image with BuildKit (which is enabled by default in
newer Docker versions), /etc/mtab is not created automatically anymore.
Since Pacman relies on it, we create the file if necessary.
Modified Paths:
--------------
builders/Dockerfile.mingw64
Modified: builders/Dockerfile.mingw64
3 lines changed, 3 insertions(+), 0 deletions(-)
===================================================================
@@ -24,6 +24,9 @@ LABEL org.opencontainers.image.licenses="GPL-2.0"
# install native tools and libraries
RUN set -ex && \
+ # ensure /etc/mtab is available, pacman depends on it
+ test -e /etc/mtab || ln -s /proc/mounts /etc/mtab && \
+ # add i386 architecture for mingw64
dpkg --add-architecture i386 && \
# add Debian backports for "pacman" package manager, can be removed after updating this image to Debian Bookworm
echo "deb http://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/backports.list && \
--------------
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: Jiří Techet <techet(a)gmail.com>
Date: Wed, 23 Aug 2023 20:39:34 UTC
Commit: 188038a06a1050308fd7621f11147883d7e5b8fc
https://github.com/geany/geany/commit/188038a06a1050308fd7621f11147883d7e5b…
Log Message:
-----------
Improve tag-goto popup
1. Show signature for all tag types using get_symbol_name() when
get_symbol_tooltip() returns NULL. Modify get_symbol_name() to drop
line number when needed. (More or less taken over the complete
implementation from Colomban)
2. Add scope information to the signature both when using get_symbol_name()
and get_symbol_tooltip(). (Based on Nick's idea)
3. Truncate the length of the popup to at most 80 characters (More or less
taken over the complete implementation from Nick)
4. Improve formatting of entries in the popup so individual pieces of
information are easier to distinguish:
- file name and line number are always in italics
- the following signature is in small monospaced font
5. Add tooltip to every entry (based on Nick's implementation).
- split the tooltip into two lines - the first line shows the file and
the line number, the second line the signature
- both of the lines are formatted in the same way as described in (4)
(Thanks to Nick Treleaven and Colomban Wendling for the original
implementation.)
Modified Paths:
--------------
src/symbols.c
src/tagmanager/tm_parser.c
src/tagmanager/tm_parser.h
Modified: src/symbols.c
42 lines changed, 27 insertions(+), 15 deletions(-)
===================================================================
@@ -486,7 +486,8 @@ static void hide_empty_rows(GtkTreeStore *store)
}
-static const gchar *get_symbol_name(GeanyDocument *doc, const TMTag *tag, gboolean found_parent)
+static const gchar *get_symbol_name(GeanyDocument *doc, const TMTag *tag, gboolean include_scope,
+ gboolean include_line)
{
gchar *utf8_name;
const gchar *scope = tag->scope;
@@ -517,7 +518,7 @@ static const gchar *get_symbol_name(GeanyDocument *doc, const TMTag *tag, gboole
g_string_truncate(buffer, 0);
/* check first char of scope is a wordchar */
- if (!found_parent && scope &&
+ if (include_scope && scope &&
strpbrk(scope, GEANY_WORDCHARS) == scope)
{
const gchar *sep = tm_parser_scope_separator_printable(tag->lang);
@@ -530,22 +531,24 @@ static const gchar *get_symbol_name(GeanyDocument *doc, const TMTag *tag, gboole
if (! doc_is_utf8)
g_free(utf8_name);
- g_string_append_printf(buffer, " [%lu]", tag->line);
+ if (include_line)
+ g_string_append_printf(buffer, " [%lu]", tag->line);
return buffer->str;
}
// Returns NULL if the tag is not a variable or callable
-static gchar *get_symbol_tooltip(GeanyDocument *doc, const TMTag *tag)
+static gchar *get_symbol_tooltip(GeanyDocument *doc, const TMTag *tag, gboolean include_scope)
{
gchar *utf8_name = tm_parser_format_function(tag->lang, tag->name,
tag->arglist, tag->var_type, tag->scope);
if (!utf8_name && tag->var_type &&
tag->type & (tm_tag_field_t | tm_tag_member_t | tm_tag_variable_t | tm_tag_externvar_t))
{
- utf8_name = tm_parser_format_variable(tag->lang, tag->name, tag->var_type);
+ gchar *scope = include_scope ? tag->scope : NULL;
+ utf8_name = tm_parser_format_variable(tag->lang, tag->name, tag->var_type, scope);
}
/* encodings_convert_to_utf8_from_charset() fails with charset "None", so skip conversion
@@ -949,8 +952,8 @@ static void update_tree_tags(GeanyDocument *doc, GList **tags)
/* only update fields that (can) have changed (name that holds line
* number, tooltip, and the tag itself) */
- name = get_symbol_name(doc, found, parent_name != NULL);
- tooltip = get_symbol_tooltip(doc, found);
+ name = get_symbol_name(doc, found, parent_name == NULL, TRUE);
+ tooltip = get_symbol_tooltip(doc, found, FALSE);
gtk_tree_store_set(store, &iter,
SYMBOLS_COLUMN_NAME, name,
SYMBOLS_COLUMN_TOOLTIP, tooltip,
@@ -1006,8 +1009,8 @@ static void update_tree_tags(GeanyDocument *doc, GList **tags)
expand = ! gtk_tree_model_iter_has_child(model, parent);
/* insert the new element */
- name = get_symbol_name(doc, tag, parent_name != NULL);
- tooltip = get_symbol_tooltip(doc, tag);
+ name = get_symbol_name(doc, tag, parent_name == NULL, TRUE);
+ tooltip = get_symbol_tooltip(doc, tag, FALSE);
gtk_tree_store_insert_with_values(store, &iter, parent, 0,
SYMBOLS_COLUMN_NAME, name,
SYMBOLS_COLUMN_TOOLTIP, tooltip,
@@ -1509,20 +1512,29 @@ static void show_goto_popup(GeanyDocument *doc, GPtrArray *tags, gboolean have_b
GtkWidget *image;
gchar *fname = short_names[i];
gchar *text;
- gchar *sym = get_symbol_tooltip(doc, tmtag);
+ gchar *tooltip;
+ gchar *sym = get_symbol_tooltip(doc, tmtag, TRUE);
+ if (!sym)
+ sym = g_strdup(get_symbol_name(doc, tmtag, TRUE, FALSE));
if (!sym)
sym = g_strdup("");
+
if (! first && have_best)
- /* For translators: it's the filename and line number of a symbol in the goto-symbol popup menu */
- text = g_markup_printf_escaped(_("<b>%s:%lu:</b> %s"), fname, tmtag->line, sym);
+ /* For translators: it's the filename, line number, and signature of a symbol in the goto-symbol popup menu */
+ text = g_markup_printf_escaped(_("<i><b>%s:%lu</b></i><small><tt> %s</tt></small>"), fname, tmtag->line, sym);
else
- /* For translators: it's the filename and line number of a symbol in the goto-symbol popup menu */
- text = g_markup_printf_escaped(_("<i>%s:%lu:</i> %s"), fname, tmtag->line, sym);
+ /* For translators: it's the filename, line number, and signature of a symbol in the goto-symbol popup menu */
+ text = g_markup_printf_escaped(_("<i>%s:%lu</i><small><tt> %s</tt></small>"), fname, tmtag->line, sym);
+
+ /* For translators: it's the filename, line number, and signature of a symbol in the goto-symbol popup menu */
+ tooltip = g_markup_printf_escaped(_("<i>%s:%lu</i>\n<small><tt>%s</tt></small>"), fname, tmtag->line, sym);
g_free(sym);
image = gtk_image_new_from_pixbuf(symbols_icons[get_tag_class(tmtag)].pixbuf);
- label = g_object_new(GTK_TYPE_LABEL, "label", text, "use-markup", TRUE, "xalign", 0.0, NULL);
+ label = g_object_new(GTK_TYPE_LABEL, "label", text, "use-markup", TRUE, "xalign", 0.0,
+ "tooltip-markup", tooltip, "max-width-chars", 80,
+ "ellipsize", PANGO_ELLIPSIZE_END, NULL);
item = g_object_new(GTK_TYPE_IMAGE_MENU_ITEM, "image", image, "child", label, "always-show-image", TRUE, NULL);
g_signal_connect_data(item, "activate", G_CALLBACK(on_goto_popup_item_activate),
tm_tag_ref(tmtag), (GClosureNotify) tm_tag_unref, 0);
Modified: src/tagmanager/tm_parser.c
20 lines changed, 16 insertions(+), 4 deletions(-)
===================================================================
@@ -1517,21 +1517,33 @@ gboolean tm_parser_enable_kind(TMParserType lang, gchar kind)
}
-gchar *tm_parser_format_variable(TMParserType lang, const gchar *name, const gchar *type)
+gchar *tm_parser_format_variable(TMParserType lang, const gchar *name, const gchar *type,
+ const gchar *scope)
{
+ gchar *ret, *name_full;
+
if (!type)
return NULL;
+ if (scope)
+ name_full = g_strconcat(scope, tm_parser_scope_separator_printable(lang),
+ name, NULL);
+ else
+ name_full = g_strdup(name);
+
switch (lang)
{
case TM_PARSER_GO:
- return g_strconcat(name, " ", type, NULL);
+ ret = g_strconcat(name_full, " ", type, NULL);
case TM_PARSER_PASCAL:
case TM_PARSER_PYTHON:
- return g_strconcat(name, ": ", type, NULL);
+ ret = g_strconcat(name_full, ": ", type, NULL);
default:
- return g_strconcat(type, " ", name, NULL);
+ ret = g_strconcat(type, " ", name_full, NULL);
}
+
+ g_free(name_full);
+ return ret;
}
Modified: src/tagmanager/tm_parser.h
3 lines changed, 2 insertions(+), 1 deletions(-)
===================================================================
@@ -161,7 +161,8 @@ gboolean tm_parser_enable_role(TMParserType lang, gchar kind);
gboolean tm_parser_enable_kind(TMParserType lang, gchar kind);
-gchar *tm_parser_format_variable(TMParserType lang, const gchar *name, const gchar *type);
+gchar *tm_parser_format_variable(TMParserType lang, const gchar *name, const gchar *type,
+ const gchar *scope);
gchar *tm_parser_format_function(TMParserType lang, const gchar *fname, const gchar *args,
const gchar *retval, const gchar *scope);
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).