Add arguments to custom submit I added an extra submit-function to my form:

$submit = array('_check_value_public_catalog');
$form['actions']['submit']['#submit'] = array_merge($submit, $form['actions']['submit']['#submit']);


So the form looks like:

array
  0 =&gt; string '_check_value_public_catalogue'
  1 =&gt; string 'node_form_submit'


But I would like to pass some arguments to my _check_value_public_catalog function. How do I do this?
You can't as such but you can store the values in the form somewhere and pick them up in your submit handler:

function mymodule_my_form($form, &amp;$form_state) {
  $form['saved_value_1'] = array(
    '#type' =&gt; 'value',
    '#value' =&gt; 'The Value'
  );

  $form['#submit'][] = 'mymodule_my_form_submit';

  return $form;
}

function mymodule_my_form_submit(&amp;$form, &amp;$form_state) {
  $saved_value_1 = $form_state['values']['saved_value_1'];
}


Exactly the same principle applies if you're doing this in a form alter hook.