1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-07 15:00:34 -08:00
Commit graph

123 commits

Author SHA1 Message Date
Robert Pluim
008a04ac9a todo-mode.el: Restore point on setting item done (Bug#19727)
calendar/todo-mode.el (todo-item-done): When done items are hidden,
restore point to its location prior to invoking this command.
2015-02-04 22:38:52 +01:00
Paul Eggert
732fd4c7e1 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 09:18:06 -08:00
Stephen Berman
47f573a4bf todo-mode.el: Handle calling revert-buffer.
Fixes: debbugs:19187

* calendar/todo-mode.el: (todo-revert-buffer): New function.
(todo-modes-set-1): Use it as the buffer-local value of
revert-buffer-function.
2014-11-26 23:17:41 +01:00
Stephen Berman
ebf026bdd0 todo-mode.el: Handle calling todo-mode interactively.
Fixes: debbugs:19112

* calendar/todo-mode.el (todo-mode): If called interactively, just
display a message saying to call todo-show to enter Todo mode.
2014-11-26 23:00:42 +01:00
Paul Eggert
69402c0269 Spelling+grammar fix. 2014-08-01 08:44:42 -07:00
Stephen Berman
e72e661276 * calendar/todo-mode.el (todo-edit-item--next-key): If next key is
not a character, ignore it instead of raising an error.
2014-07-25 23:53:52 +02:00
Stephen Berman
6dd006a86d Fix code and doc involving marked items.
* todo-mode.texi (Marked Items): Correct omission of item deletion
from commands applying to both todo and done items.

* calendar/todo-mode.el: Fix handling of marked items and make
minor code improvements.
(todo-edit-item): If there are marked items, ensure user can only
invoke editing commands that work with marked items.
(todo-edit-item--text): When there are marked items, make it a
noop if invoked with point not on an item; otherwise, ensure it
applies only to item at point.
(todo-item-undone): If there are marked not-done items, return
point to its original position before signaling user error.
(todo--user-error-if-marked-done-item): New function.
(todo-edit-item--header, todo-edit-item--diary-inclusion)
(todo-item-done): Use it.
2014-07-25 18:01:05 +02:00
Stephen Berman
37a21453db * calendar/todo-mode.el (todo-set-top-priorities): Fix overwriting
of file-wide setting when changing category-wide setting.
2014-07-22 23:32:04 +02:00
Stephen Berman
41cd2704e2 * calendar/todo-mode.el: Fix wrong-type-argument error when
marking multiple consecutive items.
(todo-toggle-mark-item): Don't try to mark the empty lines at the
end of the todo and done items sections.  Note in doc string that
items marked by passing a numeric prefix argument can include the
last todo and first done items.
(todo-mark-category): Don't try to mark the empty line between the
todo and done items sections.
2014-07-06 22:28:38 +02:00
Stephen Berman
95fab4ba13 * calendar/todo-mode.el: Fix two bugs. Shorten Commentary and
refer to the Todo mode Info manual.  Update the comment on
requiring cl-lib.
(todo-find-filtered-items-file): Add todo-prefix overlays.
(todo-filter-items): Reorder a let-bound variable to avoid a
wrong-type-argument error on canceling the file choice dialog.
2014-07-04 17:53:25 +02:00
Stephen Berman
b9d484082c * calendar/todo-mode.el (todo-set-top-priorities): Fix logic to
account for file-wide setting of todo-top-priorities-overrides.
Make code a bit cleaner.
2014-06-27 17:15:30 +02:00
Stephen Berman
fe9f42eb6e * calendar/todo-mode.el (todo-prefix-overlays): If there is no
category-wide setting of todo-top-priorities-overrides, check for
a file-wide setting and fontify accordingly.
2014-06-26 21:22:08 +02:00
Stephen Berman
a5128e3ded * calendar/todo-mode.el: Fix two bugs.
(todo-insert-item--basic): If user cancels item insertion to
another category before setting priority, show original category
whether it is in the same or a different file.
(todo-set-item-priority): After selecting category, instead of
moving point to top, which extends an active region, restore it.
2014-06-25 14:06:00 +02:00
Stephen Berman
903204bb53 todo-mode.el: Remove dependence on auto-mode-alist.
* calendar/todo-mode.el: Remove dependence on auto-mode-alist,
to avoid errors when trying to create or visit a file foo.todo
located outside to todo-directory, and to allow having such files
without them being tied to Todo mode.
(todo-show, todo-move-category, todo-merge-category, todo-find-archive)
(todo-archive-done-item, todo-find-filtered-items-file)
(todo-filter-items, todo-find-item, todo-diary-goto-entry)
(todo-category-completions, todo-read-category): When visiting a
Todo file, make sure we're in the right mode and the buffer local
variables are set.
(todo-make-categories-list, todo-reset-nondiary-marker)
(todo-reset-done-string, todo-reset-comment-string): After
processing all Todo files, kill the buffers of those files that
weren't being visited before the processing.
(todo-display-as-todo-file, todo-add-to-buffer-list)
(todo-visit-files-commands): Comment out.
(todo-modes-set-3, todo-mode): Comment out additions to find-file-hook.
(auto-mode-alist): Remove add-to-list calls making Todo file
extensions unrestrictedly tied to Todo modes.

* doc/misc/todo-mode.texi: Update in light of changes due to bug#17482.
Replace numerous mistaken uses of literal quotes with proper
Texinfo markup.
(Todo Mode Entry Points): Comment out reference to using find-file
or Dired to visit Todo files, since this has been disabled (bug#17482).
2014-05-23 18:54:35 +02:00
Stephen Berman
982ccf0398 * calendar/todo-mode.el: Miscellaneous bug fixes.
(todo-delete-file): When deleting an archive but not its todo
file, make sure to update the todo file's category sexp.
(todo-move-category): Keep the moved category's name unless the
file moved to already has a category with that name.  If the
numerically last category of the source file was moved, make the
first category current to avoid selecting a nonexisting category.
(todo-merge-category): Fix implementation to make merging to a
category in another file work as documented.  Eliminate now
insufficient and unnecessary renaming of archive category, correct
document string accordingly, and clarify it.  If the numerically
last category of the source file was merged, make the first
category current to avoid selecting a nonexisting category.
(todo-archive-done-item): When there are marked items and point
happens to be on an unmarked item, ignore the latter.  Don't leave
point below last item after archiving marked items.
(todo-unarchive-items): Fix logic to ensure unarchiving an item
from an archive with only one category deletes the archive only
when the category is empty after unarchiving.  Make sure the todo
file's category sexp is updated.
(todo-read-file-name): Allow an existing file name even when it is
not required (todo-move-category needs this to work as documented).
(todo-add-file): Call todo-validate-name to reject the name of an
existing todo file (needed due to fix in todo-read-file-name).
(todo-reset-nondiary-marker): Also reset in filtered items files.
(todo-reset-done-string, todo-reset-comment-string): Also reset in
regexp filtered items files.
(todo-reset-highlight-item): Also reset in filtered items files.
Fix incorrect variable reference in document string.
2014-05-23 14:10:50 +02:00
Stephen Berman
472c15bf14 * calendar/todo-mode.el (todo-insert-item-from-calendar):
Correct argument list to conform to todo-insert-item--basic.
2014-05-09 09:50:42 +02:00
Stephen Berman
1ddb2150e6 todo-mode.el: Don't drop full parameter list.
* calendar/todo-mode.el (todo-insert-item--apply-args): When all
four slots of the parameter list are filled, make sure to pass it
to the argument list of todo-insert-item--basic.
2014-05-07 11:31:27 +02:00
Stephen Berman
7bd9ce641f Add a warning and a menu.
* calendar/todo-mode.el (todo-edit-file): Use display-warning.
(todo-menu): Uncomment and update.
2014-05-02 16:10:11 +02:00
Stephen Berman
aed4b12d6a Extend todo item insertion UI to item editing.
* calendar/todo-mode.el: Reimplement item editing to have the same
basic user interface as item insertion, and make small UI and
larger internal improvements to the latter.
(todo-insert-item): Add reference to the Todo mode user manual to
the documentation string.
(todo-insert-item--basic): Rename from todo-basic-insert-item and
adjust all callers.  Change signature to combine diary and
nonmarking arguments.  Incorporate functionality of deleted item
copying command and add error checking.  Remove detailed
descriptions of the arguments from the documentation string, since
this is treated in the Todo mode user manual.
(todo-copy-item, todo-edit-multiline-item)
(todo-edit-done-item-comment, todo-edit-item-header)
(todo-edit-item-time, todo-edit-item-date-from-calendar)
(todo-edit-item-date-to-today, todo-edit-item-date-day-name)
(todo-edit-item-date-year, todo-edit-item-date-month)
(todo-edit-item-date-day, todo-edit-item-diary-nonmarking):
Remove.
(todo-edit-item): Reimplement as wrapper command for
todo-edit-item--next-key and make it distinguish done and not done
todo items.
(todo-edit-item--text): New function, replacing old command
todo-edit-item and incorporating deleted commands
todo-edit-multiline-item and todo-edit-done-item-comment.
(todo-edit-item--header): Rename from todo-basic-edit-item-header.
Use only numeric value of prefix argument.  Remove detailed
descriptions of the arguments from the documentation string, since
this is treated in the Todo mode user manual.
(todo-edit-item--diary-inclusion): New function, replacing old
command todo-edit-item-diary-inclusion and incorporating and fixing
functionality of deleted command todo-edit-item-diary-nonmarking,
making sure to remove todo-nondiary-marker when adding
diary-nonmarking-symbol.
(todo-edit-category-diary-inclusion): Make sure to delete
diary-nonmarking-symbol when adding todo-nondiary-marker.
(todo-edit-category-diary-nonmarking): Fix indentation.
(todo-insert-item--parameters): Group diary and nonmarking
parameters together.
(todo-insert-item--apply-args): Adjust to signature of
todo-insert-item--basic and incorporate copy parameter.
Make small code improvements.
(todo-insert-item--next-param): Improve prompt and adjust it to
new parameter grouping.  Remove obsolete code.
(todo-edit-item--param-key-alist)
(todo-edit-item--date-param-key-alist)
(todo-edit-done-item--param-key-alist): New defconsts.
(todo-edit-item--prompt): New variable.
(todo-edit-item--next-key): New function.
(todo-key-bindings-t): Bind "e" to todo-edit-item.  Remove
bindings of deleted commands.
2014-05-02 15:58:23 +02:00
Paul Eggert
ae93878a92 Spelling fixes. 2014-01-13 14:21:32 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Chong Yidong
8cd22a0818 Rename set-temporary-overlay-map -> set-transient-map
* lisp/subr.el (set-transient-map): Rename from
set-temporary-overlay-map.  Doc fix.

* lisp/face-remap.el (text-scale-adjust):
* lisp/indent.el (indent-rigidly):
* lisp/kmacro.el (kmacro-call-macro):
* lisp/minibuffer.el (minibuffer-force-complete):
* lisp/repeat.el (repeat):
* lisp/simple.el (universal-argument--mode):
* lisp/calendar/todo-mode.el (todo-insert-item--next-param):
* lisp/progmodes/f90.el (f90-abbrev-start): Callers changed.

* lisp/org/org.el (orgstruct-make-binding): Call set-transient-map
instead of old name set-temporary-overlay-map.

* doc/lispref/keymaps.texi (Controlling Active Maps): Renamed
set-temporary-overlay-map to set-transient map.  Doc fixes.
(Searching Keymaps): The transient keymap takes precedence.
2013-12-23 11:59:10 +08:00
Stephen Berman
f3a66082f9 New implementation of Todo item insertion commands and key bindings.
* calendar/todo-mode.el: New implementation of item insertion
commands and key bindings.
(todo-key-prompt): New face.
(todo-insert-item): New command.
(todo-insert-item--parameters): New defconst, replacing defvar
todo-insertion-commands-args-genlist.
(todo-insert-item--param-key-alist): New defconst, replacing
defvar todo-insertion-commands-arg-key-list.
(todo-insert-item--keyof, todo-insert-item--this-key): New defsubsts.
(todo-insert-item--argsleft, todo-insert-item--apply-args)
(todo-insert-item--next-param): New functions.
(todo-insert-item--args, todo-insert-item--argleft)
(todo-insert-item--argsleft, todo-insert-item--newargsleft):
New variables.
(todo-key-bindings-t): Change binding of "i" from
todo-insertion-map to todo-insert-item.
(todo-powerset, todo-gen-arglists, todo-insertion-commands-args)
(todo-insertion-command-name, todo-insertion-commands-names)
(todo-define-insertion-command, todo-insertion-commands)
(todo-insertion-key-bindings, todo-insertion-map): Remove.
2013-12-20 18:21:12 +01:00
Stephen Berman
2f99433b94 Todo mode bug fixes and new features.
* calendar/todo-mode.el: Bug fixes and new features.
(todo-toggle-item-highlighting): Use eval-and-compile instead of
eval-when-compile.
(todo-move-category): Allow choosing a non-existing todo file to
move the category to, and create that file.
(todo-default-priority): New user option.
(todo-set-item-priority): Use it.
(todo-desktop-save-buffer, todo-restore-desktop-buffer): New functions.
(desktop-restore-file-buffer): Declare.
(desktop-buffer-mode-handlers): Add todo-restore-desktop-buffer.
(todo-modes-set-2): Locally set desktop-save-buffer to
todo-desktop-save-buffer.
(todo-mode, todo-archive-mode, todo-filtered-items-mode)
(auto-mode-alist): Add autoload cookie.

Fixes: debbugs:15225
2013-12-20 18:16:47 +01:00
Stephen Berman
d5a845b4d0 * calendar/todo-mode.el (todo-rename-file): Fix incorrect use of
replace-regexp-in-string and inadvertent omissions in previous change.
(todo-filter-items): Ensure only file names are comma-separated in
renamed filtered items buffer.
2013-07-29 00:34:32 +02:00
Stephen Berman
ae43b66aba * calendar/todo-mode.el: Add command to rename todo files.
(todo-rename-file): New command.
(todo-key-bindings-t): Add key binding for it.  Change the
bindings of todo-filter-regexp-items(-multifile) to use `x'
instead of `r', since the latter is better suited to the new
renaming command.
2013-07-27 17:58:56 +02:00
Stephen Berman
d610f6dd0f * calendar/todo-mode.el: Add handling of file deletion, both by
mode command and externally.  Fix various related bugs.  Clarify
Commentary and improve some documentation strings and code.
(todo-delete-file): New command.
(todo-check-file): New function.
(todo-show): Handle external deletion of the file we're trying to
show.  Replace called-interactively-p by an optional
prefix argument to avoid problematic interaction with catch form
when byte compiled (bug#14702).
(todo-quit): Handle external deletion of the archive's todo file.
Make sure the buffer that was visiting the archive file is still
live before trying to bury it.
(todo-category-completions): Handle external deletion of any
category completion files.
(todo-jump-to-category, todo-basic-insert-item): Recalculate list
of todo files, in case of external deletion.
(todo-add-file): Replace unnecessary setq by let-binding.
(todo-find-archive): Check whether there are any archives.
Replace unnecessary setq by let-binding.
(todo-archive-done-item): Use find-file-noselect to get the
archive buffer whether or not the archive already exists.  Remove
superfluous code.  Use file size instead of buffer-file-name to
check if the archive is new; if it is, update list of archives.
(todo-default-todo-file): Allow nil to be a valid value for when
there are no todo files.
(todo-reevaluate-default-file-defcustom): Use corrected definition
of todo-default-todo-file.
(todo-key-bindings-t+a+f): Add key binding for todo-delete-file.
(todo-delete-category, todo-show-categories-table)
(todo-category-number): Clarify comment.
(todo-filter-items): Clarify documentation string.
(todo-show-current-file, todo-display-as-todo-file)
(todo-reset-and-enable-done-separator): Tweak documentation string.
(todo-done-separator): Make separator length window-width, since
bug#2749 is now fixed.

Fixes: debbugs:14688
2013-07-05 16:03:35 +02:00
Paul Eggert
adc5dbceb0 Spelling fixes. 2013-06-30 08:10:33 -07:00
Stephen Berman
ebc83885b7 * todo-mode.el: Change two occurrences of "document string" to
"documentation string".
2013-06-21 16:07:46 +02:00
Stephen Berman
4fe738d374 * todo-mode.el: Clean up doc strings, comments and prompt strings,
mainly by changing "Todo" to "todo" when it is not part of a mode
name or does not begin a sentence.
2013-06-21 16:02:39 +02:00
Stephen Berman
03e6d46963 * todo-mode.el: Offer to convert legacy file. Update commentary.
(todo-show): If a legacy file is found and no new todo file
exists, offer to convert it and show it.  Restore autoload cookie.
(todo-convert-legacy-files): Delete unused local variable.
If todo-directory doesn't exist, create it before writing to file.
Check format of converted files.  Prompt to show converted todo file.
2013-06-21 15:23:51 +02:00
Stephen Berman
e2ff2f69b9 * todo-mode.el (todo-convert-legacy-files): Eliminate last change,
since it couldn't avoid namespace clashes, and instead let local
variables hold the legacy values used for conversion.  This also
does not interfere with live todo buffers.
2013-06-19 22:11:03 +02:00
Stephen Berman
ddce2e3ed1 * todo-mode.el: Rename from todos.el, change all occurrences of
"todos-" prefix to "todo-" and references to "Todos" to "Todo" or
"Todo mode".
2013-06-19 21:59:26 +02:00
Stephen Berman
18b4baa8a4 * calendar/todo-mode.el: Rename to otodo-mode.el and move to obsolete/. 2013-06-19 21:50:32 +02:00
Stefan Monnier
940e509914 Use locate-user-emacs-file.
* lisp/type-break.el (type-break-file-name):
* lisp/textmodes/remember.el (remember-data-file):
* lisp/strokes.el (strokes-file):
* lisp/shadowfile.el (shadow-initialize):
* lisp/saveplace.el (save-place-file):
* lisp/ps-bdf.el (bdf-cache-file):
* lisp/progmodes/idlwave.el (idlwave-config-directory):
* lisp/net/quickurl.el (quickurl-url-file):
* lisp/international/kkc.el (kkc-init-file-name):
* lisp/ido.el (ido-save-directory-list-file):
* lisp/emulation/viper.el (viper-custom-file-name):
* lisp/emulation/vip.el (vip-startup-file):
* lisp/calendar/todo-mode.el (todo-file-do, todo-file-done, todo-file-top):
* lisp/calendar/timeclock.el (timeclock-file): Use locate-user-emacs-file.
2013-03-11 22:08:21 -04:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert
e1dbe924b5 Spelling fixes. 2011-11-19 18:29:42 -08:00
Paul Eggert
da6062e6ea Spelling fixes. 2011-11-14 23:55:13 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Juanma Barranquero
528b9ea9ff Simplify by using `define-derived-mode'.
* info.el (Info-mode):
* calendar/todo-mode.el (todo-mode):
* play/gomoku.el (gomoku-mode): Define with `define-derived-mode'.
  (gomoku-mode-map): Move initialization into declaration.
2010-04-15 03:12:20 +02:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Stefan Monnier
7e83e8b459 (todo-add-category): Don't hardcode point-min==1.
(todo-top-priorities): Only display-buffer when called interactively.
(todo-item-start): Don't save excursion point.
(todo-item-end): Be slightly more careful.  Add `include-sep' arg.
(todo-insert-item-here, todo-file-item, todo-remove-item):
Adjust uses of todo-item-start and todo-item-end.
2009-11-03 22:24:34 +00:00
Glenn Morris
d566f22825 Stephen Berman <stephen.berman at gmx.net>
(todo-edit-item): Signal an error if there is no item to edit. (Bug#4820)
(todo-top-priorities): Restore point and restore narrowing in Todo
buffer. (Bug#4820)
2009-10-31 02:22:30 +00:00
Juanma Barranquero
32226619c5 Use called-interactively-p' instead of interactive-p'. 2009-10-02 03:48:36 +00:00
Glenn Morris
55d27f4157 (calendar-current-date): Update declaration. 2009-07-21 05:02:36 +00:00
Chong Yidong
3a67b38766 Update Oliver Seidel's email address, and add Stephen Berman as
maintainer.
2009-01-29 15:19:44 +00:00