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

38380 commits

Author SHA1 Message Date
Noam Postavsky
66f95e0dab Adjust match data before calling after-change-funs
It's important to adjust the match data in between calling
before-change-functions and after-change-functions, so that buffer
change hooks will always see match-data consistent with buffer content.
(Bug #23917)

* src/insdel.c (replace_range): Add new parameter ADJUST_MATCH_DATA, if
true call update_search_regs.  Update all callers (except
Freplace_match) to pass 0 for the new parameter.
* src/search.c (update_search_regs): New function, extracted from
Freplace_match.
(Freplace_match): Remove match data adjustment code, pass 1 for
ADJUST_MATCH_DATA to replace_range instead.
2016-07-22 23:55:23 -04:00
Paul Eggert
ff3fc21e24 Port to glibc 2.24 (pre-release) + ppc64
Backport from master (Bug#24033).
Inspired by a suggestion by Florian Weimer in:
https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
* src/emacs.c (main) [__PPC64__]:
Special case for __PPC64__, which needs ASLR disabled in
dumped Emacs too.
2016-07-21 13:29:17 +02:00
Robert Cochran
9356fe2392 Expand FIXME near definition of fboundp
This expansion of the FIXME is so that future developers are aware of
the potential problems of aliasing fboundp to symbol-function without
taking backwards compatibility into account.

* src/data.c (fboundp): Note potential backwards compatibility issues in
FIXME.

Copyright-paperwork-exempt: yes
2016-07-16 21:33:27 -04:00
Eli Zaretskii
59fa4c39f4 Avoid assertion violations in nhexl-mode
* src/bidi.c (bidi_resolve_neutral): Convert an assertion to real
code executed in all builds.  (Bug#24001)
2016-07-16 16:42:18 +03:00
Fredrik Bergroth
916abe91fd Use memmove instead of memcpy on overlapping regions
* src/editfns.c (Ftranspose_regions): Regions may overlap, so
use memmove instead of memcpy (bug#19213).

Copyright-paperwork-exempt: yes

This is a backport from trunk.
(cherry picked from commit 354f9f0fc6)
2016-07-14 20:33:48 -04:00
Noam Postavsky
9ba51edf62 Document buffer-swap-text+save-excursion interaction
* doc/lispref/buffers.texi (Swapping Text):
* src/buffer.c (Fbuffer_swap_text): Add warning about interaction of
`buffer-swap-text' and `save-excursion' (Bug #4655).
2016-07-14 20:01:39 -04:00
Stephen Berman
069fc05bd5 Improve documentation of search functions
Make the documentation of the search functions more accurate,
complete, and uniform; in particular, extend the description of
the effect when the 'count' parameter is a negative number to all
of these functions.

* src/search.c (Fsearch_backward, Fsearch_forward)
(Fre_search_backward, Fre_search_forward)
(Fposix_search_backward, Fposix_search_forward):
* lisp/isearch.el (word-search-backward, word-search-forward)
(word-search-backward-lax, word-search-forward-lax): Improve doc
strings as described above.

* doc/lispref/searching.texi (String Search, Regexp Search)
(POSIX Regexps): Use 'count' instead of 'repeat' as the name of
the fourth parameter of the *-search-{forward,backward} functions
and improve documentation as described above.
2016-07-12 22:11:22 +02:00
Eli Zaretskii
658daf93e2 Fix 'vertical-motion' in non-interactive sessions
* src/indent.c (Fvertical_motion): Don't return uninitialized
value in non-interactive session.  This fixes random errors in
batch mode, see
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00609.html
and
http://lists.gnu.org/archive/html/emacs-devel/2016-07/msg00500.html
for the details.
2016-07-10 22:06:57 +03:00
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