You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
#include <signal.h>
Fsignal (Qargs_out_of_range, Fcons (a1, Fcons (a2, Fcons (a3, Qnil))));
}
-Lisp_Object
-make_number (num)
- int num;
-{
- register Lisp_Object val;
- XSETINT (val, num);
- return val;
-}
-
/* On some machines, XINT needs a temporary location.
Here it is, in case it is needed. */
current_buffer->local_var_alist
= Fdelq (tem, current_buffer->local_var_alist);
- /* Make sure symbol does not think it is set up for this buffer;
- force it to look once again for this buffer's value */
+ /* If the symbol is set up for the current buffer, recompute its
+ value. We have to do it now, or else forwarded objects won't
+ work right. */
{
Lisp_Object *pvalbuf;
valcontents = XSYMBOL (variable)->value;
pvalbuf = &XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car;
if (current_buffer == XBUFFER (*pvalbuf))
- *pvalbuf = Qnil;
+ {
+ *pvalbuf = Qnil;
+ find_symbol_value (variable);
+ }
}
return variable;