Commit graph

38372 commits

Author SHA1 Message Date
Andreas Schwab
686b520ff9 Fix memory leak in imagemagick-types
* src/image.c (Fimagemagick_types): Use AcquireExceptionInfo to
avoid memory leak.
2016-07-10 20:24:08 +02:00
Eli Zaretskii
03bcf116fb Un-confuse doc string of 'string-collate-equalp'
* src/fns.c (Fstring_collate_equalp): Remove confusing text from
doc string.  (Bug#23902)
2016-07-08 13:05:01 +03:00
Phillip Lord
8f9c1eda93 Fix missing undo-boundary on revert-buffer.
* lisp/simple.el (undo-auto--undoable-change-no-timer): New function.
* src/fileio.c (insert-buffer-contents): Call
  undo-auto--undoably-changed-buffers before changes.

Addresses Bug#23785.

Do not merge to master as c98bc98 also addresses the same bug.
2016-07-06 10:16:10 +01:00
Paul Eggert
a5dcc97bab Fix open-network-stream responsiveness
Problem reported by Christer Ekholm (Bug#23864).
Backport from master.
* src/process.c (wait_reading_process_output):
Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
when wait == INFINITY and got_output_end_time is invalid.
In this case the code should break, not continue.
2016-07-06 01:04:22 +02:00
Phillip Lord
d4c6774f40 Fix missing point information in undo
* src/undo.c (record_insert): Use record_point instead of
  prepare_record, and do so unconditionally.
  (prepare_record): Do not record first change.
  (record_point): Now conditional on state before the last command.
  (record_delete): Call record_point unconditionally.
  (record_property_change): Use prepare_record.
  (record_marker_adjustments): Use prepare_record.

Addresses Bug# 21722
2016-07-05 09:27:59 +01:00
Eli Zaretskii
3a9d6296b3 Avoid crashes when buffer modification hooks clobber match data
* src/search.c (Freplace_match): Error out if buffer modification
hooks triggered by buffer changes in replace_range, upcase-region,
and upcase-initials-region clobber the match data needed to be
adjusted for the replacement.  (Bug#23869)
2016-07-04 18:34:40 +03:00
Eli Zaretskii
21110afa2c Avoid assertion violations when rendering some fonts
* src/dispextern.h (FONT_TOO_HIGH): Don't consider a font "too
high" if its pixel_size value is zero.  This avoids assertion
violations at the end of x_produce_glyphs.
2016-06-29 19:14:58 +03:00
Noam Postavsky
272ddc6793 Fixup warning message regarding HOME a bit more
* src/w32.c (init_environment): The manual section title is "Windows
HOME" (Bug #11612).  Move newline so warning fits in 80 character lines.
2016-06-27 18:37:56 -04:00
Noam Postavsky
c150a6461b ; Fix typo in commit before last 2016-06-27 07:59:04 -04:00
Noam Postavsky
fd9fad062f Give more helpful warning about setting HOME
* src/w32.c (init_environment): Improve warning message that pops when
Emacs sets HOME according to existence of C:\.emacs (Bug #11612).

Co-authored-by: Eli Zaretskii <eliz@gnu.org>
2016-06-26 20:44:23 -04:00
Eli Zaretskii
4395aaacd4 Fix documentation of 'assoc-string' and 'compare-strings'
* src/minibuf.c (Fassoc_string): Clarify how CASE-FOLD affects the
string comparison.  (Bug#23833)
* src/fns.c (Fcompare_strings): Fix the description of how
IGNORE-CASE affects the comparison.

* doc/lispref/strings.texi (Text Comparison): Clarify how
CASE-FOLD affects the string comparison in 'assoc-string'.  Fix
the description of how IGNORE-CASE affects the comparison in
'compare-strings'.
2016-06-23 18:09:14 +03:00
Phillip Lord
829733104d ; Revert "Ensure undo-boundary after insert-file-contents."
This reverts commit 6cdd8f7153.

The original commit did not address the problem it was claiming to.
2016-06-22 09:42:49 +01:00
Phillip Lord
6cdd8f7153 Ensure undo-boundary after insert-file-contents.
* src/fileio.c: Record undoable change during insert-file-contents.

Addresses Bug #23785.
2016-06-21 21:34:08 +01:00
Eli Zaretskii
5f37572321 Fix removal of variables from process-environment
* src/callproc.c (add_env): Fix comparison of a variable with a
value against the same variable without a value.  (Bug#23779)
2016-06-20 17:19:25 +03: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
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
Glenn Morris
27dec5264f * src/alloc.c (ALIGN): Avoid error on DragonFly BSD. (Bug#23764) 2016-06-14 13:39:30 -04:00
Stephen Berman
20de6679b0 Doc fixes for grammar and typos (bug#23746)
* doc/emacs/files.texi (Customize Save):
* doc/emacs/frames.texi (Window Dividers):
* doc/emacs/misc.texi (Printing):
* doc/lispref/compile.texi (Compiler Errors):
* doc/lispref/keymaps.texi (Changing Key Bindings):
* doc/lispref/loading.texi (Named Features):
* doc/lispref/markers.texi (Marker Insertion Types):
* doc/lispref/modes.texi (Mode Hooks):
* doc/lispref/text.texi (Undo):
* src/floatfns.c (Fldexp):
* src/xfaces.c (syms_of_xfaces):
Minor doc fixes for grammar and typos (bug#23746).
2016-06-13 18:08:22 +02:00
Ken Brown
6921f4a596 Fix dbus crash on 32-bit Cygwin
* src/dbusbind.c (Fdbus__init_bus): Use make_save_pointer to store
connection address.  (Bug#23741)
(xd_lisp_dbus_to_dbus): Use XSAVE_POINTER to retrieve connection
address.
2016-06-11 08:31:27 -04:00
Phillip Lord
a813487f1a Fix undo boundary in recursive edit (Bug#23632)
* src/keyboard.c (recursive_edit_1): specbind
   undo-auto--undoably-changed-buffers.
 * lisp/simple.el (undo-auto--undoably-changed-buffers):
   fix docstring.
2016-06-08 22:45:00 +01:00
Glenn Morris
56fa055bbf * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>: Doc fix. 2016-06-07 17:39:19 -04:00
Paul Eggert
6e3adf8a4a Fix crash in syntax.c after GC
Problem reported by Vincent Belaïche (Bug#23704).
* src/syntax.c (skip_chars): Recompute pointers into the
buffer after every call to update_syntax_table_forward,
as it can GC.
2016-06-07 09:28:49 -07:00
Stephen Berman
9d5ccebeba Fix doc string quoting
* lisp/files.el (shell-quote-wildcard-pattern):
* lisp/progmodes/vhdl-mode.el (vhdl-mode):
* lisp/subr.el (replace-regexp-in-string):
* lisp/view.el (view-mode):
* src/nsfns.m (syms_of_nsfns):
* src/syntax.c (Fbackward_prefix_chars):
Fix quoting problems in doc strings (Bug#23696).
2016-06-06 09:30:22 -07:00
Eli Zaretskii
1a2ffd0236 * src/dired.c (Ffile_name_all_completions): Doc fix. (Bug#23631) 2016-05-27 16:06:57 +03:00
Eli Zaretskii
fbfd4787fb Avoid aborting due to errors in arguments of 'set-face-attribute'
* src/xfaces.c (Finternal_set_lisp_face_attribute): Check the
FRAME argument before using it.  This avoids gratuitous aborts in
Emacs built with --enable-checking when the luser was unlucky
enough to get the argument list in wrong order.
2016-05-24 19:04:16 +03:00
Eli Zaretskii
5ab083034c Provide workaround for xftfont rendering problem
* src/xftfont.c (syms_of_xftfont) <xft-font-ascent-descent-override>:
New variable.
(xftfont_open): Use it to work around problems with rendering some
fonts.  (Bug#23360)
2016-05-22 19:20:28 +03:00
Alan Third
06cb28ff3f Fix bug#23462: Crash when iconifying frame on OS X.
* src/nsterm.m (x_iconify_frame): Block input while miniaturize is
running.
2016-05-16 20:37:23 +02:00
Paul Eggert
9ca5dbf947 Avoid shrinking windows with Gtk+ 3.20.3
Problem reported by Matthias Clasen (Bug#23144).
This was fixed in a different way in master.
Do not merge to master.
* src/xterm.c (handle_one_xevent) [GTK_CHECK_VERSION (3, 20, 3)]:
Do not call xg_frame_resized in the MapNotify case.
2016-05-16 10:07:02 -07:00
Lars Ingebrigtsen
3b478989df Fix doc string in `insert'
* src/editfns.c (Finsert_and_inherit): The before-insertion
markers do not move.
(Finsert): Ditto.
2016-05-09 17:08:58 +02:00
Eli Zaretskii
4ffec91aa1 Document automatic adjustment of process' logical window dimensions
* doc/lispref/processes.texi (Process Buffers): Document
'set-process-window-size' and
'window-adjust-process-window-size-function'.

* etc/NEWS: Mention the new functionality and variable.

* src/process.c (Fset_process_window_size): Improve the doc string.
2016-05-07 12:16:27 +03:00
Paul Eggert
50650cb688 Doc fixes for fclist and grep
A newline is needed between two fc-list calls.
egrep and fgrep have been withdrawn from POSIX,
so document grep -E and grep -F instead.
2016-05-05 12:50:01 -07:00
Paul Eggert
2ea2a2f1a5 Doc fixes for quoting
* doc/emacs/text.texi, doc/lispintro/emacs-lisp-intro.texi:
* doc/lispref/control.texi, doc/lispref/display.texi:
* doc/lispref/help.texi, doc/lispref/strings.texi, lisp/subr.el:
* src/callint.c, src/doprnt.c, src/editfns.c:
Document quoting a bit more systematically.
Problem reported by Alan Mackenzie (Bug#23425).
2016-05-03 08:03:04 -07:00
Lars Ingebrigtsen
d1ab001b5b Fmarker_position doc string clarification
* src/marker.c (Fmarker_position): Clarify the doc string
(bug#21231).

(cherry picked from commit eeac7c5727)
2016-05-01 19:27:16 +02:00
Lars Ingebrigtsen
ec392ff1a3 cursor-type doc fix
* src/buffer.c (syms_of_buffer): Mention that cursor-type's
WIDHT/HEIGHT can't exceed the frame char size (bug#19215).

(cherry picked from commit 77c5f4554e)
2016-05-01 19:27:13 +02:00
Lars Ingebrigtsen
b04fcc4a38 Fcompare_buffer_substrings doc string clarification
* src/editfns.c (Fcompare_buffer_substrings): Extremely minor
doc string clarification (bug#19255).

(cherry picked from commit aa692acbb5)
2016-05-01 19:27:13 +02:00
Lars Ingebrigtsen
137868051e Have the doc strings of load-path' and require' mention each other
* src/fns.c (Frequire): Mention `load-path' and fill the doc
string (bug#18829).

* src/lread.c (syms_of_lread): Mention that `require' uses
`load-path'.

(cherry picked from commit 3eca9a0381)
2016-05-01 19:27:12 +02:00
Lars Ingebrigtsen
d815ba5348 Tiny doc fix
* src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
(and fill) (bug#18201).

(cherry picked from commit 2ef0040e23)
2016-05-01 19:27:11 +02:00
Lars Ingebrigtsen
7b85885797 Doc fix
* src/keymap.c (Fdefine_prefix_command): Clarify doc string
slightly (bug#18092).

(cherry picked from commit 6b769c81d0)
2016-05-01 19:27:10 +02:00
Lars Ingebrigtsen
de8349e125 Doc string change to enable-recursive-minibuffers
* src/minibuf.c (syms_of_minibuf): Mention
minibuffer-depth-indicator-mode in the doc string to
enable-recursive-minibuffers (bug#14147).

(cherry picked from commit 23ba488a5e)
2016-05-01 19:27:07 +02:00
Lars Ingebrigtsen
cf33ae0c12 Clarify the `interactive' doc string slightly
* src/callint.c (Finteractive): Clarify the doc string slightly
  (bug#14577).

(cherry picked from commit cd993be60d)
2016-05-01 19:27:07 +02:00
Paul Eggert
d8affa3dc5 Use ‘T *restrict’ proto, not ‘T[restrict]’
* src/fns.c (sort_vector_copy): Use a different way to attempt to
work around GCC 3.0-and-earlier incompatibility with C99, one that
does not have problems with modern non-GCC compilers.
2016-05-01 09:01:06 -07:00
Eli Zaretskii
ccdaf04cfd Fix the MSDOS build
* config.bat:
* msdos/sedlisp.inp:
* msdos/sedlibmk.inp:
* msdos/sedleim.inp:
* msdos/sedadmin.inp:
* msdos/sed6.inp:
* msdos/sed3v2.inp:
* msdos/sed2v2.inp:
* msdos/sed1v2.inp: Adapt to Emacs 25.

* src/process.c (remove_slash_colon): Move out of "#ifdef
subprocesses" block, as it its called unconditionally.  Move
ADD_SUBFEATURE calls into "#ifdef subprocesses" block, as they
reference variables only defined in that block.
* src/msdos.h: Provide prototypes for IT_set_frame_parameters,
faccessat, msdos_fatal_signal, syms_of_msdos, pthread_sigmask,
dos_keysns, dos_keyread, run_msdos_command, and
syms_of_win16select, to avoid compiler warnings.
* src/msdos.c (SYS_ENVIRON): Define to either '_environ' or
'environ', depending on the DJGPP version.
Remove declarations of externally-visible Lisp objects, like
Qbackground_color and Qreverse.
(run_msdos_command): First argument is not signed, not unsigned.
Use SYS_ENVIRON.
(sys_select): Use 'timespec_cmp' instead of 'timespec_sign', as
the latter doesn't work when 'time_t' is an unsigned data type.
This caused idle timers to behave incorrectly: they only fired
after a keyboard input event.
* src/frame.c (adjust_frame_size) [MSDOS]: Account for
FRAME_TOP_MARGIN that isn't counted in the frame's number of
lines, but dos_set_window_size needs it to be added.
* src/lread.c (INFINITY, NAN) [DJGPP < 2.05]: Provide definitions.
* src/fns.c (sort_vector_copy) [__GNUC__ < 4]: Provide a prototype
that works around compilation errors with older GCC versions.
* src/w16select.c: Don't declare QCLIPBOARD and QPRIMARY as Lisp
Objects.
* src/filelock.c [MSDOS]: Ifdef away most of the code.  Provide
no-op implementations for 'lock_file' and 'unlock_file'.
(Ffile_locked_p) [MSDOS]: Always return nil.  This avoids multiple
ifdefs in all users of filelock.c functionality.
* src/conf_post.h (EOVERFLOW, SIZE_MAX) [DJGPP < 2.04]: Define.
* src/emacs.c [MSDOS]: Include dosfns.h, to avoid compiler
warnings.
* src/dosfns.h: Provide prototypes for dos_cleanup,
syms_of_dosfns, and init_dosfns.
* src/deps.mk (atimer.o): Depend on msdos.h.
(emacs.o): Depend on dosfns.h.
* src/atimer.c [MSDOS]: Include msdos.h, to avoid compiler
warnings.

* lisp/window.el (window--adjust-process-windows): Skip the body
if 'process-list' is not available.  This avoids failure to start
up on MS-DOS.
* lisp/vc/diff.el (diff-no-select): Test 'make-process', not
'start-process', as the latter is now available on all platforms.
* lisp/textmodes/ispell.el (ispell-async-processp): Replace
'start-process' with 'make-process' in a comment.
* lisp/term/internal.el (IT-unicode-translations): Modify and add
a few translations to display Info files with Unicode markup.  Fix
an ancient off-by-one mismatch error with Unicode codepoints.
* lisp/progmodes/compile.el (compilation-start): Test
'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/man.el (Man-build-man-command, Man-getpage-in-background):
Test 'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/international/mule-cmds.el (set-coding-system-map): Test
'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/eshell/esh-cmd.el (eshell-do-pipelines-synchronously): Doc
fix.
(eshell-execute-pipeline): Test 'make-process', not
'start-process', as the latter is now available on all platforms.
2016-04-30 13:45:33 +03:00
Paul Eggert
734fb3ac6c Port dumping to NetBSD with PaX
Problem reported by Thomas Klausner (Bug#23371).
* configure.ac (PAXCTL_dumped, PAXCTL_notdumped): New vars.
Set them to setfattr and/or paxctl commands appropriate for
GNU/Linux and/or NetBSD; the latter prefers paxctl +a.  Search
for paxctl only if setfattr is not found.
* src/Makefile.in (PAXCTL_dumped, PAXCTL_notdumped):
New vars, replacing PAXCTL_if_present and SETFATTR_if_present.
All uses changed.
2016-04-27 16:03:50 -07:00
Paul Eggert
c30d1b4a1b Port to Ubuntu 16.04 --enable-gcc-warnings
* src/image.c (gif_load) [HAVE_GIF]: Fix pointer signedness problem.
2016-04-24 13:39:34 -07:00
Martin Rudalics
2b31a0c21e In x_set_window_size restore do_pending_window_change calls
* src/xterm.c (x_set_window_size):
* src/w32term.c (x_set_window_size): Restore
do_pending_window_change calls after their stupid removal on
2015-08-31.
2016-04-22 11:56:03 +02:00
Ilya Zakharevich
401857eda3 Fix Alt-modified keys on some European MS-Windows keyboards
* src/w32fns.c (deliver_wm_chars): If the reported character is
ASCII, AND Meta modifier is a candidate, behave as if Meta is
present, i.e. fall back to the legacy code.  (Bug#23251)
2016-04-21 19:08:16 +03:00
Paul Eggert
ae712666bb Port to GCC 5.3.1 20160406 (Red Hat 5.3.1-6)
* src/indent.c (Fvertical_motion): Pacify --enable-gcc-warnings
when using the April 6 Fedora patch to GCC.
2016-04-16 19:49:31 -07:00
Eli Zaretskii
ab849b7fac Fix w32 memory-management problem when extending buffer text
* src/w32heap.c (mmap_realloc): Only attempt extending a region if
the following region has the same allocation base.  Also, use the
original allocation base and enlarged size to commit reserved
memory, to ensure that the allocation base stays at its original
value.  This fixes several hard-to-debug problems whereby part of
buffer text was overwritten with binary nulls, because
mmap_realloc copied only part of buffer text when extending it.
See
http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00325.html
and http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23223#55 for two
examples of the related problems.
2016-04-15 17:26:37 +03:00
Paul Eggert
32364bbbaa substitute-command-keys keeps quotes’ text props
Problem reported by Clément Pit--Claudel (Bug#23254).
* src/doc.c: Include intervals.h.
(Fsubstitute_command_keys): If the only substitutions are for
quotes, copy the source string’s text properties too, since no
substring lengths have changed.
2016-04-14 08:23:00 -07:00
YAMAMOTO Mitsuharu
567ab529f3 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping fixes. 2016-04-14 07:47:55 +09:00