Skip to content
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

clear all deprecated elements before calling it abi3 #1777

Closed
24 tasks done
dankamongmen opened this issue Jun 16, 2021 · 4 comments
Closed
24 tasks done

clear all deprecated elements before calling it abi3 #1777

dankamongmen opened this issue Jun 16, 2021 · 4 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Milestone

Comments

@dankamongmen
Copy link
Owner

dankamongmen commented Jun 16, 2021

There's been a good deal of deprecated material collecting, which we can't remove until ABI3, intended to be marked by 3.0.0.

I've been trying to move it to the bottom of notcurses.h and ncdirect.h, but we ought do a final pass.

All shipped code ought already have moved off of deprecated material, of course.

Also look for anything we can move to a static inline and away from a symbol. Symbols can't be promoted to static inline, or else old programs will stop linking.

a partial list, growing as things change:

you know, maybe we don't want to nuke everything that's deprecated; where possible, we could keep them as (deprecated) static inlines, so a recompile still works. maybe.

rejected:

*ncplane_erase() becomes static inline around ncplane_erase_region(), which calls the current internal ncplane_erase() for that special case (it's a good optimization) (dumb idea. this would just require traversing all the checks in ncplane_erase_region() for no good reason)

  • notcurses_getvec() can become static inline the whole point of notcurses_getvec() is speed, and we can be faster if we embed this behind the locking
@dankamongmen dankamongmen added the enhancement New feature or request label Jun 16, 2021
@dankamongmen dankamongmen added this to the 3.0.0 milestone Jun 16, 2021
@dankamongmen dankamongmen self-assigned this Jun 16, 2021
@dankamongmen
Copy link
Owner Author

so ought we deprecate notcurses_render()?

@dankamongmen
Copy link
Owner Author

we're removing the deprecated notcurses_render_to_file(), but what about ncpile_render_to_file()? are we keeping that?

dankamongmen added a commit that referenced this issue Oct 11, 2021
Make notcurses_render() a static inline wrapper around
ncpile_render(). Remove the deprecated
notcurses_render_to_file() and ncpile_render_to_file().
ABI3 work #1777.
dankamongmen added a commit that referenced this issue Oct 11, 2021
Make notcurses_render() a static inline wrapper around
ncpile_render(). Remove the deprecated
notcurses_render_to_file() and ncpile_render_to_file().
ABI3 work #1777.
dankamongmen added a commit that referenced this issue Oct 11, 2021
dankamongmen added a commit that referenced this issue Oct 11, 2021
Make notcurses_render() a static inline wrapper around
ncpile_render(). Remove the deprecated
notcurses_render_to_file() and ncpile_render_to_file().
ABI3 work #1777.
dankamongmen added a commit that referenced this issue Oct 12, 2021
dankamongmen added a commit that referenced this issue Oct 16, 2021
Make notcurses_render() a static inline wrapper around
ncpile_render(). Remove the deprecated
notcurses_render_to_file() and ncpile_render_to_file().
ABI3 work #1777.
dankamongmen added a commit that referenced this issue Oct 16, 2021
dankamongmen added a commit that referenced this issue Oct 16, 2021
* [heuristics] GNU screen 4x never has rgb

* [BitmapSmoothMove] only WARN in test until sixel supports this #2258

* add minimal example for #2266

* contour: enable sextants

* interp PoC: clean up ncvisual #2266

* ncselector_options: constify string arguments

* Constify strings in selector/mselector_items

Use internal types to track items within the
selector/mselector widgets, rather than pressing the
user-provided item structs into double-duty. With this
change, we can constify the strings within those
user-provided items. Do so, also removing the internal-side
elements. Update documentation. Closes #2267.

* constify ncmenu_item/_section strings

* Use Windows pipes for input readiness notification (#2263)

* [windows] use CreatePipe for input #2244
* [input] read and write to Windows readiness handles #2244
* inputready_fd: not on windows, alas

* for now, if it's on windows, it's windows terminal #2248

* tabbed janitorial work

clean up memory leak of tab names
ignore NCTYPE_RELEASE in tabbed PoC
constify strings in nctabbed_options

* notcurses-demo FPS graph: back to straight seconds

* [info] expand some emoji into proper literals

* drop textplay PoC

* remove poc for issue #2266

* constify ncselector_item reference fix #2270

* [ncplayer] restore pause functionality with NCTYPE_RELEASE

* stop pushing termtype to interrogate_terminfo

* menu PoC: ignore NCTYPE_RELEASE

* properly name Windows Terminal

* [windows] HANDLE, not PHANDLE

* ncvisual_render -> ncvisual_blit (core/test) #1462

* ncvisual_render -> ncvisual_blit (docs)

* ncvisual_render -> ncvisual_blit (nctetris)

* [keller] fix up for ncvisual_blit() #1462

* stacking tests: ncvisual_render() -> ncvisual_blit() #1462

* all PoCs: ncvisual_render -> ncvisual_blit #1462

* restore ncvisual_inflate(), for now

* pixel PoC / ncneofetch -> ncvisual_blit() #1462

* notcurses-info: ncvisual_blit, inline all emoji #1462

* rotate PoCpp: ncvisual_blit() #1462

* xray/grid: ncvisual_blit() #1462

* remove last instances of ncvisual_render() #1462

* remove old-style notcurses_ rendering functions

Make notcurses_render() a static inline wrapper around
ncpile_render(). Remove the deprecated
notcurses_render_to_file() and ncpile_render_to_file().
ABI3 work #1777.

* ncstrwidth() becomes static inline wrapper #1777

* remove deprecated ncvisual_subtitle()

* kill ncvisual_inflate(), long deprecated #1777

* remove deprecated palette256 wrappers #1777

* kill ncplane_new() #1777

* remove deprecated renderfp field from notcurses_options #1777

* reorder ncstats fields to match documentation #1777

* kill deprecated style functions #1777

* ncplane_move{top, bottom} become static inline #1777

* fix up move_above()/move_below() #1777

* ncplane_pixelgeom -> ncplane_pixel_geom() #1777

* ncstyle functions ought return uint16_t #1777 #2200

* ncvisualplane_create: provide new pile functionality #1462

* introduce ncvisual_blit() #1462

* reduce ncvisual_render() to wrapper around ncvisual_blit() #1462

* convert most ncvisual_render()s to ncvisual_blit() #1642

Co-authored-by: joseLuís <joseluis@andamira.net>
@joseluis
Copy link
Collaborator

joseluis commented Nov 4, 2021

adding to the list, in case the pointer types can be normalized:

  • ncplane_dim_yx
  • ncplane_cursor_yx

@dankamongmen
Copy link
Owner Author

adding to the list, in case the pointer types can be normalized:

  • ncplane_dim_yx
  • ncplane_cursor_yx

these both got done

dankamongmen added a commit that referenced this issue Nov 9, 2021
Long-planned changes for API/ABI3 #1777

* remove old-style notcurses_ rendering functions
* Make notcurses_render() a static inline wrapper around
 ncpile_render(). Remove the deprecated
 notcurses_render_to_file() and ncpile_render_to_file().
* ncstrwidth() becomes static inline wrapper #1777
* remove deprecated ncvisual_subtitle()
* kill ncvisual_inflate(), long deprecated #1777
* remove deprecated palette256 wrappers #1777
* kill ncplane_new() #1777
* remove deprecated renderfp field from notcurses_options #1777
* reorder ncstats fields to match documentation #1777
* kill deprecated style functions #1777
* ncplane_move{top, bottom} become static inline #1777
** ncplane_pixelgeom -> ncplane_pixel_geom() #1777
* ncstyle functions ought return uint16_t #1777 #2200
* ncvisualplane_create: provide new pile functionality #1462
* [heuristics] GNU screen 4x never has rgb
* [BitmapSmoothMove] only WARN in test until sixel supports this #2258
* contour: enable sextants
* interp PoC: clean up ncvisual #2266
* ncselector_options: constify string arguments
* Constify strings in selector/mselector_items
 Use internal types to track items within the
 selector/mselector widgets, rather than pressing the
 user-provided item structs into double-duty. With this
 change, we can constify the strings within those
 user-provided items. Do so, also removing the internal-side
 elements. Update documentation. Closes #2267.
* constify ncmenu_item/_section strings
* constify strings in nctabbed_options
* notcurses-demo FPS graph: back to straight seconds
* remove unused wchar_from_utf8()
* nstrwidth_valid(): properly initialize bytes/width
* [ncneofetch] use GetSystemInfo on Windows
@dankamongmen dankamongmen added the documentation Improvements or additions to documentation label Nov 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants