1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-12 09:51:05 -07:00
Commit graph

38453 commits

Author SHA1 Message Date
Noam Postavsky
c7ed57eaef Mention that processes start in default-directory (Bug#18515)
* doc/lispref/processes.texi (Synchronous Processes):
(Asynchronous Processes):
* lisp/subr.el (start-process):
* src/callproc.c (call-process): Mention that the subprocess starts in
`default-directory' when local, suggest `start-file-process' and
`process-file' otherwise.
2017-04-06 18:50:54 -04:00
Noam Postavsky
856ec9ffa1 * src/xdisp.c (vmessage, message): Clarify commentary. 2017-04-06 18:50:54 -04:00
Tino Calancha
84938d7969 default-directory: Remark that it must be a directory name
* src/buffer.c (default-directory): Update docstring (Bug#26272).
2017-03-31 17:23:02 +09:00
Thien-Thi Nguyen
129d30e980 Fix bug: Range-check integer ‘alpha’ frame parm value
Typo introduced 2013-04-01, "Prefer < to >
in range checks such as 0 <= i && i < N".

* src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
2017-03-17 11:04:28 +01:00
Eli Zaretskii
c1ed1525c6 ; * src/keyboard.c (Fposn_at_point): Fix last change. 2017-02-25 10:41:21 +02:00
Eli Zaretskii
eed96776b1 Fix doc string of 'posn-at-point'
* src/keyboard.c (Fposn_at_point): Clarify the doc string.
(Bug#25796)
2017-02-25 10:40:13 +02:00
Eli Zaretskii
c54cf8dcfd Improve commentary in lisp.h
* src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
object is discouraged.
2017-02-10 12:12:49 +02: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
c331f393c1 Improve documentation of 'format' conversions
* src/editfns.c (Fformat): More accurate description of %g and
effects of the various flags on it.  More accurate description of
integer conversions.

* doc/lispref/strings.texi (Formatting Strings): More accurate
description of %g and effects of the various flags on it.  More
accurate description of integer conversions.  (Bug#25557)
2017-01-28 10:30:17 +02:00
Eli Zaretskii
5569e64444 ; Spelling fixes
* src/buffer.c (delete_all_overlays, Fkill_buffer): Fix typos in
comments.
2017-01-16 19:12:40 +02:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Alan Mackenzie
e8f0d7dcad Backport: Remove an ambiguity from defvar's doc string. Fixes bug #25292.
The ambiguity was whether INITVALUE is evaluated when it's not going to be
used to set SYMBOL's value.

* src/eval.c (defvar): Rewrite a paragraph of the doc string.

(cherry picked from commit 8295e97f18)
2016-12-30 08:56:28 +00:00
Eli Zaretskii
3ace730947 Attempt to fix 64-bit AIX build
* src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
type-casts that assumed 32-bit pointers.  (Bug#25141)
2016-12-23 22:26:25 +02:00
Martin Rudalics
86a297a43d Work around reporting a dpi change in apply_xft_settings
* src/xsettings.c (apply_xft_settings): Don't report a change
when dpi settings do not differ substantially.
2016-12-22 08:35:07 +01:00
Eli Zaretskii
4179238fa8 Improve documentation of 'w32-scroll-lock-modifier'
* doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
w32-scroll-lock-modifier so that Scroll Lock toggles the LED.

* src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
fix.  (Bug#25204)
2016-12-19 20:00:09 +02:00
Paul Eggert
c49198967a Port to Sun C 5.14
Backport from master.  Sun C 5.14 supports C11 but not GCC
extensions, and so refuses to compile Emacs without this patch.
* src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
size_t, as in general this macro is restricted to signed types.
2016-12-01 23:17:26 -08:00
Martin Rudalics
d31298d8af Fix documentation of `window-combination-resize'
* src/window.c (Vwindow_combination_resize): Fix doc-string.
* doc/lispref/windows.texi (Recombining Windows): Fix
documentation of `window-combination-resize'.
2016-12-01 10:51:11 +01:00
Eli Zaretskii
5878abf87b Fix 'expand-file-name' during startup on MS-Windows
* src/w32.c (w32_init_file_name_codepage): New function, resets
file_name_codepage and w32_ansi_code_page to undo the values
recorded during dumping.
(codepage_for_filenames): Fix an embarrassing typo.  Ignore the
cached value of file-name encoding if it is nil, i.e. not
initialized yet.  Actually cache the last used file-name encoding
to avoid calling APIs when not necessary.

* src/w32.h (w32_init_file_name_codepage): Add prototype.

* src/w32term.c (syms_of_w32term): Set the value of
w32_unicode_filenames according to the OS version.  This avoids
resetting it during startup, which then causes temacs to run with
the incorrect value.

* src/emacs.c (main): Call w32_init_file_name_codepage early
during the startup.

* src/fileio.c (Fexpand_file_name) [WINDOWSNT]: Update 'newdir'
after converting $HOME to a UTF-8 string, so that 'newdirlim' is
consistent with it.  (Bug#25038)

* lisp/international/mule-cmds.el (set-locale-environment): Set
'default-file-name-coding-system' to the ANSI codepage even in
non-interactive sessions.

* lisp/files.el (directory-abbrev-alist, abbreviated-home-dir):
Doc fix.
(abbreviate-file-name): Decode 'abbreviated-home-dir' if it is a
unibyte string.

* doc/lispref/files.texi (Directory Names): Index
'directory-abbrev-alist'.
2016-11-28 17:43:25 +02:00
Eli Zaretskii
7287e9654e ; * src/lread.c (openp): Correct an inaccuracy in commentary. 2016-11-22 18:34:51 +02:00
Eli Zaretskii
36bafc9cee Improve documentation of functions that accept time values
* doc/lispref/os.texi (Time Calculations): Mention the meaning of
'nil' or a scalar number as the time-value argument.  Add a
cross-reference to 'float-time' for computing a time difference as
a scalar number of seconds.

* src/editfns.c (Fformat_time_string, Ftime_less_p)
(Ftime_subtract, Ftime_add, Fdecode_time, Fcurrent_time_string)
(Fcurrent_time_zone): Mention in the doc strings the meaning of
nil argument and the fact that a time value can be a scalar number
of seconds since the epoch.
(Ftime_subtract): Mention 'float-time'.
2016-11-18 13:02:34 +02:00
Daniel Colascione
a37c08d524 Speed up initialization by preferring /dev/urandom to GnuTLS
* src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.

(cherry picked from commit a37eba849e)
2016-11-18 10:42:12 +02:00
Paul Eggert
dc152c54f4 Modernize usage of 'macOS' in doc and comments
Apple changed the spelling of its operating system again, to "macOS",
effective with macOS 10.12 Sierra (2016-09-20).  Change Emacs
documentation and comments to match this.  Stick with older OS
spellings ("OS X", "Mac OS X") when talking about older releases where
the older names are more correct.
2016-11-06 00:42:03 -07:00
Paul Eggert
84c53436ab Prefer comments /* like this */ in C code
Emacs C code assumes C99 features, but has long used traditional
comments /* like this */ instead of C99-style comments // like this.
Stick with traditional comments for now, partly for style, partly as
it may be safer with compilers that are not fully in C99 mode.
2016-11-05 20:42:10 -07:00
Paul Eggert
acae275b27 ; Spelling fixes 2016-11-04 14:50:59 -07:00
Eli Zaretskii
0221b7a9b5 Mark relocation workarounds with REL_ALLOC
* src/search.c (boyer_moore): Mark workarounds for ralloc.c
relocation of buffer text with "#ifdef REL_ALLOC".
2016-11-04 10:36:02 +02:00
Noam Postavsky
43986d16fb Inhibit buffer relocation during regex searches
* src/search.c (looking_at_1, fast_looking_at, search_buffer): Prevent
relocation of buffer contents during calls to re_search_2.  This ensures
the pointers into buffer text won't be invalidated by
r_alloc_sbrk (called from malloc with configurations where
REL_ALLOC=yes).
2016-10-25 20:15:33 -04:00
Noam Postavsky
fee4cef7d7 Revert fixes to allocation of regex matching
The fix was not complete, and completing it was proving too complicated.

- Revert "* src/regex.c (re_search_2): Make new code safe for
          -Wjump-misses-init."
  This reverts commit c2a17924a5.
- Revert "Port to GCC 6.2.1 + --enable-gcc-warnings"
  This reverts commit f6134bbda2.
- Revert "Fix handling of allocation in regex matching"
  This reverts commit ad66b3fadb.
- Revert "Fix handling of buffer relocation in regex.c functions"
  This reverts commit ee04aedc72.
2016-10-25 20:15:33 -04:00
Eli Zaretskii
96ac0c3ebc Yet another fix for using pointers into buffer text
* src/search.c (boyer_moore): Update pointers to buffer text
after call to set_search_regs.  (Bug#24358)
2016-10-24 21:37:20 +03:00
Eli Zaretskii
1047496722 Another fix for using pointer to buffer text
* src/search.c (Freplace_match): Move the call to BYTE_POS_ADDR
after the call to xpalloc, to avoid the danger of buffer text
relocation after its address was taken.  (Bug#24358)
2016-10-24 16:59:34 +03:00
Paul Eggert
7bb5c4f206 Port --enable-gcc-warnings to bleeding-edge glibc
Bleeding-edge glibc sets emacs_cv_var_doug_lea_malloc to 'no'.
Do not merge to master.
* configure.ac: Check for valloc decl when compiling gmalloc.c.
* src/gmalloc.c (emacs_abort) [emacs]: Adjust decl to match
what is in lisp.h.  Remove duplicate decl.
(aligned_alloc): #undef before defining.
(aligned_alloc, memalign) [!MSDOS]: Declare.
(valloc) [HAVE_DECL_VALLOC]: Remove duplicate decl.
2016-10-23 21:55:07 -07:00
Eli Zaretskii
ee04aedc72 Fix handling of buffer relocation in regex.c functions
* src/search.c (search_buffer): Updated the base pointer to buffer
text after the call to re_search_2.  (Bug#24358)
2016-10-23 22:09:43 +03:00
Eli Zaretskii
71ca4f6a43 Avoid relocating buffers while libxml2 reads its text
* src/xml.c (parse_region) [REL_ALLOC]: Freeze the ralloc arena
while libxml2 reads the current buffer's text.  (Bug#24764)
2016-10-23 19:52:56 +03:00
Eli Zaretskii
1b3fc8ab49 ; Remove redundant code in gmalloc.c
* src/gmalloc.c [WINDOWSNT]: Remove MS-Windows only inclusion of
w32heap.h, as the MS-Windows build no longer uses gmalloc.c.
2016-10-23 18:05:48 +03:00
Eli Zaretskii
9afea93ed5 Attempt to catch reads from a buffer that is relocated
* src/xml.c (parse_region): Add assertion to ensure buffer text is
not relocated while libxml2 is reading it.  (Bug#24764)
2016-10-23 16:54:00 +03:00
Eli Zaretskii
50fa7d64d3 ;* src/w32heap.c: Fix typo and wording of the comments. 2016-10-23 12:14:05 +03:00
Paul Eggert
c2a17924a5 * src/regex.c (re_search_2): Make new code safe for -Wjump-misses-init. 2016-10-23 01:01:24 -07:00
Paul Eggert
f6134bbda2 Port to GCC 6.2.1 + --enable-gcc-warnings
* src/regex.c (ENSURE_FAIL_STACK, re_search_2):
Redo recent regex changes to avoid complaints from GCC 6.2.1 when
Emacs is configured with --enable-gcc-warnings.  Also, work around
GCC bug 78081, which was uncovered by this new code.
2016-10-22 21:14:15 -07:00
Noam Postavsky
ad66b3fadb Fix handling of allocation in regex matching
`re_match_2_internal' uses pointers to the lisp objects that it
searches.  Since it may call malloc when growing the "fail stack", these
pointers may be invalidated while searching, resulting in memory
curruption (Bug #24358).

To fix this, we check the pointer that the lisp object (as specified by
re_match_object) points to before and after growing the stack, and
update existing pointers accordingly.

* src/regex.c (STR_BASE_PTR): New macro.
(ENSURE_FAIL_STACK, re_search_2): Use it to convert pointers into
offsets before possible malloc call, and back into pointers again
afterwards.
(POS_AS_IN_BUFFER): Add explanatory comment about punning trick.
* src/search.c (search_buffer): Instead of storing search location as
pointers, store them as pointers and recompute the corresponding address
for each call to `re_search_2'.
(string_match_1, fast_string_match_internal, fast_looking_at):
* src/dired.c (directory_files_internal): Set `re_match_object' to Qnil
after calling `re_search' or `re_match_2'.
* src/regex.h (re_match_object): Mention new usage in commentary.
2016-10-21 22:24:54 -04:00
Eli Zaretskii
b6998eab37 * src/regex.h (re_match_object): Improve commentary. 2016-10-19 17:31:47 +03:00
Eli Zaretskii
d70ed8aaea Fix time-related data types in 2 editfns.c functions
* src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
pointer to time_t value to emacs_localtime_rz and gmtime_r,
instead of relying on struct timespec's tv_sec member to be of
compatible type.
2016-10-17 10:25:58 +03:00
Eli Zaretskii
10835b18cd Avoid crashes due to objects read with the #n=object form
* src/lread.c (read1): Use Fcons for 'placeholder', not AUTO_CONS,
because elements of the list in 'read_objects' cannot be allocated
off the stack.  (Bug#24640)
2016-10-14 22:52:46 +03:00
Philipp Stephani
ceb46f0021 Fix crash in evaluating functions
See Bug#24673

* src/eval.c (funcall_lambda): Fix crash for bogus functions such
as (closure).
2016-10-13 13:03:31 +02:00
Paul Eggert
d8374c4e95 * src/filelock.c (current_lock_owner): Update comment. 2016-10-12 17:48:34 -07:00
Paul Eggert
eb17d6f575 Port --enable-gcc-warnings to GCC 6.2.1
Backport from master.
* src/conf_post.h (GNUC_PREREQ): New macro.
* src/keyboard.c: Use it to work around GCC bug 54561.
* src/process.c (would_block): New function.
(server_accept_connection, wait_reading_process_output, send_process):
Use it.
2016-10-12 09:19:44 -07:00
Paul Eggert
40c426a150 Work around Samba bug with ':' in symlink contents
* src/filelock.c (current_lock_owner): When reading the contents
of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
Backport from master.
2016-10-12 09:19:44 -07:00
Paul Eggert
2deb20c1bd Port last_marked change to full-program optimizers
* src/alloc.c (last_marked): Now EXTERNALLY_VISIBLE.
2016-10-12 09:19:44 -07:00
Eli Zaretskii
27eb668ac3 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
* etc/emacs-buffer.gdb <$qnil>: New variable.
(ybuffer-list, yset-buffer): Use $qnil for comparing against
'nil', as direct comparison with Qnil doesn't work in a build with
'--enable-check-lisp-object-type'.

* src/.gdbinit: Adapt commands of the temporary breakpoint in
init_sys_modes to a build with '--enable-check-lisp-object-type'.
2016-10-12 11:59:53 +03:00
Eli Zaretskii
dac64e35dd Avoid optimizing out the last_marked[] array
* src/alloc.c <last_marked>: No longer 'static', to avoid having
it optimized out in optimized builds, which then makes debugging
GC problems harder.
2016-10-11 14:38:48 +03:00
Eli Zaretskii
44e402ead3 Allow to disable compaction of font caches
* src/font.c (syms_of_font) <inhibit-compacting-font-caches>: New
boolean variable.
* src/alloc.c (compact_font_caches): Use it to bypass the call to
compact_font_cache_entry.  (Bug#24634)  (Bug#24565)

* etc/NEWS: Mention the new variable.
2016-10-08 22:31:14 +03:00
Eli Zaretskii
4ff4b66df8 Allow selection of font for symbols as in Emacs 24.x
* src/fontset.c (syms_of_fontset) <use-default-font-for-symbols>:
New boolean variable.
(face_for_char): Use it to fall back to pre-Emacs 25.1 behavior
when selecting fonts for displaying symbol and punctuation
characters.  (Bug#24644)

* etc/NEWS: Mention the new variable.
2016-10-08 22:03:51 +03:00