summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Rename obarray-p to obarraypNicolas Petton2015-11-112-12/+12
| | | | | | | | | | * lisp/obarray.el (obarrayp): New name. * test/automated/obarray-tests.el: Update the tests.
* | Rename obarray-foreach to obarray-mapNicolas Petton2015-11-112-4/+4
| | | | | | | | | | * lisp/obarray.el (obarray-map): New name. * test/automated/obarray-tests.el: Update the corresponding tests.
* | New file with obarray functions.Przemysław Wojnowski2015-11-112-0/+155
| | | | | | | | | | * lisp/obarray.el: basic obarray functions extracted from abbrev.el * test/automated/obarray-tests.el: new file
* | Implement tray notifications for MS-WindowsEli Zaretskii2015-11-112-4/+562
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef. (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE) (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO) (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID) (EMACS_NOTIFICATION_MSG): New macros. (NI_Severity): New enumeration. (get_dll_version, utf8_mbslen_lim, add_tray_notification) (delete_tray_notification, Fw32_notification_notify) (Fw32_notification_close): New functions. (syms_of_w32fns): Defsubr functions exposed to Lisp. DEFSYM keywords used by w32-notification-notify. * doc/lispref/os.texi (Desktop Notifications): Describe the native w32 tray notifications.
* | Optimize `file-equal-p' and `file-in-directory-p' in TrampMichael Albinus2015-11-115-8/+28
| | | | | | | | | | | | | | | | | | | | | | * lisp/net/tramp.el (tramp-handle-file-equal-p) (tramp-handle-file-in-directory-p): New defuns. Suggested by Harvey Chapman <hchapman@3gfp.com> * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist): * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
* | * CONTRIBUTE: Encourage adding tests.Karl Fogel2015-11-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on this post from John Wiegley: From: "John Wiegley" <johnw@newartisans.com> Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test To: Juanma Barranquero <lekktu@gmail.com> Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com, emacs-devel <emacs-devel@gnu.org> Date: Wed, 28 Oct 2015 18:45:29 -0700 Message-ID: <m2y4emqwg6.fsf@newartisans.com> https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
* | Avoid creating notification objects when possibleDavid Reitter2015-11-101-12/+28
| | | | | | | | | | | | | | | | * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:, windowDidEnterFullScreen, windowDidExitFullScreen): provide convenience functions that do not require a notification object. When needed, define NSWindowDidEnterFullScreenNotification to allow for compilation on OS X 10.6.8.
* | Move INTEGER_TO_CONS body out of .h filePaul Eggert2015-11-102-11/+30
| | | | | | | | | | | | | | | | | | | | * src/data.c (INTBIG_TO_LISP): New macro, with most of the contents of the old INTEGER_TO_CONS. (intbig_to_lisp, uintbig_to_lisp): New functions. * src/lisp.h (INTEGER_TO_CONS): Simplify by using EXPR_SIGNED and the new functions. This shrinks code size a bit, and makes it easier to put a breakpoint on handling of large integers.
* | Merge from gnulibPaul Eggert2015-11-101-10/+9
| | | | | | | | | | | | | | This incorporates: 2015-11-10 intprops: new public macro EXPR_SIGNED 2015-11-10 intprops: fix typo in clang port * lib/intprops.h: Copy from gnulib.
* | Spelling fixesPaul Eggert2015-11-1013-27/+27
| | | | | | | | | | * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type): Fix misspelling in output.
* | * doc/lispref/variables.texi (Directory Local Variables):Artur Malabarba2015-11-104-15/+39
| | | | | | | | | | | | | | | | | | | | | | Document dir-locals wildcards * lisp/files.el (dir-locals-file): Point to Info node. * doc/emacs/custom.texi (Directory Variables): Document dir-locals wildcards. * etc/NEWS: Document new functionality.
* | * lisp/files.el: Don't allow customization of dir-locals sortingArtur Malabarba2015-11-101-20/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | In retrospect, this is not a good idea for the same reason that `dir-locals-file' is a defconst, because it is important that this behaviour be "uniform across different environments and users". Sure, the user can still change the sorting with a hack, but we shouldn't encourage them to change it. (dir-locals--all-files): Return list in the order returned by `file-expand-wildcards'. (file-expand-wildcards): Document the sorting predicate used. (dir-locals-sort-predicate): Delete variable.
* | * lisp/files.el (dir-locals-read-from-file): Better handle errorsArtur Malabarba2015-11-101-4/+11
| |
* | * lisp/isearch.el (search-default-regexp-mode): change default valueArtur Malabarba2015-11-101-1/+1
| |
* | * lisp/files.el (dir-locals-find-file): Don't stop at unreadable filesArtur Malabarba2015-11-101-16/+6
| | | | | | | | | | `locate-dominating-file' will now keep looking if the files it finds in a given directory are unreadable (or not files).
* | * lisp/files.el (dir-locals-file): Allow wildcardsArtur Malabarba2015-11-104-91/+154
| | | | | | | | | | | | | | | | | | | | | | | | (dir-locals-find-file, dir-locals-collect-variables) (dir-locals-read-from-file): Update accordingly. (hack-dir-local-variables): Rename a local variable. * lisp/files-x.el (modify-dir-local-variable): Update accordingly * lisp/help-fns.el (describe-variable): Update accordingly * .gitignore: Add .dir-locals?.el
* | * lisp/emacs-lisp/map.el (map-merge-with): New functionArtur Malabarba2015-11-102-5/+27
| | | | | | | | * test/automated/map-tests.el (test-map-merge-with): New test
* | ; project-library-roots-function: Update the FIXMEDmitry Gutov2015-11-101-2/+3
| |
* | Fix some recently-perturbed bookmark autoloadsKarl Fogel2015-11-091-1/+2
| | | | | | | | | | | | | | | | | | | | * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload. (bookmark-set): Restore autoload. (bookmark-set-no-overwrite): Add autoload. Thanks to Juanma Barranquero for noticing the autoload problems introduced by my recent commit adding/changing the above functions (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
* | (ydump-buffer): Handle case where gap is at the start of buffer.Noah Friedman2015-11-091-3/+7
| | | | | | | | | | I don't recall if older versions of gdb were less strict but you cannot dump a 0-length range in gdb 7.9.1.
* | * lisp/progmodes/project.el: Update Commentary.Dmitry Gutov2015-11-101-1/+2
| |
* | Merge branch 'project-next'Dmitry Gutov2015-11-107-154/+186
|\ \
| * | Fold `project-ask-user' into `project-current'Dmitry Gutov2015-11-103-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el (project-find-functions): Remove `project-ask-user'. (project-ask-user): Remove function and the corresponding `project-roots' implementation. (project-current): Add a new argument, MAYBE-PROMPT. Prompt the user in case there's no project in the current directory. Update all callers.
| * | Make sure that the ignore file existsDmitry Gutov2015-11-091-2/+3
| | | | | | | | | | | | | | | * lisp/vc/vc.el (vc-default-ignore-completion-table): Make sure that the ignore file exists.
| * | Remove dirs in vc project roots from the the vc project library rootsDmitry Gutov2015-11-081-6/+9
| | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el (project-library-roots): Remove directories inside the project roots from the result. (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
| * | ; project-library-roots: Update docstringDmitry Gutov2015-11-081-3/+3
| | |
| * | Move and rename xref-find-regexp to the project packageDmitry Gutov2015-11-082-44/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el (project-find-regexp) (project--read-regexp) (project--find-regexp-in): New functions. * lisp/progmodes/xref.el (xref--find-xrefs): Extract from xref--show-xrefs. Use in existing callers in place of that function. (xref--show-xrefs): Only do the "show" part. (xref-find-regexp): Rename, more or less, to project-or-libraries-find-regexp.
| * | Abolish temporary buffer management for xrefDmitry Gutov2015-11-061-41/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/xref.el (xref--temporary-buffers) (xref--current) (xref--inhibit-mark-current) (xref--mark-selected): Remove. Remove all references. (xref--show-xrefs): Do not construct the list of the temporary buffers, nor pass it along.
| * | Rename "search path" to "library roots"Dmitry Gutov2015-11-066-57/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order of the elements from CL-LIST1. * test/automated/cl-lib-tests.el (cl-lib-test-set-functions): Update WRT to the above change. * lisp/progmodes/project.el (project-search-path-function): Rename to project-library-roots-function, update the documentation and references. (project-search-path): Likewise, to project-library-roots. (project-roots): Clarify documentation. (project-vc-search-path): Likewise, to project-vc-library-roots. (project-library-roots): In addition to the renames, thread the results through file-name-as-directory. (project-prune-directories): Accept a variable number of arguments. Rename to project-combine-directories. (project-subtract-directories): New function. * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Append project-roots and project-library-roots together. * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
* | | When VC detects a conflict, specify which fileKarl Fogel2015-11-095-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function. * lisp/vc/vc-svn.el (vc-svn-find-file-hook): * lisp/vc/vc-hg.el (vc-hg-find-file-hook): * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook): * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function to display a standard message that specifies the conflicted file. Before this change, the message VC used for indicating a conflicted file was just "There are unresolved conflicts in this file" without naming the file (and this language was duplicated in several places). After this change, it's "There are unresolved conflicts in file FOO" (and this language is now centralized in one function in vc.el). Justification: It's important for the message to name the conflicted file because the moment when VC realizes a file is conflicted does not always come interactively. For example, some people automatically find a set of Org Mode files on startup, and may keep those .org files under version control. If any of the files are conflicted, the user just sees some messages fly by, and might later check the "*Messages*" buffer to find out what files were conflicted. I'm not saying this happened to me or anything; it's a purely hypothetical example.
* | | Fix assertion violation in define-keyEli Zaretskii2015-11-091-1/+3
| | | | | | | | | | | | | | | | | | * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character objects. Reported by Drew Adams <drew.adams@oracle.com> and Juanma Barranquero <lekktu@gmail.com>.
* | | Fix a memory leak in GC of font cacheDima Kogan2015-11-091-3/+27
| | | | | | | | | | | | | | | | | | * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font entities if some of the fonts it references are marked. This plugs a memory leak. (Bug#21556)
* | | Use INT_ADD_WRAPV etc. to check integer overflowPaul Eggert2015-11-0821-184/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string): * src/buffer.c (record_overlay_string, overlay_strings): * src/casefiddle.c (casify_object): * src/ccl.c (Fccl_execute_on_string): * src/character.c (char_width, c_string_width, lisp_string_width) (count_size_as_multibyte, string_escape_byte8): * src/coding.c (coding_alloc_by_realloc, produce_chars): * src/data.c (arith_driver): * src/dispnew.c (realloc_glyph_pool, init_display): * src/editfns.c (styled_format): * src/fns.c (Ffillarray): * src/ftfont.c (ftfont_shape_by_flt): * src/gnutls.c (gnutls_hex_string): * src/gtkutil.c (get_utf8_string): * src/image.c (x_to_xcolors, x_detect_edges, png_load_body): * src/keymap.c (Fkey_description): * src/lisp.h (SAFE_ALLOCA_LISP): * src/term.c (encode_terminal_code): * src/tparam.c (tparam1): * src/xselect.c (x_property_data_to_lisp): * src/xsmfns.c (smc_save_yourself_CB): * src/xterm.c (x_term_init): When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to more-complicated code involving division and/or INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and subtraction and/or INT_ADD_OVERFLOW. * src/casefiddle.c (casify_object): Simplify multibyte size check. * src/character.c: Remove some obsolete ‘#ifdef emacs’s. * src/data.c (arith_driver): Also check for division overflow, as that’s now possible given that the accumulator can now contain any Emacs integer. * src/lisp.h (lisp_word_count): Remove; no longer used.
* | | * gnus-sum.el (gnus-summary-backend-map): Bind B-backspace toMichael Sperber2015-11-091-0/+1
| | | | | | | | | | | | `gnus-summary-delete-article` in a way that also works on XEmacs.
* | | ; ChangeLog.2 fixesJuanma Barranquero2015-11-081-68/+47
| | |
* | | Add support for retrieving paths to JSON elementsSimen Heggestøyl2015-11-082-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for retrieving the path to a JSON element. This can for instance be useful to retrieve paths in deeply nested JSON structures. * lisp/json.el (json-pre-element-read-function) (json-post-element-read-function): New variables to hold pre- and post read callback functions for `json-read-array' and `json-read-object'. (json--path): New variable used internally by `json-path-to-position'. (json--record-path, json--check-position): New functions used internally by `json-path-to-position'. (json-path-to-position): New function for retrieving the path to a JSON element at a given position. (json-read-object, json-read-array): Call `json-pre-element-read-function' and `json-post-element-read-function' when set. * test/automated/json-tests.el (test-json-path-to-position-with-objects) (test-json-path-to-position-with-arrays) (test-json-path-to-position-no-match): New tests for `json-path-to-position'.
* | | * etc/NEWS: Mention new `bookmark-set-no-overwrite'.Karl Fogel2015-11-081-0/+4
| | | | | | | | | | | | | | | This really should been part of my previous commit (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
* | | Offer non-overwrite bookmark setter (Bug#15746)Karl Fogel2015-11-081-26/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/bookmark.el (bookmark-set-internal): New helper function to do what `bookmark-set' used to do, but with more choices for overwrite vs push, and with minor changes to the interactive prompt format. (bookmark-set): Rewrite as wrapper around above. If overwriting, inform the user of that in the prompt. (bookmark-set-no-overwrite): New function, also done as wrapper. Bind to "M" in `ctl-x-r-map' autoloads. (bookmark-map): Similarly bind "M" here.
* | | * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).Paul Eggert2015-11-081-3/+1
| | |
* | | ELF unexec: Don't insert a new sectionAlan Modra2015-11-081-474/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reuse the .bss section instead, making it SHT_PROGBITS. This way we don't need to mess with symbol st_shndx, or section sh_link and sh_info. This does lead to eu-elflint complaints about symbols defined in .bss with a needed version, because normally it is undefined symbols that have needed versions; Defined symbols have version definitions. The exception is symbols defined by the linker in .dynbss for variables copied from a shared library in order to avoid text relocations, with copy relocs to copy their initial values from the shared library. These symbols are both defined and have needed versions, and eu-elflink only expects to see them in SHT_NOBITS sections. Of course there is no real problem with having such symbols in SHT_PROGBITS sections. glibc ld.so handles them fine. * unexelf.c: Delete outdated comments. (PATCH_INDEX): Delete. (find_section): Delete. (unexec): Don't add a new section. Instead reuse the last bss section, extending it to cover dumped data. Make bss sections SHT_PROGBITS. Remove all patching of sh_link, sh_info and st_shndx. Rename bss sections.
* | | ELF unexec: Drive from PT_LOAD header rather than sectionsAlan Modra2015-11-081-213/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This rewrites bss handling in the ELF unexec code. Finding bss sections by name results in complicated code that - does not account for all names of possible bss sections, - assumes specific ordering of bss sections, - can wrongly choose a SHT_NOBITS section not in the bss segment, - incorrectly calculates bss size (no accounting for alignment gaps), - assumes .data and .bss are in the same segment. All of these problems and more are solved by finding the bss segment in PT_LOAD headers, ie. the address range included in p_memsz but not p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections in that address range. * unexelf.c: Delete old ppc comment. (OLD_PROGRAM_H): Define. (round_up): Delete. (unexec): Don't search for bss style sections by name. Instead, use the last PT_LOAD header address range covered by p_memsz but not p_filesz and match any SHT_NOBITS section in that address range. Simplify initialisation of section header vars. Don't assume that section headers are above bss segment. Move copying of bss area out of section loop. Align .data2 section to 1, since it now covers the entire bss area. For SHT_NOBITS sections in the bss segment, leave sh_addr and sh_addralign unchanged, but correct sh_offset. Clear memory corresponding to SHT_NOBITS .plt section. Delete comment and hacks for sections partly overlapping bss range now that the full range is properly calculated. Delete now dead .sbss code. (Bug#20614)
* | | ELF unexec: R_*_NONE relocsAlan Modra2015-11-081-7/+7
| | | | | | | | | | | | | | | | | | | | | These should be ignored on all targets. * unexelf.c (unexec): Ignore R_*_NONE relocs for any target, not just Alpha. Comment on reloc size assumption.
* | | ELF unexec: _OBJC_ symbols in bss sectionsAlan Modra2015-11-081-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code assumed that there was only one bss section. Rather than checking for a particular index, check the section type. Also, handle the possibility that the section was SHT_NOBITS originally and is unchanged, in which case no clearing is needed (and sh_offset isn't necessarily valid, which can lead to a wild memset). * unexelf.c (unexec): Properly handle _OBJC_ symbols in bss sections.
* | | ELF unexec: Symbol table patchingAlan Modra2015-11-081-4/+5
| | | | | | | | | | | | | | | | | | No st_shndx value larger than SHN_LORESERVE should be changed. * unexelf.c (unexec): Don't adjust any st_shndx larger than SHN_LORESERVE. Error on SHN_XINDEX.
* | | ELF unexec: Merge Alpha and MIPS COFF debug handlingAlan Modra2015-11-081-67/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | * unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling. Don't find .mdebug section index, find the section in the loop. Allow for unlikely possibility that .mdebug is located at sh_offset before bss segment, by calculating move from difference in sh_offset rather than just assuming new_data2_size. Simplify cbLineOffset handling.
* | | ELF unexec: Tidy codeAlan Modra2015-11-081-114/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate out some of the more mechanical changes so following patches are smaller. * unexelf.c (unexec): Rearrange initialisation of program header vars. Use pointer vars in loops rather than indexing section header array via macros. Simplify _OBJC_ sym code and reloc handling code.
* | | ELF unexec: Correct section header indexAlan Modra2015-11-081-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First a small fix. The code incorrectly uses "NEW_SECTION_H (n)" when it should have been using "NEW_SECTION_H (nn)" to find the name of the section currently being processed. Of course, before the bss sections, n and nn have the same value, so this doesn't matter except in the case of .sbss. For .sbss this probably meant .bss (most likely the next section) was copied from memory. A later patch removes the bogus .sbss handling anyway. * unexelf.c (unexec): Use correct index to look up names.
* | | Fix Bug#21841Michael Albinus2015-11-081-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/filenotify.el (file-notify--rm-descriptor): Use `descriptor' instead of computing its value. (file-notify--descriptor): Additional argument FILE. Adapt all callees. (file-notify-rm-watch): Use `descriptor' when calling file name handler. (Bug#21841)
* | | ; Auto-commit of ChangeLog files.Glenn Morris2015-11-081-1/+371
| | |
* | | Prefer xpalloc to doubling buffers by handPaul Eggert2015-11-075-38/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/lread.c (grow_read_buffer): New function, which uses xpalloc. (read1): Use it for simplicity. * src/macros.c (store_kbd_macro_char): * src/minibuf.c (read_minibuf_noninteractive): * src/term.c (encode_terminal_code): * src/xrdb.c (magic_db): Prefer xpalloc to growing buffers by hand. This doesn’t fix any bugs, but simplifies the code a bit.