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

127999 commits

Author SHA1 Message Date
Paul Eggert
61848d2da3 Merge from origin/emacs-25
697167b ; Improve wording of previous change in variables.texi
d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
8b71826 Don't modify minibuffer variables globally
5b5e036 Revert to pre-25.1 behavior in ffap
19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
3ace730 Attempt to fix 64-bit AIX build
f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
c04ac8a Document that variable binding order is unspecified
272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
08de101 Fix M-x hints on Mac port
86a297a Work around reporting a dpi change in apply_xft_settings
cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
88cdf14 Improve skeleton docstrings
2017-01-01 01:02:47 -08:00
Paul Eggert
bbb683f04a ; Merge from origin/emacs-25
The following commit was skipped:

ce55382 ; Auto-commit of loaddefs file.
2017-01-01 01:02:47 -08:00
Paul Eggert
9bec2fb3c1 Merge from origin/emacs-25
4179238 Improve documentation of 'w32-scroll-lock-modifier'
2017-01-01 01:02:46 -08:00
Paul Eggert
37b01efe20 ; Merge from origin/emacs-25
The following commit was skipped:

dfc9f11 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
2017-01-01 01:02:46 -08:00
Paul Eggert
4f7a90bf6c Merge from origin/emacs-25
9adb101 Document 'describe-fontset'
229315c ; Add missing symbol quoting.
3d94931 Repair desktop restoration on text terminals
43022f9 Ignore forward-sexp-function in js-mode indentation code
b19fb49 Improve documentation of 'define-coding-system'
467768f Fix Bug#25162
6db78ae Fix a typo in define-abbrev-table
5f7d906 Bump makeinfo requirement from 4.7 to 4.13
442e2f6 Fixes related to select-enable-clipboard
e4ac450 Define struct predicate before acccesors
08decbd Doc fix for vc-git
5531e75 Further improve make-dist checking
953bf67 Improve previous make-dist change
129645a Make make-dist --snapshot do some sanity checks

# Conflicts:
#	lisp/menu-bar.el
2017-01-01 01:02:45 -08:00
Alan Mackenzie
620e5a3cd4 Give eval-and-compile a correct edebug spec. Fixes bug #16184 properly.
* lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.

* lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
t to (&rest def-form).
2017-01-01 08:28:04 +00:00
Paul Eggert
535ef18ed5 Clarify internal_catch etc.
The recent change to internal_catch and friends relied on some
confusion I introduced to the code in 2013.  Attempt to fix
the confusion by clarifying the code instead.  This saves an
instruction and a load dependency in the typical case.
* src/eval.c (internal_catch, internal_condition_case)
(internal_condition_case_1, internal_condition_case_2)
(internal_condition_case_n): Undo the previous change.  Instead,
use use ‘c’ rather than ‘handlerlist’ in the typical case.
Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
2016-12-31 13:26:52 -08:00
Ken Brown
a60d77b840 Further improve filenotify-tests.el
* test/lisp/filenotify-tests.el
(file-notify--test-read-event): Adapt to file monitors of type
GFamFileMonitor, which occur on Cygwin.
(file-notify--test-monitor): Update doc string.
2016-12-31 16:16:12 -05:00
Paul Eggert
0513e16459 * src/xdisp.c (string_from_display_spec): Simplify. 2016-12-31 09:16:36 -08:00
Alan Third
e0e5b0f4a4 Rework NS event handling (bug#25265)
* src/nsterm.m (unwind_apploopnr): Remove.
(ns_read_socket): Remove references to apploopnr.  Make processing the
NS event loop conditional on being in the main thread.
(ns_select): Remove references to apploopnr.  Remove all fd_handler
related stuff.  Check if there are events waiting on the NS event
queue rather than running the event loop.  Remove unused variables and
code.
(fd_handler): Remove.
(ns_term_init): Remove creation of fd_handler thread.
(hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
EmacsView:windowDidExpose): Remove send_appdefined.
(ns_send_appdefined): Always check the event queue for
applicationDefined events rather than relying on send_appdefined var.
* src/nsterm.h: Remove reference to fd_handler method.
2016-12-31 16:55:30 +00:00
Philipp Stephani
4bbd5424a2 Checkdoc: use syntax functions instead of regex
In checkdoc.el, get rid of the error-prone regex to find definition
forms, and use existing syntax-based navigation functions instead.
This fixes a corner case with one-argument `defvar' forms.

* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
(checkdoc-next-docstring, checkdoc-defun): Use it.
* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
Add unit test.
2016-12-31 17:30:46 +01:00
Eli Zaretskii
8a165813cb Don't define NOMINMAX on MS-Windows
* src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
longer needed with the current sources and MinGW headers, while
defining NOMINMAX causes an annoying compiler warning.
2016-12-31 14:07:39 +02:00
Chris Gregory
ff9adb759a Simplify code in eval.c that calls 'setjmp'
* src/eval.c (internal_catch, internal_condition_case)
(internal_condition_case_1, internal_condition_case_2)
(internal_condition_case_n): Factor out the common tail of the
functions.

Copyright-paperwork-exempt: yes
2016-12-31 13:36:32 +02:00
Chris Gregory
1da34d6a9d Simplify code in 'string_from_display_spec'
* src/xdisp.c (string_from_display_spec): Eliminate a redundant
test before the loop.

Copyright-paperwork-exempt: yes
2016-12-31 13:18:57 +02:00
Eli Zaretskii
a78a167a4f Serialize random number generation on MS-Windows
* src/w32.c (rand_as183): New function.
(random): Use it instead of MS runtime's 'rand'.  This avoids
producing separate and identical random series in each Lisp
thread.
(srandom): Modify to supply 3 seed values to 'rand_as183'.
2016-12-31 13:01:19 +02:00
Michael Albinus
3b25ffa7eb * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol. 2016-12-31 10:40:04 +01:00
Ken Raeburn
53d5bd7861 Don't call xg_select for a NextStep build.
NextStep builds use glib but don't use xg_select.

* src/process.c (wait_reading_process_output): Don't call xg_select
for a NextStep build.
2016-12-30 17:51:35 -05:00
Ken Raeburn
064701dc20 Increase the obarray size.
In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
the time we've started.  The old obarray size ensured an average chain
length of 10 or more.

* src/lread.c (OBARRAY_SIZE): Increase to 15121.
2016-12-30 17:41:26 -05:00
Ken Raeburn
b0239945a3 Initialize thread support for Xlib.
* src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
before doing anything else with X.
2016-12-30 17:39:23 -05:00
Paul Eggert
108ef8033b Rename primary_thread to main_thread
This avoids the confusion of using two different phrases "main thread"
and "primary thread" internally to mean the same thing.  See:
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01142.html
* src/thread.c (main_thread): Rename from primary_thread,
since the new name no longer clashes with main_thread_id
and Emacs internals normally call this the "main thread".
(init_main_thread): Rename from init_primary_thread.
(main_thread_p): Rename from primary_thread_p.
All uses changed.
2016-12-30 13:43:24 -08:00
Paul Eggert
966d51592f Rename main_thread to main_thread_id and simplify
* src/emacs-module.c: Include syssignal.h, for main_thread_id.
[HAVE_PTHREAD]: Do not include pthread.h.
(main_thread): Remove.  All uses replaced by main_thread_id,
or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
the main_thread_id established by sysdep.c, there is no need for a
separate copy of the main thread ID here.
(module_init): Remove.  All uses removed.
* src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
Rename from main_thread.  All uses changed.  Now extern.
2016-12-30 13:05:25 -08:00
Michael Albinus
aef40049e3 * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol. 2016-12-30 20:04:33 +01:00
Paul Eggert
83cc8a19b4 * src/sysdep.c (deliver_process_signal): Improve comment. 2016-12-30 09:46:59 -08:00
Alan Mackenzie
a285645b8b CC Mode: Fix the fontification of a spuriously recognised enum member.
The "enum" was in an argument list, but triggered the fontification of a
following identifier in the function block as though it were in an enum
declaration.

* lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
(c-basic-matchers-after): Replace the inline stanza for enum elements with a
call to c-font-lock-enum-body.

* lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
variable.
2016-12-30 15:31:42 +00:00
Eli Zaretskii
543532313a Attempt to fix crashes with threads in GTK builds
* src/xgselect.c (xg_select): Call pselect via thread_select, not
directly, to avoid running Lisp (via unblock_input) when more than
one thread could be running.  (Bug#25247)
* src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
xg_select directly instead of through thread_select.
* src/xgselect.h (xg_select): Last 2 arguments are no longer
'const', for consistency with thread_select.
2016-12-30 11:36:07 +02:00
Arash Esbati
d9b126890d Add entry for biblatex
* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
entry for biblatex macros.
2016-12-30 10:28:29 +01:00
Tino Calancha
c336420d9f ffap-string-at-point: Limit max length of active region
Prevents that 'ffap-guesser' waste time checking large strings
which are likely not valid candidates (Bug#25243).
* lisp/ffap.el (ffap-max-region-length): New variable.
(ffap-string-at-point): Use it.
* test/lisp/ffap-tests.el: New test suite.
(ffap-tests-25243): Add test for this bug.
2016-12-30 15:31:01 +09:00
Thien-Thi Nguyen
9672f2c916 last-chance: Also ignore NEWS files + typo fixes
* admin/last-chance.el: Fix typo in copyright notice.
(last-chance-uninteresting-regexps): Add entry to match NEWS files.
(last-chance-cleanup): Fix typo in docstring.
2016-12-30 07:15:10 +01:00
Mike Kupfer
b5b4c4938b * mh-e.el (mh-fetch-x-image-url): Fix a docstring typo. 2016-12-29 13:46:37 -08:00
Alan Mackenzie
8295e97f18 Remove an ambiguity from defvar's doc string. Fixes bug #25292.
The ambiguity was whether INITVALUE is evaluated when it's not going to be
used to set SYMBOL's value.

* src/eval.c (defvar): Rewrite a paragraph of the doc string.
2016-12-29 20:52:02 +00:00
Michael Albinus
b9cacf0449 Improve filenotify-tests.el
* src/inotify.c (Finotify_valid_p):
* src/kqueue.c (Fkqueue_valid_p):
* src/w32notify.c (Fw32notify_valid_p):
* src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
(Fgfile_monitor_name): New defun.
(syms_of_gfilenotify): Declare Sgfile_monitor_name.

* test/lisp/filenotify-tests.el	(file-notify--test-read-event):
New defun, derived from `file-notify--test-read-event-timeout'.
Replace all calls of `read-event' by this.
(file-notify--test-timeout): Fix docstring.
(file-notify--test-monitor): New defun.
(file-notify--deftest-remote): Do not bind
`file-notify--test-read-event-timeout' anymore.
(file-notify-test00-availability): Print also monitor, if existent.
(file-notify--test-with-events): Add an additional
`file-notify--test-read-event' call, in order to get it work
after `file-notify-add-watch'.  Remove special timeout for cygwin.
(file-notify-test02-events): Make a better check for cygwin.
(file-notify-test06-many-events): Improve event list for cygwin.
(file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
2016-12-29 19:48:17 +01:00
Alan Mackenzie
11b81a54d5 Partially correct fontification of "(b*3)", and the like, in C++ Mode
This problem is caused by the fundamental ambiguity in C++ between
argument declarations and initialisation clauses.

* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
paren preceded by an arithmetic operator, we give this the context nil, not
'arglist.

* lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
New lang consts and vars.
2016-12-29 15:34:36 +00:00
Alan Mackenzie
0d19e69184 Initialize edebug-offset-indices to a cons, not nil. Fixes bug #16184.
This is because there are times when this variable is changed by setcar before
an atom is pushed onto it by debug-enter.  This happens, for example, whilst
instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.

* lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
2016-12-29 09:22:36 +00:00
Paul Eggert
112460da70 ; fix indenting
Problem reported by Chris Gregory in:
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00968.html
* src/keyboard.c (read_event_from_main_queue): Fix indenting.
2016-12-27 15:28:57 -08:00
Michael Albinus
aebe6592db Release Tramp 2.3.1
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.3.1".

* lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
`eshell-mode-hook' but `eshell-first-time-mode-hook'.

* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
(tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
2016-12-27 20:06:27 +01:00
Paul Eggert
a02ca7a231 Simplify prog1 implementation
Inspired by a suggestion from Chris Gregory in:
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00965.html
On my platform, this generates exactly the same machine insns.
* src/eval.c (prog_ignore): Rename from unwind_body, since
it’s more general than that.  All callers changed.
(Fprog1): Simplify by using prog_ignore.
(Fwhile): Clarify by using prog_ignore.
2016-12-27 10:38:15 -08:00
Stefan Monnier
e6161f6489 * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
(inline--dont-quote): Quote the function with #' when passing it to `apply'.
2016-12-27 12:44:32 -05:00
Mark Oteiza
ee264827f3 Remove a use of lexical-let
* lisp/gnus/message.el (message-completion-function): Just use let,
since the file now uses lexical-binding.
2016-12-27 11:11:30 -05:00
Ken Brown
eff237503c Improve filenotify-tests.el on Cygwin (Bug #21804)
* test/lisp/filenotify-tests.el [CYGWIN]
(file-notify--test-read-event-timeout): Increase.
(file-notify--test-with-events): Add delay before executing body.
(file-notify-test02-events, file-notify-test04-file-validity):
Adjust expected results.
2016-12-27 08:37:11 -05:00
Eli Zaretskii
5d8bb89f0f Fix expand-file-name on DOS_NT systems when /: escaping is used
* src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
file names escaped by "/:".  Don't recursively expand
default-directory escaped with "/:" which is not followed by a
drive spec.  (Bug#25183)
2016-12-27 10:12:06 +02:00
Eli Zaretskii
697167b543 ; Improve wording of previous change in variables.texi
* doc/lispref/variables.texi (Default Value): Improve wording of
last change.
2016-12-27 09:10:30 +02:00
Bake Timmons
34b30c1ca4 Fix mail-sources' value of (group)' in Gnus manual (bug#25275)
* doc/misc/gnus.texi (Mail Source Specifiers):
Replace wrong `mail-sources' value of `(group)' in Gnus manual with
the correct `((group))' value.  (bug#25275) (tiny change)
2016-12-27 06:39:02 +00:00
Bake Timmons
49c9670535 Fix bug in customizing `mail-sources' variable (bug#25274)
* lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
for lone argument. (bug#25274) (tiny change)
2016-12-27 06:38:41 +00:00
Philipp Stephani
65b997b95e Checkdoc: Don't require a space before an arg list
See Bug#24998.

* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
space before a argument list.
* test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
Add unit test.
2016-12-26 21:13:26 +01:00
Eli Zaretskii
d7973e808d Document 'default-toplevel-value' and 'set-default-toplevel-value'
* doc/lispref/variables.texi (Default Value): Document
'default-toplevel-value' and 'set-default-toplevel-value'.
2016-12-26 19:10:49 +02:00
Michihito Shigemura
a8a24b5be7 Add zshrc and zshenv detection to sh-mode (bug#25217)
* lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match

Copyright-paperwork-exempt: yes
2016-12-25 19:51:53 +00:00
Paul Eggert
e135b8c7f9 Fix typo in lisp.h reordering patch
* src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
Reported by Eli Zaretskii (Bug#25128#19).
2016-12-25 10:13:10 -08:00
Paul Eggert
615cec1dfe regex.h now includes sys/types.h
* src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
Do not include sys/types.h; no longer needed.
* src/regex.h: Include <sys/types.h>, as that's what Gnulib and
glibc regex.h does, and POSIX has blessed this since 2008.
2016-12-25 10:03:34 -08:00
Paul Eggert
f5b9c1e596 Reorder lisp.h to declare types before using them
This puts basic functions for types to be after the corresponding
type definitions.  This is a more-common programming style in C,
and will make it easier to port Emacs to gcc
-fcheck-pointer-bounds, since the functions now have access to the
corresponding types' sizes.  This patch does not change the code;
it just moves declarations and definitions and removes
no-longer-needed forward declarations (Bug#25128).
* src/buffer.c, src/data.c, src/image.c:
Include process.h, for PROCESSP.
* src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
* src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
* src/termhooks.h (TERMINALP, XTERMINAL):
* src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
* src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
(XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
Move here from lisp.h.
* src/intervals.h: Include buffer.h, for BUFFERP.
Include lisp.h, for Lisp_Object.
* src/lisp.h: Reorder declarations and definitions as described
above.  Move thread includes to be later, so that they can use the
reordered definitions.  Move some symbols to other headers (noted
elsewhere).  Remove forward decls that are no longer needed.
* src/thread.h: Include systhread.h here, not in lisp.h,
since lisp.h itself does not need systhread.h.
2016-12-25 09:17:50 -08:00
Leo Liu
8b7182626e Don't modify minibuffer variables globally
* lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
2016-12-25 14:37:51 +08:00