summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* Map previous-line and next-line to scroll-down and up.rekado-webkitrekado2016-09-201-2/+2
* xwidgets: Initialize size to fill window.rekado2016-09-201-1/+3
* WIP xwidgets: bind beginning/end of buffer.rekado2016-09-201-2/+15
* WIP: Webkit add zoom.rekado2016-09-202-0/+33
* WIP: WebKit widget can scroll by itself.rekado2016-09-203-69/+16
* WIP: Use WebKit2 API....* configure.ac: Check for webkit2gtk-4.0. * src/xwidget.c: Adjust to use WebKit2 API. rekado2016-09-192-108/+82
* Fix daemon shutdown when emacs-kill-hooks ask questions...* lisp/server.el (server-start): Put the server's kill-emacs-hook last, to allow other hooks to have a frame to interact with the user. (Bug#24326) Eli Zaretskii2016-09-121-1/+6
* * src/casefiddle.c (casify_word): Simplify.Paul Eggert2016-09-121-17/+5
* * src/casefiddle.c (casify_word): Return Qnil.Paul Eggert2016-09-121-6/+4
* Refactor common code in {upcase,downcase,capitalize}-word functions...* src/casefiddle.c (operate_on_word): Removed in favour of… (casify_word) …new function which does what operate_on_word did plus what all of the common code from *-word functions. (upcase-word, downcase-word, capitalize-word): Move code common between those functions (pretty much the whole body of those functions) into casify_word and use that instead of now deleted operate_on_word. Michal Nazarewicz2016-09-121-27/+17
* * doc/lispref/files.texi: Remove @vindex.Paul Eggert2016-09-111-1/+0
* Remove unnecessary ref to coreutils manual...* doc/lispref/files.texi: Document write-region-inhibit-fsync. Paul Eggert2016-09-111-2/+14
* Correctly fontify C++ direct initializations with parens inside functions...Or, more clearly, when something looks like a function declaration and it's inside a function, fontify it as a direct initialization. For this purpose, introduce a "brace stack" for each buffer, where an entry on the brace stack states how deeply nested a particular position is inside braces inside a "top level", which includes classes and namespaces. Also introduce a new "context", "top", with which c-font-lock-declarations signals to c-forward-decl-or-cast-1 that point is at the top level. * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add c-truncate-bs-cache. (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key) (c-type-decl-operator-prefix-key): new language constants/variables. * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit) (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace stack cache. (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at) (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache). (c-find-decl-prefix-search): Keep track of whether we're at top level. (c-find-decl-spots): New local variable cfd-top-level which records what it says. On calling cfd-fun, pass cfd-top-level as an additional argument. (c-forward-declarator): Add new element DECORATED to the result list. Set it to non-nil when a match for c-type-decl-operator-prefix-key is found. (c-forward-decl-or-cast-1): Handle the newly introduced context "top". Introduce "CASE 9.5", which recognizes direct initializations. * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare) (c-font-lock-enum-tail, c-font-lock-cut-off-declarators) (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after): Add appropriate `not-top' argument to calls to c-font-lock-declarators. (c-font-lock-declarators): Additional parameter `not-top'. Use not-top to participate in the decision whether to fontify an identifier as a function or a variable. (c-font-lock-declarations): The internal lambda function takes an additional argument `toplev' from c-find-decl-spots, which it uses in determining the "context" of a declaration. Add appropriate `not-top' argument to calls to c-font-lock-declarators. (c-font-lock-objc-methods): Add extra parameter to internal lambda function, like for c-font-lock-declarators. * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack cache. Alan Mackenzie2016-09-114-32/+337
* Avoid signaling errors when computing "Stop" in GDB menu...* lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume 'gdb-running-threads-count' must have a numeric value. (Bug#24414) Eli Zaretskii2016-09-111-0/+1
* Stop calling ‘byte-compile-log-warning’...For errors, use ‘byte-compile-report-error’ instead so that the error is registered and causes compilation to fail (Bug#24359). For warnings, use ‘byte-compile-warn’ instead so that ‘byte-compile-error-on-warn’ is honored (Bug#24360). * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled) (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’. * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf) (byte-compile-setq, byte-compile-funcall): Use ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’. (byte-compile-log-warning): Convert comment to documentation string. Explain that the function shouldn’t be called directly. (byte-compile-report-error): Add optional FILL argument. * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use) (cconv--analyze-function, cconv-analyze-form): Use ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’. * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’. * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’. (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’. Philipp Stephani2016-09-115-42/+42
* * etc/NEWS: Remove comment lost in emacs-25 merge.Paul Eggert2016-09-101-0/+7
* Document file synchronization issues...* doc/lispref/files.texi (Files and Storage): New section. Paul Eggert2016-09-103-2/+32
* copy-file now uses GNU/Linux file cloning...From a suggestion by Kieran Colford (see Bug#23904). * configure.ac: Check for linux/fs.h. * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h. (clone_file): New function. (Fcopy_file): Use it. Paul Eggert2016-09-102-8/+26
* Invert y coord of NS image files (bug#7847)...* src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image when compositing. Alan Third2016-09-101-1/+2
* Don't require isearch-update before isearch-done...It is useful to be able to call `isearch-done' unconditionally to ensure a non-isearching state. * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer' is a live buffer before using it (Bug #21091). * test/lisp/isearch-tests.el (isearch--test-done): Test it. Noam Postavsky2016-09-102-3/+12
* * lisp/emacs-lisp/ring.el: Use lexical-binding...* lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT argument of `dotimes' when the iteration variable isn't referred by it. (ring-member): Don't pass nil as the RESULT argument of `dotimes' since it's the default. Simen Heggestøyl2016-09-092-4/+7
* Split regex character class test into smaller chunks...Having one test for all character classes it is not always trivial to determine which class is failing. This happens when failure is caused by ‘(should (equal (point) (point-max)))’ not being met. With per-character class tests, it is immidiatelly obvious which test causes issues plus tests for all classes are run even if some of them fail. * test/src/regex-tests.el (regex-character-classes): Delete and split into… (regex-tests-alnum-character-class, regex-tests-alpha-character-class, regex-tests-ascii-character-class, regex-tests-blank-character-class, regex-tests-cntrl-character-class, regex-tests-digit-character-class, regex-tests-graph-character-class, regex-tests-lower-character-class, regex-tests-multibyte-character-class, regex-tests-nonascii-character-class, regex-tests-print-character-class, regex-tests-punct-character-class, regex-tests-space-character-class, regex-tests-unibyte-character-class, regex-tests-upper-character-class, regex-tests-word-character-class, regex-tests-xdigit-character-class): …new tests. Michal Nazarewicz2016-09-091-44/+46
* Don’t allocate char-table’s extra slots in regexp-out-charset...* lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use 'case-table as charmap char-table’s property. The function has nothing to do with casing and in addition using 'case-table causes unnecessary extra slots to be allocated which ‘regexp-opt-charset’ does not use. Michal Nazarewicz2016-09-091-1/+1
* Remove dead loop iterations in regex.c...RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8 character for c ≥ 0x80. Furthermore, CHAR_BYTE8_P(c) is true only for byte8 characters. This means that c = RE_CHAR_TO_MULTIBYTE (ch); if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc)) is equivalent to: c = c; if (! false && re_iswctype (c, cc)) for 0 ⪬ c < 0x80, and c = BYTE8_TO_CHAR (c); if (! true && re_iswctype (c, cc)) for 0x80 ⪬ c < 0x100. In other words, the loop never executes for c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80. * src/regex.c (regex_compile): Simplyfy a for loop by eliminating dead iterations and unnecessary macro calls. Michal Nazarewicz2016-09-091-16/+12
* Replace decimalnump with alphanumericp...decimalnump was used in regex.c only in ISALNUM macro which ored it with alphabeticp. Because both of those functions require Unicode general category lookup, this resulted in unnecessary lookups (if alphabeticp return false decimalp had to perform another lookup). Drop decimalnump in favour of alphanumericp which combines decimelnump with alphabeticp. * src/character.c (decimalnump): Remove in favour of… (alphanumericp): …new function. * src/regex.c (ISALNUM): Use alphanumericp. Michal Nazarewicz2016-09-093-6/+15
* Remove inaccurate comment in regex.c...* src/regex.c (regex_compile): Remove comment indicating that wctype of some character classes may be negative. All wctypes are in fact non-negative. Michal Nazarewicz2016-09-091-2/+1
* STRING_CHAR does not unify characters; update documentation...* src/character.h (STRING_CHAR): Update doc. * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc. While at it, change the function to use BYTE_POS_ADDR instead of open-coding it. Michal Nazarewicz2016-09-092-17/+3
* Add tests for ring.el...* test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el. Simen Heggestøyl2016-09-081-0/+204
* New file test/src/marker-tests.elMartin Rudalics2016-09-081-0/+60
* Port flexible array members to GCC + valgrind...These changes are needed to conform to the C standard's rule for allocating structs containing flexible array members. C11 says that malloc (offsetof (struct s, m) + n) does not suffice to allocate a struct with an n-byte tail; instead, malloc’s arg should be rounded up to the nearest multiple of alignof (struct s). Although this is arguably a defect in C11, gcc -O2 + valgrind sometimes complains when this rule is violated, and when debugging it’s better to keep valgrind happy. For details please see the thread containing the message at: https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c: Include flexmember.h. * lib-src/ebrowse.c (add_sym, add_member, make_namespace) (register_namespace_alias): * src/alloc.c (SDATA_SIZE, allocate_string_data): * src/image.c (xpm_cache_color, imagemagick_create_cache): * src/process.c (Fmake_network_process): Use FLEXSIZEOF instead of offsetof and addition. * src/alloc.c (SDATA_SIZE, vector_alignment): Use FLEXALIGNOF instead of sizeof (ptrdiff_t). * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR): Remove, as alloc.c can now calculate this on its own. Paul Eggert2016-09-075-32/+26
* Update from gnulib...This incorporates: 2016-09-07 flexmember: new macro FLEXALIGNOF 2016-09-07 flexmember: port better to GCC + valgrind 2016-08-18 Port modules to use getprogname explicitly 2016-09-02 manywarnings: add -fno-common * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember, since time_rz now uses part of it. Instead, remove m4/flexmember.m4. * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away, since Emacs assumes C99 and therefore removes m4/flexmember.m4. * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c: * m4/manywarnings.m4: Copy from gnulib. * lib/flexmember.h: New file, from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. Paul Eggert2016-09-079-11/+75
* Don't --load directories...* lisp/startup.el (command-line-1): Only pass expanded FILENAME argument of --load when it refers to a normal file, since `load' doesn't handle directories (Bug #16406). Noam Postavsky2016-09-071-1/+1
* Avoid error in icalendar--read-element...* lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex stack overflow by not using regex to extract values from calendar events. (Bug#24315) Peder O. Klingenberg2016-09-071-3/+5
* Fix back-white <-> black-white typo...* lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308) Kaushal Modi2016-09-071-4/+4
* Fix cursor at bottom left of rectangle (bug#24364)...* lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't require rectangle--point-crutches to be set. Alan Third2016-09-071-1/+1
* Fix documentation of convert-standard-filename on MS-Windows...* lisp/files.el (convert-standard-filename): Doc fix. (Bug#24387) * etc/NEWS: Suggest a way for mirroring slashes where previously 'convert-standard-filename' was used. Eli Zaretskii2016-09-072-4/+11
* Use DEV_TTY more consistently...* src/conf_post.h (DEV_TTY): Move from here ... * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need to be visible everywhere. Make it a constant. * src/keyboard.c (handle_interrupt, Fset_quit_char): * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty". Paul Eggert2016-09-065-13/+12
* Avoid assertion violations when using marker positions...* src/intervals.c (set_point_from_marker): If MARKER comes from another buffer, recalculate its byte position before using it to set point. * src/marker.c (set_marker_internal): If POSITION is a marker from another buffer, recalculate its byte position before using it. (Bug#24368) Eli Zaretskii2016-09-062-5/+14
* * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bugAlan Mackenzie2016-09-061-5/+6
* New options for handling of literals in c-syntactic-re-search-forward...* lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can be given the values `before-literal' and `after-literal', so that when a search fails, and the `bound' is inside a literal, point is left respectively before or after that literal. Alan Mackenzie2016-09-061-3/+21
* Avoid assertion violations when scrolling narrowed buffer...* src/window.c (window_scroll_pixel_based): * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to start outside the accessible portion of the buffer. This avoids assertion violations when some Lisp narrows the buffer to less than the current window, and then attempts to scroll the buffer. Eli Zaretskii2016-09-052-4/+6
* Treat SIGINT correctly in GUI sessions on MS-Windows...* src/w32proc.c (sys_signal): Don't reject SIGINT, as it is supported by MS runtime. * src/term.c (DEV_TTY): Move from here ... * src/conf_post.h (DEV_TTY): ... to here. Separate definitions for WINDOWSNT and for the rest. * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of a literal "/dev/tty". * etc/NEWS: Mention the behavior change. Eli Zaretskii2016-09-055-6/+19
* Fix synthetic bold on macOS retina displays...* src/macfont.m (macfont_draw): Multiply the synthetic bold scaling factor by the OS window backing scale factor. Alan Third2016-09-041-0/+12
* image-dired: Report when a necessary executable is not found...See discussion on: https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00552.html * lisp/image-dired.el (image-dired-cmd-rotate-original-program) (image-dired-cmd-create-thumbnail-program) (image-dired-cmd-create-temp-image-program) (image-dired-cmd-rotate-thumbnail-program) (image-dired-cmd-write-exif-data-program) (image-dired-cmd-read-exif-data-program): Use executable-find to set the defaut value of this option. (image-dired-cmd-rotate-original-program): Idem. Search for program 'convert' if 'jpegtran' is not available. (image-dired-cmd-rotate-original-options): Set the default value consistent with the executable in image-dired-cmd-rotate-original-program. (image-dired-create-thumb, image-dired-display-image) (image-dired-rotate-thumbnail, image-dired-rotate-original) (image-dired-set-exif-data, image-dired-get-exif-data): Throw and error when the executable used in the function is missing. (image-dired-next-line, image-dired-previous-line): Use 'forward-line'. Tino Calancha2016-09-041-36/+56
* image-type-from-file-name: Perform a case insensitive match...Fix Bug#24317 * lisp/image.el (image-type-from-file-name): Bind case-fold-search to a non-nil value to force a case insensitive match. * lisp/image-dired.el (image-dired-rotate-original): Use image-type (Bug#24317). (image-dired-get-exif-file-name): Idem. Set 'no-exif-data-found' and 'data' in same setq call. Use file-attribute-modification-time. Tino Calancha2016-09-042-11/+10
* image-increase-size: Fix non-interactive calls...* lisp/image.el (image-increase-size, image-decrease-size): Compute a floating point division. Problem reported in: https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00067.html Tino Calancha2016-09-041-2/+2
* Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el...Passing the prefix argument as the 3rd argument to 'call-interactively' causes the prefix argument to be interpreted as events, which is not only wrong, but also causes a type error, as 'current-prefix-arg' can never be a vector as 'call-interactively' expects. 'call-interactively' automatically passes its prefix argument to the called function, so just do that, eliminating faulty behavior. * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell): (checkdoc-ispell-current-buffer): (checkdoc-ispell-interactive): (checkdoc-ispell-message-text): (checkdoc-ispell-start): (checkdoc-ispell-continue): (checkdoc-ispell-comments): (checkdoc-ispell-defun): Do not pass 'current-prefix-arg' to 'call-interactively' as an event vector; merely allow it to propagate forward to the interactive call. Robert Cochran2016-09-031-8/+8
* Fix mail-combine-fields...* lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to avoid losing our place in the search loop. Richard Stallman2016-09-031-4/+5
* Check actual contents before promting about changed file...* lisp/userlock.el (userlock--check-content-unchanged) (userlock--ask-user-about-supersession-threat): New functions. * src/filelock.c (lock_file): Use them to avoid spurious prompting. * doc/lispref/buffers.texi (Modification Time): Update doc of ask-user-about-supersession-threat. Stefan Monnier2016-09-024-3/+43
* Make a reference to fakecygpty in the Tramp manual...* doc/misc/tramp.texi (Windows setup hints): Make a reference to fakecygpty on the Emacs Wiki. (Frequently Asked Questions): Fix url. Michael Albinus2016-09-021-2/+8