1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 09:00:31 -08:00
Commit graph

8848 commits

Author SHA1 Message Date
Stefan Kangas
abe18f5917 Make bookmark-old-default-file variable obsolete
* lisp/bookmark.el (bookmark-old-default-file):
Redefine as obsolete variable alias for 'bookmark-default-file'.
(bookmark-maybe-load-default-file): Don't try to rename file
'bookmark-old-default-file' (~/.emacs-bkmrks) to new name (Bug#35940).
2019-06-09 16:47:59 -07:00
Stefan Kangas
9816aba518 Make `bookmark-file' variable obsolete
* lisp/bookmark.el (bookmark-file): Redefine as obsolete variable
alias for `bookmark-default-file'.  (Bug#35917)
2019-06-09 16:29:21 -07:00
Stefan Kangas
b7e26952f0 Fix TODO to convert defvar with leading '*' to defcustom
* etc/TODO: Remove done TODO to remove '*' from defvar.
* doc/misc/gnus.texi: Remove leading '*' from defvar example.
* lisp/kermit.el (kermit-esc-char): Convert to defcustom.
* lisp/desktop.el (desktop-header):
* lisp/obsolete/cc-compat.el (c-indent-level)
(c-brace-imaginary-offset, c-brace-offset, c-argdecl-indent)
(c-label-offset, c-continued-statement-offset)
(c-continued-brace-offset): Remove leading '*' from docstring.
* lisp/progmodes/dcl-mode.el: Remove leading '*' from docstring in
comment.
* test/manual/cedet/tests/test.el: Add comment asking if example of
defvar with leading '*' should be removed.
(Bug#35994)  (The previous commit is also for the same bug.)
2019-06-09 10:08:33 +03:00
Stefan Kangas
8c4d114ee2 Fix TODO to remove leading '*' from defcustom
* etc/TODO: Remove done TODO to remove leading '*' from defcustom
doc-strings.
* lisp/ibuffer.el (ibuffer-inline-columns): Remove leading '*' from
doc-string.
2019-06-09 10:07:17 +03:00
Eli Zaretskii
468e7fb5d4 ; * etc/NEWS: NEWS entry for the last commit. 2019-06-08 10:57:27 +03:00
Eli Zaretskii
dec5250170 Support text shaping with HarfBuzz
The code to support HarfBuzz was written by these individuals:

  Khaled Hosny <dr.khaled.hosny@gmail.com>
  YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
  Eli Zaretskii <eliz@gnu.org>

* src/xftfont.c (xftfont_list): Call ftfont_list2.
(xftfont_match): Call ftfont_match2.
(xftfont_open) [HAVE_HARFBUZZ]: Set the font driver to
xfthbfont_driver as required.  Reset xftfont_info->hb_font to
NULL.
(xftfont_close) [HAVE_HARFBUZZ]: Dispose of the hb_font object.
(xftfont_shape): Accept an additional argument DIRECTION and
pass it to ftfont_shape.
(xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
(xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
(syms_of_xftfont): New DEFSYM 'xfthb'.
(syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize
xfthbfont_driver.

* src/xfns.c (Fx_create_frame, x_create_tip_frame)
[HAVE_HARFBUZZ]: Register the HarfBuzz font driver.

* src/w32uniscribe.c (bswap_32) [HAVE_HARFBUZZ]: Define to use
the builtin for GCC 4.3.9 and newer; else use byteswap.h from
Gnulib.
(struct uniscribe_font_info): New member 'scale'.  The member
'cache' is now used both by Uniscribe and HarfBuzz backends.
(uniscribe_open): Set the font backend as required by the font
entity's font_type field.
(uniscribe_close) [HAVE_HARFBUZZ]: Dispose of the hb_font
object.
(uniscribe_shape): Accept an additional argument DIRECTION.
(w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
(w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
(w32hb_get_variation_glyphs, load_harfbuzz_funcs)
[HAVE_HARFBUZZ]: New functions.
(syms_of_w32uniscribe_for_pdumper): Initialize
harfbuzz_font_driver if loading the requisite functions from
the HarfBuzz DLL succeeded.

* src/w32font.c (syms_of_w32font): New DEFSYM 'harfbuzz'.

* src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
Determine whether we should register the HarfBuzz backend, or
Uniscribe backend, or both for the new frame.

* src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
prototype.

* src/macfont.m (lgstring_direction): New enumeration.
(mac_font_shape_1, mac_screen_font_shape, macfont_shape):
Accept an additional argument DIRECTION; all callers changed.

* src/lisp.h (get_unicode_property): Add prototype.

* src/hbfont.c: New file.

* src/ftxfont.c (ftxfont_list): Call ftfont_list2.
(ftxfont_match): Call ftfont_match2.

* src/ftfont.h [HAVE_HARFBUZZ]: Include hb.h and hb-ft.h.
(struct font_info): New member hb_font.

* src/ftfont.c (ftfont_list2, ftfont_list_family): New functions.
(ftfont_open) [HAVE_HARFBUZZ]: Reset ftfont_info->hb_font to
NULL.  Set the font backend to fthbfont_driver when required.
(ftfont_close) [HAVE_HARFBUZZ]: Dispose of ftfont_info->hb_font.
(ftfont_glyph_metrics): New function.
(ftfont_text_extents): Call ftfont_glyph_metrics instead of
FT_Load_Glyph.
(ftfont_shape): Accept an additional argument DIRECTION.
(ftfont_variation_glyphs) [!HAVE_OTF_GET_VARIATION_GLYPHS]:
Support for variation glyphs without FLT.
(fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
(syms_of_ftfont): New DEFSYM freetypehb.
(syms_of_ftfont_for_pdumper): Initialize fthbfont_driver.

* src/ftcrfont.c (ftcrfont_list): Call ftfont_list2.
(ftcrfont_match): Call ftfont_match2.
(ftcrfont_open) [HAVE_HARFBUZZ]: Set the font backend to
ftcrhbfont_driver as required.  Reset ftcrfont_info->hb_font
to NULL.
(ftcrfont_close) [HAVE_HARFBUZZ]: Discard of
ftcrfont_info->hb_font.
(ftcrfont_shape): Pass DIRECTION to ftfont_shape.
(ftcrhbfont_list, ftcrhbfont_match)
(ftcrhbfont_begin_hb_font, ftcrhbfont_end_hb_font)
[HAVE_HARFBUZZ]: New functions.
(syms_of_ftcrfont): New DEFSYM ftcrhb.
(syms_of_ftcrfont_for_pdumper): Initialize ftcrhbfont_driver.

* src/font.h [HAVE_HARFBUZZ]: Include hb.h.
(struct font_driver): Update comments and function signatures
to reflect the new argument DIRECTION accepted by the 'shape'
method.  New methods 'begin_hb_font' and 'end_hb_font'.
(hbfont_shape, hbfont_combining_capability)
(fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: Add prototypes.

* src/font.c (Ffont_shape_gstring): Accept an additional
argument DIRECTION, and pass it to the font driver's 'shape'
method.
(Ffont_variation_glyphs): Doc fix.
(syms_of_font): New DEFSYMS L2R and R2L.

* src/composite.h (composition_reseat_it): Adjust prototype.

* src/composite.c (autocmp_chars): Accept additional argument
DIRECTION, and pass it to auto-composition-function.  All
callers changed.
(composition_reseat_it): Accept additional argument
BIDI_LEVEL, and use it to determine the DIRECTION argument to
be passed to autocmp_chars.  All callers changed.
(syms_of_composite) <auto-composition-function>: Improve the
doc string; document the meaning of the new argument
DIRECTION.

* src/chartab.c (get_unicode_property): New function,
refactored from the body of get-unicode-property-internal.
(Fget_unicode_property_internal): Call get_unicode_property
after validating the input arguments.

* src/Makefile.in (HARFBUZZ_CFLAGS, HARFBUZZ_LIBS): New macros.
(EMACS_CFLAGS): Use HARFBUZZ_CFLAGS.
(SOME_MACHINE_OBJECTS): Add hbfont.o
(LIBES): Add HARFBUZZ_LIBS.

* lisp/language/tv-util.el (tai-viet-composition-function):
* lisp/language/thai-util.el (thai-composition-function):
* lisp/language/misc-lang.el (arabic-shape-gstring):
* lisp/language/lao-util.el (lao-composition-function):
* lisp/language/japanese.el (compose-gstring-for-variation-glyph):
* lisp/language/hebrew.el (hebrew-shape-gstring):
* lisp/language/ethio-util.el (ethio-composition-function):
* lisp/composite.el (compose-chars-after)
(compose-gstring-for-graphic)
(compose-gstring-for-dotted-circle)
(compose-gstring-for-terminal, auto-compose-chars): All
composition functions that call shapers now accept an
additional argument DIRECTION, either L2R or R2L.

* etc/NEWS: Document the HarfBuzz support.

* etc/HELLO: Add diacritics to Hebrew greetings.

* doc/lispref/frames.texi (Font and Color Parameters):
* doc/emacs/msdos.texi (Windows Fonts): Describe the
'harfbuzz' font backend on MS-Windows and how it is preferred
to 'uniscribe'.

* configure.ac (--wthout-harfbuzz): New option.
(HAVE_HARFBUZZ): New tests.
(FONT_OBJ) [HAVE_HARFBUZZ]: Add hbfont.o
(emacs_config_features): Add HARFBUZZ.

* admin/nt/dist-build/build-dep-zips.py: Add HarfBuzz dependency.
2019-06-07 22:02:25 +03:00
Eli Zaretskii
4ebfec02f0 Merge remote-tracking branch 'origin/harfbuzz' 2019-06-07 17:52:16 +03:00
Alan Third
610fb73ab6 Add native image rotation and cropping
* lisp/image.el (image--get-imagemagick-and-warn): Only fallback to
ImageMagick if native transforms aren't available.
* src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): New
macros for matrix manipulation.
(HAVE_NATIVE_SCALING, HAVE_NATIVE_TRANSFORMS): Rename and change all
relevant locations.
* src/image.c (x_set_image_rotation):
(x_set_transform): New functions.
(x_set_image_size): Use transform matrix for resizing under X and NS.
(x_set_image_crop): New function.
(lookup_image): Use the new transform functions.
(Fimage_scaling_p, Fimage_transforms_p): Rename and update all
callers.
* src/nsimage.m (ns_load_image): Remove rotation code.
(ns_image_set_transform): New function.
([EmacsImage dealloc]): Release the saved transform.
([EmacsImage rotate:]): Remove unneeded method.
([EmacsImage setTransform:]): New method.
* src/nsterm.h (EmacsImage): Add transform property and update method
definitions.
* src/nsterm.m (ns_dumpglyphs_image): Use the transform to draw the
image correctly.
* src/xterm.c (x_composite_image): Use PictOpSrc as we don't care
about alpha values here.
* doc/lispref/display.texi (Image Descriptors): Add :rotation.
(ImageMagick Images): Remove :rotation.
2019-06-05 22:28:46 +01:00
Noam Postavsky
f81b812d75 Let untarring (and hence package installation) go faster (Bug#35909)
* lisp/subr.el (progress-reporter-update)
(progress-reporter-force-update, progress-reporter-do-update): Accept
new optional argument, SUFFIX.
* doc/lispref/display.texi (Progress): Document it.
* etc/NEWS: Announce it.
* lisp/tar-mode.el (tar-untar-buffer): Use a progress reporter instead
of calling message.  Suppress message from write-region.  Let-bind
write-region-inhibit-fsync to t.
2019-06-03 20:18:19 -04:00
Juri Linkov
2aae063055 User-friendly display of error messages at the end of minibuffer
* lisp/simple.el (minibuffer-setup-hook): Add minibuffer-error-initialize.
(minibuffer-error-initialize, minibuffer-error-function): New functions.
(Bug#34939)
2019-06-03 23:27:19 +03:00
Noam Postavsky
aa9d57eed1 ; Add NEWS entry for previous change 2019-06-01 20:01:43 -04:00
Glenn Morris
d101e87715 ; Fix stray merge conflict 2019-06-01 14:00:43 -07:00
Glenn Morris
6028662649 Merge from origin/emacs-26
008b263 (origin/emacs-26, emacs-26) * lisp/gnus/gnus.el: Mark autoloa...
daf32f1 Speed up redisplay of HELLO
d8a6d82 Improve documentation of 'safe-local-variable' property

# Conflicts:
#	etc/HELLO
2019-06-01 12:04:43 -07:00
Eli Zaretskii
daf32f1f87 Speed up redisplay of HELLO
* etc/HELLO: Set 'inhibit-compacting-font-caches' non-nil
locally.  (Bug#36032)

* lisp/files.el: Add 'inhibit-compacting-font-caches' to the
list of built-in variables for which we set up
'safe-local-variable' properties.
2019-06-01 18:52:11 +03:00
Eli Zaretskii
abb9c62e1d ; * etc/NEWS: Reflect changes in font backend loading. 2019-06-01 15:13:27 +03:00
Eli Zaretskii
b7730c259b ; * etc/NEWS: Mention support for HarfBuzz on MS-Windows. 2019-05-31 16:23:51 +03:00
Eli Zaretskii
b55cc0976c Enhance Hebrew display in HELLO
* etc/HELLO: Show off display of Hebrew with diacriticals
(a.k.a. "nikkud").
2019-05-31 12:00:15 +03:00
Dmitry Gutov
a01693a45c Rename xref-refresh-results to xref-revert-buffer
* lisp/progmodes/xref.el (xref-revert-buffer): Rename from
'xref-refresh-results' (https://debbugs.gnu.org/35737#40).
2019-05-30 20:09:53 +03:00
Dmitry Gutov
27f5627104 New command ruby-find-library-file
* lisp/progmodes/ruby-mode.el (ruby-find-library-file):
New command.
(ruby-mode-map): Add binding for it.
2019-05-30 20:09:53 +03:00
Stefan Monnier
fe0cb43fb8 * lisp/subr.el (add-hook): Turn append into depth (bug#35508)
Make it possible to control the relative ordering of functions on hooks by
specifying `depth` in the same was as was possible with `add-function`.

* lisp/electric.el (electric--sort-post-self-insertion-hook):
Delete function.
(electric-indent-mode, electric-layout-mode, electric-quote-mode):
* lisp/elec-pair.el (electric-pair-mode): Use new `depth` arg instead of
electric--sort-post-self-insertion-hook.

* lisp/emacs-lisp/syntax.el (syntax-propertize, syntax-ppss):
Use new `depth` arg to make sure noone accidentally gets added
after syntax-ppss-flush-cache.

* doc/lispref/modes.texi (Setting Hooks): Document new `depth` arg.

* test/lisp/subr-tests.el (subr-tests-add-hook-depth): New test.
2019-05-29 15:56:14 -04:00
Stefan Kangas
dd5ea0a068 Cleanup of TODO to prefer report-emacs-bug
* etc/TODO: Remove already completed removal of `report-calc-bug'.
* lisp/calc/calc.el: Remove any mention of `report-calc-bug'.
* lisp/epg-config.el: Redefine `epg-bug-report-address' as obsolete
variable alias for `report-emacs-bug-address'.
* lisp/expand.el: Remove any mention of `expand-submit-report'.
* lisp/obsolete/fast-lock.el: Remove commented out code for
`fast-lock-submit-bug-report'.
2019-05-28 08:12:17 -04:00
Paul Eggert
852d281769 Update author/maintainer info
Update email addresses and fix spellings of some author and
maintainer names.
2019-05-26 01:00:16 -07:00
Paul Eggert
797ee5871e Remove Maintainer: when it duplicates Author:
The convention is that a file with Author: but not Maintainer:
means the author is a maintainer, which makes it confusing
when a file lists the same person as author and maintainer.
Avoid the confusion by removing the duplicate Maintainer: line.
2019-05-26 01:00:15 -07:00
Dmitry Gutov
2843945c5f ; etc/NEWS: Consolidate the Xref entries 2019-05-26 00:21:33 +03:00
Dmitry Gutov
0597c1b94e ; Add NEWS entries for recent Xref changes 2019-05-25 00:43:44 +03:00
Dmitry Gutov
157d506dd7 Rename xref--revert-xref-buffer to xref-refresh-results
* lisp/progmodes/xref.el (xref-refresh-results):
Rename from xref--revert-xref-buffer (bug#35702).
2019-05-25 00:43:44 +03:00
Paul Eggert
5424436452 Avoid backslash-newline-newline in source code
* etc/refcards/Makefile (PDF_FRENCH):
* lib-src/etags.c (LOOP_ON_INPUT_LINES):
* lisp/dabbrev.el (dabbrev-check-other-buffers):
* lisp/org/org-id.el (org-id-link-to-org-use-id):
* lisp/org/org.el (org-support-shift-select, org-file-apps):
* src/alloc.c (CHECK_ALLOCATED_AND_LIVE)
(CHECK_ALLOCATED_AND_LIVE_SYMBOL):
* src/frame.h (FRAME_PIXEL_WIDTH_TO_TEXT_COLS):
* src/regex-emacs.c (PREFETCH_NOLIMIT):
* src/window.h (WINDOW_BUFFER):
Remove backslash-newline that immediately precedes another
newline, as this is not the usual style and is confusing.
2019-05-22 23:59:36 -07:00
YAMAMOTO Mitsuharu
b40dde705a Merge branch 'master' into harfbuzz 2019-05-23 10:53:23 +09:00
Glenn Morris
5c21832ae8 Merge from origin/emacs-26
b0da915 (origin/emacs-26, emacs-26) Fix a typo in ELisp manual
400907b Add option to disable help completion autoloading (Bug#28607)
122ba16 Don't segfault on force-window-update of deleted window
015b12e Fix typo in ELisp manual
eadf044 Remove repeated function call in picture.el
1228a90 ; Fix mm-destroy-parts docstring typo
6cfd68d Fix Hideshow key binding typo in Emacs manual
2019-05-22 10:18:51 -07:00
Noam Postavsky
400907b3c1 Add option to disable help completion autoloading (Bug#28607)
* lisp/help-fns.el (help-enable-completion-auto-load): New option.
(help--symbol-completion-table): Consult it.
* doc/emacs/building.texi (Lisp Libraries): Document it.
* etc/NEWS: Announce it.
* doc/lispref/loading.texi (Autoload by Prefix): New section.
(Autoload): Reference it.
2019-05-21 07:37:22 -04:00
Mattias Engdegård
afdc20d73c Allow zero-argument rx or' and seq' forms
Make the rx `or' and `seq' forms accept zero arguments to produce a
never-matching regexp and an empty string, respectively.

* lisp/emacs-lisp/rx.el: Require cl-extra.
(rx-constituents, rx-or): Permit zero args.
(rx): Amend doc string for `or' and `seq'.
* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
* etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.
2019-05-20 17:56:40 +02:00
Mattias Engdegård
c2cda3ff40 Revert "Allow zero-argument rx or' and seq' forms"
This reverts commit b552fc05c2.
It caused a bootstrapping failure which I have yet to resolve - sorry.
2019-05-20 17:38:03 +02:00
Mattias Engdegård
b552fc05c2 Allow zero-argument rx or' and seq' forms
Make the rx `or' and `seq' forms accept zero arguments to produce a
never-matching regexp and an empty string, respectively.

* lisp/emacs-lisp/rx.el (rx-constituents, rx-or): Permit zero args.
(rx): Amend doc string for `or' and `seq'.
* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
* etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.
2019-05-20 11:39:46 +02:00
Mattias Engdegård
e9f9827eb0 Avoid polling in global-auto-revert-mode (bug#35418)
Make `auto-revert-avoid-polling' have effect in global-auto-revert-mode.
Buffers actually handled by that mode are marked with a non-nil value
of `auto-revert--global-mode'.  When global-auto-revert-mode is
entered, eligible buffers are marked in that way, and hooks are set up
to mark new buffers and take care of buffers whose file names change.
This way the existing poll-avoidance logic can be used, since the
entire set of buffers in auto-revert is known.

A new hook, `after-set-visited-file-name-hook', was added to handle
the case when the file name of a tracked buffer changes.

* lisp/autorevert.el (auto-revert-avoid-polling): Amend doc string.
(auto-revert--global-mode): New buffer-local variable.
(global-auto-revert-mode): Mark existing buffers and set up hooks when
mode is entered; do the opposite when exited.
(auto-revert--global-add-current-buffer)
(auto-revert--global-adopt-current-buffer)
(auto-revert--set-visited-file-name-advice): New functions.
(auto-revert--polled-buffers, auto-revert--need-polling-p)
(auto-revert-notify-handler)
(auto-revert-active-p): Modify logic to cover global-auto-revert-mode.
* lisp/files.el (after-set-visited-file-name-hook): New hook.
(set-visited-file-name-hook): Call new hook.
* test/lisp/autorevert-tests.el (top):  Use lexical-binding.
(auto-revert-test--write-file, auto-revert-test--buffer-string)
(auto-revert-test--wait-for, auto-revert-test--wait-for-buffer-text)
(auto-revert-test05-global-notify): New test.
* doc/lispref/hooks.texi (Standard Hooks):
Mention new hook (in a comment, since it's unclear whether it should
actually be documented here)
* etc/NEWS (Changes in Specialized Modes and Packages): Update entry.
2019-05-20 11:26:51 +02:00
Paul Eggert
bef1be8730 Fixes for "Maintainer:" and related lines
Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
which are not that useful.  It also cleans up and regularizes a
few similar lines.
2019-05-19 21:34:27 -07:00
Martin Rudalics
8783becbba New buffer display action function 'display-buffer-in-direction'
* lisp/window.el (windows-sharing-edge)
(window--try-to-split-window-in-direction)
(display-buffer-in-direction): New functions.
* doc/lispref/windows.texi (Buffer Display Action Functions):
Describe new action function 'display-buffer-in-direction'.
(Buffer Display Action Alists): Describe new entry 'direction'.
Amend description of 'window' entry.
* etc/NEWS: Mention 'display-buffer-in-direction' and 'direction'
and 'window' action alist entries.
2019-05-19 11:03:05 +02:00
Mattias Engdegård
1943220d1b Don't use file notification on non-file buffers
Allow non-file buffers to declare that notification on their
default-directory is sufficient to know when auto-revert updates are
required by setting the new variable `buffer-auto-revert-by-notification'
to non-nil.  If nil, the default, then auto-revert will poll
those buffers instead. (bug#35418).
Currently, only Dired sets that variable.

* lisp/autorevert.el (auto-revert-buffers):
Modify condition for using notification.
* lisp/files.el (buffer-auto-revert-by-notification): New variable.
* lisp/dired.el (dired-mode): Set buffer-auto-revert-by-notification.
* doc/emacs/arevert-xtra.texi (Non-File Buffers): Document new variable.
* etc/NEWS (Changes in Specialized Modes and Packages): Describe new variable.
2019-05-18 14:16:21 +02:00
Paul Eggert
4ac234ad57 Distribute test cases in tarballs by default
* INSTALL, INSTALL.REPO, admin/make-tarball.txt:
Mention ‘make check’.
* configure.ac: Update comment.
* etc/NEWS: Say that tarballs have a test directory.
* make-dist (with_tests): Default to "yes".
Add an option --no-tests to make it "no".
2019-05-16 10:51:27 -07:00
Noam Postavsky
04e9938350 Accept NO-PROPERTIES in thing-at-point aliases (Bug#35491)
* lisp/thingatpt.el (word-at-point, sentence-at-point): Accept and
pass NO-PROPERTIES to thing-at-point.
* etc/NEWS: Announce change.
2019-05-16 06:53:05 -04:00
Mattias Engdegård
26f735ff19 Add standard unmatchable regexp
Add `regexp-unmatchable' as a standard unmatchable regexp, defined as
"\\`a\\`".  Use it where such a regexp is needed, replacing slower
expressions in several places.
From a suggestion by Philippe Schnoebelen.

* lisp/subr.el (regexp-unmatchable): New defconst.
* etc/NEWS (Lisp Changes): Mention `regexp-unmatchable'.
* doc/lispref/searching.texi (Regexp Functions): Document it.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt)
* lisp/progmodes/cc-defs.el (cc-conditional-require-after-load)
(c-make-keywords-re)
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
(c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
(c-looking-at-decl-block)
* lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
(c-doc-bright-comment-start-re)
* lisp/progmodes/cc-langs.el (c-populate-syntax-table)
(c-assignment-op-regexp)
(c-block-comment-ender-regexp, c-font-lock-comment-end-skip)
(c-block-comment-start-regexp, c-line-comment-start-regexp)
(c-doc-comment-start-regexp, c-decl-start-colon-kwd-re)
(c-type-decl-prefix-key, c-type-decl-operator-prefix-key)
(c-pre-id-bracelist-key, c-enum-clause-introduction-re)
(c-nonlabel-token-2-key)
* lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end)
* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
(c-noise-macro-name-re, c-make-noise-macro-regexps)
* lisp/progmodes/octave.el (octave-help-mode)
* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-revision-completion-table)
* lisp/vc/vc-git.el (vc-git-log-view-mode)
* lisp/vc/vc-hg.el (vc-hg-log-view-mode)
* lisp/vc/vc-mtn.el (vc-mtn-log-view-mode):
Use `regexp-unmatchable'.
* lisp/textmodes/ispell.el (ispell-non-empty-string):
Use `regexp-unmatchable', fixing a broken never-match regexp.
2019-05-15 18:55:27 +02:00
Juri Linkov
c11c990356 * lisp/progmodes/project.el (project-read-file-name-function): Fix type. 2019-05-14 23:40:31 +03:00
Paul Eggert
d2dea70415 Default to disabling ImageMagick (Bug#33587)
ImageMagick has continuing stability and security problems, suggesting
that 'configure' should disable it by default.  See Glenn Morris's notes
at: https://lists.gnu.org/r/emacs-devel/2018-12/msg00036.html
* INSTALL, etc/NEWS, nt/INSTALL.W64: Mention this.
* configure.ac (imagemagick): Default to off.
2019-05-13 23:07:05 -07:00
Dmitry Gutov
e0ee41d155 Allow customizing the display of project file names when reading
To hopefully resolve a long-running discussion
(https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00162.html).

* lisp/progmodes/project.el (project-read-file-name-function):
New variable.
(project--read-file-absolute, project--read-file-cpd-relative):
New functions, possible values for the above.
(project-find-file-in): Use the introduced variable.
(project--completing-read-strict): Retain just the logic that fits
the name.
2019-05-14 05:11:18 +03:00
Stefan Monnier
3c1967dbfe * lisp/emacs-lisp/packages.el: Add all to package-check-signature
(package-check-signature): Add `all` option.
(package--check-signature-content): Adjust accordingly.
2019-05-12 13:03:24 -04:00
Stefan Monnier
916510b6d9 * etc/package-keyring.gpg: Add the 2019 key (backport) 2019-05-08 13:19:36 -04:00
Glenn Morris
8b789755b4 Merge from origin/emacs-26
1c6484e (origin/emacs-26) Fix incorrect cloning of eieio-instance-inh...
37436fe Fix cloning of eieio-named objects (Bug#22840)
fb65a36 Fix ibuffer-unmark-backward synopsis (bug#35572)
f77bd2b ; * src/lisp.h (DEFSYM): Fix inaccurate comment.
3b86e0b Clarify handling of long options (Bug#24949)
04340a8 Improve documentation of the daemon and emacsclient
3e29de2 * etc/NEWS.24: Belatedly announce delete-consecutive-dups.
2019-05-08 07:51:48 -07:00
Juri Linkov
4cb64ac3f9 * lisp/progmodes/flymake.el: Obsolete variable flymake-start-on-newline
(flymake-start-syntax-check-on-newline): Mark it obsolete.
(flymake-after-change-function): Remove obsolete variable
flymake-start-syntax-check-on-newline (temporarily renamed to
flymake-start-on-newline).  (Bug#34294)

* doc/misc/flymake.texi: Remove obsolete variable.
2019-05-07 23:29:14 +03:00
Basil L. Contovounesios
c972da907d Clarify what constitutes an event (bug#35238)
* doc/lispref/commands.texi (Input Events): Specify that events are
non-nil and remove vestiges of bug#10190.
* doc/lispref/os.texi (Recording Input): Document optional argument
of recent-keys.
* lisp/subr.el (eventp): Check that the car of conses is non-nil.
* etc/NEWS: Announce it as an incompatible change.
* src/keyboard.c (Frecent_keys): Clarify that returned "events" are
not real events.
2019-05-07 18:00:20 +01:00
Michael Albinus
1ac5c6c3cf ; Make /etc/NEWS more consistent 2019-05-06 11:23:54 +02:00
Juri Linkov
be3ab9f301 * lisp/progmodes/flymake.el: Rename flymake-start-on-newline (bug#34294)
* lisp/progmodes/flymake.el (flymake-start-on-newline): Rename from
flymake-start-syntax-check-on-newline.
(flymake-start-syntax-check-on-newline): Define obsolete alias.
(flymake-no-changes-timeout): Add customization option nil.

* doc/misc/flymake.texi (Using Flymake): Rename variable.
2019-05-05 23:05:01 +03:00