1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-13 11:12:19 -08:00
Commit graph

38282 commits

Author SHA1 Message Date
Eli Zaretskii
cc057e4313 Speed up redisplay of binary files with long series of nulls
* src/bidi.c (bidi_resolve_weak): Avoid entering a loop searching
for a character needed for resolving the type of a series of BN
and ET characters, as required by rule W5 of UAX#9, if the results
of the resolution are known in advance, because we are at level
zero, and the previous strong character was L.
(bidi_resolve_neutral): Partially resurrect the optimization for a
long series of control characters in an otherwise strictly L2R
text.
(bidi_level_of_next_char): Don't enter the loop that searches for
a paragraph separator if the current character is already at base
embedding level.  (Bug#22739)
2016-03-06 18:14:46 +02:00
Paul Eggert
c45a1ca3c4 doc string file descriptor exhaustion fix
* src/doc.c (get_doc_string): Move newly-added check to a better
location (Bug#22814).
2016-03-04 16:30:43 -08:00
Michael Albinus
265141b332 Fix Bug#22814
* src/doc.c (get_doc_string): Raise an error in case too many
files are open.  (Bug#22814)
2016-03-04 12:57:43 +00:00
Eli Zaretskii
ab30bf5e87 ; * src/w32proc.c: Update the commentary to sys_select. 2016-03-01 20:18:10 +02:00
Eli Zaretskii
14810299f2 Fix reordering of bidi text in an isolate inside an override
* src/bidi.c (bidi_resolve_explicit): Override the orig_type value
of FSI with either LRI or RLI, as determined by the first strong
directional character in the isolate.  This prevents failure to
isolate when the FSI...PDI text is inside a directional override.
(Bug#22786)
2016-03-01 18:41:04 +02:00
Anders Lindgren
bbe8a899ac Made the new OS X visible bell more visible.
* src/nsterm.m: (EmacsBell:init:) Scaled up the visible bell
  "caution" image five times, as the image in its original size
  was hard to see.
2016-02-29 21:54:15 +01:00
Andreas Schwab
9e078e592f Fix char signedness issue in bidi code
* src/dispextern.h (struct bidi_t): Change type of resolved_level
and isolate_level to signed char.  (Bug#22830)
2016-02-27 16:59:50 +01:00
Eli Zaretskii
d2dd614716 Remove unneeded workaround in xftfont.c
* src/xftfont.c (xftfont_open): Remove "dirty workaround" for
XftTextExtents8 behavior, as it is no longer needed.  Suggested by
Fangwen Yu <yynyygy@gmail.com>.  (Bug#22383)
2016-02-25 21:59:57 +02:00
Eli Zaretskii
06a872b71d Fix redisplay on a TTY after 'make-frame'
* src/xdisp.c (clear_garbaged_frames): Don't clear/redraw a
garbaged TTY frame if it is not the selected frame.  (Bug#22794)
2016-02-25 19:57:47 +02:00
Chris Feng
8be32cf45c Fix an assertion
* src/dispnew.c (clear_glyph_matrix_rows): Test matrix->nrows == 0 (which
implies start == 0) separately.
2016-02-25 09:34:55 +08:00
Stefan Monnier
5244db2915 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
* src/keyboard.c (read_key_sequence): Don't inadvertently set
immediate_echo when we don't want any echo-keystrokes.
(echo_keystrokes_p): Move earlier.
2016-02-24 15:50:54 -05:00
Chris Feng
cab3f0a222 Allocate glyph matrices for the initial frame
* src/frame.c (make_initial_frame): Allocate glyph matrices (Bug#22787).

* src/dispnew.c (clear_glyph_matrix_rows): matrix->nrows can be 0.

Copyright-paperwork-exempt: yes
2016-02-24 08:58:02 +01:00
Eli Zaretskii
00a4720318 Further improve doc string of 'disable-point-adjustment'
* src/keyboard.c (syms_of_keyboard): <disable-point-adjustment>
<global-disable-point-adjustment>: Clarify doc strings.  (Bug#22771)
2016-02-23 19:35:21 +02:00
Eli Zaretskii
6bd9d697fd Fix documentation of 'global-disable-point-adjustment'
* src/keyboard.c (syms_of_keyboard) <disable-point-adjustment>
<global-disable-point-adjustment>: Doc fixes.  (Bug#22771)
2016-02-22 19:30:01 +02:00
Eli Zaretskii
ea0b604412 Fix memory reservation on MS-Windows
* src/w32heap.c (mmap_alloc): Reserve memory in 64KB granular
units.  This avoids leaving gaps in reserved memory regions that
no one can use, since memory reservation must produce 64KB-aligned
addresses.  (Bug#22526)
2016-02-20 18:59:14 +02:00
Eli Zaretskii
1e996cfbd0 Fix "[:upper:]" for non-ASCII characters
* src/regex.c (re_match_2_internal): Support [:upper:] and
[:lower:] for non-ASCII characters.  (Bug#18150)
2016-02-20 13:03:20 +02:00
Eli Zaretskii
289d5c6e97 Fix decoding DOS EOL in a unibyte buffer
* src/coding.c (decode_eol): Loop over bytes, not characters.
(Bug#5251)
2016-02-17 17:48:30 +02:00
Paul Eggert
15a946479c Fix x-load-color-file pointer signedness
* src/xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]:
For sscanf and int *, use %d, not %u.
Problem found on Ubuntu 15.10 x32, which lacks X support.
2016-02-16 23:25:59 -08:00
Eli Zaretskii
44b16f60fd Avoid crashes in semi-malformed 'condition-case'
* src/eval.c (internal_lisp_condition_case): Treat a handler
'(nil)' as if it were '(nil nil)'.  (Bug#22675)
2016-02-15 16:03:54 +02:00
Eli Zaretskii
d9ea795035 Fix regression with 'recent-keys' and keyboard macros
* src/keyboard.c (record_char): Don't record in 'recent_keys'
events that come from executing keyboard macros.  (Bug#22674)
2016-02-15 14:03:57 +02:00
Paul Eggert
cf79616133 ; Spelling fixes 2016-02-14 19:45:12 -08:00
Paul Eggert
f3aaca3552 Port USE_STACK_LISP_OBJECTS fix to Clang
* src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false for Clang.
Recent versions of Clang claim to be GCC 4.2.1 but do not have
the GCC bug.
2016-02-14 11:43:04 -08:00
Paul Eggert
1834ac7d24 Port to x86 GCC 4.3.1 and earlier
This tries to port to x86 FreeBSD 9, where Emacs dumps core (Bug#22065).
* src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false
for GCC 4.3.1 and earlier.
2016-02-14 11:23:52 -08:00
Eli Zaretskii
84829495b5 Fix point movement under 'scroll-conservatively'
* src/xdisp.c (redisplay_window): Correct a typo in computing the
effective number of text lines in a window.  (Bug#22637)
2016-02-14 21:20:48 +02:00
Eli Zaretskii
8badf953da Make 'mmap_realloc' on MS-Windows more reliable
* src/w32heap.c (mmap_alloc): If reserving memory succeeds, but
committing fails, return NULL.  Don't call GetLastError twice for
the same API error.
(mmap_realloc): Zero out MEMORY_BASIC_INFORMATION structures
before calling VirtualQuery, to avoid using garbled values if the
call fails.  If committing more pages from the same block fails,
fall back on mmap_alloc + CopyMemory.  Enhance debugging printouts
if the call to VirtualAlloc to commit more pages fails.
(Bug#22526)
2016-02-14 19:46:29 +02:00
Eli Zaretskii
47896c8446 ; Improve commentary in insdel.c
* src/insdel.c (gap_left, gap_right, make_gap_larger)
(make_gap_smaller): Improve commentary.
2016-02-13 17:48:38 +02:00
Paul Eggert
1c98f98991 Suppress GNUstep hardening
Fedora 23 normally hardens GNUstep applications, which causes
‘./configure --with-ns’ to break Emacs’s funky way of undumping.
Fix this by eliding the hardening options (Bug#22518).
* src/Makefile.in (LIBS_GNUSTEP): Omit options like
‘-specs=/usr/lib/rpm/redhat/redhat-hardened-ld’.
(GNU_OBJC_CFLAGS): Omit options like
‘-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1’.
2016-02-12 16:24:04 -08:00
Eli Zaretskii
d82f24ba85 Fix redisplay after a large insertion
* src/xdisp.c (redisplay_internal): Don't accept the results of
"optimization 3" if the cursor ends up in a partially visible
glyph row.  (Bug22637)
2016-02-12 21:38:44 +02:00
Lars Ingebrigtsen
f5d6b9bb5b Revert "Support integer image rotation and respect EXIF rotations"
This reverts commit 0f60049605.

This change does not work on Fedora.
2016-02-11 14:05:48 +11:00
Alan Third
eb4a18c7db Set locale when run from OS X GUI
* src/emacs.c (main): Call ns_init_locale.
* src/nsterm.m (ns_init_locale): Get locale from OS and set LANG.
* src/nsterm.h: Include ns_init_locale.
2016-02-10 18:36:04 -08:00
Eli Zaretskii
4ef153b55a Improve doc strings of 'forward/backward-word-strictly'
* lisp/simple.el (backward-word): Refer to 'backward-word-strictly'
in the doc string.  Suggested by Glenn Morris <rgm@gnu.org>.
* lisp/subr.el (forward-word-strictly, backward-word-strictly):
Mention 'subword-mode' in the doc strings.

* src/syntax.c (Fforward_word): Refer to 'forward-word-strictly'
in the doc string.  (Bug#22560)
2016-02-10 20:30:12 +02:00
Dima Kogan
0f60049605 Support integer image rotation and respect EXIF rotations
* src/image.c (imagemagick_load_image): Allow integer rotations in
addition to floating point rotations (bug#22591).
* src/image.c (imagemagick_load_image): Images that have an
orientation given in EXIF and have no explicit :rotation tag are now
pre-rotated.  All information such as width/height is reported for the
rotated image.
2016-02-10 15:45:46 +11:00
Paul Eggert
0a289d38b5 Suppress ACL ops if configured with --disable-acl
Without this patch, some ACL operations were suppressed, but not all.
* src/fileio.c [!USE_ACL]: Do not include sys/acl.h.
(Ffile_acl, Fset_file_acl) [!USE_ACL]: Return nil in this case.
2016-02-09 15:02:59 -08:00
Paul Eggert
145a11e1a3 Minor alignas cleanup
* src/lisp.h (alignas): Remove now-redundant #ifdef that was left
over from the old way of doing things, before Bug#20862 was fixed.
2016-02-09 14:17:01 -08:00
Paul Eggert
f65ef80fed Add lmalloc commentary and tweak laligned
* src/alloc.c (laligned): Help compiler in a tiny way by putting
the more-commonly-failing disjunct first.
2016-02-09 14:17:01 -08:00
Paul Eggert
b1079c0f86 Increase success rate of fallback lmalloc
* src/alloc.c (lmalloc, lrealloc): Reallocate with (typically)
larger and larger sizes, to increase the probability that
the allocator will return a Lisp-aligned pointer.
2016-02-08 20:25:23 -08:00
Paul Eggert
463a8eae61 Port to FreeBSD 11-CURRENT i386
Problem reported by Herbert J. Skuhra in:
http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00354.html
Instead of trying
* src/alloc.c (lmalloc, lrealloc, laligned): New functions.
(xmalloc, xzalloc, xrealloc, lisp_malloc): Use them.
(__alignof__) [!__GNUC__ && !__alignof__]: New macro.
(MALLOC_IS_GC_ALIGNED): New macro.
* src/lisp.h (NONPOINTER_BITS): Remove.  All uses removed.
No longer needed now that alloc.c uses lmalloc and lrealloc.
2016-02-08 11:39:54 -08:00
David Edmondson
35cbe2095b src/process.c Correctly convert AF_INET6 addresses
* src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
converted to a list of 16 bit quantities by
conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
same scheme rather than expecting a (longer) list of 8 bit
quantities.

Backport:

(cherry picked from commit 55ce3c30d6)
2016-02-07 12:55:57 +11:00
Oscar Fuentes
c77ffc8019 Use monitor's resolution for positioning tooltips
* src/xfns.c (compute_tip_xy): Use the resolution of the monitor where
  the mouse pointer is to avoid placing the tooltip over the border of
  the monitor on multi-head displays. Fixes bug#22549.
2016-02-06 22:18:47 +01:00
Eli Zaretskii
be1d87492e Fix issues found by auditing w32notify code
* src/w32inevt.c (handle_file_notifications): Count the number of
events to be returned.
* src/w32notify.c (send_notifications): Don't copy to the file
notification buffer more than it can hold.  (Bug#22534)
2016-02-06 18:30:35 +02:00
Eli Zaretskii
c1d32a6537 Fix problems caused by new implementation of sub-word mode
* lisp/subr.el (forward-word-strictly, backward-word-strictly):
New functions.
(word-move-empty-char-table): New variable.

* etc/NEWS: Mention 'forward-word-strictly' and
'backward-word-strictly'.

* doc/lispref/positions.texi (Word Motion): Document
'find-word-boundary-function-table', 'forward-word-strictly', and
'backward-word-strictly'.  (Bug#22560)

* src/syntax.c (syms_of_syntax)
<find-word-boundary-function-table>: Doc fix.

* lisp/wdired.el (wdired-xcase-word):
* lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
(texinfo-copy-section-title, texinfo-start-menu-description)
(texinfo-copy-menu-title, texinfo-specific-section-type)
(texinfo-insert-node-lines, texinfo-copy-next-section-title):
* lisp/textmodes/texinfo.el (texinfo-clone-environment)
(texinfo-insert-@end):
* lisp/textmodes/texinfmt.el (texinfo-format-scan)
(texinfo-anchor, texinfo-multitable-widths)
(texinfo-multitable-item):
* lisp/textmodes/tex-mode.el (latex-env-before-change):
* lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
* lisp/skeleton.el (skeleton-insert):
* lisp/simple.el (count-words):
* lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
(vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
(vhdl-update-sensitivity-list, vhdl-template-block)
(vhdl-template-break, vhdl-template-case, vhdl-template-default)
(vhdl-template-default-indent, vhdl-template-for-loop)
(vhdl-template-if-then-use, vhdl-template-bare-loop)
(vhdl-template-nature, vhdl-template-procedural)
(vhdl-template-process, vhdl-template-selected-signal-asst)
(vhdl-template-type, vhdl-template-variable)
(vhdl-template-while-loop, vhdl-beginning-of-block)
(vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
* lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
(verilog-forward-sexp, verilog-beg-of-statement)
(verilog-set-auto-endcomments, verilog-backward-token)
(verilog-do-indent):
* lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
(vera-indent-block-closing):
* lisp/progmodes/simula.el (simula-context)
(simula-backward-up-level, simula-forward-down-level)
(simula-previous-statement, simula-next-statement)
(simula-skip-comment-backward, simula-calculate-indent)
(simula-find-if, simula-electric-keyword):
* lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
* lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
(ruby-smie--forward-token, ruby-smie--backward-token)
(ruby-singleton-class-p, ruby-calculate-indent)
(ruby-forward-sexp, ruby-backward-sexp):
* lisp/progmodes/ps-mode.el (ps-run-goto-error):
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
(perl-syntax-propertize-special-constructs)
(perl-backward-to-start-of-continued-exp):
* lisp/progmodes/pascal.el (pascal-indent-declaration):
* lisp/progmodes/octave.el (octave-function-file-p):
* lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
* lisp/progmodes/js.el (js--forward-function-decl):
* lisp/progmodes/idlwave.el (idlwave-show-begin-check)
(idlwave-beginning-of-block, idlwave-end-of-block)
(idlwave-block-jump-out, idlwave-determine-class):
* lisp/progmodes/icon.el (icon-is-continuation-line)
(icon-backward-to-start-of-continued-exp, end-of-icon-defun):
* lisp/progmodes/hideif.el (hide-ifdef-define):
* lisp/progmodes/f90.el (f90-change-keywords):
* lisp/progmodes/cperl-mode.el (cperl-electric-pod)
(cperl-linefeed, cperl-electric-terminator)
(cperl-find-pods-heres, cperl-fix-line-spacing)
(cperl-invert-if-unless):
* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
* lisp/progmodes/cc-align.el (c-lineup-java-inher):
* lisp/progmodes/ada-mode.el (ada-compile-goto-error)
(ada-adjust-case-skeleton, ada-create-case-exception)
(ada-create-case-exception-substring)
(ada-case-read-exceptions-from-file, ada-after-keyword-p)
(ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
(ada-get-indent-if, ada-get-indent-block-start)
(ada-get-indent-loop, ada-get-indent-type)
(ada-search-prev-end-stmt, ada-check-defun-name)
(ada-goto-decl-start, ada-goto-matching-start)
(ada-goto-matching-end, ada-looking-at-semi-or)
(ada-looking-at-semi-private, ada-in-paramlist-p)
(ada-search-ignore-complex-boolean, ada-move-to-start)
(ada-move-to-end, ada-which-function, ada-gen-treat-proc):
* lisp/net/quickurl.el (quickurl-grab-url):
* lisp/mail/sendmail.el (mail-do-fcc):
* lisp/mail/rmail.el (rmail-resend):
* lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
* lisp/mail/mail-extr.el (mail-extract-address-components):
* lisp/json.el (json-read-keyword):
* lisp/files.el (insert-directory):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/completion.el (symbol-under-point, symbol-before-point)
(symbol-before-point-for-complete, next-cdabbrev)
(add-completions-from-c-buffer):
* lisp/cedet/semantic/texi.el (semantic-up-context)
(semantic-beginning-of-context):
* lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
use 'forward-word-strictly' and 'backward-word-strictly' instead
of 'forward-word' and 'backward-word'.
2016-02-05 23:54:21 +02:00
Eli Zaretskii
8784ebf3a9 Fix x-popup-menu on TTYs without a mouse
* src/menu.c (Fx_popup_menu): Be sure to initialize 'x' and 'y'
for the TTY case without a mouse.  (Bug#22538)
2016-02-03 18:11:10 +02:00
Eli Zaretskii
a4278e28f6 Fix failure to compile ns-win.el in parallel builds
* src/Makefile.in ($(lispsource)/term/ns-win.elc): Add order-only
dependency on $(lispsource)/international/charprop.el.
(Bug#22501)
2016-02-02 22:09:32 +02:00
Martin Rudalics
e639e10a63 Some corrections in Elisp manual
* doc/lispref/buffers.texi (Read Only Buffers): Describe optional
argument POSITION.
* doc/lispref/debugging.texi (Error Debugging): `debug-on-signal'
is an option.
* doc/lispref/display.texi (Refresh Screen): Describe optional
argument FRAME of `redraw-frame'.
(Attribute Functions): Describe optional argument CHARACTER of
`face-font'.
(Defining Images): `image-load-path' is an option.
(Beeping): `ring-bell-function' is an option.
* doc/lispref/frames.texi (Size and Position): The PIXELWISE
argument of `set-frame-size' is optional.
(Raising and Lowering): The TERMINAL argument of `tty-top-frame'
is optional.
* doc/lispref/keymaps.texi (Controlling Active Maps): Fix doc of
`set-transient-map'.
* doc/lispref/minibuf.texi (Text from Minibuffer):
`read-regexp-defaults-function' is an option.
(Minibuffer Contents): `delete-minibuffer-contents' is a command.
* doc/lispref/modes.texi (Mode Line Variables):
`mode-line-position' and `mode-line-modes' are variables, not
options.
* doc/lispref/strings.texi (Creating Strings): The START argument
of `substring' is optional.
* doc/lispref/text.texi (Buffer Contents): Describe optional
argument NO-PROPERTIES of `thing-at-point'.
(User-Level Deletion): Both arguments of
`delete-trailing-whitespace' are optional.
(Margins): Use @key{RET} instead of @kbd{RET}.
* doc/lispref/windows.texi (Display Action Functions): Write
non-@code{nil} instead of non-nil.
(Choosing Window Options): The WINDOW arg of
`split-window-sensibly' is optional.
(Choosing Window Options): Write non-@code{nil} instead of
non-nil.
(Window Start and End): Both args of `window-group-end' are
optional.

* src/buffer.c (Fbarf_if_buffer_read_only): Rename argument POS
to POSITION to keep consisteny with doc-string.
2016-02-01 19:01:34 +01:00
Paul Eggert
7b1d2b1b62 Fix (c & 040) typo in emergency escapes
* src/keyboard.c (handle_interrupt): Fix recently-introduced
typo (040 should have been ~040) that silently suppressed
auto-saves after emergency escapes.  Redo comparison to avoid
similar problems.
2016-01-31 10:39:14 -08:00
Eli Zaretskii
a8273dacd5 Fix display of overlay strings with 'display' and 'box' property
* src/xdisp.c (get_next_display_element): Take the box face from
display stack level that comes from a buffer, not an overlay
string.  (Bug#22499)
2016-01-31 18:10:12 +02:00
John Wiegley
98bdbdbebb Correct reference to DARWIN_OS preprocessor symbol
* src/alloc.c: Correct a preprocessor reference to DARWIN_OS, which may
  not be defined.
2016-01-30 21:34:32 -08:00
Paul Eggert
b250d2996a Spelling fix 2016-01-30 20:16:20 -08:00
Paul Eggert
93b144bbaa Pacify GCC on C library without glibc API
Without this change, with --enable-gcc-warnings GCC would complain
“error: redundant redeclaration of ‘aligned_alloc’”.
* configure.ac: Simplify aligned_alloc testing.
* src/alloc.c (aligned_alloc): Don’t use if DARWIN_OS,
since the simplified configure.ac no longer checks for that.
Don’t declare if HAVE_ALIGNED_ALLOC.
Correct misspelling of HAVE_ALIGNED_ALLOC in ifdef.
2016-01-30 18:39:27 -08:00
Eli Zaretskii
39b166fc43 Disable DebPrint in sys_read on MS-Windows
* src/w32.c (sys_read): Disable a debugging print that is normal
when non-blocking reads are retried.
2016-01-30 20:05:20 +02:00