[Geany-Devel] Miscellaneous Ideas

Devyn Collier Johnson devyncjohnson at xxxxx
Wed Nov 11 02:09:08 UTC 2015


On 11/10/2015 06:04 PM, Lex Trotman wrote:
>> Geany Dev Team:
>>
>> Thank you everyone for your insightful and helpful feedback and comments.
>>
>> I understand that package maintainers compile the code themselves. I am
>> mainly referring to the default compiling options used by Geany or the
>> suggested compilation process used in README files. However, I did some
>> testing, and I did not see any noticeable performance improvements. In other
>> words, my tests show that the defaults are fine. Even when compiling with
>> flags that disable or remove debugging, the Geany executable is not smaller
>> and the memory usage is the same (even when using "strip --strip-debug
>> --strip-unneeded ./geany").
> It may not strip much, the symbols are needed for plugins to work, so
> they won't strip (or if they did plugins would probably fail).
>
>> When compiling Geany, I did see many deprecation
>> and pointer warnings (mainly with GTK).
> There are heaps of deprecation warnings with GTK3, hence my previous
> comment about adding --no-deprecate, but there shouldn't be any with
> GTK2.
>
> What pointer warnings do you get?
>
>> By the way, what does "--enable-force" do to the building process? Is it
>> simply a joke?
> Probably, maybe it should be updated to a newer meme, although there
> is a new star wars coming soon :).
>
>> I am not disappointed if my code is not merged. I understand that the team
>> needs to ensure that Geany is fast, stable, and lightweight. Plus, this is
>> not "my" project, so I do not expect to have all my ideas implemented just
>> because "I" suggest something.
>>
>> I will be sure to consider contributing to the Wiki.
>>
>> Lex, true, licenses could be added as file templates. However, using "Edit >
>> Insert Comments > SOME-LICENSE" is not dependent on the programming
>> language.
> The templates can be given an extension, and that will even create the
> file with that extension, and set the filetype from it. Thats why I
> said I have apache.hpp and apache.cpp as templates.
>
>> Matthew and Lex, so which mailing list is the correct one for plugin
>> development? You each suggested a different mailing list.
> Actually we are saying the same thing in differing ways :)
>
> See http://www.geany.org/Support/MailingList, the development list is
> for development, the user list is for stuff users might care about.
> Many users are not subscribed to the devel list so if you want
> comments from the general user community (like how should the UI work)
>   you should use that.
>
> But its the same lists for both plugins and geany itself, sorry for
> the confusion.
>
>
>> Matthew, as far as adding license templates, I think must be added to Geany
>> because placing a license template in ~/.config/geany/filedefs/templates and
>> /usr/share/geany/templates does not add the new license to "Edit > Insert
>> Comments". I even tried closing Geany and re-opening it and reloading the
>> configuration.
> Yes, the templates are added to the "create file" dropdown, they are
> *file* templates, ie a template for a new file.
>
>> I strongly agree with Colomban Wendling about adding "bool", "true", and
>> "false" to "primary=" in filetypes.c.
> What you mean they won't change stdbool.h just for us :)
>
>> --
>> Thanks,
>> Devyn Collier Johnson
>> DevynCJohnson at Gmail.com
>>
>> _______________________________________________
>> Devel mailing list
>> Devel at lists.geany.org
>> https://lists.geany.org/cgi-bin/mailman/listinfo/devel
> _______________________________________________
> Devel mailing list
> Devel at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Geany Dev Team:

When running "strip --strip-debug --strip-unneeded ./FILE", only symbols 
related to debugging and unused symbols are removed. I use this strip 
command on all shared/dynamic libraries and executable programs that I 
make as well as some of my system binaries (like /usr/bin/python3.4 and 
my custom compiled Linux kernel and modules). I have not yet had any 
problems. True, removing all symbols (strip --strip-all) would cause 
issues with some applications and most (if not all) shared libraries.

As for the license templates, I think you and I are thinking of two 
different things. I am not referring to /usr/share/geany/templates/files 
. I am talking about /usr/share/geany/templates . True, your apache.cpp 
would go in /usr/share/geany/templates/files to appear in the "File > 
New (with template)" sub-menu. However, I want to add licenses to the 
"Edit > Insert Comments" sub-menu. Then, in a file with code, I could 
select a license to insert. Geany automatically adds the multi-line 
comment for the detected language. If a language is not detected by 
Geany, I could make a multi-line comment and select a license to insert. 
(Example below)

/*
Place cursor here, choose a license under "Edit > Insert Comments", and 
the license info is instantly inserted.
Such license templates under "Edit > Insert Comments"
*/

I tested the "gpl" and "bsd" license templates that are already in the 
mainstream Geany release in the "Edit > Insert Comments" sub-menu. These 
license templates are "universal". In other words, they work in any 
computer language's source code. However, this feature would be more 
beneficial if there were more licenses to choose from. I like to use 
LGPLv3 in many of my libraries, but Geany does not have that in the 
license list.

I get dozens of deprecated warnings when using GTK2 (that is not a typo, 
I do indeed mean "GTK2").

As for the pointer warnings, I saw several (but they relate to GTK2 
rather than Geany itself). Below is one such warning. By the way, the 
displayed errors in this email were generated with "./configure -v 
--enable-html-docs=no --prefix=$HOME/Geany --exec-prefix=$HOME/Geany 
--disable-nls".

dialogs.c:1001:15: warning: assignment makes pointer from integer 
without a cast [-Wint-conversion]
    data->combo = gtk_combo_box_text_new_with_entry();

There were also a few "implicit declaration of function" warnings. One 
is seen below.

dialogs.c: In function 'dialogs_show_input_full':
gtkcompat.h:57:44: warning: implicit declaration of function 
'gtk_combo_box_entry_new_text' [-Wimplicit-function-declaration]
  # define gtk_combo_box_text_new_with_entry gtk_combo_box_entry_new_text
                                             ^
dialogs.c:1001:17: note: in expansion of macro 
'gtk_combo_box_text_new_with_entry'
    data->combo = gtk_combo_box_text_new_with_entry();

If you would like the complete terminal output from the building 
process, I would be happy to put it on the ML as an attached text-file 
as well as a detailed list of information about my libraries, compiler, 
Linux system, etc. Below is some of the most relevant information.

Ubuntu 15.10 (Willy) x86-64
Little-Endian; Intel i5 (Haswell) 2.5GHz

$ uname -somr
Linux 4.2.399-dcj-20151017 x86_64 GNU/Linux

$ gcc --version
gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010

$ ldd --version
ldd (Ubuntu GLIBC 2.21-0ubuntu4) 2.21

$ dpkg -s libgtk2.0-0|grep '^Version'
Version: 2.24.28-1ubuntu1

# Available CPU flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr 
pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe 
syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_go

--
Thanks,
Devyn Collier Johnson
DevynCJohnson at Gmail.com


More information about the Devel mailing list