emacsを使っていると(left + -7)のような未評価のフレーム位置(?)を見かけます。(例えば、自分の環境ではemacs -qとして起動した後、*scratch*(frame-parameters (window-frame (selected-window)))を評価すると、... (top . 96) (left + -10)...と出力されます。)

このようなleft値を連想リストの形でファイルに保存し、起動時にread-from-stringで式を取り出してset-frame-positionで設定してやろうとすると*Backtrace*に次のようなエラーが出ます。

Debugger entered--Lisp error: (wrong-type-argument integerp (+ -10))
  set-frame-position(#<frame emacs@xxx 0xyyyyyyy> (+ -10) 14)
<略>

得られた値をevalしてやることで取り敢えずこのエラーを解決できたのですが、より良い方法(例えば、S式で設定を保存する場合のベストプラクティス、frame-parametersの返す連想リストに未評価の値を含ませない等)があれば教えてください。