1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00
Commit graph

108525 commits

Author SHA1 Message Date
Stefan Monnier
d14bb752ea * lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro. 2012-11-08 08:34:06 -05:00
Dmitry Antipov
c66f21eaf1 * keyboard.c (event_to_kboard): Do not dereference
frame_or_window field of SELECTION_REQUEST_EVENT
and SELECTION_CLEAR_EVENT events (Bug#12814).
* xterm.h (struct selection_input_event): Adjust comment.
2012-11-08 13:26:40 +04:00
Michael Albinus
a43d02f01b * os.texi (Notifications): Update descriptions of
notifications-notify, notifications-close-notification and
notifications-get-capabilities according to latest code changes.
Add notifications-get-server-information.
2012-11-08 08:50:43 +01:00
Eli Zaretskii
6b064c16b1 Fix Num Lock handling related to bug #12806.
src/w32fns.c (modifier_set): Don't include Num Lock in the reported
 modifiers.
2012-11-07 23:48:18 +02:00
Eli Zaretskii
dab72075f5 A (hopefully) better fix for bug #1280.
src/w32fns.c (modifier_set): Don't report modifiers from toggle key,
 such as Scroll Lock, if the respective keys are treated as
 function keys, not as modifiers.  This avoids destroying non-ASCII
 keyboard input when Scroll Lock is toggled ON.
2012-11-07 23:12:25 +02:00
Eli Zaretskii
b666f18d4d Include Num Lock in test for modifier keys on MS-Windows.
src/w32fns.c (modifier_set): Do not omit checking the Num Lock key.
2012-11-07 19:33:14 +02:00
Michael Albinus
499a0f7a98 * notifications.el (notifications-get-server-information-method):
New defconst.
(notifications-get-capabilities): Fix docstring.
(notifications-get-server-information): New defun.
2012-11-07 17:55:39 +01:00
Eli Zaretskii
eb147960b1 Fix bug #1280 with non-ASCII keyboard input on MS-Windows.
src/w32fns.c (w32_wnd_proc): Don't directly handle key chords
 including modifiers from toggle key, such as Scroll Lock, if the
 respective keys are treated as function keys, not as modifiers.
 This avoids destroying non-ASCII keyboard input when Scroll Lock
 is toggled ON.
2012-11-07 18:44:48 +02:00
Dmitry Antipov
5890e40006 * xfns.c (Fx_wm_set_size_hint): Use check_x_frame. Adjust docstring. 2012-11-07 09:23:20 +04:00
Paul Eggert
b6b3b29458 Restore some duplicate definitions.
This undoes part of the 2012-11-03 changes.  Some people build
with plain -g rather than with -g3, and they need the duplicate
definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>.
* lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK):
Define as macros, as well as as enums or as constants.
2012-11-06 12:48:35 -08:00
Jan Djärv
e770aad5f0 * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask
to keypad keys.

Fixes: debbugs:12816
2012-11-06 19:31:19 +01:00
Paul Eggert
68f8f1c0c6 Minor adjustments of recently-changed frame functions.
* buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already
known to be a frame (we're in the FRAMEP branch).
* lisp.h (Qframep): Remove decl.  frame.h declares this.
* window.c (quad): Args are of type EMACS_INT, not ptrdiff_t,
since they're meant for Lisp fixnum values.
2012-11-06 09:40:07 -08:00
Agustín Martín
056cb3a1fc ispell.el (ispell-region): Do not prefix sent string by comment in autoconf mode
This commit changes some of the `in-comment' ocurrences to more specific
 `add-comment', set only if comment prefix is to be added.
    
 When in comment, old code prefixed string by comment string to let ispell
 know this is part of a comment string.
    
 This is only supported in some modes. In particular, this is not supported in
 autoconf mode where adding the comment string messes everything up because
 ispell tries to spellcheck the `dnl' string header causing misalignments in
 some cases (debbugs.gnu.org: #12768).
2012-11-06 17:33:56 +01:00
Agustín Martín
b159a1fd9b textmodes/ispell.el: Experimental support for support debugging.
* (ispell-create-debug-buffer): Create a `ispell-debug-buffer' debug
   buffer for ispell.
 * (ispell-print-if-debug): New function to print stuff to 
   `ispell-debug-buffer' if debugging is enabled.
 * (ispell-region, ispell-process-line): Use `ispell-print-if-debug' to
   show some debugging info.
 * (ispell-buffer-with-debug): New function that creates a debugging
   buffer and calls `ispell-buffer' with debugging enabled.  This is also 
   en example of a possible way to use this system.
2012-11-06 17:22:09 +01:00
Agustín Martín
f0704a9a28 ispell.el (ispell-region): Standard re-indent for better readability. 2012-11-06 17:04:42 +01:00
Dmitry Antipov
72f94d4be8 * window.c (Fwindow_combination_limit): Revert to the only
required argument and adjust docstring as suggested in
http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html
by Martin Rudalics <rudalics@gmx.at>.
2012-11-06 19:57:14 +04:00
Juanma Barranquero
3966138251 lib/makefile.w32-in, src/makefile.w32-in: Trivial reordering of entries. 2012-11-06 16:29:49 +01:00
Dmitry Antipov
d9f07150fc Widely used frame validity and checking functions.
* frame.h (decode_live_frame, decode_any_frame): Add prototypes.
* frame.c (decode_live_frame, decode_any_frame): New functions.
(delete_frame, Fredirect_frame_focus, Fframe_parameters)
(Fframe_parameter, Fframe_char_height, Fframe_char_width)
(Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width)
(Fframe_pointer_visible_p): Use decode_any_frame.
(Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame)
(Fraise_frame, Flower_frame, Fmodify_frame_parameters)
(Fset_frame_height, Fset_frame_width): Use decode_live_frame.
(Fframe_focus): Likewise.  Allow zero number of arguments.
Adjust docstring.
(frame_buffer_list, frame_buffer_predicate): Remove.
* lisp.h (frame_buffer_predicate): Remove prototype.
* buffer.c (Fother_buffer): Use decode_any_frame.
* xdisp.c (Ftool_bar_lines_needed): Likewise.
* xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise.
* font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font)
(Fclose_font, Ffont_info): Use decode_live_frame.
* fontset.c (check_fontset_name): Likewise.
* terminal.c (Fframe_terminal): Likewise.
* w32fns.c (check_x_frame): Likewise.
* window.c (Fminibuffer_window, Fwindow_at)
(Fcurrent_window_configuration): Likewise.
(Frun_window_configuration_change_hook, Fwindow_resize_apply):
Likewise.  Allow zero number of arguments.  Adjust docstring.
* dispnew.c (Fredraw_frame): Likewise.
* xfaces.c (frame_or_selected_frame): Remove.
(Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font)
(Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p)
(Fframe_face_alist): Use decode_live_frame.
* xfns.c (check_x_frame): Likewise.
2012-11-06 17:26:20 +04:00
Dmitry Antipov
8e6a67b7fa * emacs-lisp/byte-opt.el (toplevel): Add compare-window-configurations,
frame-first-window, frame-root-window, frame-selected-window,
minibuffer-selected-window, minibuffer-window,
window-absolute-pixel-edges, window-at, window-body-height,
window-body-width, window-display-table, window-combination-limit,
window-frame, window-fringes, window-inside-absolute-pixel-edges,
window-inside-edges, window-inside-pixel-edges, window-left-child,
window-left-column, window-margins, window-next-buffers,
window-next-sibling, window-new-normal, window-new-total,
window-normal-size, window-parameter, window-parameters, window-parent,
window-pixel-edges, window-point, window-prev-buffers,
window-prev-sibling, window-redisplay-end-trigger, window-scroll-bars,
window-start, window-text-height, window-top-child, window-top-line,
window-total-height, window-total-width and window-use-time to the list
of functions without side-effects.
(toplevel): Add window-valid-p to the list of error-free functions
without side-effects.
2012-11-06 11:37:06 +04:00
Dmitry Antipov
89bc059271 * window.c (quad): New function.
(Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges)
(Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges)
(Fwindow_inside_pixel_edges, Fpos_visible_in_window_p)
(Fwindow_line_height): Use it.
(Fwindow_fringes): Use list3.
(Fwindow_scroll_bars): Use list4.
(Fwindow_frame, Fwindow_top_child, Fwindow_left_child)
(Fwindow_combination_limit): Allow zero number of arguments.
2012-11-06 10:27:20 +04:00
Juanma Barranquero
8e2417bfc0 Fix typos. 2012-11-05 18:29:30 +01:00
Eli Zaretskii
ae600a8e8b Fix last entry in src/ChangeLog. 2012-11-05 19:25:50 +02:00
Agustín Martín
53fc914f80 ispell.el (ispell-program-name): Update spellchecker parameters when customized. 2012-11-05 17:32:35 +01:00
Eli Zaretskii
c8e3a9c3db Fix bug #12805 with compilation error in the cygw32 build.
src/makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h.
 src/w32fns.c Include unistd.h, to avoid compiler warnings on Cygwin.
 (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use
 file descriptor 2 for standard error.
2012-11-05 18:30:45 +02:00
Eli Zaretskii
4f3f021d65 Avoid compiler warnings in the MS-Windows build.
nt/inc/unistd.h (tcgetpgrp, setsid): Provide prototypes.
2012-11-05 18:21:18 +02:00
Juanma Barranquero
efeccf10f0 nt/config.nt: Sync with autogen/config.in.
(DISPNEW_NEEDS_STDIO_EXT, GETPGRP_VOID, HAVE_SETPGID, HAVE_SETSID)
(PENDING_OUTPUT_COUNT, SETPGRP_RELEASES_CTTY): Remove.
2012-11-05 15:30:32 +01:00
Glenn Morris
eda33f7834 Auto-commit of generated files. 2012-11-05 06:17:32 -05:00
Chong Yidong
209c6a58b9 * process.c (wait_reading_process_output): Revert previous change. 2012-11-05 12:00:58 +08:00
Paul Eggert
dd0333b615 Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid.
This removes code that has been obsolete since around 1990.
* admin/CPP-DEFINES (HAVE_SETPGID, HAVE_SETSID, SETPGRP_RELEASES_CTTY):
Remove; obsolete.
* configure.ac (setpgid, setsid): Assume their existence.
(AC_FUNC_GETPGRP, SETPGRP_RELEASES_CTTY): Remove; obsolete.
* src/callproc.c (Fcall_process):
* src/emacs.c (main):
* src/process.c (create_process):
* src/term.c (dissociate_if_controlling_tty):
Assume setsid exists.
* src/callproc.c (child_setup): Assume setpgid exists and behaves as
per POSIX.1-1988 or later.
* src/conf_post.h (setpgid) [!HAVE_SETPGID]: Remove.
* src/emacs.c (shut_down_emacs):
* src/sysdep.c (sys_suspend, init_foreground_group):
Assume getpgrp behaves as per POSIX.1-1998 or later.
* src/msdos.c (setpgrp): Remove.
(tcgetpgrp, setpgid, setsid): New functions.
* src/systty.h (EMACS_GETPGRP): Remove.  All callers now use getpgrp.
* src/term.c (no_controlling_tty): Remove; unused.
* src/w32proc.c (setpgrp): Remove.
(setsid, tcgetpgrp): New functions.

Fixes: debbugs:12800
2012-11-04 19:18:32 -08:00
Paul Eggert
8148369cfb Simplify by assuming __fpending.
Now that Emacs is using the gnulib fpending module,
there's no need for Emacs to have a separate implementation.
* configure.ac (stdio_ext.h, __fpending): Remove now-duplicate checks.
(PENDING_OUTPUT_COUNT, DISPNEW_NEEDS_STDIO_EXT): Remove.
* admin/CPP-DEFINES (PENDING_OUTPUT_COUNT): Remove.
* src/dispnew.c: Include <fpending.h>, not <stdio_ext.h>.
(update_frame_1): Use __fpending, not PENDING_OUTPUT_COUNT.
Do not assume that __fpending's result fits in int.
2012-11-04 17:59:00 -08:00
Paul Eggert
06b63c9b0c Remove EMACS_OUTQSIZE+sleep hack.
* dispnew.c (update_frame_1): Remove hack for terminals slower
than 2400 bps, which throttled Emacs by having it sleep.  This
code hasn't worked since at least 2007, when the multi-tty stuff
was added, and anyway those old terminals are long dead.
* systty.h (EMACS_OUTQSIZE): Remove; unused.  The macro isn't used even
without the dispnew.c change, as dispnew.c doesn't include systty.h.
2012-11-04 14:33:00 -08:00
Paul Eggert
76abf5e5a5 Fix data-loss with --version.
* emacs.c (close_output_streams): Use strerror, not emacs_strerror,
as we can't assume that emacs_strerror is initialized, and strerror
is good enough here.
(main): Invoke atexit earlier, to catch earlier instances of
sending data to stdout and exiting, e.g., "emacs --version >/dev/full".

Fixes: debbugs:9574
2012-11-04 09:29:52 -08:00
Juanma Barranquero
f200a427ff nt/config.nt: Sync with autogen/config.in.
(GNULIB_CLOSE_STREAM, HAVE_DECL___FPENDING): New macros.
2012-11-04 13:44:58 +01:00
Glenn Morris
6163a6801e Auto-commit of loaddefs files. 2012-11-04 06:23:35 -05:00
Glenn Morris
3bf26e9640 Auto-commit of generated files. 2012-11-04 06:19:07 -05:00
Glenn Morris
9749e2b071 * lisp/vc/vc-svn.el (vc-svn-state-heuristic): Avoid calling svn.
Fixes: debbugs:7850
2012-11-03 21:13:13 -07:00
Michael Marchionna
8f31e74bc7 * nsterm.m: Add NSClearLineFunctionKey and keypad keys.
(keyDown): Remap keypad keys to X11 virtual key codes.

Fixes: debbugs:8680
2012-11-04 11:34:10 +08:00
Chong Yidong
2cbafa5672 * bookmark.el (bookmark-bmenu-switch-other-window): Avoid binding same-window-* variables. 2012-11-04 11:25:18 +08:00
Juri Linkov
85178ca136 Don't bind same-window-* in isearch.el commands.
* isearch.el (isearch-help-for-help, isearch-describe-bindings)
(isearch-describe-key, isearch-describe-mode): Use a display
action instead of binding same-window-* variables.

Fixes: debbugs:10040
2012-11-04 11:24:00 +08:00
Eli Zaretskii
3478f4b5c4 Fix order of entries in ChangeLog files. 2012-11-03 22:48:03 +02:00
Eli Zaretskii
3a7089c180 Fix Windows build as fallout from 2012-11-03T18:54:17Z!eggert@cs.ucla.edu.
nt/config.nt (PENDING_OUTPUT_N_BYTES): Define.

 lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/fpending.$(O) and
 $(BLD)/close-stream.$(O).
 ($(BLD)/close-stream.$(O)):
 ($(BLD)/fpending.$(O)): New dependencies.

Fixes: debbugs:9574
2012-11-03 22:43:29 +02:00
Glenn Morris
5ccd466c82 * admin/admin.el (set-copyright): Add msdos/sed2v2.inp. 2012-11-03 12:19:05 -07:00
Glenn Morris
f58542e151 Merge from emacs-24; up to 2012-11-03T05:11:34Z!dmantipov@yandex.ru 2012-11-03 12:14:22 -07:00
Glenn Morris
92246540b0 Further small cl.texi changes
* doc/misc/cl.texi (Creating Symbols, Random Numbers):
De-emphasize internal variables cl--gensym-counter and cl--random-state. 

* etc/NEWS: Related edits.

Fixes: debbugs:12788
2012-11-03 11:55:29 -07:00
Paul Eggert
7ccfb720b4 Fix data-loss with --batch.
* admin/merge-gnulib (GNULIB_MODULES): Add close-stream.
* lib/close-stream.c, lib/close-stream.h, lib/fpending.c
* lib/fpending.h, m4/close-stream.m4, m4/fpending.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/emacs.c: Include <close-stream.h>.
(close_output_streams): New function.
(main): Pass it to atexit, so that Emacs closes stdout and stderr
and handles errors appropriately.
(Fkill_emacs): Don't worry about flushing, as close_output_stream
does that now.

Fixes: debbugs:9574
2012-11-03 11:54:17 -07:00
Glenn Morris
376a8e83bb Rename cl-random-time to cl--random-time
* emacs-lisp/cl-lib.el (cl--random-time): Rename from cl-random-time. 
(cl--gensym-counter, cl--random-state): Update callers.
* emacs-lisp/cl-extra.el (cl-make-random-state): Update callers.

Fixes: debbugs:12773
2012-11-03 11:36:09 -07:00
Paul Eggert
0b3d4a4756 Fix a race condition that causes Emacs to mess up glib.
The symptom is a diagnostic "GLib-WARNING **: In call to
g_spawn_sync(), exit status of a child process was requested but
SIGCHLD action was set to SIG_IGN and ECHILD was received by
waitpid(), so exit status can't be returned."  The diagnostic
is partly wrong, as the SIGCHLD action is not set to SIG_IGN.
The real bug is a race condition between Emacs and glib: Emacs
does a waitpid (-1, ...) and reaps glib's subprocess by mistake,
so that glib can't find it.  Work around the bug by invoking
waitpid only on subprocesses that Emacs itself creates.
* process.c (create_process, record_child_status_change):
Don't use special value -1 in pid field, as the caller now must
know the pid rather than having the callee infer it.  The
inference was sometimes incorrect anyway, due to another race.
(create_process): Set new 'alive' member if child is created.
(process_status_retrieved): New function.
(record_child_status_change): Use it.
Accept negative 1st argument, which means to wait for the
processes that Emacs already knows about.  Move special-case code
for DOS_NT (which lacks WNOHANG) here, from caller.  Keep track of
processes that have already been waited for, by testing and
clearing new 'alive' member.
(CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change
now does this internally.
(handle_child_signal): Let record_child_status_change do all
the work, since we do not want to reap all exited child processes,
only the child processes that Emacs itself created.
* process.h (Lisp_Process): New boolean member 'alive'.

Fixes: debbugs:8855
2012-11-03 11:32:41 -07:00
Glenn Morris
4913840013 Rename cl-loop-handler, cl-loop-for-handler back to their original names
* lisp/emacs-lisp/cl-macs.el (cl-parse-loop-clause):
Rename handler properties back from cl-- to cl-.

Fixes: debbugs:12788
2012-11-03 11:32:09 -07:00
Glenn Morris
3a4d19175a More general edits for cl.texi Appendices 2012-11-03 11:23:38 -07:00
Paul Eggert
0d879dca46 Omit duplicate definitions no longer needed with gcc -g3.
* lisp.h (GCTYPEBITS, GCALIGNMENT, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG)
(VALMASK, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM):
Define only as macros.  There's no longer any need to also define
these symbols as enums or as constants, since we now assume
gcc -g3 when debugging.
2012-11-03 11:19:50 -07:00