Nico> Hi Ian, answer by upstream: "emacs version (including
Nico> distribution) openbox version ..emacs and .emacs.d files anything
Nico> else you can think of

[EMAIL PROTECTED]:~$ dpkg --list 'emacs22*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                    Version                 Description
+++-=======================-=======================-==============================================================
un  emacs22                 <none>                  (no description available)
ii  emacs22-bin-common      22.1+1-2.3              The GNU Emacs editor's 
shared, architecture dependent files
ii  emacs22-common          22.1+1-2.3              The GNU Emacs editor's 
shared, architecture independent infras
ii  emacs22-common-non-dfsg 22.1+1-1                GNU Emacs shared, 
architecture independent, non-DFSG items
ii  emacs22-el              22.1+1-2.3              GNU Emacs LISP (.el) files
ii  emacs22-gtk             22.1+1-2.3              The GNU Emacs editor (with 
GTK user interface)
un  emacs22-nox             <none>                  (no description available)

~/.emacs:

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(auto-insert-directory "~/.emacs.d/auto-insert/")
 '(backup-directory-alist (quote ((".*" . "~/.emacs.d/backups"))))
 '(browse-url-browser-function (quote browse-url-generic))
 '(browse-url-generic-program "/usr/bin/sensible-browser")
 '(browse-url-xterm-program "x-terminal-emulator")
 '(c-block-comment-prefix "*")
 '(case-fold-search t)
 '(column-number-mode t)
 '(comment-style (quote multi-line))
 '(current-language-environment "English")
 '(desktop-buffers-not-to-save 
"\\(\\.SCORE\\|^nn\\.a[0-9]+\\|\\.log\\|(ftp)\\|^tags\\|^TAGS\\|\\`\\*info\\*\\'\\)$")
 '(desktop-save-mode t)
 '(dig-browser-local-server "192.168.0.1")
 '(ediff-grab-mouse nil)
 '(ediff-window-setup-function (quote ediff-setup-windows-plain))
 '(enable-local-eval nil)
 '(enable-local-variables t)
 '(enable-recursive-minibuffers t)
 '(even-window-heights nil)
 '(fill-column 72)
 '(find-file-wildcards nil)
 '(gnus-build-sparse-threads nil)
 '(gnus-default-article-saver (quote gnus-summary-save-in-mail))
 '(gnus-duplicate-list-length 5000)
 '(gnus-extra-headers (quote (Newsgroups To)))
 '(gnus-fetch-old-headers (quote (quote invisible)))
 '(gnus-group-default-list-level 3)
 '(gnus-group-use-permanent-levels nil)
 '(gnus-inhibit-startup-message t)
 '(gnus-interactive-exit nil)
 '(gnus-kill-files-directory "~/News/score")
 '(gnus-novice-user nil)
 '(gnus-posting-styles (quote (("comp\\.lang\\.functional" ("Newsgroups" 
"comp.lang.functional")) ("comp\\.text\\.sgml" ("Newsgroups" "comp.text.sgml")) 
("comp\\.theory" ("Newsgroups" "comp.theory")) ("comp\\.unix\\.programmer" 
("Newsgroups" "comp.unix.programmer")) ("sci\\.math\\.research" ("Newsgroups" 
"sci.math.research")) ("mail\\.jobs" (address "[EMAIL PROTECTED]")))))
 '(gnus-prompt-before-saving t)
 '(gnus-read-newsrc-file nil)
 '(gnus-save-duplicate-list t)
 '(gnus-save-killed-list nil)
 '(gnus-save-newsrc-file nil)
 '(gnus-select-method (quote (nnml "")))
 '(gnus-smiley-file-types (quote ("xpm" "pbm" "png")))
 '(gnus-summary-goto-unread nil)
 '(gnus-summary-line-format "%U%R%z%I%(%[%4L: %-20,20f%]%) %s
")
 '(gnus-summary-make-false-root (quote none))
 '(gnus-suppress-duplicates t)
 '(gnus-thread-indent-level 2)
 '(gnus-treat-display-smileys t)
 '(gnus-treat-highlight-signature nil)
 '(gnus-use-cache nil)
 '(gnus-verbose 6)
 '(gnus-visible-headers (quote ("^X-Spambayes-Classification: unsure" "^From:" 
"^Newsgroups:" "^Subject:" "^Date:" "^Followup-To:" "^Reply-To:" "^To:" 
"^[BGF]?Cc:" "^Mail-Copies-To:" "^Mail-Followup-To:")))
 '(hide-ifdef-initially nil)
 '(imenu-sort-function (quote imenu--sort-by-name))
 '(indent-tabs-mode nil)
 '(inhibit-splash-screen t)
 '(initial-scratch-message "")
 '(insert-default-directory nil)
 '(line-number-mode nil)
 '(lpr-add-switches nil)
 '(mail-sources (quote ((file :path "~/Mail/spool/mail.other") (directory :path 
"~/Mail/spool" :suffix ".spool"))))
 '(message-cite-function (quote sc-cite-original))
 '(message-courtesy-message nil)
 '(message-default-mail-headers "Bcc: itz
")
 '(message-deletable-headers (quote (Lines)))
 '(message-log-max t)
 '(message-signature-file "~/mirror/.signature")
 '(message-wash-forwarded-subjects t)
 '(mouse-1-click-follows-link nil)
 '(mouse-highlight 1)
 '(nnmail-expiry-wait (quote immediate))
 '(nnmail-extra-headers (quote (To Newsgroups)))
 '(recentf-mode t nil (recentf))
 '(safe-local-variable-values (quote ((generated-autoload-file . 
"/home/itz/src/yaham/yaham-autoloads.el"))))
 '(save-place t nil (saveplace))
 '(save-place-file "~/.emacs.d/places")
 '(sc-citation-leader "")
 '(sc-default-attribution "anon")
 '(sc-default-author-name "Somebody")
 '(set-mark-command-repeat-pop t)
 '(smiley-data-directory "/usr/local/share/emacs/smilies/")
 '(smiley-regexp-alist (quote (("\\(:-?)\\)\\W" 1 "smile") ("\\(;-?)\\)\\W" 1 
"blink") ("\\(:-]\\)\\W" 1 "forced") ("\\(8-)\\)\\W" 1 "braindamaged") 
("\\(:-|\\)\\W" 1 "indifferent") ("\\(:-[/\\]\\)\\W" 1 "wry") ("\\(:-(\\)\\W" 1 
"sad") ("\\(X-)\\)\\W" 1 "dead") ("\\(:-{\\)\\W" 1 "frown") ("!!!*" 0 "exclam") 
("\\?\\?\\?*" 0 "question"))))
 '(speedbar-track-mouse-flag nil)
 '(speedbar-use-images nil)
 '(tooltip-mode nil nil (tooltip))
 '(tramp-verbose 8)
 '(truncate-lines t)
 '(uniquify-buffer-name-style (quote post-forward-angle-brackets) nil 
(uniquify))
 '(use-dialog-box nil)
 '(user-full-name "Ian Zimmerman")
 '(user-mail-address "[EMAIL PROTECTED]")
 '(vc-handled-backends (quote (RCS)))
 '(version-control (quote never)))

(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(font-lock-comment-face ((((class color) (background light)) (:foreground 
"tomato4"))))
 '(next-error ((t (:inherit highlight)))))


(add-to-list 'load-path "~/.emacs.d/lisp")

(setq backup-enable-predicate
      (lambda (f)
        (and (normal-backup-enable-predicate f)
             (not (= 0 (user-uid))))))

(cond
 ((display-graphic-p)
  (setq tool-bar-map nil)
  (substitute-key-definition 'tmm-menubar 'menu-bar-mode global-map))
 (t
  (let ((term (getenv "TERM")))
    (cond
     ((string-match "\\`linux" term)
      (setq ediff-use-faces nil)
      (menu-bar-mode 0)
      (define-key function-key-map [ 27 ?\[ ?\2 ?\~ ] [ insert ] ))
     ((string-match "\\`rxvt" term)
      (menu-bar-mode 0)
      (unless (terminal-coding-system)
        (set-terminal-coding-system 'iso-latin-1))
      (let ((value (current-input-mode)))
        ;; The third arg only matters in that it is not t or nil.
        (set-input-mode (nth 0 value) (nth 1 value) 'iso-latin-1 (nth 3 value)))
      (define-key function-key-map [ 27 ?\[ ?\2 ?\~ ] [ insert ] ))
     (t nil)))))

(autoload 'svn-status "psvn" 
  "Examine the status of Subversion working copy in current directory." t)
(autoload 'wmanip-mode "wmanip"
  "Set or toggle the wmanip minor mode." t)
(autoload 'turn-on-wmanip-mode "wmanip"
  "Turn on the wmanip minor mode." t)
(autoload 'turn-off-wmanip-mode "wmanip"
  "Turn off the wmanip minor mode." t)
(autoload 'minibuffer-yank "minibuffer-yank"
  "Insert the value of 'minibuffer-yank-string' if non-nil." t)
(autoload 'eclips-toggle-recording "eclips"
  "Toggle collecting history of clipboard contents." t)  
(autoload 'eclips-mode "eclips"
   "Set or toggle the eclips minor mode." t)
(autoload 'bm-man-cmplt "bm-man-cmplt"
  "Programmed completion function of Unix manual page for `completing-read'.")
(autoload 'pgg-encrypt-region "pgg"
  "Encrypt the current region." t)
(autoload 'pgg-encrypt-symmetric-region "pgg"
  "Encrypt the current region with symmetric algorithm." t)
(autoload 'pgg-decrypt-region "pgg"
  "Decrypt the current region." t)
(autoload 'pgg-sign-region "pgg"
  "Sign the current region." t)
(autoload 'pgg-verify-region "pgg"
  "Verify the current region." t)
(autoload 'pgg-insert-key "pgg"
  "Insert the ASCII armored public key." t)
(autoload 'pgg-snarf-keys-region "pgg"
  "Import public keys in the current region." t)

(load-library "autoload")
(load-library "mindent")

(add-to-list 'auto-mode-alist '("\\.hs\\'" . yaham-ghc-mode))
(add-to-list 'auto-mode-alist '("\\.lhs\\'" . latex-mode))

(defun next-history-element-end (n)
  (interactive "p")
  (next-history-element n)
  (goto-char (point-max)))

(mapcar
 (lambda (kmap)
   (define-key kmap [ next ] 'next-history-element-end)
   (define-key kmap "\C-cy" 'minibuffer-yank))
 (list minibuffer-local-map minibuffer-local-completion-map
       minibuffer-local-filename-completion-map 
minibuffer-local-must-match-filename-map
       minibuffer-local-ns-map minibuffer-local-must-match-map))

(defsubst insert-include-symbol ()
  (insert (upcase (concat (file-name-nondirectory
                           (file-name-sans-extension buffer-file-name))
                          "_"
                          (file-name-extension buffer-file-name)))))

(setq auto-insert-alist
      (list
       '(("\\.[Hh]\\'" . "C or C++ header") .
         (nil
          "#ifndef " '(insert-include-symbol) "_INCLUDED\n"
          "#define " '(insert-include-symbol) "_INCLUDED\n"
          _
          '(goto-char (point-max))
          "\n#endif\n\n"))
       '((emacs-lisp-mode . "Emacs Lisp program") .
         (nil
          ";;; " '(insert (file-name-nondirectory buffer-file-name)) " --- " _ 
"\n\n"
          _
          '(goto-char (point-max))
          "\n(provide '" '(insert (file-name-nondirectory 
(file-name-sans-extension buffer-file-name))) ")"
          "\n\n\n;; Local Variables:"
          "\n;; End:"
          "\n\n;;; " '(insert (file-name-nondirectory buffer-file-name)) " ends 
here\n"))))

(add-to-list 'desktop-globals-to-save '(extended-command-history . 100))
(add-to-list 'desktop-globals-to-save '(compile-history . 20))
(add-to-list 'desktop-globals-to-save '(grep-history . 20))
(add-to-list 'desktop-globals-to-save '(minibuffer-history . 100))
(add-to-list 'desktop-globals-to-save '(file-name-history . 100))
(add-to-list 'desktop-globals-to-save '(query-replace-history . 20))
(add-to-list 'desktop-globals-to-save '(read-expression-history . 20))
(add-to-list 'desktop-globals-to-save '(gnus-group-history . 20))

(defadvice dabbrev-expand (after dabbrev-expand-after-prefix
                                 activate compile)
  "Perform dynamic abbreviation expansion with prefix, like static abbrev."
  (if (and
       ;(boundp 'abbrev-start-location)
       ;(boundp 'abbrev-start-location-buffer)
           (eq (current-buffer) abbrev-start-location-buffer)
           (markerp abbrev-start-location)
           (stringp dabbrev--last-expansion)
           (eq (- dabbrev--last-abbrev-location
                  (length dabbrev--last-expansion) 1)
               (marker-position abbrev-start-location)))
      (save-excursion
        (goto-char (- dabbrev--last-abbrev-location
                      (length dabbrev--last-expansion)))
        (backward-delete-char 1)
        (setq abbrev-start-location nil)
        (setq abbrev-start-location-buffer nil))))

(defadvice comment-kill (around comment-kill-on-reindent
                                activate compile)
  "Stop \\[comment-kill] from reindenting the affected lines."
  (let ((indent-line-function (lambda () nil)))
    ad-do-it))

;; fix emacs21 screwup with file completion
(defun completion-setup-fix ()
  (with-current-buffer standard-output
    (when (and (eq minibuffer-completion-table 'read-file-name-internal)
               (boundp 'completion-base-size)
               (< completion-base-size 0))
      (setq completion-base-size 0))))

(add-hook 'completion-setup-hook 'completion-setup-fix t)    

(setq message-send-method-alist '((mail message-mail-p message-send-via-mail)))

(defun message-goto-mail-copies-to ()
  "Move point to the Mail-Copies-To header."
  (interactive)
  (message-position-on-field "Mail-Copies-To" "Followup-To" "To" "Newsgroups"))

(defun eval-after-load-message ()
  (define-key message-mode-map "\C-ca" 'mail-abbrev-insert-alias)
  (define-key message-mode-map "\C-c\C-f\C-m" 'message-goto-mail-copies-to))

(defun eval-after-load-makefile ()
  (define-key makefile-mode-map "\C-cr" 'makefile-insert-macro-ref))

(defun eval-after-load-cc ()
  (setq c-offsets-alist
        '((defun-block-intro . 2)
          (brace-list-intro . 2)
          (statement-cont . 2)
          (class-open . 2)
          (class-close . 2)
          (inclass . 2))))

(defun eval-after-load-speedbar ()
  (speedbar-add-supported-extension ".ml")
  (speedbar-add-supported-extension ".mli"))

(defun my-gnus-summary-mark-as-processable (&optional unmark)
  "Set the process mark on the current article.
If UNMARK is non-nil, remove the process mark instead."
  (interactive "P")
  (if unmark
      (gnus-summary-remove-process-mark
       (gnus-summary-article-number))
    (gnus-summary-set-process-mark (gnus-summary-article-number)))
  (gnus-summary-recenter)
  (gnus-summary-position-point))

(defun gnus-summary-train-spam (&optional arg)
  (interactive "P")
  (let ((gnus-last-shell-command "ssh foo.bar.net procmail -f- 
DEFAULT=/home/itz/Mail/newspam /dev/null"))
    (gnus-summary-pipe-output arg))
  (let ((b (get-buffer "*Shell Command Output*")))
    (if (and (bufferp b) (= 0 (buffer-size b)))
        (kill-buffer b))))

(defun eval-after-load-gnus-sum ()
  (define-key gnus-summary-mode-map "Bs" 'gnus-summary-train-spam)
  (define-key gnus-summary-mark-map "#" 'my-gnus-summary-mark-as-processable)
  (define-key gnus-summary-mark-map "!" "MM!!")
  (define-key gnus-summary-mark-map "?" "MM??")
  (define-key gnus-summary-mark-map "d" "MMdd")
  (define-key gnus-summary-mark-map "e" "MMee")
  (define-key gnus-summary-mark-map "u" "MMuu"))

(defun comint-maybe-goto-error (&optional arg)
  (interactive "P")
  (if (and (boundp 'compilation-shell-minor-mode)
           compilation-shell-minor-mode
           (eq 'highlight
               (get-text-property (point) 'mouse-face)))
      (call-interactively 'compile-goto-error)
    (comint-send-input)))

(defun eval-after-load-comint ()
  (define-key comint-mode-map "\C-m" 'comint-maybe-goto-error))

(defun eval-after-load-yaham ()
  (load-library "yaham-skel"))

(eval-after-load "message" '(eval-after-load-message))
(eval-after-load "make-mode" '(eval-after-load-makefile))
(eval-after-load "cc-mode" '(eval-after-load-cc))
(eval-after-load "speedbar" '(eval-after-load-speedbar))
(eval-after-load "gnus-sum" '(eval-after-load-gnus-sum))
(eval-after-load "comint" '(eval-after-load-comint))
(eval-after-load "yaham" '(eval-after-load-yaham))

(defun gnus-part-display-hook-deolivize ()
  "Remove excessive punctuation from messages."
  (if (and (boundp 'part-number) (boundp 'total-parts)
           (integerp part-number) (integerp total-parts))
      (let ((asked nil)
            (prompt
             (format "Remove excessive punctuation [part %d of %d]? " 
part-number total-parts)))
        (goto-char (point-min))
        (catch 'leave
          (while (re-search-forward "\\(!!!*\\|\\?\\?\\?*\\)" nil 'move)
            (unless asked
              (unless (y-or-n-p prompt)
                (throw 'leave nil))
              (setq asked t))
            (delete-region (1+ (match-beginning 0)) (match-end 0)))))))

(add-hook 'gnus-part-display-hook 'gnus-part-display-hook-deolivize)

(mapcar
 (lambda (h)
   (add-hook h 'imenu-add-menubar-index))
 (list
  'Man-mode-hook
  'makefile-mode-hook
  'sh-mode-hook
  'c-mode-common-hook
  'emacs-lisp-mode-hook))

(defun c-mode-hook-doxy-comment ()
  (setq comment-continue "  "))

(add-hook 'c-mode-hook 'c-mode-hook-doxy-comment)

(defun tex-mode-hook-trailer ()
  (setq tex-trailer "\\end{document}\n"))

(add-hook 'tex-mode-hook 'tex-mode-hook-trailer)

(setq
 sgml-live-element-indicator t
 sgml-set-face t
 sgml-auto-activate-dtd t
 sgml-local-ecat-files '("~/mirror/sgml/ECAT"))

(global-set-key "\C-x\C-q" 'toggle-read-only)

(fset 'copy-sexp
   [?\C-\M-  ?\M-w])

(fset 'insert-copyright
   [ ?\C-x ?i ?~ ?/ ?c ?o ?p ?y ?r ?i ?g ?h ?t return ?\C-u ?\C-x ?\C-x ?\M-\; 
?\C-x ?\C-x ])

(fset 'insert-vc-id
   [return ?$ ?I ?d ?: ?\S-  ?$ ?\C-a ?\C-  ?\C-e return  ?\C-u ?\C-x ?\C-x 
?\M-\; ?\C-x ?\C-x ])

(defun insert-file-name-variable-spec (var filename)
  (interactive "vVariable: \nfFile: ")
  (goto-char (point-max))
  (backward-page 1)
  (re-search-forward "\\(.*\\) Local Variables:\\(.*\\)\n")
  (insert (format "%s %s: \"%s\"%s\n"
                  (match-string 1)
                  (symbol-name var)
                  (expand-file-name filename)
                  (match-string 2))))

(defun man-complete (pages)
  "Get a Un*x manual page and put it in a buffer."
  (interactive
   (progn
     (require 'man)
     (let ((default-entry (Man-default-man-entry)))
       (list (completing-read
              "Manual entry: "
              'bm-man-cmplt nil nil nil
              'Man-topic-history default-entry)))))
  (if (string= pages "")
      (error "No man args given")
    (man pages)))

(global-set-key [ f5 ?a ] 'auto-insert)
(global-set-key [ f5 ?b ] 'bury-buffer)
(global-set-key [ f5 ?c ] 'compile)
(global-set-key [ f5 ?e ] 'expand-abbrev)
(global-set-key [ f5 ?g ] 'glasses-mode)
(global-set-key [ f5 ?h ] 'ffap)
(global-set-key [ f5 ?i ] 'insert-vc-id)
(global-set-key [ f5 ?j ] 'auto-fill-mode)
(global-set-key [ f5 ?k ] 'insert-copyright)
(global-set-key [ f5 ?m ] 'man-complete)
(global-set-key [ f5 ?n ] 'gnus)
(global-set-key [ f5 ?o ] 'copy-sexp)
(global-set-key [ f5 ?p ] 'show-paren-mode)
(global-set-key [ f5 ?q ] 'eclips-toggle-recording)
(global-set-key [ f5 ?r ] 'revert-buffer)
(global-set-key [ f5 ?s ] 'grep)
(global-set-key [ f5 ?t ] 'toggle-truncate-lines)
(global-set-key [ f5 ?v ] 'view-mode)
(global-set-key [ f5 ?w ] 'wmanip-mode)
(global-set-key [ f5 ?x ] 'imenu)
(global-set-key [ f5 ?y ] 'clipboard-yank)
(global-set-key [ f5 ?z ] 'eclips-mode)

(global-set-key [ f6 ] 'speedbar-get-focus)

; (mindent-bind global-map nil nil 'f8)

(defun mouse-find-tag (event)
  "Find definitions of the name around mouse click point, with tags."
  (interactive "@e")
  (mouse-set-point event)
  (require 'etags)
  (let ((tag (funcall (or find-tag-default-function
                          (get major-mode 'find-tag-default-function)
                          'find-tag-default))))
    (find-tag tag)))

(defun mouse-imenu (event)
  "Find definitions of the name around mouse click point, with imenu."
  (interactive "@e")
  (mouse-set-point event)
  (let ((imenu-always-use-completion-buffer-p t)
        (unread-command-events
         (if (assoc (thing-at-point 'symbol) imenu--index-alist) (list ?\n)
           nil)))
    (call-interactively 'imenu)))

(global-set-key [ f8 C-mouse-2 ] 'mouse-split-window-vertically)
(global-set-key [ f8 mouse-2 ] 'mouse-imenu)
(global-set-key [ f8 S-mouse-2 ] 'mouse-find-tag)

(setq disabled-command-function nil)

(if (display-graphic-p) (server-start))

~/.Xresources:

!prevent Emacs from interpreting the first line as a mode spec
!
Emacs.font: -*-lucidatypewriter-medium-*-*-*-12-*-*-*-*-*-*-*
Emacs.geometry: 112x48
Emacs.background: GhostWhite
Emacs.foreground: Gray30
Emacs.toolBar: off
!
Rxvt.foreground: Gray30
Rxvt.background: seashell
Rxvt.font: 6x13
Rxvt.geometry: 116x40
Rxvt.cutchars: " !#$&*_+=`{[()]};\"'|\\<>.?/"
Rxvt.saveLines: 200
!
XBoard*boardSize: middling
XBoard.pixmapDirectory: /usr/local/share/games/xboard-themes/xboard_fantasy
XBoard.animateDragging: true
XBoard.icsAlarm: false
XBoard.ringBellAfterMoves: true
XBoard.colorizeMessages: true
XBoard.colorChannel: default
XBoard.colorKibitz: default
XBoard.colorTell: default, default, 1
XBoard.colorChallenge: red, default, 1
XBoard.soundProgram: /usr/local/bin/aplay-quiet
XBoard.soundMove: /usr/share/sounds/sound-icons/cembalo-3.wav
XBoard.soundChallenge: /usr/share/sounds/sound-icons/cembalo-1.wav
XBoard.soundRequest: /usr/share/sounds/sound-icons/cembalo-1.wav
XBoard.soundSeek: /usr/share/sounds/sound-icons/chord-7.wav
!XBoard*gateway: madbat.mine.nu
!for xaw3d
*beNiceToColormap: false
!copied from xinitrc
!Xft.dpi: 96
!Xft.hinting: 1
!Xft.hintstyle: hintmedium

HTH

-- 
Ham is for reading, not for eating.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to