1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-25 05:52:42 -08:00
Commit graph

130436 commits

Author SHA1 Message Date
Vibhav Pant
a35335c767 src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert. 2017-02-11 23:09:47 +05:30
Tom Tromey
c2e19a7340 Fix bug in css--mdn-find-symbol
* lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
before skipping word characters.
test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
regression test.
2017-02-11 08:43:47 -07:00
Vibhav Pant
245fb2529b ; src/bytecode.c (exec_byte_code): Refactor byte-switch code.
Remove unnecessary asserts, remove duplicate code.
2017-02-11 20:36:30 +05:30
Vibhav Pant
7c2d493540 src/bytecode.c: Add optional sanity check for jump tables.
* src/bytecode.c (exec_byte_code): When sanity checks are enabled,
  check that the jump table's size is equal to it's count.
2017-02-11 20:13:54 +05:30
Vibhav Pant
c1a9b5db0e Merge branch 'master' into feature/byte-switch 2017-02-11 19:54:37 +05:30
Vibhav Pant
a75d080b17 * src/bytecode.c: Refactor to follow GNU coding standards 2017-02-11 18:17:57 +05:30
Eli Zaretskii
ac83b2dfe4 Fix handling of XBM images on MS-Windows
* src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
'nbytes' when inverting XBM data bits.  (Bug#25661)
2017-02-11 11:55:11 +02:00
Michael Albinus
09d5083420 ; Fix typo in etc/NEWS 2017-02-11 10:29:29 +01:00
Eli Zaretskii
44578d9acc Fix handling of PBM data
* src/image.c (pbm_load): Handle PBM data with no blanks between
individual pixel values correctly.  (Bug#25660)
2017-02-11 11:09:33 +02:00
Noam Postavsky
26187a38a1 Fix warnings in debug tracing code
* src/xdisp.c (dump_glyph, dump_glyph_string):
* src/xfaces.c (dump_realized_face): Cast arguments or adjust format
specifiers to match signedness.
2017-02-10 15:33:05 -05:00
Sam Steingold
59e7efe7bd Extract grep-find-ignored-directories processing from rgrep-default-command
(rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
Some Emacs packages use `grep-find-ignored-directories' to ignore some
directories, so will use this function instead of custom code.
(rgrep-default-command): Use `rgrep-find-ignored-directories'.
2017-02-10 14:53:02 -05:00
Vibhav Pant
dcd0e6fe3a src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
* src/bytecode.c: (exec_byte_code) While linear searching the jump
  table, compare the value's hash table first to avoid calling
  h->test.cmpfn every time.
2017-02-10 23:25:42 +05:30
Paul Eggert
abcba32c26 Fix a few integer-overflow glitches
* src/composite.c (composition_compute_stop_pos, composition_reseat_it):
* src/dispextern.h (struct composition_it.rule_idx):
* src/keyboard.c (Fset__this_command_keys):
* src/xwidget.c (webkit_js_to_lisp):
Don’t assume object sizes fit in ‘int’.
* src/xwidget.c (Fxwidget_resize):
Don’t assume Emacs integers fit in ‘int’.
2017-02-10 08:36:42 -08:00
Eli Zaretskii
cef233eeb8 Fix a bug with displaying an image after a TAB
* src/xdisp.c (display_line): Handle TAB at end of screen line
specially only when we are displaying characters.  (Bug#25662)
2017-02-10 18:19:11 +02:00
Tino Calancha
3f7493e27c ; Fix a typo in comment
* lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
Fix a typo in comment.
2017-02-10 20:05:11 +09:00
Eli Zaretskii
c54cf8dcfd Improve commentary in lisp.h
* src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
object is discouraged.
2017-02-10 12:12:49 +02:00
Paul Eggert
65298ff4d5 Move cyclic tests to fns-tests.el
* test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
(test-cycle-length, test-cycle-safe-length, test-cycle-member)
(test-cycle-memq, test-cycle-memql, test-cycle-assq)
(test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
(test-cycle-delq, test-cycle-delete, test-cycle-reverse)
(test-cycle-plist-get, test-cycle-lax-plist-get)
(test-cycle-plist-member, test-cycle-plist-put)
(test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
New tests.
* test/manual/cyclic-tests.el: File deleted.
2017-02-10 11:52:41 +02:00
Gemini Lasswell
c48f8fa51b Fix instrumenting code with propertized strings in Edebug
* lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
'read' to decide what is and isn't a syntax error.  (Bug#25068)
2017-02-10 11:35:20 +02:00
Vladimir Panteleev
2d284db5c9 Improve fontification in bat-mode
* lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
word and symbol constituents when looking for variable names
to fontify; also, correct the syntax table and mark the equal
sign (=) character as punctuation.  Improve fontification
accuracy of iteration/positional variables.
(bat-mode): Set comment-start-skip.  (Bug#25541)

* test/lisp/progmodes/bat-mode-tests.el: New file, tests for
bat-mode.el.
2017-02-10 11:23:24 +02:00
Eli Zaretskii
937bf04804 Restore special setting of this-command-keys by M-x
It was lost when execute-extended-command was reimplemented in Lisp.

* src/keyboard.c (Fset__this_command_keys): New function.
(syms_of_keyboard): Defsubr it.

* lisp/simple.el (execute-extended-command): Set this-command-keys
as novice.el expects.  (Bug#25612)
2017-02-10 10:57:41 +02:00
Juri Linkov
d825d1f28d * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
to t to display "Pending" in the search prompt for lax
word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
when 'bound' is non-nil.
(word-search-regexp, isearch-symbol-regexp): Don't depend on lax
at the beginning of regexp (bug#22589).

* lisp/info.el (Info-isearch-search):
Use isearch--lax-regexp-function-p.

* doc/emacs/search.texi (Word Search, Symbol Search):
Mention "Pending" prompt for lax word/symbol search.
2017-02-10 00:35:22 +02:00
Vibhav Pant
2d10d4ad1a src/bytecode.c (exec_byte_code): Remove unneeded assert. 2017-02-09 21:56:57 +05:30
Vibhav Pant
13eabbd80b bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE 2017-02-09 19:12:59 +05:30
Vibhav Pant
3189f954eb bytecode.c (exec_byte_code): don't check hash code in linear search.
* src/bytecode.c (exec_byte_code): Don't check that the hash code is
  not nil when linear scanning the jump table. Hash tables for are
  declared with :size as the exact number of cases, so each entry i
  should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
  check.
2017-02-09 18:43:31 +05:30
Tino Calancha
35b9b7e751 Ibuffer: Update mode documentation
* lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
2017-02-09 21:36:32 +09:00
Steven Allen
3817a44a18 Fix environment variable for xdg-data-dirs
* lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS

Copyright-paperwork-exempt: yes
2017-02-09 07:18:41 -05:00
Tassilo Horn
bbbfa31ed5 ; Theme updates
; * etc/themes/tsdh-light-theme.el (tsdh-light): Theme updates.
2017-02-09 12:02:43 +01:00
Tino Calancha
d9fd1d3263 Ibuffer: Erase output buffer before shell commands
* lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
BEFORE and AFTER; they are forms to run before/after the operation.
* lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
New defun; if shell-command-dont-erase-buffer is nil, then
erase shell command output buffer.
(ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
2017-02-09 18:14:10 +09:00
Tino Calancha
1e23bf5c51 Ibuffer: Don't truncate shell command output
* lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
(ibuffer-do-shell-command-pipe-replace)
Use 'call-shell-region' (Bug#22679).
(ibuffer-do-shell-command-file): Use call-process-shell-command.
If FILE, the file that the buffer object is visiting,
exists and the buffer is up-to-date, then use
FILE instead of creating a temporary file (Bug#22679).
2017-02-09 18:13:59 +09:00
Vibhav Pant
dde800c8c9 Improve byte-switch execution.
* lisp/emacs-lisp/byte-opt.el,
  lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
  (byte-compile-lapcode): Calculate the actual jump address while
  compiling, store it in the jump table.

* src/bytecode.c: Jump to the looked up value directly, do a linear
  search when the number of elements is <= 5.
2017-02-09 12:18:54 +05:30
Noam Postavsky
2bfe83fcd3 Make sure eshell pipelines don't drop data
* lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
handling output of the process, make sure to close the pipes only later,
so that the next process in the pipeline recieves EOF only after getting
all its input (Bug#25549).
2017-02-08 23:37:57 -05:00
Katsumi Yamaoka
41de25c113 Make mm-shr use mail-parse-charset by default
* lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
This helps an html message with no charset spec to be decoded.
2017-02-09 00:41:19 +00:00
Stephen Berman
90f76eb358 describe-char: unambiguous name for inserting ASCII 7
* lisp/descr-text.el (describe-char): Make the input
suggestion for inserting ASCII character 7 by name use the
unambiguous name "BELL (BEL)" (bug#25641).
2017-02-08 22:38:39 +01:00
Michael Albinus
e3b6596308 Modify suppressing `vc-refresh-state' in filenotify-tests.el
* test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
Use an advice rather than an alias for suppressing `vc-refresh-state'.
2017-02-08 19:33:52 +01:00
Glenn Morris
8b92f8672b ; * admin/make-tarball.txt: Cross-reference admin/release-process. 2017-02-08 12:48:34 -05:00
Noam Postavsky
0ba9932d14 Disable native completion for ipython (Bug#25067)
* lisp/progmodes/python.el:
(python-shell-completion-native-disabled-interpreters): Add "ipython".
2017-02-07 21:18:19 -05:00
Michael Albinus
c8ee570a8b Suppress undesired error messages in filenotify-tests.el
* test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
Suppress `vc-refresh-state', it produces undesired error messages.
2017-02-07 21:42:12 +01:00
Eli Zaretskii
38fc456d27 Fix a typo in ada-mode manual
* doc/misc/ada-mode.texi (Project file variables): Add a missing
right bracket.  Reported by Jean-Christophe Helary
<jean.christophe.helary@gmail.com>.
2017-02-07 18:29:02 +02:00
Lars Ingebrigtsen
1af484f87e Ensure that Gnus bugs show up in the Emacs tracker
* lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
package spec.
2017-02-07 15:52:42 +01:00
Lars Ingebrigtsen
4b59f53b67 Revert "Don't tag Gnus bugs with "gnus""
This reverts commit b6fa580723.

The debbugs syntax requires a package name
2017-02-07 15:52:41 +01:00
Vibhav Pant
96c4e367f9 Add tests for checking byte-switch code.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
  test byte-switch bytecode.
2017-02-07 19:35:20 +05:30
Mark Oteiza
c939075b81 Add xdg library
* etc/NEWS: Mention new library.
* lisp/xdg.el: New file.
2017-02-06 23:28:44 -05:00
Paul Eggert
d7134989be Do not trick info/dir’s timestamp
* Makefile.in (${srcdir}/info/dir): When making this file, do not
do anything special about its timestamp.  Previously this rule
used move-if-change, which meant that this file’s timestamp could
end up being older than the files it depends on, and this caused
‘make --question info’ to fail, which caused ‘make-dist’ to fail
now that ‘make-dist’ invokes ‘make --question info’.
2017-02-06 18:04:50 -08:00
Paul Eggert
03a012a796 Make FOR_EACH_TAIL more like other FOR_EACH macros
See comments by Stefan Monnier in:
http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00181.html
and by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00207.html
* src/fns.c (internal_equal): Do not bypass check for depth
overflow when tail-recursing via a dotted list tail or an overlay
plist, to avoid a rare infloop.
* src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
arg, and update it at each iteration, rather than have callers
access it.tail.  All callers changed.
(FOR_EACH_TAIL): Do not check for dotted lists, as this is now
the caller’s responsibility.  All callers changed.
(FOR_EACH_TAIL_CONS): Remove.  All callers changed.
(struct for_each_tail_internal.tail): Remove; no longer needed.
(FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
arg each time through the loop.  All callers changed.
2017-02-06 17:34:41 -08:00
Vibhav Pant
c4316a2661 ; bytecomp.el (byte-compile-cond-jump-table): Add TODO note 2017-02-06 19:33:01 +05:30
Vibhav Pant
a12b416bca ; byte(-opt, comp).el: Add more documentation for byte-switch code. 2017-02-06 13:26:25 +05:30
Paul Eggert
d45dbccc5d Port to clang 3.8.0
It does not allow a for-loop's control var to be an anonymous struct.
* src/lisp.h (struct for_each_tail_internal): New type.
(FOR_EACH_TAIL_INTERNAL): Use it.
2017-02-05 14:07:31 -08:00
Paul Eggert
c3ee4d2860 Add cyclic-list tests
* test/manual/cycle-tests.el: New file (Bug#25606).
2017-02-05 13:30:29 -08:00
Paul Eggert
b491322ed0 FOR_EACH_TAIL now checks for quit
As per Eli Zaretskii (Bug#25606#20).  Although these calls to
maybe_quit are unnecessary in practice, Eli was not convinced
that the calls are unnecessary.
* src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
Call maybe_quit every so often.
(FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
2017-02-05 13:30:29 -08:00
Paul Eggert
14dd9101ec Signal list cycles in ‘length’ etc.
Use macros like FOR_EACH_TAIL instead of maybe_quit to
catch list cycles automatically instead of relying on the
user becoming impatient and typing C-g (Bug#25606).
* src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
(Frassoc, Fdelete, Freverse):
Use FOR_EACH_TAIL instead of maybe_quit.
(Fnreverse): Use simple EQ to check for circular list instead
of rarely_quit, as this suffices in this unusual case.
(Fplist_put, Flax_plist_put, Flax_plist_put):
Use FOR_EACH_TAIL_CONS instead of maybe_quit.
(internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
of by-hand tail recursion that did not catch cycles.
* src/fns.c (Fsafe_length, Fplist_get):
* src/xdisp.c (display_mode_element):
Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
* src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
(rarely_quit): Simply count toward USHRT_MAX + 1, since the
fancier versions are no longer needed.
(FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
(FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
mostly taken from FOR_EACH_TAIL.
(FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
2017-02-05 13:30:29 -08:00