1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00
Commit graph

134364 commits

Author SHA1 Message Date
Paul Eggert
3d91dc1bb5 Update lib/regex from glibc via Gnulib
This syncs recent refactorings from glibc, and incorporates:
2018-10-15 libc-config: merge from glibc
2018-10-15 regex: depend on libc-config
* .gitignore: Do not ignore m4/_*.m4.
* lib/cdefs.h: New file, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/libc-config.h, m4/__inline.m4: New files, copied from Gnulib.
* lib/regcomp.c, lib/regex.c, lib/regex_internal.c:
* lib/regex_internal.h, lib/regexec.c:
Copy from glibc via Gnulib.
2018-10-15 00:57:57 -05:00
Paul Eggert
6b8fd34c4a Update from Gnulib
This is minor refactoring that should not affect Emacs builds.
It incorporates:
2018-10-12 Make better use of Autoconf
* m4/environ.m4, m4/fsusage.m4, m4/manywarnings.m4, m4/socklen.m4:
Copy from Gnulib.
2018-10-14 22:12:46 -05:00
Alan Mackenzie
aba7910e36 Add ~44 edebug specs to CC Mode.
* lisp/progmodes/cc-cmds.el, lisp/progmodes/cc-defs.el
lisp/progmodes/cc-engine.el, lisp/progmodes/cc-fonts.el
lisp/progmodes/cc-langs.el: Add lots of edebug specs.

* lisp/progmodes/cc-engine.el (c-state-maybe-marker): Tidy up so as to
evaluate an argument only once at runtime.
2018-10-15 00:45:24 +00:00
Stefan Monnier
8c68e4afa8 * src/buffer.c (Fmove_overlay): Don't call Fdelete_overlay
... because the data structure is not in a consistent state.

* test/src/buffer-tests.el (overlay-evaporation-after-killed-buffer):
New test.
2018-10-14 16:44:21 -04:00
Paul Eggert
f1ea2b9e6b Fix lisp_eval_depth in unwind-protect cleanup
Problem reported by Paul Pogonyshev (Bug#33034).
* src/lisp.h (union specbinding): New member unwind.eval_depth.
* src/eval.c (record_unwind_protect, set_unwind_protect): Set it.
(do_one_unbind): Use it.
2018-10-14 09:54:58 -07:00
OGAWA Hirofumi
f3c13bb38e Fix sieve-mode font lock
* lisp/net/sieve-mode.el (sieve-font-lock-keywords): Fix the
definition of font-lock faces.  (Bug#32881)
2018-10-13 12:14:52 +03:00
OGAWA Hirofumi
4824d37041 Fix sieve-upload when sieve-buffer is nil
* lisp/net/sieve.el (sieve-upload): Don't rely on sieve-buffer being
non-nil.  (Bug#32880)

Copyright-paperwork-exempt: yes
2018-10-13 11:51:06 +03:00
Eli Zaretskii
95f69e7db2 Improve 'json-insert' so it doesn't cons a string from JSON
* src/json.c (struct json_buffer_and_size): New member
inserted_bytes.
(json_insert): Instead of creating a string and inserting it
into the current buffer, copy the unibyte text into the gap.
(struct json_insert_data): New member inserted_bytes.
(json_insert_callback): Update commentary.  Pass the
inserted_bytes value to json_insert and on its return copy the
updated value back into DATA.
(Fjson_insert): Decode the unibyte text inserted into the gap.
Call before-change-functions and after-change-functions only
once, before and after processing the insertion of the entire
JSON representation.

* test/src/json-tests.el (json-insert/throw): Adapt to the
modified implementation of json-insert: it no longer calls the
modification hooks once for each inserted chunk of JSON
representation.
2018-10-13 10:13:10 +03:00
Glenn Morris
6cf4dfe472 Merge from origin/emacs-26
643df63 (origin/emacs-26) Avoid byte-compiler warning in em-rebind.el
d0eca49 ; * doc/emacs/mark.texi (Disabled Transient Mark): Fix last c...
af80b10 Improve indexing of 'C-SPC C-SPC'
89a7301 ; * doc/lispref/internals.texi (Writing Dynamic Modules): Fix...
a108eaa Fix bug with precious entries in Gnus registry
ce8b458 Document in the ELisp manual how to write loadable modules
a7ebc6b dired-do-shell-command: Notify users after abort the command

# Conflicts:
#	lisp/registry.el
2018-10-12 10:31:22 -07:00
Glenn Morris
c3856d46f5 ; Merge from origin/emacs-26
The following commit was skipped:

0d2bf76 Adapt Tramp version.  Do not merge with master
2018-10-12 10:28:40 -07:00
Glenn Morris
7a7a3a4bfe Merge from origin/emacs-26
6e54762 Fix Apple Script permissions error
19f705c Fix typo in 'timerp' documentation
2018-10-12 10:28:40 -07:00
Michael Albinus
9c231a4470 * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
Add docstring.  Remove `interactive' call.
2018-10-12 13:42:34 +02:00
Michael Albinus
ac2a04e888 * lisp/net/trampver.el (customize-package-emacs-version-alist):
Adapt Tramp version integrated in Emacs 26.2.
2018-10-12 13:42:07 +02:00
Michael Albinus
10cd2500af Fix error in Tramp loading, uncovered by tramp-test43-*
* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
New defalias.
(tramp-register-archive-file-name-handler): Use it.

* lisp/net/tramp.el (tramp-file-name-for-operation): Change it for
`expand-file-name'.
(tramp-file-name-handler): Unset `file-name-handler-alist' when
autoloading a Tramp file name handler.
(tramp-autoload-file-name-handler): Always unload Tramp file name
handlers.
(tramp-register-file-name-handlers)
(tramp-unload-file-name-handlers): Simplify.
2018-10-12 13:41:12 +02:00
Allen Li
f5896e2cbf Rework empty abbrev table omitting
There were two problems with the original implementation:

1. It changed the behavior of insert-abbrev-table-description when
READABLE is nil to sometimes insert one Emacs Lisp expression and
sometimes insert nothing.
2. It broke the tests.

This commit reworks this so that insert-abbrev-table-description
always inserts an expressions even if no abbrevs need to be saved and
making only write-abbrev-file check that a table has any abbrevs to
save before calling insert-abbrev-table-description.  This duplicates
the work of filtering the table for savable abbrevs, but the benefit
of keeping the API is worth it.

* doc/lispref/abbrevs.texi (Abbrev Tables): Update documentation.
* lisp/abbrev.el (write-abbrev-file): Skip tables without user abbrevs
(insert-abbrev-table-description): Always insert the define
expression.
(abbrev--table-symbols): New function.
* test/lisp/abbrev-tests.el (abbrev--table-symbols-test):
Add test for abbrev--table-symbols.
2018-10-12 11:44:15 +03:00
Alex Branham
643df633ea Avoid byte-compiler warning in em-rebind.el
* lisp/eshell/em-rebind.el (eshell-delete-backward-char): Use
'delete-char' instead of delete-backward-char.  (Bug#32945)
2018-10-12 11:39:02 +03:00
Eli Zaretskii
d0eca49e3c ; * doc/emacs/mark.texi (Disabled Transient Mark): Fix last change. 2018-10-12 11:33:31 +03:00
Eli Zaretskii
af80b10612 Improve indexing of 'C-SPC C-SPC'
* doc/emacs/mark.texi (Disabled Transient Mark): Fix
indexing.  (Bug#32959)
2018-10-12 11:31:09 +03:00
Eli Zaretskii
89a73016f7 ; * doc/lispref/internals.texi (Writing Dynamic Modules): Fix a typo. 2018-10-11 21:48:10 +03:00
Eric Abrahamsen
a108eaa13c Fix bug with precious entries in Gnus registry
* lisp/registry.el (registry-collect-prune-candidates): This `cdr' was
  an error: it meant that the last key in the precious list, would be
  considered a nil. Since the precious list only contains the symbol
  'mark by default, marks were never considered precious.
* doc/misc/gnus.texi (Store arbitrary data): Fix typo: "marks" should
  be "mark".
2018-10-11 11:20:29 -07:00
Eli Zaretskii
ce8b4584a3 Document in the ELisp manual how to write loadable modules
* doc/lispref/internals.texi (Writing Dynamic Modules)
(Module Initialization, Module Functions, Module Values)
(Module Misc, Module Nonlocal): New nodes.
* doc/lispref/loading.texi (Dynamic Modules): Add
cross-reference to the new node.
* doc/lispref/internals.texi (GNU Emacs Internals):
* doc/lispref/elisp.texi (Top): Update menus for the new nodes.
2018-10-11 20:53:05 +03:00
Tino Calancha
a7ebc6bf63 dired-do-shell-command: Notify users after abort the command
* lisp/dired-aux.el (dired-do-shell-command):  Notify users that
the command have aborted when they answer 'n' to the prompt (Bug#32969).
2018-10-11 17:23:30 +09:00
Michael Albinus
0d2bf76d3d Adapt Tramp version. Do not merge with master
* lisp/net/trampver.el: Change version to "2.3.5.26.2".
(customize-package-emacs-version-alist): Add Tramp version
integrated in Emacs 26.2.
2018-10-11 09:39:12 +02:00
Paul Eggert
5bd8cfc14d Fix mishandling of symbols that look like numbers
* src/bignum.c (make_neg_biguint): New function.
* src/lread.c (read1): Do not mishandle an unquoted symbol
with name equal to something like "1\0x", i.e., a string
of numeric form followed by a NUL byte.
Formerly these symbols were misread as numbers.
(string_to_number): Change last argument from an integer flag
to a pointer to the length.  This lets the caller figure out
how much of the prefix was used.  All callers changed.
Add a fast path if the integer (sans sign) fits in uintmax_t.
Update comments and simplify now that bignums are present.
* src/print.c (print_object): Fix quoting of symbols that look
like numbers, by relying on string_to_number for the tricky
cases rather than trying to redo its logic, incorrectly.  For
example, (read (prin1-to-string '\1e+NaN)) formerly returned
"1e+NaN", which was wrong: a backslash is needed in the output
to prevent it from being read as a NaN.  Escape NO_BREAK_SPACE
too, since lread.c treats it like SPACE.
* test/src/print-tests.el (print-read-roundtrip):
Add tests illustrating the abovementioned bugs.
2018-10-10 23:19:42 -07:00
Alan Third
6e54762c37 Fix Apple Script permissions error
* nextstep/templates/Info.plist.in: Add NSAppleEventsUsageDescription
message to enable AppleEvents usage.
2018-10-10 21:50:53 +01:00
Stefan Monnier
fd3a48fcd8 * lisp/auth-source.el: Minor simplification
Remove redundant :group args.
(auth-source-backend-parse): Use run-hook-with-args-until-success.
2018-10-10 09:45:09 -04:00
Stefan Monnier
7212bf41a9 * lisp/emacs-lisp/lisp-mnt.el: Use lexical-binding
Remove redundant :group
2018-10-10 09:20:19 -04:00
Mauro Aranda
19f705c438 Fix typo in 'timerp' documentation
* doc/lispref/os.texi (Timers): Fix typo in 'timerp' documentation.
(Bug#32999)

Copyright-paperwork-exempt: yes
2018-10-10 06:27:03 +03:00
Glenn Morris
fe0d459499 Merge from origin/emacs-26
4cf1eb8 (origin/emacs-26) ; * src/data.c (Fkeywordp): Remove inaccura...
3f1470d * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
2018-10-09 13:12:56 -07:00
Glenn Morris
8b3aacdf3a ; Merge from origin/emacs-26
The following commit was skipped:

940ae15 Fix overflow lockup with frames > 255 lines
2018-10-09 13:12:56 -07:00
Glenn Morris
b89b5ca648 Merge from origin/emacs-26
14c032d Avoid assertion violations in nonsensical calls to 'signal'
b99192f * lisp/simple.el (transient-mark-mode): Correct documentation...
7e42294 Update the locale and language database
8c53d9f Fix a typo in a doc string.
79bda3b Make nneething allow CRLF-encoded files (bug#32940)
2018-10-09 13:12:56 -07:00
Glenn Morris
641d98531e ; Merge from origin/emacs-26
The following commit was skipped:

2cae1cf Further fix to eieio-persistent
2018-10-09 13:12:56 -07:00
Glenn Morris
b4e664f3a4 Merge from origin/emacs-26
86d2169 Avoid ridiculously high stack limit requests on macOS
ac3622c Improve documentation of 'read-hide-char'

# Conflicts:
#	src/emacs.c
2018-10-09 13:12:55 -07:00
Charles A. Roelli
86b53729c0 * lisp/vc/vc.el (vc-retrieve-tag-hook): Remove autoload cookie.
See https://lists.gnu.org/r/emacs-devel/2018-10/msg00108.html.
2018-10-09 20:24:45 +02:00
Paul Eggert
7f1beabfcd Port --enable-gcc-warnings to recent clang
* configure.ac: Disable -Wnull-pointer-arithmetic if clang (Bug#32924).
2018-10-09 11:16:26 -07:00
Paul Eggert
1f88943924 Fix malfunctioning cursor display on 32-bit Gtk
This bug on 32-bit platforms was caused by the timespec_hz
definition going haywire because the C expression
FIXNUM_OVERFLOW_P (MOST_POSITIVE_FIXNUM) did not work in #if.
Eventually the numeric problem showed up as a malfunctioning
cursor (Bug#32992).  Fix the problem with MOST_POSITIVE_FIXNUM.
By the way, make_fixnum should check for integer overflow when
debugging; this would have made it easier to track this bug down.
But one fix at a time.
* src/lisp.h (INTTYPEBITS): Now a macro, so usable in #if.
(MOST_POSITIVE_FIXNUM): Mention it’s used in #if.
2018-10-09 09:48:37 -07:00
Stefan Monnier
bd013a448b * lisp/replace.el (occur--garbage-collect-revert-args): New function
(occur-mode, occur-1): Use it.
(occur--region-start, occur--region-end, occur--region-start-line)
(occur--orig-line): Remove vars.
(occur-engine): Fix left over use of occur--region-start-line.
2018-10-09 11:57:22 -04:00
Eli Zaretskii
262f5c8099 Revert part of last commit
* lisp/replace.el (occur-revert-function): Revert last change,
as it's no longer needed.  (Bug#32987)
2018-10-09 17:55:15 +03:00
Eli Zaretskii
cbb6742878 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2018-10-09 17:49:59 +03:00
Stefan Monnier
5d1fbe25d4 * lisp/replace.el: Rework implementation of the occur region
Put the region info in the "list of buffers" used for multi-occur.

(occur--parse-occur-buffer): Remove.
(occur): Pass the region to occur-1 as an overlay.
(occur-1): 'bufs' is now a list of buffers or overlays.
(occur-engine): 'buffers' is now a list of buffers or overlays.
2018-10-09 10:47:13 -04:00
Eli Zaretskii
cd7caee630 Unbreak 'revert-buffer' in Occur buffers
* lisp/replace.el (occur-revert-function): Use the value of
occur-revert-function from the correct buffer.  (Bug#32987)

* test/lisp/replace-tests.el (replace-occur-revert-bug32543)
(replace-occur-revert-bug32987): New tests.
2018-10-09 17:46:31 +03:00
Stefan Monnier
333f0bfe76 * lisp/calendar/timeclock.el: Use lexical-binding
Require cl-lib.  Remove redundant :group args.
(timeclock-status-string): Avoid 'setq'.
(timeclock-ask-for-project, timeclock-ask-for-reason):
Completionu tables can be simple lists of strings.
(timeclock-read-moment): Doesn't deserve to be defsubst (most of the
others don't either, admittedly).
(timeclock-entry): New type.
(timeclock-entry-begin, timeclock-entry-end, timeclock-entry-project)
(timeclock-entry-comment): Define via 'cl-defstruct'.
(timeclock-entry-list-projects, timeclock-day-list-projects):
Avoid add-to-list on lexical vars.
(timeclock-day-list): Use 'push'.
(timeclock-log-data): Use 'pcase'.
(timeclock-mean): Simplify.
(timeclock-generate-report): Use dotimes.
2018-10-08 22:33:22 -04:00
Paul Eggert
cf1ebfa055 Update from Gnulib
This incorporates:
2018-10-05 explicit_bzero: make it possible to namespace
2018-10-04 fcntl: make it possible to namespace
2018-10-01 mkostemp, mkostemps: fix C++ compilation on Mac OS X
2018-09-19 maint: mktime.c now shared with glibc
2018-09-18 file-has-acl: fix test failure on Cygwin 2.9
2018-09-18 gettime: nanotime never existed
* admin/merge-gnulib (AVOIDED_MODULES): Add mkdir.
* doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
* lib/acl_entries.c, lib/explicit_bzero.c, lib/fcntl.c:
* lib/get-permissions.c, lib/gettime.c, lib/mktime.c:
* lib/set-permissions.c, lib/stdlib.in.h, m4/acl.m4, m4/gettime.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2018-10-08 18:22:22 -07:00
Stefan Monnier
fc6004e617 * lisp/net/ntlm.el: Use lexical-binding
(ntlm-string-as-unibyte): Remove.
(ntlm-build-auth-response): Use encode-coding-string instead.
(ntlm-build-auth-request, ntlm-build-auth-response, ntlm-ascii2unicode)
(ntlm-smb-owf-encrypt, ntlm-smb-hash, ntlm-smb-dohash, ntlm-md4hash):
Use fewer setq more Lisp-style.
2018-10-08 20:59:59 -04:00
Eli Zaretskii
4cf1eb8062 ; * src/data.c (Fkeywordp): Remove inaccurate commentary. (Bug#32979) 2018-10-08 23:14:59 +03:00
Charles A. Roelli
763721613b New hook 'vc-retrieve-tag-hook' (Bug#32754)
* etc/NEWS: Mention the new variable.

* lisp/vc/vc.el (vc-retrieve-tag-hook): New hook.
(vc-retrieve-tag): Run the new hook and update its
documentation string.
2018-10-08 21:49:41 +02:00
Charles A. Roelli
3f1470d96f * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
(Bug#32956)
2018-10-08 19:22:23 +02:00
Scott Corley
940ae15604 Fix overflow lockup with frames > 255 lines
Backport from master.
* src/scroll.c (struct matrix_elt): Change unsigned char fields to
int to handle frames with more than 255 lines (Bug#32951).
Copyright-paperwork-exempt: yes
2018-10-07 23:22:50 -07:00
Eli Zaretskii
a0605d9618 Fix MinGW compilation problem in timefns.c
* src/timefns.c (lisp_to_timespec): Fix a mismatch between
time_t and timespec.tv_sec data types.
2018-10-07 20:51:11 +03:00
Eli Zaretskii
14c032d5f8 Avoid assertion violations in nonsensical calls to 'signal'
* src/eval.c (Fsignal): If both arguments are nil, replace the
first one with 'error', to avoid assertion violations further
down the line.  (Bug#32961)
2018-10-07 17:45:12 +03:00