Stefan Monnier [Thu, 3 Dec 2009 18:51:32 +0000 (18:51 +0000)]
(Qseqpacket): New symbol.
(HAVE_SEQPACKET): New macro.
(Fmake_network_process): Accept new :type `seqpacket'.
(init_process): Add `seqpacket' feature when applicable.
(syms_of_process): Initialize Qseqpacket.
Alan Mackenzie [Thu, 3 Dec 2009 16:02:10 +0000 (16:02 +0000)]
Enhance `c-parse-state' to run efficiently in "brace desserts".
* progmodes/cc-mode.el (c-basic-common-init): Call
c-state-cache-init.
(c-neutralize-syntax-in-and-mark-CPP): Renamed from
c-extend-and-neutralize-syntax-in-CPP. Mark each CPP construct by
placing `category' properties value 'c-cpp-delimiter at its
boundaries.
* progmodes/cc-langs.el (c-before-font-lock-function):
c-extend-and-neutralize-syntax-in-CPP has been renamed
c-neutralize-syntax-in-and-mark-CPP.
* progmodes/cc-fonts.el (c-cpp-matchers): Mark template brackets
with `category' properties now, not `syntax-table' ones.
* progmodes/cc-engine.el (c-syntactic-end-of-macro): A new
enhanced (but slower) version of c-end-of-macro that won't land
inside a literal or on another awkward character.
(c-state-cache-too-far, c-state-cache-start)
(c-state-nonlit-pos-interval, c-state-nonlit-pos-cache)
(c-state-nonlit-pos-cache-limit, c-state-point-min)
(c-state-point-min-lit-type, c-state-point-min-lit-start)
(c-state-min-scan-pos, c-state-brace-pair-desert)
(c-state-old-cpp-beg, c-state-old-cpp-end): New constants and
buffer local variables.
(c-state-literal-at, c-state-lit-beg)
(c-state-cache-non-literal-place, c-state-get-min-scan-pos)
(c-state-mark-point-min-literal, c-state-cache-top-lparen)
(c-state-cache-top-paren, c-state-cache-after-top-paren)
(c-get-cache-scan-pos, c-get-fallback-scan-pos)
(c-state-balance-parens-backwards, c-parse-state-get-strategy)
(c-renarrow-state-cache)
(c-append-lower-brace-pair-to-state-cache)
(c-state-push-any-brace-pair, c-append-to-state-cache)
(c-remove-stale-state-cache)
(c-remove-stale-state-cache-backwards, c-state-cache-init)
(c-invalidate-state-cache-1, c-parse-state-1)
(c-invalidate-state-cache): New defuns/defmacros/defsubsts.
(c-parse-state): Enhanced and refactored.
(c-debug-parse-state): Amended to deal with all the new variables.
* progmodes/cc-defs.el (c-<-as-paren-syntax, c-mark-<-as-paren)
(c->-as-paren-syntax, c-mark->-as-paren, c-unmark-<->-as-paren):
modify to use category text properties rather than syntax-table
ones.
(c-suppress-<->-as-parens, c-restore-<->-as-parens): new defsubsts
to switch off/on the syntactic paren property of C++ template
delimiters using the category property.
(c-with-<->-as-parens-suppressed): Macro to invoke code with
template delims suppressed.
(c-cpp-delimiter, c-set-cpp-delimiters, c-clear-cpp-delimiters):
New constant/macros which apply category properties to the start
and end of preprocessor constructs.
(c-comment-out-cpps, c-uncomment-out-cpps): defsubsts which
"comment out" the syntactic value of characters in preprocessor
constructs.
(c-with-cpps-commented-out)
(c-with-all-but-one-cpps-commented-out): Macros to invoke code
with characters in all or all but one preprocessor constructs
"commented out".
* net/tramp.el (tramp-handle-file-remote-p): Expand FILENAME for
the benefit of returning an expanded localname.
(tramp-tramp-file-p): Handle the case NAME is not a string.
Dan Nicolaescu [Thu, 3 Dec 2009 04:08:08 +0000 (04:08 +0000)]
Support applying stashes. Improve UI.
* vc-git.el (vc-git-dir-extra-headers): Add tooltips.
(vc-git-stash-apply, vc-git-stash-pop)
(vc-git-stash-apply-at-point, vc-git-stash-pop-at-point)
(vc-git-stash-menu): New functions.
(vc-git-stash-menu-map): New variable.
(vc-git-stash-map): Add bindings to popup a menu and to apply stashes.
Stefan Monnier [Wed, 2 Dec 2009 18:31:26 +0000 (18:31 +0000)]
Use completion-in-buffer and remove uses of dynamic scoping.
* progmodes/pascal.el (pascal-str, pascal-all, pascal-pred)
(pascal-buffer-to-use, pascal-flag): Don't declare.
(pascal-func-completion, pascal-type-completion, pascal-var-completion)
(pascal-get-completion-decl, pascal-keyword-completion):
Add `pascal-str' argument, save-excursion,
return the found completions, and don't filter with pascal-pred.
(pascal-completion-cache): New var.
(pascal-completion): Don't switch buffer any more (it was never
necessary). Don't save-excursion any more (it's done by the called
subroutines). Use a cache to avoid redundant computations.
Use complete-with-action rather than pascal-completion-response and
let it apply the predicate as well.
(pascal-complete-word): Use completion-in-buffer when
pascal-toggle-completions is nil.
(pascal-show-completions): Don't bind pascal-buffer-to-use since it's
not used any more.
(pascal-comp-defun): Don't change buffer any more.
Use complete-with-action rather than pascal-completion-response and
let it apply the predicate as well.
(pascal-goto-defun): Change buffer before calling pascal-comp-defun
when neded.
Stefan Monnier [Wed, 2 Dec 2009 04:11:08 +0000 (04:11 +0000)]
Use completion-in-buffer.
(widget-field-text-end): New function.
(widget-field-value-get): Use it.
(widget-string-complete, widget-file-complete)
(widget-color-complete): Use it and completion-in-region.
(widget-complete): Don't narrow the buffer.
Bill Wohler [Tue, 1 Dec 2009 07:10:17 +0000 (07:10 +0000)]
(Searching): Use mh vfolder_format and fix typo in database path for
mairix example. Specify -q in namazu example since namazu is
excessively garrulous.
Bill Wohler [Tue, 1 Dec 2009 07:07:23 +0000 (07:07 +0000)]
(mh-mairix-execute-search): Use mh vfolder_format. Fix typo in
database path.
(mh-namazu-execute-search): Specify -q in example since namazu is
excessively garrulous.
Juri Linkov [Mon, 30 Nov 2009 21:45:30 +0000 (21:45 +0000)]
(multi-isearch-search-fun): Always provide a non-nil
value `buffer' of `multi-isearch-next-buffer-current-function'.
Use `(current-buffer)' when `buffer' is nil.
(multi-isearch-next-buffer-from-list): Don't fallback to
`(current-buffer)' when `buffer' is nil. (Bug#4947)
Juri Linkov [Mon, 30 Nov 2009 19:42:16 +0000 (19:42 +0000)]
(multi-isearch-read-buffers)
(multi-isearch-read-matching-buffers): New functions.
(multi-isearch-buffers, multi-isearch-buffers-regexp):
Use them in the `interactive' spec. Doc fix.
(multi-isearch-read-files, multi-isearch-read-matching-files):
New functions.
(multi-isearch-files, multi-isearch-files-regexp):
Use them in the `interactive' spec. Doc fix. (Bug#4725)
Juri Linkov [Mon, 30 Nov 2009 16:14:48 +0000 (16:14 +0000)]
(doc-view-continuous):
Rename from `doc-view-continuous-mode'.
(doc-view-menu): Move "Toggle display" to the top.
Add submenu "Continuous" with radio buttons "Off"/"On"
and "Save as Default".
(doc-view-scroll-up-or-next-page)
(doc-view-scroll-down-or-previous-page)
(doc-view-next-line-or-next-page)
(doc-view-previous-line-or-previous-page): Rename
`doc-view-continuous-mode' to `doc-view-continuous'. (Bug#4896)
Juri Linkov [Mon, 30 Nov 2009 16:11:18 +0000 (16:11 +0000)]
(comint-mode-map): Rebind `M-r' from
`comint-previous-matching-input' to
`comint-history-isearch-backward-regexp'.
Unbind `M-s' to allow global key binding `M-s'.
Add menu items for `comint-history-isearch-backward' and
`comint-history-isearch-backward-regexp'. (Bug#3746)
Juri Linkov [Mon, 30 Nov 2009 16:05:47 +0000 (16:05 +0000)]
(perform-replace): Let-bind recenter-last-op to nil.
For def=recenter, replace `recenter' with `recenter-top-bottom'
that is called with `this-command' and `last-command' let-bound
to `recenter-top-bottom'. When the last `def' was not `recenter',
set `recenter-last-op' to nil. (Bug#4981)
Juri Linkov [Sun, 29 Nov 2009 23:38:18 +0000 (23:38 +0000)]
* gnus-sum.el (gnus-recenter): Use `recenter-top-bottom'
when it is fboundp in GNU Emacs 23.1.
Put `isearch-scroll' property on `gnus-recenter'. (Bug#4981)
Juri Linkov [Sun, 29 Nov 2009 23:34:05 +0000 (23:34 +0000)]
Add defcustom to define the cycling order of `recenter-top-bottom'. (Bug#4981)
* window.el (recenter-last-op): Doc fix.
(recenter-positions): New defcustom.
(recenter-top-bottom): Rewrite to use `recenter-positions'.
(move-to-window-line-top-bottom): Rewrite to use `recenter-positions'.
Michael Albinus [Sun, 29 Nov 2009 20:10:29 +0000 (20:10 +0000)]
* eshell/em-unix (eshell/whoami): Make it a defun but a defalias.
(eshell/su): Flatten args. Apply better args parsing. Use "cd".
(eshell/sudo): Flatten args. Let-bind `default-directory'.
Michael Albinus [Sun, 29 Nov 2009 20:04:08 +0000 (20:04 +0000)]
* net/ange-ftp.el (ange-ftp-parse-filename): Use `save-match-data'.
(ange-ftp-directory-files-and-attributes)
(ange-ftp-real-directory-files-and-attributes): New defuns.
Stefan Monnier [Sat, 28 Nov 2009 21:32:06 +0000 (21:32 +0000)]
Try and remove assumptions about point-min==1.
* nxml/rng-valid.el (rng-validate-mode): Don't hardcode point-min==1.
(rng-compute-mode-line-string): Show the validation percentage in
terms of the narrowed text, not the widened text.
(rng-do-some-validation): Don't catch internal errors when debugging.
(rng-first-error): Simplify.
(rng-after-change-function): Remove work around. AFAIK the bug has
been fixed a while ago.
Stefan Monnier [Sat, 28 Nov 2009 17:06:30 +0000 (17:06 +0000)]
* eshell/em-prompt.el (eshell-prompt-function): Abbreviate pwd, since
`cd' doesn't always do it for us (bug#5067).
* pcomplete.el (pcomplete-entries): Revert change installed mistakenly
on 2009-10-25 as part of some other change (bug#5067).
Stefan Monnier [Fri, 27 Nov 2009 22:03:04 +0000 (22:03 +0000)]
(byte-compile-warning-types): New type `suspicious'.
(byte-compile-warnings): Use byte-compile-warning-types.
(byte-compile-save-excursion): Warn about use of set-buffer right
after save-excursion.
Michael Albinus [Fri, 27 Nov 2009 16:29:03 +0000 (16:29 +0000)]
* eshell/em-unix.el (eshell/su, eshell/sudo): New defuns,
providing a Tramp related implementation of "su" and "sudo".
(eshell-unix-initialize): Add "su" and "sudo".