Commit Graph

94 Commits

Author SHA1 Message Date
Nicolas Goaziou b9962b7829 org-indent: externalize a function for better code readability
* lisp/org-indent.el (org-indent-set-line-properties): new function.
(org-indent-add-properties): externalize worker function.
2011-08-18 15:45:02 +02:00
Nicolas Goaziou d40643f949 org-indent: `org-indent-indent-buffer' acts on accessible part of buffer.
* lisp/org-indent.el (org-indent-indent-buffer): take into account narrowing.
2011-08-18 15:45:02 +02:00
Nicolas Goaziou 4d780baa11 org-indent: corrections to comments and doc-strings 2011-08-18 15:45:02 +02:00
Nicolas Goaziou ff5a081002 org-indent: refactoring 2011-08-18 15:45:01 +02:00
Nicolas Goaziou 4ef4bcd533 org-indent: handle more modifications of headlines
* lisp/org-indent.el (org-indent-modified-headline-flag): renamed from
  `org-indent-deleted-headline-flag'
(org-indent-notify-modified-headline): renamed from
`org-indent-notify-deleted-headline'. Handle situations when the stars
of an headline are modified.
(org-indent-refresh-maybe): remove case now handled by previous function.
(org-indent-mode): apply renames.
2011-08-18 15:45:01 +02:00
Nicolas Goaziou 0fd4c59367 Cleaner handling of inline tasks under org-indent-mode
* lisp/org-indent.el (org-indent-inlinetask-first-star): new variable.
(org-indent-add-properties): set the first star of inline-tasks'
virtual indentation in `org-warning' face.
* lisp/org-inlinetask.el (org-inlinetask-insert-task): create a new
  inline-task slightly differently, so virtual indentation can be
  applied normally.
2011-08-18 15:45:01 +02:00
Nicolas Goaziou acd6ed2140 org-indent: implement asynchronous initialization
* lisp/org-indent.el (org-indent-initial-marker,
  org-indent-initial-timer, org-indent-initial-lock): new variables.
(org-indent-mode): at initialization, start an idle timer to indent
the whole buffer. When the user is asking for control, interrupt the
process, and resume at the same point when idle again.
(org-indent-initialize-buffer): new function.
(org-indent-add-properties): throw an interrupt when indentation of
buffer is stopped during initialization.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou 9479991d4c org-indent: modify messages sent
* lisp/org-indent.el (org-indent-indent-buffer): send more appropriate
  messages .
2011-08-18 10:41:31 +02:00
Nicolas Goaziou a7600032d0 org-indent: remove unused variable org-indent-outline-re
* lisp/org-indent.el (org-indent-notify-deleted-headline,
  org-indent-refresh-maybe): replace `org-indent-outline-re' with
  `org-outline-regexp-bol'.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou b955d7539f org-indent: pay attention to org-indent-max and org-indent-max-levels
* lisp/org-indent.el (org-indent-max-levels): modify default value and
  add comment.
  (org-indent-add-properties): pay attention to org-indent-max and
  org-indent-max-levels values.
  (org-indent-refresh-maybe): refactor code to avoid an unnecessary
  save excursion.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou 818c449e2c org-indent: remove refresh timer
* lisp/org-indent.el (org-indent-fix-section-after-idle-time): remove
  variable.
  (org-indent-initialize): remove timer.
  (org-indent-add-properties): refactor code.
  (org-indent-refresh-subtree, org-indent-refresh-section,
  org-indent-refresh-buffer,org-indent-set-initial-properties): remove
  functions.
  (org-indent-deleted-headline): new variable.
  (org-indent-notify-deleted-headline,org-indent-refresh-maybe): new
  functions.
  (org-indent-mode): insert new functions into a hook.
2011-08-18 10:41:31 +02:00
Nicolas Goaziou 4771caa09c Improve compatibility between org-indent-mode and visual-line-mode
* lisp/org-indent.el (org-indent-mode): completely refresh buffer
  before starting org-indent-mode. Also set idle timer to refresh only
  visible portion of buffer, and refresh the subtree instead of
  section when promoting or demoting it.
  (org-indent-add-properties): rewrite function to proceed line by
  line, as required by `wrap-prefix' specificity.
  (org-indent-refresh-section,org-indent-refresh-subtree): refactor.
  (org-indent-refresh-view): new function.
  (org-indent-refresh-to, org-indent-refresh-section): removed
  functions.
* lisp/org.el (org-unfontify-region): do not remove prefix properties
  when unfontifying a region.
2011-08-18 10:41:30 +02:00
Bastien Guerry 58f1dbccf8 Remove the "Version" header in Org libraries (leave it in org.el).
Also remove blank lines before the ";;; org*el ends here" declarations.

Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.

Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
2011-08-17 14:42:34 +02:00
Bastien Guerry 7a18799e25 Remove arch-tag at the bottom of files. 2011-08-15 20:04:38 +02:00
Bastien Guerry 904ed18bc2 Fix copyright years for elisp files in core and contrib.
Also add "This file is not part of GNU Emacs." when this is the case.
2011-08-15 15:23:11 +02:00
emacs 7340cee33a Update website to show 7.7 as current release 2011-07-28 10:33:35 +00:00
Bastien Guerry c3748fcd80 Don't use `outline-regexp' anymore.
Use `org-outline-regexp' instead or `outline-regexp'.  Also use the
new defconst `org-outline-regexp-bol' to match `org-outline-regexp'
at the beginning of line.

* org.el (org-outline-regexp-bol): New defconst.
(org-outline-level, org-set-font-lock-defaults, org-cycle)
(org-overview, org-content, org-flag-drawer)
(org-first-headline-recenter, org-insert-todo-heading)
(org-map-region, org-move-subtree-down, org-paste-subtree)
(org-kill-is-subtree-p, org-context-p, org-refile)
(org-refile-new-child, org-toggle-comment, org-todo)
(org-add-planning-info, org-add-log-setup, org-scan-tags)
(org-set-tags, org-insert-property-drawer)
(org-prepare-agenda-buffers, org-preview-latex-fragment)
(org-speed-command-default-hook, org-check-for-hidden)
(org-toggle-item, org-toggle-heading)
(org-indent-line-function, org-set-autofill-regexps)
(org-fill-paragraph, org-toggle-fixed-width-section)
(org-yank-generic, org-yank-folding-would-swallow-text)
(org-first-sibling-p, org-goto-sibling)
(org-goto-first-child, org-show-entry): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-remember.el (org-remember-handler): Use
`org-outline-regexp-bol'.

* org-mouse.el (org-mouse-match-todo-keyword, org-mode-hook)
(org-mouse-move-tree, org-mouse-transform-to-outline): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-macs.el (org-with-limited-levels)
(org-get-limited-outline-regexp): Use `org-outline-regexp'.

* org-indent.el (org-indent-outline-re)
(org-indent-refresh-section, org-indent-refresh-to): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-html.el (org-export-as-html): Use
`org-outline-regexp-bol'.

* org-footnote.el (org-footnote-at-definition-p)
(org-footnote-normalize): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-exp.el (org-export-preprocess-string): Don't redefine
`outline-regexp'.

* org-docbook.el (org-export-as-docbook): Use
`org-outline-regexp-bol'.

* org-colview.el (org-columns, org-columns-compute): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-colview-xemacs.el (org-columns, org-columns-compute):
Use `org-outline-regexp-bol'.

* org-clock.el (org-clock-insert-selection-line)
(org-clock-in, org-clock-out, org-dblock-write:clocktable):
Use `org-outline-regexp' and `org-outline-regexp-bol'.

* org-ascii.el (org-export-as-ascii)
(org-export-ascii-push-links): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-archive.el (org-archive-to-archive-sibling)
(org-archive-all-done): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-agenda.el (org-agenda, org-search-view)
(org-agenda-list-stuck-projects, org-agenda-get-timestamps)
(org-agenda-get-progress, org-agenda-get-blocks): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
2011-07-18 09:42:11 +02:00
Bastien Guerry 9c05a7c781 Bump to version 7.6 2011-07-06 21:06:03 +02:00
Bastien Guerry ff038caae5 Revert "Silence byte-compiler with a new alias: filter-buffer-substring-functions."
This reverts commit 5a2eec3207.

The replacement of `buffer-substring-filters' by
`filter-buffer-substring-functions' requires some rewriting
of functions like `org-indent-remove-properties-from-string'.
2011-07-06 20:56:39 +02:00
Bastien Guerry 737241402a org-indent.el: tiny docstring fix. 2011-07-06 20:49:55 +02:00
Bastien Guerry 5a2eec3207 Silence byte-compiler with a new alias: filter-buffer-substring-functions.
When `filter-buffer-substring-functions' is not a known variable to
Emacs (for versions < 24.1), we alias it to `buffer-substring-filters'.
2011-07-05 12:00:15 +02:00
Eric Schulte fa59060617 Revert "Globally replace buffer-substring-filters with filter-buffer-substring-functions."
This reverts commit 66e8a4b09a.
2011-06-16 10:29:24 -07:00
Eric Schulte 66e8a4b09a Globally replace buffer-substring-filters with filter-buffer-substring-functions.
* lisp/org-agenda.el (org-agenda-mode): Globally replace
  buffer-substring-filters with filter-buffer-substring-functions.
* lisp/org-indent.el (org-indent-mode): Globally replace
  buffer-substring-filters with filter-buffer-substring-functions.
2011-06-14 12:45:19 -07:00
emacs 11a10bdfe7 Update website to show 7.5 as current release 2011-03-07 14:27:39 +00:00
Carsten Dominik 7666ba421f Version number back to 7.4 2010-12-10 18:49:40 +01:00
Carsten Dominik 76a25715c9 Bump version number to 7.5 2010-12-10 18:43:10 +01:00
Carsten Dominik 1330048ba0 Keep byte compiler happy 2010-12-10 14:13:05 +01:00
Nicolas Goaziou 85591ffcbf Fix indentation of text after an inline task in indent-mode
* org-inlinetask.el (org-inlinetask-get-task-level): new function
* org-indent.el (org-indent-add-properties): find true level of indentation wrt inline tasks.
2010-12-06 19:13:09 +01:00
Bastien Guerry 6630edbd0f Set version number to 7.3 2010-11-07 14:52:14 +01:00
Carsten Dominik 82af72eef7 Push version number to 7.02trans 2010-10-29 09:11:46 +02:00
Carsten Dominik e40903a6b6 lisp/org-indent.el: Fix bug in org-indent that changes the selection
* lisp/org-indent.el: (org-indent-add-properties): Use
`with-silent-modificaitons'.
(org-indent-remove-properties): Use `with-silent-modificaitons'.

Julien Danjou writes:

> I'm using org 7.01h with Emacs 24 trunk. When I set org-startup-indented
> to t, I observe the following:
>
> ** TODO Some stuff
>
> I select "stuff" and press M-w. Then I go the the line under and press
> C-y (org-yank).
>
> Now I got:
>
> ** TODO Some stuff
> ** TODO Some
>
> instead of:
>
> ** TODO Some stuff
> stuff
>
> Note that after M-w, `kill-ring' has a correct first entry of "stuff":
>
>   (#("stuff" 0 5
>      (fontified t face org-level-2))
>    ...)
>
> But on C-y (org-yank) something happens, and it paste the wrong text. I
> think it's trying to be smart but it's not.
>
> I've found that setting org-startup-indented to nil fix that behaviour.
2010-10-21 18:26:31 +02:00
Bernt Hansen d0a5e11db9 Fix org-indent-mode message when mode is refused
* lisp/org-indent.el (org-indent-mode): Fix grammar for message when mode is refused
2010-08-09 21:52:33 +02:00
Carsten Dominik b7b6a72869 Do not call modification hooks when triggering indentation
* lisp/org-indent.el (org-indent-remove-properties):
(org-indent-add-properties): Make sure changing these properties does
not trigger modification hooks
2010-08-06 12:51:56 +02:00
Carsten Dominik 6268cceec3 Mention release 7.01 on the website, push release number to 7.01trans 2010-07-19 08:33:24 +02:00
Philip Rooke ef07f2afc2 Correct some docstrings [part 3]
This is the third patch in a series that makes some straightforward
corrections to a number of docstrings.  Each change is normally to:

- correct a typo, or
- fix up hyperlinks to function or variable names, or
- ensure slightly better conformance with the documentation guidelines
  and tips given in the Elisp manual

No attempt is made to provide missing docstrings or document arguments.

Cheers,

Phil
2010-07-16 20:55:38 +02:00
Carsten Dominik 85c90e96fd Allow org-indent-mode only on Emacsen that do support it
* lisp/org-compat.el (org-version-check): New function.
* lisp/org-indent.el (org-indent-mode): Check for exact emacs version.
2010-07-06 10:23:41 +02:00
Carsten Dominik 040b2aa6b2 Indent-mode: Disable in Emacs 21 and earlier
* lisp/org-indent.el (org-indent-mode): Refuse to turn on prior to Emacs 23.2
2010-07-05 17:46:19 +02:00
Carsten Dominik c86a3fc4aa Push version number to 6.36trans 2010-05-09 06:24:20 +02:00
Carsten Dominik 88100d1580 Release 6.36a 2010-05-09 06:13:54 +02:00
Carsten Dominik 4a03e44858 Turn off indent-tabs-mode when org-indent-mode is on
This makes for peter (if still imperfect) tag alignment.

Patch by Jason Dunsmore
2010-04-26 06:58:21 +02:00
Carsten Dominik 43bf1bbbd7 Push version number to 6.35trans 2010-04-15 12:24:55 +02:00
Carsten Dominik 6f3026edf1 Release 6.35g 2010-04-08 20:15:15 +02:00
Carsten Dominik a589c7a22e Release 6.35f 2010-04-08 10:36:32 +02:00
Carsten Dominik 50e5924d8a Release 6.35e 2010-04-07 16:33:52 +02:00
Carsten Dominik f722763f8a Release 6.35d 2010-04-07 16:26:42 +02:00
Carsten Dominik d65ed03be6 Update copyright notices and fix wrong version tags 2010-04-07 16:26:10 +02:00
Carsten Dominik cafbe1d038 Release 6.35c 2010-04-07 08:58:25 +02:00
Carsten Dominik b213c0f31e Release 6.35b 2010-04-07 07:54:14 +02:00
Carsten Dominik 08d0d2fa20 Release 6.35 2010-04-06 09:16:36 +02:00
Carsten Dominik a42326f57b Fix group name tag for org-indent 2010-03-23 08:31:55 +01:00