Description of the need
Drupal 7 l() function returns a themed link when possible. This means any link made with l() can be themed and preprocessed. Backdrop removed this functionality.
I found needing this when porting Content Lock Drupal 7 module, which makes use of hook_preprocess_link() to alter any link in Drupal.
Right now, in Backdrop, any link created with l() cannot be preprocessed. See also this talk on the forum about this.
Proposed solution
Add Drupal functionality to Backdrop.
Alternatives that have been considered
Right now, the alternatives are to use a hook_preprocess_menu_local_task() function to preprocess local tasks links (theme_menu_local_task doesn't use theme('link') to output its links) and a hook_preprocess_views_view_field() to alter links printed by views (in this case you need to do so by regex, very uncomfortable). Still, many implementations of l() get untouched.
Additional information
Original drupal code includes a 'process' case, which I believe backdrop doesn't have.
Draft of feature description for Press Release (1 paragraph at most)
Backdrop now includes the availability to theme or preprocess any link created with the l() function.
Recent comments
Trying to push it to upstream 🤞 https://github.com/drush-ops/drush/pull/6621
Using Drush 8 with php 8
Wow, thank you!
Using Drush 8 with php 8
Hi folks, I went ahead and ported all drush 8.x stuff to PHP 8.3 and completely ripped out the legacy Symfony 2 internals. You can check out the exact details of what was done in the PR...
Using Drush 8 with php 8