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
@yorkshirepudding, In the end I fixed it by deleting the config/active folder contents, copying the config/staging/ files into config/active, importing the database again and clearing the caches...
Importing the staged config throws an error: another field with the same name already exists
Thanks, I have to go out now, I will try later on and report back
Importing the staged config throws an error: another field with the same name already exists
Hi Francis. Yes, what config do you have in staging for it? You might have configs like: field.field.field_video_embed field.instance.node.page....
Importing the staged config throws an error: another field with the same name already exists