Re: [Github-comments] [geany/geany-plugins] Tree browser font (#424)

2016-09-18 Thread Zenaan Harkness
Is this possible in the Windows (10) installation of Geany? If so, which 
program do I run, or which configuration file  do I edit (and where in that 
config file)?

Also, for me at least, the "Documents" sidebar font and main menu font ... 
again, on Windows 10 (do I need to file a separate bug?)?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/424#issuecomment-247911578

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

@b4n yeah, though it would probably be nicer to actually add a new signal for 
that (ex. `settings-scope-changed`) than using the close signal by proxy.

Whichever you guys prefer, I'm rather indifferent. I poked around in Geany and 
Geany-Plugins and didn't see any problems with either approach.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

[Github-comments] [geany/geany] Add patch for self-compiled grep to fix recursive searching (#1237)

2016-09-18 Thread Enrico Tröger
When using --recursive on Windows, grep shows warnings like
"recursive directory loop" due to failing inode checks. Since the
Mingw runtime doesn't support inodes, the patch will disable
inode checking in grep and so grep can work properly on Windows.
Patch is taken from
http://mingw-users.1079350.n2.nabble.com/Building-GREP-td7582694.html.

Closes #1229.

The patch file is currently still located at 
http://download.geany.org/snapshots/grep-2.25-win64_sameinode.patch. I will 
move the file to the correct location once this PR is going to be merged.
You can view, comment on, or merge this pull request online at:

  https://github.com/geany/geany/pull/1237

-- Commit Summary --

  * Add patch for self-compiled grep to fix recursive searching

-- File Changes --

M scripts/gtk-bundle-from-msys2.sh (12)

-- Patch Links --

https://github.com/geany/geany/pull/1237.patch
https://github.com/geany/geany/pull/1237.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1237


Re: [Github-comments] [geany/geany] Proxy Plugins Filename Pattern Matching (#1236)

2016-09-18 Thread Matthew Brush
@codebrainz pushed 1 commit.

526b9a4  Update proxy plugins documentation


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/geany/geany/pull/1236/files/29d987bb43e338d323d00a61c429e8debf21f053..526b9a455d87625174ed8a89ea2c8de24cdc40a1


Re: [Github-comments] [geany/geany] Proxy suffixes (#1236)

2016-09-18 Thread Matthew Brush
The first two commits should be squished together.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1236#issuecomment-247850890

[Github-comments] [geany/geany] Proxy suffixes (#1236)

2016-09-18 Thread Matthew Brush
As a result of discussions in #1233 comments.

Overview:
  - Allows proxy plugins to register to pre-match "glob-style" patterns for 
subplugins.
  - Allows passing `NULL` to register to probe all potential subplugin files 
(ie. pattern `*`).
You can view, comment on, or merge this pull request online at:

  https://github.com/geany/geany/pull/1236

-- Commit Summary --

  * Change proxy plugins to match by filename suffix
  * Change from suffix to Glob-style pattern matching
  * Allow proxies to pass `NULL` for the `patterns` parameter

-- File Changes --

M src/plugindata.h (4)
M src/plugins.c (101)

-- Patch Links --

https://github.com/geany/geany/pull/1236.patch
https://github.com/geany/geany/pull/1236.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1236


Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread elextr
:bike: :house:  :)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247847930

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Matthew Brush
> It would probably work for "foo.pypy" but if there is no dot at all it would 
> crash.

Sounds like it would be easy to fix.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247847943

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Thomas Martitz
fwiw, peasy's probe() expects to get a filename with a dot in it. It would 
probably work for "foo.pypy" but if there is no dot at all it would crash.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247847861

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Matthew Brush
> Guess it saves every proxy probing every file in the single plugins dir.

I wonder if that would be a problem in practice though? Most likely it will be 
< 50 files and likely no more than a few hundred at the upper limit.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247847842

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread elextr
Guess it saves every proxy probing every file in the single plugins dir.


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247847796

Re: [Github-comments] [geany/geany] Geany 1.28 "Find in files" doesn't work in Windows 7 64bit OS (#1229)

2016-09-18 Thread Enrico Tröger
I just noticed my previous tests were wrong:
the warnings are not just warnings, actually grep doesn't find matches in sub 
directories without the patch. With the patch, the warnings are gone and 
matches will be found properly.

So, we probably should apply it.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1229#issuecomment-247847635

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Matthew Brush
Actually what's the point of pre-matching by file extension/suffix at all? Why 
can't the proxy plugin's `probe()` functions do this alone? We could add a 
`utils_has_filename_suffix()` if all the want to do is suffix-matching.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247847617

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Matthew Brush
Also proxy plugins matching blindly against extensions, without checking the 
file contents, are basically broken already, since all the plugins are only 
allowed in a single directory and the likelihood of extension clashes is great.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247847197

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Matthew Brush
Yeah, it will match `fatso` as well as `fat.so`, but it doesn't change the C 
API, and only does a minor tweak to the semantics. Also it will only affect an 
estimated 2 actual proxy plugins known to exist :) But an API version bump is 
no problem (and accounted for in the comments, but forgotten in the 
`plugindata.h` file).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247847050

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Colomban Wendling
well, as you pointed yourself in the comment, if the plugin doesn't update the 
suffixes to include the dot, it'll match additional things.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247846909

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Matthew Brush
@b4n not really, but it would be worth an API bump to allow proxy plugins to 
detect the change if they want.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247846734

Re: [Github-comments] [geany/geany] Geany 1.28 "Find in files" doesn't work in Windows 7 64bit OS (#1229)

2016-09-18 Thread Enrico Tröger
Running the same grep binary from the command line produces the same warnings.

After reading 
http://mingw-users.1079350.n2.nabble.com/Building-GREP-td7582694.html and 
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16444 it seems to be a grep issue 
which is unlikely to be fixed (according to #16444).

We could apply 
http://download.geany.org/snapshots/grep-2.25-win64_sameinode.patch which 
eliminates the warnings. This patch is from the first link.
For testing, I just build grep-2.25 with the mentioned patch, the binary is at 
http://download.geany.org/snapshots/grep-2.25_sameinode_patch.exe (rename to 
grep.exe and copy it into bin/ in your Geany installation directory).

@ All: do we want to patch our self-compiled grep binary? The warnings are just 
warnings, i.e. grep still finds the desired results. Still the warnings can be 
quite annoying.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1229#issuecomment-247846709

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Colomban Wendling
@codebrainz yeah.  That one would break API, though :)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247846630

Re: [Github-comments] [geany/geany] Domain socket error: Not working via sudo is a geany bug, not a feature or bug in sudo (#1150)

2016-09-18 Thread elextr
@b4n, its ok, I read your hack wrong, its user configs only :)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1150#issuecomment-247846595

Re: [Github-comments] [geany/geany] Domain socket error: Not working via sudo is a geany bug, not a feature or bug in sudo (#1150)

2016-09-18 Thread Colomban Wendling
(https://github.com/geany/geany/blob/8e27b271181fd302239af64159275fd8433deea2/src/libmain.c#L578)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1150#issuecomment-247846584

Re: [Github-comments] [geany/geany] Domain socket error: Not working via sudo is a geany bug, not a feature or bug in sudo (#1150)

2016-09-18 Thread Colomban Wendling
@elextr if the user specified `-c`, I don't think it's a good idea to change it 
because they gave a bad one.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1150#issuecomment-247846558

Re: [Github-comments] [geany/geany] Domain socket error: Not working via sudo is a geany bug, not a feature or bug in sudo (#1150)

2016-09-18 Thread elextr
@b4n, and what about `-c` specified configs?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1150#issuecomment-247846510

Re: [Github-comments] [geany/geany] Domain socket error: Not working via sudo is a geany bug, not a feature or bug in sudo (#1150)

2016-09-18 Thread Colomban Wendling
Possible "fix": 8e27b271181fd302239af64159275fd8433deea2.
But I guess it has many flaws, too.  And it's really not trivial to "properly" 
"fix" this:  if you only take root into account, it'll still fail the same when 
becoming another user than root (lest common, but totally valid).  If you try 
and play with `SUDO_UID`, it'll only work for sudo.  If… etc.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1150#issuecomment-247846289

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Matthew Brush
The alternative more flexible approach mentioned in the previous comment would 
look something like this (untested, except for compiling): 
https://github.com/codebrainz/geany/commit/267a1651b9e405674bf762e59a4a1039ab9e72ee

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247845612

Re: [Github-comments] [geany/geany] Domain socket error: Not working via sudo is a geany bug, not a feature or bug in sudo (#1150)

2016-09-18 Thread Colomban Wendling
Hum, just reading the documentation of 
[`g_get_home_dir()`](https://developer.gnome.org/glib/unstable/glib-Miscellaneous-Utility-Functions.html#g-get-home-dir),
 it suggests it might have worked like you want in GLib before 2.36.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1150#issuecomment-247845097

Re: [Github-comments] [geany/geany] Domain socket error: Not working via sudo is a geany bug, not a feature or bug in sudo (#1150)

2016-09-18 Thread Colomban Wendling
> As a result, a fair amount of bash scripts as well as habit, in fact *relies 
> on the "improperly" configured sudo.

Is there?  I don't see this myself, and can't really imagine why it would be a 
problem.  The only thing that change is the environment, and the large majority 
of scripts don't pass much *data* though the environment.
And even if they did, all it takes is putting `sudo` at the start of the line 
instead of the command, `sudo FOO=bar script` instead of `FOO=bar sudo script` 
-- ok, that means user changing habits, and that's hard.

And apparently Debian changed `sudo`'s default without too much issues, or at 
least I didn't hear about them, so it sounds very possible.

> There is a ton of stuff in Linux (and BSD and Windows) where "improper" 
> eventually became "standard", and tools & apps that consume their services 
> either have to assume "improper" function, or at least be able not fail in 
> the face of it. Like I said before, I've never seen a base of code yet, that 
> consumes lower-level services as a significant portion of it's function, that 
> doesn't have a significant if not majority share of code devoted to working 
> around flaws. Nirvana would be stuff that works as expected. _Whether or not 
> stuff below it works as expected._
>
> I could be wrong and it's just an opinion, but it feels like your response is 
> one of dogmatic ideology, and does nothing to address the world as it is. 
> That's just my reading. I know that's an attractive stance in the open-source 
> world. (And to be fair, there is an important place at the table for 
> hyper-rigid idealistic purity - but it can't be the only voice. We need the 
> inflexible purists hashing things out with the end users. When those two 
> don't talk, things get bad.)

Well, you're kind of right.  I'm reluctant to make a change I don't feel good 
about in Geany for something I don't think is a Geany problem.  If we "fix" 
Geany, there will be `N-1` applications that suffers from the issue.  If `sudo` 
is "fixed", there will be `0`.  If the platform layer we use is "fixed", there 
will be `N - apps_using_glib` (where `apps_using_glib` is guaranteed to be `>= 
1`).

I get that you have the problem with Geany because you use Geany, but if GLib 
"fixes" it, Geany will be "fixed" as long with a long list of other apps.  Plus 
a long list of apps will show a consistent behavior, instead of each using its 
own version of the hack with its own pros and cons.

And yeah, I'm really sad writing apps requires fixing bugs in the platform, so 
I generally try and fix the platform layer when I can.

So… yeah we *could* make a change to get you and few other users happy.  I *do* 
like happy users.  But I'm also reluctant to participate to the hack party 
without trying to improve the situation.

> To answer your question, yes I do have dotfiles owned by root. Most people do 
> if they use dbus or gvfs. I also have a couple of paths put there by 
> installers, apparently incorrectly. ...But...I've broken things before by 
> assuming nothing but me should have ownership in my own directory ;-). 
> Nothing geany-related anyway. Why do you ask?

I don't, and I do use apps using DBUS and GVFS.

And I ask because actually, if you do have files not owned by your user in your 
dotfiles, there's a lot more problems than just Geany.  If a file is owned by 
root, your user won't be able to touch it, resulting generally in not being 
able to save settings, state, history, etc., or worse fail to start because 
realizing something's fishy is going on.

I know several years ago I had that problem with the `nano` editor: it would 
not be able to write its history file after having been used by `root`, and 
would complain at each startup -- and using such a basic editor as `root` is a 
lot more common.
I don't know if they did something in `nano` itself or it just got fixed when 
Debian started to `env_reset` by default though.

Anyway, my points is that:

1. every application writing user config/state files suffers from this "bug" 
unless they have specific handling for it.  There however *are* many ways to 
avoid this without changing applications, addressing the root cause of the 
problem, and most have been suggested here:
  * `env_reset` in `sudo` configuration (pick this one!!)
  * `sudo -H` instead of `sudo`
  * `su -` instead of `su`
  * Otherwise making sure to update environment variables like `HOME`, 
`XDG_CONFIG_HOME`, `XDG_DATA_HOME`, etc.
2. If really `root` user should be sepcial-cased, it should be done lower in 
the stack, like in the [XDG 
specification](https://standards.freedesktop.org/basedir-spec/latest/index.html),
 and then its implementations (like 
[`g_get_user_config_dir()`](https://developer.gnome.org/glib/unstable/glib-Miscellaneous-Utility-Functions.html#g-get-user-config-dir)
 and friends), so it's "fixed" for many people, and not just one application at 
a time.
  And it should still be possible to override it if a 

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Matthew Brush
> meaning that if we strip it implicitly it becomes part of the API so has to 
> be kept "forever"

Then we could make it more flexible (as you eluded to) and just do simple 
suffix-matching. This would support less-common file names/extensions like 
`myplugin.tar.gz` or `myplugin.GeanyPy.py` or whatever. It wouldn't be a huge 
change and can probably be done in a backwards-compatible manner.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247842046

Re: [Github-comments] [geany/geany] Do not strip dots from proxy plugin extensions (#1233)

2016-09-18 Thread Colomban Wendling
> I'm still curious what future use of the dot was being referenced though, I 
> don't think I understood that possibility, and might have a different opinion 
> if I did.

As said this was a purely theoretical remark, meaning that if we strip it 
implicitly it becomes part of the API so has to be kept "forever".  I have no 
plan nor ideas why giving the leading not a special meaning would be a good 
idea.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1233#issuecomment-247841652

Re: [Github-comments] [geany/geany] Error in "Document/Set Lineend/Set to xx and convert" (#1218)

2016-09-18 Thread Enrico Tröger
I just tested it on Windows with a freshly built Geany from master and it works 
as expected.
Then I used the last nightly build and it failed as described.

So, it is indeed an issue with the nightly builds. For whatever reasons.

@Heihon if you want to test and confirm my assumption, I created test 
installers from current GIT master:
http://download.geany.org/snapshots/geany-1.29nightly20160918_setup.exe
http://download.geany.org/snapshots/geany-plugins-1.29nightly20160918_setup.exe
These include also updated translation files.

Btw, with the cross-compiled nightly builds I get also warnings like ` Error 
loading theme icon 'geany-build' for stock: Unrecognized image file format`. So 
I assume this is really some sort of binary incompability, probably between the 
Geany binaries and GTK/Glib.

As said, at some point I'll change the way the nightly builds will be created 
and then they should get more usable again.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1218#issuecomment-247840796

Re: [Github-comments] [geany/geany] Error in "Document/Set Lineend/Set to xx and convert" (#1218)

2016-09-18 Thread Enrico Tröger
> It would be cool if the nightly builds could produce the full win32 installer 
> package.
Yes, this is the way to go. Technically it should be possible (makensis
is available for Linux). It just requires me to do it :).
Will do probably but it might take some weeks until I find time for it.




-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1218#issuecomment-247840119

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

See #1235

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

[Github-comments] [geany/geany] Emit project-close before destroying project (#1235)

2016-09-18 Thread Matthew Brush
Supersedes #1223
You can view, comment on, or merge this pull request online at:

  https://github.com/geany/geany/pull/1235

-- Commit Summary --

  * Emit project-close before destroying project

-- File Changes --

M doc/pluginsignals.c (5)
M src/plugindata.h (2)
M src/project.c (4)

-- Patch Links --

https://github.com/geany/geany/pull/1235.patch
https://github.com/geany/geany/pull/1235.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1235


Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

Maybe a `@note` about the change in the signal documentation would suffice.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

I don't know why they would depend on that, but I can't be sure they don't, it 
would be pure speculation.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Colomban Wendling
b4n commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

Oops, I meant *after*.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

I do, it's the whole point of this PR :)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Colomban Wendling
b4n commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

> I wonder if we could just change project-close instead

Good point, I indeed can't see why someone would need the signal to be emitted 
*before* the data is freed.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add utils_get_real_path() and use it (#1224)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -42,7 +42,11 @@ TMSourceFile *tm_source_file_new(const char *file_name, 
> const char *name);
 
 void tm_source_file_free(TMSourceFile *source_file);
 
-gchar *tm_get_real_path(const gchar *file_name);
+gchar *tm_get_real_path(const gchar *file_name)
+#ifndef GEANY_PRIVATE
+G_DEPRECATED_FOR(utils_get_real_path)
+#endif

It seems wrong, which is why I did it like this, but if you'd prefer to have TM 
also depend on Geany, I can change it to be so.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1224

Re: [Github-comments] [geany/geany] Add utils_get_real_path() and use it (#1224)

2016-09-18 Thread Colomban Wendling
b4n commented on this pull request.



> @@ -42,7 +42,11 @@ TMSourceFile *tm_source_file_new(const char *file_name, 
> const char *name);
 
 void tm_source_file_free(TMSourceFile *source_file);
 
-gchar *tm_get_real_path(const gchar *file_name);
+gchar *tm_get_real_path(const gchar *file_name)
+#ifndef GEANY_PRIVATE
+G_DEPRECATED_FOR(utils_get_real_path)
+#endif

Yeah; now it's under *src/* it might not be so bad

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1224

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

To do that would only require moving [the signal 
emission](https://github.com/geany/geany/blob/1.28.0/src/project.c#L467) to the 
top of the same function.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Thomas Martitz
kugel- commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

Can't imagine someone truly depends on geany_data->app->project being already 
NULL.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

That would be fine with me. I mostly just didn't want to mess with the existing 
signal in case some plugins somehow depended on the existing behaviour.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Thomas Martitz
kugel- commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

I wonder if we could just change project-close instead

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

No, it's not, I just access the global variable `geany_data->app->project`, but 
it's destroyed and set to `NULL` before the normal `project-close` signal is 
emitted, so I can't emit the `close` signal on the project instance.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Thomas Martitz
kugel- commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

So is this the same problem you solved elsewhere with qdata? Why go a different 
path here?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

It would be better, but as you pointed out, I did it like this for consistency 
with the other signals. My actual use case is to be able to treat the project 
as a real instance of which there could (in theory) be many, which is why I 
need to know before it's destroyed. But since none of the other signals give 
the instance, it'd be weird to just have one that does.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223

Re: [Github-comments] [geany/geany] Add utils_get_real_path() and use it (#1224)

2016-09-18 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -42,7 +42,11 @@ TMSourceFile *tm_source_file_new(const char *file_name, 
> const char *name);
 
 void tm_source_file_free(TMSourceFile *source_file);
 
-gchar *tm_get_real_path(const gchar *file_name);
+gchar *tm_get_real_path(const gchar *file_name)
+#ifndef GEANY_PRIVATE
+G_DEPRECATED_FOR(utils_get_real_path)
+#endif

You mean a reverse dependency of TagManager on Geany?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1224

Re: [Github-comments] [geany/geany] Add "project-before-close" signal to API (#1223)

2016-09-18 Thread Colomban Wendling
b4n commented on this pull request.

Mostly LGBI

> @@ -47,6 +47,7 @@ typedef enum
GCB_PROJECT_OPEN,
GCB_PROJECT_SAVE,
GCB_PROJECT_CLOSE,
+   GDB_PROJECT_BEFORE_CLOSE,

Yeah, and this enum isn't in the API either.

> @@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+   geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new (
+   "project-before-close",
+   G_OBJECT_CLASS_TYPE (g_object_class),
+   G_SIGNAL_RUN_FIRST,
+   0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+   G_TYPE_NONE, 0);

Wouldn't it be better if the signal received the `GeanyProject` as argument?
OK, it'd be inconsistent with the other project signals, so maybe it's a bad 
idea. Or maybe it's a good idea to break one less thing in the future if we 
want to allow more than one project to be open?  That might not make much sense 
because the other signals would have to be changed anyway, so meh.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1223#pullrequestreview-469872

Re: [Github-comments] [geany/geany] Add utils_get_real_path() and use it (#1224)

2016-09-18 Thread Colomban Wendling
b4n commented on this pull request.

Otherwise, LGTM

> @@ -42,7 +42,11 @@ TMSourceFile *tm_source_file_new(const char *file_name, 
> const char *name);
 
 void tm_source_file_free(TMSourceFile *source_file);
 
-gchar *tm_get_real_path(const gchar *file_name);
+gchar *tm_get_real_path(const gchar *file_name)
+#ifndef GEANY_PRIVATE
+G_DEPRECATED_FOR(utils_get_real_path)
+#endif

Meh, can't we move the implementation at the non-deprecated place and use it in 
the deprecated one, instead of this?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1224#pullrequestreview-469697

Re: [Github-comments] [geany/geany] More info about file. (#1196)

2016-09-18 Thread Rafael Hovhannisyan
Closed #1196.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1196#event-793248633

Re: [Github-comments] [geany/geany] More info about file. (#1196)

2016-09-18 Thread Rafael Hovhannisyan
Thank you for response.

I just noticed, I can select all content of file, with CTRL+A, and look on 
"sel" value in statusbar, it's equivalent of my need.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1196#issuecomment-247830160