summaryrefslogtreecommitdiff
Commit message (Collapse)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.rekado2016-09-192-108/+82
| | | | | * configure.ac: Check for webkit2gtk-4.0. * src/xwidget.c: Adjust to use WebKit2 API.
* Fix daemon shutdown when emacs-kill-hooks ask questionsEli Zaretskii2016-09-121-1/+6
| | | | | | * 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)
* * 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 functionsMichal Nazarewicz2016-09-121-27/+17
| | | | | | | | | * 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.
* * doc/lispref/files.texi: Remove @vindex.Paul Eggert2016-09-111-1/+0
|
* Remove unnecessary ref to coreutils manualPaul Eggert2016-09-111-2/+14
| | | | * doc/lispref/files.texi: Document write-region-inhibit-fsync.
* Correctly fontify C++ direct initializations with parens inside functionsAlan Mackenzie2016-09-114-32/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Avoid signaling errors when computing "Stop" in GDB menuEli Zaretskii2016-09-111-0/+1
| | | | | | * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume 'gdb-running-threads-count' must have a numeric value. (Bug#24414)
* Stop calling ‘byte-compile-log-warning’Philipp Stephani2016-09-115-42/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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’.
* * etc/NEWS: Remove comment lost in emacs-25 merge.Paul Eggert2016-09-101-0/+7
|
* Document file synchronization issuesPaul Eggert2016-09-103-2/+32
| | | | * doc/lispref/files.texi (Files and Storage): New section.
* copy-file now uses GNU/Linux file cloningPaul Eggert2016-09-102-8/+26
| | | | | | | | 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.
* Invert y coord of NS image files (bug#7847)Alan Third2016-09-101-1/+2
| | | | | * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image when compositing.
* Don't require isearch-update before isearch-doneNoam Postavsky2016-09-102-3/+12
| | | | | | | | | 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.
* * lisp/emacs-lisp/ring.el: Use lexical-bindingSimen Heggestøyl2016-09-092-4/+7
| | | | | | | | * 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.
* Split regex character class test into smaller chunksMichal Nazarewicz2016-09-091-44/+46
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Don’t allocate char-table’s extra slots in regexp-out-charsetMichal Nazarewicz2016-09-091-1/+1
| | | | | | | * 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.
* Remove dead loop iterations in regex.cMichal Nazarewicz2016-09-091-16/+12
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Replace decimalnump with alphanumericpMichal Nazarewicz2016-09-093-6/+15
| | | | | | | | | | | | | 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.
* Remove inaccurate comment in regex.cMichal Nazarewicz2016-09-091-2/+1
| | | | | | * src/regex.c (regex_compile): Remove comment indicating that wctype of some character classes may be negative. All wctypes are in fact non-negative.
* STRING_CHAR does not unify characters; update documentationMichal Nazarewicz2016-09-092-17/+3
| | | | | | * 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.
* Add tests for ring.elSimen Heggestøyl2016-09-081-0/+204
| | | | * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
* New file test/src/marker-tests.elMartin Rudalics2016-09-081-0/+60
|
* Port flexible array members to GCC + valgrindPaul Eggert2016-09-075-32/+26
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update from gnulibPaul Eggert2016-09-079-11/+75
| | | | | | | | | | | | | | | | 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.
* Don't --load directoriesNoam Postavsky2016-09-071-1/+1
| | | | | | * 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).
* Avoid error in icalendar--read-elementPeder O. Klingenberg2016-09-071-3/+5
| | | | | | * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex stack overflow by not using regex to extract values from calendar events. (Bug#24315)
* Fix back-white <-> black-white typoKaushal Modi2016-09-071-4/+4
| | | | * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
* Fix cursor at bottom left of rectangle (bug#24364)Alan Third2016-09-071-1/+1
| | | | | * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't require rectangle--point-crutches to be set.
* Fix documentation of convert-standard-filename on MS-WindowsEli Zaretskii2016-09-072-4/+11
| | | | | | | * 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.
* Use DEV_TTY more consistentlyPaul Eggert2016-09-065-13/+12
| | | | | | | | * 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".
* Avoid assertion violations when using marker positionsEli Zaretskii2016-09-062-5/+14
| | | | | | | | | * 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)
* * 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-forwardAlan Mackenzie2016-09-061-3/+21
| | | | | | | * 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.
* Avoid assertion violations when scrolling narrowed bufferEli Zaretskii2016-09-052-4/+6
| | | | | | | | * 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.
* Treat SIGINT correctly in GUI sessions on MS-WindowsEli Zaretskii2016-09-055-6/+19
| | | | | | | | | | | | * 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.
* Fix synthetic bold on macOS retina displaysAlan Third2016-09-041-0/+12
| | | | | * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling factor by the OS window backing scale factor.
* image-dired: Report when a necessary executable is not foundTino Calancha2016-09-041-36/+56
| | | | | | | | | | | | | | | | | | | | | | | 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'.
* image-type-from-file-name: Perform a case insensitive matchTino Calancha2016-09-042-11/+10
| | | | | | | | | | | 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.
* image-increase-size: Fix non-interactive callsTino Calancha2016-09-041-2/+2
| | | | | | | * 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
* Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.elRobert Cochran2016-09-031-8/+8
| | | | | | | | | | | | | | | | | | | | 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.
* Fix mail-combine-fieldsRichard Stallman2016-09-031-4/+5
| | | | | * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to avoid losing our place in the search loop.
* Check actual contents before promting about changed fileStefan Monnier2016-09-024-3/+43
| | | | | | | | * 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.
* Make a reference to fakecygpty in the Tramp manualMichael Albinus2016-09-021-2/+8
| | | | | | * doc/misc/tramp.texi (Windows setup hints): Make a reference to fakecygpty on the Emacs Wiki. (Frequently Asked Questions): Fix url.