1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-09 05:01:02 -08:00
Commit graph

129441 commits

Author SHA1 Message Date
Philipp Stephani
9be8b2bf1d Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
In particular, alias violations are likely for the return values of
dlsym(3), which get cast around arbitrarily.

* src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
2017-06-04 19:50:50 +02:00
Philipp Stephani
366e25a6d1 Simplify interface of dynlib_attr.
Instead of returning bool, set the argument pointers to NULL if the
information is not available.

* src/dynlib.c (dynlib_addr): Don't return bool.
2017-06-04 19:50:50 +02:00
Philipp Stephani
045d21c20a Rationalize environment lifetime management functions
* src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
(finalize_environment): Add parameter for public part of the
environment, like 'initialize_environment'.  Add assertions.
2017-06-04 19:50:50 +02:00
Philipp Stephani
3b0080de52 Rework printing of module functions
Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
other types.

* src/print.c (print_vectorlike): Add code to print module functions.

* src/emacs-module.c (funcall_module): Stop calling
'module_format_fun_env'.  Now that module functions are first-class
objects, they can be added to signal data directly.
(module_handle_signal): Remove now-unused function
'module_format_fun_env'.

* test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.

* src/eval.c (funcall_lambda): Adapt call to changed signature of
'funcall_module'.
2017-06-04 19:50:49 +02:00
Philipp Stephani
18396997b3 Define helper macro to reduce code duplication
* src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
macro.
(MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
Use it.
2017-06-04 19:50:49 +02:00
Philipp Stephani
db7438426a Remove two FIXMEs that can't be fixed 2017-06-04 19:50:49 +02:00
Eli Zaretskii
bd3c6eeca1 Avoid slow startup in daemon mode when global-linum-mode is on
* lisp/linum.el (linum-on): Don't turn on linum-mode in a
non-client frame of a daemon session.  (Bug#27210)
2017-06-04 19:27:13 +03:00
Paul Eggert
7dd9e7e95c Fix eldoc bug with curved quote
* lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
Substitute quotes in documentation before returning it (Bug#27159).
2017-06-04 09:13:37 -07:00
Paul Eggert
d5fcf9e458 Tune ‘format’ after recent fix
* doc/lispref/strings.texi (Formatting Strings):
* src/editfns.c (Fformat): Format field numbers no longer need
to be unique, reverting the previous doc change since that has
now been fixed.  Also, document that %% should not have modifiers.
* src/editfns.c (styled_format): Improve performance.  Remove
the need for the new prepass over the format string, by using
a typically-more-generous bound for the info array size.
Initialize the info array lazily.  Move string inspection to
the same area to help caching.  Avoid the need for a
converted_to_string bitfield by using EQ.  Cache arg in a
local and avoid some potential aliasing issues to help the
compiler.  Info array is now 0-origin, not 1-origin.
2017-06-04 08:42:53 -07:00
Nikolay Kudryavtsev
6ad42aecc2 Improve of file-local-name use in vc-git-checkin
* lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
when calling git commit.
2017-06-04 09:59:49 +02:00
Simen Heggestøyl
d2d6e4452c Support a new CSS indentation style
* lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
immediately followed by a newline.

* test/manual/indent/css-mode.css: Add test for the change above.

* test/manual/indent/scss-mode.scss: Ditto.
2017-06-03 15:09:01 +02:00
Philipp Stephani
e3b7eeade4 ; Fix off-by-one error 2017-06-03 11:42:07 +02:00
Philipp Stephani
7d413cb4da Fix a bug when using format field numbers
Previously styled_format overwrite the argument vector.  This is no
longer possible because there might be more than one specification per
argument.  Use the existing auxiliary info array instead.

* src/editfns.c (styled_format): Record arguments in the info
structure instead of overwriting them.
* test/src/editfns-tests.el (format-with-field): Add unit test.
2017-06-03 11:19:02 +02:00
Paul Eggert
0147cdd4d9 Document uniqueness limitation of ‘format’
* doc/lispref/strings.texi (Formatting Strings):
* src/editfns.c (Fformat):
Document that field numbers should be unique within a format.
2017-06-03 01:31:52 -07:00
Glenn Morris
73635edb43 Small rmailmm fix (bug#27203)
* lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
2017-06-02 20:42:01 -04:00
Glenn Morris
606bfcf00e * admin/authors.el (authors-aliases): Addition. 2017-06-02 20:29:34 -04:00
Glenn Morris
182912c7a9 Add watch for password back to inferior python comint filter
It was removed along with other items for speed (bug#16875),
but doesn't seem to have been causing an issue, and it's useful to
have it there (bug#27154).
* lisp/progmodes/python.el (inferior-python-mode):
Add comint-watch-for-password-prompt to comint-output-filter-functions.
2017-06-02 20:06:12 -04:00
Ryan
b406174d81 Use completing-read-default in tmm-prompt
tmm uses completing-read, but customizes its behavior so much
that any alternative completing-read-function will almost
certainly break it.  For example, both ido-ubiquitous and ivy have
special code to deactivate themselves for tmm.
* lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
completing-read.  (Bug#27193)

Copyright-paperwork-exempt: yes
2017-06-02 20:00:49 -04:00
Mats Lidell
412e7086f6 * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371) 2017-06-02 22:16:01 +02:00
Glenn Morris
f0d79d2b8d Fix with-todo-test
* test/lisp/calendar/todo-mode-tests.el (with-todo-test):
HOME should be a directory, not a file.  Delete it when finished.
2017-06-02 13:14:44 -04:00
Lele Gaifax
d801f5a2cf Update TUTORIAL.it
* etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.

Copyright-paperwork-exempt: yes
2017-06-02 17:06:55 +03:00
Eli Zaretskii
ca575372ed ; * doc/emacs/emacs-xtra.texi: Explain in a comment the purpose of this file. 2017-06-02 15:27:55 +03:00
Eli Zaretskii
5e6481bdc5 Fix cursor position in Dired buffers after dired-sort-toggle
* src/xdisp.c (display_and_set_cursor): Record cursor coordinates
even if the frame is marked as garbaged.  (Bug#27187)
2017-06-02 12:53:57 +03:00
Eli Zaretskii
800602b383 Update TUTORIAL.he
* etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
2017-06-02 09:27:09 +03:00
Noam Postavsky
6efa25d7b5 * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371). 2017-06-01 22:55:46 -04:00
Paul Eggert
8de2581a64 Limit format fields to more POSIX-like spec
* doc/lispref/strings.texi (Formatting Strings):
Don’t allow mixing numbered with unnumbered format specs.
* src/editfns.c (styled_format): Don’t bother checking for field 0,
since it doesn’t crash and the behavior is not specified.
* test/src/editfns-tests.el (format-with-field): Adjust tests to
match current doc.  Add more tests for out-of-range fields.
2017-06-01 16:06:38 -07:00
Paul Eggert
178d0cb5f5 Improve performance by avoiding strtoumax
This made (string-to-number "10") 20% faster on my old desktop,
an AMD Phenom II X4 910e running Fedora 25 x86-64.
* admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
* m4/strtoumax.m4: Remove.
* src/editfns.c (str2num): New function.
(styled_format): Use it instead of strtoumax.  Use ptrdiff_t
instead of uintmax_t.  Check for integer overflow.
* src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
Move to private scope and make them enums.
(string_to_number): Compute integer value directly during
first pass instead of revisiting it with strtoumax later.
2017-06-01 16:06:38 -07:00
Paul Eggert
5324710841 Minor improvements to format field numbers
* src/editfns.c (styled_format): Allow field numbers in a %% spec.
No need for a special diagnostic for field numbers greater than
PTRDIFF_MAX.  Reword diagnostic for field 0.
* test/src/editfns-tests.el (format-with-field): Adjust to match.
2017-06-02 00:25:48 +02:00
Philipp Stephani
0dd1bbb0bb Implement field numbers in format strings
A field number explicitly specifies the argument to be formatted.
This is especially important for potential localization work, since
grammars of various languages dictate different word orders.

* src/editfns.c (Fformat): Update documentation.
(styled_format): Implement field numbers.

* doc/lispref/strings.texi (Formatting Strings): Document field numbers.

* lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.

* test/src/editfns-tests.el (format-with-field): New unit test.
2017-06-02 00:22:13 +02:00
Alexander Gramiak
404273aeac Limit scope of local overriding-terminal-local-map
The function `binding' may call isearch-done, which globally sets
overriding-terminal-local-map to nil (Bug#23007).
* lisp/isearch.el (isearch-mouse-2): Don't bind
overriding-terminal-local-map around the call to `binding'.
2017-06-01 17:56:14 -04:00
Stephen Berman
8c0f845b34 Correct and isolate the todo-mode test environment
This avoids having to set todo-mode variables globally in the test
file and prevents any exisiting user todo-mode files from influencing
the tests.

* test/lisp/calendar/todo-mode-tests.el:
(with-todo-test): New macro.
(todo-test-todo-quit01, todo-test-todo-quit02)
(todo-test-item-highlighting): Use it.
2017-06-01 22:15:50 +02:00
Alan Third
6cd374085c Fix build errors on macOS 10.6 (bug#27059)
* src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
2017-06-01 20:50:44 +01:00
Eli Zaretskii
5dc0129c29 Improve testing of octal and hex display of raw bytes
* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
(test-redisplay-5): Add a test with a large codepoint.
2017-06-01 21:29:24 +03:00
Vasilij Schneidermann
cb9aa3515a Add customizable to display raw bytes as hex
* src/xdisp.c (get_next_display_element): Dispatch used format string
for unprintables based on new display-raw-bytes-as-hex variable.
(display-raw-bytes-as-hex): New variable.  (Bug#27122)

* lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.

* doc/emacs/display.texi: Document the new variable.
* etc/NEWS: Mention display-raw-bytes-as-hex.

* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
(test-redisplay-5): New tests.
(test-redisplay): Call test-redisplay-5.
2017-06-01 21:25:58 +03:00
Eli Zaretskii
e5de79992a Revert "Add customizable to display raw bytes as hex"
This reverts commit 7c9ac111c5.
2017-06-01 21:24:15 +03:00
Eli Zaretskii
7c9ac111c5 Add customizable to display raw bytes as hex
* src/xdisp.c (get_next_display_element): Dispatch used format string
for unprintables based on new display-raw-bytes-as-hex variable.
(display-raw-bytes-as-hex): New variable.  (Bug#27122)

* lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.

* doc/emacs/display.texi: Document the new variable.
* etc/NEWS: Mention display-raw-bytes-as-hex.

* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
(test-redisplay-5): New tests.
(test-redisplay): Call test-redisplay-5.
2017-06-01 21:12:39 +03:00
Eli Zaretskii
e922e3c7a5 Fix linum under text-scaling when leuven-theme is used
* etc/themes/leuven-theme.el (linum): Make the 'linum' face
inherit from 'default' and 'shadow', so that margins are enlarged
as expected under text-scaling.
2017-06-01 17:55:25 +03:00
Glenn Morris
9bc4c90d07 ; Auto-commit of loaddefs files. 2017-06-01 06:26:41 -04:00
Paul Eggert
877e808440 Free cwd when no longer needed
* lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
2017-05-31 22:38:32 -07:00
Anders Waldenborg
c221f1466e Fix memory leak of cwd string in emacsclient (Bug#26628)
* lib-src/emacsclient.c (main): emacsclient retrieves the current
working directory using get_current_dir_name which returns a newly
allocated string.  Make sure this string is freed before exiting.

Copyright-paperwork-exempt: yes
2017-05-31 22:58:30 -04:00
Noam Postavsky
28445aee59 ; CONTRIBUTE: Better example for multi-entry example ChangeLog
The new example has entries spanning multiple functions in a single
file as well as multiple files.
2017-05-31 22:54:37 -04:00
Glenn Morris
afcbec6114 Quieten compilation of some test files
* test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
* test/src/data-tests.el (binding-test-set-constant-t)
(binding-test-set-constant-nil, binding-test-set-constant-keyword)
(binding-test-set-constant-nil): Silence compiler.
* test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
2017-05-31 21:17:28 -04:00
Glenn Morris
6aacd4fb09 Use true names for invocation- and source-directory
* src/emacs.c (init_cmdargs) <Vinvocation_directory>:
* src/lread.c (init_lread) <Vsource_directory>: Use true names.
2017-05-31 21:13:40 -04:00
Glenn Morris
c4ecc01a45 Avoid elisp-mode test failures when source dir has multiple names
* test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
Use the true name of the directory.
2017-05-31 21:11:47 -04:00
Paul Eggert
32fd876809 Fix bug with "%%" in error format
* src/doprnt.c (doprnt): Format "%%" correctly.
Problem reported by Philipp Stephani in:
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00901.html
2017-05-31 16:50:24 -07:00
Paul Eggert
9c748b27c0 * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130). 2017-05-31 16:23:47 -07:00
Katsumi Yamaoka
8130d91095 Revert mml-generate-mime-1 (bug#27141)
* lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
with slight modernizations (bug#27141).
2017-05-31 23:21:27 +00:00
Michael Albinus
ca3622bf2e Fix Bug#27108
* lisp/recentf.el (recentf-load-list): Bind `non-essential',
in order to avoid Tramp password requests during Emacs
startup.  (Bug#27108)
2017-05-31 20:32:31 +02:00
Glenn Morris
24ed64a04c * test/Makefile.in (.SECONDARY): Stop make deleting .elc files. 2017-05-31 12:56:40 -04:00
Eli Zaretskii
76712f0feb Document current-line hscrolling in ELisp manual
* doc/lispref/windows.texi (Horizontal Scrolling): Document the
new mode of auto-hscrolling only the current line.
2017-05-31 19:15:40 +03:00