1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 18:40:39 -08:00
Commit graph

107621 commits

Author SHA1 Message Date
Paul Eggert
c18e885bdd Use a more backwards-compatible timer format.
* etc/NEWS: Document it.
* lisp/emacs-lisp/timer.el (timer): PSECS is now at the end, rather than
being right after USECS, as that better supports old code that
inadvisedly looked directly at the timer vector.
* src/keyboard.c (decode_timer): Get PSECS from the 8th (origin-0)
vector element, not from the 4th, since PSECS is now at the end.
(Fcurrent_idle_time): Doc fix.

Fixes: debbugs:12430
2012-09-13 09:23:06 -07:00
Kenichi Handa
d607d30302 language/chinese.el ("Chinese-GB", "Chinese-BIG5", "Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to coding-priority property of these language environment. 2012-09-14 00:21:58 +09:00
Jan Djärv
4d0b77fc57 * configure.ac: Report Gtk+ 3 as GTK. 2012-09-13 14:02:00 +02:00
Juanma Barranquero
fc0c31f839 Fix typos in ChangeLogs. 2012-09-13 13:42:18 +02:00
Katsumi Yamaoka
5e2b4ce123 gnus-art.el (gnus-article-stop-animations): Use gnus-timer--function that is an alias to timer--function 2012-09-13 11:14:30 +00:00
Glenn Morris
4fa924951b Auto-commit of generated files. 2012-09-13 06:17:31 -04:00
Paul Eggert
5087f097cd * texinfo.tex: Merge from gnulib. 2012-09-13 00:28:15 -07:00
Jan Djärv
2c484e7585 * configure.ac: Reorder Xaw3d messages. 2012-09-13 08:27:21 +02:00
Jan Djärv
1352271a4d * etc/NEWS (--with-x-toolkit): Mention Gtk+ 3 is now default. 2012-09-13 08:13:26 +02:00
Paul Eggert
72eac303ea Fix glitches caused by addition of psec to timers.
* etc/NEWS: Document timer format change.
* lisp/image.el (image-animate-timer):
* lisp/time.el (display-time-world-timer):
Use timer--function and timer--args rather than raw access to
timer vector.
* lisp/gnus/gnus-art.el (gnus-article-stop-animations):
Use timer--function rather than raw access to timer vector.

Fixes: debbugs:12430
2012-09-12 23:09:45 -07:00
Dmitry Antipov
d59a1afb9a Function to mark objects and remove killed buffers at once.
* alloc.c (discard_killed_buffers): Rename to ...
(mark_discard_killed buffers) ... new name.  Add marking
of remaining objects.  Fix comment.  Adjust users.
(mark_object): Do not touch frame buffer lists here.
* frame.c (delete_frame): Reset frame buffer lists here.
2012-09-13 09:18:26 +04:00
Paul Eggert
8ea47e3a50 Better workaround for GNOME bug when --enable-gcc-warnings.
* emacsgtkfixed.c (G_STATIC_ASSERT): Remove, undoing last change.
Instead, disable -Wunused-local-typedefs.  See Dmitry Antipov in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00335.html>.
2012-09-12 21:14:33 -07:00
Glenn Morris
2168fe4f2a byte-compile-warning-prefix tweak
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-prefix): If not
compiling a file, try using load-file-name.
2012-09-12 22:41:46 -04:00
Stefan Monnier
c0c54fbddf * lisp/emacs-lisp/edebug.el (edebug-outside-unread-command-events):
Fix last change.
(edebug-update-eval-list): Use `push'.
2012-09-12 22:29:05 -04:00
Paul Eggert
4a4bbad214 Simplify SIGIO usage.
The code that dealt with SIGIO was crufty and confusing, e.g., it
played tricks like "#undef SIGIO" but these tricks were not used
consistently.  Simplify mostly by not #undeffing standard symbols,
e.g., use "defined USABLE_SIGIO" (our symbol, which we can define
or not as we please) rather than "defined SIGIO" (standard symbol
that we probably shouldn't #undef).
* configure.ac (NO_TERMIO, BROKEN_FIONREAD, BROKEN_SIGAIO)
(BROKEN_SIGPOLL, BROKEN_SIGPTY): Remove.
(USABLE_FIONREAD, USABLE_SIGIO): New symbols.  All uses of
'defined SIGIO' replaced with 'defined USABLE_SIGIO', with no need
to #undef SIGIO now (which was error-prone).  Likewise, all uses
of 'defined FIONREAD' replaced with 'defined USABLE_FIONREAD'.
* src/admin/CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL)
(BROKEN_SIGPTY, NO_TERMIO): Remove.
* src/conf_post.h [USG5_4]: Do not include <sys/wait.h> here.
Modules that need it can include it.
[USG5_4 && emacs]: Likewise, do not include the streams stuff here.
* src/dispextern.h (ignore_sigio): New decl.
* src/emacs.c (shut_down_emacs): Invoke unrequest_sigio
unconditionally, since it's now a no-op if !USABLE_SIGIO.
* src/emacs.c (shut_down_emacs):
* src/keyboard.c (kbd_buffer_store_event_hold):
Use ignore_sigio rather than invoking 'signal' directly.
* src/keyboard.c (USABLE_FIONREAD && USG5_4): Include <sys/filio.h>,
for FIONREAD.
(FIONREAD, SIGIO): Do not #undef.
(tty_read_avail_input): Use #error rather than a syntax error.
* src/process.c [USG5_4]: Include <sys/stream.h> and <sys/stropts.h>,
for I_PIPE, used by SETUP_SLAVE_PTY.
(DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD.
* src/sysdep.c (croak): Remove; no longer needed.  This bit of
temporary code, with Fred N. Fish's comment that it's temporary,
has been in Emacs since at least 1992!
(init_sigio, reset_sigio, request_sigio, unrequest_sigio):
Arrange for them to be no-ops in all cases when ! USABLE_SIGIO.
* src/syssignal.h (croak): Remove decl.
(SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile.
* src/systty.h [!NO_TERMIO]: Do not include <termio.h>; no longer needed
now that we're termios-only.
(FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef.
* src/term.c (dissociate_if_controlling_tty): Use #error rather than
a run-time error.

Fixes: debbugs:12408
2012-09-12 19:21:28 -07:00
Stefan Monnier
bd8d610845 * lisp/emacs-lisp/edebug.el: Use lexical-binding.
Remove the "edebug-" prefix from non-dynamically-scoped variables.
Mark unused args with underscore.
(edebug-save-restriction, edebug-outside-excursion): Use `declare'.
(edebug-form-data): Use defvar-local.
(edebug-make-before-and-after-form, edebug-make-after-form):
Use backquote.
(edebug-args, edebug-value, edebug-after-index, edebug-arg-mode):
Not dynamically scoped any more.
(edebug--enter-trace): Add arguments `function' and `args'.
Rename from edebug-enter-trace.
(edebug-enter): Call it accordingly.  Bind edebug-function explicitly.
(edebug--update-coverage): Add `after-index' and `value' args.
Rename from edebug-update-coverage.
(edebug-slow-after): Call it accordingly.
(edebug--recursive-edit): Add arg `arg-mode'.  Rename from
edebug-recursive-edit.
(edebug--display): Call it accordingly.  Add args `value',
`offset-index', and `arg-mode'.  Rename from edebug-display.
(edebug-debugger, edebug): Call it accordingly.
(edebug-eval-display-list): Use dolist.
2012-09-12 22:00:41 -04:00
Paul Eggert
5f0cb45a6f Work around GCC and GNOME bugs when --enable-gcc-warnings.
* emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify',
to work around GNOME bug 683906.
* image.c (jpeg_load_body) [HAVE_JPEG && lint]: Pacify gcc -Wclobber.
(struct my_jpeg_error_mgr) [HAVE_JPEG && lint]: New member fp.
This works around GCC bug 54561.
2012-09-12 18:22:08 -07:00
Paul Eggert
40bce90baa More fixes for 'volatile' and setjmp/longjmp.
* eval.c (Fdefvar, Fcondition_case): Remove unnecessary 'volatile's.
* image.c (struct png_load_context) [HAVE_PNG]: New type.
(png_load_body) [HAVE_PNG]:
(jpeg_load_body) [HAVE_JPEG]:
New function, with most of the old parent function's body.
(png_load) [HAVE_PNG]:
(jpeg_load) [HAVE_JPEG]:
Invoke the new function, to avoid longjmp munging our locals.
(struct my_jpeg_error_mgr) [HAVE_JPEG]: New members cinfo, failure_code.
(my_error_exit) [HAVE_JPEG]: Don't trust 'setjmp' to return 2 when
longjmp is passed 2, as the C standard doesn't guarantee this.
Instead, store the failure code into mgr->failure_code.
2012-09-12 14:34:24 -07:00
Juri Linkov
a9f9d9de77 Use Isearch lax whitespace mode in Info.
http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00811.html

* lisp/info.el (Info-search): Don't check for isearch-mode and
isearch-regexp before let-binding search-spaces-regexp to
Info-search-whitespace-regexp.
(Info-isearch-search): Let-bind Info-search-whitespace-regexp to
search-whitespace-regexp if isearch-lax-whitespace or
isearch-regexp-lax-whitespace is non-nil.
(Info-mode): Don't set local variable search-whitespace-regexp.
2012-09-12 23:51:46 +03:00
Jan Djärv
d673aedc2f * configure.ac: No --with-x-toolkit given: Try gtk3 toolkit first
and then gtk2 if not found.
--with-x-toolkit=gtk|yes: As above, but fail if gtk2 or gt3 not found.
--with-x-toolkit=gtk2: Only try gtk2, fail if not found.
--with-x-toolkit=gtk3: Only try gtk3, fail if not found.
2012-09-12 22:21:39 +02:00
Stefan Monnier
bfeae2cf09 Remove unread-command-char.
* src/keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p)
(Fdiscard_input, quit_throw_to_read_char, init_keyboard)
(syms_of_keyboard): Remove support for unread-command-char.
* lisp/emacs-lisp/debug.el (debugger-outer-unread-command-char, debug)
(debugger-env-macro): Remove support for unread-command-char.

* lisp/ehelp.el (with-electric-help): Accept functions in
electric-help-form-to-execute.
(electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it.
And replace unread-command-char -> unread-command-events.

* lisp/subr.el (set-temporary-overlay-map): Minimize slightly the impact of
the temporary map re-appearing on emulation-mode-map-alists.

* lisp/emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken
since 22.1.
2012-09-12 15:16:36 -04:00
Eli Zaretskii
8099e36b7e Fix silent exit upon assertion violation on MS-Windows.
src/w32proc.c (sys_kill): If PID is our process ID and the signal is
 SIGABRT, call emacs_abort.  Avoids silently exiting upon assertion
 violation.  (Bug#12426)
2012-09-12 22:14:02 +03:00
Michael Albinus
20121a26f0 Sync with Tramp 2.2.6.
* tramp.texi (Bug Reports): Cleanup caches before a test run.

* trampver.texi: Update release number.
2012-09-12 18:39:10 +02:00
Michael Albinus
fbbcaf1b24 Sync with Tramp 2.2.6.
* net/tramp.el (tramp-accept-process-output): Don't use
JUST-THIS-ONE in the XEmacs case.

* net/trampver.el: Update release number.
2012-09-12 18:36:25 +02:00
Glenn Morris
e210dac49f How to restore a mail from the mailman moderation message 2012-09-12 09:00:11 -07:00
Martin Rudalics
4dece104ac Try to keep height of debugger window consistent. (Bug#8789)
* emacs-lisp/debug.el (debugger-previous-window-height): New
variable.
(debug): When debugger-jumping-flag is non-nil try to restore
height of debugger window.  (Bug#8789)
2012-09-12 17:49:17 +02:00
Paul Eggert
92547ff9d9 * image.c (jpeg_memory_src): Don't assume string len fits in unsigned. 2012-09-12 07:10:42 -07:00
Paul Eggert
44677e3072 * texinfo.tex: Merge from gnulib. 2012-09-12 07:03:15 -07:00
Stefan Monnier
60c49c0fe9 * lisp/emacs-lisp/edebug.el (edebug-enter): Don't mess with
overriding-local-map and pre/post-command-hook here.
(edebug-recursive-edit): Do it here instead.
(edebug-outside-unread-command-char): Remove all uses of
unread-command-char.

Fixes: debbugs:12345
2012-09-12 09:12:48 -04:00
Stefan Monnier
45b82ad0eb * src/eval.c: Add `inhibit-debugger'.
(Qinhibit_debugger): New symbol.
(call_debugger): Bind it instead of Qdebug_on_error.
(maybe_call_debugger): Test Vinhibit_debugger.
(syms_of_eval): Define inhibit-debugger.
* src/xdisp.c (set_message): Don't bind Qinhibit_debug_on_message.
(syms_of_xdisp): Remove inhibit-debug-on-message.
* lisp/emacs-lisp/debug.el (debug): Don't bind debug-on-error since
inhibit-debugger is bound instead.
2012-09-11 20:14:50 -04:00
Paul Eggert
50f2e553ce Avoid _setjmp/_longjmp problems with local nonvolatile variables.
If a nonvolatile local variable is written before a _longjmp to
the frame containing the variable, and is read after the _longjmp,
the value read is indeterminate.  Some local variables of type
'struct handler' and 'struct catchtag' are used in this way, so
mark each of their slots as volatile if the slot can be set before
_longjmp and read afterwards.
* lisp.h (struct handler): var and chosen_clause are now volatile.
(struct catchtag): val, next, and pdlcount are now volatile.
2012-09-11 16:50:28 -07:00
Paul Eggert
ae1d87e24e Prefer assignment to memcpy when either will do.
* lib-src/pop.c (socket_connection) [HAVE_GETADDRINFO]:
* src/bidi.c (bidi_push_it, bidi_pop_it):
* src/fns.c (copy_hash_table):
* src/image.c (define_image_type):
* src/keyboard.c (kbd_buffer_store_event_hold):
* src/process.c (Fprocess_send_eof):
* src/xfaces.c (x_create_gc) [HAVE_NS]:
* src/xgselect.c (xg_select):
Use assignment, not memcpy, as either will do here, and assignment is
more likely to catch type errors.
2012-09-11 15:59:50 -07:00
Paul Eggert
5779a1dc62 * alloc.c (discard_killed_buffers): Tune and simplify a bit.
Use pointer-to-a-pointer to simplify and avoid a NILP check each
time an item is removed.  No need to mark this function 'inline';
the compiler knows better than we do.
2012-09-11 13:35:23 -07:00
Bastien Guerry
9011078f9d Fix 2012-09-11T14:06:33Z!bastien1@free.fr. 2012-09-11 19:43:21 +02:00
Jan Djärv
c4c9756b17 * nsterm.h: Add delay parameter to updateFrameSize.
* nsterm.m (ns_judge_scroll_bars): Pass NO to updateFrameSize.
(updateFrameSize:): Add delay parameter to updateFrameSize, send it
to change_frame_size.
(windowDidResize:): Pass YES to updateFrameSize.

Fixes: debbugs:12388
2012-09-11 19:08:02 +02:00
Bastien Guerry
baa26ea033 * subr.el (set-temporary-overlay-map): Add a docstring. (bug#12346)
Bug #12346 is not closed as this commit does not document
`set-temporary-overlay-map' in the manual.
2012-09-11 18:45:31 +02:00
Dmitry Antipov
d73e321cc2 Discard killed buffers from deleted window and frame objects.
This reduces an amount of references to killed buffers and
helps GC to reclaim them faster.
* alloc.c (discard_killed_buffers): New function.
(mark_object): Use it for deleted windows and frames.
(mark_object): If symbol's value is set up for a killed buffer
or deleted frame, restore it's global binding.
* data.c (swap_in_global_binding): Add GC notice.
(swap_in_symval_forwarding): Use convenient set_blv_where.
* window.c (wset_next_buffers, wset_prev_buffers): Move ...
* window.h: ... to here.
2012-09-11 19:42:50 +04:00
Bastien Guerry
96d0357142 * minibuffer.el (completion-table-subvert): Fix docstring. (bug#12347) 2012-09-11 16:06:33 +02:00
Bastien Guerry
04e8abfa69 * help-fns.el (describe-variable): Fix typo. (bug#12346) 2012-09-11 15:43:06 +02:00
Glenn Morris
2c98a6250e Auto-commit of generated files. 2012-09-11 06:17:36 -04:00
Julien Danjou
95729d50c0 gnus-notifications.el: add nil checks 2012-09-11 10:08:59 +00:00
Glenn Morris
9d9edd4bae Be more explicit about some Makefile dependencies
* Makefile.in (install-arch-dep, install-arch-indep, install-doc):
Be more explicit about dependencies, for parallel `make install'.

It is not so unreasonable to run `make -j# install' from a clean state
for a self-contained NS build, where the "installation" happens within
the build tree.
2012-09-11 00:45:38 -07:00
Dmitry Antipov
e578f3813f Convenient macro to check whether the buffer is live.
* buffer.h (BUFFER_LIVE_P): New macro.
* alloc.c, buffer.c, editfns.c, insdel.c, lread.c, marker.c:
* minibuf.c, print.c, process.c, window.c, xdisp.c: Use it.
2012-09-11 08:22:03 +04:00
YAMAMOTO Mitsuharu
3057e615af Fix wrong overhang display for gstring compositions (Bug#12364).
* xdisp.c (right_overwritten, right_overwriting): Also handle gstring
composition cases (Bug#12364).

* xterm.c (x_draw_glyph_string): Avoid overwriting inverted left
overhang of succeeding glyphs overlapping box cursor.

* w32term.c (x_draw_glyph_string): Likewise.
2012-09-11 12:32:41 +09:00
Paul Eggert
c990426a98 Simplify, document, and port floating-point.
The porting part of this patch fixes bugs on non-IEEE platforms
with frexp, ldexp, logb.
* admin/CPP-DEFINES (HAVE_CBRT, HAVE_LOGB, logb): Remove.
* configure.ac (logb, cbrt): Do not check for these functions,
as they are not being used.
* doc/lispref/numbers.texi (Float Basics, Arithmetic Operations, Math Functions):
Document that / and mod (with floating point arguments), along
with asin, acos, log, log10, expt and sqrt, return special values
instead of signaling exceptions.
(Float Basics): Document that logb operates on the absolute value
of its argument.
(Math Functions): Document that (log ARG BASE) also returns NaN if
BASE is negative.  Document that (expt X Y) returns NaN if X is a
finite negative number and Y a finite non-integer.
* etc/NEWS: Document NaNs versus signaling-error change.
* src/data.c, src/lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
Now static.
* src/floatfns.c: Simplify discussion of functions that Emacs doesn't
support, by removing commented-out code and briefly listing the
C89 functions excluded.  The commented-out stuff was confusing
maintenance, e.g., we thought we needed cbrt but it was commented out.
(logb): Remove decl; no longer needed.
(isfinite): New macro, if not already supplied.
(isnan): Don't replace any existing macro.
(Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
are present on all C89 platforms.
(Ffrexp): Do not special-case zero, as frexp does the right thing
for that case.
(Flogb): Do not use logb, as it doesn't have the desired meaning
on hosts that use non-base-2 floating point.  Instead, stick with
frexp, which is C89 anyway.  Do not pass an infinity or a NaN to
frexp, to avoid getting an unspecified result.
2012-09-10 19:28:27 -07:00
Paul Eggert
6fda35f2b3 * xdisp.c (Qinhibit_debug_on_message): Now static. 2012-09-10 18:20:56 -07:00
Jan Djärv
16130a5868 * nsterm.m (ns_update_begin): Set clip path to whole view by using
NSBezierPath.

Fixes: debbugs:12131
2012-09-10 23:01:45 +02:00
Michael Mauger
04e082b0dd * progmodes/sql.el: Version 3.1
(sql-db2-escape-newlines): New variable.
(sql-escape-newlines-filter): Use it.
2012-09-10 15:22:53 -04:00
Juanma Barranquero
399a361b88 lisp/custom.el (custom-theme-load-confirm): Remove unneeded assignment. 2012-09-10 17:52:15 +02:00
Dan Nicolaescu
0780c51704 * vc/diff-mode.el (diff-mode-menu): diff-remove-trailing-whitespace. 2012-09-10 10:40:13 -04:00