New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overview of currently deprecated symbols #3019
Comments
Thanks for making this list.
Yeah, thats why I raised reviewing them. Comments on a couple below: The legacy plugin entry points are called "deprecated" in the discussion in the API manual, but the actual functions are not marked deprecated, so will not produce compile messages. Also as you noted many plugins still use them (see what I said elsewhere about transitions from old to new being incomplete :-). So yeah, gotta stay for now at least, but should be marked deprecated. I have ranted before about killing
The The use of In any other uses besides I can't see a use of For
|
Thanks @xiota for the list, great job! I'm all for removing as much as we can without breaking the universe. I would also say that breaking plugins which are also currently broken for other reasons (no GTK3, n Webkit, GeanyLua in general, ...), don't need to be considered too badly in this regard. |
And Geanypy will not compile on GTK3 so it doesn't matter either. |
Note PRs should only change one or two at a time in case we have to revert. |
I've corrected the list.
Opened a PR to replace
geany/geany-plugins#1123 needs to be reviewed and merged to get GeanyLua building again so the geany-plugins CI builds will start working again. |
Plan...
|
This PR removes remaining deprecated symbols from plugindata.h. (See #3019 for overview of currently deprecated symbols.) - GeanyFunctions - GeanyKeyGroupInfo - PluginFields - PluginFlags - PLUGIN_KEY_GROUP - document_reload_file - DOC_IDX(doc_ptr) - DOC_IDX_VALID(doc_idx) - GEANY_WINDOW_MINIMAL_HEIGHT - GEANY_WINDOW_MINIMAL_WIDTH The multiterm plugin, which currently doesn't compile because of GTK2-related dependencies, refers to the following symbols: PluginFlags, PluginFields, document_reload_file The other symbols removed in this PR are not used by any known plugins.
In my opinion, deprecated symbols that meet the following criteria would be safe to remove:
doc/plugins.dox
states that the legacy plugin entry points are deprecated. However, they are not formally marked as deprecated, so should not be candidates for removal. Also, 22 plugins still reference 'void plugin_init': geanyextrasel, geanyinsertnum, geanylua, geanymacro, geanyminiscript, geanynumberedbookmarks, geanypg, geanyprj, geniuspaste, markdown, multiterm, pairtaghighlighter, pretty-printer, projectorganizer, scope, sendmail, shiftcolumn, spellcheck, tableconvert, updatechecker, vimode, xmlsnippetsHere is a list of deprecated symbols that are marked with
@deprecated
,GEANY_DEPRECATED
,GEANY_DEPRECATED_FOR
, andGEANY_DISABLE_DEPRECATED
. Also noted are the version/API/date of deprecation (if known) and plugins they are used in.document.h
(#3020)documents_foreach(i)
(useforeach_document
instead)filetypes.h
(#3020)filetype_id
(useGeanyFiletypeID
instead)keybindings.h
(#3029)GEANY_KEYS_EDITOR_MACROLIST
(since 1.25)_REMOVED_GEANY_KEYS_EDITOR_MACROLIST_
) and changing the doxygen comment into a normal oneplugindata.h
GeanyFunctions
GeanyKeyGroupInfo
(useplugin_set_key_group
instead)PLUGIN_KEY_GROUP
(use plugin_set_key_group() instead)PluginFlags
(useui_add_document_sensitive
instead)PluginFields
(useui_add_document_sensitive
instead)document_reload_file
(usedocument_reload_force
instead)DOC_IDX(doc_ptr)
DOC_IDX_VALID(doc_idx)
GEANY_WINDOW_MINIMAL_WIDTH
GEANY_WINDOW_MINIMAL_HEIGHT
(useGEANY_DEFAULT_DIALOG_HEIGHT
instead)PROXY_IGNORED
(since 1.26/226, useGEANY_PROXY_IGNORE
instead)PROXY_MATCHED
(since 1.26/226, useGEANY_PROXY_MATCH
instead)PROXY_NOLOAD
(since 1.26/226)sciwrappers.h
(#3025)sci_get_text
(usesci_get_contents
instead)document.c
sci_get_selected_text
(usesci_get_selection_contents
instead)sci_get_text_range
(usesci_get_contents_range
instead)document.c
andeditor.c
tagmanager/tm_source_file.c
(#3024)tm_get_real_path
(since 1.32/235, useutils_get_real_path
instead)utils.c
ui_utils.h
(#3028)ui_frame_new_with_alignment
(since 1.29, use GTK API directly)ui_widget_set_tooltip_text
(since 0.21, usegtk_widget_set_tooltip_text
instead);utils.h
NZV(ptr)
, deprecated 2013/08, use!EMPTY()
insteadsetptr(ptr, result)
, deprecated 2011/11/15, useSETPTR()
instead.The text was updated successfully, but these errors were encountered: