I was looking through your module for ideas, and I came across

function menu_node_edit_menu_alter(&$items) {
  // We need to account for all parts of this item, in case
  // other modules interfere. See http : //drupal.org/node/469998.
  // We only alter the access parts, however.
  $items['node/%node/edit'] = array(
  ...
  );

Have you considered replacing that section with this?

    $items['node/%node/edit']['access callback'] = 'menu_node_edit_check'; // Our callback.
    $items['node/%node/edit']['access arguments'] = array(1); // Our arguments.

Instead of replacing $items['node/%node/edit'] with your version, just set the entries you need. It seems to me that this would solve the problem of discarding changes that may have been made by other modules.

Comments

agentrickard’s picture

Status: Active » Postponed

Not going to fix unless this causes a known problem. The other issue #469998: Does not integrate well with Revisioning/Module Grants was a major pain -- and I've seen other modules cause similar issues -- so I went with the sledgehammer approach.

This method lets us find incompatible modules much more easily.

Marking as postponed. If there are known issues, let's re-address.