summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make garbage collection more conservativePaul Eggert2017-08-291-132/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for a pointer anywhere within the object, as opposed to just the start of the object. This is needed for gcc -Os -flto on x86-64 (Bug#28213). This change means that the garbage collector is more conservative, and will incorrectly keep objects that it does not need to, but that is better than incorrectly discarding objects that should be kept. * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros; this is easier to debug. (setup_on_free_list): Rename from SETUP_ON_FREE_LIST. Now a function with two args, not a macro with three. All callers changed. (live_string_holding, live_cons_holding, live_symbol_holding) (live_misc_holding, live_vector_holding, live_buffer_holding): New functions, which check for any object containing the addressed byte, not just for an object at the given address. (live_string_p, live_cons_p, live_symbol_p, live_misc_p) (live_vector_p, live_buffer_p): Redefine in terms of the new functions. (live_float_p): Refactor slightly to match the new functions. (mark_maybe_object, mark_maybe_pointer): Use the new functions. Don’t bother checking mark bits, as mark_object already does that, and omitting the checks here simplifies the code. Although mark_maybe_object can continue to insist that tagged pointers still address the start of the object, mark_maybe_pointer now is more conservative and checks for pointers anywhere into an object.
* Improve stack-top heuristicPaul Eggert2017-08-293-7/+31
| | | | | | | | | | | | | | This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part of the stack when scanning for heap roots, causing Emacs to crash later (Bug#28213). The problem is that Emacs's hack for getting an address near the stack top does not work when link-time optimization moves stack variables around. * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro. * lib-src/make-docfile.c (DEFUN_noinline): New constant. (write_globals, scan_c_stream): Support noinline. * src/alloc.c (NEAR_STACK_TOP): New macro. (SET_STACK_TOP_ADDRESS): Use it. (flush_stack_call_func, Fgarbage_collect): Now noinline.
* Align stack bottom properly.Paul Eggert2017-08-291-2/+5
| | | | | | This is needed for gcc -Os -flto on x86-64 (Bug#28213). * src/emacs.c (main): Align stack-bottom variable as a pointer, since mark_memory requires this.
* Avoid spinning waiting for git-gui.exe on WindowsEli Zaretskii2017-08-291-5/+10
| | | | | | * src/w32proc.c (waitpid): If GetExitCodeProcess returns STILL_ACTIVE, and we were called with WNOHANG, pretend that the process exited. (Bug#28268)
* Document '--module-assertions'Eli Zaretskii2017-08-293-5/+20
| | | | | | | | | * doc/emacs/cmdargs.texi (Initial Options): Document the '--module-assertions' command-line option. * doc/lispref/loading.texi (Dynamic Modules): Add a cross-reference to the description of '--module-assertions'. * etc/NEWS: Update the NEWS entry for --module-assertions.
* Add news entry about new macOS featuresAlan Third2017-08-291-0/+5
| | | | | * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and ns-use-thin-smoothing.
* Fix cross macOS version building (bug#28222)Alan Third2017-08-292-1/+11
| | | | | | * src/macfont.h (CGContextSetFontSmoothingStyle): Function declaration. * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
* Enable thin font smoothing in macOS (bug#28222)Ben Bonfil2017-08-292-0/+10
| | | | | | | * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing. * src/macfont.m (macfont_draw): Use font smoothing. Copyright-paperwork-exempt: yes
* Minor improvement in documentation of display-line-numbersEli Zaretskii2017-08-291-0/+9
| | | | | * doc/emacs/display.texi (Display Custom): Document the display-line-numbers-mode and related options.
* Avoid aborting in 'waitpid' on MS-WindowsEli Zaretskii2017-08-291-1/+5
| | | | | * src/w32proc.c (waitpid): Don't allow quitting if called with WNOHANG in OPTIONS. (Bug#28268)
* ; Fix Org sync 3ad8ca429bacRasmus2017-08-291-1/+1
| | | | | | * etc/refcards/orgcard.tex: Restore dropped line from 54aadd94f See http://permalink.gmane.org/gmane.emacs.devel/217877
* * lisp/progmodes/sh-script.el: Test "in-string" of the right char!Stefan Monnier2017-08-291-1/+1
| | | | | (sh-syntax-propertize-function): Fix off-by-one error. Fixes bug#23526.
* Update Org to v9.0.10Rasmus2017-08-2928-626/+982
| | | | | Please see etc/ORG-NEWS for major changes. Note, this is a bugfix release.
* Silence false alarms for symlinks to sourcesPaul Eggert2017-08-281-8/+18
| | | | | | Problem reported by Glenn Morris (Bug#28264). * lisp/files.el (files--splice-dirname-file): New function. (file-truename, file-chase-links): Use it.
* Simplify remove_slash_colonPaul Eggert2017-08-281-1/+1
| | | | | * src/process.c (remove_slash_colon): Simplify and avoid a special case for "/:" by itself.
* Remove font family from minibuffer-prompt faceTassilo Horn2017-08-281-1/+1
| | | | | * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from minibuffer-prompt face.
* Further fixes in tramp-smb.elMichael Albinus2017-08-282-81/+91
| | | | | | | | | | | * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun. (tramp-smb-file-name-handler-alist): Use it. (tramp-smb-handle-make-symbolic-link): Unquote target. * test/lisp/net/tramp-tests.el (tramp--test-ignore-make-symbolic-link-error): New defmacro. (tramp-test18-file-attributes, tramp-test21-file-links) (tramp--test-check-files): Use it.
* ; Fix last ido patchMichael Albinus2017-08-281-1/+1
|
* Don’t assume -g3 in .gdbinitPaul Eggert2017-08-281-2/+15
| | | | | * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG): Use reasonable defaults if not in the symbol table.
* Use string-match to check for dotfiles in idoRobert Pluim2017-08-281-1/+1
| | | | | | | | * lisp/ido.el (ido-make-file-list): Use string-match to check for dotfiles instead of substring, as when using tramp simplified syntax ido-temp-list may contain empty strings. Copyright-paperwork-exempt: yes
* Font-lock FDO desktop files correctlyMark Oteiza2017-08-273-11/+27
| | | | | | | | | | | | | Single and double quotes do not have a special meaning in desktop files. https://standards.freedesktop.org/desktop-entry-spec/latest/ * etc/NEWS: Mention new mode. * lisp/files.el (auto-mode-alist): Split out an entry for handling the .desktop extension with conf-desktop-mode. * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New variable with rules for booleans and format specifiers. (conf-unix-mode): Remove desktop file entry example from docstring. (conf-desktop-mode): New derived major mode.
* Fix auto-fill bug in js-modeTom Tromey2017-08-272-0/+24
| | | | | | | * lisp/progmodes/js.el (js-do-auto-fill): New function. (js-mode): Set normal-auto-fill-function. * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New test.
* Disable completion while entering python multiline statementsNoam Postavsky2017-08-271-1/+15
| | | | | | | | | | | The "legacy" completion mechanism sends newlines to the running python process to get the list of completions, which confuses things if the user is in the middle of entering a multiline statement (Bug#28051). It's better to disable completion in this case. * lisp/progmodes/python.el (python-shell--block-prompt): New variable. (python-shell-prompt-set-calculated-regexps): Set it. (python-shell-completion-at-point): Return 'ignore' as the completion function when the current prompt is a block prompt.
* Tramp cleanupMichael Albinus2017-08-274-64/+109
| | | | | | | | | | | | | | | | * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code. (tramp-sh-handle-make-symbolic-link): More robust check for TARGET remoteness. * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory): Disable copying by tar temporarily, it doesn't work reliably. (tramp-smb-do-file-attributes-with-stat): Resolve symlink. (tramp-smb-handle-make-symbolic-link): Fix implementation. * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify. * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
* Fix previous xterm.h change for non-gtk buildsGlenn Morris2017-08-271-0/+2
| | | | * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
* Fix GdkSettings-related deprecation warningsPhilipp Stephani2017-08-271-0/+6
| | | | | | * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored gtk-menu-bar-accel setting in new versions of GTK+. Use g_object_set instead of deprecated gtk_settngs_set_string_property otherwise.
* Always use gtk_window_move in new versionsPhilipp Stephani2017-08-274-1/+14
| | | | | | | | | | | * src/gtkutil.c (my_log_handler): Don’t define in new versions of GTK+. (xg_set_geometry): Always use gtk_window_move in new versions of GTK+. * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move is ignored. * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
* Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)Charles A. Roelli2017-08-271-45/+47
| | | | | | | | * lisp/vc/diff-mode.el (diff-find-file-name): Save the current narrowing, and widen the buffer before searching for the name of the file corresponding to the diff. With thanks to Noam Postavsky.
* Remove use of a deprecated GTK+ function in new versionsPhilipp Stephani2017-08-271-0/+4
| | | | | * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click if available
* Stop using deprecated GdkScreen monitor functions in newer GDKPhilipp Stephani2017-08-271-3/+30
| | | | | * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor objects instead of the deprecated GdkScreen functions in GDK 3.22+
* Use GdkSeat in new GDK versionsPhilipp Stephani2017-08-271-0/+5
| | | | | * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of GdkDeviceManager in GDK 3.20+
* * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+Philipp Stephani2017-08-271-0/+11
|
* Remove call of deprecated GDK functionPhilipp Stephani2017-08-271-7/+12
| | | | | * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in GDK 3.22 or later.
* Amend the CC Mode macro cache to cope with changes at the macro startAlan Mackenzie2017-08-271-1/+1
| | | | | | | Fixes bug #28233. * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1 error.
* Fix over-protection of byte-compiled filesPaul Eggert2017-08-262-1/+12
| | | | | | | | | | Problem reported by Sven Joachim (Bug#28244). Also, fix similar problem for autoload files. * lisp/emacs-lisp/autoload.el (autoload--save-buffer): Set temp file modes to the buffer-file-name file modes (or 666 if not available) as adjusted by umask. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Set temp file modes to 666 as adjusted by umask.
* Refine conf-toml-mode font-lockTom Tromey2017-08-261-2/+28
| | | | | | | Bug#28218 * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use conf-toml-recognize-section. Use \s- in variable regexp. (conf-toml-recognize-section): New function.
* Do not munge contents of local symbolic linksPaul Eggert2017-08-267-50/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | This lets Emacs deal with arbitrary local symlinks without mishandling their contents (Bug#28156). For example, (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x")) now consistently creates a symbolic link from '/tmp/x' to '~'. Formerly, it did that only if the working directory was on the same filesystem as /tmp; otherwise, it expanded the '~' to the user's home directory. * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p instead of rolling our own code. * lisp/files.el (files--name-absolute-system-p): New function. (file-truename, file-chase-links): Use it to avoid mishandling symlink contents that begin with ~. (copy-directory, move-file-to-trash): Use concat rather than expand-file-name, to avoid mishandling symlink contents that begin with ~. * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the target unless interactive. Strip leading "/:" if interactive. (emacs_readlinkat): Do not prepend "/:" to the link target if it starts with "/" and contains ":" before NUL. * test/src/fileio-tests.el (try-link): Rename from try-char, and accept a string instead of a char. All uses changed. (fileio-tests--symlink-failure): Also test leading ~, and "/:", to test the new behavior.
* Remove invalid regexp for shell builtins for wkshReuben Thomas2017-08-271-3/+1
| | | | | | * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to be literal strings, so remove a regexp for wksh. In any case, it’s a defunct proprietary shell.
* Improve doc for file-name-absolute-p.Paul Eggert2017-08-262-3/+3
|
* Fix Tramp part of Bug#28156Michael Albinus2017-08-265-131/+173
| | | | | | | | | | | | | | | | * lisp/files.el (file-name-non-special): Use `file-name-quote' instead prefixing "/:", the file could already be quoted. * lisp/net/tramp.el (tramp-error): Handle null arguments. (tramp-handle-make-symbolic-link): * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link) (tramp-sh-handle-add-name-to-file): * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file) (tramp-smb-handle-make-symbolic-link): Adapt implementation to stronger semantics in Emacs. (Bug#28156) * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
* Fix bugs merged with bug#25428Eli Zaretskii2017-08-261-6/+12
| | | | | * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix. (Bug#13926) (Bug#25434) (Bug#25435)
* Improve documentation of Info virtual files and nodesEli Zaretskii2017-08-261-13/+24
| | | | | * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix. (Bug#28237)
* * lisp/delsel.el (delete-selection-mode): Doc fix. (Bug#25428)Eli Zaretskii2017-08-261-3/+6
|
* Support multi-lingual detection of SEE ALSO man sectionsGrégory Mounié2017-08-261-1/+1
| | | | | | | | * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO section detection in several langages: French, German, Spanish, Portugese, Italian, Polish, Turkish, Japanese, Chinese. (Bug#28142) Copyright-paperwork-exempt: yes
* Improve expand-file-name docPaul Eggert2017-08-253-23/+26
| | | | | | | | | | | * doc/lispref/files.texi (Relative File Names, Directory Names) (File Name Expansion): * doc/lispref/minibuf.texi (Reading File Names): Document expand-file-name behavior with ~ more clearly and accurately. * doc/misc/org.texi (Batch execution): Simplify example script so that it does not need expand-file-name and thus will not mishandle file names with leading ~.
* Support all perl variable declarators and prefixes (Bug#27613)Jefferson Carpenter2017-08-251-3/+4
| | | | | | | | * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression) (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has', 'local', 'state', 'supersede', 'let', and 'temp'. Copyright-paperwork-exempt: yes
* ; * doc/lispref/files.texi (File Attributes): Add missing word.Noam Postavsky2017-08-251-1/+1
|
* Fix file-attributes race on GNU hostsPaul Eggert2017-08-255-25/+80
| | | | | | | | | | | | | * doc/lispref/files.texi (File Attributes): Document file-attributes atomicity. * etc/NEWS: Document the fix. * src/dired.c (file_attributes): New args DIRNAME and FILENAME, for diagnostics. All callers changed. On platforms like GNU/Linux that support O_PATH, fix a race condition in file-attributes and similar functions, so that these functions do not return nonsense if a directory entry is replaced while getting its attributes. On non-GNU platforms, do a better (though not perfect) job of detecting the race, and return nil if detected.
* Simplify expand_and_dir_to_filePaul Eggert2017-08-253-59/+30
| | | | | | * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd argument, since in practice it always has the default value. All callers changed. Prefer C99 style decls in nearby code.
* ; * src/w32.c (faccessat): Fix last change. (Bug#28207)Eli Zaretskii2017-08-251-1/+1
|