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

130436 commits

Author SHA1 Message Date
Paul Eggert
b7fa6b1f1c Simplify use of FOR_EACH_TAIL
* src/data.c (circular_list): New function.
* src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
decl, to eliminate the need for the args TAIL, TORTOISE and N, and
to speed things up a bit on typical hosts with optimization.
All uses changed (Bug#25605).
2017-02-05 13:30:28 -08:00
Simen Heggestøyl
5e222f6737 * lisp/textmodes/css-mode.el: Require subr-x at compile time 2017-02-05 22:23:57 +01:00
Eli Zaretskii
00e75bab62 ; * src/coding.c (Fencode_coding_region): Fix a typo in the doc string. 2017-02-05 21:55:21 +02:00
Eli Zaretskii
a541c21e86 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
* doc/lispref/nonascii.texi (Text Representations): Clarify that
'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
'filepos-to-bufferpos' can lead to expensive and slow processing.

* lisp/international/mule-util.el (filepos-to-bufferpos)
(bufferpos-to-filepos): Doc fix.  (Bug#25626)
2017-02-05 21:50:49 +02:00
Vibhav Pant
ad70ca1dad Merge remote-tracking branch 'origin/master' into feature/byte-switch 2017-02-05 23:08:53 +05:30
Vibhav Pant
2db473bda8 bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
  (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
  make sure that obj1/obj2 can be compared with `eq'.
2017-02-05 22:32:21 +05:30
Vibhav Pant
74a3423b0b * byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =. 2017-02-05 22:10:22 +05:30
Vibhav Pant
382f6603ad ; Fix typo.
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info): Fix
  typo in docstring.
2017-02-05 21:51:05 +05:30
Vibhav Pant
490fc5a502 ; bytecomp.el (-inline-lapcode): Fix incorrect parenthesis, refactor 2017-02-05 21:48:27 +05:30
Vibhav Pant
cadb044fc2 bytecomp.el: Inline lapcode containing `byte-switch' correctly.
* lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
  Restore value of byte-compile-depth after emitting a jump to a tag
  in a jump table, or default/done tags.
  Set the depth of final tags for byte-switch to nil after emitting
  any jumps to them.
2017-02-05 19:23:53 +05:30
Vibhav Pant
fea1ad36a0 ; * byte-opt.el (byte-decompile-bytecode-1): Add more documentation. 2017-02-05 18:55:45 +05:30
Vibhav Pant
84eef50155 byte-opt.el: Replace jump tables while decompiling correctly.
* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
  Don't make a copy of the constant vector, as it isn't used with
  the decompiled lapcode.
  Make sure that the correct lapcode pair/list is being modified while
  replacing the jump table.
2017-02-05 18:49:24 +05:30
Vibhav Pant
44c95c58b2 bytecomp.el: Don't store non-keyword symbols in jump-tables.
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
  nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
  table can only be used when comparing variables with constant values.
2017-02-05 15:37:43 +05:30
Tom Tromey
148100d983 typo fix
(css--colon-inside-selector-p): Fix typo in docstring.
2017-02-04 13:22:39 -07:00
Tom Tromey
394fc3fd03 Set comment-multi-line in js-mode
Bug#6806:
* lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
* test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
2017-02-04 13:00:59 -07:00
Simen Heggestøyl
caf31fb5f5 * test/manual/indent/scss-mode.scss: Fix indentation 2017-02-04 20:40:13 +01:00
Simen Heggestøyl
f6ff7bb1fc Fix indentation of multiline CSS property values
* lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
to properties higher precedence.
(css--colon-inside-selector-p, css--colon-inside-funcall): New
functions for helping SMIE during tokenization.
(css-smie--forward-token, css-smie--backward-token): Distinguish
colons belonging to properties from other colons.

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

* test/manual/indent/scss-mode.scss: Ditto.
2017-02-04 20:19:54 +01:00
Gemini Lasswell
ff4dd0d39c Add tests for lisp/kmacro.el
* test/lisp/kmacro-tests.el: New file.  (Bug#24939)
2017-02-04 13:55:47 +02:00
Eli Zaretskii
c8f91b168b Fix autorevert-tests on MS-Windows
* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): Don't check that
auto-revert-use-notify was reset to nil on w32.
2017-02-04 13:49:55 +02:00
Gemini Lasswell
ef3d8d6f72 New macro 'ert-with-message-capture'
* lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
(Bug#25158)

* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
(auto-revert-test00-auto-revert-mode)
(auto-revert-test01-auto-revert-several-files)
(auto-revert-test02-auto-revert-deleted-file)
(auto-revert-test03-auto-revert-tail-mode)
(auto-revert-test04-auto-revert-mode-dired):
* test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
ert-with-message-capture.
2017-02-04 13:36:43 +02:00
Gemini Lasswell
8ba27b7ce2 Avoid invalid read syntax errors due to 'ert-with-test-buffer'
* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
'declare' form.  (Bug#24722)
2017-02-04 13:18:29 +02:00
Eli Zaretskii
a46a61904d Fix a syntax error when evaluating pcase.el under Edebug
* lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
with an explicit 'put' form.  Suggested by Gemini Lasswell
<gazally@runbox.com>.  (Bug#24717)
2017-02-04 13:12:14 +02:00
Eli Zaretskii
cc84a405f3 ; * lisp/files.el (save-some-buffers-default-predicate): Add :version. 2017-02-04 12:59:41 +02:00
Gemini Lasswell
78f841d6db Change edebug-max-depth from defconst to defcustom
* lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
(Bug#24713)

* etc/NEWS: Mention edebug-max-depth.

* doc/lispref/edebug.texi (Checking Whether to Stop): Mention
edebug-max-depth and index it.  Add cross-references for
max-lisp-eval-depth and max-specpdl-size.

Co-authored-by: Eli Zaretskii <eliz@gnu.org>
2017-02-04 12:56:19 +02:00
Eli Zaretskii
c71b718be8 Support options with embedded whitespace in 'dired-listing-switches'
* lisp/dired.el (dired-listing-switches): Document how to quote
options with embedded whitespace.

* lisp/files.el (insert-directory): Use split-string-and-unquote
to support dired-listing-switches that specify command-line
options with embedded spaces.  (Bug#25485)
2017-02-04 12:02:55 +02:00
Gemini Lasswell
331eb6c915 Add tests for lisp/emacs-lisp/testcover.el
* test/lisp/emacs-lisp/testcover-tests.el: New file.
* test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.

Co-authored-by: Noam Postavsky <npostavs@users.sourceforge.net>
2017-02-04 11:43:50 +02:00
Eli Zaretskii
12a79dc3ce Document 'save-some-buffers-default-predicate'
* doc/lispref/files.texi (Saving Buffers):
* doc/emacs/files.texi (Save Commands): Document
save-some-buffers-default-predicate.
2017-02-04 11:33:54 +02:00
Richard Stallman
6db5582479 New defcustom 'save-some-buffers-default-predicate'
* lisp/files.el (save-some-buffers-default-predicate): New defcustom.
(save-some-buffers): Use it when PRED is nil or omitted.
2017-02-04 11:16:55 +02:00
Mark Oteiza
be10c00d3d Rename to if-let* and when-let*
Make the existing if-let and when-let aliases.
* lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
docstrings, incorporating that from let* and the existing if-let.
(if-let, when-let, and-let*): Alias them.
2017-02-03 21:42:42 -05:00
Vibhav Pant
de456d1e4a Revert "Use maphash instead of cl-loop."
This reverts commit bfa8852013.
2017-02-03 23:23:28 +05:30
Nicolas Petton
5e92111268
Bump Emacs version to 25.2 RC1
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version.
* lisp/ldefs-boot.el: Update.
2017-02-03 16:28:13 +01:00
Nicolas Petton
a51f11df0d
; Update ChangeLog.2 and AUTHORS files 2017-02-03 16:00:17 +01:00
Nicolas Petton
02d9ad8440
* admin/make-tarball.txt: Add documentation regarding the release banner. 2017-02-03 15:50:24 +01:00
Nicolas Petton
73e62bbcdc
; Update ChangeLog.2 and AUTHORS files 2017-02-03 15:32:01 +01:00
Tino Calancha
e1171de6d1 * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual. 2017-02-03 19:59:22 +09:00
Nicolas Petton
6102d01eca
; Update ChangeLog.2 and AUTHORS files 2017-02-03 11:39:48 +01:00
Tino Calancha
ab0a60a1b3 ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate word. 2017-02-03 17:49:39 +09:00
Paul Eggert
e080d019f4 Re-port alloc.c to Solaris sparc and simplify
alloc.c had bitrotted a bit, and used an undefined symbol
stack_base when Emacs was built on Solaris sparc, leading to
compilation failures.  Also, code related to __builtin_unwind_init
was unnecessarily duplicated.  Fix the bitrot and remove some
duplication.
* src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
is never defined.
(test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
Define a no-op dummy, to simplify use.
(test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
than in the caller, to simplify use.
(stacktop_sentry): New type.
(__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
(SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
(flush_stack_call_func, Fgarbage_collect): Use it.
(init_alloc): Omit unnecessary initialization.
After dumping, Emacs need not re-test setjmp.
2017-02-02 22:58:20 -08:00
Noam Postavsky
ce88155d83 ; Merge: fixes and updates to scroll margin (Bug#5718)
- add new option `maximum-sroll-margin'
- refactor and fix scroll margin calculation
2017-02-02 21:35:51 -05:00
Noam Postavsky
da515a0d8e Add tests for scrolling
* test/manual/scroll-tests.el: New tests for scroll-margin behavior.
2017-02-02 21:21:18 -05:00
Noam Postavsky
b9be4c14e8 Fix scrolling with partial lines
* src/xdisp.c (partial_line_height): New function.
(try_scrolling):
* src/window.c (window_scroll_pixel_based): Use it for calculating the
pixel scroll margin correctly in a window with partial lines.
2017-02-02 21:21:18 -05:00
Noam Postavsky
e27a91cddc Make limit on scroll-margin variable
* src/xdisp.c (maximum-scroll-margin): New variable.
* lisp/cus-start.el: Make it customizable.
* etc/NEWS: Mention it.
* doc/emacs/display.texi (Auto Scrolling):
* doc/lispref/windows.texi (Textual Scrolling): Document it.
* src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
division by 4 (Bug #5718).
2017-02-02 21:20:29 -05:00
Noam Postavsky
c92fc7a215 Don't count mode line for scroll-margin limit
* src/window.c (window_scroll_margin): Use window_box_height to avoid
counting header line, scrollbars for scroll-margin limit (Bug #5718).
2017-02-02 21:19:53 -05:00
Noam Postavsky
d17e92da06 Refactor uses of scroll_margin to a function
Its effective range needs to be clamped between 0 and (window height /
4), so it's better to have this constraint in a single place.

* src/window.c (window_scroll_margin): New function.
(window_scroll_pixel_based, window_scroll_line_based):
(Frecenter, Fmove_to_window_line):
* src/xdisp.c (try_scrolling, try_cursor_movement):
(redisplay_window, try_window, try_window_id): Use it.
2017-02-02 21:19:52 -05:00
Dmitry Gutov
604724e49d (xref-collect-matches): Use '-E' together with '-e'
* lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
together with '-e', as suggested by Noam Postavsky
(http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00780.html).
2017-02-03 03:12:05 +02:00
Paul Eggert
53c16c75a5 Pacify Oracle Studio 12.5
* src/emacs.c (main): Do not silently convert char * to bool.
2017-02-02 15:53:19 -08:00
Eli Zaretskii
df915775bc ; Fix recent documentation changes
* doc/emacs/search.texi (Other Repeating Search): Index recently
introduced variables and faces.
2017-02-02 23:06:48 +02:00
Paul Eggert
eee537267f Fix lisp.h underparenthesization
* src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
Parenthesize compound literals that are function call args.
Although this does not fix any bugs, it is the proper style for
macro parenthesization as it means this code will continue to
work even if make_lisp_ptr is changed to a macro.
2017-02-02 09:52:37 -08:00
Stefan Monnier
f5372d411d * lisp/doc-view.el (doc-view-mode): Don't require a final newline
(doc-view-revert-buffer): Silence overflow warnings.
2017-02-02 10:57:37 -05:00
Paul Eggert
46aa9a3009 Merge from gnulib
2017-01-30 Port to PGI 16.10 x86-64
2017-01-20 time_rz: fix comment typo
2017-01-14 strftime: %z is -00 if unknown
This incorporates:
* doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
* lib/time-internal.h, lib/verify.h:
Copy from gnulib.
2017-02-02 07:50:22 -08:00