mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-30 08:09:04 +00:00
Merge remote-tracking branch 'origin/master' into feature/pgtk
This commit is contained in:
commit
bdeb189cf2
@ -171,7 +171,9 @@ usually not run for the initial frame, since Emacs reads the initial
|
||||
file only after creating that frame. However, if the initial frame is
|
||||
specified to use a separate minibuffer frame (@pxref{Minibuffers and
|
||||
Frames}), the functions will be run for both, the minibuffer-less and
|
||||
the minibuffer frame.
|
||||
the minibuffer frame. Alternatively, you can add functions to these
|
||||
hooks in your ``early init file'' (@pxref{Init File}), in which case
|
||||
they will be in effect for the initial frame as well.
|
||||
|
||||
@defvar frame-inherited-parameters
|
||||
This variable specifies the list of frame parameters that a newly
|
||||
|
@ -632,7 +632,7 @@ disabled by default.
|
||||
@item setq
|
||||
@cmindex setq
|
||||
Set variable values, using the function @code{setq} like a command.
|
||||
@xref{Setting variables,,, elisp, GNU Emacs Lisp Reference Manual}.
|
||||
@xref{Setting Variables,,, elisp, GNU Emacs Lisp Reference Manual}.
|
||||
|
||||
@item source
|
||||
@cmindex source
|
||||
|
35
etc/NEWS
35
etc/NEWS
@ -552,6 +552,16 @@ user options that are no longer needed are now obsolete:
|
||||
'image-dired-display-window-width-correction',
|
||||
'image-dired-temp-image-file'.
|
||||
|
||||
---
|
||||
*** Navigation and marking commands now work in image display buffer.
|
||||
The following new bindings have been added:
|
||||
|
||||
n / SPC image-dired-display-previous-thumbnail-original
|
||||
p / DEL image-dired-display-next-thumbnail-original
|
||||
m image-dired-mark-thumb-original-file
|
||||
d image-dired-flag-thumb-original-file
|
||||
u image-dired-unmark-thumb-original-file
|
||||
|
||||
---
|
||||
*** Reduce dependency on external "exiftool" command.
|
||||
The 'image-dired-copy-with-exif-file-name' no longer requires an
|
||||
@ -562,7 +572,7 @@ external "exiftool" command to be available. The user options
|
||||
---
|
||||
*** New command for the thumbnail buffer.
|
||||
The new command 'image-dired-unmark-all-marks' has been added. It is
|
||||
bound to 'U' in the thumbnail buffer.
|
||||
bound to 'U' in the thumbnail and display buffer.
|
||||
|
||||
---
|
||||
*** Support Thumbnail Managing Standard v0.9.0 (Dec 2020).
|
||||
@ -583,13 +593,16 @@ used for images that are flagged for deletion in the Dired buffer
|
||||
associated with Image-Dired.
|
||||
|
||||
---
|
||||
*** The 'image-dired-slideshow-start' command has been revamped.
|
||||
*** 'image-dired-slideshow-start' is now bound to 'S'.
|
||||
It is bound in both the thumbnail and display buffer.
|
||||
|
||||
---
|
||||
*** The 'image-dired-slideshow-start' command no longer prompts.
|
||||
It no longer inconveniently prompts for a number of images and a
|
||||
delay: it runs indefinitely, but stops automatically on any command.
|
||||
You can set the delay with a prefix argument, or a negative prefix
|
||||
argument to prompt anyways. Customize the user option
|
||||
'image-dired-slideshow-delay' to change the default, which is 5
|
||||
seconds. It is bound to 'S' in the thumbnail and display buffer.
|
||||
argument to prompt for a delay. Customize the user option
|
||||
'image-dired-slideshow-delay' to change the default from 5 seconds.
|
||||
|
||||
---
|
||||
*** Support for bookmark.el.
|
||||
@ -681,6 +694,18 @@ When calling 'abbreviate-file-name' on a Tramp filename, the result
|
||||
will abbreviate the user's home directory, for example by abbreviating
|
||||
"/ssh:user@host:/home/user" to "/ssh:user@host:~".
|
||||
|
||||
** Browse URL
|
||||
|
||||
---
|
||||
*** Support for the Netscape web browser has been removed.
|
||||
This support has been obsolete since Emacs 25.1. The final version of
|
||||
the Netscape web browser was released in February, 2008.
|
||||
|
||||
---
|
||||
*** Support for the Galeon web browser has been removed.
|
||||
This support has been obsolete since Emacs 25.1. The final version of
|
||||
the Galeon web browser was released in September, 2008.
|
||||
|
||||
|
||||
* New Modes and Packages in Emacs 29.1
|
||||
|
||||
|
@ -304,8 +304,8 @@ position, type <DEL>. This is the key on the keyboard usually labeled
|
||||
"Backspace"--the same one you normally use, outside Emacs, to delete
|
||||
the last character typed.
|
||||
|
||||
There may also be another key on your keyboard labeled <Delete>, but
|
||||
that's not the one we refer to as <DEL>.
|
||||
There is usually another key on your keyboard labeled <Delete>, but
|
||||
that's not the one we refer to as <DEL> in Emacs.
|
||||
|
||||
>> Do this now--type a few characters, then delete them by
|
||||
typing <DEL> a few times. Don't worry about this file
|
||||
|
@ -985,6 +985,17 @@ find-file.
|
||||
|
||||
בנוסף, מדריך למשתמש מתאר עוד הרבה מאד תכונות של Emacs.
|
||||
|
||||
* התקנת חבילות הרחבה
|
||||
--------------------
|
||||
קיימות לא מעט חבילות תוכנה עבור Emacs אשר מרחיבות את היכולות שלו. חבילות
|
||||
הרחבה אלו נכתבו ע״י קהילת משתמשי Emacs והן מהוות אוסף עשיר של תכונות
|
||||
התומכות בשפות תכנות נוספות, ערכות נושא נוספות, תוספים לשילוב יישומים
|
||||
חיצוניים, ועוד ועוד.
|
||||
|
||||
לצפיה ברשימת חבילות ההרחבה הזמינות, יש להקיש M-x list-packages. בתצוגה
|
||||
שתיפתח בעקבות זאת תוכלו לעיין בתיאור של חבילות, לבחור חבילות להתקנה במחשב
|
||||
שלכם, להסיר חבילות, ועוד. פרטים נוספים לגבי ניהול חבילות הרחבה ניתן למצוא
|
||||
במדריך למשתמש.
|
||||
|
||||
* לסיום
|
||||
-------
|
||||
|
@ -1178,14 +1178,27 @@ quei file. Dired è descritta nel manuale Emacs nel nodo chiamato
|
||||
Il manuale descrive molte altre funzionalità di Emacs.
|
||||
|
||||
|
||||
* INSTALLAZIONE DI ULTERIORI PACCHETTI
|
||||
|
||||
Ci sono tantissimi pacchetti che estendono le funzionalità di Emacs,
|
||||
scritti dalla comunità. Questi pacchetti includono il supporto a
|
||||
nuovi linguaggi, aggiungono temi addizionali, rendono possibile
|
||||
interoperare con applicazioni esterne e molto, molto altro.
|
||||
|
||||
Per vedere una lista di tutti i pacchetti disponibili, inserisci
|
||||
M-x list-packages. Nell'elenco che viene mostrato, puoi installare o
|
||||
disinstallare pacchetti, o leggerne la descrizione. Consulta il
|
||||
manuale per ulteriori informazioni sulla gestione dei pacchetti.
|
||||
|
||||
|
||||
* CONCLUSIONI
|
||||
-------------
|
||||
|
||||
Per chiudere una sessione di Emacs si usa C-x C-c.
|
||||
|
||||
Questo documento è stato creato per essere utile a tutti i nuovi
|
||||
utenti, se qualcosa per te è stato poco chiaro non dare la colpa a te
|
||||
stesso: lamentati!
|
||||
Questo documento è pensato per essere comprensibile a tutti i nuovi
|
||||
utenti, quindi se hai trovato qualcosa di poco chiaro, non dare la
|
||||
colpa a te stesso: lamentati!
|
||||
|
||||
|
||||
* COPIA
|
||||
|
@ -66,8 +66,6 @@
|
||||
|
||||
(defalias 'semantic-mode-line-update #'force-mode-line-update)
|
||||
|
||||
;; Since Emacs 22 major mode functions should use `run-mode-hooks' to
|
||||
;; run major mode hooks.
|
||||
(define-obsolete-function-alias 'semantic-run-mode-hooks #'run-mode-hooks "28.1")
|
||||
|
||||
;; Fancy compat usage now handled in cedet-compat
|
||||
|
@ -730,6 +730,8 @@ Entry to this mode runs the hooks on `comint-mode-hook'."
|
||||
(or (file-remote-p default-directory) ""))
|
||||
(setq-local comint-accum-marker (make-marker))
|
||||
(setq-local font-lock-defaults '(nil t))
|
||||
(add-function :filter-return (local 'filter-buffer-substring-function)
|
||||
#'comint--unmark-string-as-output)
|
||||
(add-hook 'change-major-mode-hook 'font-lock-defontify nil t)
|
||||
(add-hook 'isearch-mode-hook 'comint-history-isearch-setup nil t)
|
||||
(add-hook 'completion-at-point-functions 'comint-completion-at-point nil t)
|
||||
@ -1815,7 +1817,8 @@ Ignore duplicates if `comint-input-ignoredups' is non-nil."
|
||||
(ring-insert comint-input-ring cmd)))
|
||||
|
||||
(defconst comint--prompt-rear-nonsticky
|
||||
'(field inhibit-line-move-field-capture read-only font-lock-face)
|
||||
'( field inhibit-line-move-field-capture read-only font-lock-face
|
||||
insert-in-front-hooks)
|
||||
"Text properties we set on the prompt and don't want to leak past it.")
|
||||
|
||||
(defun comint-send-input (&optional no-newline artificial)
|
||||
@ -2152,14 +2155,7 @@ Make backspaces delete the previous character."
|
||||
(goto-char (process-mark process)) ; In case a filter moved it.
|
||||
|
||||
(unless comint-use-prompt-regexp
|
||||
(with-silent-modifications
|
||||
(add-text-properties comint-last-output-start (point)
|
||||
`(rear-nonsticky
|
||||
,comint--prompt-rear-nonsticky
|
||||
front-sticky
|
||||
(field inhibit-line-move-field-capture)
|
||||
field output
|
||||
inhibit-line-move-field-capture t))))
|
||||
(comint--mark-as-output comint-last-output-start (point)))
|
||||
|
||||
;; Highlight the prompt, where we define `prompt' to mean
|
||||
;; the most recent output that doesn't end with a newline.
|
||||
@ -2191,6 +2187,46 @@ Make backspaces delete the previous character."
|
||||
,comint--prompt-rear-nonsticky)))
|
||||
(goto-char saved-point)))))))
|
||||
|
||||
(defun comint--mark-as-output (beg end)
|
||||
(with-silent-modifications
|
||||
(add-text-properties
|
||||
beg end
|
||||
`(rear-nonsticky
|
||||
,comint--prompt-rear-nonsticky
|
||||
front-sticky
|
||||
(field inhibit-line-move-field-capture)
|
||||
field output
|
||||
inhibit-line-move-field-capture t
|
||||
;; Text inserted by a user in the middle of process output
|
||||
;; should be marked as output. This is needed for commands
|
||||
;; such as `yank' or `just-one-space' which don't use
|
||||
;; `insert-and-inherit' and thus bypass default text property
|
||||
;; inheritance.
|
||||
insert-in-front-hooks
|
||||
(,#'comint--mark-as-output ,#'comint--mark-yanked-as-output)))))
|
||||
|
||||
(defun comint--mark-yanked-as-output (beg end)
|
||||
;; `yank' removes the field text property from the text it inserts
|
||||
;; due to `yank-excluded-properties', so arrange for this text
|
||||
;; property to be reapplied in the `after-change-functions'.
|
||||
(let (fun)
|
||||
(setq
|
||||
fun
|
||||
(lambda (beg1 end1 _len1)
|
||||
(remove-hook 'after-change-functions fun t)
|
||||
(when (and (= beg beg1)
|
||||
(= end end1))
|
||||
(comint--mark-as-output beg1 end1))))
|
||||
(add-hook 'after-change-functions fun nil t)))
|
||||
|
||||
(defun comint--unmark-string-as-output (string)
|
||||
(remove-list-of-text-properties
|
||||
0 (length string)
|
||||
'( rear-nonsticky front-sticky field
|
||||
inhibit-line-move-field-capture insert-in-front-hooks)
|
||||
string)
|
||||
string)
|
||||
|
||||
(defun comint-preinput-scroll-to-bottom ()
|
||||
"Go to the end of buffer in all windows showing it.
|
||||
Movement occurs if point in the selected window is not after the process mark,
|
||||
|
@ -2230,8 +2230,7 @@ With argument ARG, insert value in current buffer after the form."
|
||||
(byte-compile-depth 0)
|
||||
(byte-compile-maxdepth 0)
|
||||
(byte-compile-output nil)
|
||||
;; This allows us to get the positions of symbols read; it's
|
||||
;; new in Emacs 22.1.
|
||||
;; This allows us to get the positions of symbols read.
|
||||
(read-with-symbol-positions inbuffer)
|
||||
(read-symbol-positions-list nil)
|
||||
;; #### This is bound in b-c-close-variables.
|
||||
|
@ -79,9 +79,6 @@
|
||||
(defmacro viper-frame-value (variable)
|
||||
"Return the value of VARIABLE local to the current frame, if there is one.
|
||||
Otherwise return the normal value."
|
||||
;; Frame-local variables are obsolete from Emacs 22.2 onwards,
|
||||
;; so we do it by hand instead.
|
||||
;; Buffer-local values take precedence over frame-local ones.
|
||||
`(if (local-variable-p ',variable)
|
||||
,variable
|
||||
;; Distinguish between no frame parameter and a frame parameter
|
||||
|
@ -808,12 +808,16 @@ also select the new frame."
|
||||
new-frame))
|
||||
|
||||
(defvar before-make-frame-hook nil
|
||||
"Functions to run before `make-frame' creates a new frame.")
|
||||
"Functions to run before `make-frame' creates a new frame.
|
||||
Note that these functions are usually not run for the initial
|
||||
frame, unless you add them to the hook in your early-init file.")
|
||||
|
||||
(defvar after-make-frame-functions nil
|
||||
"Functions to run after `make-frame' created a new frame.
|
||||
The functions are run with one argument, the newly created
|
||||
frame.")
|
||||
frame.
|
||||
Note that these functions are usually not run for the initial
|
||||
frame, unless you add them to the hook in your early-init file.")
|
||||
|
||||
(defvar after-setting-font-hook nil
|
||||
"Functions to run after a frame's font has been changed.")
|
||||
|
@ -1445,11 +1445,20 @@ for. The default is to look for `dired-marker-char'."
|
||||
"In Dired, return t if file on current line is flagged for deletion."
|
||||
(image-dired-dired-file-marked-p dired-del-marker))
|
||||
|
||||
(defmacro image-dired--with-thumbnail-buffer (&rest body)
|
||||
(declare (indent defun) (debug t))
|
||||
`(if-let ((buf (get-buffer image-dired-thumbnail-buffer)))
|
||||
(with-current-buffer buf
|
||||
(if-let ((win (get-buffer-window buf)))
|
||||
(with-selected-window win
|
||||
,@body)
|
||||
,@body))
|
||||
(user-error "No such buffer: %s" image-dired-thumbnail-buffer)))
|
||||
|
||||
(defmacro image-dired--on-file-in-dired-buffer (&rest body)
|
||||
"Run BODY with point on file at point in Dired buffer.
|
||||
Should be called from commands in `image-dired-thumbnail-mode'."
|
||||
(declare (indent defun)
|
||||
(debug 1))
|
||||
(declare (indent defun) (debug t))
|
||||
`(let ((file-name (image-dired-original-file-name))
|
||||
(dired-buf (image-dired-associated-dired-buffer)))
|
||||
(if (not (and dired-buf file-name))
|
||||
@ -1461,40 +1470,45 @@ Should be called from commands in `image-dired-thumbnail-mode'."
|
||||
|
||||
(defun image-dired-mark-thumb-original-file ()
|
||||
"Mark original image file in associated Dired buffer."
|
||||
(interactive nil image-dired-thumbnail-mode)
|
||||
(image-dired--on-file-in-dired-buffer
|
||||
(dired-mark 1))
|
||||
(image-dired-forward-image))
|
||||
(interactive nil image-dired-thumbnail-mode image-dired-display-image-mode)
|
||||
(image-dired--with-thumbnail-buffer
|
||||
(image-dired--on-file-in-dired-buffer
|
||||
(dired-mark 1))
|
||||
(image-dired-forward-image)))
|
||||
|
||||
(defun image-dired-unmark-thumb-original-file ()
|
||||
"Unmark original image file in associated Dired buffer."
|
||||
(interactive nil image-dired-thumbnail-mode)
|
||||
(image-dired--on-file-in-dired-buffer
|
||||
(dired-unmark 1))
|
||||
(image-dired-forward-image))
|
||||
(interactive nil image-dired-thumbnail-mode image-dired-display-image-mode)
|
||||
(image-dired--with-thumbnail-buffer
|
||||
(image-dired--on-file-in-dired-buffer
|
||||
(dired-unmark 1))
|
||||
(image-dired-forward-image)))
|
||||
|
||||
(defun image-dired-flag-thumb-original-file ()
|
||||
"Flag original image file for deletion in associated Dired buffer."
|
||||
(interactive nil image-dired-thumbnail-mode)
|
||||
(image-dired--on-file-in-dired-buffer
|
||||
(dired-flag-file-deletion 1))
|
||||
(image-dired-forward-image))
|
||||
(interactive nil image-dired-thumbnail-mode image-dired-display-image-mode)
|
||||
(image-dired--with-thumbnail-buffer
|
||||
(image-dired--on-file-in-dired-buffer
|
||||
(dired-flag-file-deletion 1))
|
||||
(image-dired-forward-image)))
|
||||
|
||||
(defun image-dired-toggle-mark-thumb-original-file ()
|
||||
"Toggle mark on original image file in associated Dired buffer."
|
||||
(interactive nil image-dired-thumbnail-mode)
|
||||
(image-dired--on-file-in-dired-buffer
|
||||
(if (image-dired-dired-file-marked-p)
|
||||
(dired-unmark 1)
|
||||
(dired-mark 1))))
|
||||
(interactive nil image-dired-thumbnail-mode image-dired-display-image-mode)
|
||||
(image-dired--with-thumbnail-buffer
|
||||
(image-dired--on-file-in-dired-buffer
|
||||
(if (image-dired-dired-file-marked-p)
|
||||
(dired-unmark 1)
|
||||
(dired-mark 1)))))
|
||||
|
||||
(defun image-dired-unmark-all-marks ()
|
||||
"Remove all marks from all files in associated Dired buffer.
|
||||
Also update the marks in the thumbnail buffer."
|
||||
(interactive nil image-dired-thumbnail-mode)
|
||||
(with-current-buffer (image-dired-associated-dired-buffer)
|
||||
(dired-unmark-all-marks))
|
||||
(image-dired-thumb-update-marks))
|
||||
(interactive nil image-dired-thumbnail-mode image-dired-display-image-mode)
|
||||
(image-dired--with-thumbnail-buffer
|
||||
(with-current-buffer (image-dired-associated-dired-buffer)
|
||||
(dired-unmark-all-marks))
|
||||
(image-dired-thumb-update-marks)))
|
||||
|
||||
(defun image-dired-jump-original-dired-buffer ()
|
||||
"Jump to the Dired buffer associated with the current image file.
|
||||
@ -1638,16 +1652,16 @@ You probably want to use this together with
|
||||
(defvar image-dired-display-image-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map "S" #'image-dired-slideshow-start)
|
||||
(define-key map (kbd "SPC") #'image-dired-display-next-thumbnail-original)
|
||||
(define-key map (kbd "DEL") #'image-dired-display-previous-thumbnail-original)
|
||||
(define-key map "n" #'image-dired-display-next-thumbnail-original)
|
||||
(define-key map "p" #'image-dired-display-previous-thumbnail-original)
|
||||
(define-key map "m" #'image-dired-mark-thumb-original-file)
|
||||
(define-key map "d" #'image-dired-flag-thumb-original-file)
|
||||
(define-key map "u" #'image-dired-unmark-thumb-original-file)
|
||||
(define-key map "U" #'image-dired-unmark-all-marks)
|
||||
;; Disable keybindings from `image-mode-map' that doesn't make sense here.
|
||||
(define-key map "o" nil) ; image-save
|
||||
(define-key map "n" nil) ; image-next-file
|
||||
(define-key map "p" nil) ; image-previous-file
|
||||
;; FIXME: Should be replaced with image-dired commands.
|
||||
(define-key map (kbd "DEL") nil) ; image-next-file
|
||||
(define-key map (kbd "SPC") nil) ; image-next-file
|
||||
;; FIXME: Should be replaced with image-dired commands.
|
||||
(define-key map "m" nil) ; image-mode-mark-file
|
||||
(define-key map "u" nil) ; image-mode-unmark-file
|
||||
map)
|
||||
"Keymap for `image-dired-display-image-mode'.")
|
||||
|
||||
@ -1777,21 +1791,22 @@ This is used by `image-dired-slideshow-start'."
|
||||
(image-dired-slideshow-stop)))
|
||||
|
||||
(defun image-dired-slideshow-start (&optional arg)
|
||||
"Start a slideshow.
|
||||
Wait `image-dired-slideshow-delay' seconds before showing the
|
||||
next image.
|
||||
"Start a slideshow, waiting `image-dired-slideshow-delay' between images.
|
||||
|
||||
With prefix argument ARG, wait that many seconds before going to
|
||||
the next image.
|
||||
|
||||
With a negative prefix argument, prompt user for the delay."
|
||||
(interactive "P" image-dired-thumbnail-mode image-dired-display-image-mode)
|
||||
(let ((delay (if (> arg 0)
|
||||
arg
|
||||
(string-to-number
|
||||
(read-string
|
||||
(let ((delay (number-to-string image-dired-slideshow-delay)))
|
||||
(format-prompt "Delay, in seconds. Decimals are accepted" delay) delay))))))
|
||||
(let ((delay (if (not arg)
|
||||
image-dired-slideshow-delay
|
||||
(if (> arg 0)
|
||||
arg
|
||||
(string-to-number
|
||||
(let ((delay (number-to-string image-dired-slideshow-delay)))
|
||||
(read-string
|
||||
(format-prompt "Delay, in seconds. Decimals are accepted" delay))
|
||||
delay))))))
|
||||
(setq image-dired--slideshow-timer
|
||||
(run-with-timer
|
||||
0 delay
|
||||
@ -2128,16 +2143,17 @@ function. The result is a couple of new files in
|
||||
;;; Thumbnail mode (cont.)
|
||||
|
||||
(defun image-dired-display-next-thumbnail-original (&optional arg)
|
||||
"In thumbnail buffer, move to next thumbnail and display the image.
|
||||
"Move to the next image in the thumbnail buffer and display it.
|
||||
With prefix ARG, move that many thumbnails."
|
||||
(interactive "p" image-dired-thumbnail-mode)
|
||||
(image-dired-forward-image arg t)
|
||||
(image-dired-display-thumbnail-original-image))
|
||||
(interactive "p" image-dired-thumbnail-mode image-dired-display-image-mode)
|
||||
(image-dired--with-thumbnail-buffer
|
||||
(image-dired-forward-image arg t)
|
||||
(image-dired-display-thumbnail-original-image)))
|
||||
|
||||
(defun image-dired-display-previous-thumbnail-original (arg)
|
||||
"In thumbnail buffer, move to previous thumbnail and display image.
|
||||
"Move to the previous image in the thumbnail buffer and display it.
|
||||
With prefix ARG, move that many thumbnails."
|
||||
(interactive "p" image-dired-thumbnail-mode)
|
||||
(interactive "p" image-dired-thumbnail-mode image-dired-display-image-mode)
|
||||
(image-dired-display-next-thumbnail-original (- arg)))
|
||||
|
||||
|
||||
|
@ -60,15 +60,11 @@ Its value should be one of the following:
|
||||
- nil, meaning no resizing.
|
||||
- t, meaning to scale the image down to fit in the window.
|
||||
- `fit-window', meaning to fit the image to the window.
|
||||
- `fit-height', meaning to fit the image to the window height.
|
||||
- `fit-width', meaning to fit the image to the window width.
|
||||
- A number, which is a scale factor (the default size is 1).
|
||||
|
||||
Resizing will always preserve the aspect ratio of the image."
|
||||
:type '(choice (const :tag "No resizing" nil)
|
||||
(const :tag "Fit to window" fit-window)
|
||||
(const :tag "Fit to window height" fit-height)
|
||||
(const :tag "Fit to window width" fit-width)
|
||||
(other :tag "Scale down to fit window" t)
|
||||
(number :tag "Scale factor" 1))
|
||||
:version "29.1"
|
||||
@ -78,7 +74,7 @@ Resizing will always preserve the aspect ratio of the image."
|
||||
"Max size (in percent) to scale up to when `image-auto-resize' is `fit-window'.
|
||||
Can be either a number larger than 100, or nil, which means no
|
||||
max size."
|
||||
:type '(choice (const nil "No max")
|
||||
:type '(choice (const :tag "No max" nil)
|
||||
natnum)
|
||||
:version "29.1"
|
||||
:group 'image)
|
||||
@ -100,9 +96,11 @@ Its value should be one of the following:
|
||||
- nil, meaning no resizing.
|
||||
- t, meaning to scale the image down to fit in the window.
|
||||
- `fit-window', meaning to fit the image to the window.
|
||||
- A number, which is a scale factor (the default size is 1).
|
||||
|
||||
There is also support for these values, obsolete since Emacs 29.1:
|
||||
- `fit-height', meaning to fit the image to the window height.
|
||||
- `fit-width', meaning to fit the image to the window width.
|
||||
- A number, which is a scale factor (the default size is 1).
|
||||
|
||||
Resizing will always preserve the aspect ratio of the image.")
|
||||
|
||||
|
@ -4125,10 +4125,8 @@ typically for purposes of moderating a list."
|
||||
"A regexp that matches the separator before the text of a failed message.")
|
||||
|
||||
(defvar mail-mime-unsent-header "^Content-Type: message/rfc822 *$"
|
||||
"A regexp that matches the header of a MIME body part with a failed message.")
|
||||
"A regexp that matches the header of a MIME body part with a failed message.")
|
||||
|
||||
;; This is a cut-down version of rmail-clear-headers from Emacs 22.
|
||||
;; It doesn't have the same functionality, hence the name change.
|
||||
(defun rmail-delete-headers (regexp)
|
||||
"Delete any mail headers matching REGEXP.
|
||||
The message should be narrowed to just the headers."
|
||||
@ -4136,10 +4134,6 @@ The message should be narrowed to just the headers."
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward regexp nil t)
|
||||
(beginning-of-line)
|
||||
;; This code from Emacs 22 doesn't seem right, since r-n-h is
|
||||
;; just for display.
|
||||
;;; (if (looking-at rmail-nonignored-headers)
|
||||
;;; (forward-line 1)
|
||||
(delete-region (point)
|
||||
(save-excursion
|
||||
(if (re-search-forward "\n[^ \t]" nil t)
|
||||
|
@ -1607,7 +1607,7 @@ on the \"INS\" button. Enter a \"Spool File\" of \"~/mail/mh-e\", a
|
||||
\"Folder\" of \"mh-e\", and a \"Key Binding\" of \"m\".
|
||||
|
||||
You can use \"xbuffy\" to automate the incorporation of this mail
|
||||
using the Emacs 22 command \"emacsclient\" as follows:
|
||||
using \"emacsclient\" as follows:
|
||||
|
||||
box ~/mail/mh-e
|
||||
title mh-e
|
||||
|
@ -489,14 +489,15 @@ Some context functions add menu items below the separator."
|
||||
`(menu-item "All"
|
||||
,(lambda (e) (interactive "e") (mark-thing-at-mouse e 'buffer))
|
||||
:help "Mark the whole buffer for a subsequent cut/copy"))
|
||||
(when (let* ((pos (posn-point (event-end click)))
|
||||
(char (when pos (char-after pos))))
|
||||
(or (and char (eq (char-syntax char) ?\"))
|
||||
(nth 3 (save-excursion (syntax-ppss pos)))))
|
||||
(define-key-after submenu [mark-string]
|
||||
`(menu-item "String"
|
||||
,(lambda (e) (interactive "e") (mark-thing-at-mouse e 'string))
|
||||
:help "Mark the string at click for a subsequent cut/copy")))
|
||||
(with-current-buffer (window-buffer (posn-window (event-end click)))
|
||||
(when (let* ((pos (posn-point (event-end click)))
|
||||
(char (when pos (char-after pos))))
|
||||
(or (and char (eq (char-syntax char) ?\"))
|
||||
(nth 3 (save-excursion (syntax-ppss pos)))))
|
||||
(define-key-after submenu [mark-string]
|
||||
`(menu-item "String"
|
||||
,(lambda (e) (interactive "e") (mark-thing-at-mouse e 'string))
|
||||
:help "Mark the string at click for a subsequent cut/copy"))))
|
||||
(define-key-after submenu [mark-line]
|
||||
`(menu-item "Line"
|
||||
,(lambda (e) (interactive "e") (mark-thing-at-mouse e 'line))
|
||||
|
@ -240,33 +240,6 @@ be used instead."
|
||||
:version "27.1"
|
||||
:type 'regexp)
|
||||
|
||||
(defcustom browse-url-netscape-program "netscape"
|
||||
;; Info about netscape-remote from Karl Berry.
|
||||
"The name by which to invoke Netscape.
|
||||
|
||||
The free program `netscape-remote' from
|
||||
<URL:http://home.netscape.com/newsref/std/remote.c> is said to start
|
||||
up very much quicker than `netscape'. Reported to compile on a GNU
|
||||
system, given vroot.h from the same directory, with cc flags
|
||||
-DSTANDALONE -L/usr/X11R6/lib -lXmu -lX11."
|
||||
:type 'string)
|
||||
|
||||
(make-obsolete-variable 'browse-url-netscape-program nil "25.1")
|
||||
|
||||
(defcustom browse-url-netscape-arguments nil
|
||||
"A list of strings to pass to Netscape as arguments."
|
||||
:type '(repeat (string :tag "Argument")))
|
||||
|
||||
(make-obsolete-variable 'browse-url-netscape-arguments nil "25.1")
|
||||
|
||||
(defcustom browse-url-netscape-startup-arguments browse-url-netscape-arguments
|
||||
"A list of strings to pass to Netscape when it starts up.
|
||||
Defaults to the value of `browse-url-netscape-arguments' at the time
|
||||
`browse-url' is loaded."
|
||||
:type '(repeat (string :tag "Argument")))
|
||||
|
||||
(make-obsolete-variable 'browse-url-netscape-startup-arguments nil "25.1")
|
||||
|
||||
(defcustom browse-url-browser-display nil
|
||||
"The X display for running the browser, if not same as Emacs's."
|
||||
:type '(choice string (const :tag "Default" nil)))
|
||||
@ -285,11 +258,13 @@ Defaults to the value of `browse-url-mozilla-arguments' at the time
|
||||
`browse-url' is loaded."
|
||||
:type '(repeat (string :tag "Argument")))
|
||||
|
||||
(defun browse-url--find-executable (candidates default)
|
||||
(while (and candidates (not (executable-find (car candidates))))
|
||||
(setq candidates (cdr candidates)))
|
||||
(or (car candidates) default))
|
||||
|
||||
(defcustom browse-url-firefox-program
|
||||
(let ((candidates '("icecat" "iceweasel" "firefox")))
|
||||
(while (and candidates (not (executable-find (car candidates))))
|
||||
(setq candidates (cdr candidates)))
|
||||
(or (car candidates) "firefox"))
|
||||
(browse-url--find-executable '("icecat" "iceweasel") "firefox")
|
||||
"The name by which to invoke Firefox or a variant of it."
|
||||
:type 'string)
|
||||
|
||||
@ -307,10 +282,8 @@ Defaults to the value of `browse-url-firefox-arguments' at the time
|
||||
"it no longer has any effect." "24.5")
|
||||
|
||||
(defcustom browse-url-chrome-program
|
||||
(let ((candidates '("google-chrome-stable" "google-chrome")))
|
||||
(while (and candidates (not (executable-find (car candidates))))
|
||||
(setq candidates (cdr candidates)))
|
||||
(or (car candidates) "chromium"))
|
||||
(browse-url--find-executable '("google-chrome-stable" "google-chrome")
|
||||
"chromium")
|
||||
"The name by which to invoke the Chrome browser."
|
||||
:type 'string
|
||||
:version "25.1")
|
||||
@ -321,10 +294,7 @@ Defaults to the value of `browse-url-firefox-arguments' at the time
|
||||
:version "25.1")
|
||||
|
||||
(defcustom browse-url-chromium-program
|
||||
(let ((candidates '("chromium" "chromium-browser")))
|
||||
(while (and candidates (not (executable-find (car candidates))))
|
||||
(setq candidates (cdr candidates)))
|
||||
(or (car candidates) "chromium"))
|
||||
(browse-url--find-executable '("chromium" "chromium-browser") "chromium")
|
||||
"The name by which to invoke Chromium."
|
||||
:type 'string
|
||||
:version "24.1")
|
||||
@ -334,26 +304,6 @@ Defaults to the value of `browse-url-firefox-arguments' at the time
|
||||
:type '(repeat (string :tag "Argument"))
|
||||
:version "24.1")
|
||||
|
||||
(defcustom browse-url-galeon-program "galeon"
|
||||
"The name by which to invoke Galeon."
|
||||
:type 'string)
|
||||
|
||||
(make-obsolete-variable 'browse-url-galeon-program nil "25.1")
|
||||
|
||||
(defcustom browse-url-galeon-arguments nil
|
||||
"A list of strings to pass to Galeon as arguments."
|
||||
:type '(repeat (string :tag "Argument")))
|
||||
|
||||
(make-obsolete-variable 'browse-url-galeon-arguments nil "25.1")
|
||||
|
||||
(defcustom browse-url-galeon-startup-arguments browse-url-galeon-arguments
|
||||
"A list of strings to pass to Galeon when it starts up.
|
||||
Defaults to the value of `browse-url-galeon-arguments' at the time
|
||||
`browse-url' is loaded."
|
||||
:type '(repeat (string :tag "Argument")))
|
||||
|
||||
(make-obsolete-variable 'browse-url-galeon-startup-arguments nil "25.1")
|
||||
|
||||
(defcustom browse-url-epiphany-program "epiphany"
|
||||
"The name by which to invoke Epiphany."
|
||||
:type 'string)
|
||||
@ -373,7 +323,7 @@ Defaults to the value of `browse-url-epiphany-arguments' at the time
|
||||
:type 'string
|
||||
:version "29.1")
|
||||
|
||||
;; GNOME means of invoking either Mozilla or Netscape.
|
||||
;; GNOME means of invoking Mozilla.
|
||||
(defvar browse-url-gnome-moz-program "gnome-moz-remote")
|
||||
|
||||
(make-obsolete-variable 'browse-url-gnome-moz-program nil "25.1")
|
||||
@ -406,29 +356,12 @@ If non-nil, then open the URL in a new buffer rather than a new window if
|
||||
|
||||
(make-obsolete-variable 'browse-url-conkeror-new-window-is-buffer nil "28.1")
|
||||
|
||||
(defcustom browse-url-galeon-new-window-is-tab nil
|
||||
"Whether to open up new windows in a tab or a new window.
|
||||
If non-nil, then open the URL in a new tab rather than a new window if
|
||||
`browse-url-galeon' is asked to open it in a new window."
|
||||
:type 'boolean)
|
||||
|
||||
(make-obsolete-variable 'browse-url-galeon-new-window-is-tab nil "25.1")
|
||||
|
||||
(defcustom browse-url-epiphany-new-window-is-tab nil
|
||||
"Whether to open up new windows in a tab or a new window.
|
||||
If non-nil, then open the URL in a new tab rather than a new window if
|
||||
`browse-url-epiphany' is asked to open it in a new window."
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom browse-url-netscape-new-window-is-tab nil
|
||||
"Whether to open up new windows in a tab or a new window.
|
||||
If non-nil, then open the URL in a new tab rather than a new
|
||||
window if `browse-url-netscape' is asked to open it in a new
|
||||
window."
|
||||
:type 'boolean)
|
||||
|
||||
(make-obsolete-variable 'browse-url-netscape-new-window-is-tab nil "25.1")
|
||||
|
||||
(defcustom browse-url-new-window-flag nil
|
||||
"Non-nil means always open a new browser window with appropriate browsers.
|
||||
Passing an interactive argument to \\[browse-url], or specific browser
|
||||
@ -525,14 +458,6 @@ You might want to set this to somewhere with restricted read permissions
|
||||
for privacy's sake."
|
||||
:type 'string)
|
||||
|
||||
(defcustom browse-url-netscape-version 3
|
||||
"The version of Netscape you are using.
|
||||
This affects how URL reloading is done; the mechanism changed
|
||||
incompatibly at version 4."
|
||||
:type 'number)
|
||||
|
||||
(make-obsolete-variable 'browse-url-netscape-version nil "25.1")
|
||||
|
||||
(defcustom browse-url-text-browser "lynx"
|
||||
"The name of the text browser to invoke."
|
||||
:type 'string
|
||||
@ -1018,8 +943,6 @@ The optional NEW-WINDOW argument is not used."
|
||||
(function-put 'browse-url-default-macosx-browser 'browse-url-browser-kind
|
||||
'external)
|
||||
|
||||
;; --- Netscape ---
|
||||
|
||||
(defun browse-url-process-environment ()
|
||||
"Set DISPLAY in the environment to the X display the browser will use.
|
||||
This is either the value of variable `browse-url-browser-display' if
|
||||
@ -1062,9 +985,7 @@ instead of `browse-url-new-window-flag'."
|
||||
((executable-find browse-url-mozilla-program) 'browse-url-mozilla)
|
||||
((executable-find browse-url-firefox-program) 'browse-url-firefox)
|
||||
((executable-find browse-url-chromium-program) 'browse-url-chromium)
|
||||
;;; ((executable-find browse-url-galeon-program) 'browse-url-galeon)
|
||||
((executable-find browse-url-kde-program) 'browse-url-kde)
|
||||
;;; ((executable-find browse-url-netscape-program) 'browse-url-netscape)
|
||||
((executable-find browse-url-chrome-program) 'browse-url-chrome)
|
||||
((executable-find browse-url-webpositive-program) 'browse-url-webpositive)
|
||||
((executable-find browse-url-xterm-program) 'browse-url-text-xterm)
|
||||
@ -1098,82 +1019,6 @@ The optional argument IGNORED is not used."
|
||||
|
||||
(function-put 'browse-url-xdg-open 'browse-url-browser-kind 'external)
|
||||
|
||||
;;;###autoload
|
||||
(defun browse-url-netscape (url &optional new-window)
|
||||
"Ask the Netscape WWW browser to load URL.
|
||||
Default to the URL around or before point. The strings in variable
|
||||
`browse-url-netscape-arguments' are also passed to Netscape.
|
||||
|
||||
When called interactively, if variable `browse-url-new-window-flag' is
|
||||
non-nil, load the document in a new Netscape window, otherwise use a
|
||||
random existing one. A non-nil interactive prefix argument reverses
|
||||
the effect of `browse-url-new-window-flag'.
|
||||
|
||||
If `browse-url-netscape-new-window-is-tab' is non-nil, then
|
||||
whenever a document would otherwise be loaded in a new window, it
|
||||
is loaded in a new tab in an existing window instead.
|
||||
|
||||
When called non-interactively, optional second argument NEW-WINDOW is
|
||||
used instead of `browse-url-new-window-flag'."
|
||||
(declare (obsolete nil "25.1"))
|
||||
(interactive (browse-url-interactive-arg "URL: "))
|
||||
(setq url (browse-url-encode-url url))
|
||||
(let* ((process-environment (browse-url-process-environment))
|
||||
(process
|
||||
(apply #'start-process
|
||||
(concat "netscape " url) nil
|
||||
browse-url-netscape-program
|
||||
(append
|
||||
browse-url-netscape-arguments
|
||||
(if (eq window-system 'w32)
|
||||
(list url)
|
||||
(append
|
||||
(if new-window '("-noraise"))
|
||||
(list "-remote"
|
||||
(concat "openURL(" url
|
||||
(if (browse-url-maybe-new-window
|
||||
new-window)
|
||||
(if browse-url-netscape-new-window-is-tab
|
||||
",new-tab"
|
||||
",new-window"))
|
||||
")"))))))))
|
||||
(set-process-sentinel process
|
||||
(lambda (process _change)
|
||||
(browse-url-netscape-sentinel process url)))))
|
||||
|
||||
(function-put 'browse-url-netscape 'browse-url-browser-kind 'external)
|
||||
|
||||
(defun browse-url-netscape-sentinel (process url)
|
||||
"Handle a change to the process communicating with Netscape."
|
||||
(declare (obsolete nil "25.1"))
|
||||
(or (eq (process-exit-status process) 0)
|
||||
(let* ((process-environment (browse-url-process-environment)))
|
||||
;; Netscape not running - start it
|
||||
(message "Starting %s..." browse-url-netscape-program)
|
||||
(apply #'start-process (concat "netscape" url) nil
|
||||
browse-url-netscape-program
|
||||
(append browse-url-netscape-startup-arguments (list url))))))
|
||||
|
||||
(defun browse-url-netscape-reload ()
|
||||
"Ask Netscape to reload its current document.
|
||||
How depends on `browse-url-netscape-version'."
|
||||
(declare (obsolete nil "25.1"))
|
||||
(interactive)
|
||||
;; Backwards incompatibility reported by
|
||||
;; <peter.kruse@psychologie.uni-regensburg.de>.
|
||||
(browse-url-netscape-send (if (>= browse-url-netscape-version 4)
|
||||
"xfeDoCommand(reload)"
|
||||
"reload")))
|
||||
|
||||
(defun browse-url-netscape-send (command)
|
||||
"Send a remote control command to Netscape."
|
||||
(declare (obsolete nil "25.1"))
|
||||
(let* ((process-environment (browse-url-process-environment)))
|
||||
(apply #'start-process "netscape" nil
|
||||
browse-url-netscape-program
|
||||
(append browse-url-netscape-arguments
|
||||
(list "-remote" command)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun browse-url-mozilla (url &optional new-window)
|
||||
"Ask the Mozilla WWW browser to load URL.
|
||||
@ -1294,56 +1139,6 @@ The optional argument NEW-WINDOW is not used."
|
||||
|
||||
(function-put 'browse-url-chrome 'browse-url-browser-kind 'external)
|
||||
|
||||
;;;###autoload
|
||||
(defun browse-url-galeon (url &optional new-window)
|
||||
"Ask the Galeon WWW browser to load URL.
|
||||
Default to the URL around or before point. The strings in variable
|
||||
`browse-url-galeon-arguments' are also passed to Galeon.
|
||||
|
||||
When called interactively, if variable `browse-url-new-window-flag' is
|
||||
non-nil, load the document in a new Galeon window, otherwise use a
|
||||
random existing one. A non-nil interactive prefix argument reverses
|
||||
the effect of `browse-url-new-window-flag'.
|
||||
|
||||
If `browse-url-galeon-new-window-is-tab' is non-nil, then whenever a
|
||||
document would otherwise be loaded in a new window, it is loaded in a
|
||||
new tab in an existing window instead.
|
||||
|
||||
When called non-interactively, optional second argument NEW-WINDOW is
|
||||
used instead of `browse-url-new-window-flag'."
|
||||
(declare (obsolete nil "25.1"))
|
||||
(interactive (browse-url-interactive-arg "URL: "))
|
||||
(setq url (browse-url-encode-url url))
|
||||
(let* ((process-environment (browse-url-process-environment))
|
||||
(process (apply #'start-process
|
||||
(concat "galeon " url)
|
||||
nil
|
||||
browse-url-galeon-program
|
||||
(append
|
||||
browse-url-galeon-arguments
|
||||
(if (browse-url-maybe-new-window new-window)
|
||||
(if browse-url-galeon-new-window-is-tab
|
||||
'("--new-tab")
|
||||
'("--new-window" "--noraise"))
|
||||
'("--existing"))
|
||||
(list url)))))
|
||||
(set-process-sentinel process
|
||||
(lambda (process _change)
|
||||
(browse-url-galeon-sentinel process url)))))
|
||||
|
||||
(function-put 'browse-url-galeon 'browse-url-browser-kind 'external)
|
||||
|
||||
(defun browse-url-galeon-sentinel (process url)
|
||||
"Handle a change to the process communicating with Galeon."
|
||||
(declare (obsolete nil "25.1"))
|
||||
(or (eq (process-exit-status process) 0)
|
||||
(let* ((process-environment (browse-url-process-environment)))
|
||||
;; Galeon is not running - start it
|
||||
(message "Starting %s..." browse-url-galeon-program)
|
||||
(apply #'start-process (concat "galeon " url) nil
|
||||
browse-url-galeon-program
|
||||
(append browse-url-galeon-startup-arguments (list url))))))
|
||||
|
||||
(defun browse-url-epiphany (url &optional new-window)
|
||||
"Ask the Epiphany WWW browser to load URL.
|
||||
Default to the URL around or before point. The strings in variable
|
||||
@ -1427,7 +1222,7 @@ currently selected window instead."
|
||||
|
||||
;;;###autoload
|
||||
(defun browse-url-gnome-moz (url &optional new-window)
|
||||
"Ask Mozilla/Netscape to load URL via the GNOME program `gnome-moz-remote'.
|
||||
"Ask Mozilla to load URL via the GNOME program `gnome-moz-remote'.
|
||||
Default to the URL around or before point. The strings in variable
|
||||
`browse-url-gnome-moz-arguments' are also passed.
|
||||
|
||||
|
@ -4597,6 +4597,8 @@ Goes through the list `tramp-local-coding-commands' and
|
||||
(value (symbol-value rem-enc)))
|
||||
(while (string-match "-" name)
|
||||
(setq name (replace-match "_" nil t name)))
|
||||
(unless (tramp-expand-script vec value)
|
||||
(throw 'wont-work-remote nil))
|
||||
(tramp-maybe-send-script vec value name)
|
||||
(setq rem-enc name)))
|
||||
(tramp-message
|
||||
@ -4614,6 +4616,8 @@ Goes through the list `tramp-local-coding-commands' and
|
||||
(value (symbol-value rem-dec)))
|
||||
(while (string-match "-" name)
|
||||
(setq name (replace-match "_" nil t name)))
|
||||
(unless (tramp-expand-script vec value)
|
||||
(throw 'wont-work-remote nil))
|
||||
(tramp-maybe-send-script vec value name)
|
||||
(setq rem-dec name)))
|
||||
(tramp-message
|
||||
|
@ -93,7 +93,9 @@
|
||||
'mark-whole-buffer)
|
||||
|
||||
;; Include text-mode select menu only in strings and comments.
|
||||
(when (nth 8 (save-excursion (syntax-ppss (posn-point (event-end click)))))
|
||||
(when (nth 8 (save-excursion
|
||||
(with-current-buffer (window-buffer (posn-window (event-end click)))
|
||||
(syntax-ppss (posn-point (event-end click))))))
|
||||
(text-mode-context-menu menu click))
|
||||
|
||||
menu)
|
||||
|
@ -1395,14 +1395,19 @@ Encode/decode your strokes with \\[strokes-encode-buffer],
|
||||
(strokes-load-user-strokes))
|
||||
(add-hook 'kill-emacs-query-functions
|
||||
#'strokes-prompt-user-save-strokes)
|
||||
(add-hook 'select-frame-hook
|
||||
#'strokes-update-window-configuration)
|
||||
;; FIXME: Should this be something like `focus-in-hook'?
|
||||
;; That variable is obsolete, but `select-frame-hook' has
|
||||
;; never existed in Emacs.
|
||||
;;(add-hook 'select-frame-hook
|
||||
;; #'strokes-update-window-configuration)
|
||||
(strokes-update-window-configuration))
|
||||
(t ; turn off strokes
|
||||
(if (get-buffer strokes-buffer-name)
|
||||
(kill-buffer (get-buffer strokes-buffer-name)))
|
||||
(remove-hook 'select-frame-hook
|
||||
#'strokes-update-window-configuration))))
|
||||
(kill-buffer (get-buffer strokes-buffer-name)))
|
||||
;; FIXME: Same as above.
|
||||
;;(remove-hook 'select-frame-hook
|
||||
;; #'strokes-update-window-configuration)
|
||||
)))
|
||||
|
||||
|
||||
;;;; strokes-xpm stuff (later may be separate)...
|
||||
|
@ -115,12 +115,10 @@ With a prefix arg ARG, move point that many authors backward."
|
||||
(interactive "p" etc-authors-mode)
|
||||
(etc-authors-next-author (- arg)))
|
||||
|
||||
(defvar etc-authors-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map "n" #'etc-authors-next-author)
|
||||
(define-key map "p" #'etc-authors-prev-author)
|
||||
map)
|
||||
"Keymap for `etc-authors-mode'.")
|
||||
(defvar-keymap etc-authors-mode-map
|
||||
:doc "Keymap for `etc-authors-mode'."
|
||||
"n" #'etc-authors-next-author
|
||||
"p" #'etc-authors-prev-author)
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode etc-authors-mode special-mode "Authors View"
|
||||
|
@ -4,7 +4,6 @@
|
||||
;; Foundation, Inc.
|
||||
|
||||
;; Author: Robert J. Chassell
|
||||
;; Date: [See date below for texinfo-version]
|
||||
;; Maintainer: emacs-devel@gnu.org
|
||||
;; Keywords: maint, tex, docs
|
||||
|
||||
|
@ -1874,7 +1874,8 @@ Returns nil if not possible."
|
||||
|
||||
(defvar-keymap vc-dir-git-mode-map
|
||||
"z c" #'vc-git-stash
|
||||
"z s" #'vc-git-stash-snapshot)
|
||||
"z s" #'vc-git-stash-snapshot
|
||||
"z p" #'vc-git-stash-pop)
|
||||
|
||||
(define-minor-mode vc-dir-git-mode
|
||||
"A minor mode for git-specific commands in `vc-dir-mode' buffers.
|
||||
|
124
lisp/view.el
124
lisp/view.el
@ -36,8 +36,8 @@
|
||||
|
||||
;;; Suggested key bindings:
|
||||
;;
|
||||
;; (define-key ctl-x-4-map "v" #'view-file-other-window) ; ^x4v
|
||||
;; (define-key ctl-x-5-map "v" #'view-file-other-frame) ; ^x5v
|
||||
;; (keymap-set ctl-x-4-map "v" #'view-file-other-window) ; C-x 4 v
|
||||
;; (keymap-set ctl-x-5-map "v" #'view-file-other-frame) ; C-x 5 v
|
||||
;;
|
||||
;; You could also bind `view-file', `view-buffer', `view-buffer-other-window' and
|
||||
;; `view-buffer-other-frame' to keys.
|
||||
@ -142,68 +142,68 @@ that use View mode automatically.")
|
||||
(defvar-local view-overlay nil
|
||||
"Overlay used to display where a search operation found its match.
|
||||
This is local in each buffer, once it is used.")
|
||||
|
||||
|
||||
;; Define keymap inside defvar to make it easier to load changes.
|
||||
;; Some redundant "less"-like key bindings below have been commented out.
|
||||
(defvar view-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map "C" #'View-kill-and-leave)
|
||||
(define-key map "c" #'View-leave)
|
||||
(define-key map "Q" #'View-quit-all)
|
||||
(define-key map "E" #'View-exit-and-edit)
|
||||
;; (define-key map "v" #'View-exit)
|
||||
(define-key map "e" #'View-exit)
|
||||
(define-key map "q" #'View-quit)
|
||||
;; (define-key map "N" #'View-search-last-regexp-backward)
|
||||
(define-key map "p" #'View-search-last-regexp-backward)
|
||||
(define-key map "n" #'View-search-last-regexp-forward)
|
||||
;; (define-key map "?" #'View-search-regexp-backward) ; Less does this.
|
||||
(define-key map "\\" #'View-search-regexp-backward)
|
||||
(define-key map "/" #'View-search-regexp-forward)
|
||||
(define-key map "r" #'isearch-backward)
|
||||
(define-key map "s" #'isearch-forward)
|
||||
(define-key map "m" #'point-to-register)
|
||||
(define-key map "'" #'register-to-point)
|
||||
(define-key map "x" #'exchange-point-and-mark)
|
||||
(define-key map "@" #'View-back-to-mark)
|
||||
(define-key map "." #'set-mark-command)
|
||||
(define-key map "%" #'View-goto-percent)
|
||||
;; (define-key map "G" #'View-goto-line-last)
|
||||
(define-key map "g" #'View-goto-line)
|
||||
(define-key map "=" #'what-line)
|
||||
(define-key map "F" #'View-revert-buffer-scroll-page-forward)
|
||||
;; (define-key map "k" #'View-scroll-line-backward)
|
||||
(define-key map "y" #'View-scroll-line-backward)
|
||||
;; (define-key map "j" #'View-scroll-line-forward)
|
||||
(define-key map "\n" #'View-scroll-line-forward)
|
||||
(define-key map "\r" #'View-scroll-line-forward)
|
||||
(define-key map "u" #'View-scroll-half-page-backward)
|
||||
(define-key map "d" #'View-scroll-half-page-forward)
|
||||
(define-key map "z" #'View-scroll-page-forward-set-page-size)
|
||||
(define-key map "w" #'View-scroll-page-backward-set-page-size)
|
||||
;; (define-key map "b" #'View-scroll-page-backward)
|
||||
(define-key map "\C-?" #'View-scroll-page-backward)
|
||||
;; (define-key map "f" #'View-scroll-page-forward)
|
||||
(define-key map " " #'View-scroll-page-forward)
|
||||
(define-key map [?\S-\ ] #'View-scroll-page-backward)
|
||||
(define-key map "o" #'View-scroll-to-buffer-end)
|
||||
(define-key map ">" #'end-of-buffer)
|
||||
(define-key map "<" #'beginning-of-buffer)
|
||||
(define-key map "-" #'negative-argument)
|
||||
(define-key map "9" #'digit-argument)
|
||||
(define-key map "8" #'digit-argument)
|
||||
(define-key map "7" #'digit-argument)
|
||||
(define-key map "6" #'digit-argument)
|
||||
(define-key map "5" #'digit-argument)
|
||||
(define-key map "4" #'digit-argument)
|
||||
(define-key map "3" #'digit-argument)
|
||||
(define-key map "2" #'digit-argument)
|
||||
(define-key map "1" #'digit-argument)
|
||||
(define-key map "0" #'digit-argument)
|
||||
(define-key map "H" #'describe-mode)
|
||||
(define-key map "?" #'describe-mode) ; Maybe do as less instead? See above.
|
||||
(define-key map "h" #'describe-mode)
|
||||
map))
|
||||
(defvar-keymap view-mode-map
|
||||
:doc "Keymap for ‘view-mode’."
|
||||
"C" #'View-kill-and-leave
|
||||
"c" #'View-leave
|
||||
"Q" #'View-quit-all
|
||||
"E" #'View-exit-and-edit
|
||||
;; "v" #'View-exit
|
||||
"e" #'View-exit
|
||||
"q" #'View-quit
|
||||
;; "N" #'View-search-last-regexp-backward
|
||||
"p" #'View-search-last-regexp-backward
|
||||
"n" #'View-search-last-regexp-forward
|
||||
;; "?" #'View-search-regexp-backward ; Less does this.
|
||||
"\\" #'View-search-regexp-backward
|
||||
"/" #'View-search-regexp-forward
|
||||
"r" #'isearch-backward
|
||||
"s" #'isearch-forward
|
||||
"m" #'point-to-register
|
||||
"'" #'register-to-point
|
||||
"x" #'exchange-point-and-mark
|
||||
"@" #'View-back-to-mark
|
||||
"." #'set-mark-command
|
||||
"%" #'View-goto-percent
|
||||
;; "G" #'View-goto-line-last
|
||||
"g" #'View-goto-line
|
||||
"=" #'what-line
|
||||
"F" #'View-revert-buffer-scroll-page-forward
|
||||
;; "k" #'View-scroll-line-backward
|
||||
"y" #'View-scroll-line-backward
|
||||
;; "j" #'View-scroll-line-forward
|
||||
"C-j" #'View-scroll-line-forward
|
||||
"RET" #'View-scroll-line-forward
|
||||
"u" #'View-scroll-half-page-backward
|
||||
"d" #'View-scroll-half-page-forward
|
||||
"z" #'View-scroll-page-forward-set-page-size
|
||||
"w" #'View-scroll-page-backward-set-page-size
|
||||
;; "b" #'View-scroll-page-backward
|
||||
"DEL" #'View-scroll-page-backward
|
||||
;; "f" #'View-scroll-page-forward
|
||||
"SPC" #'View-scroll-page-forward
|
||||
"S-SPC" #'View-scroll-page-backward
|
||||
"o" #'View-scroll-to-buffer-end
|
||||
">" #'end-of-buffer
|
||||
"<" #'beginning-of-buffer
|
||||
"-" #'negative-argument
|
||||
"9" #'digit-argument
|
||||
"8" #'digit-argument
|
||||
"7" #'digit-argument
|
||||
"6" #'digit-argument
|
||||
"5" #'digit-argument
|
||||
"4" #'digit-argument
|
||||
"3" #'digit-argument
|
||||
"2" #'digit-argument
|
||||
"1" #'digit-argument
|
||||
"0" #'digit-argument
|
||||
"H" #'describe-mode
|
||||
"?" #'describe-mode ; Maybe do as less instead? See above.
|
||||
"h" #'describe-mode)
|
||||
|
||||
|
||||
;;; Commands that enter or exit view mode.
|
||||
|
||||
|
@ -409,6 +409,11 @@ If N is omitted or nil, scroll backwards by one char."
|
||||
(with-current-buffer (xwidget-buffer xwidget)
|
||||
(force-mode-line-update)))
|
||||
|
||||
(defun xwidget-webkit-buffer-kill ()
|
||||
"Clean up an xwidget-webkit buffer before it is killed."
|
||||
(when (timerp xwidget-webkit--progress-update-timer)
|
||||
(cancel-timer xwidget-webkit--progress-update-timer)))
|
||||
|
||||
(defun xwidget-webkit-callback (xwidget xwidget-event-type)
|
||||
"Callback for xwidgets.
|
||||
XWIDGET instance, XWIDGET-EVENT-TYPE depends on the originating xwidget."
|
||||
@ -479,6 +484,7 @@ If non-nil, plugins are enabled. Otherwise, disabled."
|
||||
(define-derived-mode xwidget-webkit-mode special-mode "xwidget-webkit"
|
||||
"Xwidget webkit view mode."
|
||||
(setq buffer-read-only t)
|
||||
(add-hook 'kill-buffer-hook #'xwidget-webkit-buffer-kill)
|
||||
(setq-local tool-bar-map xwidget-webkit-tool-bar-map)
|
||||
(setq-local bookmark-make-record-function
|
||||
#'xwidget-webkit-bookmark-make-record)
|
||||
|
@ -9170,6 +9170,12 @@ webp_load (struct frame *f, struct image *img)
|
||||
/* Linear [r0, g0, b0, r1, g1, b1, ...] order. */
|
||||
decoded = WebPDecodeRGB (contents, size, &width, &height);
|
||||
|
||||
if (!decoded)
|
||||
{
|
||||
image_error ("Error when interpreting WebP image data");
|
||||
goto webp_error1;
|
||||
}
|
||||
|
||||
if (!(width <= INT_MAX && height <= INT_MAX
|
||||
&& check_image_size (f, width, height)))
|
||||
{
|
||||
@ -10591,7 +10597,7 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
|
||||
|
||||
/* Get the image dimensions. */
|
||||
#if LIBRSVG_CHECK_VERSION (2, 46, 0)
|
||||
gdouble gviewbox_width, gviewbox_height;
|
||||
gdouble gviewbox_width = 0, gviewbox_height = 0;
|
||||
gboolean has_viewbox = FALSE;
|
||||
# if LIBRSVG_CHECK_VERSION (2, 52, 1)
|
||||
has_viewbox = rsvg_handle_get_intrinsic_size_in_pixels (rsvg_handle,
|
||||
|
Loading…
Reference in New Issue
Block a user