If you issue, "vlan 40,50"  the config would then say, "vlan 10,20,30,40,50". The commands add the VLANs to the config. They do not supersede the already configured VLANs. When you issue, "switchport general allowed vlan add 40,50"  "switchport general allowed vlan add 10,20,30,40,50" will be the result. 
Given that I have no development environment, and I only have production switches, can someone confirm the function of these commands?  I have VLANs 10, 20, and 30 defined an functioning: config says-> "vlan 10,20,30"  I want to *add*  40 and 50.   Does one command superceed the other, or is this a true ADD?  If I issue, "vlan 40,50"     Will the config now say, "vlan 10,20,30,40,50" or will my command superceed what was existing, where now the config would say, "vlan 40,50"? (where the existing VLANs will go away)?  ************************************************** Secondly:  Same issue with adding VLANs to a port-channel.  My existing config has VLANs 10, 20, and 30 on a port-channel: config-> switchport general allowed vlan add 10,20,30  if I add 40 and 50, is this a true ADD, or does one command superceed the existing?   When I issue, "switchport general allowed vlan add 40,50"   what will result?  config-> "switchport general allowed vlan add 10,20,30,40,50" (an ADD) or "switchport general allowed vlan add 40,50"  (a superceed)
Confirmation of these CLI commands...