Commit graph

7168 commits

Author SHA1 Message Date
Nicolas Petton
ee7138acd3 Add a new streaming library stream.el
stream.el provides an implementation of streams.  Streams are
implemented as delayed evaluation of cons cells.

The implementation is close to the one in the SICP
book (https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-24.html).

Streams could be created from any sequencial input data, including
sequences, , making operation on them lazy, a set of 2 forms (first and
rest), making it easy to represent infinite sequences, buffers (by
character), buffers (by line), buffers (by page), IO streams, orgmode
table cells, etc.

* lisp/emacs-lisp/stream.el: New file.
* test/automated/stream-tests.el: New file.
2015-07-31 11:42:34 +02:00
Martin Rudalics
59526c325e 2015-07-22 Martin Rudalics <rudalics@gmx.at>
Optionally even widths of `display-buffer' windows.  (Bug#21100)

* lisp/window.el (quit-restore-window): Restore width if
requested.
(display-buffer-record-window): Record width when window is
reused and horizontally combined.
(even-window-sizes): New option to allow evening window widths.
(even-window-heights): Defalias to `even-window-sizes'.
(window--even-window-heights): Rename to
`window--even-window-sizes'.  Handle side-by-side windows.
(display-buffer-use-some-window): Call `window--even-window-sizes'
instead of `window--even-window-heights'.
* lisp/help.el (resize-temp-buffer-window): Fix indentation.

* doc/lispref/windows.texi (Choosing Window Options): Describe
`even-window-sizes'.
(Coordinates and Windows): Fix typo.
2015-07-22 12:20:13 +02:00
Michael Albinus
72dc7e7824 Mention `tramp-connection-properties' in NEWS 2015-07-21 15:23:08 +02:00
Eli Zaretskii
166ffcb6c7 Fix following Info cross-references to anchors
* lisp/info.el (Info-read-subfile): Add to the returned value the
length of subfile preamble, after converting it to file's byte
offset, as expected by the caller.  Use bufferpos-to-filepos.
(Info-find-node-2): If searching for a node with a
1000-character slop fails, try again with a 10000-character slop,
to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)

* lisp/international/mule-util.el (bufferpos-to-filepos): New
function.
* etc/NEWS: Mention bufferpos-to-filepos.
2015-07-18 13:23:22 +03:00
Nicolas Richard
1a2773ac2d * lisp/play/landmark.el: Move to lisp/obsolete/
; * etc/NEWS: Mention the change.
2015-07-07 12:32:13 +02:00
Martin Rudalics
f844c020ca Have x-show-tip' handle right' and `bottom' frame parameters.
* src/nsfns.m (compute_tip_xy, Fx_show_tip)
* src/w32fns.c (compute_tip_xy, Fx_show_tip)
* src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
tooltips also via `right' and `bottom' frame parameters.
2015-07-07 08:45:21 +02:00
Stefan Monnier
824fc04b66 (describe-symbol): Rewrite describe-function-or-variable
* lisp/help-fns.el (describe-symbol-backends): New var.
(help-xref-stack-item): Declare.
(describe-symbol): Rename from describe-function-or-variable.
Rewrite using describe-symbol-backends instead of help-xref-interned.
* lisp/help.el (help-map): Use it.
* lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
(help-xref-interned): Make it into an obsolete alias.
2015-07-06 13:25:26 -04:00
Martin Rudalics
29f8228b5b Document new `window-divider-mode'.
* lisp/frame.el (window-divider-mode): Fix doc-string.
* doc/emacs/frames.texi (Window Dividers): New section.
2015-07-02 11:19:25 +02:00
Nicolas Richard
2f020e8219 Add argument to reverse the meaning of ido-restrict-to-matches
* lisp/ido.el (ido-restrict-to-matches): Add an optional argument
to reverse the meaning (Bug#15631).

; * etc/NEWS: Mention the change.
2015-07-02 00:57:07 +02:00
Paul Eggert
cc7acdbd0e Spelling fixes 2015-06-30 19:47:29 -07:00
Eli Zaretskii
edd09381c6 Don't block changes in mouse pointer inside 'track-mouse'
* etc/NEWS:
* doc/lispref/frames.texi (Mouse Tracking): Document the special
effect of setting 'track-mouse' to 'dragging'.

* lisp/textmodes/artist.el (artist-mouse-draw-continously):
* lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
* lisp/mouse-drag.el (mouse-drag-throw):
* lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
to avoid changes in the shape of the mouse pointer.

* src/xdisp.c (define_frame_cursor1): Don't change the mouse
pointer shape when do_mouse_tracking has the value of 'dragging',
not just any non-nil value.  (Bug#20934)
(syms_of_xdisp): DEFSYM 'dragging'.
2015-06-30 18:59:21 +03:00
Dmitry Gutov
9b4b4a8355 Add --color Grep option to the command dynamically
* lisp/progmodes/grep.el (grep-template, grep-find-template):
Update the description for <C>.  (Bug#20728)
(grep-compute-defaults): Don't add the --color option to
grep-options.  Only add it to grep-command.
(grep-expand-keywords): Expand the env value opts into <C>.
(grep-expand-template): Replace cf in the env with the opts list,
that can include -i and --color.

* lisp/progmodes/xref.el (xref-collect-matches): Do not remove
"--color=always" from the template, because we don't have to.
2015-06-27 23:57:28 +03:00
Eli Zaretskii
31807189b5 Add a new function w32-application-type
* src/w32proc.c (Fw32_application_type): New function.
; * etc/NEWS: Mention w32-application-type.
2015-06-27 13:48:26 +03:00
Glenn Morris
45fd936037 ; * etc/NEWS: Placeholder entry for recent prog-mode changes. 2015-06-26 20:25:31 -04:00
Artur Malabarba
0890cd833f * etc/NEWS: Fix mention to old function name 2015-06-24 23:15:45 +01:00
Artur Malabarba
c7a19e0c80 * lisp/isearch.el: Fold many unicode characters to ASCII
(isearch-character-fold-search, isearch--character-fold-extras)
(isearch--character-fold-table): New variable.
(isearch--character-folded-regexp): New function.
(isearch-search-fun-default): Use them.

* lisp/replace.el (replace-character-fold): New variable.
(replace-search): Use it.

* etc/NEWS: Document it.
2015-06-23 20:09:06 +01:00
Glenn Morris
d97fbcbedc * configure.ac (--with-ns): Enable by default on OS X.
; * etc/NEWS, nextstep/INSTALL: Mention this.
2015-06-22 22:03:33 -04:00
Artur Malabarba
a9d9b66ebb * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding 2015-06-22 19:02:08 +01:00
Paul Eggert
c4151ebe15 Improve the optional translation of quotes
Fix several problems with the recently-added custom variable
help-quote-translation where the code would quote inconsistently
in help buffers.  Add support for quoting 'like this', which
is common in other GNU programs in ASCII environments.  Change
help-quote-translation to use more mnemonic values: values are now the
initial quoting char, e.g., (setq help-quote-translation ?`) gets the
traditional Emacs help-buffer quoting style `like this'.  Change the
default behavior of substitute-command-keys to match what's done in
set-locale-environment, i.e., quote ‘like this’ if displayable,
'like this' otherwise.
* doc/lispref/help.texi (Keys in Documentation): Document
new behavior of substitute-command-keys, and document
help-quote-translation.
* doc/lispref/tips.texi (Documentation Tips):
Mention the effect of help-quote-translation.
* etc/NEWS: Mention new behavior of substitute-command-keys,
and merge help-quote-translation news into it.
When talking about doc strings, mention new ways to type quotes.
* lisp/cedet/mode-local.el (overload-docstring-extension):
Revert my recent change to this function, which shouldn't be
needed as the result is a doc string.
* lisp/cedet/mode-local.el (mode-local-print-binding)
(mode-local-describe-bindings-2):
* lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
* lisp/cus-theme.el (describe-theme-1):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
(eieio-help-constructor):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/faces.el (describe-face):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode)
(help-fns--obsolete, help-fns--interactive-only)
(describe-function-1, describe-variable):
* lisp/help.el (describe-mode):
Use substitute-command-keys to ensure a more-consistent quoting
style in help buffers.
* lisp/cus-start.el (standard):
Document new help-quote-translation behavior.
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
* lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
(help-xref-url-regexp):
* lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
* lisp/wid-edit.el (widget-documentation-link-regexp):
Also match 'foo', in case we're in a help buffer generated when
help-quote-translation is ?'.
* src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
(LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
(uRSQM1, uRSQM2, LSQM, RSQM): New constants.
(Fsubstitute_command_keys): Document and implement new behavior.
(Vhelp_quote_translation): Document new behavior.
2015-06-19 00:38:45 -07:00
Glenn Morris
aad7ea32c5 * lisp/cus-start.el (help-quote-translation): Add :version.
; * etc/NEWS: Add placeholder.
2015-06-18 21:07:27 -04:00
Eli Zaretskii
c09f1d9c62 Update data files from just-released Unicode 8.0
* etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
status.
* test/BidiCharacterTest.txt: Update from Unicode 8.0.
* admin/unidata/BidiMirroring.txt:
* admin/unidata/BidiBrackets.txt:
* admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
2015-06-18 11:14:13 +03:00
Daiki Ueno
dbc192b4c2 Add pinentry.el for better GnuPG integration
* lisp/pinentry.el: New file.
* etc/NEWS: Add entry about pinentry.el.
* lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.

Fixes: debbugs:20550
2015-06-18 10:22:38 +09:00
Stefan Monnier
82585144b6 (define-minor-mode): Use setq-default for :global minor modes
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
Use setq-default for :global minor modes (bug#20712).
2015-06-17 14:52:54 -04:00
Xue Fuqiao
fd7bbfbe62 Update tutorials/TUTORIAL.cn
* etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
2015-06-17 16:45:08 +08:00
Glenn Morris
6ebbc2f698 * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
* doc/emacs/calendar.texi (Diary, Format of Diary File):
Update for above diary-file change.

: * etc/NEWS: Mention this.
2015-06-15 20:46:01 -04:00
Stefan Monnier
b95f53f038 * lisp/info.el: Cleanup bytepos/charpos issues
* lisp/international/mule-util.el: Use lexical-binding.
(filepos-to-bufferpos): New function.
* lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
(Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
(Info-read-subfile, Info-search): Use 0-based file positions.
2015-06-15 18:48:08 -04:00
Oleh Krehel
20de61c833 Add new command checkdoc-package-keywords
* lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
  defcustom.
(checkdoc-list-of-strings-p): Add doc.
(checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
non-nil, call `checkdoc-package-keywords'.
(checkdoc-get-keywords): New defun.
(checkdoc-package-keywords): New command. Warns if the current file
has package.el-style keywords that aren't in `finder-known-keywords'.

* etc/NEWS: Add entry.
2015-06-08 16:54:51 +02:00
Oleh Krehel
c941d47932 checkdoc.el (checkdoc-file): New function
* lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
  `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
  to the standard output.

(bug#20754)
2015-06-08 08:33:21 +02:00
Nicolas Richard
bb2c6d2eb5 * etc/DEBUG: Mention 'maybe_call_debugger' 2015-06-06 08:34:46 +02:00
Eli Zaretskii
34ad02767b ; etc/DEBUG copedits
* etc/DEBUG: Improve the section on debugging redisplay issues.
Also other minor copyedits.
2015-06-05 13:45:02 +03:00
Nicolas Petton
d4aca72ead Merge branch 'map' 2015-06-04 22:30:29 +02:00
Nicolas Petton
015c89a912 ; * etc/NEWS: Add string-greaterp 2015-06-04 18:31:49 +02:00
Glenn Morris
7714add630 ; * etc/NEWS: Tiny edit. 2015-06-02 20:46:09 -04:00
Glenn Morris
b459d945c0 ; * etc/NEWS: Add Cairo placeholder. 2015-06-02 20:20:06 -04:00
Paul Eggert
467af178f5 Treat batch stdout/stderr like standard display
Calls like (print FOO) could generate improperly encoded or
hard-to-read output if FOO contains characters outside the system
locale.  Fix this by treating batch stdout and stderr like
interactive standard display, when it comes to transliterating and
encoding characters (Bug#20545).
* doc/emacs/mule.texi (Communication Coding):
* doc/lispref/display.texi (Active Display Table):
* doc/lispref/nonascii.texi (Locales):
* etc/NEWS:
* src/coding.c (syms_of_coding):
* src/dispnew.c (syms_of_display):
Document this.
* src/print.c: Include disptab.h.
(printchar_to_stream): New function, with much of the guts of the
old Fexternal_debugging_output, except this one also uses the
standard display table.
(printchar, strout, Fexternal_debugging_output): Use it.
2015-05-31 20:04:43 -07:00
Samer Masterson
d3605ed7d1 Show files when `initial-buffer-choice' is non-nil
* startup.el (command-line-1): When Emacs is given a file as an
argument and `initial-buffer-choice' is non-nil, display both the file
and `initial-buffer-choice'.  For more than one file, show
`initial-buffer-choice' and *Buffer List*.  Refactor display-changing
commands out of the command line arg parser.
(initial-buffer-choice): Clarify docstring.
2015-05-28 14:31:47 -07:00
Paul Eggert
73512b8cff New minor mode Electric Quote
This lets you easily insert quotes ‘like this’ by typing
quotes `like this', and similarly you can easily insert
quotes “like this” by typing quotes ``like this'' (Bug#20545).
* doc/emacs/basic.texi (Inserting Text):
* doc/emacs/modes.texi (Minor Modes):
* etc/NEWS: Document it.
* doc/emacs/text.texi (Quotation Marks): New section.
* lisp/electric.el (electric-quote-comment)
(electric-quote-string, electric-quote-paragraph):
New custom vars.
(electric--insertable-p)
(electric-quote-post-self-insert-function): New functions.
(electric-quote-mode, electric-quote-local-mode): New minor modes.
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
Add curved single quotes to electric-pair-text-pairs.
Set electric-quote-string in this buffer.
2015-05-28 00:54:06 -07:00
Paul Eggert
dfc2ef11a8 Fix minor quoting problems in doc strings
Most of these fixes involve escaping grave accents that are
actually intended to be grave accents, not left quotes.
(Bug#20385)
2015-05-28 00:22:03 -07:00
Paul Eggert
0fd5e6593a Support curved quotes in doc strings
Emacs's traditional doc string style has been to quote symbols
`like this'.  This worked well on now-obsolete terminals where
` and ' were symmetric quotes, but nowadays curved quotes
‘like this’ look better.  Support quoting the new way too.
(Bug#20385)
* doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
‘like-this’ as well as `like-this'.
* etc/NEWS: Mention this.
* lisp/cedet/mode-local.el (overload-docstring-extension)
(mode-local-print-binding, mode-local-describe-bindings-2):
* lisp/cus-theme.el (describe-theme-1):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
(eieio-help-constructor):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/faces.el (describe-face):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
(help-fns--interactive-only, describe-function-1):
(describe-variable):
* lisp/help.el (describe-mode):
* lisp/international/mule-cmds.el (describe-input-method)
(describe-language-environment):
* lisp/international/mule-diag.el (describe-character-set)
(print-coding-system-briefly, list-input-methods)
(list-input-methods-1):
Insert curved quotes rather than grave accent and apostrophe.
* lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
(checkdoc-proper-noun-region-engine):
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2):
* lisp/finder.el (finder-font-lock-keywords):
* lisp/gnus/gnus-art.el (gnus-button-alist):
* lisp/help-fns.el (help-do-arg-highlight)
(describe-function-1, describe-variable):
* lisp/help-mode.el (help-xref-symbol-regexp)
(help-xref-info-regexp, help-xref-url-regexp):
* lisp/help.el (describe-mode):
* lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
* lisp/wid-edit.el (widget-documentation-link-regexp):
Parse symbols quoted ‘like-this’ as well as `like-this'.
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
Add "‘" and "’" to electric-pair-text-pairs.
(elisp--form-quoted-p): Also allow "‘" as a quoting char.
(elisp-completion-at-point, elisp--preceding-sexp):
Also treat "‘" and "’" as quoting chars.
2015-05-28 00:22:02 -07:00
Paul Eggert
11b2744f48 substitute-command-keys now curves quotes
So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
* doc/lispref/help.texi (Keys in Documentation):
* etc/NEWS: Document this.
* src/doc.c (Fsubstitute_command_keys): Implement it.
2015-05-28 00:22:01 -07:00
Stefan Monnier
f655987d63 Un-revert changes mistakenly dropped by f9fabb2b 2015-05-27 22:42:33 -04:00
Glenn Morris
d3155315c8 * lisp/mail/rmailsum.el: Commas no longer separate regexps. (Bug#19026)
(rmail-summary-by-recipients, rmail-summary-by-topic)
(rmail-summary-by-senders): No longer use mail-comma-list-regexp.

* doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.

; * etc/NEWS: Mention this.
2015-05-26 21:04:19 -04:00
Philipp Stephani
816a2b369d * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
(xterm--extra-capabilities-type): Add `getSelection'.
(xterm--query): Add `no-async' argument.
(xterm--init-activate-get-selection): New function.
(terminal-init-xterm): Use it.
(xterm--init-modify-other-keys): Rename from
terminal-init-xterm-modify-other-keys.
(xterm--init-bracketed-paste-mode): Rename from
terminal-init-xterm-bracketed-paste-mode.
(xterm--init-activate-set-selection): Rename from
terminal-init-xterm-activate-set-selection.
(xterm--selection-char): New function.
(gui-backend-set-selection): Use it.  Use the &context to only apply
this method in terminals where we enabled the feature.
(gui-backend-get-selection): New method.
2015-05-25 17:03:50 -04:00
Paul Eggert
1efdf7feb3 Make TAGS files more portable to MS-Windows
* etc/NEWS: Document this.
* lib-src/etags.c (readline_internal) [DOS_NT]:
Don't treat CRs differently from GNUish hosts.
* lisp/progmodes/etags.el (etags-goto-tag-location):
Adjust STARTPOS to account for the skipped CRs in dos-style files.
2015-05-25 13:22:36 -07:00
Artur Malabarba
c205098b6a * lisp/emacs-lisp/tabulated-list.el: New optional print method
(tabulated-list-print): New optional argument, UPDATE.  If
non-nil, the list is printed by only adding and deleting the
changed entries, instead of erasing the whole buffer.  This method
is much faster when few or no entries have changed.

* doc/lispref/modes.texi (Tabulated List Mode): Document it.

* etc/NEWS: Document it.
2015-05-24 23:45:46 +01:00
Glenn Morris
9f89ea1f84 Remove charset map files from repository, generate in first bootstrap
* admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
(all): Create the stamp file.
(extraclean): Delete the stamp file.
* src/Makefile.in (lispintdir, charsets): New variables.
(${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
New rules.
(emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
* lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
* etc/charsets/*.map: Remove from repository.
; * admin/charsets/mapconv: Fix typo in output comment.
; * etc/charsets/README: Small update.
; * .gitignore: Update for charset changes.
2015-05-23 16:38:13 -07:00
kwhite
fdad335016 * lisp/erc/erc.el: Hide network/channel messages
(erc-network-hide-list, etc-channel-hide-list): New lists to define
message types per network/channel.
(erc-add-targets): New function to parse list of targets
(erc-hide-current-message-p): Modified to check for new targets
2015-05-21 14:30:18 -05:00
Martin Rudalics
31d58d4524 Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
* lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
(switch-to-buffer): If the selected window is strongly dedicated
to its buffer, signal error before prompting for buffer name.  Handle
`switch-to-buffer-in-dedicated-window'.  (Bug#20472)
* doc/lispref/windows.texi (Switching Buffers): Document
`switch-to-buffer-in-dedicated-window'.
2015-05-20 08:49:23 +02:00
Glenn Morris
f42ceab546 Further lisp-complete-symbol related cleanup.
* lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
Unadvertise non-functional argument.  Replace obsolete alias.
2015-05-18 20:51:47 -04:00
Samer Masterson
76f2d19edd * lisp/eshell/em-term.el (eshell-term-sentinel):
No-op by default, only kills term buffer if
`eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
(eshell-destroy-buffer-when-process-dies): New custom to preserve
previous behavior.
2015-05-17 14:57:13 -07:00