Discussion
Loading...

Discussion

  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
Federico Mena Quintero
@federicomena@mstdn.mx  ·  activity timestamp 2 weeks ago

If anyone wants to muck around, the #Emacs source tree still has a bunch of XPM images, and more or less assumes that -lXpm will work.

It already supports PNG, too. Maybe convert the XPM to PNG?

(bigger project: make emacs use glycin for sandboxed image loading on Linux)

  • Copy link
  • Flag this post
  • Block
Data π🐀
@ladatano@todon.nl replied  ·  activity timestamp 2 weeks ago
@federicomena hola, viste esto?
https://kyo.iroiro.party/en/posts/why-rewriting-emacs-is-hard/
  • Copy link
  • Flag this comment
  • Block
Federico Mena Quintero
@federicomena@mstdn.mx replied  ·  activity timestamp 2 weeks ago
@ladatano oooh, qué lindo artículo. Me encanta cuando alguien describe las entrañas de Emacs; hay taaaaanta historia ahí.
  • Copy link
  • Flag this comment
  • Block
Federico Mena Quintero
@federicomena@mstdn.mx replied  ·  activity timestamp 2 weeks ago

Things that blew my mind today about Emacs:

* It requires at least librsvg 2.14, which is from 2006, which is when rsvg_handle_get_dimensions() was introduced. That function was deprecated in 2.52, in 2021. If available, Emacs will use all the new APIs. There is #ifdef hell in there.

* src/image.c is 13K lines of code.

* Emacs still uses debbugs.

* The first commit is from 1985, but the first hundreds of commits are weird. It normalizes in 1991.

* And Savannah still uses cgit.

  • Copy link
  • Flag this comment
  • Block
zrzz
@zrzz@emacs.social replied  ·  activity timestamp 2 weeks ago
@federicomena Regarding the commit history, the early history had to be stitched together from various sources since a lot of it obviously predates git and the earliest stuff wasn't using any kind of version control. If I remember right that work was done during the bzr->git migration about 10 years ago. But I might be wrong, maybe bzr already had it.
  • Copy link
  • Flag this comment
  • Block
Federico Mena Quintero
@federicomena@mstdn.mx replied  ·  activity timestamp 2 weeks ago
@zrzz I don't know how we got anything done before version control 😅
  • Copy link
  • Flag this comment
  • Block
Ivan Molodetskikh
@YaLTeR@mastodon.online replied  ·  activity timestamp 2 weeks ago
@federicomena I'm sure all those ifdefs are tested and working
  • Copy link
  • Flag this comment
  • Block
Federico Mena Quintero
@federicomena@mstdn.mx replied  ·  activity timestamp 2 weeks ago
@YaLTeR I don't know how much of an effort is put into making newer Emacsen still work on old systems, or if this is just compatibility cruft that was never removed. A totally different world from recent GNOME.
  • Copy link
  • Flag this comment
  • Block
Bradley M. Kuhn
@bkuhn@fedi.copyleft.org replied  ·  activity timestamp 2 weeks ago
@federicomena re: early commits in Emacs.

I had this side project to normalize the old RCS/CVS history for a lot of the early #GNU programs into Git. I think maybe my retirement hobby will be to pick that up.

Also, There is a set of “lost tapes” — open-reel magnetic tapes that had the 1984-circa 1994 early GNU backups – a goldmine of history. When I worked at FSF, we sent a giant box to a volunteer to bring them onto modern disks, & AFAIK the volunteer ghosted & no one knows where they are. 😕

  • Copy link
  • Flag this comment
  • Block
Federico Mena Quintero
@federicomena@mstdn.mx replied  ·  activity timestamp 2 weeks ago
@bkuhn current tooling to go direct from CVS to git must be incredibly better than what was available years ago, what with the gcc -> git migration.

The two times (I think?) GNOME has changed VCS, from cvs -> svn -> git there was a small, dedicated team of people basically writing custom tooling to do it (or adapting tools to do that), and there are SO MANY SPECIAL CASES. A bunch of repos have funny commits near the beginning, and then they settle down and appear normal.

  • Copy link
  • Flag this comment
  • Block
Bradley M. Kuhn
@bkuhn@fedi.copyleft.org replied  ·  activity timestamp 2 weeks ago
@federicomena I haven't looked who the 80s' stuff imported, but I suspect it was particularly bad (as you said) because:

GNU development used SCCS (proprietary), then¹ RCS once it was stable enough, and *then* imported it into CVS from there, which, in turn, was imported to Git. I am pretty sure no one has the backups of the old RCS files (except the lost tapes I mentioned upthread), & to get the truly old data well-imported, we'd need those.

¹There may have been YA RCS-like one inbetween.

  • Copy link
  • Flag this comment
  • Block
John Regehr
@regehr@mastodon.social replied  ·  activity timestamp 2 weeks ago
@federicomena it's quite a bit older than 1985 though, right?

my favorite emacs fun fact is that it undumps -- basically breathes life into a core dump in order to avoid doing a large amount of slow initialization work. or at least it used to, I don't follow this...

  • Copy link
  • Flag this comment
  • Block
Federico Mena Quintero
@federicomena@mstdn.mx replied  ·  activity timestamp 2 weeks ago
@regehr oh, yeah, it's older. I don't know when the current source tree originated, or even if it went rcs -> cvs -> ??? -> git.

Undumping is so cool! A bunch of lazy initialization bullshit would go away with undumping, for compiled regexes and all that.

  • Copy link
  • Flag this comment
  • Block
Log in

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.0-rc.2.21 no JS en
Automatic federation enabled
  • Explore
  • About
  • Members
  • Code of Conduct
Home
Login