1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-31 17:30:54 -08:00
Commit graph

126423 commits

Author SHA1 Message Date
Alan Mackenzie
b120fbd6a4 Ensure hack-local-variables is run in a fundamental mode buffer.
This fixes bug #23827.

* src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
gets set to that mode, so that `run-mode-hooks', and thus
`hack-local-variables' get run.
2016-06-24 16:03:29 +00:00
Tino Calancha
974a53bfbe Fix caller to ediff-setup
* lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
2016-06-25 00:26:09 +09:00
Alan Mackenzie
a4750b3956 Implement ' separators in C++ integer literals.
* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
c-before-after-change-digit-quote into the C++ value.
(c-before-font-lock-functions): Insert c-depropertize-new-text into the values
for all languages.  Insert c-before-after-change-digit-quote into the C++
value.

* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
c-save-buffer-state.
(c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
2016-06-24 13:26:34 +00:00
Paul Eggert
63457dcfe0 Update from gnulib
This incorporates:
2016-06-24 intprops: port better to GCC 7
2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
* doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
Copy from gnulib.
2016-06-24 13:51:08 +02:00
Martin Rudalics
dc49db725e Remove two uses of 'min' in Fwindow_text_pixel_size
* src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
it calls move_it_to twice.  Suggested by Eli Zaretskii.
2016-06-24 09:59:50 +02:00
Paul Eggert
098347a9b4 Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
* src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
since it is intended to be used only when it returns a non-null
pointer, and here the pointer might be null.
(IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
2016-06-24 02:20:09 +02:00
Mark Oteiza
90d0833f24 Remove some more face aliases obsoleted in 22.1
* lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
eshell-ls-executable-face, eshell-ls-readonly-face,
eshell-ls-unreadable-face, eshell-ls-special-face,
eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
eshell-ls-product-face, eshell-ls-clutter-face): Remove.
* lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
(isearch-lazy-highlight-update): Use face symbol.
* lisp/net/sieve-mode.el (sieve-control-commands-face,
sieve-action-commands-face, sieve-test-commands-face,
sieve-tagged-arguments-face): Remove.
(sieve-font-lock-keywords): Use non-obsolete faces.
* lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
(sh-get-indent-info, sh-prev-line): Use face symbol.
* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
Use non-obsolete face.
(tex-math-face, tex-verbatim-face): Remove.
(tex-font-lock-syntactic-face-function): Use face symbols.
2016-06-23 18:48:12 -04:00
Mark Oteiza
c430f7e23f Remove some face aliases obsoleted in 22.1
* lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
* lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
* lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
Info-title-4-face, info-menu-5):
* lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
* lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
* lisp/progmodes/make-mode.el (makefile-space-face):
* lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
(texinfo-font-lock-keywords): Use texinfo-heading face.
* lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
change-log-email-face, change-log-file-face, change-log-list-face,
change-log-conditionals-face, change-log-function-face,
change-log-acknowledgement-face):
* lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
diff-changed-face, diff-function-face, diff-context-face,
diff-nonexistent-face): Remove.
(diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
symbols.
(diff-hunk-file-names): Fix comment.
(diff-refine-change): Remove.
(diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
non-obsolete face.
* lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
(log-view-font-lock-keywords): Use non-obsolete face names.
* lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
* lisp/wid-edit.el (widget-documentation-face, widget-button-face,
widget-field-face, widget-single-line-field-face, widget-inactive-face,
widget-button-pressed-face):
* lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
woman-addition-face): Remove.
2016-06-23 17:13:11 -04:00
Eli Zaretskii
037f82a7e7 * lisp/international/characters.el (standard-case-table): Improve last change. 2016-06-23 22:44:08 +03:00
Eli Zaretskii
92289cec7c Improve results of 'upcase' for characters with title-case
* lisp/international/characters.el (standard-case-table): Swap the
order of some lines, to have 'upcase' return the upper-case
variant, not the title-case, for some characters whose lower-case
map to the same codepoints.  (Bug#23833)
2016-06-23 22:22:39 +03:00
Alan Mackenzie
7a20ebe5ca Make typing into incomplete C++ raw strings work, and make it work fast enough
* lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
Put `save-match-data' around calls to `looking-at' to enable the use of the
match data in higher level functions.

* lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
(c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
limit to speed up handling of C++ raw strings.
2016-06-23 16:12:45 +00:00
Eli Zaretskii
11a1761973 Fix handling of LWINDOW key on MS-Windows
* src/w32fns.c (funhook): Correct a typo which broke handling of
the LWINDOW key.  (Bug#23830)
2016-06-23 17:32:01 +03:00
Dmitry Gutov
07a986ea7e ; Revert "Prohibit multibyte characters in url-http-data"
This reverts commit 2ede29575f.

In favor of a better solution to be pushed to emacs-25.
2016-06-22 21:10:11 +03:00
Eli Zaretskii
a74683f116 Update Unicode data files from Unicode 9.0.0
* admin/unidata/copyright.html:
* admin/unidata/BidiBrackets.txt:
* admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
released.
2016-06-22 19:52:49 +03:00
Eli Zaretskii
cc113e557d Fix test for whether the '.el' file is newer than '.elc'
* src/lread.c (Fload): Don't overwrite the last character of the
file name in FOUND with 'c', unless the file name ended in ".elc"
to begin with.  Don't treat empty files as byte-compiled.  See
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00463.html
for more details of the problem this caused.
2016-06-22 18:55:14 +03:00
Eli Zaretskii
791193d309 Fix 'insert-file-contents' when REPLACE is non-nil
* src/fileio.c (maybe_move_gap): New function to move the gap to
the end of a buffer, if it isn't there already.
(Finsert_file_contents): Call 'maybe_move_gap' before using
conversion_buffer's text as a C 'char' array.  (Bug#23659)
* src/coding.c (decode_eol): Compute the byte increment before
calling del_range_2, because the latter can invalidate the pointer
to buffer text.
2016-06-22 18:41:13 +03:00
Ken Brown
bbc58feac5 Avoid compiler warning
* src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
2016-06-22 10:04:44 -04:00
Stefan Monnier
8270a64d53 * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region. 2016-06-22 09:44:24 -04:00
Ken Brown
81fc9a7c28 Fix last change to FRAME_INTERNAL_BORDER_WIDTH
* src/w32fns.c (x_set_internal_border_width): Don’t use
FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
lvalue.
2016-06-22 09:31:31 -04:00
Paul Eggert
1c0199050b Improve --without-x GCC pacification
* src/composite.c (autocmp_chars):
* src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
Use simpler ((void) 0) for no-op expression returning void.
* src/dispextern.h [HAVE_WINDOW_SYSTEM]:
Include fontset.h, for face_for_char.
(FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
Now inline functions instead of macros.  This avoids the need for
all those casts to void.
(FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
All uses changed.
* src/frame.c (Ficonify_frame, Fset_frame_position):
* src/xdisp.c (Fmove_point_visually, show_mouse_face):
* src/xdisp.c (note_mode_line_or_margin_highlight)
(note_mouse_highlight):
Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
now work either way without generating warnings.
* src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
(window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
(decode_window_system_frame): Use check_window_system instead of
rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
(decode_window_system_frame, check_window_system):
Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
* src/frame.c (Ficonify_frame, Fset_frame_position):
* src/xdisp.c (show_mouse_face, define_frame_cursor1)
(note_mouse_highlight):
Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
this is a better way to pacify GCC.
* src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
(x_set_right_divider_width, x_set_bottom_divider_width):
* src/xfns.c (x_set_internal_border_width):
Don’t use what are now function calls as lvalues.
* src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
(decode_window_system_frame, check_window_system):
Use it, to avoid the need for duplicate declarations.
(window_system_available): Now an inline function.
(display_available): New decl.
(frame_dimension): New inline function.
(FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
(FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
(FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
(FRAME_BOTTOM_DIVIDER_WIDTH):
Use it, to avoid the need for duplicate definitions.
Now inline functions instead of macros.
* src/gnutls.c (gnutls_log_function2i): Remove.
* src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
This avoids complaints about gnutls_log_function2i being defined
and not used on older platforms that do not need to call GNUTLS_LOG2i.
* src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
* src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
expr’ to ‘type id; id = expr’, as this would suppress valid
jump-misses-init diagnostics.  Let’s find a better way to address
the problem.
* src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
Define only if needed.
* src/xdisp.c (handle_single_display_spec):
Simplify fringe_bitmap computation.
(define_frame_cursor1): Do nothing unless in a window system.
All callers changed and simplified.
* src/xfaces.c (realize_default_face):
Use a simpler way to pacify GCC when a return value is not used
on some platforms.
2016-06-22 03:05:22 +02:00
Phillip Lord
c98bc9821f Ensure undo-boundary after all commands
* lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
  every command whether it (apparently) changes the buffer or not.

See Bug#23785 for discussion.
2016-06-21 21:39:33 +01:00
Eli Zaretskii
6cf8f0b74e Fix vertical layout calculations when newline has line-height property
* src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
'constrain_row_ascent_descent_p' flag after processing the
newline, similar to what 'display_line' does.  Without this, the
flag remains set once set by x_produce_glyphs, and causes the
vertical layout calculations to go awry, because Emacs thinks the
screen lines have zero height.	(Bug#23850)
2016-06-21 16:14:10 +03:00
Ken Brown
560c4ab1c3 Fix compiler warnings in Cygwin-w32 build
* src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
loop to avoid compiler warnings about empty body of 'if'
statement.

* src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
macro.
(x_create_bitmap_from_data): Declare 'frame'.
(x_create_bitmap_from_file): Don't declare unused variable
'dpyinfo'.

* src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
prevent "jump-misses-init" compiler warnings.

* src/w32fns.c (check_w32_winkey_state): Define and use only if
WINDOWSNT.
(Fx_show_tip): Declare 'f'.
(Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
(w32_strerror): Use format specifier %d for sprintf argument of
type int.
(emacs_abort): Cast sprintf argument of type DWORD to unsigned
int, and use format specifier %x, for compatibility with Cygwin.
(unicode_append_menu) [NTGUI_UNICODE]:
* src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
(set_menu_item_info, unicode_append_menu)
(unicode_message_box):
* src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
functions rather than macros to avoid "address will always
evaluate as true" compiler warnings.

* src/w32font.c (w32_to_x_charset): Use format specifier %d for
sprintf argument of type int.

* src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
sprintf argument of type int to unsigned int to match %X format
specifier.
(w32_scroll_bar_handle_click):
(w32_horizontal_scroll_bar_handle_click): Declare 'f'.

* src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
argument.
2016-06-20 23:05:12 -04:00
Ken Brown
d4c1535c63 Fix compiler warnings in no-window-system-build
* src/composite.c (autocmp_chars): Declare and set 'f' only if
HAVE_WINDOW_SYSTEM.

* src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
(FACE_FOR_CHAR): Explicitly discard unused arguments.

* src/font.c (font_open_entity): Declare 'min_width' where it is
first set, and only if HAVE_WINDOW_SYSTEM.

* src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
Define _Noreturn version to avoid "suggest attribute noreturn"
compiler warning.
(check_window_system): Declare as _Noreturn.
(Ficonify_frame):
(Fset_frame_position): Don’t declare and set 'f'.

* src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
(check_window_system):  Add _Noreturn prototypes.
(FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
(FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
(FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
(FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.

* src/xdisp.c (handle_single_display_spec): Declare
'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
(append_space_for_newline): Declare 'g' where it is first set.
(Fmove_point_visually): Declare and set 'target_is_eol_p' only if
HAVE_WINDOW_SYSTEM.
(show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
if HAVE_WINDOW_SYSTEM.
(note_mode_line_or_margin_highlight):
(note_mouse_highlight): Declare and set 'cursor' and 'pointer'
only if HAVE_WINDOW_SYSTEM.

* src/xfaces.c (realize_default_face): Declare and set 'face' only
if HAVE_X_WINDOWS.  Remove redundant #ifdef.
2016-06-20 21:53:49 -04:00
Michael Albinus
9eaec6859d ; Simplify in filenotify-tests.el 2016-06-20 15:05:52 +02:00
Michael Albinus
f11f6e5486 Weaken test conditions in filenotify-tests.el
* test/lisp/filenotify-tests.el (file-notify--test-with-events):
Fix thinko in test.
(file-notify-test02-events, file-notify-test04-file-validity)
(file-notify-test07-backup)
(file-notify-test08-watched-file-in-watched-dir): Make test
conditions more weak.  (Bug#23618)
2016-06-20 14:41:41 +02:00
Paul Eggert
9341142dc8 Minor ABLOCKS_BUSY cleanups in alloc.c
* src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
with member ‘abase’ in definiens.
(lisp_align_malloc, lisp_align_free): Use bool for boolean.
Avoid compiler warning with fewer casts.
(lisp_align_free): Check busy-field values; this can help the
compiler a bit when optimizing, too.
2016-06-20 02:06:17 +02:00
Dmitry Gutov
dd39c6fbeb ASCII-fy coding-system-for-read used for Git commands
* lisp/vc/vc-git.el (vc-git--asciify-coding-system):
New function.
(vc-git-diff, vc-git-annotate-command): Use it.
2016-06-19 22:08:21 +03:00
Dmitry Gutov
2ede29575f Prohibit multibyte characters in url-http-data
It didn't work anyway, but this makes any such errors more obvious
by catching them earlier.

* lisp/url/url-http.el (url-http-create-request):
Use string-to-unibyte (bug#23750).
2016-06-19 21:06:39 +03:00
Eli Zaretskii
ea5d141882 Fix setting a range of char-table slots in a singular case
* src/chartab.c (char_table_set_range): Start the loop from the
first character of the block to which FROM belongs.  (Bug#23797)

* test/src/chartab-tests.el: New test file.
2016-06-19 18:25:17 +03:00
Alan Mackenzie
4e9014f025 Fix CC Mode fontification problem apparent in test file decls-6.cc.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
"bar (gnu);" as a declarator only when the construct is directly inside a
class (etc.) called "bar".
(c-directly-in-class-called-p): New function.
2016-06-19 12:06:24 +00:00
Alan Mackenzie
65885ccf29 c-renarrow-state-cache: take care when new point is inside old brace pair.
Also add display of point-min to the c-parse-state debugging output.

* lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
point is inside an old recorded brace pair, clear the cache.
(c-debug-parse-state): Output the value of point-min.
2016-06-19 11:25:07 +00:00
Paul Eggert
13feb31c63 Rename ALIGN to pointer_align
* src/alloc.c (pointer_align): Rename from ALIGN.
This fixes Bug#23764 in a simpler way.
2016-06-19 04:32:59 +02:00
Paul Eggert
a985d2b09b Merge from origin/emacs-25
d1efbaf Fix documentation of completion functions
65c96cc Clarify documentation of 'font-lock-maximum-decoration'
2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
b49cb0a Fbackward_prefix_chars: stay within buffer bounds
2016-06-19 00:54:28 +02:00
Paul Eggert
f01684313f ; Merge from origin/emacs-25
The following commit was skipped:

d765175 Fix ifdef-vs-if typo with RANDR13_LIBRARY
2016-06-19 00:54:28 +02:00
Paul Eggert
d9088290ef Merge from origin/emacs-25
2317c61 Fix last todo-mode change
5d4d8a3 Improve last todo-mode fix
d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
d308aa1 Minor grammar fix (bug#23746)
20de667 Doc fixes for grammar and typos (bug#23746)
a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
27f440e Add cross-reference to ELisp manual
10802d8 ; make change-history-commit
4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
12e009e Restore initial undo boundary with viper
291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
6921f4a Fix dbus crash on 32-bit Cygwin
2016-06-19 00:53:51 +02:00
Paul Eggert
8085d5fcc4 ; Merge from origin/emacs-25
The following commit was skipped:

e18ee60 Bump version to 25.0.95
2016-06-19 00:47:01 +02:00
Paul Eggert
68cb71c092 Merge from origin/emacs-25
9ae514a * etc/AUTHORS: Update the AUTHORS file
3ca428e add entries to authors.el
66d556b Fix eldoc-related freezes in python mode
d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
a813487 Fix undo boundary in recursive edit (Bug#23632)
1f85b7c Doc fixes re alist-get.  (Bug#23548)
ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
2016-06-19 00:47:00 +02:00
Noam Postavsky
d1efbafdf2 Fix documentation of completion functions
So that the described behavior matches the code (and docstrings).

* doc/lispref/minibuf.texi (Basic Completion): Symbol keys of hash table
collections are used like string keys, not ignored (Bug #10416).
2016-06-18 14:59:23 -04:00
Eli Zaretskii
65c96cc025 Clarify documentation of 'font-lock-maximum-decoration'
* doc/emacs/display.texi (Font Lock): Explain how to make the
customization of 'font-lock-maximum-decoration' effective for an
existing buffer.  (Bug#23783)
2016-06-18 12:50:57 +03:00
Nicolas Petton
87c9d8fcec * lisp/emacs-lisp/map.el (map-contains-key): Better docstring 2016-06-18 10:10:00 +02:00
Nicolas Petton
ead28454b8 Fix seq-contains
Make sure seq-contains return the element of the sequence instead of t.

* lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
* test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
2016-06-18 10:10:00 +02:00
Nicolas Petton
2aebb0dd1f Add new function map-do
* lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
  functions.
* test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
2016-06-18 10:10:00 +02:00
Nicolas Petton
9726856f29 Add seq-do-indexed
* lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
* test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
2016-06-18 10:10:00 +02:00
Stefan Monnier
44eca25a4b map.el (map-merge*): Use `map-into' at beginning rather than end
* lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
and don't use of an intermediate alist.
(map-merge-with): Same, plus use `cl-callf' to try and avoid performing
3 lookups per inner iteration.
2016-06-18 00:52:58 -04:00
Glenn Morris
2ad3d0182d * doc/misc/cl.texi (Usage): Add some more details. 2016-06-17 12:55:06 -04:00
Noam Postavsky
b49cb0ab9c Fbackward_prefix_chars: stay within buffer bounds
The commit 1fd3172d "(Fbackward_prefix_chars): Set point properly while
scanning" (1998-03-18), moved the check against of the position against the
buffer beginning out the loop condition so that we might end up checking
the syntax of characters before the beginning of the buffer.  This can
cause segfaults or trigger a "Point before start of properties" error in
`update_interval' (called indirectly from `char_quoted').

* src/syntax.c (Fbackward_prefix_chars): Stop the loop when beginning of
buffer is reached (Bug #3552, Bug #17132, Bug #19379).
2016-06-16 23:18:00 -04:00
Mark Oteiza
574cd99692 * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version. 2016-06-16 19:57:39 -04:00
Paul Eggert
d765175ef1 Fix ifdef-vs-if typo with RANDR13_LIBRARY
* src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00198.html

(cherry picked from commit dce99f222f)
2016-06-16 13:31:08 -04:00
Stephen Berman
2317c61868 Fix last todo-mode change
* lisp/calendar/todo-mode.el (todo-read-category): Return the
keymap in order to use its defined key bindings.
2016-06-16 11:05:36 +02:00