1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 18:00:40 -08:00
Commit graph

128410 commits

Author SHA1 Message Date
Eli Zaretskii
ba6e7232d0 Automatically regenerate emacs.1 and *.rc files
* Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
non-Makefile files produced by config.status.
($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
their targets are regenerated when the source changes.
2017-02-18 14:49:30 +02:00
Alan Mackenzie
a848d36c57 Set the syntax table in AWK Mode.
This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
It fixes bug #25722.

lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
2017-02-18 12:38:29 +00:00
Göktuğ Kayaalp
879a3e445f Fix Turkish language environment setup
* lisp/language/european.el ("Turkish"): Fix a typo in Turkish
language setup.  (Bug#25763)
2017-02-18 13:17:40 +02:00
Rami Ylimäki
e463e5762b Support 24-bit direct colors on text terminals
* src/term.c (init_tty): Use 24-bit terminal colors if corresponding
foreground and background functions are present in terminal type
definition.
* src/tparam.h: Define prototype for tigetstr.

* lisp/term/tty-colors.el (tty-color-define): Convert color palette
index to pixel value on 16.7M color terminals.
(tty-color-24bit): New function to convert color palette index to
pixel value on 16.7M color terminals.
(tty-color-desc): Don't approximate colors on 16.7M color terminals.
* lisp/term/xterm.el (xterm-register-default-colors): Define all named
TTY colors on 16.7M color terminals.

* doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
enable direct color TTY mode.
* etc/NEWS: Mention direct color TTY mode and point to FAQ.
2017-02-18 13:04:55 +02:00
Rami Ylimäki
464a51ed46 Remove unused TN_max_pairs field
* src/termchar.h (tty_display_info): Remove TN_max_pairs field,
describing maximum number of terminal background/foreground color pairs.
* src/term.c (tty_default_color_capabilities, tty_setup_colors)
(init_tty): Remove references to TN_max_pairs.
2017-02-18 12:56:12 +02:00
Eli Zaretskii
723dd50a9f Improve documentation of query-replace-from-to-separator
* doc/emacs/search.texi (Query Replace): Document the meaning of
the nil value of query-replace-from-to-separator.  (Bug#25482)
2017-02-18 12:44:17 +02:00
Eli Zaretskii
b5ab3a52fc Improve commentary for a recent change in keyboard.c
* src/keyboard.c (Fset__this_command_keys): Add a comment about
the magic 248 value.  (Bug#25612)
2017-02-18 12:30:25 +02:00
Eli Zaretskii
3ce07b18f9 Avoid infloop in rect.el
* lisp/rect.el (rectangle--*-char): Avoid inflooping when called
with argument N whose absolute value is greater than 1.  (Bug#25773)
2017-02-18 11:32:45 +02:00
Eli Zaretskii
73ea77c856 Remove annoying warnings about let-binding
* src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
Remove warnings about making symbols local while let-bound.
(Bug#25561)
2017-02-18 11:28:42 +02:00
Hong Xu
a83b66923c Avoid errors when flyspell-generic-check-word-predicate is a lambda.
* flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
functionp instead of fboundp on
flyspell-generic-check-word-predicate (Bug#25765).
2017-02-17 21:50:46 -05:00
Glenn Morris
22b2207471 Remove the build number from emacs-version variable
It's a largely internal detail that can confuse users.  (Bug#25590)
* lisp/version.el (emacs-build-number): New constant.
(emacs-version): Use emacs-build-number.
* lisp/loadup.el (top-level): When dumping, increment
emacs-build-number rather than emacs-version.
* src/emacs.c (emacs-version): Doc fix.
* doc/lispref/intro.texi (Version Info): Update emacs-version details.
Mention emacs-build-number.
* lisp/gnus/gnus-util.el (gnus-emacs-version):
* lisp/mail/emacsbug.el (report-emacs-bug):
* admin/admin.el (set-version): Update for emacs-version change.
; * etc/NEWS: Mention this.
2017-02-17 20:15:21 -05:00
Glenn Morris
8675f9c8b8 Ensure that user-mail-address always has a value
* lisp/startup.el (user-mail-address): Initialize in the normal way.
(command-line): Reset user-mail-address if needed using
standard custom machinery.
* lisp/mail/feedmail.el (feedmail-fiddle-from):
* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
* lisp/mail/rmailsum.el (rmail-header-summary):
Simplify now that user-mail-address is always set.
; * doc/lispref/os.texi (System Environment): Remove fixme comment.
2017-02-17 19:06:15 -05:00
Mark Oteiza
f3eaab0a37 Turn on lexical-binding in ruby-mode
* lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
(ruby-font-lock-syntax-table): Use make-syntax-table.
(ruby-mode): 'define-derived-mode' writes the keys for us.
2017-02-17 19:01:11 -05:00
Mark Oteiza
edadd31bf4 Turn on lexical-binding in elint.el
* lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
(elint-running, elint-current-pos): Move these dynamic vars to toward
the top of the file.
(elint-check-quote-form): Ignore unused argument.
(elint-check-conditional-form): Remove unused binding.
2017-02-17 18:52:12 -05:00
Gemini Lasswell
5401820672 * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748) 2017-02-17 18:47:50 -05:00
Mark Oteiza
071680b734 Enable erc-accidental-paste-threshold-seconds by default
* lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
default to 0.2 (Bug#25709).
2017-02-17 18:38:09 -05:00
Michal Nazarewicz
9f9863e502 Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
The [5ec3a584: Generate upcase and downcase tables from Unicode data]
commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
one created with ‘make extraclean’), see
<http://hydra.nixos.org/build/48774928>.

The failure was caused by characters.el trying to read Unicode
property tables which aren’t available so early in the build process.

Wrap the part that requires Unicode property tables in a condition
checking if those are available.  If they aren’t they case and syntax
tables won’t be fully set but later on, the characters.el file will be
evaluated again and this time with Unicode properties available so
final Emacs ends up with the exact same case and syntax tables.
2017-02-17 16:36:44 +01:00
Katsumi Yamaoka
630e2d2e6a mm-add-meta-html-tag: Improve regexp
* lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
Improve regexp to search html meta tag.
2017-02-17 10:05:56 +00:00
Katsumi Yamaoka
79f017d5c3 mm-shr: Prefer charset specified in html meta tag
* lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
meta tag than mail-parse-charset in the case there is no charset spec
in MIME header.
2017-02-17 09:52:09 +00:00
Glenn Morris
78f869687e Stop duplicating some custom-types in message.el
* lisp/gnus/message.el (user-mail-address, user-full-name):
No need to re-specify custom-type.
2017-02-16 21:43:23 -08:00
Glenn Morris
3ea055c90e Whitespace trivia in dunnet.el
* lisp/play/dunnet.el (dun-special-object, dun-put-objs)
(dun-rlogin-endgame): Whitespace trivia.
2017-02-16 20:33:24 -08:00
Glenn Morris
b91bfa1041 Explicit error on changing case of negative integers
* src/casefiddle.c (casify_object): Reject negative integers:
Emacs characters are positive integers.  (Bug#25684)
2017-02-16 20:24:37 -08:00
Dmitry Gutov
7cc95d4d86 Fix buffers update in vc-retrieve-tag
* lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
`repository', use the repository root and pass it to
vc-resynch-buffer (bug#25714).
2017-02-17 03:01:05 +02:00
Paul Eggert
cb70725584 ; Spelling, punctuation and minor wording fixes 2017-02-16 09:18:21 -08:00
Paul Eggert
0b544b6764 * src/buffer.h: Fix indenting. 2017-02-16 07:55:41 -08:00
Paul Eggert
8929746489 Add sanity checks for Bswitch hash tables
* src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
Check that operand is a hash table and hashes to ints.
2017-02-16 07:54:12 -08:00
Paul Eggert
064541af6a * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch. 2017-02-16 07:54:12 -08:00
Vibhav Pant
501ad54626 bytecomp.el: Avoid unnecessary calculation for jump table addresses.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
  redundant operations while calculating the correct jump addresses
  from TAGs in jump tables.
2017-02-16 20:30:04 +05:30
Mark Oteiza
236648fe26 Minor changes in json.el
* lisp/json.el (json-advance): Simpler docstring.
(json-read-escaped-char): Use xdigit subform in rx expression.
(json-read-string): Just use = for char comparison.
2017-02-15 20:43:55 -05:00
Mark Oteiza
1b4442bee9 Don't expand body inside a let-binding when there are no bindings
* lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
is non-nil.
2017-02-15 20:40:46 -05:00
Glenn Morris
8ed8ef307d Handle user-mail-address being the empty string
* lisp/mail/feedmail.el (feedmail-fiddle-from):
* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
* lisp/mail/rmailsum.el (rmail-header-summary):
Belated update for 2002-09-29 startup.el change, 680ebfa, where
the value of user-mail-address during initialization was changed
from nil to the empty string.
2017-02-15 20:23:07 -05:00
Michael Albinus
adfb6f1dc2 Continue to fix bug#25607
* lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
(ido-file-name-all-completions-1): Do not bind `non-essential'.

* lisp/net/tramp.el: (tramp-completion-file-name-handler):
Improve autoloaded version.
(tramp-completion-file-name-handler): Remove old compat code.
Check only for `tramp-completion-mode-p'.
(tramp-completion-mode-p): Autoload.  Do not check any longer
for `last-input-event'.
(tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
2017-02-15 19:42:34 +01:00
Michal Nazarewicz
6220faeb4e casing: don’t assume letters are *either* upper- or lower-case (bug#24603)
A compatibility digraph characters, such as Dž, are neither upper- nor
lower-case.  At the moment however, those are reported as upper-case¹
despite the fact that they change when upper-cased.

Stop checking if a character is upper-case before trying to up-case it
so that title-case characters are handled correctly.  This fixes one of
the issues mentioned in bug#24603.

¹ Because they change when converted to lower-case.  Notice an asymmetry
  in that for a character to be considered lower-case it must not be
  upper-case (plus the usual condition of changing when upper-cased).

* src/buffer.h (upcase1): Delete.
(upcase): Change to upcase character unconditionally just like downcase
does it.  This is what upcase1 was.

* src/casefiddle.c (casify_object, casify_region): Use upcase instead
of upcase1 and don’t check !uppercasep(x) before calling upcase.

* src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
downcase(x) and see if it changed.

* test/src/casefiddle-tests.el (casefiddle-tests--characters,
casefiddle-tests-casing): Update test cases which are now passing.
2017-02-15 16:54:07 +01:00
Michal Nazarewicz
5ec3a58462 Generate upcase and downcase tables from Unicode data (bug#24603)
Use Unicode data to generate case tables instead of mostly repeating
them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
digraph to ‘dz’ when down- and ‘DZ’ when upcasing.

https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
changes to syntax table and case tables introduced by this commit.

* lisp/international/characters.el: Remove case-pairs defined with
explicit Lisp code and instead use Unicode character properties.

* test/src/casefiddle-tests.el (casefiddle-tests--characters,
casefiddle-tests-casing): Update test cases which are now working
as they should.
2017-02-15 16:54:06 +01:00
Michal Nazarewicz
0d4290650d Add tests for casefiddle.c (bug#24603)
Fixes cases marked FIXME upcoming in followup commits.

* test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
casefiddle-tests-case-table, casefiddle-tests-casing-character,
casefiddle-tests-casing, casefiddle-tests-casing-byte8,
casefiddle-tests-casing-byte8-with-changes): New tests.
(casefiddle-tests--test-casing): New helper function for runnig
some of the tests.
2017-02-15 16:54:06 +01:00
Michal Nazarewicz
aeeb86c99d oldXMenu: add missing #include <string.h>
Some of the files in oldXMenu use functions from string.h without
including that header which results in compile warnings:

	ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
	ChgPane.c:46:20: warning: incompatible implicit declaration of
		built-in function ‘strlen’
	ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
	ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
		function ‘strlen’
	Create.c:220:5: warning: implicit declaration of function ‘strcmp’
	InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
	InsPane.c:65:20: warning: incompatible implicit declaration of
		built-in function ‘strlen’
	InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
	InsSel.c:68:20: warning: incompatible implicit declaration of built-in
		function ‘strlen’
	InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’

Add the necessary ‘#include <string.h>’.

oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
oldXMenu/InsSel.c: add missing #include <string.h>
2017-02-15 16:54:06 +01:00
Paul Eggert
e6041a05a0 Fixup recent rmail patch
* lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
2017-02-15 07:48:30 -08:00
Richard Stallman
971f4fabfa Rmail fix
* lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
as element 4 of the value.
(rmail-epa-decrypt): Take the text to insert from that element.
2017-02-15 07:48:30 -08:00
Vibhav Pant
96e18ebb99 bytecomp-tests.el: Store all test forms in one constant.
* test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
in a single constant (byte-opt-testsuite-arith-data), add new forms
which generate lapcode with adjacent/redundant tags.
2017-02-15 21:12:44 +05:30
Glenn Morris
1b685e7a0b Small lispref edit
* doc/lispref/os.texi (User Identification):
Remove extraneous detail about user-mail-address.
2017-02-14 23:34:49 -08:00
Katsumi Yamaoka
8a9c468b6f Document fill-separate-heterogeneous-words-with-space (bug#25685)
* doc/lispref/text.texi (Filling):
Document fill-separate-heterogeneous-words-with-space (bug#25685).
2017-02-15 05:59:29 +00:00
Noam Postavsky
0a64666288 Test comment-multi-line = nil auto fill case too
* test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
`comment-multi-line' both nil and non-nil.
* lisp/newcomment.el (comment-multi-line): Mark safe if it's a
boolean.
* etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
2017-02-14 22:29:56 -05:00
Katsumi Yamaoka
61ea36bb37 Don't delete leading and trailing space from CJK word (bug#25685)
* lisp/textmodes/fill.el (fill-delete-newlines):
Don't delete leading and trailing space from CJK word.
(fill-separate-heterogeneous-words-with-space):
New user option that controls it (bug#25685).
2017-02-15 01:26:59 +00:00
Juri Linkov
4e23578127 ‘M-s w RET word C-s’ repeats incremental search.
* lisp/isearch.el (isearch-new-nonincremental): New variable.
(with-isearch-suspended): Bind isearch-new-nonincremental to
isearch-nonincremental, and restore it afterwards.
(isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
Set isearch-new-nonincremental to nil.  (Bug#25562)
2017-02-15 01:28:15 +02:00
Tom Tromey
3fb9f5452f Make vc-git detect conflict state for vc-dir
* lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
(vc-git-dir-status-update-file): New function.
(vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
vc-git-dir-status-state; add 'ls-files-conflict state.
(vc-git-dir-status-files): Create a vc-git-dir-status-state.
2017-02-14 14:07:53 -07:00
Vibhav Pant
71b90192da byte-opt: Replace merged tags in jump tables too. (bug#25716)
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
  adjacent tags, make sure that the old tag is replaced in all jump
  tables, if any. This fixes the bytecode VM jumping to the wrong
  address in compiled cond forms where the body of a clause was a loop
  of any sort.
2017-02-14 21:53:26 +05:30
Eli Zaretskii
c1eb871e92 ; * test/file-organization.org: Minor copyedits. 2017-02-14 18:17:51 +02:00
Glenn Morris
3f383a4668 Remove overly broad element from default mail-dont-reply-to-names
* lisp/mail/mail-utils.el (mail-dont-reply-to):
Do not include just "user@" in mail-dont-reply-to-names, and simplify.
Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
* lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
* doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
2017-02-13 23:36:17 -08:00
Juri Linkov
31b4d9a137 * etc/NEWS: Mention query-replace-from-to-separator. (Bug#25482) 2017-02-14 02:04:28 +02:00
Vibhav Pant
fffd4ffd74 ; etc/TODO: Remove 'switch' item, as it is now implemented. 2017-02-13 22:56:17 +05:30