Commit bc97a826 authored by Alan Mackenzie's avatar Alan Mackenzie

Merge

parents c0f13227 9aba6043
2011-10-28 Alan Mackenzie <acm@muc.de>
Amend to indent and fontify macros "which include their own semicolon"
correctly, using the "virtual semicolon" mechanism.
* cc-defs.el: Update "virtual semicolon" comments.
* cc-engine.el (c-crosses-statement-barrier-p): Recoded to scan one line at
at time rather than having \n and \r explicitly in c-stmt-delim-chars
(for some modes, e.g. AWK).
(c-forward-label): Amend for virtual semicolons.
(c-at-macro-vsemi-p, c-macro-vsemi-status-unknown-p): New functions
* cc-fonts.el (c-font-lock-declarations): Take account of the new C macros.
* cc-langs.el (c-at-vsemi-p-fn, c-vsemi-status-unknown-p-fn): move to
earlier in the file.
(c-opt-cpp-symbol, c-line-comment-start-regexp): New language variables.
(c-opt-cpp-macro-define): Make into a full language variable.
(c-stmt-delim-chars, c-stmt-delim-chars-with-comma): Special value for
AWK Mode (including \n, \r) removed, no longer needed.
* cc-mode.el (c-mode, c++-mode, objc-mode): Invoke
c-make-macro-with-semi-re. (Erroneously committed early, in previous
version, 5.259.)
* cc-vars.el (c-macro-with-semi-re, c-macro-names-with-semicolon): New
variables.
(c-make-macro-with-semi-re): New function
* cc-mode.texi (Indentation Commands): Mention "macros with semicolons".
(Other Special Indentations): Add an xref to "Macros with ;".
(Customizing Macros): Add stuff about syntax in macros. Add an xref to
"Macros with ;".
(Macros with ;): New page.
2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
* vc/log-edit.el: Fill empty field rather than adding new one.
(log-edit-add-field): New function.
(log-edit-insert-changelog): Use it.
2011-10-28 Mark Lillibridge <mark.lillibridge@hp.com> (tiny change)
* mail/rmail.el (rmail-mode-map): Add M-C-f as in rmailsum (bug#9802).
2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/gdb-mi.el: Warn the user when -i=mi is missing.
(gdb--check-interpreter): New function.
(gdb): Use it.
2011-10-27 Glenn Morris <rgm@gnu.org>
* emacs-lisp/cl-extra.el (most-positive-float, most-negative-float)
......@@ -21,8 +75,8 @@
* subr.el (change-major-mode-after-body-hook): New hook.
(run-mode-hooks): Run it.
* emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Use
change-major-mode-before-body-hook.
* emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Use change-major-mode-before-body-hook.
* simple.el (fundamental-mode):
* emacs-lisp/derived.el (define-derived-mode): Revert 2010-04-28
......
......@@ -1008,6 +1008,7 @@ The buffer is expected to be narrowed to just the header of the message."
(define-key map "\e\C-l" 'rmail-summary-by-labels)
(define-key map "\e\C-r" 'rmail-summary-by-recipients)
(define-key map "\e\C-s" 'rmail-summary-by-regexp)
(define-key map "\e\C-f" 'rmail-summary-by-senders)
(define-key map "\e\C-t" 'rmail-summary-by-topic)
(define-key map "m" 'rmail-mail)
(define-key map "\em" 'rmail-retry-failure)
......
......@@ -43,21 +43,10 @@
;; M-x gdb will start the debugger.
;; This file uses GDB/MI as the primary interface to GDB. It is still under
;; development and is part of a process to migrate Emacs from annotations (as
;; used in gdb-ui.el) to GDB/MI. It runs gdb with GDB/MI (-interp=mi) and
;; access CLI using "-interpreter-exec console cli-command". This code works
;; without gdb-ui.el and uses MI tokens instead of queues. Eventually MI
;; should be asynchronous.
;; This mode will PARTLY WORK WITH RECENT GDB RELEASES (status in modeline
;; doesn't update properly when execution commands are issued from GUD buffer)
;; and WORKS BEST when GDB runs asynchronously: maint set linux-async on.
;;
;; You need development version of GDB 7.0 for the thread buffer to work.
;; This file replaces gdb-ui.el and is for development with GDB. Use the
;; release branch of Emacs 22 for the latest version of gdb-ui.el.
;; This file uses GDB/MI as the primary interface to GDB. It runs gdb with
;; GDB/MI (-interp=mi) and access CLI using "-interpreter-exec console
;; cli-command". This code works without gdb-ui.el and uses MI tokens instead
;; of queues. Eventually MI should be asynchronous.
;; Windows Platforms:
......@@ -599,6 +588,22 @@ NOARG must be t when this macro is used outside `gud-def'"
(concat (gdb-gud-context-command ,cmd1 ,noall) " " ,cmd2)
,(when (not noarg) 'arg)))
(defun gdb--check-interpreter (proc string)
(unless (zerop (length string))
(let ((filter (process-get proc 'gud-normal-filter)))
(set-process-filter proc filter)
(unless (memq (aref string 0) '(?^ ?~ ?@ ?& ?* ?=))
;; Apparently we're not running with -i=mi.
(let ((msg "Error: you did not specify -i=mi on GDB's command line!"))
(message msg)
(setq string (concat (propertize msg 'font-lock-face 'error)
"\n" string)))
;; Use the old gud-gbd filter, not because it works, but because it
;; will properly display GDB's answers rather than hanging waiting for
;; answers that aren't coming.
(set (make-local-variable 'gud-marker-filter) #'gud-gdb-marker-filter))
(funcall filter proc string))))
;;;###autoload
(defun gdb (command-line)
"Run gdb on program FILE in buffer *gud-FILE*.
......@@ -665,6 +670,13 @@ detailed description of this mode.
"Multiple debugging requires restarting in text command mode"))
;;
(gud-common-init command-line nil 'gud-gdbmi-marker-filter)
;; Setup a temporary process filter to warn when GDB was not started
;; with -i=mi.
(let ((proc (get-buffer-process gud-comint-buffer)))
(process-put proc 'gud-normal-filter (process-filter proc))
(set-process-filter proc #'gdb--check-interpreter))
(set (make-local-variable 'gud-minor-mode) 'gdbmi)
(setq comint-input-sender 'gdb-send)
(when (ring-empty-p comint-input-ring) ; cf shell-mode
......
......@@ -593,6 +593,13 @@ to build the Fixes: header.")
(put 'log-edit-rewrite-fixes 'safe-local-variable
(lambda (v) (and (stringp (car-safe v)) (stringp (cdr v)))))
(defun log-edit-add-field (field value)
(rfc822-goto-eoh)
(if (save-excursion (re-search-backward (concat "^" field ":\\([ \t]*\\)$")
nil t))
(replace-match (concat " " value) t t nil 1)
(insert field ": " value "\n" (if (looking-at "\n") "" "\n"))))
(defun log-edit-insert-changelog (&optional use-first)
"Insert a log message by looking at the ChangeLog.
The idea is to write your ChangeLog entries first, and then use this
......@@ -620,9 +627,7 @@ regardless of user name or time."
(log-edit-insert-changelog-entries (log-edit-files)))))
(log-edit-set-common-indentation)
;; Add an Author: field if appropriate.
(when author
(rfc822-goto-eoh)
(insert "Author: " author "\n" (if (looking-at "\n") "" "\n")))
(when author (log-edit-add-field "Author" author))
;; Add a Fixes: field if applicable.
(when (consp log-edit-rewrite-fixes)
(rfc822-goto-eoh)
......@@ -632,8 +637,7 @@ regardless of user name or time."
(fixes (match-substitute-replacement
(cdr log-edit-rewrite-fixes))))
(delete-region start end)
(rfc822-goto-eoh)
(insert "Fixes: " fixes "\n" (if (looking-at "\n") "" "\n")))))
(log-edit-add-field "Fixes" fixes))))
(and log-edit-strip-single-file-name
(progn (rfc822-goto-eoh)
(if (looking-at "\n") (forward-char 1))
......
2011-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
* lisp.h (struct Lisp_Symbol): Update comments.
2011-10-28 Juanma Barranquero <lekktu@gmail.com>
* w32font.c (w32_load_unicows_or_gdi32): Add missing return.
2011-10-28 Eli Zaretskii <eliz@gnu.org>
Fix Emacs on Windows 9X (bug#8562). Thanks to oslsachem
<oslsachem@gmail.com> for helping to debug this.
* w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w)
(g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w)
(g_b_init_get_glyph_outline_w): New static variables.
(GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc)
(GetGlyphOutlineW_Proc): New typedefs.
(w32_load_unicows_or_gdi32, get_outline_metrics_w)
(get_text_metrics_w, get_glyph_outline_w, globals_of_w32font):
New functions.
(w32font_open_internal, compute_metrics):
Call get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w
instead of calling the "wide" APIs directly.
* emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font.
* w32.h (syms_of_w32font): Add prototype.
2011-10-27 Juanma Barranquero <lekktu@gmail.com>
* window.c (Fframe_root_window, Fframe_first_window, Fwindow_end)
......@@ -18,8 +47,8 @@
2011-10-27 Chong Yidong <cyd@gnu.org>
* gnutls.c (emacs_gnutls_deinit): New function. Deallocate
credentials structures as well as calling gnutls_deinit.
* gnutls.c (emacs_gnutls_deinit): New function.
Deallocate credentials structures as well as calling gnutls_deinit.
(Fgnutls_deinit, Fgnutls_boot): Use it.
* process.c (make_process): Initialize GnuTLS credentials to NULL.
......
......@@ -1591,6 +1591,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
/* Initialization that must be done even if the global variable
initialized is non zero. */
#ifdef HAVE_NTGUI
globals_of_w32font ();
globals_of_w32fns ();
globals_of_w32menu ();
globals_of_w32select ();
......
......@@ -73,7 +73,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "nsterm.h"
#endif
/* Variables for blockinput.h: */
/* Variables for blockinput.h: */
/* Non-zero if interrupt input is blocked right now. */
volatile int interrupt_input_blocked;
......@@ -338,7 +338,7 @@ static Lisp_Object Qconfig_changed_event;
Lisp_Object Qevent_kind;
static Lisp_Object Qevent_symbol_elements;
/* menu and tool bar item parts */
/* Menu and tool bar item parts. */
static Lisp_Object Qmenu_enable;
static Lisp_Object QCenable, QCvisible, QChelp, QCkeys, QCkey_sequence;
Lisp_Object QCfilter;
......@@ -835,7 +835,7 @@ recursive_edit_unwind (Lisp_Object buffer)
#if 0 /* These two functions are now replaced with
temporarily_switch_to_single_kboard. */
temporarily_switch_to_single_kboard. */
static void
any_kboard_state ()
{
......@@ -1038,7 +1038,7 @@ cmd_error (Lisp_Object data)
Vquit_flag = Qnil;
Vinhibit_quit = Qnil;
#if 0 /* This shouldn't be necessary anymore. --lorentey */
#if 0 /* This shouldn't be necessary anymore. --lorentey */
if (command_loop_level == 0 && minibuf_level == 0)
any_kboard_state ();
#endif
......@@ -1131,7 +1131,7 @@ command_loop (void)
#if 0 /* This shouldn't be necessary anymore. --lorentey */
/* Reset single_kboard in case top-level set it while
evaluating an -f option, or we are stuck there for some
other reason. */
other reason. */
any_kboard_state ();
#endif
internal_catch (Qtop_level, command_loop_2, Qnil);
......@@ -1492,8 +1492,8 @@ command_loop_1 (void)
if (!NILP (Vquit_flag))
{
Vexecuting_kbd_macro = Qt;
QUIT; /* Make some noise. */
/* Will return since macro now empty. */
QUIT; /* Make some noise. */
/* Will return since macro now empty. */
}
}
......@@ -1512,7 +1512,7 @@ command_loop_1 (void)
Vdisable_point_adjustment = Qnil;
/* Process filters and timers may have messed with deactivate-mark.
reset it before we execute the command. */
reset it before we execute the command. */
Vdeactivate_mark = Qnil;
/* Remap command through active keymaps. */
......@@ -1552,7 +1552,7 @@ command_loop_1 (void)
}
else
{
/* Here for a command that isn't executed directly */
/* Here for a command that isn't executed directly. */
#ifdef HAVE_WINDOW_SYSTEM
int scount = SPECPDL_INDEX ();
......@@ -1960,7 +1960,7 @@ void
poll_for_input_1 (void)
{
/* Tell ns_read_socket() it is being called asynchronously so it can avoid
doing anything dangerous. */
doing anything dangerous. */
#ifdef HAVE_NS
++handling_signal;
#endif
......@@ -2000,7 +2000,7 @@ start_polling (void)
#ifdef POLL_FOR_INPUT
/* XXX This condition was (read_socket_hook && !interrupt_input),
but read_socket_hook is not global anymore. Let's pretend that
it's always set. */
it's always set. */
if (!interrupt_input)
{
/* Turn alarm handling on unconditionally. It might have
......@@ -2037,7 +2037,7 @@ input_polling_used (void)
#ifdef POLL_FOR_INPUT
/* XXX This condition was (read_socket_hook && !interrupt_input),
but read_socket_hook is not global anymore. Let's pretend that
it's always set. */
it's always set. */
return !interrupt_input;
#else
return 0;
......@@ -2052,7 +2052,7 @@ stop_polling (void)
#ifdef POLL_FOR_INPUT
/* XXX This condition was (read_socket_hook && !interrupt_input),
but read_socket_hook is not global anymore. Let's pretend that
it's always set. */
it's always set. */
if (!interrupt_input)
++poll_suppress_count;
#endif
......@@ -2390,7 +2390,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
real event came from. Normally, a switch-frame event selects
internal_last_event_frame after each command is read, but
events read from a macro should never cause a new frame to be
selected. */
selected. */
Vlast_event_frame = internal_last_event_frame = Qmacro;
/* Exit the macro if we are at the end.
......@@ -2500,7 +2500,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
Try this before the sit-for, because the sit-for
would do the wrong thing if we are supposed to do
menu prompting. If EVENT_HAS_PARAMETERS then we are reading
after a mouse event so don't try a minibuf menu. */
after a mouse event so don't try a minibuf menu. */
c = Qnil;
if (nmaps > 0 && INTERACTIVE
&& !NILP (prev_event) && ! EVENT_HAS_PARAMETERS (prev_event)
......@@ -4980,8 +4980,8 @@ static const char *const lispy_function_keys[] =
"break", /* 0xff6b */
0, 0, 0, 0,
0, 0, 0, 0, "backtab", 0, 0, 0, /* 0xff70... */
0, 0, 0, 0, 0, 0, 0, "kp-numlock", /* 0xff78... */
0, 0, 0, 0, "backtab", 0, 0, 0, /* 0xff70... */
0, 0, 0, 0, 0, 0, 0, "kp-numlock", /* 0xff78... */
"kp-space", /* 0xff80 */ /* IsKeypadKey */
0, 0, 0, 0, 0, 0, 0, 0,
"kp-tab", /* 0xff89 */
......@@ -5093,14 +5093,14 @@ static Lisp_Object *const scroll_bar_parts[] = {
static Lisp_Object button_down_location;
/* Information about the most recent up-going button event: Which
button, what location, and what time. */
button, what location, and what time. */
static int last_mouse_button;
static int last_mouse_x;
static int last_mouse_y;
static Time button_down_time;
/* The number of clicks in this multiple-click. */
/* The number of clicks in this multiple-click. */
static int double_click_count;
......@@ -5344,7 +5344,7 @@ make_lispy_event (struct input_event *event)
#ifdef HAVE_NS
/* NS_NONKEY_EVENTs are just like NON_ASCII_KEYSTROKE_EVENTs,
except that they are non-key events (last-nonmenu-event is nil). */
except that they are non-key events (last-nonmenu-event is nil). */
case NS_NONKEY_EVENT:
#endif
......@@ -5830,7 +5830,7 @@ make_lispy_event (struct input_event *event)
Fcons (make_number (event->timestamp),
Fcons (part, Qnil)))));
/* Always treat scroll bar events as clicks. */
/* Always treat scroll bar events as clicks. */
event->modifiers |= click_modifier;
event->modifiers &= ~up_modifier;
......@@ -6694,7 +6694,7 @@ lucid_event_type_list_p (Lisp_Object object)
If READABLE_EVENTS_FILTER_EVENTS is set in FLAGS, ignore internal
events (FOCUS_IN_EVENT).
If READABLE_EVENTS_IGNORE_SQUEEZABLES is set in FLAGS, ignore mouse
movements and toolkit scroll bar thumb drags. */
movements and toolkit scroll bar thumb drags. */
static void
get_input_pending (int *addr, int flags)
......@@ -6728,7 +6728,7 @@ gobble_input (int expected)
#ifdef POLL_FOR_INPUT
/* XXX This condition was (read_socket_hook && !interrupt_input),
but read_socket_hook is not global anymore. Let's pretend that
it's always set. */
it's always set. */
if (!interrupt_input && poll_suppress_count == 0)
{
SIGMASKTYPE mask;
......@@ -6803,7 +6803,7 @@ read_avail_input (int expected)
if (store_user_signal_events ())
expected = 0;
/* Loop through the available terminals, and call their input hooks. */
/* Loop through the available terminals, and call their input hooks. */
t = terminal_list;
while (t)
{
......@@ -6824,15 +6824,15 @@ read_avail_input (int expected)
expected = 0;
}
if (nr == -1) /* Not OK to read input now. */
if (nr == -1) /* Not OK to read input now. */
{
err = 1;
}
else if (nr == -2) /* Non-transient error. */
else if (nr == -2) /* Non-transient error. */
{
/* The terminal device terminated; it should be closed. */
/* The terminal device terminated; it should be closed. */
/* Kill Emacs if this was our last terminal. */
/* Kill Emacs if this was our last terminal. */
if (!terminal_list->next_terminal)
/* Formerly simply reported no input, but that
sometimes led to a failure of Emacs to terminate.
......@@ -6844,7 +6844,7 @@ read_avail_input (int expected)
alone in its group. */
kill (getpid (), SIGHUP);
/* XXX Is calling delete_terminal safe here? It calls delete_frame. */
/* XXX Is calling delete_terminal safe here? It calls delete_frame. */
{
Lisp_Object tmp;
XSETTERMINAL (tmp, t);
......@@ -6934,7 +6934,7 @@ tty_read_avail_input (struct terminal *terminal,
return 0;
#endif /* subprocesses */
if (!terminal->name) /* Don't read from a dead terminal. */
if (!terminal->name) /* Don't read from a dead terminal. */
return 0;
if (terminal->type != output_termcap
......@@ -6942,15 +6942,15 @@ tty_read_avail_input (struct terminal *terminal,
abort ();
/* XXX I think the following code should be moved to separate hook
functions in system-dependent files. */
functions in system-dependent files. */
#ifdef WINDOWSNT
return 0;
#else /* not WINDOWSNT */
if (! tty->term_initted) /* In case we get called during bootstrap. */
if (! tty->term_initted) /* In case we get called during bootstrap. */
return 0;
if (! tty->input)
return 0; /* The terminal is suspended. */
return 0; /* The terminal is suspended. */
#ifdef MSDOS
n_to_read = dos_keysns ();
......@@ -6976,7 +6976,7 @@ tty_read_avail_input (struct terminal *terminal,
Gpm_GetEvent closes gpm_fd and clears it to -1, which is why
we save it in `fd' so close_gpm can remove it from the
select masks.
gpm==-1 if a protocol error or EWOULDBLOCK; the latter is normal. */
gpm==-1 if a protocol error or EWOULDBLOCK; the latter is normal. */
while (gpm = Gpm_GetEvent (&event), gpm == 1) {
nread += handle_one_term_event (tty, &event, &gpm_hold_quit);
}
......@@ -6996,7 +6996,7 @@ tty_read_avail_input (struct terminal *terminal,
if (ioctl (fileno (tty->input), FIONREAD, &n_to_read) < 0)
{
if (! noninteractive)
return -2; /* Close this terminal. */
return -2; /* Close this terminal. */
else
n_to_read = 0;
}
......@@ -7029,16 +7029,16 @@ tty_read_avail_input (struct terminal *terminal,
process group won't get SIGHUP's at logout time. BSDI adheres to
this part standard and returns -1 from read (0) with errno==EIO
when the control tty is taken away.
Jeffrey Honig <jch@bsdi.com> says this is generally safe. */
Jeffrey Honig <jch@bsdi.com> says this is generally safe. */
if (nread == -1 && errno == EIO)
return -2; /* Close this terminal. */
return -2; /* Close this terminal. */
#if defined (AIX) && defined (_BSD)
/* The kernel sometimes fails to deliver SIGHUP for ptys.
This looks incorrect, but it isn't, because _BSD causes
O_NDELAY to be defined in fcntl.h as O_NONBLOCK,
and that causes a value other than 0 when there is no input. */
if (nread == 0)
return -2; /* Close this terminal. */
return -2; /* Close this terminal. */
#endif
}
while (
......@@ -7116,7 +7116,7 @@ tty_read_avail_input (struct terminal *terminal,
buf.code = cbuf[i];
/* Set the frame corresponding to the active tty. Note that the
value of selected_frame is not reliable here, redisplay tends
to temporarily change it. */
to temporarily change it. */
buf.frame_or_window = tty->top_frame;
buf.arg = Qnil;
......@@ -7139,7 +7139,7 @@ handle_async_input (void)
pending_signals = pending_atimers;
#endif
/* Tell ns_read_socket() it is being called asynchronously so it can avoid
doing anything dangerous. */
doing anything dangerous. */
#ifdef HAVE_NS
++handling_signal;
#endif
......@@ -7197,7 +7197,7 @@ input_available_signal (int signo)
This function exists so that the UNBLOCK_INPUT macro in
blockinput.h can have some way to take care of input we put off
dealing with, without assuming that every file which uses
UNBLOCK_INPUT also has #included the files necessary to get SIGIO. */
UNBLOCK_INPUT also has #included the files necessary to get SIGIO. */
void
reinvoke_input_signal (void)
{
......@@ -7224,7 +7224,7 @@ struct user_signal_info
struct user_signal_info *next;
};
/* List of user signals. */
/* List of user signals. */
static struct user_signal_info *user_signals = NULL;
void
......@@ -7761,7 +7761,7 @@ parse_menu_item (Lisp_Object item, int inmenubar)
{
tem = XCAR (item);
if (SYMBOLP (tem) || STRINGP (tem) || VECTORP (tem))
/* Be GC protected. Set keyhint to item instead of tem. */
/* Be GC protected. Set keyhint to item instead of tem. */
keyhint = item;
}
else if (EQ (tem, QCkeys))
......@@ -7844,7 +7844,7 @@ parse_menu_item (Lisp_Object item, int inmenubar)
if (inmenubar > 0)
return 1;
{ /* This is a command. See if there is an equivalent key binding. */
{ /* This is a command. See if there is an equivalent key binding. */
Lisp_Object keyeq = AREF (item_properties, ITEM_PROPERTY_KEYEQ);
/* The previous code preferred :key-sequence to :keys, so we
......@@ -8400,7 +8400,7 @@ append_tool_bar_item (void)
These are done in different ways, depending on how the input will be read.
Menus using X are done after auto-saving in read-char, getting the input
event from Fx_popup_menu; menus using the minibuf use read_char recursively
and do auto-saving in the inner call of read_char. */
and do auto-saving in the inner call of read_char. */
static Lisp_Object
read_char_x_menu_prompt (ptrdiff_t nmaps, Lisp_Object *maps,
......@@ -8620,14 +8620,14 @@ read_char_minibuf_menu_prompt (int commandflag,
tem
= XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ];
if (!NILP (tem))
/* Insert equivalent keybinding. */
/* Insert equivalent keybinding. */
s = concat2 (s, tem);
#endif
tem
= XVECTOR (item_properties)->contents[ITEM_PROPERTY_TYPE];
if (EQ (tem, QCradio) || EQ (tem, QCtoggle))
{
/* Insert button prefix. */
/* Insert button prefix. */
Lisp_Object selected
= XVECTOR (item_properties)->contents[ITEM_PROPERTY_SELECTED];
if (EQ (tem, QCradio))
......@@ -8861,7 +8861,7 @@ keyremap_step (Lisp_Object *keybuf, int bufsize, volatile keyremap *fkey,
/* If keybuf[fkey->start..fkey->end] is bound in the
map and we're in a position to do the key remapping, replace it with
the binding and restart with fkey->start at the end. */
the binding and restart with fkey->start at the end. */
if ((VECTORP (next) || STRINGP (next)) && doit)
{
int len = XFASTINT (Flength (next));
......@@ -9025,7 +9025,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
/* Non-zero if we are trying to map a key by changing an upper-case
letter to lower case, or a shifted function key to an unshifted
one. */
one. */
int shift_translated = 0;
/* If we receive a `switch-frame' or `select-window' event in the middle of
......@@ -9033,7 +9033,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
While we're reading, we keep the event here. */
Lisp_Object delayed_switch_frame;
/* See the comment below... */
/* See the comment below... */
#if defined (GOBBLE_FIRST_EVENT)
Lisp_Object first_event;
#endif
......@@ -9308,7 +9308,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
if (!found)
{
/* Don't touch interrupted_kboard when it's been
deleted. */
deleted. */
delayed_switch_frame = Qnil;
goto replay_entire_sequence;
}
......@@ -9416,7 +9416,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
{
/* If we're at the beginning of a key sequence, and the caller
says it's okay, go ahead and return this event. If we're
in the midst of a key sequence, delay it until the end. */
in the midst of a key sequence, delay it until the end. */
if (t > 0 || !can_return_switch_frame)
{
delayed_switch_frame = key;
......@@ -9713,7 +9713,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
Down-clicks are eliminated.
Double-downs reduce to downs, then are eliminated.
Triple-downs reduce to double-downs, then to downs,
then are eliminated. */
then are eliminated. */
if (modifiers & (down_modifier | drag_modifier
| double_modifier | triple_modifier))
{
......@@ -10822,7 +10822,7 @@ set_waiting_for_input (struct timeval *time_to_clear)
waiting_for_input = 1;
/* If handle_interrupt was called before and buffered a C-g,
make it run again now, to avoid timing error. */
make it run again now, to avoid timing error. */
if (!NILP (Vquit_flag))
quit_throw_to_read_char ();
}
......@@ -10843,7 +10843,7 @@ clear_waiting_for_input (void)
static void
interrupt_signal (int signalnum) /* If we don't have an argument, some */
/* compilers complain in signal calls. */
/* compilers complain in signal calls. */
{
/* Must preserve main program's value of errno. */
int old_errno = errno;
......@@ -10851,12 +10851,12 @@ interrupt_signal (int signalnum) /* If we don't have an argument, some */
SIGNAL_THREAD_CHECK (signalnum);
/* See if we have an active terminal on our controlling tty. */
/* See if we have an active terminal on our controlling tty. */
terminal = get_named_tty ("/dev/tty");
if (!terminal)
{
/* If there are no frames there, let's pretend that we are a
well-behaving UN*X program and quit. */
well-behaving UN*X program and quit. */
Fkill_emacs (Qnil);
}
else
......@@ -10884,7 +10884,7 @@ interrupt_signal (int signalnum) /* If we don't have an argument, some */
Otherwise it sets the Lisp variable quit-flag not-nil. This causes