emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: netty hacky <netty.hacky@gmail.com>
To: Bastien Guerry <bzg@altern.org>
Cc: emacs-orgmode@gnu.org
Subject: Re: % (org-agenda-bulk-mark-regexp) in agenda view problems
Date: Sun, 2 Oct 2011 02:26:14 -0700	[thread overview]
Message-ID: <CADvi8Rcg7qDf1w63J-=+d_HJuRxGs_9MaqcAGvmHRZKWp2W-fg@mail.gmail.com> (raw)
In-Reply-To: <CADvi8RcFmGyzbzDxuu-Dy+hhzFL+LCT-9Ln+TimVdnM8=u_srA@mail.gmail.com>

Sorry, didn't realized I wasn't sending email in plain text.

On Sat, Oct 1, 2011 at 3:14 PM, netty hacky <netty.hacky@gmail.com> wrote:
>
> Hi Bastien,
>
> I found a third problem of org-agenda-bulk-mark-regexp, it does not work well on daily/weekly agenda view.  Basically it chokes on lines that is not a regular headline, like date labels, dairy entries and grid lines.
>
> So to show I am not merely a leech on this list, I come up with my version here, most of the ugly code are to deal with the way org-agenda-bulk-mark works now (e.g., returning nil when successful):
>
> (defun org-agenda-bulk-mark-regexp (regexp)
>   "Mark entries match REGEXP."
>   (interactive "sMark entries matching regexp: ")
>     (save-excursion
>       (goto-char (point-min))
>       (let ((entries-marked 0))
>         (while (not (eobp))
>           (unless (and
>                    (not (get-char-property (point) 'invisible))
>                    (not (org-get-at-bol 'org-agenda-diary-link))
>                    (org-get-at-bol 'org-hd-marker)
>                    (let (txt-property)
>                      (setq txt-property (get-char-property (point) 'txt))
>                      (string-match regexp txt-property))
>                    (not (call-interactively 'org-agenda-bulk-mark))
>                    (setq entries-marked (+ entries-marked 1)))
>             (beginning-of-line 2)))
>         (if (zerop entries-marked)
>             (message "No entry matching this regexp.")
>           (message "%d entries marked for bulk action" entries-marked)))))
>
> Thanks,
> Net
>
> On Sat, Oct 1, 2011 at 12:38 AM, netty hacky <netty.hacky@gmail.com> wrote:
>>
>> Hi Bastien,
>>
>> I'm having two problems with the % command (org-agenda-bulk-mark-regexp) in Org-mode agenda view.
>>
>> 1.  If I use "." as the search string, I get "Wrong type argument: number-or-marker-p, nil".  And my workaround is to change the line "(let (entries-marked)" in org-agenda.el to "(let ((entries-marked 0))".
>>
>> 2. If I use ".*" as the search string, I get "Wrong type argument: stringp, nil".  After some edebugging, I found the reason is that in org-agenda-bulk-mark-regexp, re-search-forward moved the point to the end of the line (since ".*" matches the whole line), causing (get-text-property (point) 'txt) to return nil, in turn caused string-match to throw the error.  I think this may happen to other regexps, as long as the strings matched include the last character in the line.  I'm new to Emacs Lisp so I'm not sure how to fix this one.
>>
>> Wondering why it seems only me having these two problems.
>>
>> I am using MacPorts' Emacs and Org-mode:
>> Emacs  : GNU Emacs 23.3.1 (x86_64-apple-darwin10.8.0)
>> Package: Org-mode version 7.7
>>
>> Thanks,
>> Net
>>
>

      reply	other threads:[~2011-10-02  9:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-01  7:38 % (org-agenda-bulk-mark-regexp) in agenda view problems netty hacky
2011-10-01 22:14 ` netty hacky
2011-10-02  9:26   ` netty hacky [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CADvi8Rcg7qDf1w63J-=+d_HJuRxGs_9MaqcAGvmHRZKWp2W-fg@mail.gmail.com' \
    --to=netty.hacky@gmail.com \
    --cc=bzg@altern.org \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).