From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: writing ledger mode, date picker Date: Sun, 08 Nov 2015 22:38:39 +0000 Message-ID: <87twownmkw.fsf@student.uu.se> References: <87r3k1362v.fsf@gmail.com> <87mvup33v0.fsf@gmail.com> <87611did59.fsf@debian.uxu> <87egg0z420.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1447022358 23694 80.91.229.3 (8 Nov 2015 22:39:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 8 Nov 2015 22:39:18 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Nov 08 23:39:06 2015 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZvYc2-00059d-Qc for geh-help-gnu-emacs@m.gmane.org; Sun, 08 Nov 2015 23:39:02 +0100 Original-Received: from localhost ([::1]:49032 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvYc2-0004vn-6u for geh-help-gnu-emacs@m.gmane.org; Sun, 08 Nov 2015 17:39:02 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52829) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvYbr-0004vX-Hc for help-gnu-emacs@gnu.org; Sun, 08 Nov 2015 17:38:52 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZvYbm-0001KN-Ht for help-gnu-emacs@gnu.org; Sun, 08 Nov 2015 17:38:51 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:52702) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvYbm-0001K5-BM for help-gnu-emacs@gnu.org; Sun, 08 Nov 2015 17:38:46 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZvYbl-0004mb-1b for help-gnu-emacs@gnu.org; Sun, 08 Nov 2015 23:38:45 +0100 Original-Received: from nl106-137-139.student.uu.se ([130.243.137.139]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 08 Nov 2015 23:38:45 +0100 Original-Received: from embe8573 by nl106-137-139.student.uu.se with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 08 Nov 2015 23:38:45 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Original-Lines: 60 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: nl106-137-139.student.uu.se Mail-Copies-To: never User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) Cancel-Lock: sha1:MfrfHhDWr3HmKht4YaaFco27Zyk= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:107995 Archived-At: jenia.ivlev@gmail.com (jenia.ivlev) writes: > Hello Emanuel. > > I'm trying to write a program that will prompt the > user for a date and insert it into a buffer called > "asti" ;) (require 'calendar) (defun prompt-date-into-asti () (interactive) (let*((date (calendar-read-date)) (date-string (format-time-string "%Y-%m-%d\n" date)) (buffer (get-buffer-create "asti")) ) (with-current-buffer buffer (insert date-string) ))) > I'm having some success but also some problems. > My problem, I think, is that I'm using the > `(when...)` function wrong. `when' is equivalent to `if' with no need for `progn', only `when' doesn't come with an "else" branch, as do `if'. So this (when something do) is the same as (if something do) The rule of thumb is: 1. When you need an "else" branch, use `if' (or `cond'), with `progn' if necessary to scope the branches. 2. When you don't need an "else" branch, and the condition is positive, i.e. (if something ... ) then use `when' and there is no need for a progn (in the `if' sense at least). 3. When you don't need an "else" branch, and the condition is *negative*, i.e. (if (not something) ... ) then use `unless', otherwise it is as with `when'. > Here is the newest iteration of the program ... > (define-key calendar-mode-map (kbd "RET") 'get-date) That isn't anything you'd do in a defun. Do that when you initialize calendar-mode if so. On the whole, you code is too complicated, like you try to do to many things at once. If you can describe what you want to do, it'll be more easy to help. -- underground experts united http://user.it.uu.se/~embe8573