- 25 Apr, 2019 9 commits
-
-
Stefan Monnier authored
* lisp/startup.el (command-line): Default to lexical-binding in *scratch*. (normal-no-mouse-startup-screen, command-line-1): Use startup--get-buffer-create-scratch. (command-line-1): * lisp/simple.el (eval-expression): * lisp/server.el (server-eval-and-print): Use lexical-binding to evaluate the expression. (server-execute): Use startup--get-buffer-create-scratch. * lisp/ielm.el (inferior-emacs-lisp-mode): Default to lexical-binding.
-
Alan Mackenzie authored
E.g., on typing the closing delimiter of a string continued onto a second line, the opening delimiter retained its font-lock-warning-face. * lisp/progmodes/cc-defs.el (c-c++-raw-string-opener-re) (c-c++-raw-string-opener-1-re): New constants. (c-sub-at-c++-raw-string-opener, c-at-c++-raw-string-opener): New macros. * lisp/progmodes/cc-engine.el (c-raw-string-pos) (c-depropertize-raw-strings-in-region, c-after-change-unmark-raw-strings): Replace uses of open-coded raw string regexps by the new constants and macros in cc-defs.el. * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Ditto * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Set c-new-BEG to the beginning of the string when we encounter its closing ". When not in a raw string, but in a string, clear syntax-table properties from its delimiters and set c-new-BEG/END to its limits. (c-after-change-mark-abnormal-strings): When applying syntax-table properties to string delimiters, also set c-new-BEG/END to ensure subsequent fontification.
-
Stephen Berman authored
* lisp/wdired.el (wdired--restore-dired-filename-prop): When dired-listing-switches includes "F" or "classify", don't treat appended indicator characters as part of the file name (bug#34915). * test/lisp/wdired-tests.el (wdired-test-bug34915): New test.
-
Paul Eggert authored
Without this fix, linking emacsclient fails with ‘Undefined symbol eaccess’ on Solaris 10 sparc. * lib-src/Makefile.in (LIB_EACCESS): New macro. (emacsclient${EXEEXT}, emacsclientw${EXEEXT}): Use it.
-
Alan Mackenzie authored
These are where changing the identifier in a raw string delimiter causes different delimiters to match eachother. * lisp/progmodes/cc-engine.el (c-raw-string-end-delim-disrupted): New variable. (c-before-change-check-raw-strings): Use new variable. (c-after-change-unmark-raw-strings): When typing into an opening delimiter or altering its close delimiter causes the opening delimiter to match a later closing delimiter, clear all syntax-table char properties from the opening delimiter onwards, and set c-new-END to point max. Also, when changing a closing delimiter, check whether its new value matches a previously open opening delimiter earlier in the buffer, and amend the syntax-table text properties appropriately.
-
Michael R. Mauger authored
(sql-is-sqli-buffer-p): New function. (sql-generate-unique-sqli-buffer-name): Refactor and use it. (sql-product-interactive): Simplify name logic. * test/lisp/progmodes/sql-tests.el (sql-tests-placeholder-filter-harness): New macro. (sql-tests-placeholder-filter-simple) (sql-tests-placeholder-filter-ampersand) (sql-tests-placeholder-filter-period): Refactored tests and use macro. (sql-tests-buffer-naming-harness): New macro. (sql-tests-buffer-naming-default) (sql-tests-buffer-naming-multiple) (sql-tests-buffer-naming-explicit) (sql-tests-buffer-naming-universal-argument) (sql-tests-buffer-naming-existing): New tests.
-
Paul Eggert authored
* lib-src/emacsclient.c (set_local_socket): Use faccessat with AT_EACCESS instead of using euidaccess. * admin/merge-gnulib, lib/gnulib.mk.in, m4/gnulib-comp.m4: Revert previous change.
-
Paul Eggert authored
* admin/merge-gnulib (GNULIB_MODULES): Add euidaccess. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
-
Paul Eggert authored
-
- 24 Apr, 2019 19 commits
-
-
Mark Oteiza authored
* lisp/obsolete/ws-mode.el (ws-search-direction, ws-error, ws-end-block): (ws-mark-word, ws-undo, ws-goto-last-cursorposition, ws-last-error): (ws-kill-bol): Remove full stops from message string endings. Minor formatting tweaks.
-
Mark Oteiza authored
* lisp/obsolete/ws-mode.el: Turn on lexical-binding. Update commentary. (wordstar): New custom group. (wordstar-mode-lighter): New custom variable. (wordstar-mode): Declare with define-minor-mode. (turn-on-wordstar-mode): New function. (global-wordstar-mode): New function. Use previous new function.
-
Dmitry Gutov authored
* lisp/progmodes/project.el (project--find-regexp-in-files): Add an explicit '-e' before the pattern. Fixing the ability to search for '--'. Reported by Juri Linkov <juri@linkov.net>.
-
Juri Linkov authored
Remember action and delete it from display-buffer-overriding-action afterwards
-
Philipp Stephani authored
Add support for a new preprocessor macro EMACS_MODULE_HAVE_MPZ_T to emacs-module.h. If this macro is defined, assume that mpz_t is already defined and don’t include gmp.h. Don’t document the new macro for now, as it’s unclear whether we want to support this in modules outside the Emacs tree. * src/emacs-module.h.in: Allow user to prevent inclusion of gmp.h. * src/emacs-module.c: Use mini-gmp if GMP is unavailable. Don’t include gmp.h. * src/lisp.h: Don’t require gmp.h. It’s not needed for lisp.h. * test/Makefile.in (GMP_LIB, GMP_OBJ): New variables. ($(test_module)): Use them. * test/data/emacs-module/mod-test.c: Use mini-gmp if GMP is unavailable.
-
Philipp Stephani authored
* test/Makefile.in (GMP_LIB): Define variable. ($(test_module)): Use it.
-
Philipp Stephani authored
* src/lisp.h: Remove include of emacs-module.h. Remove definition of Lisp_Module_Function structure. * src/emacs-module.c (module_function_documentation) (module_function_address): New accessor functions for module function fields. (emacs_subr, struct Lisp_Module_Function): Move from lisp.h. * src/print.c (print_vectorlike): * src/doc.c (Fdocumentation): Use the new accessor functions.
-
Paul Eggert authored
* src/lisp.h (PVECHEADERSIZE): New macro. (XSETPVECTYPESIZE): Use it. * src/search.c (syms_of_search): No need to initialize or staticpro last_thing_searched or saved_last_thing_searched, as the thread code arranges for initialization and GC. * src/thread.c (main_thread): Initialize statically. (Fmake_mutex, Fmake_condition_variable, Fmake_thread): Use ALLOCATE_ZEROED_PSEUDOVECTOR rather than zeroing by hand. (mark_one_thread): No need to mark Lisp_Object members. (init_main_thread, init_threads_once): Remove. All uses removed.
-
Eli Zaretskii authored
* Makefile.in (CONFIG_STATUS_FILES_IN): Add src/emacs-module.h.in.
-
Eli Zaretskii authored
* lisp/emacs-lisp/timer.el (timer-event-handler): Fix the comparison between next invocation time and current time.
-
Eli Zaretskii authored
* src/xdisp.c (pos_visible_p): Account for line-number display width when CHARPOS is covered by display property that begins at the 2nd display element of a screen line. (Bug#35404)
-
Eli Zaretskii authored
* src/timefns.c (timespec_to_lisp): Fix a typo in function definition.
-
Philipp Stephani authored
-
Philipp Stephani authored
* doc/lispref/internals.texi (Module Values): Clarify that the truncation is towards negative infinity. * test/data/emacs-module/mod-test.c (Fmod_test_nanoseconds): Add test function. (emacs_module_init): Define it. * test/src/emacs-module-tests.el (mod-test-nanoseconds): New unit test.
-
Philipp Stephani authored
make_time is documented to return a (TICKS . HZ) pair, so we can’t use make_lisp_time. Introduce a new conversion function instead. * src/emacs-module.c (module_make_time): Use timespec_to_lisp to correct return type. * src/timefns.c (timespec_to_lisp): New function. (make_lisp_time): Use it. * test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid): Check return type.
-
Philipp Stephani authored
* src/module-env-27.h: Add new module functions to convert big integers. * src/emacs-module.h.in (emacs_mpz): Define if GMP is available. * src/emacs-module.c (module_extract_big_integer) (module_make_big_integer): New functions. (initialize_environment): Use them. * test/data/emacs-module/mod-test.c (Fmod_test_double): New test function. (emacs_module_init): Define it. * test/src/emacs-module-tests.el (mod-test-double): New unit test. * doc/lispref/internals.texi (Module Values): Document new functions.
-
Philipp Stephani authored
Time values are a fundamental data type, and such conversions are hard to implement within modules because of the various forms of time values in Emacs Lisp. Adding dedicated conversion functions can significantly simplify module code dealing with times. This approach uses nanosecond precision. While Emacs in theory has support for higher-precision time values, in practice most languages and standards, such as POSIX, C, Java, and Go, have settled on nanosecond-precision integers to represent time. * src/emacs-module.h.in: Add header for struct timespec. * src/module-env-27.h: Add module functions for time conversion. * src/emacs-module.c (module_extract_time, module_make_time): New functions. (initialize_environment): Use them. * test/data/emacs-module/mod-test.c (Fmod_test_add_nanosecond): New test function. (emacs_module_init): Define it. * test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid) (mod-test-add-nanosecond/nil, mod-test-add-nanosecond/invalid): New unit tests. * doc/lispref/internals.texi (Module Values): Document time conversion functions.
-
Eli Zaretskii authored
This reverts commit 64d0cd98. Rationale: any font-related code and comments, even if unused for decades, serves as important source of useful information in an area of Emacs code that is notoriously under-documented. Please do NOT remove this stuff until we have an active expert in this are on board, who will then decide whether this can be retired.
-
YAMAMOTO Mitsuharu authored
* configure.ac: Check cairo early. Don't try Xft if cairo is used. * lwlib/lwlib-utils.h [USE_CAIRO]: Include cairo.h and fontconfig.h. (XftFont, XftDraw, XftColor, XGlyphInfo) [USE_CAIRO]: New typedefs. (XftFontOpenName, XftFontClose, XftDrawCreate, XftDrawDestroy) (XftDrawRect, XftDrawStringUtf8, XftTextExtentsUtf8) [USE_CAIRO]: New macros. (crxft_font_open_name, crxft_font_close, crxft_draw_create) (crxft_draw_rect, crxft_draw_string, crxft_text_extents) [USE_CAIRO]: New externs. * lwlib/lwlib-utils.c [USE_CAIRO]: Include math.h, cairo-ft.h, and cairo-xlib.h. (crxft_font_open_name, crxft_font_close, crxft_draw_create) (crxft_set_source_color, crxft_draw_rect, crxft_draw_string) (crxft_text_extents) [USE_CAIRO]: New Xft compatibility functions. * lwlib/xlwmenuP.h [USE_CAIRO]: Include lwlib-utils.h. * lwlib/xlwmenu.c (display_menu_item) [USE_CAIRO]: Call cairo_surface_mark_dirty and cairo_surface_flush. * lwlib/lwlib-Xaw.c [USE_CAIRO]: Include stdlib.h and lwlib-utils.h. (draw_text) [USE_CAIRO]: Call cairo_surface_flush. * src/xsettings.c [USE_CAIRO]: Include fontconfig.h (apply_xft_settings) [!HAVE_XFT]: Don't call XftDefaultSubstitute or XftDefaultSet. * lwlib/lwlib-Xaw.c: * lwlib/lwlib-int.h: * lwlib/xlwmenu.c: * lwlib/xlwmenuP.h: * src/xrdb.c: * src/xsettings.c: * src/xterm.c: Replace all #ifdef HAVE_XFT with #if defined USE_CAIRO || defined HAVE_XFT. * src/xfns.c (x_default_font_parameter): Replace #ifdef HAVE_XFT with #if defined USE_CAIRO || defined HAVE_XFT.
-
- 23 Apr, 2019 12 commits
-
-
Stefan Monnier authored
Enable lexical-binding. (cl-print-compiled, cl-print-compiled-button): Declare. (timer-list-mode): Add spacing to align the header.
-
Philipp Stephani authored
-
Paul Eggert authored
These directives are in files that are compiled only if the symbols are defined. * src/gfilenotify.c: Remove unnecessary ‘#ifdef HAVE_GFILENOTIFY’. * src/inotify.c: Remove unnecessary ‘#ifdef HAVE_INOTIFY’. * src/kqueue.c: Remove unnecessary ‘#ifdef HAVE_KQUEUE’.
-
Stefan Monnier authored
-
Paul Eggert authored
* src/font.c (LSTRING_HEADER_SIZE, LSTRING_GLYPH_SIZE, check_gstring) (check_otf_features, otf_list, otf_tag_symbol, otf_open) (font_otf_capability, generate_otf_features) (font_otf_DeviceTable, font_otf_ValueRecord) (font_otf_Anchor, Ffont_drive_otf, Ffont_otf_alternates) (Fdraw_string, syms_of_font): Remove "experimental and not tested much" code that has been "#if 0"-ed out for more than a decade and which was getting in the way of maintenance.
-
Philipp Stephani authored
This provides more debugging hints for callers. * src/emacs-module.c (module_copy_string_contents): Use three-argument form of args-out-of-range.
-
Philipp Stephani authored
INT_TO_INTEGER is more obviously correct and means we don’t have to worry about data type sizes and signedness. * src/json.c (json_parse_error): Use INT_TO_INTEGER. The tiny performance gain of make_fixed_natnum isn’t worth the trouble then signaling an error.
-
Mattias Engdegård authored
* lisp/autorevert.el (auto-revert-notify-watch-descriptor-hash-list): Rename to auto-revert--buffers-by-watch-descriptor. Improved doc string. (auto-revert-notify-rm-watch, auto-revert-notify-add-watch, auto-revert-notify-handler): Use new name.
-
Michael Albinus authored
* doc/lispref/processes.texi (Asynchronous Processes): (Accepting Output): Remote processes cannot use a pipe process for stderr.
-
Philipp Stephani authored
-
Eli Zaretskii authored
Thanks to Dmitry Gutov <dgutov@yandex.ru> for running many benchmarks and for useful discussions. * src/json.c (json_make_string): Speed up parsing of JSON strings by optimizing the normal case of a valid UTF-8 string being returned from libjansson. (Bug#31138)
-
Philipp Stephani authored
* test/src/json-tests.el (json-parse-string/null): Make JSON object syntactically valid. This test is supposed to check whether an escaped null character causes an error, but without quoting the string it would be syntactically invalid in any case.
-