syssignal.h $(INTERVALS_H) buffer.h
termcap.o: termcap.c lisp.h $(config_h)
terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
- keyboard.h $(config_h)
-terminfo.o: terminfo.c $(config_h)
-thread.o: thread.c $(config_h) lisp.h
-tparam.o: tparam.c $(config_h)
-undo.o: undo.c buffer.h commands.h window.h $(config_h)
-unexaix.o: unexaix.c $(config_h)
+ keyboard.h lisp.h $(config_h) dispextern.h composite.h systime.h
+terminfo.o: terminfo.c lisp.h $(config_h)
+thread.o: thread.c lisp.h $(config_h)
+tparam.o: tparam.c lisp.h $(config_h)
+undo.o: undo.c buffer.h commands.h window.h dispextern.h lisp.h $(config_h)
+unexaix.o: unexaix.c lisp.h $(config_h)
unexalpha.o: unexalpha.c $(config_h)
unexcw.o: unexcw.c lisp.h $(config_h)
unexec.o: unexec.c lisp.h $(config_h)
b->mark_ = Fmake_marker ();
BUF_MARKERS (b) = NULL;
- b->name = name;
+ b->name_ = name;
/* Put this in the alist of all live buffers. */
XSETBUFFER (buffer, b);
/* It is more conservative to start out "changed" than "unchanged". */
b->clip_changed = 0;
b->prevent_redisplay_optimizations_p = 1;
- b->backed_up = Qnil;
+ b->backed_up_ = Qnil;
BUF_AUTOSAVE_MODIFF (b) = 0;
b->auto_save_failure_time = -1;
b->auto_save_file_name_ = Qnil;
/* Delete any auto-save file, if we saved it in this session.
But not if the buffer is modified. */
- if (STRINGP (b->auto_save_file_name)
+ if (STRINGP (BUF_AUTO_SAVE_FILE_NAME (b))
&& BUF_AUTOSAVE_MODIFF (b) != 0
&& BUF_SAVE_MODIFF (b) < BUF_AUTOSAVE_MODIFF (b)
&& BUF_SAVE_MODIFF (b) < BUF_MODIFF (b)
buffer_defaults.overlays_after = NULL;
buffer_defaults.overlay_center = BEG;
- XSETFASTINT (buffer_defaults.tab_width, 8);
- buffer_defaults.truncate_lines = Qnil;
- buffer_defaults.word_wrap = Qnil;
- buffer_defaults.ctl_arrow = Qt;
- buffer_defaults.direction_reversed = Qnil;
- buffer_defaults.cursor_type = Qt;
- buffer_defaults.extra_line_spacing = Qnil;
- buffer_defaults.cursor_in_non_selected_windows = Qt;
+ XSETFASTINT (BUF_TAB_WIDTH (&buffer_defaults), 8);
+ BUF_TRUNCATE_LINES (&buffer_defaults) = Qnil;
+ BUF_WORD_WRAP (&buffer_defaults) = Qnil;
+ BUF_CTL_ARROW (&buffer_defaults) = Qt;
+ BUF_DIRECTION_REVERSED (&buffer_defaults) = Qnil;
+ BUF_CURSOR_TYPE (&buffer_defaults) = Qt;
+ BUF_EXTRA_LINE_SPACING (&buffer_defaults) = Qnil;
+ BUF_CURSOR_IN_NON_SELECTED_WINDOWS (&buffer_defaults) = Qt;
#ifdef DOS_NT
buffer_defaults.buffer_file_type = Qnil; /* TEXT */
doc: /* *Non-nil if searches and matches should ignore case. */);
DEFVAR_PER_BUFFER ("fill-column", ¤t_buffer->fill_column_,
- make_number (Lisp_Int),
+ make_number (LISP_INT_TAG),
doc: /* *Column beyond which automatic line-wrapping should happen.
Interactively, you can set the buffer local value using \\[set-fill-column]. */);
DEFVAR_PER_BUFFER ("left-margin", ¤t_buffer->left_margin_,
- make_number (Lisp_Int),
+ make_number (LISP_INT_TAG),
doc: /* *Column for the default `indent-line-function' to indent to.
Linefeed indents to this column in Fundamental mode. */);
DEFVAR_PER_BUFFER ("tab-width", ¤t_buffer->tab_width_,
- make_number (Lisp_Int),
+ make_number (LISP_INT_TAG),
doc: /* *Distance between tab stops (for display of tab characters), in columns. */);
DEFVAR_PER_BUFFER ("ctl-arrow", ¤t_buffer->ctl_arrow_, Qnil,
Backing up is done before the first time the file is saved. */);
DEFVAR_PER_BUFFER ("buffer-saved-size", ¤t_buffer->save_length_,
- make_number (Lisp_Int),
+ make_number (LISP_INT_TAG),
doc: /* Length of current buffer when last read in, saved or auto-saved.
0 initially.
-1 means auto-saving turned off until next real save.
/* *Cursor type to display in non-selected windows.
t means to use hollow box cursor.
See `cursor-type' for other values. */
- Lisp_Object cursor_in_non_selected_windows;
+ Lisp_Object cursor_in_non_selected_windows_;
};
#define BUF_CURSOR_IN_NON_SELECTED_WINDOWS(BUF) *find_variable_location (&((BUF)->cursor_in_non_selected_windows_))
static Lisp_Object Qchar_script_table;
Lisp_Object impl_Vunicode_category_table;
-
\f
/* If character code C has modifier masks, reflect them to the
hairy = 2;
}
- if (NILP (BUF_ENABLE_MULTIBYTE_CHARACTERS (current_buffer)))
- MAKE_CHAR_MULTIBYTE (c);
synt = SYNTAX (c);
if (!NILP (BUF_ABBREV_MODE (current_buffer))
}
if (NILP (string) && PT > charpos && PT < endpos)
cmp_it->stop_pos = PT;
- if (NILP (current_buffer->enable_multibyte_characters)
+ if (NILP (BUF_ENABLE_MULTIBYTE_CHARACTERS (current_buffer))
|| NILP (Vauto_composition_mode))
return;
if (bytepos < 0)
return new_pt;
}
- if (NILP (current_buffer->enable_multibyte_characters)
+ if (NILP (BUF_ENABLE_MULTIBYTE_CHARACTERS (current_buffer))
|| NILP (Vauto_composition_mode))
return new_pt;
if (!find_composition (from, to, &start, &end, &prop, string))
{
- if (!NILP (current_buffer->enable_multibyte_characters)
+ if (!NILP (BUF_ENABLE_MULTIBYTE_CHARACTERS (current_buffer))
&& ! NILP (Vauto_composition_mode)
&& find_automatic_composition (from, to, &start, &end, &gstring,
string))
Lisp_Object QCdbus_type_struct, QCdbus_type_dict_entry;
/* Hash table which keeps function definitions. */
-Lisp_Object impl_Vdbus_registered_functions_table;
+Lisp_Object impl_Vdbus_registered_objects_table;
/* Whether to debug D-Bus. */
Lisp_Object impl_Vdbus_debug;
? XMARKER (XCAR (data))->buffer
: XBUFFER (data));
- if (buf && buf != current_buffer && !NILP (buf->pt_marker))
+ if (buf && buf != current_buffer && !NILP (BUF_PT_MARKER (buf)))
{ /* If `buf' uses markers to keep track of PT, BEGV, and ZV (as
is the case if it is or has an indirect buffer), then make
sure it is current before we update BEGV, so
char debug_on_exit;
};
+#ifdef DEBUG_GCPRO
+/* Count levels of GCPRO to detect failure to UNGCPRO. */
+int gcpro_level;
+#endif
+
Lisp_Object Qautoload, Qmacro, Qexit, Qinteractive, Qcommandp, Qdefun;
Lisp_Object Qinhibit_quit, impl_Vinhibit_quit, impl_Vquit_flag;
Lisp_Object Qand_rest, Qand_optional;
SAVE_MODIFF = MODIFF;
BUF_AUTOSAVE_MODIFF (current_buffer) = MODIFF;
- XSETFASTINT (current_buffer->save_length, Z - BEG);
+ XSETFASTINT (BUF_SAVE_LENGTH (current_buffer), Z - BEG);
#ifdef CLASH_DETECTION
if (NILP (handler))
{
internal_condition_case (auto_save_1, Qt, auto_save_error);
auto_saved++;
BUF_AUTOSAVE_MODIFF (b) = BUF_MODIFF (b);
- XSETFASTINT (current_buffer->save_length, Z - BEG);
+ XSETFASTINT (BUF_SAVE_LENGTH (current_buffer), Z - BEG);
set_buffer_internal (old);
EMACS_GET_TIME (after_time);
/* FIXME: This should not be called in indirect buffers, since
they're not autosaved. */
BUF_AUTOSAVE_MODIFF (current_buffer) = MODIFF;
- XSETFASTINT (current_buffer->save_length, Z - BEG);
+ XSETFASTINT (BUF_SAVE_LENGTH (current_buffer), Z - BEG);
current_buffer->auto_save_failure_time = -1;
return Qnil;
}
#define Vcurrent_prefix_arg *find_variable_location (&impl_Vcurrent_prefix_arg)
#define Vdata_directory *find_variable_location (&impl_Vdata_directory)
#define Vdbus_debug *find_variable_location (&impl_Vdbus_debug)
-#define Vdbus_registered_functions_table *find_variable_location (&impl_Vdbus_registered_functions_table)
+#define Vdbus_registered_objects_table *find_variable_location (&impl_Vdbus_registered_objects_table)
#define Vdeactivate_mark *find_variable_location (&impl_Vdeactivate_mark)
#define Vdebug_ignored_errors *find_variable_location (&impl_Vdebug_ignored_errors)
#define Vdebug_on_error *find_variable_location (&impl_Vdebug_on_error)
#ifdef HAVE_PNG
-/* png.h has a struct with a field named current_buffer. */
-#undef current_buffer
-
-#if defined HAVE_LIBPNG_PNG_H
-# include <libpng/png.h>
-#else
-# include <png.h>
-#endif
-
#ifdef HAVE_NTGUI
/* PNG library details. */
Lisp_Object Qmenu_enable;
Lisp_Object QCenable, QCvisible, QChelp, QCfilter, QCkeys, QCkey_sequence;
Lisp_Object QCbutton, QCtoggle, QCradio;
+extern Lisp_Object impl_Vdefine_key_rebound_commands;
extern Lisp_Object Qmenu_item;
/* An event header symbol HEAD may have a property named
struct gcpro *gcpro;
jmp_buf jmp;
struct backtrace *backlist;
- struct handler *handlerlist;
- int lisp_eval_depth;
+ struct handler *m_handlerlist;
+ int m_lisp_eval_depth;
int pdlcount;
int poll_suppress_count;
int interrupt_input_blocked;
#ifndef MENU_H
#define MENU_H
-extern Lisp_Object Vmenu_updating_frame;
+extern Lisp_Object impl_Vmenu_updating_frame;
extern void init_menu_items P_ ((void));
extern void finish_menu_items P_ ((void));
Fput (Qinvalid_regexp, Qerror_conditions,
pure_cons (Qinvalid_regexp, pure_cons (Qerror, Qnil)));
Fput (Qinvalid_regexp, Qerror_message,
- build_string ("Invalid regexp"));
+ make_pure_c_string ("Invalid regexp"));
last_thing_searched = Qnil;
saved_last_thing_searched = Qnil;
do \
{ \
gl_state.use_global = 0; \
- gl_state.current_syntax_table = current_buffer->syntax_table; \
+ gl_state.current_syntax_table = BUF_SYNTAX_TABLE (current_buffer); \
} while (0)
/* This macro should be called with FROM at the start of forward
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "blockinput.h"
#include "systime.h"
#include "sysselect.h"
+
void mark_byte_stack P_ ((struct byte_stack *));
void mark_backtrace P_ ((struct backtrace *));
void mark_catchlist P_ ((struct catchtag *));
case '@':
{
- Lisp_Object val;
- val = call1 (intern ("file-remote-p"), BUF_DIRECTORY (current_buffer));
+ int count = inhibit_garbage_collection ();
+ Lisp_Object val = call1 (intern ("file-remote-p"),
+ BUF_DIRECTORY (current_buffer));
+ unbind_to (count, Qnil);
+
if (NILP (val))
return "-";
else