* w32fns.c (x_real_positions): Remove setting of x_pixels_diff,
y_pixels_diff.
* xfns.c (x_real_pos_and_offsets): New function, basically the code
from x_real_positions.
(x_real_positions): Call x_real_pos_and_offsets.
(x_relative_mouse_position): Use XTranslateCoordinates instead of
OUTER_TO_INNER_DIFF macros.
(Fx_frame_geometry): Get offsets with x_real_pos_and_offsets,
border from window attributes. Adjust tool bar and menu widths.
* xmenu.c (create_and_show_popup_menu): Use XTranslateCoordinates
instead of OUTER_TO_INNER_DIFF macros.
Oleh Krehel [Fri, 13 Feb 2015 13:59:31 +0000 (14:59 +0100)]
check-declare.el: Use compilation-style warnings
* lisp/emacs-lisp/check-declare.el (check-declare-warn): Add
file-line-column info to the warning.
(check-declare-files): Make sure that `check-declare-warning-buffer'
is in `compilation-mode'. Make the order of the errors that same as in
the file. Add code to ensure that `first-error' will work properly.
Oleh Krehel [Fri, 13 Feb 2015 13:34:17 +0000 (14:34 +0100)]
check-declare.el (check-declare-ext-errors): New defcustom.
* emacs-lisp/check-declare.el (check-declare): New defgroup.
(check-declare-verify): When `check-declare-ext-errors' is non-nil,
warn about an unfound function, instead of saying "skipping external
file".
Katsumi Yamaoka [Wed, 25 Feb 2015 02:39:47 +0000 (02:39 +0000)]
Gnus: Revert my bogus changes (2014-06-05)
* mm-decode.el (mm-shr)
* mm-view.el (mm-inline-text-html-render-with-w3m):
Revert my bogus change that made the start marker of a part
the "moves after insertion" type.
Paul Eggert [Wed, 25 Feb 2015 00:34:13 +0000 (16:34 -0800)]
Backtrace after malloc arena is corrupted
Without this change, if the malloc arena is corrupted and then
'backtrace' is called, the backtrace can crash because 'backtrace'
calls 'malloc'. For more, please see:
https://sourceware.org/ml/libc-alpha/2015-02/msg00678.html
* emacs.c (main): Initialize tables used by 'backtrace'.
* sysdep.c (emacs_backtrace): Document the newly used part of the API.
Samer Masterson [Tue, 24 Feb 2015 19:03:54 +0000 (14:03 -0500)]
* lisp/eshell: Fix history substitution error
Fixes: debbugs:18960
* lisp/eshell/em-hist.el (eshell-hist-parse-word-designator):
Return args joined with " ".
* lisp/eshell/em-pred.el (eshell-parse-modifiers): Correct docstring.
(eshell-hist-parse-modifier): Pass mod a list instead of a string.
Glenn Morris [Tue, 24 Feb 2015 07:13:49 +0000 (23:13 -0800)]
f90.el: add some support for continued strings without leading '&'
* lisp/progmodes/f90.el (f90-beginning-of-subprogram)
(f90-end-of-subprogram, f90-match-end):
Handle continued strings where the continuation does not start
with "&" and happens to match our regexp.
* test/automated/f90.el (f90-test-bug-19809): New test.
Paul Eggert [Mon, 23 Feb 2015 18:09:51 +0000 (10:09 -0800)]
Use ${EXEEXT} more uniformly in makefiles
When porting Emacs to run on NaCl, we need to make sure that we always
call it with the proper extension (.nexe in this case) during the build.
* leim/Makefile.in, lib-src/Makefile.in, lisp/Makefile.in (EMACS):
Append ${EXEEXT}.
(tiny change)
Magnus Henoch [Mon, 23 Feb 2015 09:09:46 +0000 (09:09 +0000)]
Fix SCRAM-SHA-1 SASL mechanism
The symbol used in sasl-mechanism-alist needs to match the name that
can be required. Move sasl-make-mechanism call to end of file, to
ensure that it can refer to the specified step functions.
* net/sasl.el (sasl-mechanism-alist): Refer to sasl-scram-rfc
instead of sasl-scram-sha-1, as the former is the name that can be
required.
* net/sasl-scram-rfc.el (sasl-scram-sha-1-steps)
(sasl-scram-sha-1-client-final-message)
(sasl-scram-sha-1-authenticate-server): Move to end of file.
and :documentation. Change return value format accordingly.
* lisp/emacs-lisp/cl-generic.el (cl--generic-lambda):
* lisp/emacs-lisp/pcase.el (pcase-lambda): Adjust accordingly.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Use macroexp-parse-body.
Paul Eggert [Sun, 22 Feb 2015 04:00:16 +0000 (20:00 -0800)]
Spelling fixes
* lisp/cedet/semantic/doc.el (semantic-documentation-comment-preceding-tag):
Rename from semantic-documentation-comment-preceeding-tag. All
uses changed. Leave an obsolete alias behind.
* src/lisp.h (DEFINE_NON_NIL_Q_SYMBOL_MACROS):
Rename from DEFINE_NONNIL_Q_SYMBOL_MACROS. All uses changed.
Michael Albinus [Sat, 21 Feb 2015 12:11:55 +0000 (13:11 +0100)]
Support file notifications for dired auto-revert
* autorevert.el (auto-revert-notify-add-watch)
(auto-revert-notify-handler, auto-revert-buffers): Handle also
buffers without an associated file, like dired buffers.
* lisp/progmodes/verilog-mode.el (verilog-mode-version): Update.
(vector-skip-list): Remove.
(verilog-auto-inst-port, verilog-auto-inst-port-list)
(verilog-auto-inst, verilog-auto-inst-param):
Use arguments rather than vector-skip.
(verilog-auto-inst-port): Fix AUTOINST interfaces to not show modport
if signal attachment is itself a modport. Reported by Matthew Lovell.
Jan Djärv [Fri, 20 Feb 2015 07:46:38 +0000 (08:46 +0100)]
Avoid endless loop when handling fatal signal.
* src/emacs.c (terminate_due_to_signal): Move totally_unblock_input after
setting fatal_error_in_progress, so gobble_input and *read_socket are
not read if there are pending_signals.
Paul Eggert [Fri, 20 Feb 2015 03:20:35 +0000 (19:20 -0800)]
Simplify binary I/O configuration
* lib-src/etags.c: Include <sysstdio.h> rather than <stdio.h>.
(process_file_name, analyze_regex): Use FOPEN_BINARY rather than
hard-coded "b".
* src/lread.c (Fload): Prefer FOPEN_TEXT and FOPEN_BINARY to
#ifdef DOS_NT.
* src/sysstdio.h: Add copyright notice. Include <fcntl.h>.
(FOPEN_BINARY, FOPEN_TEXT): New macros.
* src/xfaces.c (Fx_load_color_file): Use FOPEN_TEXT, since POSIX
doesn't guarantee that "t" will work.
Dima Kogan [Thu, 19 Feb 2015 20:36:03 +0000 (21:36 +0100)]
auto-revert-mode can now revert immediately in response to a change event
Fixes: debbugs:18958
* autorevert.el (auto-revert-buffers-counter)
(auto-revert-buffers-counter-lockedout): New variables.
(auto-revert-buffers): Increase `auto-revert-buffers-counter'.
(auto-revert-notify-handler): Apply `auto-revert-handler' if not
suppressed by lockout.
* lisp/emacs-lisp/eieio-base.el (make-instance): Add a method here rather
than on eieio-constructor.
* lisp/emacs-lisp/eieio-core.el (eieio--class-print-name): New function.
(eieio-class-name): Make it do what the docstring claims.
(eieio-defclass-internal): Simplify since `prots' isn't used any more.
(eieio--slot-name-index): Simplify accordingly.
(eieio-barf-if-slot-unbound): Pass the class object rather than its
name to `slot-unbound'.
* lisp/emacs-lisp/eieio.el (defclass): Use make-instance rather than
eieio-constructor.
(set-slot-value): Mark as obsolete.
(eieio-object-class-name): Improve call to eieio-class-name.
(eieio-slot-descriptor-name, eieio-class-slots): New functions.
(object-slots): Use it. Declare obsolete.
(eieio-constructor): Merge it with `make-instance'.
(initialize-instance): Use `dolist'.
(eieio-override-prin1, eieio-edebug-prin1-to-string):
Use eieio--class-print-name.
* test/automated/eieio-test-methodinvoke.el (make-instance): Add methods
here rather than on eieio-constructor.
Stefan Monnier [Mon, 16 Feb 2015 06:37:57 +0000 (01:37 -0500)]
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Keep type=nil by default.
* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Add sanity checks
about relationship between `type', `named', and `slots'.
* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tagcode): Adjust to new
value of `cl-struct-type' property.
Don't mark nnimap articles as read on a server hangup
* lisp/gnus/nnimap.el (nnimap-retrieve-headers): If the server closes connection
during header retrieval, error out instead of interpreting the data in
the buffer as the only messages there. This way, we don't mark
articles as read on a server hangup (bug#19035).
* lisp/gnus/mm-decode.el (mm-head-p): New function.
(mm-display-part): Go to a blank line when inserting parts internally.
Fix inserting parts with `E' in Gnus
* lisp/gnus/mm-decode.el (mm-head-p): New function.
(mm-display-part): Go to a blank line when inserting parts internally.
Stefan Monnier [Sat, 14 Feb 2015 05:46:29 +0000 (00:46 -0500)]
* lisp/emacs-lisp/cl*.el: Use define-inline and move some code
* lisp/emacs-lisp/cl-lib.el: Move autoloaded code to cl-preload.
* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Register as children
of the parent.
(cl--assertion-failed): New function.
(cl-assertion-failed): Move in from cl-lib.el.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't generate code to register
as children of its parents.
(cl--make-type-test, cl--compiler-macro-typep): Remove functions.
(cl-typep): Reimplement using define-inline.
(cl-assert): Use cl--assertion-failed.
(cl-struct-slot-value): Use define-inline.
Fixes: debbugs:19844
(flyspell-generic-check-word-p): Mark as obsolete.
* lisp/erc/erc-spelling.el (erc-spelling-init):
Use flyspell-generic-check-word-predicate.