This pad will serve for Org project during FSF40 hackathon this weekend
Ihor: I am back. Hanging around on IRC and Jitsi. Feel free to ask any questions about Org codebase.

REMINDER: Hackathon ended less than two hours  20 minutes, at 10am EST. Please submit your work, even unfinished, to the mailing list, if you want it to be evaluated. Of course, you are free to continue after the official end.

I published what I know of about the outcomes in https://orgmode.org/worg/fsf40-hackathon-org.html#org7c5ee4f

Congratulations to the team working on unarchive project for winning one of the prizes.
More details later, when FSF publishes the final list of the awardees.


Org mode source mirror: https://git.sr.ht/~bzg/org-mode
 (gnu savannah is down)  Update: savannah is back


Project 1 Unarchive Org Headlines
https://orgmode.org/worg/fsf40-hackathon-org.html


TASKS THAT ARE NEEDED
  1. Clean-up headline properties (remove all props added by  org-archive-save-context-info)
    1. Sam (Crawfy) 1st attempt: https://git.sr.ht/~crawfy/org-unarchive/commit/deaf21e57bad0ca3a900c6b1d447b75976711639
    2. Possible through element API? Or do we need regex? (Element to get property nodes. RX to identify them as created by archiving)
    3. Do we delete in-situ before/after moving to unarchive destination (using `atomic-change-group`), or do we use a temp buffer? (Delete in-situ before moving)
      1.  Temp buffer would require Org mode initialization. If you really want to go that way, may need to re-use temporary worker buffer. See with-work-buffer or org-element-with-buffer-copy
  2. Remove headline slashes from org headings in the OLPATH
  3. When unarchiving identify if heading OLPATH is a heading that is also archived
    1. Optionally ask user to unarchive both?

Work-In-Progress Code for unarchive-subtree:
https://git.sr.ht/~taingram/org-unarchive/tree/master/item/org-unarchive.el


Proposed increments from MVP to version 1

1. MVP: Restore a single headline.
1.a. DONE The headline is the first in the archive file whose ARCHIVE_OPATH matches the headline at point.
1.b. The headline is restored immediately below the headline at point. This implies that the headline is restored to its previous level in the document.  E.g. If the headline at point is ** foo, then the restored headline will be *** bar.

WIP: we are trying to determine if org-refile is the best way to handle this.  May need to do something more manual to avoid org-refile side effects. 

After that works, we can
2. After successfully unarchiving a headline, remove the headline from the archive file
A consequence of 2 is that subsequent unarchiving restores the next suitable headline from the archive

After that, we can
3. Restore a headline whose ARCHIVE_OPATH matches the current headline, which may be upwards of point.


For all of these increments, unarchive should fail and leave the org and archive files unchanged if no headline matches ARCHIVE_OPATH.

3. Optionally give users a way to choose the heading they want to un-archive

Options:
Where to put a restored headline? 
    As last child of ARCHIVE_OPATH? 
    At point (if #3 is implemented)?

Restoring metadata:


Observation:
1. org-archive predates org-refile
2. If org-archive were to be written today, it would probably be written in terms of org-refile.
3. This is for further study.



Other Project Proposals:

Pedro: continue ox-latex.el.

1.  DONE A must for me is add options to \usepackage{unicode-math}. This comes as a result of a comment in my lectures (yes, I've been using the feature branch for my lecture slides and notes for quite some time now).
1b. DONE Add tests for this
https://cgit.git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?h=feature/all-tex-fonts&id=6b3fa24cb2b7d327e84001ae3bbba5c0853b7fc8
2. DONE Factor out the  code to handle the fontspec configuration, because that's used by fontspec and polyglossia. 
I hope that by doing this, the code will be easier to read.
2b. DONE Check tests continue passing.
https://cgit.git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?h=feature/all-tex-fonts&id=4696ccc6e8daa69bc4dc1f6270d914dc232f4778

Kenny: looking into improving org table alignment performance.
Patches: https://list.orgmode.org/874iqlliik.fsf@mit.edu/T/#u
From Ihor:
- alignment goes line-by-line every single time
- look into caching to avoid repeated scans or avoid expensive operations like string comparisons
- profile with  M-x profiler-start M-x profiler-report and see section "1.4 Feedback" in the org manual


OrgMettup 2025-10-08

Feel free to write here during or after the meetup (if you need to ask something afterwards). I will then add everything to the meeting notes.