annotate lisp/play/fortune.el @ 105973:b7d8222914b4

2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-clone-subtree-with-time-shift): Make it work at the end of the buffer. * org-mobile.el (org-mobile-write-checksums): Specify coding system. (org-mobile-timestamp-buffer): Keep local variable/mode line at beginning of buffer. * org-latex.el (org-latex-entities-regexp): Fix typo in regexp. * org.el (org-block-todo-from-children-or-siblings-or-parent) (org-block-todo-from-checkboxes): Do not block changes to a nil TODO state. 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc> * org-habit.el (org-habit-parse-todo): Indicate which habit is wrongly set up in the error messages. * org-colview.el (org-columns-display-here): Don't try to calculate values if the underlying property is not set. (org-columns-string-to-number): Convert age strings back into fractional days. (org-agenda-colview-summarize): Handle extended summary types properly. * org-colview-xemacs.el (org-columns-display-here): Don't try to calculate values if the underlying property is not set. (org-columns-string-to-number): Convert age strings back into fractional days. (org-agenda-colview-summarize): Handle extended summary types properly. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-export-format-drawer-function): New variable. (org-export-format-drawer): New function. (org-export-preprocess-string): Pass the backend as a parameter to `org-export-remove-or-extract-drawers'. (org-export-remove-or-extract-drawers): New parameter BACKEND. * org-protocol.el (org-protocol-char-to-string): New defsubst. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-diary-entry-in-org-file): Add error message when no block is selected. * org-latex.el (org-export-latex-links): Check for protectedness in the last matched character, not after the match. * org-datetree.el (org-datetree-find-date-create): Respect restriction when KEEP-RESTRICTION is set. (org-datetree-file-entry-under): New function. (org-datetree-cleanup): New command. 2009-11-13 Dan Davison <davison@stats.ox.ac.uk> * org-src.el (org-edit-src-code): New optional argument context allows calling functions to avoid altering the saved window configuration. (org-edit-src-exit): Do not restore window configuration when this function is used in the context of saving the edit buffer. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-clock.el (org-clock-out, org-clock-cancel): Revert to instances to switching to with-current-buffer, because these seem to cause problems - no idea why. * org-agenda.el (org-agenda-add-entry-to-org-agenda-diary-file): Require diary-lib for (diary-date-display-form). 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-log-reschedule, org-log-redeadline): New options. (org-log-note-headings): Add templates for rescheduling and deadline changing. (org-startup-options): Add in-buffer settings for logging changing schedule and deadline time stamps. (org-deadline, org-schedule): Check for existing date and arrange for logging if the user requests it. (org-add-log-note): Prepare proper note buffers for rescheduling and deadline changes. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-diary-entry-in-org-file) (org-agenda-add-entry-to-org-agenda-diary-file) (org-agenda-insert-diary-make-new-entry): New functions. (org-agenda-diary-entry): Call `org-agenda-diary-entry-in-org-file' when appropriate. * org.el (org-calendar-insert-diary-entry-key): New option. (org-agenda-diary-file): New option. ("calendar"): Install our insertion function in the calendar. * org-remember.el (org-datetree): Require. (org-remember-templates): Add new positioning option. (org-remember-reference-date): New variable. (org-remember-apply-template): Store the reference date in a local variable. (org-remember-handler): Implement date tree positioning of entries. * org-datetree.el: New file. * org-latex.el (org-export-latex-preprocess): Protect targets in verbatim emphasis. * org-html.el (org-export-as-html): Protect targets in verbatim emphasis. * org-docbook.el (org-export-as-docbook): Protect targets in verbatim emphasis. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-clock.el (org-show-notification): Handle messages that contain a percent character. * org-remember.el (org-remember-apply-template): Turn of partial completion. * org-mobile.el (org-mobile-before-process-capture-hook): New hook. (org-mobile-pull): Run `org-mobile-before-process-capture-hook'. * org.el (org-indent-mode): Define variable already in org.el. (org-unfontify-region): Remove line-prefix and wrap-prefix properties only if org-indent-mode is active. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-icalendar.el (org-print-icalendar-entries): Save match data around call to verify function. (org-print-icalendar-entries): Add a call to the verification function. * org.el (org-speedbar-set-agenda-restriction): Remove unnecessary save-restrivtion' form. 2009-11-13 Dan Davison <davison@stats.ox.ac.uk> * org-exp.el (org-export-format-source-code-or-example): restrict scope of preserve-indentp to the let binding. (org-src): require org-src, since org-src-preserve-indentation is used. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-timer.el (org-timer-set-timer): Set variables org-timer-timer[123] correctly. * org-mobile.el (org-mobile-files-alist): Make it work when `agenda-archives' is included in `org-agenda-text-search-extra-files'. (org-mobile-push): Restore agenda after mobile push. 2009-11-13 John Wiegley <jwiegley@gmail.com> * org-clock.el (org-resolve-clocks-if-idle): Another fix to the way the amount of idle time is presented in the minibuffer. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-icalendar.el (org-print-icalendar-entries): Use org-icalendar-verify-function only if non-nil. * org.el (org-refile): Refile to clock only if the prefix arg is 2. (org-sparse-tree): Fix docstring to be in line with prompt. (org-update-parent-todo-statistics): Call `org-after-todo-statistics-hook' on each level. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-remember.el (org-remember-apply-template): Make sure the buffer exists. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-tab-ind-state): New variable. (org-cycle-level): New function. (org-cycle-level-after-item/entry-creation): New option. (org-flag-subtree): New function. (org-hide-archived-subtrees): Call `org-flag-subtree'. (org-set-effort): Indexed access. * org-list.el (org-cycle-item-indentation): New function. * org.el (org-refile): Make prefix argument 2 refile to current clock. (org-priority): Interpret action `remove' as call to remove the priority cookie. * org-remember.el (org-remember-apply-template): Don't depend on buffer name being like file name. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-clock.el (org-clock-play-sound): Expand file in org-clock-sound, to allow ~ for home. * org-remember.el (org-remember-handler): Set text-before-node-creation even if this already looks like a node, because the string might be needed on non-org-mode target files. * org-agenda.el (org-agenda-open-link): Make this work in agenda clocktables. (org-agenda-switch-to): Follow a link at point if org-return-follows-link' is set and there is nothing else to do in this line. 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc> * org-colview-xemacs.el: Add in changes from org-colview.el 2009-11-13 Dan Davison <davison@stats.ox.ac.uk> * org-exp-blocks.el: Modify split separator regexp to avoid empty strings. 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc> * org-colview.el (org-columns-new): Make this work with the new operators. (org-columns-store-format): Make this work with the new operators. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-src.el (org-src-preserve-indentation): Document that this variable is also used during export. * org-exp.el (org-export-format-source-code-or-example): Preserve indentation if a block has a -i option, or if `org-src-preserve-indentation' is set. * org-exp-blocks.el (org-export-blocks-preprocess): Preserve indentation if a block has a -i option, or if `org-src-preserve-indentation' is set. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-mode-map): Define the new archiving keys. (org-speed-commands-default): Define an archiving key in the speed command map. (org-org-menu): Improve the menu structure concerning archiving. * org-archive.el (org-archive-subtree-default-with-confirmation): New command. * org-agenda.el (org-agenda-mode-map): Define the new archiving keys. (org-agenda-menu): Add the new archiving commands to the menu. (org-agenda-archive-default) (org-agenda-archive-default-with-confirmation): New commands. (org-agenda-archive, org-agenda-archive-to-archive-sibling): Just call `org-agenda-archive-with'. (org-agenda-archive-with): New function. * org-table.el (org-table-convert-region): Inert spaces around "|" to avoid line beginnings like "|-1" which will be mistaken as hlines. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-offer-links-in-entry): Return nil if there are no links, t if a link has been selected. (org-open-at-point): Open attachment directory when called in the headline and there are no links in the entry body. (org-speed-commands-default): Add "o" for open-at-point as a speed command. * org-attach.el (org-attach-reveal): Optional prefix arg IF-EXISTS, which avoids creating the attachment directory if it does not yet exist. * org-agenda.el (org-agenda, org-run-agenda-series): Evaluate MATCH. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org.el ("abbrev"): Work with abbrev tables only after they have been loaded. * org-list.el (org-list-send-list): Fix bug related to match data. * org-latex.el (org-export-latex-fontify): Apply verbatim emphasis. (org-export-latex-make-header): Insert \obeylines if line breaks should be preserved. * org-exp.el (org-export-protect-verbatim): Add an `org-verbatim-emph' property to such text. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-icalendar.el (org-icalendar-use-plain-timestamp): New option. (org-print-icalendar-entries): Skip entries where the timestamp is not a deadline and not scheduled, if the user requests that. * org-latex.el (org-export-latex-quotation-marks): Allow a bracket before an opening quote. * org-archive.el (org-archive-subtree): Keep archive after archiving something. * org-id.el (org-id-update-id-locations): Add archive files if that is required by `org-id-extra-files'. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-src.el (org-src-window-setup): New option. (org-src-switch-to-buffer): New function. (org-edit-src-exit): Add optional argument CONTEXT and use it to restore window configuration. (org-edit-src-code, org-edit-src-continue, org-edit-src-exit): Call `org-src-switch-to-buffer'. * org.el (org-default-properties): Add STYLE property. (org-files-list): Use the function call to get the files. (org-additional-option-like-keywords): Add SETUPFILE to completion list. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-table.el (org-table-convert-region): Correctly interpret quoting in csv import. * org.el (org-icompleting-read): Make iswitchb completion work with lists and tables. * org-agenda.el (org-agenda-add-entry-text): Never add entry text while pushing the mobile agenda. 2009-11-13 John Wiegley <jwiegley@gmail.com> * org-clock.el (org-clock-auto-clock-resolution): Now takes three values: nil, t and `when-no-clock-is-running'. (org-clock-in): Use `org-clock-auto-clock-resolution' to determine whether or not to resolve Org buffers on clock in. 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc> * org-colview.el (org-format-time-period): Function to format times in fractional days for display. (org-columns-display-here): Add support for showing a calculated value in place of the property. (org-columns): Set `org-columns-time' to the current time so time difference calculations will work. (org-columns-time): Use to store the current time when column view is displayed, so all time differences will use the same reference point. (org-columns-compile-map): There is now an extra position in each entry specifying the function to use to calculate the displayed value for the non-calculated properties in the column, (org-columns-compute-all): Set `org-columns-time' to the current time so time difference calculations will work. (org-columns-compute): Handle column operators where the values used are calculated from the underlying property. (org-columns-number-to-string): Handle the 'age' column format (org-columns-string-to-number): Correct the function name (was org-column...). Add support for the 'age' column format. (org-columns-compile-format): Support the additional parameter in org-columns-compile-map. 2009-11-13 Bastien Guerry <bzg@altern.org> * org.el (org-mode-hook): Turn `org-mode-hook' into a customizable variable. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-clock.el (org-clock-has-been-used): New variable. (org-clock-in): Set `org-clock-has-been-used'. (org-clock-save): Save only if clock data has been used or created during this session. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-clock.el (org-clock-persist): New value, to store only the clock history. (org-clock-save): Don't save the clock if only the history should be stored. (org-clock-load): Turn off John Wiegley's auto resolving mechanism when restoring a saved clock. 2009-11-13 John Wiegley <jwiegley@gmail.com> * org-clock.el (org-clock-display, org-clock-put-overlay): Use `org-time-clock-use-fractional'. * org.el (org-time-clocksum-use-fractional) (org-time-clocksum-fractional-format): Two new customizable variables which allow the user to select fractional times (1.25 instead of 1:25) in the `org-clock-display' report. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-ascii.el (org-export-ascii-table-keep-all-vertical-lines): New option. * org.el (org-tag-alist): Fix customization type. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-mobile.el (org-mobile-update-checksum-for-capture-file): Make sure the regexp search can fail without throwing an error. (org-mobile-apply): Save the inbox buffer after removing successfully applied changes. 2009-11-13 John Wiegley <jwiegley@gmail.com> * org-clock.el (org-resolve-clocks-if-idle): Fix to the way idle time is reported after the user comes back (but before they resolve time). * org.el (org-get-repeat): Change so that this function can be called with either `org-scheduled-string' or `org-deadline-string'. * org-clock.el (org-clock-auto-clock-resolution): Renamed `org-clock-disable-clock-resolution', since negatives don't sound good in customization variables. (org-clock-in): Don't use the auto-resolution logic if the user is clocking into a different task while an active clock is running. This then allows the default behavior of clocking out of the open task and then into the new task. * org.el (org-modules): Made this variable more consistent, since it was referring to Org, OrgMode and Org-mode, whereas the docs for the variable always refer to Org-mode. 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc> * org.el (org-repeat-re): The changed org-repeat-re no longer matched simple +2d type repeaters. Fix it so it does. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-preprocess): Protect the vspace macro in the VERSE environment. 2009-11-13 John Wiegley <jwiegley@gmail.com> * org-habit.el (org-habit-get-priority): A new function that determines the relative priority of a habit, based on how long past its scheduled date it is, and how near the deadline is. * org-agenda.el (org-agenda-get-scheduled): Set habit priority using `org-habit-get-priority'. * org-habit.el (org-habit-build-graph): Start displaying colors from the first scheduled date, if that date is earlier than the first completion date. * org-habit.el: Changed all "color" variables to faces, and made them appropriate for light and dark backgrounds. * org-habit.el (org-habit-duration-to-days): Made this function more general. (org-habit-parse-todo): Parse the new ".+N/N" style repeater. * org-agenda.el (org-agenda-get-deadlines): Removed all mention of habits, since they don't use DEADLINE anymore. * org.el (org-repeat-re, org-display-custom-time) (org-timestamp-change): Extended to support the new ".+N/N" syntax, used for habits. * org-clock.el (org-clock-resolve-clock): Fixed an incorrect variable reference. * org-agenda.el (org-agenda-set-mode-name): Show Habit in the modeline when habits are being displayed (if that module is being loaded). 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc> * org-clock.el (org-x11-idle-seconds): Add a method to get the X11 idle time using the xscreensaver extension. (org-user-idle-seconds): Use X11 idle time if available. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-next-line): New command. (org-agenda-previous-line): New commands. (org-agenda-show-and-scroll-up, org-agenda-show-scroll-down): New commands. (org-agenda-follow-mode): Do the follow immediately if the mode is turned on here. (previous-line, next-line): Replace keys with the corresponding org functions. (org-agenda-mode-map): Bind backspace and delete to the scrolling command. * org.el (org-icompleting-read): Turn off partial completion mode for the duration of this completion round. * org-latex.el (org-export-latex-fontify-headline): Protect TeX macros in author lines and similar stuff. * org.el (org-file-tags): Fix docstring. (org-get-buffer-tags): Add the #+FILETAGS tags. ("ecb"): Maks ecb show context after jumping into an Org file. 2009-11-13 John Wiegley <johnw@newartisans.com> * org-agenda.el (org-finalize-agenda): Draw habit consistency graphs after everything else in the buffer has been setup. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-mobile.el (org-mobile-apply): Count success and failure. * org.el (org-indent-line-function): Fix regexp replace problem. 2009-11-13 John Wiegley <johnw@newartisans.com> * org-clock.el (org-clock-disable-clock-resolution): New customization variable that disable automatic clock resolution on clock in. (org-clock-in): If `org-clock-disable-clock-resolution' is set, do not automatically resolve anything. This is does not affect idle-time resolution, however, if `org-clock-idle-time' is set. 2009-11-13 John Wiegley <johnw@newartisans.com> * org-habit.el: New file, which implements code to build a "habit consistency graph". * org-agenda.el (org-agenda-get-deadlines) (org-agenda-get-scheduled): Display consistency graphs when outputting habits into the agenda. The graphs are always relative to the current time. (org-format-agenda-item): Added new parameter `habitp', which indicates whether we are formatting a habit or not. Do not display "extra" leading information if habitp is true. * org.el (org-repeat-re): Improved regexp to include .+ and ++ leaders for repeat strings. (org-get-repeat): Now takes a string parameter `tagline', so the caller can obtain the SCHEDULED repeat, or the DEADLINE repeat. 2009-11-13 John Wiegley <johnw@newartisans.com> * org-agenda.el (org-agenda-auto-exclude-function): New customization variable for allowing the user to create an "auto exclusion" filter for doing context-aware auto tag filtering. (org-agenda-filter-by-tag): Changes to support the use of `org-agenda-auto-exclude-function'. See the new manual addition,. 2009-11-13 John Wiegley <johnw@newartisans.com> * org.el (org-files-list): Don't attempt to return a file name for Org buffers which have no associated file. * org-agenda.el (org-agenda-do-action): Fixed a typo. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-mobile.el (org-mobile-locate-entry): Interpret files relative to org-directory. (org-mobile-inbox-for-pull): Document the best location for this file. (org-mobile-check-setup): Verify `org-directory'. (org-mobile-create-index-file): Sort the files to be listed in index.org. 2009-11-13 James TD Smith <ahktenzero@mohorovi.cc> * org.el (org-fast-tag-selection): Add a way to display a description for a tag group. This is done by adding a string to either the startgroup or endgroup cell. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-clock.el (org-clock-resolve, org-resolve-clocks) (org-emacs-idle-seconds): Use `org-float-time' instead of `time-to-seconds' 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-sorting-strategy): Fix customization type. * org.el (org-pre-cycle-hook): Document that `empty' can also be the value of ARG when doing local cycling. 2009-11-13 John Wiegley <johnw@newartisans.com> * org-clock.el (org-clock-resolve-clock): If keeping or subtracting time results in a clock out at a time in the past, and if the resolution occurred due to idleness or invoking `M-x org-resolve-clocks', remember that past moment in time. On the next clock in, the user will be prompted to see if they want to back-date their new clock to then. (org-clock-resolve): Do not jump the user to the location of a dangling clock if the resolution is occuring due to an idle timeout. In that case there is typically only one dangling clock, the active one, and there is no value gained by shuffling their windows around to show it to them. Being prompted to resolve an idle clock should be as inobtrusive as possible. (org-resolve-clocks-if-idle): New function that resolves only the currently active clock if the user has exceeded the time returned by `org-user-idle-seconds', based on the value of `org-clock-idle-time'. (org-clock-in): If, after resolving clocks, (org-clock-out): Cancel the `org-clock-idle-timer' on clock out. * org-clock.el (org-clock-resolve-clock): New function that resolves a clock to a specific time, closing or resuming as need be, and possibly even starting a new clock. (org-clock-resolve): New function used by `org-resolve-clocks' that sets up for the call to `org-clock-resolve-clock'. It determines the time to resolve to based on a single-character selection from the user to either keep time, subtract away time or cancel the clock. (org-resolve-clocks): New user command which resolves dangling clocks -- that is, open but not active -- anywhere in the file list returned by `org-files-list'. (org-clock-in): Automatically resolve dangling clocks whenever a user clocks in. (org-clock-cancel): If the user cancels the solely clock in a LOGBOOK, remove the empty drawer. * org-clock.el (org-clock-idle-time): New user customizable option for detecting whether the user has left a clock idle. Note: it is only used in this commit to test whether it's worthwhile to check OS X to get the Mac user's current idle time. If the Emacs idle time is less than the value, the user hasn't been away long enough to be worth checking (a more expensive test than just getting Emacs idle time). (org-user-idle-seconds, org-mac-idle-seconds) (org-emacs-idle-seconds): This three functions, in conjunction with the user customization variable `org-clock-idle-time', return the number of seconds (as a floating point) that the user has been away from their Emacs (or, if running on OS X, their computer). * org-clock.el (org-find-open-clocks): New function that returns a list of all open clocks in the given FILE. Note that each clock it returns is a cons cell of the format (MARKER . START-TIME). This "clock" value is used by several of the new clock module utility functions. (org-is-active-clock): New inline function which tests whether the given clock value is the same as the currently active clock. Returns non-nil if this is the case. (org-with-clock-position): New macro that evaluates FORMS with point in the buffer and at the position of the given clock. Changes to the current clock are global. (org-with-clock): New macro that evaluates FORMS with point in the buffer and at the position of the given clock. However, changes to the current clock are local and have no effect on the user's active clock. This allows, for example, far any clock to be cancelled without cancelling the active clock. (org-clock-clock-in): New inline function that switches the active clock to the given clock. If either the argument RESUME, or the global `org-clock-in-resume', are non-nil, it will resume a clock that was previously left open. (org-clock-clock-out): New inline function that clocks out the given clock value without affecting the currently active clock. (org-clock-clock-cancel): New inline function that cancels the given clock value without affecting the currently active clock. * org-clock.el (org-clock-in): Before creating `org-clock-mode-line-timer', check to make sure an older timer is not currently running. (org-clock-out): Accept new third parameter `at-time', which permits a clock to be clocked out at a specific time. Note that no attempt is made to verify that the clock out time is later than the clock in time. * org.el (org-files-list): New utility function for returning a list of all open org-mode buffers, plus all files used to build the agenda buffer. Note that not all the files will necessarily be visited by a buffer at time of call. (org-entry-beginning-position): Like the function `line-beginning-position', this inline function returns the beginning position of the current heading/entry. (org-entry-end-position): Like the function `line-end-position', this inline function returns the end position of the current heading/entry. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-list): Mark the all-todo items line as a header line. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-inlinetask-remove-END-maybe): Declare function. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-filter-make-matcher): Allow to filter entries that have no tags. (org-agenda-search-view): New customize group. (org-agenda-search-view-search-words-only): New option. (org-search-view): Implement substring search. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-outline-level): Add doc string. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-inlinetask.el (org-inlinetask-export): Re-introduce variable. (org-inlinetask-export-handler): Only export inline task if the user option calls for it. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-export-handle-export-tags): Remove inlinetask END if present. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-tables): Don't format in protected regions. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-src.el (org-edit-src-code) (org-edit-src-find-region-and-lang, org-edit-src-exit): Handle macro editing. * org-agenda.el (org-prefix-category-max-length): New variable. (org-format-agenda-item): Use `org-prefix-category-max-length'. (org-compile-prefix-format): Set `org-prefix-category-max-length'. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-mobile.el (org-mobile-create-index-file): Improve the listing of tags and todo keywords. * org-latex.el (org-export-latex-format-image): New function. (org-export-latex-links): Use `org-export-latex-format-image'. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org-inlinetask.el (org-inlinetask-get-current-indentation) (org-inlinetask-remove-terminator): New functions. (org-inlinetask-export-handler): Terminate the description list. * org-exp.el (org-export-select-backend-specific-text): Remove the region markers. * org-inlinetask.el (org-inlinetask-export-handler): fix bug for tasks without content. * org-clock.el: Make sure the clock-in target position does not move to a different node by widening the buffer. * org-html.el (org-export-html-format-image): Wrap image into figure div only when there is a caption. * org-archive.el (org-archive-mark-done): Change default value to nil. 2009-11-13 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-context): Call `bobp', not `eobp'. * org-clock.el (org-clock-cancel): Remove quotes from marker variables. * org.el (org-read-date-prefer-future): New allowed value `time'. (org-read-date-analyze): Shift day to tomorrow depending on time entered and value of `org-read-date-prefer-future'.
author Carsten Dominik <dominik@science.uva.nl>
date Fri, 13 Nov 2009 08:37:55 +0000
parents 328150f0cf76
children 1d1d5d9bd884
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38425
c6e12c6b1498 Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 38397
diff changeset
1 ;;; fortune.el --- use fortune to create signatures
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
2
98271
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
3 ;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
100908
a9dc0e7c3f2b Add 2009 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 98292
diff changeset
4 ;; 2008, 2009 Free Software Foundation, Inc.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 ;; Author: Holger Schauer <Holger.Schauer@gmx.de>
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 ;; Keywords: games utils mail
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8
38425
c6e12c6b1498 Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 38397
diff changeset
9 ;; This file is part of GNU Emacs.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10
94675
949bd6ad1ba4 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
11 ;; GNU Emacs is free software: you can redistribute it and/or modify
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
94675
949bd6ad1ba4 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
13 ;; the Free Software Foundation, either version 3 of the License, or
949bd6ad1ba4 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
14 ;; (at your option) any later version.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 ;; GNU General Public License for more details.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
94675
949bd6ad1ba4 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 ;;; Commentary:
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 ;; This utility allows you to automatically cut regions to a fortune
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 ;; file. In case that the region stems from an article buffer (mail or
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 ;; news), it will try to automatically determine the author of the
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 ;; fortune. It will also allow you to compile your fortune-database
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 ;; as well as providing a function to extract a fortune for use as your
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 ;; signature.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 ;; Of course, it can simply display a fortune, too.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 ;; Use prefix arguments to specify different fortune databases.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 ;;; Installation:
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
36 ;; Please check the customize settings -- you will at least have to
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
37 ;; modify the values of `fortune-dir' and `fortune-file'.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 ;; I then use this in my .gnus:
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 ;;(message "Making new signature: %s" (fortune-to-signature "~/fortunes/"))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 ;; This automagically creates a new signature when starting up Gnus.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 ;; Note that the call to fortune-to-signature specifies a directory in which
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 ;; several fortune-files and their databases are stored.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 ;; If you like to get a new signature for every message, you can also hook
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 ;; it into message-mode:
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
47 ;; (add-hook 'message-setup-hook 'fortune-to-signature)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 ;; This time no fortune-file is specified, so fortune-to-signature would use
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 ;; the default-file as specified by fortune-file.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 ;; I have also this in my .gnus:
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 ;;(add-hook 'gnus-article-mode-hook
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 ;; '(lambda ()
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 ;; (define-key gnus-article-mode-map "i" 'fortune-from-region)))
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
55 ;; which allows marking a region and then pressing "i" so that the marked
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 ;; region will be automatically added to my favourite fortune-file.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 ;;; Code:
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 ;;; **************
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 ;;; Customizable Settings
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 (defgroup fortune nil
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 "Settings for fortune."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
64 :link '(emacs-commentary-link "fortune.el")
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
65 :version "21.1"
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 :group 'games)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 (defgroup fortune-signature nil
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 "Settings for use of fortune for signatures."
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
69 :group 'fortune
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 :group 'mail)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 (defcustom fortune-dir "~/docs/ascii/misc/fortunes/"
98271
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
73 "The directory to look in for local fortune cookies files."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
74 :type 'directory
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
75 :group 'fortune)
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
76 (defcustom fortune-file
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
77 (expand-file-name "usenet" fortune-dir)
98271
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
78 "The file in which local fortune cookies will be stored."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
79 :type 'file
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
80 :group 'fortune)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 (defcustom fortune-database-extension ".dat"
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
82 "The extension of the corresponding fortune database.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 Normally you won't have a reason to change it."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
84 :type 'string
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
85 :group 'fortune)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86 (defcustom fortune-program "fortune"
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87 "Program to select a fortune cookie."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
88 :type 'string
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
89 :group 'fortune)
98269
c4f6098c0914 Justin Bogner <mail at justinbogner.com> (tiny change)
Glenn Morris <rgm@gnu.org>
parents: 94675
diff changeset
90 (defcustom fortune-program-options ()
98271
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
91 "List of options to pass to the fortune program."
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
92 :type '(choice (repeat (string :tag "Option"))
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
93 (string :tag "Obsolete string of options"))
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
94 :version "23.1"
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
95 :group 'fortune)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 (defcustom fortune-strfile "strfile"
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 "Program to compute a new fortune database."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
98 :type 'string
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
99 :group 'fortune)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
100 (defcustom fortune-strfile-options ""
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
101 "Options to pass to the strfile program (a string)."
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
102 :type 'string
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
103 :group 'fortune)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 (defcustom fortune-quiet-strfile-options "> /dev/null"
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 "Text added to the command for running `strfile'.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106 By default it discards the output produced by `strfile'.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
107 Set this to \"\" if you would like to see the output."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
108 :type 'string
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
109 :group 'fortune)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111 (defcustom fortune-always-compile t
98271
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
112 "Non-nil means automatically compile fortune files.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
113 If nil, you must invoke `fortune-compile' manually to do that."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
114 :type 'boolean
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
115 :group 'fortune)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116 (defcustom fortune-author-line-prefix " -- "
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
117 "Prefix to put before the author name of a fortunate."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
118 :type 'string
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
119 :group 'fortune-signature)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
120 (defcustom fortune-fill-column fill-column
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
121 "Fill column for fortune files."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
122 :type 'integer
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
123 :group 'fortune-signature)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 (defcustom fortune-from-mail "private e-mail"
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 "String to use to characterize that the fortune comes from an e-mail.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126 No need to add an `in'."
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127 :type 'string
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128 :group 'fortune-signature)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129 (defcustom fortune-sigstart ""
98271
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
130 "Some text to insert before the fortune cookie, in a mail signature."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
131 :type 'string
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
132 :group 'fortune-signature)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133 (defcustom fortune-sigend ""
98271
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
134 "Some text to insert after the fortune cookie, in a mail signature."
38524
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
135 :type 'string
2d351e49dc96 Undo change of 2001-07-13.
Gerd Moellmann <gerd@gnu.org>
parents: 38425
diff changeset
136 :group 'fortune-signature)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139 ;; not customizable settings
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 (defvar fortune-buffer-name "*fortune*")
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
141 (defconst fortune-end-sep "\n%\n")
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
142
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
143
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
144 ;;; **************
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
145 ;;; Inserting a new fortune
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
146 (defun fortune-append (string &optional interactive file)
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
147 "Appends STRING to the fortune FILE.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
148
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
149 If INTERACTIVE is non-nil, don't compile the fortune file afterwards."
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
150 (setq file (expand-file-name
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
151 (substitute-in-file-name (or file fortune-file))))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
152 (if (file-directory-p file)
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
153 (error "Cannot append fortune to directory %s" file))
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
154 (if interactive ; switch to file and return buffer
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
155 (find-file-other-frame file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
156 (find-file-noselect file))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
157 (let ((fortune-buffer (get-file-buffer file)))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
158
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
159 (set-buffer fortune-buffer)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
160 (goto-char (point-max))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
161 (setq fill-column fortune-fill-column)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
162 (setq auto-fill-inhibit-regexp "^%")
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
163 (turn-on-auto-fill)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
164 (insert string fortune-end-sep)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
165 (unless interactive
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
166 (save-buffer)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
167 (if fortune-always-compile
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
168 (fortune-compile file)))))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
169
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
170 (defun fortune-ask-file ()
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
171 "Asks the user for a file-name."
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
172 (expand-file-name
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
173 (read-file-name
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
174 "Fortune file to use: "
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
175 fortune-dir nil nil "")))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
176
37426
71d360920aad Fix autoload cookies.
Gerd Moellmann <gerd@gnu.org>
parents: 30860
diff changeset
177 ;;;###autoload
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
178 (defun fortune-add-fortune (string file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
179 "Add STRING to a fortune file FILE.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
180
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
181 Interactively, if called with a prefix argument,
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
182 read the file name to use. Otherwise use the value of `fortune-file'."
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
183 (interactive
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
184 (list (read-string "Fortune: ")
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
185 (if current-prefix-arg (fortune-ask-file))))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
186 (fortune-append string t file))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
187
37426
71d360920aad Fix autoload cookies.
Gerd Moellmann <gerd@gnu.org>
parents: 30860
diff changeset
188 ;;;###autoload
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
189 (defun fortune-from-region (beg end file)
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
190 "Append the current region to a local fortune-like data file.
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
191
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
192 Interactively, if called with a prefix argument,
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
193 read the file name to use. Otherwise use the value of `fortune-file'."
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
194 (interactive
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
195 (list (region-beginning) (region-end)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
196 (if current-prefix-arg (fortune-ask-file))))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
197 (let ((string (buffer-substring beg end))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
198 author newsgroup help-point)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
199 ;; try to determine author ...
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
200 (save-excursion
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
201 (goto-char (point-min))
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
202 (setq help-point
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
203 (search-forward-regexp
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
204 "^From: \\(.*\\)$"
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
205 (point-max) t))
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
206 (if help-point
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
207 (setq author (buffer-substring (match-beginning 1) help-point))
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
208 (setq author "An unknown author")))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
209 ;; ... and newsgroup
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
210 (save-excursion
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
211 (goto-char (point-min))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
212 (setq help-point
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
213 (search-forward-regexp
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
214 "^Newsgroups: \\(.*\\)$"
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
215 (point-max) t))
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
216 (if help-point
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
217 (setq newsgroup (buffer-substring (match-beginning 1) help-point))
37428
6586c75e5eda (fortune-from-region): Use `eq' instead of `eql'.
Gerd Moellmann <gerd@gnu.org>
parents: 37426
diff changeset
218 (setq newsgroup (if (or (eq major-mode 'gnus-article-mode)
6586c75e5eda (fortune-from-region): Use `eq' instead of `eql'.
Gerd Moellmann <gerd@gnu.org>
parents: 37426
diff changeset
219 (eq major-mode 'vm-mode)
6586c75e5eda (fortune-from-region): Use `eq' instead of `eql'.
Gerd Moellmann <gerd@gnu.org>
parents: 37426
diff changeset
220 (eq major-mode 'rmail-mode))
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221 fortune-from-mail
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
222 "unknown"))))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
223
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
224 ;; append entry to end of fortune file, and display result
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
225 (setq string (concat "\"" string "\""
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
226 "\n"
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
227 fortune-author-line-prefix
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
228 author " in " newsgroup))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
229 (fortune-append string t file)))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
230
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
231
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
232 ;;; **************
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
233 ;;; Compile new database with strfile
37426
71d360920aad Fix autoload cookies.
Gerd Moellmann <gerd@gnu.org>
parents: 30860
diff changeset
234 ;;;###autoload
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
235 (defun fortune-compile (&optional file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
236 "Compile fortune file.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
237
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
238 If called with a prefix asks for the FILE to compile, otherwise uses
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
239 the value of `fortune-file'. This currently cannot handle directories."
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
240 (interactive
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
241 (list
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
242 (if current-prefix-arg
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
243 (fortune-ask-file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
244 fortune-file)))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
245 (let* ((fortune-file (expand-file-name (substitute-in-file-name file)))
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
246 (fortune-dat (expand-file-name
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
247 (substitute-in-file-name
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
248 (concat fortune-file fortune-database-extension)))))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
249 (cond ((file-exists-p fortune-file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
250 (if (file-exists-p fortune-dat)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
251 (cond ((file-newer-than-file-p fortune-file fortune-dat)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
252 (message "Compiling new fortune database %s" fortune-dat)
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
253 (shell-command
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
254 (concat fortune-strfile fortune-strfile-options
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
255 " " fortune-file fortune-quiet-strfile-options))))))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
256 (t (error "Can't compile fortune file %s" fortune-file)))))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 38524
diff changeset
257
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 38524
diff changeset
258
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
259 ;;; **************
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
260 ;;; Use fortune for signature
37426
71d360920aad Fix autoload cookies.
Gerd Moellmann <gerd@gnu.org>
parents: 30860
diff changeset
261 ;;;###autoload
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
262 (defun fortune-to-signature (&optional file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
263 "Create signature from output of the fortune program.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
264
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
265 If called with a prefix asks for the FILE to choose the fortune from,
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
266 otherwise uses the value of `fortune-file'. If you want to have fortune
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
267 choose from a set of files in a directory, call interactively with prefix
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
268 and choose the directory as the fortune-file."
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
269 (interactive
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
270 (list
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
271 (if current-prefix-arg
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
272 (fortune-ask-file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
273 fortune-file)))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
274 (save-excursion
57825
627816ec9a05 (fortune-to-signature): Don't use interactive-p.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
275 (fortune-in-buffer t file)
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
276 (set-buffer fortune-buffer-name)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
277 (let* ((fortune (buffer-string))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
278 (signature (concat fortune-sigstart fortune fortune-sigend)))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
279 (setq mail-signature signature)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
280 (if (boundp 'message-signature)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
281 (setq message-signature signature)))))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
282
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
283
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
284 ;;; **************
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
285 ;;; Display fortune
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
286 (defun fortune-in-buffer (interactive &optional file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
287 "Put a fortune cookie in the *fortune* buffer.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
288
57825
627816ec9a05 (fortune-to-signature): Don't use interactive-p.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
289 INTERACTIVE is ignored. Optional argument FILE,
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
290 when supplied, specifies the file to choose the fortune from."
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
291 (let ((fortune-buffer (or (get-buffer fortune-buffer-name)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
292 (generate-new-buffer fortune-buffer-name)))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
293 (fort-file (expand-file-name
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
294 (substitute-in-file-name
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
295 (or file fortune-file)))))
105829
328150f0cf76 * url-util.el (url-insert-entities-in-string):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 100908
diff changeset
296 (with-current-buffer fortune-buffer
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
297 (toggle-read-only 0)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
298 (erase-buffer)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
299
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
300 (if fortune-always-compile
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
301 (fortune-compile fort-file))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
302
98269
c4f6098c0914 Justin Bogner <mail at justinbogner.com> (tiny change)
Glenn Morris <rgm@gnu.org>
parents: 94675
diff changeset
303 (apply 'call-process
98271
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
304 fortune-program ; program to call
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
305 nil fortune-buffer nil ; INFILE BUFFER DISPLAY
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
306 (append (if (stringp fortune-program-options)
7aacb688e121 Remove leading `*' from defcustom docs.
Glenn Morris <rgm@gnu.org>
parents: 98269
diff changeset
307 (split-string fortune-program-options)
98292
1943be2bc7c2 (fortune-in-buffer): Fix a bug which forced
Tassilo Horn <tassilo@member.fsf.org>
parents: 98271
diff changeset
308 fortune-program-options) (list fort-file))))))
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
309
37426
71d360920aad Fix autoload cookies.
Gerd Moellmann <gerd@gnu.org>
parents: 30860
diff changeset
310 ;;;###autoload
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
311 (defun fortune (&optional file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
312 "Display a fortune cookie.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
313
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
314 If called with a prefix asks for the FILE to choose the fortune from,
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
315 otherwise uses the value of `fortune-file'. If you want to have fortune
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
316 choose from a set of files in a directory, call interactively with prefix
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
317 and choose the directory as the fortune-file."
30860
d0e5a99cbda1 (fortune) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 25480
diff changeset
318 (interactive
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
319 (list
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
320 (if current-prefix-arg
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
321 (fortune-ask-file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
322 fortune-file)))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
323 (fortune-in-buffer t file)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
324 (switch-to-buffer (get-buffer fortune-buffer-name))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
325 (toggle-read-only 1))
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
326
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
327
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
328 ;;; Provide ourselves.
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
329 (provide 'fortune)
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
330
93975
1e3a407766b9 Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 79716
diff changeset
331 ;; arch-tag: a1e4cb8a-3792-40e7-86a7-fc75ce094bcc
25480
f33ed9540026 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
332 ;;; fortune.el ends here