diff --git a/NEWS b/NEWS
index d16beb347a2e2ffa93a83b337abb9190ab2bc38f..c820ef3888818aa7b9a2ad49d164a694ca095222 100644
--- a/NEWS
+++ b/NEWS
@@ -144,6 +144,9 @@ documents those changes that are of interest to users and administrators.
     rather than trying to account for buffer allocations in progress.
  -- cray/busrt_buffer - Fix for double counting of used_space at slurmctld
     startup.
+ -- Fix regression in 16.05.6 where if you request multiple cpus per task (-c2)
+    and request --ntasks-per-core=1 and only 1 task on the node
+    the slurmd would abort on an infinite loop fatal.
 
 * Changes in Slurm 16.05.6
 ==========================
diff --git a/doc/html/accounting_storageplugins.shtml b/doc/html/accounting_storageplugins.shtml
index 9ea03db7dd708ecc85caabb6b4311745e53f6af4..6c796075aa744ff0903efe5e1f16d011ccb2fa36 100644
--- a/doc/html/accounting_storageplugins.shtml
+++ b/doc/html/accounting_storageplugins.shtml
@@ -22,12 +22,12 @@ The major type must be "accounting_storage."
 The minor type can be any suitable name
 for the type of accounting package. We currently use
 <ul>
-<li><b>filetxt</b>&#151;Information written to a text file.
-<li><b>mysql</b>&#151; Store information in a mysql database (using
+<li><b>filetxt</b> &mdash; Information written to a text file.
+<li><b>mysql</b> &mdash; Store information in a mysql database (using
   the InnoDB storage engine).
-<li><b>slurmdbd</b>&#151; Send information to the Slurm Database
+<li><b>slurmdbd</b> &mdash; Send information to the Slurm Database
   Daemon (SlurmDBD).  Extra configuration is needed and described <a href="accounting.html">here</a>.
-<li><b>none</b>&#151; Information is not stored anywhere.
+<li><b>none</b> &mdash; Information is not stored anywhere.
 </ul>
 
 <p><span class="commandline">const uint32_t plugin_version</span><br>
diff --git a/doc/html/acct_gather_energy_plugins.shtml b/doc/html/acct_gather_energy_plugins.shtml
index 9152908f6b4786426374cb41a27f123b223a1865..9cbdbac703485a6b7d82f959aec95f132d40772f 100644
--- a/doc/html/acct_gather_energy_plugins.shtml
+++ b/doc/html/acct_gather_energy_plugins.shtml
@@ -23,11 +23,11 @@ The major type must be &quot;acct_gather_energy.&quot;
 The minor type can be any suitable name
 for the type of energy accounting. We currently use
 <ul>
-<li><b>none</b>&#151; No energy consumption data is provided.
-<li><b>ipmi</b>&#151;Gets energy consumption data from the
+<li><b>none</b> &mdash; No energy consumption data is provided.
+<li><b>ipmi</b> &mdash; Gets energy consumption data from the
 BMC (Baseboard Management Controller) using the
 IPMI (Intelligent Platform Management Interface) tool.
-<li><b>rapl</b>&#151;Gets energy consumption data from hardware sensors on each 
+<li><b>rapl</b> &mdash; Gets energy consumption data from hardware sensors on each
 core/socket, using RAPL (Running Average Power Limit) sensors. Note that
 enabling RAPL may require the execution of the command "sudo modprobe msr".
 </ul>
diff --git a/doc/html/acct_gather_profile_plugins.shtml b/doc/html/acct_gather_profile_plugins.shtml
index ece2fbd35531db386863d939d31a5c33095f79b9..f804103596c93fcb2c2e122842d56822e17d08c1 100644
--- a/doc/html/acct_gather_profile_plugins.shtml
+++ b/doc/html/acct_gather_profile_plugins.shtml
@@ -62,8 +62,8 @@ The major type must be &quot;acct_gather_profile.&quot;
 The minor type can be any suitable name
 for the type of profile accounting. We currently use
 <ul>
-<li><b>none</b>&#151; No profile data is gathered.
-<li><b>hdf5</b>&#151;Gets profile data about energy use, i/o sources
+<li><b>none</b> &mdash; No profile data is gathered.
+<li><b>hdf5</b> &mdash; Gets profile data about energy use, i/o sources
 (Lustre, network) and task data such as local disk i/o,  CPU and memory usage.
 </ul>
 
diff --git a/doc/html/api.shtml b/doc/html/api.shtml
index 47cf24e8b4885797f77f941b7838bb39ba7253d7..69025f44b6c0ebd16b6a5971e08f88221b7ec39e 100644
--- a/doc/html/api.shtml
+++ b/doc/html/api.shtml
@@ -15,16 +15,16 @@ You should see the man pages for individual APIs to get more details.</p>
 <h3>Get Overall Slurm Information</h3>
 <ul>
 
-<li><b>slurm_api_version</b>&#151;Get Slurm API version number.</li>
+<li><b>slurm_api_version</b> &mdash; Get Slurm API version number.</li>
 
-<li><b>slurm_load_ctl_conf</b>&#151;Load system-wide configuration
+<li><b>slurm_load_ctl_conf</b> &mdash; Load system-wide configuration
 specifications. Free with <i>slurm_free_ctl_conf</i> to avoid memory
 leak.</li>
 
-<li><b>slurm_print_ctl_conf</b>&#151;Print system-wide configuration
+<li><b>slurm_print_ctl_conf</b> &mdash; Print system-wide configuration
 specifications.</li>
 
-<li><b>slurm_free_ctl_conf</b>&#151;Free storage allocated by
+<li><b>slurm_free_ctl_conf</b> &mdash; Free storage allocated by
 <i>slurm_load_ctl_conf</i>.</li>
 
 </ul>
@@ -34,26 +34,26 @@ specifications.</li>
 <h3>Get Job Information</h3>
 <ul>
 
-<li><b>slurm_pid2jobid</b>&#151;For a given process ID on a node
+<li><b>slurm_pid2jobid</b> &mdash; For a given process ID on a node
 get the corresponding Slurm job ID.</li>
 
-<li><b>slurm_get_end_time</b>&#151;For a given Slurm job ID
+<li><b>slurm_get_end_time</b> &mdash; For a given Slurm job ID
 get the expected termination time.</li>
 
-<li><b>slurm_load_jobs</b>&#151;Load job information.
+<li><b>slurm_load_jobs</b> &mdash; Load job information.
 Free with <i>slurm_free_job_info_msg</i> to avoid memory leak.</li>
 
-<li><b>slurm_print_job_info_msg</b>&#151;Print information about
+<li><b>slurm_print_job_info_msg</b> &mdash; Print information about
 all jobs.</li>
 
-<li><b>slurm_print_job_info</b>&#151;Print information about
+<li><b>slurm_print_job_info</b> &mdash; Print information about
 a specific job.</li>
 
-<li><b>slurm_get_select_jobinfo</b>&#151;Get <i>select</i> plugin
+<li><b>slurm_get_select_jobinfo</b> &mdash; Get <i>select</i> plugin
 specific information associated with the job. The information
 available is will vary by select plugin type configured.</li>
 
-<li><b>slurm_free_job_info_msg</b>&#151;Free storage allocated by
+<li><b>slurm_free_job_info_msg</b> &mdash; Free storage allocated by
 <i>slurm_load_jobs</i>.</li>
 
 </ul>
@@ -63,17 +63,17 @@ available is will vary by select plugin type configured.</li>
 <h3>Get Job Step Information</h3>
 <ul>
 
-<li><b>slurm_get_job_steps</b>&#151;Load job step information.
+<li><b>slurm_get_job_steps</b> &mdash; Load job step information.
 Free with <i>slurm_free_job_step_info_response_msg</i> to
 avoid memory leak.</li>
 
-<li><b>slurm_print_job_step_info_msg</b>&#151;Print information about
+<li><b>slurm_print_job_step_info_msg</b> &mdash; Print information about
 all job steps.</li>
 
-<li><b>slurm_print_job_step_info</b>&#151;Print information about
+<li><b>slurm_print_job_step_info</b> &mdash; Print information about
 a specific job step.</li>
 
-<li><b>slurm_free_job_step_info_response_msg</b>&#151;Free storage
+<li><b>slurm_free_job_step_info_response_msg</b> &mdash; Free storage
 allocated by <i>slurm_get_job_steps</i>.</li>
 
 </ul>
@@ -83,16 +83,16 @@ allocated by <i>slurm_get_job_steps</i>.</li>
 <h3>Get Node Information</h3>
 <ul>
 
-<li><b>slurm_load_node</b>&#151;Load node information.
+<li><b>slurm_load_node</b> &mdash; Load node information.
 Free with <i>slurm_free_node_info</i> to avoid memory leak.</li>
 
-<li><b>slurm_print_node_info_msg</b>&#151;Print information about
+<li><b>slurm_print_node_info_msg</b> &mdash; Print information about
 all nodes.</li>
 
-<li><b>slurm_print_node_table</b>&#151;Print information about
+<li><b>slurm_print_node_table</b> &mdash; Print information about
 a specific node.</li>
 
-<li><b>slurm_free_node_info</b>&#151;Free storage
+<li><b>slurm_free_node_info</b> &mdash; Free storage
 allocated by <i>slurm_load_node</i>.</li>
 
 </ul>
@@ -102,16 +102,16 @@ allocated by <i>slurm_load_node</i>.</li>
 <h3>Get Partition Information</h3>
 <ul>
 
-<li><b>slurm_load_partitions</b>&#151;Load partition (queue) information.
+<li><b>slurm_load_partitions</b> &mdash; Load partition (queue) information.
 Free with <i>slurm_free_partition_info</i> to avoid memory leak.</li>
 
-<li><b>slurm_print_partition_info_msg</b>&#151;Print information about
+<li><b>slurm_print_partition_info_msg</b> &mdash; Print information about
 all partitions.</li>
 
-<li><b>slurm_print_partition_info</b>&#151;Print information about
+<li><b>slurm_print_partition_info</b> &mdash; Print information about
 a specific partition.</li>
 
-<li><b>slurm_free_partition_info</b>&#151;Free storage
+<li><b>slurm_free_partition_info</b> &mdash; Free storage
 allocated by <i>slurm_load_partitions</i>.</li>
 
 </ul>
@@ -121,13 +121,13 @@ allocated by <i>slurm_load_partitions</i>.</li>
 <h3>Error Handling</h3>
 <ul>
 
-<li><b>slurm_get_errno</b>&#151;Return the error code set by the
+<li><b>slurm_get_errno</b> &mdash; Return the error code set by the
 last Slurm API function executed.</li>
 
-<li><b>slurm_perror</b>&#151;Prin. Slurm error information to
+<li><b>slurm_perror</b> &mdash; Prin. Slurm error information to
 standard output.</li>
 
-<li><b>slurm_strerror</b>&#151;Return a string describing a specific
+<li><b>slurm_strerror</b> &mdash; Return a string describing a specific
 Slurm error code.</li>
 
 </ul>
@@ -137,38 +137,38 @@ Slurm error code.</li>
 <h3>Resource Allocation</h3>
 <ul>
 
-<li><b>slurm_init_job_desc_msg</b>&#151;Initialize the data structure
+<li><b>slurm_init_job_desc_msg</b> &mdash; Initialize the data structure
 used in resource allocation requests. You can then just set the fields
 of particular interest and let the others use default values.</li>
 
-<li><b>slurm_job_will_run</b>&#151;Determine if a job would be
+<li><b>slurm_job_will_run</b> &mdash; Determine if a job would be
 immediately initiated if submitted now.</li>
 
-<li><b>slurm_allocate_resources</b>&#151;Allocate resources for a job.
+<li><b>slurm_allocate_resources</b> &mdash; Allocate resources for a job.
 Response message must be freed using
 <i>slurm_free_resource_allocation_response_msg</i> to avoid a
 memory leak.</li>
 
-<li><b>slurm_free_resource_allocation_response_msg</b>&#151;
+<li><b>slurm_free_resource_allocation_response_msg</b> &mdash;
 Frees memory allocated by <i>slurm_allocate_resources</i>.</li>
 
-<li><b>slurm_allocate_resources_and_run</b>&#151;Allocate resources for a
+<li><b>slurm_allocate_resources_and_run</b> &mdash; Allocate resources for a
 job and spawn a job step. Response message must be freed using
 <i>slurm_free_resource_allocation_and_run_response_msg</i> to avoid a
 memory leak.</li>
 
-<li><b>slurm_free_resource_allocation_and_run_response_msg</b>&#151;
+<li><b>slurm_free_resource_allocation_and_run_response_msg</b> &mdash;
 Frees memory allocated by <i>slurm_allocate_resources_and_run</i>.</li>
 
-<li><b>slurm_submit_batch_job</b>&#151;Submit a script for later
+<li><b>slurm_submit_batch_job</b> &mdash; Submit a script for later
 execution. Response message must be freed using
 <i>slurm_free_submit_response_response_msg</i> to avoid a
 memory leak.</li>
 
-<li><b>slurm_free_submit_response_response_msg</b>&#151;
+<li><b>slurm_free_submit_response_response_msg</b> &mdash;
 Frees memory allocated by <i>slurm_submit_batch_job</i>.</li>
 
-<li><b>slurm_confirm_allocation</b>&#151;Test if a resource allocation has
+<li><b>slurm_confirm_allocation</b> &mdash; Test if a resource allocation has
 already been made for a given job id. Response message must be freed using
 <i>slurm_free_resource_allocation_response_msg</i> to avoid a
 memory leak. This can be used to confirm that an
@@ -186,30 +186,30 @@ creation of job steps, but include the information here
 for completeness.</p>
 <ul>
 
-<li><b>slurm_job_step_create</b>&#151;Initiate a job step.
+<li><b>slurm_job_step_create</b> &mdash; Initiate a job step.
 Allocated memory must be freed by
 <i>slurm_free_job_step_create_response_msg</i> to avoid a
 memory leak.</li>
 
-<li><b>slurm_free_job_step_create_response_msg</b>&#151;Free
+<li><b>slurm_free_job_step_create_response_msg</b> &mdash; Free
 memory allocated by <i>slurm_job_step_create</i>.
 
-<li><b>slurm_step_ctx_create</b>&#151;Create job step context.
+<li><b>slurm_step_ctx_create</b> &mdash; Create job step context.
 Destroy using <i>slurm_step_ctx_destroy</i>.</li>
 
-<li><b>slurm_step_ctx_destroy</b>&#151;Destroy a job step context
+<li><b>slurm_step_ctx_destroy</b> &mdash; Destroy a job step context
 created by <i>slurm_step_ctx_create</i>.</li>
 
-<li><b>slurm_step_ctx_get</b>&#151;Get values from job step context.</li>
+<li><b>slurm_step_ctx_get</b> &mdash; Get values from job step context.</li>
 
-<li><b>slurm_step_ctx_set</b>&#151;Set values in job step context.</li>
+<li><b>slurm_step_ctx_set</b> &mdash; Set values in job step context.</li>
 
-<li><b>slurm_jobinfo_ctx_get</b>&#151;Get values from a <i>jobinfo</i>
+<li><b>slurm_jobinfo_ctx_get</b> &mdash; Get values from a <i>jobinfo</i>
 field as returned by <i>slurm_step_ctx_get</i>.</li>
 
-<li><b>slurm_spawn</b>&#151;Spawn tasks and establish communications.</li>
+<li><b>slurm_spawn</b> &mdash; Spawn tasks and establish communications.</li>
 
-<li><b>slurm_spawn_kill</b>&#151;Signal spawned tasks.</li>
+<li><b>slurm_spawn_kill</b> &mdash; Signal spawned tasks.</li>
 
 </ul>
 <p class="footer"><a href="#top">top</a></p>
@@ -218,9 +218,9 @@ field as returned by <i>slurm_step_ctx_get</i>.</li>
 <h3>Job and Job Step Signaling and Cancelling</h3>
 <ul>
 
-<li><b>slurm_kill_job</b>&#151;Signal or cancel a job.</li>
+<li><b>slurm_kill_job</b> &mdash; Signal or cancel a job.</li>
 
-<li><b>slurm_kill_job_step</b>&#151;Signal or cancel a job step.</li>
+<li><b>slurm_kill_job_step</b> &mdash; Signal or cancel a job step.</li>
 
 </ul>
 <p class="footer"><a href="#top">top</a></p>
@@ -229,10 +229,10 @@ field as returned by <i>slurm_step_ctx_get</i>.</li>
 <h3>Job Completion</h3>
 <ul>
 
-<li><b>slurm_complete_job</b>&#151;Note completion of a job.
+<li><b>slurm_complete_job</b> &mdash; Note completion of a job.
 Releases resource allocation for the job.</li>
 
-<li><b>slurm_complete_job_step</b>&#151;Note completion of a
+<li><b>slurm_complete_job_step</b> &mdash; Note completion of a
 job step.</li>
 
 </ul>
@@ -242,30 +242,30 @@ job step.</li>
 <h3>Checkpoint</h3>
 <ul>
 
-<li><b>slurm_checkpoint_able</b>&#151;Note that a specific job or
+<li><b>slurm_checkpoint_able</b> &mdash; Note that a specific job or
 job step is eligible for checkpoint.</li>
 
-<li><b>slurm_checkpoint_complete</b>&#151;Note that a requested
+<li><b>slurm_checkpoint_complete</b> &mdash; Note that a requested
 checkpoint has completed.</li>
 
-<li><b>slurm_checkpoint_create</b>&#151;Request a checkpoint for
+<li><b>slurm_checkpoint_create</b> &mdash; Request a checkpoint for
 a specific job step. Continue execution upon completion of the
 checkpoint.</li>
 
-<li><b>slurm_checkpoint_vacate</b>&#151;Request a checkpoint for
+<li><b>slurm_checkpoint_vacate</b> &mdash; Request a checkpoint for
 a specific job step. Terminate execution upon completion of the
 checkpoint.</li>
 
-<li><b>slurm_checkpoint_disable</b>&#151;Make the identified job step
+<li><b>slurm_checkpoint_disable</b> &mdash; Make the identified job step
 non-checkpointable.</li>
 
-<li><b>slurm_checkpoint_enable</b>&#151;Make the identified job
+<li><b>slurm_checkpoint_enable</b> &mdash; Make the identified job
 step checkpointable.</li>
 
-<li><b>slurm_checkpoint_error</b>&#151;Get error information for
+<li><b>slurm_checkpoint_error</b> &mdash; Get error information for
 the last checkpoint operation on a given job step.</li>
 
-<li><b>slurm_checkpoint_restart</b>&#151;Request that a previously
+<li><b>slurm_checkpoint_restart</b> &mdash; Request that a previously
 checkpointed job resume execution.</li>
 
 </ul>
@@ -276,28 +276,28 @@ checkpointed job resume execution.</li>
 <p>Most of these functions can only be executed by user <i>root</i>.</p>
 <ul>
 
-<li><b>slurm_reconfigure</b>&#151;Update slurm daemons
+<li><b>slurm_reconfigure</b> &mdash; Update slurm daemons
 based upon current <i>slurm.conf</i> configuration file.
 Use this after updating the configuration file to
 insure that it takes effect.</li>
 
-<li><b>slurm_shutdown</b>&#151;Terminate slurm daemons.</li>
+<li><b>slurm_shutdown</b> &mdash; Terminate slurm daemons.</li>
 
-<li><b>slurm_update_job</b>&#151;Update state
+<li><b>slurm_update_job</b> &mdash; Update state
 information associated with a given job.</li>
 
-<li><b>slurm_update_node</b>&#151;Update state
+<li><b>slurm_update_node</b> &mdash; Update state
 information associated with a given node. NOTE: Most
 of a node's characteristics can not be modified.</li>
 
-<li><b>slurm_init_part_desc_msg</b>&#151;Initialize a
+<li><b>slurm_init_part_desc_msg</b> &mdash; Initialize a
 partition update descriptor. Used this to initialize
 the data structure used in <i>slurm_update_partition</i>.</li>
 
-<li><b>slurm_update_partition</b>&#151;Update state
+<li><b>slurm_update_partition</b> &mdash; Update state
 information associated with a given partition.</li>
 
-<li><b>slurm_delete_partition</b>&#151;Destroy a partition.</li>
+<li><b>slurm_delete_partition</b> &mdash; Destroy a partition.</li>
 
 </ul>
 <p class="footer"><a href="#top">top</a></p>
@@ -312,15 +312,15 @@ into a list of individual node names.</p>
 
 <ul>
 
-<li><b>slurm_hostlist_create</b>&#151;Translate a Slurm
+<li><b>slurm_hostlist_create</b> &mdash; Translate a Slurm
 node name expression into a record used for parsing.
 Use <i>slurm_hostlist_destroy</i> to free the allocated
 storage.</li>
 
-<li><b>slurm_hostlist_shift</b>&#151;Get the next node
+<li><b>slurm_hostlist_shift</b> &mdash; Get the next node
 name.</li>
 
-<li><b>slurm_hostlist_destroy</b>&#151;Release storage
+<li><b>slurm_hostlist_destroy</b> &mdash; Release storage
 allocated by <i>slurm_hostlist_create</i>.
 
 </ul>
diff --git a/doc/html/authplugins.shtml b/doc/html/authplugins.shtml
index 3453b913a42742dc1c4cc44173988274ddd4fc4b..4560ad277fba5f39f3ae76a7b3375148dad9b8ee 100644
--- a/doc/html/authplugins.shtml
+++ b/doc/html/authplugins.shtml
@@ -13,10 +13,10 @@ specifications:</p>
 The major type must be &quot;auth.&quot; The minor type can be any recognizable
 abbreviation for the type of authentication. We recommend, for example:</p>
 <ul>
-<li><b>none</b>&#151;A plugin that implements the API without providing any actual
+<li><b>none</b> &mdash; A plugin that implements the API without providing any actual
 authentication service. This may be used for testing purposes, but is not suitable for
 production use due to lack of effective security.</li>
-<li><b>munge</b>&#151;LLNL's Munge protocol (recommended plugin for production use).</li>
+<li><b>munge</b> &mdash; LLNL's Munge protocol (recommended plugin for production use).</li>
 </ul>
 
 <p><span class="commandline">const char plugin_name[]</span><br>
@@ -44,15 +44,15 @@ enumerated <b>errno</b> to allow Slurm to discover as practically as possible
 the reason for any failed API call. The following enumerated integer values (declared
 in <span class="commandline">src/common/slurm_auth.h</span>) must be used when
 appropriate.</p>
-<p style="margin-left:.2in">SLURM_AUTH_BADARG&#151;an argument to an API function
+<p style="margin-left:.2in">SLURM_AUTH_BADARG> &mdash;an argument to an API function
 was invalid or malformed.<br>
-SLURM_AUTH_MEMORY&#151;a request could not be satisfied because memory for it
+SLURM_AUTH_MEMORY> &mdash;a request could not be satisfied because memory for it
 could not be allocated.<br>
-SLURM_AUTH_NOUSER&#151;a credential is improper because it refers to an unknown
+SLURM_AUTH_NOUSER> &mdash;a credential is improper because it refers to an unknown
 user.<br>
-SLURM_AUTH_INVALID&#151;a credential is improper because the validation of it
+SLURM_AUTH_INVALID> &mdash;a credential is improper because the validation of it
 has failed. This is specifically distinct from the expiration of a credential.<br>
-SLURM_AUTH_MISMATCH&#151;a credential could not be properly unpacked because it
+SLURM_AUTH_MISMATCH> &mdash;a credential could not be properly unpacked because it
 is of an incompatible type or version.</p>
 <p>These values must not be used as return values in integer-valued functions
 in the API. The proper error return value from integer-valued functions is SLURM_ERROR.
diff --git a/doc/html/bb_plugins.shtml b/doc/html/bb_plugins.shtml
index 020e3e70fb43ae0e646cca93ee4f95a76b566f8b..008c5897f44e7ab0f2e84769f823174c610c1e34 100644
--- a/doc/html/bb_plugins.shtml
+++ b/doc/html/bb_plugins.shtml
@@ -24,8 +24,8 @@ The minor type can be any suitable name for the type of burst buffer
 package.
 The following burst buffer plugins are included in the Slurm distribution
 <ul>
-<li><b>cray</b>&#151;Use Cray APIs to provide burst buffer.</li>
-<li><b>generic</b>&#151;Use generic burst buffer plugin.</li>
+<li><b>cray</b> &mdash; Use Cray APIs to provide burst buffer.</li>
+<li><b>generic</b> &mdash; Use generic burst buffer plugin.</li>
 </ul>
 
 <p><span class="commandline">const uint32_t plugin_version</span><br>
diff --git a/doc/html/checkpoint_plugins.shtml b/doc/html/checkpoint_plugins.shtml
index ec47d2f43256b0536494ec439f74543a59882327..b001cec4b071798b97836af4c8f46524b0c69266 100644
--- a/doc/html/checkpoint_plugins.shtml
+++ b/doc/html/checkpoint_plugins.shtml
@@ -16,11 +16,11 @@ The major type must be &quot;checkpoint.&quot; The minor type can be any recogni
 abbreviation for the type of checkpoint mechanism.
 We recommend, for example:</p>
 <ul>
-<li><b>blcr</b>&#151;
+<li><b>blcr</b> &mdash;
 <a href="https://upc-bugs.lbl.gov/blcr/doc/html/">
 Berkeley Lab Checkpoint/Restart (BLCR)</a></li>
-<li><b>none</b>&#151;No job checkpoint.</li>
-<li><b>ompi</b>&#151;OpenMPI checkpoint (requires OpenMPI version 1.3 or higher).</li>
+<li><b>none</b> &mdash; No job checkpoint.</li>
+<li><b>ompi</b> &mdash; OpenMPI checkpoint (requires OpenMPI version 1.3 or higher).</li>
 </ul></p>
 
 <p><span class="commandline">const char plugin_name[]</span><br>
diff --git a/doc/html/configurator.html.in b/doc/html/configurator.html.in
index 2a4abbc5b3d78190dafd798ec477cdf3f8707ac5..3a2c2f05c20ffe945a38167ec301b866974c57a6 100644
--- a/doc/html/configurator.html.in
+++ b/doc/html/configurator.html.in
@@ -681,7 +681,7 @@ log goes to syslog, string "%h" in name gets replaced with hostname)
 
 <H2>Job Completion Logging</H2>
 Define the job completion logging mechanism to be used. SlurmDBD and None are
-recommended. The PGSQL plugin is not fully supported. <BR>
+recommended.<BR>
 Select one value for <B>JobCompType</B>:<BR>
 <input type="radio" name="job_comp_type" value="none" checked> <B>None</B>:
 No job completion logging<BR>
diff --git a/doc/html/core_spec_plugins.shtml b/doc/html/core_spec_plugins.shtml
index c094d6459a9cde986098701c0b5a9e1801f358ea..cd0251d7cd1e60705d867ac27ea199ad1b52040c 100644
--- a/doc/html/core_spec_plugins.shtml
+++ b/doc/html/core_spec_plugins.shtml
@@ -23,8 +23,8 @@ The minor type can be any suitable name for the type of core specialization
 package.
 The following core specialization plugins are included in the Slurm distribution
 <ul>
-<li><b>cray</b>&#151;Use Cray APIs to enforce core specialization.</li>
-<li><b>none</b>&#151;Can be configured to log calls to its functions, but
+<li><b>cray</b> &mdash; Use Cray APIs to enforce core specialization.</li>
+<li><b>none</b> &mdash; Can be configured to log calls to its functions, but
 otherwise does nothing.</li>
 </ul>
 <p>Slurm can be configured to use multiple core specialization plugins if desired.</p>
diff --git a/doc/html/crypto_plugins.shtml b/doc/html/crypto_plugins.shtml
index e03e8691dae23f53014ab9c081a5135a82815b23..608ab1116a469943980bb443e1ff56d03e391d88 100644
--- a/doc/html/crypto_plugins.shtml
+++ b/doc/html/crypto_plugins.shtml
@@ -27,8 +27,8 @@ The minor type can be any recognizable abbreviation for the type of
 cryptographic mechanism.
 We recommend, for example:</p>
 <ul>
-<li><b>munge</b>&#151;LLNL's Munge system.</li>
-<li><b>openssl</b>&#151;Open SSL.</li>
+<li><b>munge</b> &mdash; LLNL's Munge system.</li>
+<li><b>openssl</b> &mdash; Open SSL.</li>
 </ul></p>
 
 <p><span class="commandline">const char plugin_name[]</span><br>
diff --git a/doc/html/ext_sensorsplugins.shtml b/doc/html/ext_sensorsplugins.shtml
index 78299c430e6b6116434537606602e4f1773752fb..89cff2f9fd8bdd29ac3b702babb1c452de90c6b9 100644
--- a/doc/html/ext_sensorsplugins.shtml
+++ b/doc/html/ext_sensorsplugins.shtml
@@ -23,8 +23,8 @@ The major type must be &quot;ext_sensors.&quot;
 The minor type can be any suitable name
 for the type of external sensors. We currently use
 <ul>
-<li><b>none</b>&#151; No external sensors data is collected.
-<li><b>rrd</b>&#151;Gets external sensors data from the
+<li><b>none</b> &mdash; No external sensors data is collected.
+<li><b>rrd</b> &mdash; Gets external sensors data from the
 RRD database.
 </ul>
 
diff --git a/doc/html/gres_plugins.shtml b/doc/html/gres_plugins.shtml
index 71d7e66655dbd1df1d6c373e3d97478c301b7a6b..8b684fdbe72d0703c707a4754846a8cfb0ade08f 100644
--- a/doc/html/gres_plugins.shtml
+++ b/doc/html/gres_plugins.shtml
@@ -36,8 +36,8 @@ in other Slurm functions used by the plugin.</p>
 
 <p>We include samples in the Slurm distribution for
 <ul>
-<li><b>gpu</b>&#151;Manage GPUs (Graphics Processing Units).
-<li><b>nic</b>&#151;Manage NICs (Network Interface Cards, this plugin does
+<li><b>gpu</b> &mdash; Manage GPUs (Graphics Processing Units).
+<li><b>nic</b> &mdash; Manage NICs (Network Interface Cards, this plugin does
 nothing today).
 </ul>
 
diff --git a/doc/html/job_container_plugins.shtml b/doc/html/job_container_plugins.shtml
index f1f185dc1e36b9e89848f53a960f89b078f0908c..b6538afd7de1b77bb2e29d3e54f31321c7654f0f 100644
--- a/doc/html/job_container_plugins.shtml
+++ b/doc/html/job_container_plugins.shtml
@@ -22,9 +22,9 @@ The major type must be &quot;job_container.&quot;
 The minor type can be any recognizable abbreviation for the type
 of proctrack. We recommend, for example:</p>
 <ul>
-<li><b>cncu</b>&#151;Designed for use on Cray systems only and interface with
+<li><b>cncu</b> &mdash; Designed for use on Cray systems only and interface with
 Compute Node Clean Up (CNCU) the Cray infrastructure.</li>
-<li><b>none</b>&#151;Designed for all other systems.</li>
+<li><b>none</b> &mdash; Designed for all other systems.</li>
 </ul>
 
 <p><span class="commandline">const char plugin_name[]</span><br>
diff --git a/doc/html/job_submit_plugins.shtml b/doc/html/job_submit_plugins.shtml
index d355b40607718b989219e89d61edade23ef7a793..70b5560c38c2cbd90db6061eee12f947e6a5a041 100644
--- a/doc/html/job_submit_plugins.shtml
+++ b/doc/html/job_submit_plugins.shtml
@@ -22,18 +22,18 @@ The major type must be &quot;job_submit.&quot;
 The minor type can be any suitable name for the type of job submission package.
 We include samples in the Slurm distribution for
 <ul>
-<li><b>all_partitions</b>&#151;Set default partition to all partitions on
+<li><b>all_partitions</b> &mdash; Set default partition to all partitions on
 the cluster.</li>
-<li><b>defaults</b>&#151;Set default values for job submission or modify
+<li><b>defaults</b> &mdash; Set default values for job submission or modify
 requests.</li>
-<li><b>logging</b>&#151;Log select job submission and modification
+<li><b>logging</b> &mdash; Log select job submission and modification
 parameters.</li>
-<li><b>lua</b>&#151;Interface to <a href="http://www.lua.org">Lua</a> scripts
+<li><b>lua</b> &mdash; Interface to <a href="http://www.lua.org">Lua</a> scripts
 implementing these functions (actually a slight variation of them). Sample Lua
 scripts can be found with the Slurm distribution in the directory
 <i>contribs/lua</i>. The default installation location of the Lua scripts is
 the same location as the Slurm configuration file, <i>slurm.conf</i>.</li>
-<li><b>partition</b>&#151;Sets a job's default partition based upon job
+<li><b>partition</b> &mdash; Sets a job's default partition based upon job
 submission parameters and available partitions.</li>
 </ul>
 
diff --git a/doc/html/jobacct_gatherplugins.shtml b/doc/html/jobacct_gatherplugins.shtml
index b76c66b40507bf8eae3422a153e0a32fc5529788..35fb38f946fdba52d38e6de3c1ac942ca8b989a9 100644
--- a/doc/html/jobacct_gatherplugins.shtml
+++ b/doc/html/jobacct_gatherplugins.shtml
@@ -22,13 +22,13 @@ The major type must be &quot;jobacct_gather.&quot;
 The minor type can be any suitable name
 for the type of accounting package. We currently use
 <ul>
-<li><b>cgroup</b>&#151;Gathers information from Linux cgroup
+<li><b>cgroup</b> &mdash; Gathers information from Linux cgroup
 infrastructure and adds this information to the standard rusage
 information also gathered for each job. (Experimental, not to be used
   in production.)
-<li><b>linux</b>&#151;Gathers information from Linux /proc table and adds this
+<li><b>linux</b> &mdash; Gathers information from Linux /proc table and adds this
 information to the standard rusage information also gathered for each job.
-<li><b>none</b>&#151;No information gathered.
+<li><b>none</b> &mdash; No information gathered.
 </ul>
 
 <p><span class="commandline">const uint32_t plugin_version</span><br>
diff --git a/doc/html/jobcompplugins.shtml b/doc/html/jobcompplugins.shtml
index f4e316d76d971885c499873ae597a914f7bccf54..9c71a5c0de495e144c7198ca0927730e5bd21cab 100644
--- a/doc/html/jobcompplugins.shtml
+++ b/doc/html/jobcompplugins.shtml
@@ -14,10 +14,10 @@ specifications:</p>
 The major type must be &quot;jobcomp.&quot; The minor type can be any recognizable
 abbreviation for the type of scheduler. We recommend, for example:</p>
 <ul>
-<li><b>none</b>&#151;No job logging.</li>
-<li><b>filetxt</b>&#151;Log job information to a text file.</li>
-<li><b>mysql</b>&#151;Job completion is written to a mysql database.</li>
-<li><b>script</b>&#151;Execute a script passing in job information in environment variables.</li>
+<li><b>none</b> &mdash; No job logging.</li>
+<li><b>filetxt</b> &mdash; Log job information to a text file.</li>
+<li><b>mysql</b> &mdash; Job completion is written to a mysql database.</li>
+<li><b>script</b> &mdash; Execute a script passing in job information in environment variables.</li>
 </ul>
 
 <p><span class="commandline">const char plugin_name[]</span><br>
diff --git a/doc/html/launch_plugins.shtml b/doc/html/launch_plugins.shtml
index 059f572810711c9aa7d22160d9497a0725c01ffa..2cf01d6972fb68f7a2fb55e3fc079891fdce81ad 100644
--- a/doc/html/launch_plugins.shtml
+++ b/doc/html/launch_plugins.shtml
@@ -17,13 +17,13 @@ plugin_type[]="<i>launch/[aprun|poe|runjob|slurm</i>"</span><br>
 <p style="margin-left:.2in">
 
 <ul>
-<li><b>aprun</b>&#151;Use Cray's aprun command to launch tasks - used on Cray
+<li><b>aprun</b> &mdash; Use Cray's aprun command to launch tasks - used on Cray
 systems with ALPS installed.</li>
-<li><b>poe</b>&#151;Use IBM's poe command to launch tasks - used on systems
+<li><b>poe</b> &mdash; Use IBM's poe command to launch tasks - used on systems
   IBM's parallel environment (PE) installed.</li>
-<li><b>runjob</b>&#151;Use IBM's runjob command to launch tasks - used on
+<li><b>runjob</b> &mdash; Use IBM's runjob command to launch tasks - used on
   BlueGene/Q systems.</li>
-<li><b>slurm</b>&#151;Use Slurm's default launching infrastructure</li>
+<li><b>slurm</b> &mdash; Use Slurm's default launching infrastructure</li>
 </ul>
 
 <p><span class="commandline">const uint32_t plugin_version</span><br>
diff --git a/doc/html/mcs_plugins.shtml b/doc/html/mcs_plugins.shtml
index ad4245bab7451577976c4d6f17f73275b22df443..1df036492f1d79b26495a07ef86740fbbd836bd9 100644
--- a/doc/html/mcs_plugins.shtml
+++ b/doc/html/mcs_plugins.shtml
@@ -23,9 +23,9 @@ The major type must be &quot;mcs.&quot;
 The minor type can be any suitable name
 for the MCS. We recommend, for example :
 <ul>
-<li><b>none</b>&#151; Default. No category associated to jobs.
-<li><b>user</b>&#151; Use user name as the category to associate jobs to.
-<li><b>group</b>&#151; Use a user group as the category to associate jobs to.
+<li><b>none</b> &mdash; Default. No category associated to jobs.
+<li><b>user</b> &mdash; Use user name as the category to associate jobs to.
+<li><b>group</b> &mdash; Use a user group as the category to associate jobs to.
 </ul>
 
 <p><span class="commandline">const uint32_t plugin_version</span><br>
diff --git a/doc/html/mpiplugins.shtml b/doc/html/mpiplugins.shtml
index c360048559538a51e2e531340457592ad4ba669b..525e73a344a88e23b9637cded761b21c00503a52 100644
--- a/doc/html/mpiplugins.shtml
+++ b/doc/html/mpiplugins.shtml
@@ -16,16 +16,16 @@ conform to the Slurm Plugin API with the following specifications:</p>
 The major type must be &quot;mpi.&quot; The minor type can be any recognizable
 abbreviation for the type of node selection algorithm. We recommend, for example:</p>
 <ul>
-<li><b>lam</b>&#151;For use with LAM MPI.</li>
-<li><b>mpich-gm</b>&#151;For use with MPICH-GM.</li>
-<li><b>mpich-mx</b>&#151;For use with MPICH-MX.</li>
-<li><b>mpich1_p4</b>&#151;For use with MPICH1 (P4 communications).</li>
-<li><b>mpich1_shmem</b>&#151;For use with MPICH1 (Shmem communications).</li>
-<li><b>mvapich</b>&#151;For use with MVAPICH.</li>
-<li><b>openmpi</b>&#151;For use with OpenMPI.</li>
-<li><b>pmi2</b>&#151;For use with MPI2 and MVAPICH2.</li>
-<li><b>pmix</b>&#151;Exascale PMI implementation (currently supported by Open MPI starting from version 2.0)</li>
-<li><b>none</b>&#151;For use with most other versions of MPI.</li>
+<li><b>lam</b> &mdash; For use with LAM MPI.</li>
+<li><b>mpich-gm</b> &mdash; For use with MPICH-GM.</li>
+<li><b>mpich-mx</b> &mdash; For use with MPICH-MX.</li>
+<li><b>mpich1_p4</b> &mdash; For use with MPICH1 (P4 communications).</li>
+<li><b>mpich1_shmem</b> &mdash; For use with MPICH1 (Shmem communications).</li>
+<li><b>mvapich</b> &mdash; For use with MVAPICH.</li>
+<li><b>openmpi</b> &mdash; For use with OpenMPI.</li>
+<li><b>pmi2</b> &mdash; For use with MPI2 and MVAPICH2.</li>
+<li><b>pmix</b> &mdash; Exascale PMI implementation (currently supported by Open MPI starting from version 2.0)</li>
+<li><b>none</b> &mdash; For use with most other versions of MPI.</li>
 </ul>
 <p><span class="commandline">const char plugin_name[]</span><br>
 Some descriptive name for the plugin.
diff --git a/doc/html/node_features_plugins.shtml b/doc/html/node_features_plugins.shtml
index cb634aa9b872eee324315a096769e3f9f5b9f6bf..bcaee576a7fbb9012eda2eb692e8601a08468bb5 100644
--- a/doc/html/node_features_plugins.shtml
+++ b/doc/html/node_features_plugins.shtml
@@ -19,8 +19,8 @@ plugin_type[]="<i>node_features/[knl_cray]</i>"</span><br>
 <p style="margin-left:.2in">
 
 <ul>
-<li><b>knl_cray</b>&#151;Use Cray's capmc command to manage an Intel KNL processor.</li>
-<li><b>knl_generic</b>&#151;Use Intel commands to manage KNL processor.</li>
+<li><b>knl_cray</b> &mdash; Use Cray's capmc command to manage an Intel KNL processor.</li>
+<li><b>knl_generic</b> &mdash; Use Intel commands to manage KNL processor.</li>
 </ul>
 
 <p><span class="commandline">const uint32_t plugin_version=SLURM_VERSION_NUMBER</span><br>
diff --git a/doc/html/platforms.shtml b/doc/html/platforms.shtml
index bd61e226e7de8fb2ecfb67c84b7615fa346dc328..16a9c6e83e3e6c7a6f9e211f88f3bdec79a68931 100644
--- a/doc/html/platforms.shtml
+++ b/doc/html/platforms.shtml
@@ -3,16 +3,16 @@
 <h1>Platforms</h1>
 <h2>Operating Systems</h2>
 <ul>
-<li><b>FreeBSD</b>&#151;Fully supported.</li>
-<li><b>Linux</b>&#151;Slurm has been thoroughly tested on most popular Linux
+<li><b>FreeBSD</b> &mdash; Fully supported.</li>
+<li><b>Linux</b> &mdash; Slurm has been thoroughly tested on most popular Linux
 distributions using i386, ia64, and x86_64 architectures.</li>
-<li><b>NetBSD</b>&#151;Fully supported.</li>
-<li><b>OS X</b>&#151;Slurm has run OS X in the past, but the current OS X linker
+<li><b>NetBSD</b> &mdash; Fully supported.</li>
+<li><b>OS X</b> &mdash; Slurm has run OS X in the past, but the current OS X linker
 does not support Slurm plugins. (OS X dynamically linked objects can be called by
 the main program. They may not call functions in the main program or other
 dynamically linked objects, which are features required by Slurm.)</li>
-<li><b>Solaris</b>&#151;OpenSolaris is fully supported.</li>
-<li><b>Other</b>&#151;Slurm ports to other systems will be gratefully accepted.</li>
+<li><b>Solaris</b> &mdash; OpenSolaris is fully supported.</li>
+<li><b>Other</b> &mdash; Slurm ports to other systems will be gratefully accepted.</li>
 </ul>
 
 <p style="text-align:center;">Last modified 15 April 2015</p>
diff --git a/doc/html/power_plugins.shtml b/doc/html/power_plugins.shtml
index e3407490e77dbba1bbb8182a88c8927fab6826b1..e6b16655527f4baa73e36706c1d233c6b898509d 100644
--- a/doc/html/power_plugins.shtml
+++ b/doc/html/power_plugins.shtml
@@ -23,8 +23,8 @@ The minor type can be any suitable name for the type of power management
 package.
 The following power management plugins are included in the Slurm distribution
 <ul>
-<li><b>cray</b>&#151;Use Cray APIs to provide power management.</li>
-<li><b>none</b>&#151;Can be configured to log calls to its functions, but
+<li><b>cray</b> &mdash; Use Cray APIs to provide power management.</li>
+<li><b>none</b> &mdash; Can be configured to log calls to its functions, but
 otherwise does nothing.</li>
 </ul>
 
diff --git a/doc/html/preemption_plugins.shtml b/doc/html/preemption_plugins.shtml
index 58bdbda1ebf9a07c2ee36f57a3a8eeaedb17d0bc..d41e756b25c809c8cf1362b4fe059949f1e4386b 100644
--- a/doc/html/preemption_plugins.shtml
+++ b/doc/html/preemption_plugins.shtml
@@ -18,10 +18,10 @@ recognizable abbreviation for the type of preemption.
 We recommend, for example:</p>
 
 <ul>
-<li><b>none</b>&#151;This plugin prevents any job preemption.</li>
-<li><b>partition_prio</b>&#151;This plugin permit pending jobs from one
+<li><b>none</b> &mdash; This plugin prevents any job preemption.</li>
+<li><b>partition_prio</b> &mdash; This plugin permit pending jobs from one
 partition to preempt jobs from a lower priority partition.</li>
-<li><b>qos</b>&#151;This plugin permits jobs to preempt others based
+<li><b>qos</b> &mdash; This plugin permits jobs to preempt others based
 upon their Quality Of Service values as defined in the Slurm database.</li>
 </ul>
 
diff --git a/doc/html/priority_plugins.shtml b/doc/html/priority_plugins.shtml
index 42fec5a98ef5f8641d1109041dde0d47692f1474..a5e90e6d4a1e5ed511436866241033748e54a507 100644
--- a/doc/html/priority_plugins.shtml
+++ b/doc/html/priority_plugins.shtml
@@ -18,9 +18,9 @@ recognizable abbreviation for the type of priority.
 We recommend, for example:</p>
 
 <ul>
-<li><b>basic</b>&#151;A plugin that implements the API and provides basic FIFO
+<li><b>basic</b> &mdash; A plugin that implements the API and provides basic FIFO
 job priority.</li>
-<li><b>multifactor</b>&#151;The multi-factor job priority plugin.</li>
+<li><b>multifactor</b> &mdash; The multi-factor job priority plugin.</li>
 </ul>
 
 <p><span class="commandline">const char plugin_name[]</span><br>
diff --git a/doc/html/proctrack_plugins.shtml b/doc/html/proctrack_plugins.shtml
index 8ea023c38d2afc8a0a7eaa0d24a5fde5fbf9fc5b..9b4998ba00bd7b1888ee76f8492d4b30976fd1e1 100644
--- a/doc/html/proctrack_plugins.shtml
+++ b/doc/html/proctrack_plugins.shtml
@@ -21,24 +21,24 @@ The major type must be &quot;proctrack.&quot;
 The minor type can be any recognizable abbreviation for the type
 of proctrack. We recommend, for example:</p>
 <ul>
-<li><b>cgroup</b>&#151;Use Linux cgroups for process tracking.</li>
-<li><b>linuxproc</b>&#151;Perform process tracking based upon a scan
+<li><b>cgroup</b> &mdash; Use Linux cgroups for process tracking.</li>
+<li><b>linuxproc</b> &mdash; Perform process tracking based upon a scan
 of the Linux process table and use the parent process ID to determine
 what processes are members of a Slurm job. NOTE: This mechanism is
 not entirely reliable for process tracking.</li>
-<li><b>lua</b>&#151;Use site-defined <a href="http://www.lua.org">Lua</a>
+<li><b>lua</b> &mdash; Use site-defined <a href="http://www.lua.org">Lua</a>
 script for process tracking. Sample Lua scripts can be found with the
 Slurm distribution in the directory <i>contribs/lua</i>. The default
 installation location of the Lua scripts is the same location as the Slurm
 configuration file, <i>slurm.conf</i>.</li>
-<li><b>pgid</b>&#151;Use process group ID to determine
+<li><b>pgid</b> &mdash; Use process group ID to determine
 what processes are members of a Slurm job. NOTE: This mechanism is
 not entirely reliable for process tracking.</li>
-<li><b>rms</b>&#151;Use a Quadrics RMS kernel patch to
+<li><b>rms</b> &mdash; Use a Quadrics RMS kernel patch to
 establish what processes are members of a Slurm job.
 NOTE: This requires a kernel patch that records
 every process creation and termination.</li>
-<li><b>sgj_job</b>&#151;Use <a href="http://oss.sgi.com/projects/pagg/">
+<li><b>sgj_job</b> &mdash; Use <a href="http://oss.sgi.com/projects/pagg/">
 SGI's Process Aggregates (PAGG) kernel module</a>.
 NOTE: This kernel module records every process creation
 and termination.</li>
diff --git a/doc/html/programmer_guide.shtml b/doc/html/programmer_guide.shtml
index 056cae593807b0dccad286e155b0c7f2e6b66ea7..63a52a71de3be3c298b8efacad37d598ac592b37 100644
--- a/doc/html/programmer_guide.shtml
+++ b/doc/html/programmer_guide.shtml
@@ -60,15 +60,15 @@ The build process is described in the README file.
 <p>Copyright and disclaimer information are in the files COPYING and DISCLAIMER.
 All of the top-level subdirectories are described below.</p>
 
-<p style="margin-left:.2in"><b>auxdir</b>&#151;Used for building Slurm.<br>
-<b>contribs</b>&#151;Various contributed tools.<br>
-<b>doc</b>&#151;Documentation including man pages. <br>
-<b>etc</b>&#151;Sample configuration files.<br>
-<b>slurm</b>&#151;Header files for API use. These files must be installed. Placing
+<p style="margin-left:.2in"><b>auxdir</b> &mdash; Used for building Slurm.<br>
+<b>contribs</b> &mdash; Various contributed tools.<br>
+<b>doc</b> &mdash; Documentation including man pages. <br>
+<b>etc</b> &mdash; Sample configuration files.<br>
+<b>slurm</b> &mdash; Header files for API use. These files must be installed. Placing
 these header files in this location makes for better code portability.<br>
-<b>src</b>&#151;Contains all source code and header files not in the "slurm" subdirectory
+<b>src</b> &mdash; Contains all source code and header files not in the "slurm" subdirectory
 described above.<br>
-<b>testsuite</b>&#151;DejaGnu and Expect are used for testing all of its files
+<b>testsuite</b> &mdash; DejaGnu and Expect are used for testing all of its files
 are here.</p>
 
 <p class="footer"><a href="#top">top</a></p>
@@ -78,9 +78,9 @@ are here.</p>
 Two directories are of particular interest:</p>
 
 <p style="margin-left:.2in">
-<b>doc/man</b>&#151; contains the man pages for the APIs,
+<b>doc/man</b> &mdash; contains the man pages for the APIs,
 configuration file, commands, and daemons.<br>
-<b>doc/html</b>&#151; contains the web pages.</p>
+<b>doc/html</b> &mdash; contains the web pages.</p>
 
 <h2>Source Code</h2>
 
@@ -89,14 +89,14 @@ The details of each directory's contents are proved below. The directories are
 as follows: </p>
 
 <p style="margin-left:.2in">
-<b>api</b>&#151;Application Program Interfaces into
+<b>api</b> &mdash; Application Program Interfaces into
 the Slurm code. Used to send and get Slurm information from the central manager.
 These are the functions user applications might utilize.<br>
-<b>common</b>&#151;General purpose functions for widespread use throughout
+<b>common</b> &mdash; General purpose functions for widespread use throughout
 Slurm.<br>
-<b>database</b>&#151;Various database files that support the accounting
+<b>database</b> &mdash; Various database files that support the accounting
  storage plugin.<br>
-<b>plugins</b>&#151;Plugin functions for various infrastructures or optional
+<b>plugins</b> &mdash; Plugin functions for various infrastructures or optional
 behavior. A separate subdirectory is used for each plugin class:<br>
 <ul>
 <li><b>accounting_storage</b> for specifying the type of storage for accounting,<br>
@@ -117,39 +117,39 @@ including fair-share,<br>
 topology.<br>
 </ul>
 <p style="margin-left:.2in">
-<b>sacct</b>&#151;User command to view accounting information about jobs.<br>
-<b>sacctmgr</b>&#151;User and administrator tool to manage accounting.<br>
-<b>salloc</b>&#151;User command to allocate resources for a job.<br>
-<b>sattach</b>&#151;User command to attach standard input, output and error
+<b>sacct</b> &mdash; User command to view accounting information about jobs.<br>
+<b>sacctmgr</b> &mdash; User and administrator tool to manage accounting.<br>
+<b>salloc</b> &mdash; User command to allocate resources for a job.<br>
+<b>sattach</b> &mdash; User command to attach standard input, output and error
 files to a running job or job step.<br>
-<b>sbatch</b>&#151;User command to submit a batch job (script for later execution).<br>
-<b>sbcast</b>&#151;User command to broadcast a file to all nodes associated
+<b>sbatch</b> &mdash; User command to submit a batch job (script for later execution).<br>
+<b>sbcast</b> &mdash; User command to broadcast a file to all nodes associated
 with an existing Slurm job.<br>
-<b>scancel</b>&#151;User command to cancel (or signal) a job or job step.<br>
-<b>scontrol</b>&#151;Administrator tool to manage Slurm.<br>
-<b>sinfo</b>&#151;User command to get information on Slurm nodes and partitions.<br>
-<b>slurmctld</b>&#151;Slurm central manager daemon code.<br>
-<b>slurmd</b>&#151;Slurm daemon code to manage the compute server nodes including
+<b>scancel</b> &mdash; User command to cancel (or signal) a job or job step.<br>
+<b>scontrol</b> &mdash; Administrator tool to manage Slurm.<br>
+<b>sinfo</b> &mdash; User command to get information on Slurm nodes and partitions.<br>
+<b>slurmctld</b> &mdash; Slurm central manager daemon code.<br>
+<b>slurmd</b> &mdash; Slurm daemon code to manage the compute server nodes including
 the execution of user applications.<br>
-<b>slurmdbd</b>&#151;Slurm database daemon managing access to the accounting
+<b>slurmdbd</b> &mdash; Slurm database daemon managing access to the accounting
 storage database.<br>
-<b>smap</b>&#151;User command to view layout of nodes, partitions, and jobs.
+<b>smap</b> &mdash; User command to view layout of nodes, partitions, and jobs.
 This is particularly valuable on systems like Bluegene, which has a three
 dimension torus topography.<br>
-<b>sprio</b>&#151;User command to see the breakdown of a job's priority
+<b>sprio</b> &mdash; User command to see the breakdown of a job's priority
 calculation when the Multifactor Job Priority plugin is installed.<br>
-<b>squeue</b>&#151;User command to get information on Slurm jobs and job steps.<br>
-<b>sreport</b>&#151;User command to view various reports about past
+<b>squeue</b> &mdash; User command to get information on Slurm jobs and job steps.<br>
+<b>sreport</b> &mdash; User command to view various reports about past
 usage across the enterprise.<br>
-<b>srun</b>&#151;User command to submit a job, get an allocation, and/or
+<b>srun</b> &mdash; User command to submit a job, get an allocation, and/or
 initiation a parallel job step.<br>
-<b>srun_cr</b>&#151;Checkpoint/Restart wrapper for srun.<br>
-<b>sshare</b>&#151;User command to view shares and usage when the Multifactor
+<b>srun_cr</b> &mdash; Checkpoint/Restart wrapper for srun.<br>
+<b>sshare</b> &mdash; User command to view shares and usage when the Multifactor
 Job Priority plugin is installed.<br>
-<b>sstat</b>&#151;User command to view detailed statistics about running
+<b>sstat</b> &mdash; User command to view detailed statistics about running
 jobs when a Job Accounting Gather plugin is installed.<br>
-<b>strigger</b>&#151;User and administrator tool to manage event triggers.<br>
-<b>sview</b>&#151;User command to view and update node, partition, and
+<b>strigger</b> &mdash; User and administrator tool to manage event triggers.<br>
+<b>sview</b> &mdash; User command to view and update node, partition, and
 job state information.<br>
 
 <p class="footer"><a href="#top">top</a></p>
diff --git a/doc/html/quickstart_admin.shtml b/doc/html/quickstart_admin.shtml
index 588be1c3cff36f43f96bfc14dfb43d89a6b863b9..b5fb827deb9ea0174251c1801b41508ade7918e9 100644
--- a/doc/html/quickstart_admin.shtml
+++ b/doc/html/quickstart_admin.shtml
@@ -704,10 +704,6 @@ Slurmctld(primary/backup) at adevi/adevj are UP/UP
 adev0: scontrol shutdown
 </pre> <p class="footer"><a href="#top">top</a></p>
 
-<h2>OS X, Darwin</h2>
-<p>Build using the following execute line:<br>
-sh configure && MACOSX_DEPLOYMENT_TARGET=10.5 make all</p>
-
 <h2>Testing</h2>
 <p>An extensive test suite is available within the Slurm distribution
 in <i>testsuite/expect</i>.
diff --git a/doc/html/route_plugin.shtml b/doc/html/route_plugin.shtml
index 30b14bc828970f1975e3d045bacd357411362474..daedf2a02dca766f7c73945b8b92d404b96bedd9 100644
--- a/doc/html/route_plugin.shtml
+++ b/doc/html/route_plugin.shtml
@@ -23,8 +23,8 @@ The major type must be &quot;rout&quot;
 The minor type specifies the type of route mechanism.
 </p>
 <ul>
-<li><b>default</b>&#151;No routing information.</li>
-<li><b>topology</b>&#151;Route messages using topology.conf information.</li>
+<li><b>default</b> &mdash; No routing information.</li>
+<li><b>topology</b> &mdash; Route messages using topology.conf information.</li>
 </ul></p>
 
 <p><span class="commandline">const char plugin_name[]</span><br>
diff --git a/doc/html/schedplugins.shtml b/doc/html/schedplugins.shtml
index 492086ebe683ff0fe22118d58f7472037e269978..4856db853dfe193b5942e048295d68d986466815 100644
--- a/doc/html/schedplugins.shtml
+++ b/doc/html/schedplugins.shtml
@@ -24,15 +24,15 @@ specifications:</p>
 The major type must be &quot;sched.&quot; The minor type can be any recognizable
 abbreviation for the type of scheduler. We recommend, for example:</p>
 <ul>
-<li><b>builtin</b>&#151;A plugin that implements the API without providing any actual
+<li><b>builtin</b> &mdash; A plugin that implements the API without providing any actual
 scheduling services. This is the default behavior and implements first-in-first-out scheduling.</li>
-<li><b>backfill</b>&#151;Raise the priority of jobs if doing so results in their starting earlier
+<li><b>backfill</b> &mdash; Raise the priority of jobs if doing so results in their starting earlier
 without any delay in the expected initiation time of any higher priority job.</li>
-<li><b>wiki</b>&#151;Uses
+<li><b>wiki</b> &mdash; Uses
 <a href="http://www.clusterresources.com/pages/products/maui-cluster-scheduler.php">
 The Maui Scheduler</a> (Wiki version)
 as an external entity to control Slurm job scheduling.</li>
-<li><b>wiki2</b>&#151;Uses
+<li><b>wiki2</b> &mdash; Uses
 <a href="http://www.clusterresources.com/pages/products/moab-cluster-suite.php">
 Moab Cluster Suite</a> as an external entity to control Slurm job scheduling.
 Note that wiki2 is an expanded version of the wiki plugin with additional
diff --git a/doc/html/selectplugins.shtml b/doc/html/selectplugins.shtml
index 029a112843e0c1b4d5dd6e1f8bcdfdd12ee2d9d7..45b130dbb9e96fda9f1b51e1674883c4089cbef4 100644
--- a/doc/html/selectplugins.shtml
+++ b/doc/html/selectplugins.shtml
@@ -16,20 +16,20 @@ specifications:</p>
 The major type must be &quot;select.&quot; The minor type can be any recognizable
 abbreviation for the type of node selection algorithm. We recommend, for example:</p>
 <ul>
-<li><b>bluegene</b>&#151;<a href="http://www.research.ibm.com/bluegene/">IBM BlueGene/Q</a>
+<li><b>bluegene</b> &mdash; <a href="http://www.research.ibm.com/bluegene/">IBM BlueGene/Q</a>
 node selector. Note that this plugin not only selects the nodes for a job, but performs
 some initialization and termination functions for the job. Use this plugin for
 BlueGene/Q systems.</li>
-<li><b>cons_res</b>&#151;A plugin that can allocate individual processors,
+<li><b>cons_res</b> &mdash; A plugin that can allocate individual processors,
 memory, etc. within nodes. This plugin is recommended for systems with
 many non-parallel programs sharing nodes. For more information see
 <a href=cons_res.html>Consumable Resources in Slurm</a>.</li>
-<li><b>cray</b>&#151;Cray XE and XT system node selector. Note that this
+<li><b>cray</b> &mdash; Cray XE and XT system node selector. Note that this
 plugin not only selects the nodes for a job, but performs some initialization
 and termination functions for the job. This plugin also serves as a wrapper
 for the <i>select/linear</i> plugin which enforces various limits and
 provides support for resource selection optimized for the system topology.</li>
-<li><b>linear</b>&#151;A plugin that selects nodes assuming a one-dimensional
+<li><b>linear</b> &mdash; A plugin that selects nodes assuming a one-dimensional
 array of nodes. The nodes are selected so as to minimize the number of consecutive
 sets of nodes utilizing a best-fit algorithm. While supporting shared nodes,
 this plugin does not allocate individual processors, but can allocate memory to jobs.
diff --git a/doc/html/switchplugins.shtml b/doc/html/switchplugins.shtml
index c1e75d2ef529e8d8a3c9e9d175b565c60aa06440..9cf1a3dfbf33ee35a188b149c24c5c7902cc2e57 100644
--- a/doc/html/switchplugins.shtml
+++ b/doc/html/switchplugins.shtml
@@ -20,9 +20,9 @@ specifications:</p>
 The major type must be &quot;switch.&quot; The minor type can be any recognizable
 abbreviation for the type of switch. We recommend, for example:</p>
 <ul>
-<li><b>none</b>&#151;A plugin that implements the API without providing any actual
+<li><b>none</b> &mdash; A plugin that implements the API without providing any actual
 switch service. This is the case for Ethernet and Myrinet interconnects.</li>
-<li><b>nrt</b>&#151;IBM Network Resource Table API.</li>
+<li><b>nrt</b> &mdash; IBM Network Resource Table API.</li>
 </ul>
 
 <p><span class="commandline">const char plugin_name[]</span><br>
diff --git a/doc/html/taskplugins.shtml b/doc/html/taskplugins.shtml
index ba8624af05ea4a8c0d8ac20b4fbc801643c1d8d5..1781ad76d291c27e9c7f6d20e8868cf71238de13 100644
--- a/doc/html/taskplugins.shtml
+++ b/doc/html/taskplugins.shtml
@@ -16,13 +16,13 @@ specifications:</p>
 The major type must be &quot;task.&quot; The minor type can be any recognizable
 abbreviation for the type of task management. We recommend, for example:</p>
 <ul>
-<li><b>affinity</b>&#151;A plugin that implements task binding to processors.
+<li><b>affinity</b> &mdash; A plugin that implements task binding to processors.
 The actual mechanism used to task binding is dependent upon the available
 infrastructure as determined by the "configure" program when Slurm is built
 and the value of the <b>TaskPluginParam</b> as defined in the <b>slurm.conf</b>
 (Slurm configuration file).</li>
-<li><b>cgroup</b>&#151;Use Linux cgroups for binding tasks to resources.</li>
-<li><b>none</b>&#151;A plugin that implements the API without providing any
+<li><b>cgroup</b> &mdash; Use Linux cgroups for binding tasks to resources.</li>
+<li><b>none</b> &mdash; A plugin that implements the API without providing any
 services. This is the default behavior and provides no task binding.</li>
 </ul>
 
diff --git a/doc/html/topology_plugin.shtml b/doc/html/topology_plugin.shtml
index 0823e682055a61bd18c07cad129b1f0d0967d83f..adc3600025ff4138efa613fbcfb1d807a61b08e1 100644
--- a/doc/html/topology_plugin.shtml
+++ b/doc/html/topology_plugin.shtml
@@ -19,9 +19,9 @@ The major type must be &quot;topology.&quot;
 The minor type specifies the type of topology mechanism.
 We recommend, for example:</p>
 <ul>
-<li><b>3d_torus</b>&#151;Optimize placement for a three dimensional torus.</li>
-<li><b>none</b>&#151;No topology information.</li>
-<li><b>tree</b>&#151;Optimize placement based upon a hierarchy of network
+<li><b>3d_torus</b> &mdash; Optimize placement for a three dimensional torus.</li>
+<li><b>none</b> &mdash; No topology information.</li>
+<li><b>tree</b> &mdash; Optimize placement based upon a hierarchy of network
 switches.</li>
 </ul></p>
 
diff --git a/src/plugins/task/affinity/dist_tasks.c b/src/plugins/task/affinity/dist_tasks.c
index 0bd85a3cbf2d0345f2b18a460f92f121aa457b13..591bf5028b69fbbd771b8689f8a99f794b3f297e 100644
--- a/src/plugins/task/affinity/dist_tasks.c
+++ b/src/plugins/task/affinity/dist_tasks.c
@@ -1019,7 +1019,6 @@ static int _task_layout_lllp_cyclic(launch_tasks_request_msg_t *req,
 			if ((req->ntasks_per_core != 0) &&
 			    (core_tasks[core_inx] >= req->ntasks_per_core))
 				continue;
-			core_tasks[core_inx]++;
 
 			if (!masks[taskcount])
 				masks[taskcount] =
@@ -1042,6 +1041,8 @@ static int _task_layout_lllp_cyclic(launch_tasks_request_msg_t *req,
 			if (++p < req->cpus_per_task)
 				continue;
 
+			core_tasks[core_inx]++;
+
 			/* Binding to cores, skip remaining of the threads */
 			if (!(req->cpu_bind_type & CPU_BIND_ONE_THREAD_PER_CORE)
 			    && ((req->cpu_bind_type & CPU_BIND_TO_CORES)
@@ -1180,7 +1181,6 @@ static int _task_layout_lllp_block(launch_tasks_request_msg_t *req,
 			if ((req->ntasks_per_socket != 0) &&
 			    (socket_tasks[sock_inx] >= req->ntasks_per_socket))
 				continue;
-			core_tasks[core_inx]++;
 			socket_tasks[sock_inx]++;
 
 			if (!masks[taskcount])
@@ -1195,6 +1195,7 @@ static int _task_layout_lllp_block(launch_tasks_request_msg_t *req,
 
 			if (++c < req->cpus_per_task)
 				continue;
+			core_tasks[core_inx]++;
 			/* Binding to cores, skip remaining of the threads */
 			if (!(req->cpu_bind_type & CPU_BIND_ONE_THREAD_PER_CORE)
 			    && ((req->cpu_bind_type & CPU_BIND_TO_CORES)