58 lines
1.6 KiB
Igor
58 lines
1.6 KiB
Igor
#pragma rtGlobals=3 // Use modern global access method and strict wave access.
|
|
#pragma IgorVersion = 6.1
|
|
#pragma ModuleName = PearlCompat
|
|
#pragma version = 1.01
|
|
|
|
// copyright (c) 2019 Paul Scherrer Institut
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
// http:///www.apache.org/licenses/LICENSE-2.0
|
|
|
|
/// @file
|
|
/// @brief compatibility procedures for igor 8
|
|
/// @ingroup ArpesPackage
|
|
///
|
|
///
|
|
/// the compatibility procedures ensure that igor experiments
|
|
/// created with the PEARL procedures under igor 8
|
|
/// can be opened with earlier igor versions (>= 6.34).
|
|
///
|
|
/// the following possible issues are addressed:
|
|
///
|
|
/// @arg length of object names
|
|
|
|
/// @namespace PearlCompat
|
|
/// @brief compatibility procedures for igor 8
|
|
///
|
|
/// PearlCompat is declared in @ref pearl-compat.ipf.
|
|
|
|
|
|
// Compatible CleanupName function
|
|
//
|
|
// Igor 8's CleanupName may return long object names (> 31 characters).
|
|
// This breaks compatibility with earlier Igor versions.
|
|
// Experiments that include waves, folders, windows etc. with long names
|
|
// cannot be loaded with an earlier version.
|
|
//
|
|
// This is a drop-in replacement function for CleanupName.
|
|
// In addition to the behaviour of CleanupName,
|
|
// this replacement ensures that names are limited to 31 characters.
|
|
//
|
|
// @param name object name to clean up
|
|
//
|
|
// @return (str) clean object name
|
|
//
|
|
function /s PearlCleanupName(name)
|
|
string name
|
|
|
|
#if IgorVersion() >= 8.00
|
|
// note: this function is not threadsafe
|
|
return CleanupName(name, 0, 31)
|
|
#else
|
|
return CleanupName(name, 0)
|
|
#endif
|
|
|
|
end
|