+2005-12-28 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * e/eterm-color.ti: Temporarily disable the ri entry.
+ * e/eterm-color: Regenerate.
+
2005-12-21 L\e$,1 q\e(Brentey K\e,Aa\e(Broly <lorentey@elte.hu>
* TODO: Add note on the multi-tty branch.
*** The new macro `lazy-completion-table' initializes a variable
as a lazy completion table.
- (lazy-completion-table VAR FUN &rest ARGS)
+ (lazy-completion-table VAR FUN)
If the completion table VAR is used for the first time (e.g., by passing VAR
-as an argument to `try-completion'), the function FUN is called with arguments
-ARGS. FUN must return the completion table that will be stored in VAR. If
-completion is requested in the minibuffer, FUN will be called in the buffer
-from which the minibuffer was entered. The return value of
+as an argument to `try-completion'), the function FUN is called with no
+arguments. FUN must return the completion table that will be stored in VAR.
+If completion is requested in the minibuffer, FUN will be called in the buffer
+from which the minibuffer was entered. The return value of
`lazy-completion-table' must be used to initialize the value of VAR.
+++
op=\E[39;49m,
rc=\E8,
rev=\E[7m,
- ri=\EM,
+# ri=\EM, #temporarily disable, it causes problems for mutt
rmir=\E[4l,
rmso=\E[27m,
rmul=\E[24m,
+2005-12-29 Nick Roberts <nickrob@snap.net.nz>
+
+ * progmodes/gdb-ui.el (gdb-tooltip-print, gdb-tooltip-print-1):
+ Display name of expression instead of convenience variable.
+ (gdb-post-prompt): Only call gdb-get-changed-registers if needed.
+
+ * progmodes/gud.el (gud-tooltip-dereference): Rename from
+ toggle-gud-tooltip-dereference.
+ (gud-tooltip-print-command): Move concatenation of "*" to expr to...
+ (gud-tooltip-tips): ...here when dereferencing..
+
+2005-12-28 Bill Wohler <wohler@newt.com>
+
+ * simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and
+ autoload.
+
+2005-12-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc.el (vc-annotate-display): Replace optional arg `color-map' with
+ compulsory arg `ratio'. Inline body of vc-annotate-time-span.
+ (vc-annotate-display-autoscale): Adjust call.
+ (vc-annotate-display-default): Adjust call. Make arg compulsory.
+ Fix interactive spec.
+ (vc-annotate-time-span): Remove.
+ (vc-annotate-oldest-in-map): Rename from vc-annotate-car-last-cons.
+ (vc-annotate-mode-menu, vc-annotate-display-autoscale)
+ (vc-annotate-display-select): Use new name.
+
+ * vc.el (vc-annotate-mode-map): Remove obsolete binding.
+ (vc-annotate-mode-menu): Remove left-over redundant declaration.
+ Correct the construction of span entries. Simplify.
+ (vc-annotate-display-select): Fix the nil case.
+ (vc-annotate): Remove obsolete (and now broken) code.
+ (vc-annotate-extract-revision-at-line): Remove obsolete code.
+ (vc-annotate-time-span): Remove unused arg `quantize'. Simplify.
+
+2005-12-28 Luc Teirlinck <teirllm@auburn.edu>
+
+ * subr.el (lazy-completion-table): Correct typo in docstring.
+
+ * startup.el (command-line): Use `custom-reevaluate-setting' for
+ `send-mail-function'.
+
+ * mail/sendmail.el (send-mail-function): Autoload the standard-value.
+
+2005-12-05 Ralf Angeli <angeli@iwi.uni-sb.de>
+
+ * mail/smtpmail.el (smtpmail-try-auth-methods):
+ Send credentials together with "AUTH PLAIN" command.
+
+2005-12-27 Richard M. Stallman <rms@gnu.org>
+
+ * mouse.el (mouse-drag-region-1): When remapping mouse-1 to
+ mouse-2, go back to previously selected window, so it's selected
+ when mouse-2 command runs.
+
+2005-12-27 Juri Linkov <juri@jurta.org>
+
+ * descr-text.el (describe-text-sexp): Use square brackets for
+ button [Show] to distinguish it from the property value `show'.
+ (describe-property-list): Use `insert-text-button' with
+ `help-face' type instead of putting face in quotes, because button
+ is not created automatically for a list of faces.
+ (describe-text-properties-1): Put button-type value in quotes to
+ distinguish from plain text "button".
+ (describe-char): Display code point values in hex. Don't use
+ `symbol-name' for `current-input-method' because it is a string.
+ Use `insert-text-button' with `help-face' type instead of putting
+ hardcoded face in quotes, because button is not created automatically.
+
+2005-12-27 Richard M. Stallman <rms@gnu.org>
+
+ * progmodes/glasses.el (glasses-face): More specific custom type.
+
+ * files.el (set-visited-file-name): Doc fix.
+
+ * textmodes/flyspell.el (flyspell-external-point-words):
+ Use local var buffer-scan-pos to advance scan for next misspelling.
+ Advance it only after we find the misspelling.
+
+2005-12-27 Agustin Martin <agustin.martin@hispalinux.es>
+
+ * textmodes/flyspell.el (flyspell-external-point-words):
+ New criteria for finding the misspelling in the buffer.
+
+2005-12-27 Nick Roberts <nickrob@snap.net.nz>
+
+ * help-mode.el (help-insert-string): Set help-xref-stack-item
+ rather than call help-setup-xref.
+
+ * descr-text.el (describe-char): Revert previous changes for
+ optional buffer argument.
+
+2005-12-27 Juri Linkov <juri@jurta.org>
+
+ * help-mode.el (help-insert-string): New function. Save buffer
+ contents in cases where it is impossible to recompute the old contents.
+
+ * descr-text.el (describe-char): Set help-xref-stack-item
+ explicitly after buffer has been generated.
+
+2005-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * cus-start.el (all): Add x-gtk-show-hidden-files.
+
+2005-12-26 Richard M. Stallman <rms@gnu.org>
+
+ * replace.el (perform-replace): Calculate match-again
+ before skipping read-only matches.
+
+ * paren.el (paren-showing-faces): New group.
+ (show-paren-match, show-paren-mismatch): Move to that group.
+
+ * button.el (button): Put into group `basic-faces'.
+
+ * progmodes/make-mode.el: Remove faces from group `faces'.
+
+ * apropos.el (apropos, apropos-value): Doc fix.
+ (apropos-documentation): Doc fix.
+
+2005-12-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (lazy-completion-table): Remove argument `args'.
+
+ * textmodes/bibtex.el (bibtex-strings, bibtex-reference-keys):
+ Don't use the `args' argument of lazy-completion-table.
+
+2005-12-26 Nick Roberts <nickrob@snap.net.nz>
+
+ * descr-text.el (describe-char): Add optional argument for buffer.
+ Set buffer appropriately. Call help-setup-xref.
+ Suggested by Stefan Monnier.
+
+2005-12-26 Juri Linkov <juri@jurta.org>
+
+ * descr-text.el: Require `help-fns' at runtime. Don't require
+ `button' for byte compilation.
+ (describe-text-widget): Add `help-echo' for first button.
+ Use `help-info' for second.
+ (describe-property-list): Use `help-argument-name' instead of `italic'.
+ (describe-text-category): Add prompt to interactive spec.
+ Call `help-setup-xref'.
+ (describe-char): Use `help-character-set'. Add `help-echo' for
+ code point. Use `help-input-method'. Remove superfluous insert.
+
2005-12-25 Richard M. Stallman <rms@gnu.org>
+ * progmodes/cc-defs.el (c-emacs-features): Do parse-partial-sexp
+ at point, in case of narrowing.
+
* progmodes/delphi.el (delphi-other-face): Allow nil in type.
* locate.el (locate-header-face): Allow nil in type.
* custom.el (custom-push-theme): Fix docstring.
- * cus-edit.el (custom-variable-set, custom-variable-save,
- custom-variable-save): Custom-quote widget values.
+ * cus-edit.el (custom-variable-set, custom-variable-save)
+ (custom-variable-save): Custom-quote widget values.
(customize-save-variable): Fix custom-push-theme call.
2005-12-24 Eli Zaretskii <eliz@gnu.org>
* w32-fns.el (w32-batch-update-autoloads): New function.
- * makefile.w32-in (autoloads, $(lisp)/mh-e/mh-loaddefs.el): Use
- w32-batch-update-autoloads, and don't setq generated-autoload-file
+ * makefile.w32-in (autoloads, $(lisp)/mh-e/mh-loaddefs.el):
+ Use w32-batch-update-autoloads, and don't setq generated-autoload-file
from the command line.
2005-12-23 Chong Yidong <cyd@stupidchicken.com>
customization" button one line up.
(custom-themed): New face.
(custom-magic-alist): New value, THEMED, for theme settings.
- (custom-variable-state-set, custom-face-state-set): Check
- theme-value instead of saved-value.
+ (custom-variable-state-set, custom-face-state-set):
+ Check theme-value instead of saved-value.
(custom-variable-reset-standard, custom-face-reset-standard):
Remove theme setting entirely. Recalculate new values.
(custom-variable-set, custom-variable-set)
(custom-variable-reset-saved, custom-variable-reset-backup)
(custom-face-set, custom-face-reset-saved): Update `user' theme.
(custom-variable-save): Fix typos.
-
+
2005-12-23 Juri Linkov <juri@jurta.org>
* emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms):
5D.1 and 5D.2 removed since they aren't trigged anymore (case 5B.1
covers all cases now).
- * progmodes/cc-defs.el (c-point): Added 'bosws and 'eosws.
+ * progmodes/cc-defs.el (c-point): Added `bosws' and `eosws'.
2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
* progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause):
Specify which submatch to use.
- * progmodes/cc-langs.el (c-symbol-start): Include '@' in ObjC.
+ * progmodes/cc-langs.el (c-symbol-start): Include `@' in ObjC.
(c-decl-start-re): No no longer any need for special treatment of
ObjC due to the above.
(c-decl-start-re): New language variable to make
`c-font-lock-declarations' stop for the special protection labels
- in Objective-C that start with '@'.
+ in Objective-C that start with `@'.
(c-label-key): Removed since it's no longer used.
has now taken the place of this function.
* progmodes/cc-vars.el (c-emacs-features): Removed compatibility
- with older emacsen: We now require 'pps-extended-state.
+ with older emacsen: We now require `pps-extended-state'.
2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
(cua-rectangle-modifier-key): ... this. New defcustom. Can now
select either meta, hyper, or super modifier for rectangle commands.
(cua--rectangle-modifier-key): New defvar.
- (cua--M/H-key): Use it. Remove special case for 'space.
+ (cua--M/H-key): Use it. Remove special case for `space'.
(cua--init-keymaps): Initialize it from cua-rectangle-modifier-key
on X, to meta otherwise. Always bind C-return to toggle
- rectangle. Pass ?\s instead of 'space to cua--M/H-key.
+ rectangle. Pass ?\s instead of `space' to cua--M/H-key.
* emulation/cua-rect.el (cua-help-for-rectangle): Use
cua--rectangle-modifier-key. Handle super modifier too.
(cua--init-rectangles): Always bind C-return to toggle rectangle.
- Pass ?\s instead of 'space to cua--M/H-key and cua--rect-M/H-key.
+ Pass ?\s instead of `space' to cua--M/H-key and cua--rect-M/H-key.
* ido.el: Move Acknowledgements and History after Commentary.
Minor changes to Commentary.
* emulation/cua-base.el (cua--select-keymaps): Enable repeat
- keymap if cua--prefix-override-timer equals 'shift.
+ keymap if cua--prefix-override-timer is `shift'.
(cua--shift-control-prefix): New function; emulate "type prefix
key twice" functionality to handle shifted prefix key override.
(cua--shift-control-c-prefix, cua--shift-control-x-prefix): New
2005-12-02 Ken Manheimer <ken.manheimer@gmail.com>
- * allout.el:(eval-when-compile): Remove unnecessary load of 'cl.
+ * allout.el:(eval-when-compile): Remove unnecessary load of cl.
Add fset of allout-real-isearch-abort during compile to fix
byte-compilation warnings.
(allout-mode-p): Move definition of this macro above all uses, or
* jka-cmpr-hook.el (jka-compr-install): Use push and dolist.
Add jka-compr-load-suffixes to load-suffixes.
- * jka-compr.el: Require 'jka-cmpr-hook.
+ * jka-compr.el: Require jka-cmpr-hook.
(jka-compr-info-compress-message, jka-compr-info-compress-program)
(jka-compr-info-compress-args, jka-compr-info-uncompress-message)
(jka-compr-info-uncompress-program, jka-compr-info-uncompress-args)
* pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
- (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
+ (pgg-pgp-sign-region, pgg-pgp-sign): Add optional PASSPHRASE
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
* pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
(pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
- (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
+ (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
Change defvar to defcustom.
(rcirc-update-prompt): Add optional ALL arg, which will update
prompts in all rcirc buffers. Regexp quote replacement text.
- (rcirc-fill-column): Accept 'frame-width as a value.
+ (rcirc-fill-column): Accept frame-width as a value.
(rcirc-set-changed): Add function.
(rcirc-next-active-buffer): Write more meaningful messages.
(rcirc-faces): Add customization group.
(rcirc-debug-buffer): Rename from `rcirc-log-buffer'.
(rcirc-debug-flag): Rename from `rcirc-log-p'.
(rcirc-debug): Rename from `rcirc-log'.
- (rcirc-format-response-string): Do not print '-' chars for a
+ (rcirc-format-response-string): Do not print `-' chars for a
NOTICE with no sender. Simplify output of server responses.
2005-11-04 Henrik Enberg <henrik.enberg@telia.com>
* pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
- (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
+ (pgg-pgp-sign-region, pgg-pgp-sign): Add optional PASSPHRASE
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
* pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
(pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
- (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
+ (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
* textmodes/org.el (org-read-date, org-goto-calendar)
(org-recenter-calendar, org-agenda-goto-calendar):
- Temporarily clear 'calendar-move-hook'.
+ Temporarily clear `calendar-move-hook'.
2005-11-04 Michael Kifer <kifer@cs.stonybrook.edu>
key. Also, added a note pointing out fact that the prompt only
indicates the first matching key.
- * pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
+ * pgg.el (pgg-decrypt): Passing along PASSPHRASE in call to
pgg-decrypt-region.
(pgg-pending-timers): A new hash for tracking the passphrase cache
timers, so that new ones supercede old ones.
and then passed in to the system.
* pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
- (pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
+ (pgg-remove-passphrase-cache): Add optional NOTRUNCATE argument,
so the passphrase cache can be used reliably with identifiers
besides a pgp packet's key id.
* pgg-gpg.el (pgg-pgp-encrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
- (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
+ (pgg-pgp-sign-region, pgg-pgp-sign): Add optional PASSPHRASE
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
key. Also, added a note pointing out fact that the prompt only
indicates the first matching key.
- * pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
+ * pgg.el (pgg-decrypt): Passing along PASSPHRASE in call to
pgg-decrypt-region.
(pgg-pending-timers): A new hash for tracking the passphrase cache
timers, so that new ones supercede old ones.
and then passed in to the system.
* pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
- (pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
+ (pgg-remove-passphrase-cache): Add optional NOTRUNCATE argument,
so the passphrase cache can be used reliably with identifiers
besides a pgp packet's key id.
* pgg-gpg.el (pgg-pgp-encrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
- (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
+ (pgg-pgp-sign-region, pgg-pgp-sign): Add optional PASSPHRASE
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
* allout.el: Add autoloads of crypt++ and mailcrypt routines, all
for encryption functionality.
Move allout customization subgroup from `editing' to `outlines' group.
- Fix commentary 'keywords' to legitimate ones.
+ Fix commentary keywords to legitimate ones.
Update author info (using my current email address, obscurified).
(allout-encrypt-string, allout-encryption-produce-work-buffer)
(allout-encrypted-topic-p, allout-encrypted-text-type)
any universal argument provokes now prompt for bullet, defaulting
to the bullet of the previous topic.
(allout-plain-bullets-string, allout-distinctive-bullets-string):
- Plain bullet alternates '.' period and ',' comma only. All other
+ Plain bullet alternates `.' period and `,' comma only. All other
bullets are relegated to special status (but customizable).
- (allout-end-of-entry): Rename from 'allout-end-of-current-entry
+ (allout-end-of-entry): Rename from allout-end-of-current-entry
since it actually operates w.r.t. most immediately containing
entry, visible or not.
(allout-hide-current-entry, allout-show-current-entry): Use the
(allout-isearch-rectification): Refine condition for isearching.
(allout-isearch-abort, allout-enwrap-isearch)
(allout-flag-region, my-region-active-p): Relocate some macros.
- (allout-title): Fallback title is '(buffer-name)', not
- non-existing '(current-buffer-name)'.
+ (allout-title): Fallback title is (buffer-name), not
+ non-existing (current-buffer-name).
(subst-char-in-string): Define if absent (for some XEmacs versions).
2005-10-20 Jari Aalto <jari.aalto@cante.net>
(math-super-types): Add sqmatrix type.
* calc/calc-mode.el (calc-matrix-mode, math-get-modes-vec): Change the
- mode name `square' to 'sqmatrix'.
+ mode name `square' to `sqmatrix'.
* calc/calc.el (calc-matrix-mode, calc-set-mode-line): Change the
- mode name `square' to 'sqmatrix'.
+ mode name `square' to `sqmatrix'.
2005-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
(vhdl-trailer-re): Add "record" keyword (better indentation).
(vhdl-fixup-whitespace-region): "[^ \t\"-]+" instead of
"[^ \t-\"]+".
- (vhdl-font-lock-keywords-2): Not highlight formal parameter after '|'.
+ (vhdl-font-lock-keywords-2): Not highlight formal parameter after `|'.
(vhdl-testbench-entity-file-name)
(vhdl-testbench-architecture-file-name): Allow separate
customization of testbench file names.
* subr.el (insert-for-yank-1): Doc fix.
* ido.el (ido-enter-matching-directory): Rename from
- ido-enter-single-matching-directory. Change 'slash choice to
- 'only. Add 'first choice.
+ ido-enter-single-matching-directory. Change `slash' choice to
+ `only'. Add `first' choice.
(ido-exhibit): Adapt to above changes.
2005-08-16 Luc Teirlinck <teirllm@auburn.edu>
included diary buffer if it was not already being visited.
Reported by Stephen Berman <Stephen.Berman@gmx.net>.
- * calendar/icalendar.el (top-level): Do not require 'appt.
+ * calendar/icalendar.el (top-level): Do not require appt.
* mail/supercite.el (sc-select-attribution): Only use a list
element from sc-attrib-selection-list if it returns a string.
* calendar/cal-x.el (calendar-one-frame-setup)
(calendar-only-one-frame-setup, calendar-two-frame-setup): Use t
- rather than 'symbol for set-window-dedicated-p.
+ rather than `symbol' for set-window-dedicated-p.
* calendar/appt.el (appt-buffer-name): Make it a constant.
(appt-add): Doc fix.
(reftex-index-region-phrases): Add slave parameter to call of
`reftex-index-this-phrase'.
(reftex-display-index): New argument redo.
- (reftex-index-rescan): Add 'redo to arguments of
+ (reftex-index-rescan): Add `redo' to arguments of
`reftex-display-index'.
(reftex-index-Rescan, reftex-index-revert)
- (reftex-index-switch-index-tag): Add 'redo to arguments of
+ (reftex-index-switch-index-tag): Add `redo' to arguments of
`reftex-display-index'.
(reftex-index-make-phrase-regexp): Fix bug with case-sensitive
indexing. Fix bug with matching is there is a quote before or
* xt-mouse.el (xterm-mouse-translate, xterm-mouse-event):
Enable mouse clicks on mode-line, header-line and margin.
- (event-type): Give mouse event symbols an 'event-kind property
- with value 'mouse-click.
+ (event-type): Give mouse event symbols an `event-kind' property
+ with value `mouse-click'.
2005-01-12 Juri Linkov <juri@jurta.org>
;;;###autoload
(defun apropos (pattern &optional do-all)
- "Show all bound symbols whose names match PATTERN.
+ "Show all meaningful Lisp symbols whose names match PATTERN.
+Symbols are shown if they are defined as functions, variables, or
+faces, or if they have nonempty property lists.
+
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters). If it is a word,
search for matches for that word as a substring. If it is a list of words,
search for matches for any two (or more) of those words.
-With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also
-show unbound symbols and key bindings, which is a little more
-time-consuming. Returns list of symbols and documentation found."
+With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil,
+consider all symbols (if they match PATTERN).
+
+Returns list of symbols and documentation found."
(interactive (list (apropos-read-pattern "symbol")
current-prefix-arg))
(apropos-parse-pattern pattern)
(apropos-symbols-internal
(apropos-internal apropos-regexp
- (and (not do-all)
- (not apropos-do-all)
- (lambda (symbol)
- (or (fboundp symbol)
- (boundp symbol)
- (facep symbol)
- (symbol-plist symbol)))))
+ (and (not do-all)
+ (not apropos-do-all)
+ (lambda (symbol)
+ (or (fboundp symbol)
+ (boundp symbol)
+ (facep symbol)
+ (symbol-plist symbol)))))
(or do-all apropos-do-all)))
(defun apropos-symbols-internal (symbols keys &optional text)
;;;###autoload
(defun apropos-value (pattern &optional do-all)
- "Show all symbols whose value's printed image matches PATTERN.
+ "Show all symbols whose value's printed representation matches PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters). If it is a word,
search for matches for that word as a substring. If it is a list of words,
;;;###autoload
(defun apropos-documentation (pattern &optional do-all)
- "Show symbols whose documentation contain matches for PATTERN.
+ "Show symbols whose documentation contains matches for PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters). If it is a word,
search for matches for that word as a substring. If it is a list of words,
(:foreground "lightblue"))
(t :underline t))
"Default face used for buttons."
- :group 'faces)
+ :group 'basic-faces)
;;;###autoload
(defvar button-map
(x-bitmap-file-path installation
(repeat (directory :format "%v")))
(x-use-old-gtk-file-dialog menu boolean "22.1")
+ (x-gtk-show-hidden-files menu boolean "22.1")
;; xterm.c
(mouse-autoselect-window display boolean "21.3")
(x-use-underline-position-properties display boolean "21.3")
;;; Code:
-(eval-when-compile (require 'button) (require 'quail))
+(eval-when-compile (require 'quail))
+(require 'help-fns)
;;; Describe-Text Utilities.
(insert-text-button
(symbol-name (if (symbolp widget) widget (car widget)))
'action `(lambda (&rest ignore)
- (widget-browse ',widget)))
+ (widget-browse ',widget))
+ 'help-echo "mouse-2, RET: browse this widget")
(insert " ")
- (insert-text-button "(widget)Top"
- 'action (lambda (&rest ignore) (info "(widget)Top"))
- 'help-echo "mouse-2, RET: read this Info node"))
+ (insert-text-button
+ "(widget)Top" 'type 'help-info 'help-args '("(widget)Top")))
(defun describe-text-sexp (sexp)
"Insert a short description of SEXP in the current buffer."
(t t))
(insert pp)
(insert-text-button
- "show" 'action `(lambda (&rest ignore)
+ "[Show]" 'action `(lambda (&rest ignore)
(with-output-to-temp-buffer
"*Pp Eval Output*"
(princ ',pp)))
(let ((key (nth 0 elt))
(value (nth 1 elt)))
(insert (propertize (format " %-20s " key)
- 'face 'italic))
+ 'face 'help-argument-name))
(cond ((eq key 'category)
- (insert-text-button (symbol-name value)
- 'action `(lambda (&rest ignore)
- (describe-text-category ',value))
- 'help-echo
- "mouse-2, RET: describe this category"))
+ (insert-text-button
+ (symbol-name value)
+ 'action `(lambda (&rest ignore)
+ (describe-text-category ',value))
+ 'help-echo "mouse-2, RET: describe this category"))
((memq key '(face font-lock-face mouse-face))
- (insert (concat "`" (format "%S" value) "'")))
+ (insert-text-button
+ (format "%S" value)
+ 'type 'help-face 'help-args (list value)))
((widgetp value)
(describe-text-widget value))
(t
(defun describe-text-category (category)
"Describe a text property category."
- (interactive "S")
+ (interactive "SCategory: ")
+ (help-setup-xref (list #'describe-text-category category) (interactive-p))
(save-excursion
(with-output-to-temp-buffer "*Help*"
(set-buffer standard-output)
;; Buttons
(when (and button (not (widgetp wid-button)))
(newline)
- (insert "Here is a " (format "%S" button-type)
- " button labeled `" button-label "'.\n\n"))
+ (insert "Here is a `" (format "%S" button-type)
+ "' button labeled `" button-label "'.\n\n"))
;; Overlays
(when overlays
(newline)
(single-key-description char)
(string-to-multibyte
(char-to-string char)))))
- (text-props-desc
- (let ((tmp-buf (generate-new-buffer " *text-props*")))
- (unwind-protect
- (progn
- (describe-text-properties pos tmp-buf)
- (with-current-buffer tmp-buf (buffer-string)))
- (kill-buffer tmp-buf))))
+ (text-props-desc
+ (let ((tmp-buf (generate-new-buffer " *text-props*")))
+ (unwind-protect
+ (progn
+ (describe-text-properties pos tmp-buf)
+ (with-current-buffer tmp-buf (buffer-string)))
+ (kill-buffer tmp-buf))))
item-list max-width unicode)
(if (or (< char 256)
(encode-char char 'ucs))))
(setq item-list
`(("character"
- ,(format "%s (%d, #o%o, #x%x%s)"
- (apply 'propertize char-description
- (text-properties-at pos))
- char char char
- (if unicode
- (format ", U+%04X" unicode)
- "")))
+ ,(format "%s (%d, #o%o, #x%x%s)"
+ (apply 'propertize char-description
+ (text-properties-at pos))
+ char char char
+ (if unicode
+ (format ", U+%04X" unicode)
+ "")))
("charset"
,`(insert-text-button
- (symbol-name charset)
- 'action `(lambda (&rest ignore)
- (describe-character-set ',charset))
- 'help-echo
- "mouse-2, RET: describe this character set")
+ ,(symbol-name charset)
+ 'type 'help-character-set 'help-args '(,charset))
,(format "(%s)" (charset-description charset)))
("code point"
,(let ((split (split-char char)))
- `(insert-text-button ,(if (= (charset-dimension charset) 1)
- (format "%d" (nth 1 split))
- (format "%d %d" (nth 1 split)
- (nth 2 split)))
- 'action (lambda (&rest ignore)
- (list-charset-chars ',charset)
- (with-selected-window
- (get-buffer-window "*Character List*" 0)
- (goto-char (point-min))
- (forward-line 2) ;Skip the header.
- (let ((case-fold-search nil))
- (search-forward ,(char-to-string char)
- nil t)))))))
+ `(insert-text-button
+ ,(if (= (charset-dimension charset) 1)
+ (format "#x%02X" (nth 1 split))
+ (format "#x%02X #x%02X" (nth 1 split)
+ (nth 2 split)))
+ 'action (lambda (&rest ignore)
+ (list-charset-chars ',charset)
+ (with-selected-window
+ (get-buffer-window "*Character List*" 0)
+ (goto-char (point-min))
+ (forward-line 2) ;Skip the header.
+ (let ((case-fold-search nil))
+ (search-forward ,(char-to-string char)
+ nil t))))
+ 'help-echo
+ "mouse-2, RET: show this character in its character set")))
("syntax"
,(let ((syntax (syntax-after pos)))
(with-temp-buffer
key-list " or ")
"with"
`(insert-text-button
- (symbol-name current-input-method)
- 'action (lambda (&rest ignore)
- (describe-input-method
- ',current-input-method)))))))
+ ,current-input-method
+ 'type 'help-input-method
+ 'help-args '(,current-input-method))))))
("buffer code"
,(encoded-string-description
(string-as-unibyte (char-to-string char)) nil))
((and (< char 32) (not (memq char '(9 10))))
'escape-glyph)))))
(if face (list (list "hardcoded face"
- '(insert
- (concat "`" (symbol-name face) "'"))))))
+ `(insert-text-button
+ ,(symbol-name face)
+ 'type 'help-face 'help-args '(,face))))))
,@(let ((unicodedata (and unicode
(describe-char-unicode-data unicode))))
(if unicodedata
"the meaning of the rule.\n"))
(if text-props-desc (insert text-props-desc))
+ (setq help-xref-stack-item (list 'help-insert-string (buffer-string)))
(toggle-read-only 1)
(print-help-return-message)))))
(defun set-visited-file-name (filename &optional no-query along-with-file)
"Change name of file visited in current buffer to FILENAME.
+This also renames the buffer to correspond to the new file.
The next time the buffer is saved it will go in the newly specified file.
-FILENAME nil or an empty string means make buffer not be visiting any file.
+FILENAME nil or an empty string means mark buffer as not visiting any file.
Remember to delete the initial contents of the minibuffer
if you wish to pass an empty string as the argument.
(fboundp sym) (facep sym))
(help-do-xref pos #'help-xref-interned (list sym))))))
+(defun help-insert-string (string)
+ "Insert STRING to the help buffer and install xref info for it.
+This function can be used to restore the old contents of the help buffer
+when going back to the previous topic in the xref stack. It is needed
+in case when it is impossible to recompute the old contents of the
+help buffer by other means."
+ (setq help-xref-stack-item (list #'help-insert-string string))
+ (with-output-to-temp-buffer (help-buffer)
+ (insert string)))
(provide 'help-mode)
:type 'regexp
:group 'sendmail)
+;; Prevent problems with `window-system' not having the correct value
+;; when loaddefs.el is loaded. `custom-reevaluate-setting' needs the
+;; standard value.
+;;;###autoload
+(put 'send-mail-function 'standard-value
+ '((if (and window-system (memq system-type '(darwin windows-nt)))
+ 'mailclient-send-it
+ 'sendmail-send-it)))
+
;; Useful to set in site-init.el
;;;###autoload
(defcustom send-mail-function
(>= (car ret) 400))
(throw 'done nil)))
((eq mech 'plain)
- (smtpmail-send-command process "AUTH PLAIN")
- (if (or (null (car (setq ret (smtpmail-read-response process))))
- (not (integerp (car ret)))
- (not (equal (car ret) 334)))
- (throw 'done nil))
- (smtpmail-send-command process (base64-encode-string
+ (smtpmail-send-command process
+ (concat "AUTH PLAIN "
+ (base64-encode-string
(concat "\0"
(smtpmail-cred-user cred)
"\0"
- passwd)))
+ passwd))))
(if (or (null (car (setq ret (smtpmail-read-response process))))
(not (integerp (car ret)))
(not (equal (car ret) 235)))
+2005-12-28 Bill Wohler <wohler@newt.com>
+
+ * mh-comp.el (mh-e-user-agent): Move here from simple.el. Use
+ mh-user-agent-compose instead of mh-smail-batch.
+
+2005-12-27 Bill Wohler <wohler@newt.com>
+
+ * mh-utils.el (mh-prompt-for-folder): Use can-create argument to
+ suppress creation of folder if it doesn't exist.
+
+2005-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mh-utils.el (mh-process-daemon): Don't change buffer in proc-filter.
+
2005-12-23 Bill Wohler <wohler@newt.com>
* mh-e.el (mh-folders-changed): Fix typo in docstring.
hyperlinks such as symbols, Info nodes, or URLs. Use \" quotes for
everything else. Otherwise, you can accidently get links to
nonsense symbols.
-
+
2005-12-22 Bill Wohler <wohler@newt.com>
Follow Emacs coding conventions. Use default setting of
emacs-lisp-docstring-fill-column which is 65.
-
+
* mh-alias.el (mh-alias-reload): Sync docstrings with manual.
* mh-comp.el (mh-letter-mode): Use 60 column width.
(mh-index-data, mh-first-msg-num, mh-last-msg-num)
(mh-mode-line-annotation, mh-sequence-notation-history)
(mh-colors-available-flag): Move comment into docstring.
- (mh-delete-msg, mh-execute-commands, mh-inc-folder, mh-quit,
- mh-process-commands): Sync docstrings with manual.
+ (mh-delete-msg, mh-execute-commands, mh-inc-folder, mh-quit)
+ (mh-process-commands): Sync docstrings with manual.
(mh-refile-msg): Small doc edit.
(mh-delete-a-msg, mh-refile-a-msg): Sync docstrings with manual.
Rename msg argument to message.
`foo-hook' is a list of functions to be called, with no arguments,
...," but rather just "The hook foo-hook is called...".
- * mh-mime.el (mh-mh-to-mime): Ditto
+ * mh-mime.el (mh-mh-to-mime): Ditto.
* mh-pick.el (mh-pick-mode): Ditto.
(mh-show-mode, mh-show-msg, mh-find-path): Sync docstrings with
manual.
-2005-12-19 Stephen Gildea
+2005-12-19 Stephen Gildea <gildea@stop.mail-abuse.org>
- * mh-customize.el (mh-after-commands-processed-hook): New variable.
- (mh-before-commands-processed-hook): mh-folder-updated-hook, renamed.
+ * mh-customize.el (mh-after-commands-processed-hook): New
+ variable.
+ (mh-before-commands-processed-hook): Rename
+ mh-folder-updated-hook.
- * mh-e.el (mh-process-commands): Rename mh-folder-updated-hook
- to mh-before-commands-processed-hook, call new
+ * mh-e.el (mh-process-commands): Rename mh-folder-updated-hook to
+ mh-before-commands-processed-hook, call new
mh-after-commands-processed-hook.
(mh-folders-changed): New variable (for use in
mh-after-commands-processed-hook).
to nil. Sync docstrings with manual.
(mh-tool-bar-define): Replace toolbar with tool-bar or tool bar
depending on context.
- (mh-toolbar-init): Rename to mh-tool-bar-init. Simplified
- condition for calling set-specifier. Only look at the value of
+ (mh-toolbar-init): Rename to mh-tool-bar-init. Simplify condition
+ for calling set-specifier. Only look at the value of
mh-xemacs-use-tool-bar-flag.
(mh-tool-bar-folder-buttons, mh-tool-bar-letter-buttons): Sync
docstrings with manual.
* mh-customize.el (mh-sortm-args): Sync docstrings with manual.
(mh-invisible-header-fields-internal): Add X-Bugzilla-* and
X-Virus-Scanned.
-
+
* mh-customize.el (mh-insert-signature-hook): Rename
mh-letter-insert-signature-hook to mh-insert-signature-hook.
mh-index-new-messages-folders.
(mh-ticked-messages-folders): Rename from
mh-index-ticked-messages-folders.
-
+
* mh-index.el (mh-index-sequenced-messages)
(mh-index-new-messages): Ditto.
* mh-seq.el (mh-put-msg-in-seq, mh-range-to-msg-list)
(mh-narrow-to-range, mh-toggle-tick): Ditto.
-
2005-12-01 Bill Wohler <wohler@newt.com>
Rewrote Reading Mail chapter in manual which affected mh-show
customization group and related functions.
-
+
* mh-comp.el (mh-letter-mode): Use mh-highlight-citation-style
instead of mh-highlight-citation-p.
(mh-letter-toggle-header-field-display): "Ellipsed" isn't a word,
(mh-show-use-xface-flag, mh-store-default-directory)
(mh-summary-height, mh-delete-msg-hook
(mh-show-hook, mh-show-mode-hook): Sync docstrings with manual.
-
+
* mh-e.el
(mh-scan-format-mh, mh-scan-good-msg-regexp)
(mh-scan-deleted-msg-regexp, mh-scan-refiled-msg-regexp)
to no-header. Sync docstrings with manual.
(mh-ps-print-map): Delete keybindings for deleted commands
mh-ps-print-toggle-mime and mh-ps-print-msg-show.
- (mh-help-messages): Updated printing help.
+ (mh-help-messages): Update printing help.
(mh-delete-msg, mh-delete-msg-no-motion, mh-first-msg)
(mh-last-msg, mh-previous-unread-msg, mh-next-button)
(mh-prev-button, mh-folder-toggle-mime-part)
(mh-next-unread-msg, mh-toggle-mime-buttons): Sync docstrings with
manual.
- * mh-funcs.el (mh-sortm-args): Now a customization option and
- in mh-customize.el.
+ * mh-funcs.el (mh-sortm-args): Now a customization option and in
+ mh-customize.el.
(mh-pipe-msg): Rename include-headers to include-header. Sync
docstrings with manual.
(mh-burst-digest, mh-page-digest, mh-page-digest-backwards)
minibuffer. Sync docstrings with manual.
* mh-print.el: (mh-ps-print-mime, mh-ps-print-toggle-mime):
- Deleted.
+ Delete.
(mh-ps-print-color-option): Incorporate docstring from
ps-print-color-p.
(mh-ps-spool-buffer): Remove unused code. Fix indent. Slimline
docstring.
(mh-ps-spool-msg): Slimline docstring. Rename from
- mh-ps-spool-a-msg. Rewrote to use existing show buffer when
+ mh-ps-spool-a-msg. Rewrite to use existing show buffer when
available.
(mh-ps-print-range): Extract method from common code in
mh-ps-print-msg and mh-ps-print-msg-file.
(mh-ps-print-toggle-faces, mh-ps-print-toggle-color): Sync
docstrings with manual.
- * mh-utils.el (mh-show-ps-print-msg-show,
+ * mh-utils.el (mh-show-ps-print-msg-show)
mh-show-ps-print-toggle-mime): Delete.
- (mh-show-ps-print-map): Updated accordingly.
+ (mh-show-ps-print-map): Update accordingly.
(mh-show-mode): Use mh-highlight-citation-style instead of
mh-highlight-citation-p.
(mh-show-xface, mh-display-msg): Use mh-mhl-format-file instead of
* mh-init.el: Modify commentary since file is used for load and
initialization as well as setting and getting the variant.
- (mh-min-colors-defined-flag, mh-defface-compat): Move
- here from mh-customize.el.
+ (mh-min-colors-defined-flag, mh-defface-compat): Move here from
+ mh-customize.el.
* mh-customize.el: Refactor faces. Move grayscale requirements
last before t. Use uniform line breaks.
(mh-min-colors-defined-flag): New variable.
(mh-defface-compat): New function. Provides backward compatibility
for face specs.
- (mh-show-header, mh-show-date, mh-show-cc, mh-folder-to)
- (mh-folder-refiled, mh-folder-cur-msg-number, mh-folder-cur-msg)
+ (mh-show-header, mh-show-date, mh-show-cc, mh-folder-to)
+ (mh-folder-refiled, mh-folder-cur-msg-number, mh-folder-cur-msg)
(mh-folder-body): Use mh-defface-compat.
2005-11-03 Dan Nicolaescu <dann@ics.uci.edu>
* mh-e.el (mh-update-sequences): Sync docstrings with manual.
- * mh-seq.el (mh-delete-seq, mh-list-sequences, mh-narrow-to-seq)
+ * mh-seq.el (mh-delete-seq, mh-list-sequences, mh-narrow-to-seq)
(mh-widen, mh-toggle-tick, mh-narrow-to-tick): Sync docstrings
with manual.
(mh-reply-show-message-flag, mh-letter-mode-hook): Sync docstrings
with manual.
- * mh-print.el (mh-ps-spool-buffer, mh-ps-spool-a-msg)
+ * mh-print.el (mh-ps-spool-buffer, mh-ps-spool-a-msg)
(mh-ps-print-msg): Remove debugging messages.
- (mh-ps-print-msg-show, mh-ps-print-msg-show)
+ (mh-ps-print-msg-show, mh-ps-print-msg-show)
(mh-ps-print-toggle-color, mh-ps-print-toggle-mime): Remove period
after message per conventions.
2005-10-30 Bill Wohler <wohler@newt.com>
- * mh-e.el (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
+ * mh-e.el (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
(mh-scan-refiled-msg-regexp, mh-scan-cur-msg-number-regexp): Sync
docstrings with manual.
column, not a width.
(mh-add-sequence-notation, mh-remove-sequence-notation): Use new
variable mh-scan-field-destination-offset rather than hard-coding
- 1.
+ 1.
* mh-utils.el (mh-cmd-note) Synced docstring with manual.
(mh-notate): Use new variable mh-scan-field-destination-offset
* mh-customize.el (mh-x-face-file, mh-show-use-xface-flag)
(mail-citation-hook): Quote URLs in docstrings and precede with
`URL'. The former will suppress checkdoc warnings, the latter will
- turn them into hyperlinks in Emacs 22 (I just added the code
- to do that today).
+ turn them into hyperlinks in Emacs 22 (I just added the code to do
+ that today).
(mh-scan-format-file): Checkdoc fix.
2005-10-27 Bill Wohler <wohler@newt.com>
Checkdoc fixes.
* mh-customize.el (mh-compose-insertion, mh-x-face-file): Ditto.
-
- * mh-mime.el (mh-mh-to-mime, mh-mml-attach-file)
- (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt)
- (mh-mml-secure-message-signencrypt): Ditto
+
+ * mh-mime.el (mh-mh-to-mime, mh-mml-attach-file)
+ (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt)
+ (mh-mml-secure-message-signencrypt): Ditto.
2005-10-24 Bill Wohler <wohler@newt.com>
(mh-yank-from-start-of-msg): Rename to mh-yank-behavior.
(mh-compose-insertion): Rename values from 'gnus and 'mhn to 'mh
and user-visible values from mhn and Gnus to MH and MML.
- (mh-before-send-letter-hook): Added 'ispell-message option.
+ (mh-before-send-letter-hook): Add 'ispell-message option.
(mh-mml-method-default): Rename mh-gnus-pgp-support-flag to
mh-pgp-support-flag.
(mh-compose-insertion, mh-compose-space-does-completion-flag)
(mh-mh-compose-external-type, mh-mh-forward-message)
(mh-mml-attach-file): Use mml-minibuffer-read-description,
mh-minibuffer-read-type.
- (mh-mime-content-types): Moved comment about only being used in
+ (mh-mime-content-types): Move comment about only being used in
Emacs 20 to docstring.
(mh-mh-compose-external-type): Rename extra-param argument to
parameters.
- (mh-mml-to-mime, mh-secure-message)
- (mh-mml-unsecure-message, mh-mime-display-part)
- (mh-mime-display-single): Rename mh-gnus-pgp-support-flag to
- mh-pgp-support-flag.
+ (mh-mml-to-mime, mh-secure-message, mh-mml-unsecure-message)
+ (mh-mime-display-part, mh-mime-display-single): Rename
+ mh-gnus-pgp-support-flag to mh-pgp-support-flag.
(mh-compose-insertion): Rename mh-mhn-compose-insertion to
mh-mh-attach-file.
(mh-compose-forward): Rename mh-mhn-compose-forw to
(mh-mh-compose-anon-ftp, mh-mh-compose-external-compressed-tar)
(mh-mh-compose-external-compressed-tar)
(mh-mh-compose-external-type, mh-mh-forward-message)
- (mh-mh-to-mime, mh-mh-quote-unescaped-sharp,
+ (mh-mh-to-mime, mh-mh-quote-unescaped-sharp)
(mh-mh-to-mime-undo, mh-mh-directive-present-p, mh-mml-to-mime)
(mh-mml-attach-file, mh-secure-message, mh-mml-unsecure-message)
(mh-mml-secure-message-sign, mh-mml-secure-message-encrypt)
2005-10-17 Bill Wohler <wohler@newt.com>
- * mh-customize.el (mh-folder-tool-bar-map): Renamed image file
+ * mh-customize.el (mh-folder-tool-bar-map): Rename image file
left_arrow to left-arrow, right_arrow to right-arrow, mail_compose
to mail/compose, fld_open to fld-open.
- (mh-letter-tool-bar-map): Renamed image file mail_send to
+ (mh-letter-tool-bar-map): Rename image file mail_send to
mail/send.
2005-10-16 Bill Wohler <wohler@newt.com>
2005-10-16 Masatake YAMATO <jet@gyve.org>
- * mh-comp.el (mh-complete-word): Pass the common
- prefix substring of completion to `display-completion-list'.
+ * mh-comp.el (mh-complete-word): Pass the common prefix substring
+ of completion to `display-completion-list'.
2005-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
* mh-init.el (mh-image-load-path-called-flag): New variable which
is used by mh-image-load-path so that it runs only once.
- (mh-image-load-path): Modified so that it gets run only once. Also
+ (mh-image-load-path): Modify so that it gets run only once. Also
flatten out heavily nested if statements to make it clearer.
* mh-e.el (mh-folder-mode): Call mh-image-load-path to allow Emacs
2005-10-14 Bill Wohler <wohler@newt.com>
- * mh-e.el (Version, mh-version): Added +cvs to version.
+ * mh-e.el (Version, mh-version): Add +cvs to version.
2005-10-14 Bill Wohler <wohler@newt.com>
Released MH-E version 7.85.
-
- * mh-e.el (Version, mh-version): Updated for release 7.85.
-
+
+ * mh-e.el (Version, mh-version): Update for release 7.85.
+
2005-10-14 Bill Wohler <wohler@newt.com>
- * mh-e.el, mh-funcs.el, mh-init.el, mh-mime.el, mh-pick.el:
- * mh-seq.el, mh-utils.el: Ran mh-unit. Continued copyright lines
- need to be indented.
-
+ * mh-e.el, mh-funcs.el, mh-init.el, mh-mime.el, mh-pick.el: *
+ mh-seq.el, mh-utils.el: Ran mh-unit. Continued copyright lines
+ need to be indented.
+
* mh-e.el: mh-folder-tick-face had been renamed to mh-folder-tick
but the code that invoked the face had not been updated. Tick
highlighting working again.
- * mh-seq.el (mh-non-seq-mode-line-annotation): Moved
+ * mh-seq.el (mh-non-seq-mode-line-annotation): Move
make-variable-buffer-local call to top level to avoid warnings in
CVS Emacs.
- * mh-comp.el (mh-insert-letter): Replaced deprecated read-input
+ * mh-comp.el (mh-insert-letter): Replace deprecated read-input
with read-string.
2005-10-09 Bill Wohler <wohler@newt.com>
2005-10-04 Bill Wohler <wohler@newt.com>
- * ChangeLog: Moved contents into ChangeLog.1 and trimmed.
-
+ * ChangeLog: Move contents into ChangeLog.1 and trim.
+
* ChangeLog.1: New file. Contains old ChangeLog.
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
+;; Local Variables:
+;; sentence-end-double-space: nil
+;; End:
+
;;; arch-tag: 87324964-69b6-4925-a3c2-9c1df53d7d51
buffer. Users should use \\[mh-smail] to compose mail.
Optional arguments for setting certain fields include TO,
-SUBJECT, and OTHER-HEADERS. Additional arguments are IGNORED."
+SUBJECT, and OTHER-HEADERS. Additional arguments are IGNORED.
+
+This function remains for Emacs 21 compatibility. New
+applications should use `mh-user-agent-compose'."
(mh-find-path)
(let ((mh-error-if-no-draft t))
(mh-send (or to "") "" (or subject ""))))
-;; XEmacs needs this:
+;;;###autoload
+(define-mail-user-agent 'mh-e-user-agent
+ 'mh-user-agent-compose 'mh-send-letter 'mh-fully-kill-draft
+ 'mh-before-send-letter-hook)
+
;;;###autoload
(defun mh-user-agent-compose (&optional to subject other-headers continue
switch-function yank-action
send-actions)
"Set up mail composition draft with the MH mail system.
-This is `mail-user-agent' entry point to MH-E.
+This is the `mail-user-agent' entry point to MH-E. This function
+conforms to the contract specified by `define-mail-user-agent'
+which means that this function should accept the same arguments
+as `compose-mail'.
The optional arguments TO and SUBJECT specify recipients and the
initial Subject field, respectively.
This variable should never be set.")
(defvar mh-folder-completion-map (copy-keymap minibuffer-local-completion-map))
-(define-key mh-folder-completion-map " " 'minibuffer-complete)
+(define-key mh-folder-completion-map " " 'minibuffer-complete) ;Why???
(defvar mh-speed-flists-inhibit-flag nil)
(let ((new-file-flag
(not (file-exists-p (mh-expand-file-name folder-name)))))
(cond ((and new-file-flag
+ can-create
(y-or-n-p
(format "Folder %s does not exist. Create it? "
folder-name)))
(mh-speed-add-folder folder-name))
(message "Creating %s...done" folder-name))
(new-file-flag
- (error "Folder %s is not created" folder-name))
+ (error "Folder %s does not exist" folder-name))
((not (file-directory-p (mh-expand-file-name folder-name)))
(error "\"%s\" is not a directory"
(mh-expand-file-name folder-name)))))
"PROCESS daemon that puts OUTPUT into a temporary buffer.
Any output from the process is displayed in an asynchronous
pop-up window."
- (set-buffer (get-buffer-create mh-log-buffer))
- (insert-before-markers output)
- (display-buffer mh-log-buffer))
+ (with-current-buffer (get-buffer-create mh-log-buffer)
+ (insert-before-markers output)
+ (display-buffer mh-log-buffer)))
(defun mh-exec-cmd-quiet (raise-error command &rest args)
"Signal RAISE-ERROR if COMMAND with ARGS fails.
(or end-point
(= (window-start start-window)
start-window-start)))
- (if (and on-link
- (or (not end-point) (= end-point start-point))
- (consp event)
- (or remap-double-click
- (and
- (not (eq mouse-1-click-follows-link 'double))
- (= click-count 0)
- (= (event-click-count event) 1)
- (not (input-pending-p))
- (or (not (integerp mouse-1-click-follows-link))
- (let ((t0 (posn-timestamp (event-start start-event)))
- (t1 (posn-timestamp (event-end event))))
- (and (integerp t0) (integerp t1)
- (if (> mouse-1-click-follows-link 0)
- (<= (- t1 t0) mouse-1-click-follows-link)
- (< (- t0 t1) mouse-1-click-follows-link))))))))
- (if (or (vectorp on-link) (stringp on-link))
- (setq event (aref on-link 0))
- (setcar event 'mouse-2)))
+ (when (and on-link
+ (or (not end-point) (= end-point start-point))
+ (consp event)
+ (or remap-double-click
+ (and
+ (not (eq mouse-1-click-follows-link 'double))
+ (= click-count 0)
+ (= (event-click-count event) 1)
+ (not (input-pending-p))
+ (or (not (integerp mouse-1-click-follows-link))
+ (let ((t0 (posn-timestamp (event-start start-event)))
+ (t1 (posn-timestamp (event-end event))))
+ (and (integerp t0) (integerp t1)
+ (if (> mouse-1-click-follows-link 0)
+ (<= (- t1 t0) mouse-1-click-follows-link)
+ (< (- t0 t1) mouse-1-click-follows-link))))))))
+ ;; Reselect previous selected window,
+ ;; so that the mouse-2 event runs in the same
+ ;; situation as if user had clicked it directly.
+ ;; Fixes the bug reported by juri@jurta.org on 2005-12-27.
+ (select-window original-window)
+ (if (or (vectorp on-link) (stringp on-link))
+ (setq event (aref on-link 0))
+ (setcar event 'mouse-2)))
(push event unread-command-events))))
;; Case where the end-event is not a cons cell (it's just a boring
:group 'paren-showing
:version "20.3")
+(defgroup paren-showing-faces ()
+ "Group for faces of Show Paren mode"
+ :group 'paren-showing
+ :group 'faces
+ :version "22.1")
+
(defface show-paren-match
'((((class color) (background light))
:background "turquoise") ; looks OK on tty (becomes cyan)
(t
:background "gray"))
"Show Paren mode face used for a matching paren."
- :group 'faces
- :group 'paren-showing)
+ :group 'show-paren-faces)
;; backward-compatibility alias
(put 'show-paren-match-face 'face-alias 'show-paren-match)
'((((class color)) (:foreground "white" :background "purple"))
(t (:inverse-video t)))
"Show Paren mode face used for a mismatching paren."
- :group 'faces
- :group 'paren-showing)
+ :group 'show-paren-faces)
;; backward-compatibility alias
(put 'show-paren-mismatch-face 'face-alias 'show-paren-mismatch)
(kill-buffer buf))
;; See if `parse-partial-sexp' returns the eighth element.
- (if (c-safe (>= (length (save-excursion (parse-partial-sexp 1 1))) 10))
+ (if (c-safe (>= (length (save-excursion (parse-partial-sexp (point) (point))))
+ 10))
(setq list (cons 'pps-extended-state list))
(error (concat
"CC Mode is incompatible with this version of Emacs - "
(setq name (nth 1 (split-string define "[( ]")))
(push (cons name define) gdb-define-alist))))
-(defun gdb-tooltip-print ()
+(defun gdb-tooltip-print (expr)
(tooltip-show
(with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
- (let ((string (buffer-string)))
+ (goto-char (point-min))
+ (let ((string
+ (if (search-forward "=" nil t)
+ (concat expr (buffer-substring (- (point) 2) (point-max)))
+ (buffer-string))))
;; remove newline for gud-tooltip-echo-area
(substring string 0 (- (length string) 1))))
(or gud-tooltip-echo-area tooltip-use-echo-area)))
(unless (looking-at "\\S-+.*(.*).*")
(gdb-enqueue-input
(list (concat gdb-server-prefix "print " expr "\n")
- 'gdb-tooltip-print))))))
+ `(lambda () (gdb-tooltip-print ,expr))))))))
(defconst gdb-source-file-regexp "\\(.+?\\), \\|\\([^, \n].*$\\)")
:version "22.1")
(defun gdb-speedbar-auto-raise (arg)
- "Toggle automatic raising of the speedbar for watch expressions."
+ "Toggle automatic raising of the speedbar for watch expressions.
+With arg, automatically raise speedbar iff arg is positive."
(interactive "P")
(setq gdb-speedbar-auto-raise
(if (null arg)
(if (string-equal gdb-version "pre-6.4")
(gdb-invalidate-registers)
- (gdb-get-changed-registers)
+ (if (gdb-get-buffer 'gdb-registers-buffer) (gdb-get-changed-registers))
(gdb-invalidate-registers-1))
(gdb-invalidate-memory)
`glasses-face' to `bold'. Then unreadable identifiers will have no separators,
but will have their capitals in bold."
:group 'glasses
- :type 'symbol
+ :type '(choice face (const nil))
:set 'glasses-custom-set
:initialize 'custom-initialize-default)
"The mouse movement event that led to a tooltip display.
This event can be examined by forms in GUD-TOOLTIP-DISPLAY.")
-(defun toggle-gud-tooltip-dereference ()
- "Toggle whether tooltips should show `* expr' or `expr'."
- (interactive)
- (setq gud-tooltip-dereference (not gud-tooltip-dereference))
- (when (interactive-p)
- (message "Dereferencing is now %s."
- (if gud-tooltip-dereference "on" "off"))))
+(defun gud-tooltip-dereference ()
+ "Toggle whether tooltips should show `* expr' or `expr'.
+With arg, dereference expr iff arg is positive."
+ (interactive "P")
+ (setq gud-tooltip-dereference
+ (if (null arg)
+ (not gud-tooltip-dereference)
+ (> (prefix-numeric-value arg) 0)))
+ (message "Dereferencing is now %s."
+ (if gud-tooltip-dereference "on" "off")))
(define-obsolete-function-alias 'tooltip-gud-toggle-dereference
- 'toggle-gud-tooltip-dereference "22.1")
+ 'gud-tooltip-dereference "22.1")
; This will only display data that comes in one chunk.
; Larger arrays (say 400 elements) are displayed in
(or gud-tooltip-echo-area tooltip-use-echo-area)))
(defun gud-tooltip-print-command (expr)
- "Return a suitable command to print the expression EXPR.
-If GUD-TOOLTIP-DEREFERENCE is t, also prepend a `*' to EXPR."
- (when gud-tooltip-dereference
- (setq expr (concat "*" expr)))
+ "Return a suitable command to print the expression EXPR."
(case gud-minor-mode
(gdba (concat "server print " expr))
((dbx gdbmi) (concat "print " expr))
(cdr define-elt)
(or gud-tooltip-echo-area tooltip-use-echo-area))
expr))))
+ (when gud-tooltip-dereference
+ (setq expr (concat "*" expr)))
(let ((cmd (gud-tooltip-print-command expr)))
(when (and gud-tooltip-mode (eq gud-minor-mode 'gdb))
(gud-tooltip-mode -1)
'((((class color)) (:background "hotpink"))
(t (:reverse-video t)))
"Face to use for highlighting leading spaces in Font-Lock mode."
- :group 'faces
:group 'makefile)
(put 'makefile-space-face 'face-alias 'makefile-space)
;; This needs to go along both with foreground and background colors (i.e. shell)
'((t (:inherit font-lock-function-name-face)))
"Face to use for additionally highlighting rule targets in Font-Lock mode."
- :group 'faces
:group 'makefile
:version "22.1")
;;'((((class color) (min-colors 88) (background light)) (:background "seashell1"))
;; (((class color) (min-colors 88) (background dark)) (:background "seashell4")))
"Face to use for additionally highlighting Shell commands in Font-Lock mode."
- :group 'faces
:group 'makefile
:version "22.1")
(((class color) (background dark)) (:background "DarkBlue"))
(t (:reverse-video t)))
"Face to use for additionally highlighting Perl code in Font-Lock mode."
- :group 'faces
:group 'makefile
:version "22.1")
;; For speed, use only integers and
;; reuse the list used last time.
(replace-match-data t real-match-data)))))
+
+ ;; Record whether the match is nonempty, to avoid an infinite loop
+ ;; repeatedly matching the same empty string.
+ (setq nonempty-match
+ (/= (nth 0 real-match-data) (nth 1 real-match-data)))
+
+ ;; If the match is empty, record that the next one can't be
+ ;; adjacent.
+
+ ;; Otherwise, if matching a regular expression, do the next
+ ;; match now, since the replacement for this match may
+ ;; affect whether the next match is adjacent to this one.
+ ;; If that match is empty, don't use it.
+ (setq match-again
+ (and nonempty-match
+ (or (not regexp-flag)
+ (and (looking-at search-string)
+ (let ((match (match-data)))
+ (and (/= (nth 0 match) (nth 1 match))
+ match))))))
+
;; Optionally ignore matches that have a read-only property.
(unless (and query-replace-skip-read-only
(text-property-not-all
- (match-beginning 0) (match-end 0)
+ (nth 0 real-match-data) (nth 1 real-match-data)
'read-only nil))
- ;; Record whether the match is nonempty, to avoid an infinite loop
- ;; repeatedly matching the same empty string.
- (setq nonempty-match
- (/= (nth 0 real-match-data) (nth 1 real-match-data)))
-
- ;; If the match is empty, record that the next one can't be
- ;; adjacent.
-
- ;; Otherwise, if matching a regular expression, do the next
- ;; match now, since the replacement for this match may
- ;; affect whether the next match is adjacent to this one.
- ;; If that match is empty, don't use it.
- (setq match-again
- (and nonempty-match
- (or (not regexp-flag)
- (and (looking-at search-string)
- (let ((match (match-data)))
- (and (/= (nth 0 match) (nth 1 match))
- match))))))
-
;; Calculate the replacement string, if necessary.
(when replacements
(set-match-data real-match-data)
(insert body))
t)))
-(define-mail-user-agent 'mh-e-user-agent
- 'mh-smail-batch 'mh-send-letter 'mh-fully-kill-draft
- 'mh-before-send-letter-hook)
-
(defun compose-mail (&optional to subject other-headers continue
switch-function yank-action send-actions)
"Start composing a mail message to send.
(custom-reevaluate-setting 'mouse-wheel-down-event)
(custom-reevaluate-setting 'mouse-wheel-up-event)
(custom-reevaluate-setting 'file-name-shadow-mode)
+ (custom-reevaluate-setting 'send-mail-function)
(normal-erase-is-backspace-setup-frame)
((not ,mode) (try-completion ,string (,fun ,string) ,predicate))
(t (test-completion ,string (,fun ,string) ,predicate)))))))
-(defmacro lazy-completion-table (var fun &rest args)
+(defmacro lazy-completion-table (var fun)
+ ;; We used to have `&rest args' where `args' were evaluated late (at the
+ ;; time of the call to `fun'), which was counter intuitive. But to get
+ ;; them to be evaluated early, we have to either use lexical-let (which is
+ ;; not available in subr.el) or use `(lambda (,str) ...) which prevents the use
+ ;; of lexical-let in the callers.
+ ;; So we just removed the argument. Callers can then simply use either of:
+ ;; (lazy-completion-table var (lambda () (fun x y)))
+ ;; or
+ ;; (lazy-completion-table var `(lambda () (fun ',x ',y)))
+ ;; or
+ ;; (lexical-let ((x x)) ((y y))
+ ;; (lazy-completion-table var (lambda () (fun x y))))
+ ;; depending on the behavior they want.
"Initialize variable VAR as a lazy completion table.
If the completion table VAR is used for the first time (e.g., by passing VAR
-as an argument to `try-completion'), the function FUN is called with arguments
-ARGS. FUN must return the completion table that will be stored in VAR.
+as an argument to `try-completion'), the function FUN is called with no
+arguments. FUN must return the completion table that will be stored in VAR.
If completion is requested in the minibuffer, FUN will be called in the buffer
from which the minibuffer was entered. The return value of
`lazy-completion-table' must be used to initialize the value of VAR."
- (declare (debug (symbol lambda-expr def-body)))
+ (declare (debug (symbol lambda-expr)))
(let ((str (make-symbol "string")))
`(dynamic-completion-table
(lambda (,str)
(when (functionp ,var)
- (setq ,var (,fun ,@args)))
+ (setq ,var (,fun)))
,var))))
(defmacro complete-in-turn (a b)
(defvar bibtex-strings
(lazy-completion-table bibtex-strings
- bibtex-parse-strings (bibtex-string-files-init))
+ (lambda ()
+ (bibtex-parse-strings (bibtex-string-files-init))))
"Completion table for BibTeX string keys.
Initialized from `bibtex-predefined-strings' and `bibtex-string-files'.")
(make-variable-buffer-local 'bibtex-strings)
(defvar bibtex-reference-keys
- (lazy-completion-table bibtex-reference-keys bibtex-parse-keys nil t)
+ (lazy-completion-table bibtex-reference-keys
+ (lambda () (bibtex-parse-keys nil t)))
"Completion table for BibTeX reference keys.
The CDRs of the elements are t for header keys and nil for crossref keys.")
(make-variable-buffer-local 'bibtex-reference-keys)
\(We finish by killing that buffer and setting the variable to nil.)
The buffer to mark them in is `flyspell-large-region-buffer'."
(let (words-not-found
- (ispell-otherchars (ispell-get-otherchars)))
+ (ispell-otherchars (ispell-get-otherchars))
+ (buffer-scan-pos flyspell-large-region-beg))
(with-current-buffer flyspell-external-ispell-buffer
(goto-char (point-min))
- ;; Loop over incorrect words.
+ ;; Loop over incorrect words, in the order they were reported,
+ ;; which is also the order they appear in the buffer being checked.
(while (re-search-forward "\\([^\n]+\\)\n" nil t)
;; Bind WORD to the next one.
(let ((word (match-string 1)) (wordpos (point)))
(* 100 (/ (float (point)) (point-max)))
word))
(with-current-buffer flyspell-large-region-buffer
- (goto-char flyspell-large-region-beg)
+ (goto-char buffer-scan-pos)
(let ((keep t))
;; Iterate on string search until string is found as word,
;; not as substring
(while keep
(if (search-forward word
flyspell-large-region-end t)
- (save-excursion
- (goto-char (- (point) 1))
- (let* ((flyword-prev-l (flyspell-get-word nil))
- (flyword-prev (car flyword-prev-l))
- (size-match (= (length flyword-prev) (length word))))
- (when (or
- ;; size matches, we are done
- size-match
- ;; Matches as part of a boundary-char separated word
- (member word
- (split-string flyword-prev ispell-otherchars))
- ;; ispell treats beginning of some TeX
- ;; commands as nroff control sequences
- ;; and strips them in the list of
- ;; misspelled words thus giving a
- ;; non-existent word. Skip if ispell
- ;; is used, string is a TeX command
- ;; (char before beginning of word is
- ;; backslash) and none of the previous
- ;; contitions match
- (and (not ispell-really-aspell)
- (save-excursion
- (goto-char (- (nth 1 flyword-prev-l) 1))
- (if (looking-at "[\\]" )
- t
- nil))))
- (setq keep nil)
- (flyspell-word)
- ;; Next search will begin from end of last match
- )))
+ (let* ((found-list
+ (save-excursion
+ ;; Move back into the match
+ ;; so flyspell-get-word will find it.
+ (forward-char -1)
+ (flyspell-get-word nil)))
+ (found (car found-list))
+ (found-length (length found))
+ (misspell-length (length word)))
+ (when (or
+ ;; Size matches, we really found it.
+ (= found-length misspell-length)
+ ;; Matches as part of a boundary-char separated word
+ (member word
+ (split-string found ispell-otherchars))
+ ;; Misspelling has higher length than
+ ;; what flyspell considers the
+ ;; word. Caused by boundary-chars
+ ;; mismatch. Validating seems safe.
+ (< found-length misspell-length)
+ ;; ispell treats beginning of some TeX
+ ;; commands as nroff control sequences
+ ;; and strips them in the list of
+ ;; misspelled words thus giving a
+ ;; non-existent word. Skip if ispell
+ ;; is used, string is a TeX command
+ ;; (char before beginning of word is
+ ;; backslash) and none of the previous
+ ;; contitions match
+ (and (not ispell-really-aspell)
+ (save-excursion
+ (goto-char (- (nth 1 found-list) 1))
+ (if (looking-at "[\\]" )
+ t
+ nil))))
+ (setq keep nil)
+ (flyspell-word)
+ ;; Search for next misspelled word will begin from
+ ;; end of last validated match.
+ (setq buffer-scan-pos (point))))
;; Record if misspelling is not found and try new one
(add-to-list 'words-not-found
(concat " -> " word " - "
+2005-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * url-cache.el (url-store-in-cache): Use save-current-buffer.
+
+ * url.el (url-configuration-directory): Don't autoload because the
+ default value needs to be computed at run-time, not dump-time.
+
2005-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
* url-cookie.el (url-cookie-write-file): Create parent dir.
"Store buffer BUFF in the cache."
(if (not (and buff (get-buffer buff)))
nil
- (save-excursion
+ (save-current-buffer
(and buff (set-buffer buff))
(let* ((fname (url-cache-create-filename (url-view-url t))))
(if (url-cache-prepare fname)
(provide 'url-cache)
-;;; arch-tag: 95b050a6-8e81-4f23-8e63-191b9d1d657c
+;; arch-tag: 95b050a6-8e81-4f23-8e63-191b9d1d657c
;;; url-cache.el ends here
(require 'url-util)
;; Fixme: customize? convert-standard-filename?
-;;;###autoload
(defvar url-configuration-directory
(cond
((file-directory-p "~/.url") "~/.url")
(defvar vc-annotate-mode-map
(let ((m (make-sparse-keymap)))
- (define-key m [menu-bar] (make-sparse-keymap "VC-Annotate"))
(define-key m "A" 'vc-annotate-revision-previous-to-line)
(define-key m "D" 'vc-annotate-show-diff-revision-at-line)
(define-key m "J" 'vc-annotate-revision-at-line)
m)
"Local keymap used for VC-Annotate mode.")
-(defvar vc-annotate-mode-menu nil
- "Local keymap used for VC-Annotate mode's menu bar menu.")
-
;; Header-insertion hair
(defcustom vc-static-header-alist
'(vc-annotate-font-lock-keywords t))
(view-mode 1))
-(defun vc-annotate-display-default (&optional ratio)
+(defun vc-annotate-display-default (ratio)
"Display the output of \\[vc-annotate] using the default color range.
-The color range is given by `vc-annotate-color-map', scaled by RATIO
-if present. The current time is used as the offset."
- (interactive "e")
+The color range is given by `vc-annotate-color-map', scaled by RATIO.
+The current time is used as the offset."
+ (interactive (progn (kill-local-variable 'vc-annotate-color-map) '(1.0)))
(message "Redisplaying annotation...")
- (vc-annotate-display
- (if ratio (vc-annotate-time-span vc-annotate-color-map ratio)))
+ (vc-annotate-display ratio)
(message "Redisplaying annotation...done"))
-(defun vc-annotate-car-last-cons (a-list)
- "Return car of last cons in association list A-LIST."
- (caar (last a-list)))
+(defun vc-annotate-oldest-in-map (color-map)
+ "Return the oldest time in the COLOR-MAP."
+ ;; Since entries should be sorted, we can just use the last one.
+ (caar (last color-map)))
(defun vc-annotate-display-autoscale (&optional full)
"Highlight the output of \\[vc-annotate] using an autoscaled color map.
(if (< date oldest)
(setq oldest date))))
(vc-annotate-display
- (vc-annotate-time-span ;return the scaled colormap.
- vc-annotate-color-map
- (/ (- (if full newest current) oldest)
- (vc-annotate-car-last-cons vc-annotate-color-map)))
+ (/ (- (if full newest current) oldest)
+ (vc-annotate-oldest-in-map vc-annotate-color-map))
(if full newest))
(message "Redisplaying annotation...done \(%s\)"
(if full
(setq vc-annotate-display-mode nil)
(vc-annotate-display-select))
:style toggle :selected (null vc-annotate-display-mode)]
- ,@(let ((oldest-in-map (vc-annotate-car-last-cons vc-annotate-color-map)))
+ ,@(let ((oldest-in-map (vc-annotate-oldest-in-map vc-annotate-color-map)))
(mapcar (lambda (element)
(let ((days (* element oldest-in-map)))
- `([,(format "Span %.1f days" days)
- (unless (and (numberp vc-annotate-display-mode)
- (= vc-annotate-display-mode ,days))
- (vc-annotate-display-select nil ,days))
- :style toggle :selected
- (and (numberp vc-annotate-display-mode)
- (= vc-annotate-display-mode ,days)) ])))
+ `[,(format "Span %.1f days" days)
+ (vc-annotate-display-select nil ,days)
+ :style toggle :selected
+ (eql vc-annotate-display-mode ,days) ]))
vc-annotate-menu-elements))
["Span ..."
- (let ((days
- (float (string-to-number
- (read-string "Span how many days? ")))))
- (vc-annotate-display-select nil days)) t]
+ (vc-annotate-display-select
+ nil (float (string-to-number (read-string "Span how many days? "))))]
"--"
["Span to Oldest"
(unless (eq vc-annotate-display-mode 'scale)
(if (not vc-annotate-parent-rev)
(vc-annotate-mode))
(cond ((null vc-annotate-display-mode)
- (vc-annotate-display-default vc-annotate-ratio))
- ;; One of the auto-scaling modes
+ ;; The ratio is global, thus relative to the global color-map.
+ (kill-local-variable 'vc-annotate-color-map)
+ (vc-annotate-display-default (or vc-annotate-ratio 1.0)))
+ ;; One of the auto-scaling modes
((eq vc-annotate-display-mode 'scale)
(vc-annotate-display-autoscale))
((eq vc-annotate-display-mode 'fullscale)
(vc-annotate-display-autoscale t))
((numberp vc-annotate-display-mode) ; A fixed number of days lookback
(vc-annotate-display-default
- (/ vc-annotate-display-mode (vc-annotate-car-last-cons
- vc-annotate-color-map))))
+ (/ vc-annotate-display-mode
+ (vc-annotate-oldest-in-map vc-annotate-color-map))))
(t (error "No such display mode: %s"
vc-annotate-display-mode))))
-;;;; (defun vc-BACKEND-annotate-command (file buffer) ...)
-;;;; Execute "annotate" on FILE by using `call-process' and insert
-;;;; the contents in BUFFER.
-
;;;###autoload
(defun vc-annotate (file rev &optional display-mode buf)
"Display the edit history of the current file using colors.
(rename-buffer temp-buffer-name t)
;; In case it had to be uniquified.
(setq temp-buffer-name (buffer-name))))
- (if (not (vc-find-backend-function vc-annotate-backend 'annotate-command))
- (error "Sorry, annotating is not implemented for %s"
- vc-annotate-backend))
(with-output-to-temp-buffer temp-buffer-name
(vc-call annotate-command file (get-buffer temp-buffer-name) rev))
(with-current-buffer temp-buffer-name
(defun vc-annotate-extract-revision-at-line ()
"Extract the revision number of the current line."
;; This function must be invoked from a buffer in vc-annotate-mode
- (save-window-excursion
- (vc-ensure-vc-buffer)
- (setq vc-annotate-backend (vc-backend buffer-file-name)))
(vc-call-backend vc-annotate-backend 'annotate-extract-revision-at-line))
(defun vc-annotate-revision-at-line ()
(previous-line)
(line-number-at-pos))))))))
-(defun vc-annotate-time-span (a-list span &optional quantize)
- "Apply factor SPAN to the time-span of association list A-LIST.
-Return the new alist.
-Optionally quantize to the factor of QUANTIZE."
- ;; Apply span to each car of every cons
- (if (not (eq nil a-list))
- (append (list (cons (* (car (car a-list)) span)
- (cdr (car a-list))))
- (vc-annotate-time-span (nthcdr (or quantize ; optional
- 1) ; Default to cdr
- a-list) span quantize))))
-
(defun vc-annotate-compcar (threshold a-list)
"Test successive cons cells of A-LIST against THRESHOLD.
Return the first cons cell with a car that is not less than THRESHOLD,
(defvar vc-annotate-offset nil)
-(defun vc-annotate-display (&optional color-map offset)
+(defun vc-annotate-display (ratio &optional offset)
"Highlight `vc-annotate' output in the current buffer.
-COLOR-MAP, if present, overrides `vc-annotate-color-map'.
+RATIO, is the expansion that should be applied to `vc-annotate-color-map'.
The annotations are relative to the current time, unless overridden by OFFSET."
- (if (and color-map (not (eq color-map vc-annotate-color-map)))
- (set (make-local-variable 'vc-annotate-color-map) color-map))
+ (if (/= ratio 1.0)
+ (set (make-local-variable 'vc-annotate-color-map)
+ (mapcar (lambda (elem) (cons (* (car elem) ratio) (cdr elem)))
+ vc-annotate-color-map)))
(set (make-local-variable 'vc-annotate-offset) offset)
(font-lock-mode 1))
+2005-12-28 Luc Teirlinck <teirllm@auburn.edu>
+
+ * minibuf.texi (Basic Completion): Update lazy-completion-table
+ examples for removal of ARGS argument.
+
2005-12-23 Richard M. Stallman <rms@gnu.org>
* text.texi (Undo): Restore some explanation from the version
bound to the value of @code{completion-ignore-case}.
@end defvar
-@defmac lazy-completion-table var fun &rest args
+@defmac lazy-completion-table var fun
This macro provides a way to initialize the variable @var{var} as a
collection for completion in a lazy way, not computing its actual
contents until they are first needed. You use this macro to produce a
value that you store in @var{var}. The actual computation of the
proper value is done the first time you do completion using @var{var}.
-It is done by calling @var{fun} with the arguments @var{args}. The
+It is done by calling @var{fun} with no arguments. The
value @var{fun} returns becomes the permanent value of @var{var}.
-Here are two examples of use:
+Here is an example of use:
@smallexample
-(defvar foo (lazy-completion-table foo make-my-alist 'global))
-
-(make-local-variable 'bar)
-(setq bar (lazy-completion-table foo make-my-alist 'local)
+(defvar foo (lazy-completion-table foo make-my-alist))
@end smallexample
@end defmac
feedback. This is not needed in the minibuffer; for minibuffer
completion, you can pass @code{nil}.
-This function is called by @code{minibuffer-completion-help}. The
+This function is called by @code{minibuffer-completion-help}. The
most common way to use it is together with
@code{with-output-to-temp-buffer}, like this:
+2005-12-28 Luc Teirlinck <teirllm@auburn.edu>
+
+ * org.texi: Remove blank line in @direntry. It is non-standard
+ and recursively produces blank lines all over the dir file (when
+ using Texinfo 4.8).
+
+2005-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * frames.texi (Dialog Boxes): Add x-gtk-show-hidden-files.
+
2005-12-24 Chong Yidong <cyd@stupidchicken.com>
* custom.texi (Custom Themes): `load-theme' always loads.
value. If Emacs is built with a Gtk+ version that has only one file dialog,
the setting of this variable has no effect.
+@vindex x-gtk-show-hidden-files
+ For Gtk+ version 2.4 and newer, Emacs use the Gtk+ file chooser dialog.
+Emacs adds a toggle button that enables and disables showing of hidden files
+(files starting with a dot) in that dialog. This variable controls if
+hidden files should be shown by default or not.
+
@node Tooltips
@section Tooltips
@cindex tooltips
@dircategory Emacs
@direntry
-* Org Mode: (org). outline-based notes management and organizer
-
+* Org Mode: (org). outline-based notes management and organizer.
@end direntry
@c Version and Contact Info
+2005-12-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_get_file_with_chooser): Changed message shown
+ in file chooser.
+
+2005-12-27 Richard M. Stallman <rms@gnu.org>
+
+ * lread.c (readevalloop): Set PT and ZV in the proper buffer,
+ not the current one.
+
+ * minibuf.c (Fminibuffer_message): Doc fix.
+ (read_minibuf): Set current_buffer->enable_multibyte_characters sooner.
+
+ * eval.c (do_autoload): Ignore elements of Vautoload_queue
+ where car is not symbol.
+
+2005-12-27 Kenichi Handa <handa@m17n.org>
+
+ * charset.c (lisp_string_width): Check multibyteness of STRING.
+
+2005-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * xfns.c: x_show_hidden_files, new variable.
+ (syms_of_xfns): Defvar it.
+
+ * gtkutil.c (xg_toggle_visibility_cb): New function.
+ (xg_get_file_with_chooser): Add toggle hidden files and a message
+ to the new file chooser dialog. Show hidden files if
+ x_show_hidden_files is non-zero.
+
+2005-12-26 Richard M. Stallman <rms@gnu.org>
+
+ * keyboard.h: Undo previous change.
+
+ * Makefile.in (undo.o): Undo previous change.
+
+ * undo.c: Undo previous change.
+
+2005-12-26 Luc Teirlinck <teirllm@auburn.edu>
+
+ * keyboard.h: extern last_point_position_window.
+
+ * undo.c: include keyboard.h.
+
+ * Makefile.in (undo.o): Depend on keyboard.h.
+
+2005-12-26 Richard M. Stallman <rms@gnu.org>
+
+ * commands.h (last_point_position_window): Declare.
+
+ * undo.c: Depend on window.h.
+ (record_point): Save old point from the correct window.
+
+ * keyboard.c (last_point_position_window): New variable.
+ (command_loop_1): Set last_point_position_window.
+ (syms_of_keyboard): Init it.
+
+ * Makefile.in (undo.o): Depend on window.h.
+
+2005-12-25 Richard M. Stallman <rms@gnu.org>
+
+ * eval.c (un_autoload): Expect (0 . OFEATURES) in Vautoload_queue
+ to undo a `provide'.
+
+ * fns.c (Fprovide): Store (0 . OFEATURES) in Vautoload_queue.
+
2005-12-25 Giorgos Keramidas <keramida@ceid.upatras.gr>
* m/amdx86-64.h [__FreeBSD__] (START_FILES, LIB_STANDARD):
keyboard.h $(config_h)
terminfo.o: terminfo.c $(config_h)
tparam.o: tparam.c $(config_h)
-undo.o: undo.c buffer.h commands.h $(config_h)
+undo.o: undo.c buffer.h commands.h window.h $(config_h)
/* This hack is to discard any space that cpp might put at the beginning
of UNEXEC when substituting it in. */
UNEXEC_ALIAS=UNEXEC
{
int len = SCHARS (string);
int len_byte = SBYTES (string);
+ /* This set multibyte to 0 even if STRING is multibyte when it
+ contains only ascii and eight-bit-graphic, but that's
+ intentional. */
+ int multibyte = len < len_byte;
const unsigned char *str = SDATA (string);
int i = 0, i_byte = 0;
int width = 0;
}
else if (dp)
{
- int c = STRING_CHAR_AND_LENGTH (str + i_byte, len - i_byte, bytes);
+ int c;
+ if (multibyte)
+ c = STRING_CHAR_AND_LENGTH (str + i_byte, len - i_byte, bytes);
+ else
+ c = str[i_byte], bytes = 1;
chars = 1;
val = DISP_CHAR_VECTOR (dp, c);
if (VECTORP (val))
else
{
chars = 1;
- PARSE_MULTIBYTE_SEQ (str + i_byte, len_byte - i_byte, bytes);
+ if (multibyte)
+ PARSE_MULTIBYTE_SEQ (str + i_byte, len_byte - i_byte, bytes);
+ else
+ bytes = 1;
thiswidth = ONE_BYTE_CHAR_WIDTH (str[i_byte]);
}
events until a non-ASCII event is acceptable as input. */
extern Lisp_Object unread_switch_frame;
-/* The value of point when the last command was executed. */
+/* The value of point when the last command was started. */
extern int last_point_position;
/* The buffer that was current when the last command was started. */
extern Lisp_Object last_point_position_buffer;
+/* The window that was selected when the last command was started. */
+extern Lisp_Object last_point_position_window;
+
/* Nonzero means ^G can quit instantly */
extern int immediate_quit;
/* Non-nil means record all fset's and provide's, to be undone
if the file being autoloaded is not fully loaded.
They are recorded by being consed onto the front of Vautoload_queue:
- (FUN . ODEF) for a defun, (OFEATURES . nil) for a provide. */
+ (FUN . ODEF) for a defun, (0 . OFEATURES) for a provide. */
Lisp_Object Vautoload_queue;
first = XCAR (queue);
second = Fcdr (first);
first = Fcar (first);
- if (EQ (second, Qnil))
- Vfeatures = first;
+ if (EQ (first, make_number (0)))
+ Vfeatures = second;
else
Ffset (first, second);
queue = XCDR (queue);
second = Fcdr (first);
first = Fcar (first);
- if (CONSP (second) && EQ (XCAR (second), Qautoload))
+ if (SYMBOLP (first) && CONSP (second) && EQ (XCAR (second), Qautoload))
Fput (first, Qautoload, (XCDR (second)));
queue = XCDR (queue);
CHECK_SYMBOL (feature);
CHECK_LIST (subfeatures);
if (!NILP (Vautoload_queue))
- Vautoload_queue = Fcons (Fcons (Vfeatures, Qnil), Vautoload_queue);
+ Vautoload_queue = Fcons (Fcons (make_number (0), Vfeatures),
+ Vautoload_queue);
tem = Fmemq (feature, Vfeatures);
if (NILP (tem))
Vfeatures = Fcons (feature, Vfeatures);
return gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (w));
}
+static void
+xg_toggle_visibility_cb (widget, data)
+ GtkWidget *widget;
+ gpointer data;
+{
+ GtkFileChooser *dialog = GTK_FILE_CHOOSER (data);
+ gboolean visible;
+ extern int x_gtk_show_hidden_files;
+ g_object_get (G_OBJECT (dialog), "show-hidden", &visible, NULL);
+ g_object_set (G_OBJECT (dialog), "show-hidden", !visible, NULL);
+ x_gtk_show_hidden_files = !visible;
+}
+
/* Read a file name from the user using a file chooser dialog.
F is the current frame.
PROMPT is a prompt to show to the user. May not be NULL.
int mustmatch_p, only_dir_p;
xg_get_file_func *func;
{
- GtkWidget *filewin;
+ char message[1024];
+
+ GtkWidget *filewin, *wtoggle, *wbox, *wmessage;
GtkWindow *gwin = GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f));
GtkFileChooserAction action = (mustmatch_p ?
GTK_FILE_CHOOSER_ACTION_OPEN :
GTK_FILE_CHOOSER_ACTION_SAVE);
+ extern int x_gtk_show_hidden_files;
if (only_dir_p)
action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
NULL);
gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (filewin), TRUE);
+ wbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (wbox);
+ wtoggle = gtk_check_button_new_with_label ("Show hidden files.");
+
+ if (x_gtk_show_hidden_files)
+ {
+ g_object_set (G_OBJECT (filewin), "show-hidden", TRUE, NULL);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wtoggle), TRUE);
+ }
+ gtk_widget_show (wtoggle);
+ g_signal_connect (G_OBJECT (wtoggle), "clicked",
+ G_CALLBACK (xg_toggle_visibility_cb), G_OBJECT(filewin));
+
+ message[0] = '\0';
+ if (action != GTK_FILE_CHOOSER_ACTION_SAVE)
+ strcat (message, "\nType C-l to display a file name text entry box.\n");
+ strcat (message, "\nIf you don't like this file selector, customize "
+ "use-file-dialog\nto turn it off, or type C-x C-f to visit files.");
+
+ wmessage = gtk_label_new (message);
+ gtk_widget_show (wmessage);
+ gtk_box_pack_start (GTK_BOX (wbox), wtoggle, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (wbox), wmessage, FALSE, FALSE, 0);
+ gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (filewin), wbox);
+
if (default_filename)
{
Lisp_Object file;
command is stored in this-original-command. It is nil otherwise. */
Lisp_Object Vthis_original_command;
-/* The value of point when the last command was executed. */
+/* The value of point when the last command was started. */
int last_point_position;
/* The buffer that was current when the last command was started. */
Lisp_Object last_point_position_buffer;
+/* The window that was selected when the last command was started. */
+Lisp_Object last_point_position_window;
+
/* The frame in which the last input event occurred, or Qmacro if the
last event came from a macro. We use this to determine when to
generate switch-frame events. This may be cleared by functions
prev_buffer = current_buffer;
prev_modiff = MODIFF;
last_point_position = PT;
+ last_point_position_window = selected_window;
XSETBUFFER (last_point_position_buffer, prev_buffer);
/* By default, we adjust point to a boundary of a region that
Fset (Qinput_method_use_echo_area, Qnil);
last_point_position_buffer = Qnil;
+ last_point_position_window = Qnil;
{
struct event_head *p;
/* Parent keymap of terminal-local key-translation-map instances. */
extern Lisp_Object Vkey_translation_map;
-
extern int parse_menu_item P_ ((Lisp_Object, int, int));
extern void echo_now P_ ((void));
if (b != 0 && NILP (b->name))
error ("Reading from killed buffer");
+
if (!NILP (start))
{
+ /* Switch to the buffer we are reading from. */
+ record_unwind_protect (save_excursion_restore, save_excursion_save ());
+ set_buffer_internal (b);
+
+ /* Save point in it. */
record_unwind_protect (save_excursion_restore, save_excursion_save ());
+ /* Save ZV in it. */
record_unwind_protect (save_restriction_restore, save_restriction_save ());
+ /* Those get unbound after we read one expression. */
+
+ /* Set point and ZV around stuff to be read. */
Fgoto_char (start);
Fnarrow_to_region (make_number (BEGV), end);
}
minibuffer = get_minibuffer (minibuf_level);
Fset_buffer (minibuffer);
+ /* If appropriate, copy enable-multibyte-characters into the minibuffer. */
+ if (inherit_input_method)
+ current_buffer->enable_multibyte_characters = enable_multibyte;
+
/* The current buffer's default directory is usually the right thing
for our minibuffer here. However, if you're typing a command at
a minibuffer-only frame when minibuf_level is zero, then buf IS
minibuf_prompt_width = (int) current_column (); /* iftc */
- /* If appropriate, copy enable-multibyte-characters into the minibuffer. */
- if (inherit_input_method)
- current_buffer->enable_multibyte_characters = enable_multibyte;
-
/* Put in the initial input. */
if (!NILP (initial))
{
int bestmatchsize = 0;
/* These are in bytes, too. */
int compare, matchsize;
- int type = HASH_TABLE_P (alist) ? 3
- : VECTORP (alist) ? 2
- : NILP (alist) || (CONSP (alist)
- && (!SYMBOLP (XCAR (alist))
- || NILP (XCAR (alist))));
+ int type = (HASH_TABLE_P (alist) ? 3
+ : VECTORP (alist) ? 2
+ : NILP (alist) || (CONSP (alist)
+ && (!SYMBOLP (XCAR (alist))
+ || NILP (XCAR (alist)))));
int index = 0, obsize = 0;
int matchcount = 0;
int bindcount = -1;
DEFUN ("minibuffer-message", Fminibuffer_message, Sminibuffer_message,
1, 1, 0,
doc: /* Temporarily display STRING at the end of the minibuffer.
-The text is displayed for two seconds,
+The text is displayed for a period controlled by `minibuffer-message-timeout',
or until the next input event arrives, whichever comes first. */)
(string)
Lisp_Object string;
#include "lisp.h"
#include "buffer.h"
#include "commands.h"
+#include "window.h"
/* Limits controlling how much undo information to keep. */
/* If we are just after an undo boundary, and
point wasn't at start of deleted range, record where it was. */
if (at_boundary
- && last_point_position != pt
- /* If we're called from batch mode, this could be nil. */
&& BUFFERP (last_point_position_buffer)
+ /* If we're called from batch mode, this could be nil. */
&& current_buffer == XBUFFER (last_point_position_buffer))
- current_buffer->undo_list
- = Fcons (make_number (last_point_position), current_buffer->undo_list);
+ {
+ /* If we have switched windows, use the point value
+ from the window we are in. */
+ if (! EQ (last_point_position_window, selected_window))
+ last_point_position = marker_position (XWINDOW (selected_window)->pointm);
+
+ if (last_point_position != pt)
+ current_buffer->undo_list
+ = Fcons (make_number (last_point_position), current_buffer->undo_list);
+ }
}
/* Record an insertion that just happened or is about to happen,
int x_use_old_gtk_file_dialog;
+/* If non-zero, by default show hidden files in the GTK file chooser. */
+
+int x_gtk_show_hidden_files;
+
/* The background and shape of the mouse pointer, and shape when not
over text or in the modeline. */
variable `use-file-dialog'. */);
x_use_old_gtk_file_dialog = 0;
+ DEFVAR_BOOL ("x-gtk-show-hidden-files", &x_gtk_show_hidden_files,
+ doc: /* *If non-nil, the GTK file chooser will by default show hidden files.
+Note that this is just the default, there is a toggle button on the file
+chooser to show or not show hidden files on a case by case basis. */);
+ x_gtk_show_hidden_files = 0;
+
Fprovide (intern ("x"), Qnil);
#ifdef USE_X_TOOLKIT